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,50 +1,52 @@
1
1
  import { lowerBound as e } from "./data.js";
2
- import { toCss as t, unpackColor as n } from "./color.js";
3
- import { curvePoints as r } from "./curve.js";
2
+ import { placeTooltip as t } from "./tooltip.js";
3
+ import { toCss as n, unpackColor as r } from "./color.js";
4
4
  import { createScales as i, heatCellStyle as a, screenRect as o, toData as s, toScreen as c } from "./layout.js";
5
5
  import { barOpacity as l, buildModel as u, fromPlotX as d, fromPlotY as f, heatPosition as p, toPlotX as m, toPlotY as h, viewFromValues as g, viewToValues as _ } from "./model.js";
6
6
  import { areaTitleLayout as v, font as y, placeLabels as b, rectOf as x, textBox as S } from "./overlay.js";
7
- import { decimateMinMax as C } from "./decimate.js";
8
- import { collectPointLabels as w, colorLegend as T, connectorSegments as E, crosshairAt as D, dependencyArrows as O, dotSize as k, hitTest as A, hoverMarks as ee, layoutChart as te, legendShape as ne, legendShown as re, resolveAnnotations as ie, resolveDependencies as ae, sameHover as oe, tooltipContent as se } from "./scene.js";
7
+ import { collectPointLabels as C, colorLegend as w, connectorSegments as T, crosshairAt as E, dependencyArrows as D, dotSize as O, hitTest as k, hoverMarks as A, layoutChart as ee, legendShape as te, legendShown as ne, resolveAnnotations as re, resolveDependencies as ie, sameHover as ae, tooltipContent as oe } from "./scene.js";
8
+ import { hoverRect as se } from "./hover-rect.js";
9
+ import { curvePoints as j } from "./curve.js";
10
+ import { decimateMinMax as M } from "./decimate.js";
9
11
  import { createTheme as ce } from "./theme.js";
10
- import { clampRange as j, panRange as M, sameRange as le, zoomRange as ue } from "./viewport.js";
12
+ import { clampRange as le, panRange as ue, sameRange as N, zoomRange as de } from "./viewport.js";
11
13
  //#region src/engine/controller.ts
12
- var N = (e) => ({
14
+ var P = (e) => ({
13
15
  x: [e.x[0], e.x[1]],
14
16
  y: [e.y[0], e.y[1]]
15
- }), de = 6, fe = 10, pe = 320, P = 20, F = (e) => {
16
- let t = e.options, n = e.theme, r = ce(n, t.palette), a = /* @__PURE__ */ new Map(), o = /* @__PURE__ */ new Set(), l = {}, C, F = {
17
+ }), fe = 6, pe = 10, me = 320, F = 20, I = (e) => {
18
+ let n = e.options, r = e.theme, a = ce(r, n.palette), o = /* @__PURE__ */ new Map(), l = /* @__PURE__ */ new Set(), j = {}, M, I = {
17
19
  x: [0, 1],
18
20
  y: [0, 1]
19
- }, I = !1, L = 0, R = 0, z = [], me = [], B = null, he = !0, ge = "", V = !1, H = null, U = /* @__PURE__ */ new Map(), W = null, G = {
21
+ }, L = !1, R = 0, z = 0, he = [], ge = [], B = null, _e = !0, ve = "", V = !1, H = null, U = /* @__PURE__ */ new Map(), W = null, G = {
20
22
  time: 0,
21
23
  x: 0,
22
24
  y: 0
23
25
  }, K = (e, t) => {
24
- l[e]?.forEach((e) => e(t));
26
+ j[e]?.forEach((e) => e(t));
25
27
  }, q = () => {
26
- he = !0, V || e.onInvalidate?.();
27
- }, _e = () => {
28
- let e = t.interaction;
28
+ _e = !0, V || e.onInvalidate?.();
29
+ }, ye = () => {
30
+ let e = n.interaction;
29
31
  if (e === !1) return null;
30
- let n = typeof e == "object" ? e : {};
32
+ let t = typeof e == "object" ? e : {};
31
33
  return {
32
- pan: n.pan ?? !0,
33
- dragPoints: n.dragPoints ?? !1
34
+ pan: t.pan ?? !0,
35
+ dragPoints: t.dragPoints ?? !1
34
36
  };
35
- }, J = (t, n = r.fontSize, i = 400) => e.measureText(t, y(r, n, i)), ve = () => {
36
- C = u(t, r, o, a);
37
- let { base: e, minSpan: n } = C;
38
- I ? (F = {
39
- x: C.zoom.x ? j(F.x, e.x, n.x) : [...e.x],
40
- y: C.zoom.y ? j(F.y, e.y, n.y) : [...e.y]
41
- }, I = !le(F.x, e.x) || !le(F.y, e.y)) : F = N(e), z = ie(t.annotations, r, C.y.type === "log" ? Math.log10 : void 0, C.x.type === "log" ? Math.log10 : void 0), me = ae(t.dependencies, r), H && (H.event.items.every((e) => C.series[e.seriesIndex] && !C.series[e.seriesIndex].hidden && e.index < C.series[e.seriesIndex].cols.count) || Z(null)), q();
42
- }, ye = () => {
43
- let e = t.legend, n = t.series.filter((e) => e.name).length;
44
- if (!re(e, C, n)) return null;
45
- let r = typeof e == "object" ? e : {}, i = r.position === "bottom" ? "bottom" : "top", a = T(C);
37
+ }, J = (t, n = a.fontSize, r = 400) => e.measureText(t, y(a, n, r)), be = () => {
38
+ M = u(n, a, l, o);
39
+ let { base: e, minSpan: t } = M;
40
+ L ? (I = {
41
+ x: M.zoom.x ? le(I.x, e.x, t.x) : [...e.x],
42
+ y: M.zoom.y ? le(I.y, e.y, t.y) : [...e.y]
43
+ }, L = !N(I.x, e.x) || !N(I.y, e.y)) : I = P(e), he = re(n.annotations, a, M.y.type === "log" ? Math.log10 : void 0, M.x.type === "log" ? Math.log10 : void 0), ge = ie(n.dependencies, a), H && (H.event.items.every((e) => M.series[e.seriesIndex] && !M.series[e.seriesIndex].hidden && e.index < M.series[e.seriesIndex].cols.count) || Z(null)), q();
44
+ }, xe = () => {
45
+ let e = n.legend, t = n.series.filter((e) => e.name).length;
46
+ if (!ne(e, M, t)) return null;
47
+ let r = typeof e == "object" ? e : {}, i = r.position === "bottom" ? "bottom" : "top", a = w(M);
46
48
  if (a) {
47
- let e = a.labels[0]?.text ?? "", t = a.labels[a.labels.length - 1]?.text ?? "", n = Math.max(60, Math.min(160, L * .32)), r = L - 4 - J(t, 11) - 8, o = r - n, s = (i === "bottom" ? R - P : 0) + P / 2;
49
+ let e = a.labels[0]?.text ?? "", t = a.labels[a.labels.length - 1]?.text ?? "", n = Math.max(60, Math.min(160, R * .32)), r = R - 4 - J(t, 11) - 8, o = r - n, s = (i === "bottom" ? z - F : 0) + F / 2;
48
50
  return {
49
51
  entries: [],
50
52
  colors: {
@@ -75,24 +77,24 @@ var N = (e) => ({
75
77
  };
76
78
  }
77
79
  let o = [], s = 4, c = 0;
78
- for (let e of C.series) {
80
+ for (let e of M.series) {
79
81
  let t = 14 + J(e.name, 12) + 8;
80
- s + t > L - 4 && s > 4 && (s = 4, c++), o.push({
82
+ s + t > R - 4 && s > 4 && (s = 4, c++), o.push({
81
83
  id: e.id,
82
84
  name: e.name,
83
85
  color: e.colorCss,
84
- shape: ne(e.type),
86
+ shape: te(e.type),
85
87
  hidden: e.hidden,
86
88
  box: {
87
89
  x: s,
88
- y: c * P,
90
+ y: c * F,
89
91
  width: t,
90
- height: P
92
+ height: F
91
93
  }
92
94
  }), s += t + 10;
93
95
  }
94
- let l = (c + 1) * P + 6;
95
- if (i === "bottom") for (let e of o) e.box.y += R - l + 6;
96
+ let l = (c + 1) * F + 6;
97
+ if (i === "bottom") for (let e of o) e.box.y += z - l + 6;
96
98
  return {
97
99
  entries: o,
98
100
  colors: null,
@@ -100,153 +102,166 @@ var N = (e) => ({
100
102
  toggle: r.toggle ?? !0,
101
103
  height: l
102
104
  };
103
- }, be = (e, n, r) => {
104
- let i = t.tooltip;
105
- if (i === !1) return null;
106
- let a = typeof i == "object" ? i.render : void 0, o = null;
107
- if (a) {
108
- let t = a(e);
105
+ }, Se = (e, r, i, a) => {
106
+ let o = n.tooltip;
107
+ if (o === !1) return null;
108
+ let s = typeof o == "object" ? o.render : void 0, c = null;
109
+ if (s) {
110
+ let t = s(e);
109
111
  if (t === null || t === "") return null;
110
- typeof t == "string" && (o = t.split("\n"));
112
+ typeof t == "string" && (c = t.split("\n"));
111
113
  }
112
- let s = se(C, e, B?.layout.yTicks ?? null, B?.layout.y2Ticks ?? null), c = 0, l, u = s.rows.some((e) => e.color) ? 14 : 0;
113
- if (o) {
114
- for (let e of o) c = Math.max(c, J(e, 12));
115
- l = o.length;
114
+ let l = oe(M, e, B?.layout.yTicks ?? null, B?.layout.y2Ticks ?? null), u = 0, d, f = l.rows.some((e) => e.color) ? 14 : 0;
115
+ if (c) {
116
+ for (let e of c) u = Math.max(u, J(e, 12));
117
+ d = c.length;
116
118
  } else {
117
- c = J(s.title, 12, 600) + (s.titleColor ? 14 : 0), s.subtitle && (c = Math.max(c, J(s.subtitle, 11) + (s.titleColor ? 14 : 0)));
119
+ u = J(l.title, 12, 600) + (l.titleColor ? 14 : 0), l.subtitle && (u = Math.max(u, J(l.subtitle, 11) + (l.titleColor ? 14 : 0)));
118
120
  let e = 0, t = 0;
119
- for (let n of s.rows) e = Math.max(e, J(n.name, 12)), t = Math.max(t, J(n.value, 12, 600));
120
- s.rows.length && (c = Math.max(c, u + e + 16 + t)), l = 1 + +!!s.subtitle + s.rows.length;
121
+ for (let n of l.rows) e = Math.max(e, J(n.name, 12)), t = Math.max(t, J(n.value, 12, 600));
122
+ l.rows.length && (u = Math.max(u, f + e + 16 + t)), d = 1 + +!!l.subtitle + l.rows.length;
121
123
  }
122
- let d = Math.ceil(Math.max(c, 96) + 16 + 4), f = l * 18 + 16, p = n + 14;
123
- p + d > L - 4 && (p = n - 14 - d), p = Math.max(4, Math.min(p, L - d - 4));
124
- let m = Math.max(4, Math.min(r - f / 2, R - f - 4));
124
+ let p = Math.ceil(Math.max(u, 96) + 16 + 4), m = d * 18 + 16, { x: h, y: g } = t({
125
+ anchor: {
126
+ x: r,
127
+ y: i
128
+ },
129
+ avoid: se(M, a, e),
130
+ size: {
131
+ width: p,
132
+ height: m
133
+ },
134
+ stage: {
135
+ width: R,
136
+ height: z
137
+ },
138
+ prefer: a.horizontal ? "vertical" : "side"
139
+ });
125
140
  return {
126
- content: s,
127
- text: o,
141
+ content: l,
142
+ text: c,
128
143
  box: {
129
- x: p,
130
- y: m,
131
- width: d,
132
- height: f
144
+ x: h,
145
+ y: g,
146
+ width: p,
147
+ height: m
133
148
  },
134
149
  lineHeight: 18,
135
150
  padding: 8,
136
- swatchWidth: u
151
+ swatchWidth: f
137
152
  };
138
- }, xe = () => {
139
- if (L <= 0 || R <= 0) return null;
140
- let e = ye(), n = e?.position === "top" ? e.height : 0, i = te({
141
- model: C,
142
- view: F,
143
- theme: r,
144
- width: L,
145
- height: R - (e?.height ?? 0),
146
- padding: t.padding,
147
- top: n,
153
+ }, Ce = () => {
154
+ if (R <= 0 || z <= 0) return null;
155
+ let e = xe(), t = e?.position === "top" ? e.height : 0, r = ee({
156
+ model: M,
157
+ view: I,
158
+ theme: a,
159
+ width: R,
160
+ height: z - (e?.height ?? 0),
161
+ padding: n.padding,
162
+ top: t,
148
163
  measure: (e) => J(e)
149
- }), a = w(C, F, i.scales, i.yTicks, r.background), o = [], s = r.fontSize + 4;
150
- for (let e of z) {
164
+ }), i = C(M, I, r.scales, r.yTicks, a.background), o = [], s = a.fontSize + 4;
165
+ for (let e of he) {
151
166
  if (e.type === "text" && e.text) {
152
- o.push(S(e, i.scales, J(e.text, r.fontSize, e.weight), s));
167
+ o.push(S(e, r.scales, J(e.text, a.fontSize, e.weight), s));
153
168
  continue;
154
169
  }
155
170
  if (e.type !== "rect") continue;
156
- let t = v(e, x(e, i.scales), r.fontSize, J);
171
+ let t = v(e, x(e, r.scales), a.fontSize, J);
157
172
  t && o.push(t.box);
158
173
  }
159
- let c = b(a, i.plot, (e) => J(e), s - 2, o), l = {
160
- width: L,
161
- height: R,
162
- theme: r,
163
- model: C,
164
- view: N(F),
165
- layout: i,
166
- annotations: z,
174
+ let c = b(i, r.plot, (e) => J(e), s - 2, o), l = {
175
+ width: R,
176
+ height: z,
177
+ theme: a,
178
+ model: M,
179
+ view: P(I),
180
+ layout: r,
181
+ annotations: he,
167
182
  pointLabels: c,
168
183
  legend: e,
169
184
  hover: null,
170
185
  dragging: null,
171
- connectors: E(C, i.scales),
172
- arrows: O(C, i.scales, me)
186
+ connectors: T(M, r.scales),
187
+ arrows: D(M, r.scales, ge)
173
188
  };
174
189
  if (B = l, H) {
175
- let n = D(C, i.scales, H.event, t.crosshair), r = i.scales.horizontal;
190
+ let t = E(M, r.scales, H.event, n.crosshair), i = r.scales.horizontal;
176
191
  l.hover = {
177
192
  event: H.event,
178
- marks: ee(C, i.scales, H.event),
179
- crosshairX: r ? null : n,
180
- crosshairY: r ? n : null,
181
- tooltip: W?.kind === "pan" || W?.kind === "point" ? null : be(H.event, H.x, H.y)
193
+ marks: A(M, r.scales, H.event),
194
+ crosshairX: i ? null : t,
195
+ crosshairY: i ? t : null,
196
+ tooltip: W?.kind === "pan" || W?.kind === "point" ? null : Se(H.event, H.x, H.y, r.scales)
182
197
  };
183
- let a = e?.colors, o = H.event.items[0], s = o ? C.series[o.seriesIndex] : void 0;
198
+ let a = e?.colors, o = H.event.items[0], s = o ? M.series[o.seriesIndex] : void 0;
184
199
  a && o && s?.type === "heatmap" && o.value !== void 0 && (a.caret = a.bar.x + p(s, o.value) * a.bar.width);
185
200
  }
186
201
  if (W?.kind === "point") {
187
- let e = C.series[W.item.seriesIndex];
202
+ let e = M.series[W.item.seriesIndex];
188
203
  l.dragging = {
189
204
  x: W.x,
190
205
  y: W.y,
191
206
  color: W.item.color,
192
- size: (e ? k(e, W.item.index) : 8) + 6
207
+ size: (e ? O(e, W.item.index) : 8) + 6
193
208
  };
194
209
  }
195
- let u = i.plot, d = `${u.x},${u.y},${u.width},${u.height}`;
196
- return d !== ge && (ge = d, K("layout", { ...u })), l;
197
- }, Y = () => ((he || !B) && (he = !1, B = xe()), B), X = () => Y()?.layout.scales ?? null, Z = (e) => {
198
- let t = !oe(H?.event ?? null, e?.event ?? null);
210
+ let u = r.plot, d = `${u.x},${u.y},${u.width},${u.height}`;
211
+ return d !== ve && (ve = d, K("layout", { ...u })), l;
212
+ }, Y = () => ((_e || !B) && (_e = !1, B = Ce()), B), X = () => Y()?.layout.scales ?? null, Z = (e) => {
213
+ let t = !ae(H?.event ?? null, e?.event ?? null);
199
214
  H = e, q(), t && K("hover", e ? e.event : null);
200
215
  }, Q = (e, t, n) => {
201
216
  let r = X();
202
- return r ? A(C, r, B?.layout.xTicks ?? null, e, t, n ? 8 : 0) : null;
203
- }, Se = (e, t) => {
217
+ return r ? k(M, r, B?.layout.xTicks ?? null, e, t, n ? 8 : 0) : null;
218
+ }, we = (e, t) => {
204
219
  let n = X()?.plot;
205
220
  return !!n && e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
206
- }, Ce = (e, t) => {
221
+ }, Te = (e, t) => {
207
222
  let n = X();
208
223
  if (!n) return null;
209
224
  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 = s(n, i, a);
210
225
  return {
211
- x: d(C, o.x),
212
- y: f(C, o.y)
226
+ x: d(M, o.x),
227
+ y: f(M, o.y)
213
228
  };
214
229
  }, $ = (e, t) => {
215
- let { base: n, minSpan: r } = C;
216
- F = {
217
- x: j(e.x, n.x, r.x),
218
- y: j(e.y, n.y, r.y)
219
- }, I = !le(F.x, n.x) || !le(F.y, n.y), t && K("zoom", _(C, F)), q();
220
- }, we = (e, t, n) => {
230
+ let { base: n, minSpan: r } = M;
231
+ I = {
232
+ x: le(e.x, n.x, r.x),
233
+ y: le(e.y, n.y, r.y)
234
+ }, L = !N(I.x, n.x) || !N(I.y, n.y), t && K("zoom", _(M, I)), q();
235
+ }, Ee = (e, t, n) => {
221
236
  let r = X();
222
- if (!r || !C.zoom.x && !C.zoom.y) return;
223
- let i = N(F), a = s(r, e, t);
224
- C.zoom.x && (i.x = ue(F.x, a.x, n)), C.zoom.y && (i.y = ue(F.y, a.y, n)), $(i, !0);
225
- }, Te = () => {
226
- I && $(N(C.base), !0);
227
- }, Ee = (e, t) => Y()?.legend?.entries.find((n) => e >= n.box.x && e <= n.box.x + n.box.width && t >= n.box.y && t <= n.box.y + n.box.height) ?? null, De = (e) => {
228
- o.has(e) ? o.delete(e) : o.add(e), ve();
229
- }, Oe = () => {
237
+ if (!r || !M.zoom.x && !M.zoom.y) return;
238
+ let i = P(I), a = s(r, e, t);
239
+ M.zoom.x && (i.x = de(I.x, a.x, n)), M.zoom.y && (i.y = de(I.y, a.y, n)), $(i, !0);
240
+ }, De = () => {
241
+ L && $(P(M.base), !0);
242
+ }, Oe = (e, t) => Y()?.legend?.entries.find((n) => e >= n.box.x && e <= n.box.x + n.box.width && t >= n.box.y && t <= n.box.y + n.box.height) ?? null, ke = (e) => {
243
+ l.has(e) ? l.delete(e) : l.add(e), be();
244
+ }, Ae = () => {
230
245
  let [e, t] = [...U.values()];
231
246
  W = {
232
247
  kind: "pinch",
233
- view: N(F),
248
+ view: P(I),
234
249
  distance: Math.max(1, Math.hypot(e.x - t.x, e.y - t.y)),
235
250
  midX: (e.x + t.x) / 2,
236
251
  midY: (e.y + t.y) / 2
237
252
  }, Z(null);
238
253
  };
239
- return C = u(t, r, o, a), ve(), {
254
+ return M = u(n, a, l, o), be(), {
240
255
  setOptions(e) {
241
256
  if (V) return;
242
- let i = (e.palette ?? []).join() !== (t.palette ?? []).join();
243
- t = e, i && (r = ce(n, t.palette)), ve();
257
+ let t = (e.palette ?? []).join() !== (n.palette ?? []).join();
258
+ n = e, t && (a = ce(r, n.palette)), be();
244
259
  },
245
260
  setTheme(e) {
246
- V || (n = e, r = ce(n, t.palette), ve());
261
+ V || (r = e, a = ce(r, n.palette), be());
247
262
  },
248
263
  setSize(e, t) {
249
- (e !== L || t !== R) && (L = Math.max(0, e), R = Math.max(0, t), q());
264
+ (e !== R || t !== z) && (R = Math.max(0, e), z = Math.max(0, t), q());
250
265
  },
251
266
  getScene: Y,
252
267
  pointerDown: (e, t, n = {}) => {
@@ -260,9 +275,9 @@ var N = (e) => ({
260
275
  touch: i,
261
276
  moved: !1
262
277
  });
263
- let a = _e();
278
+ let a = ye();
264
279
  if (U.size === 2) {
265
- a && (C.zoom.x || C.zoom.y) && W?.kind !== "point" && Oe();
280
+ a && (M.zoom.x || M.zoom.y) && W?.kind !== "point" && Ae();
266
281
  return;
267
282
  }
268
283
  if (U.size > 2 || !a) {
@@ -277,7 +292,7 @@ var N = (e) => ({
277
292
  return;
278
293
  }
279
294
  if (a.dragPoints) {
280
- let n = Q(e, t, i)?.items.find((e) => C.series[e.seriesIndex].type === "scatter");
295
+ let n = Q(e, t, i)?.items.find((e) => M.series[e.seriesIndex].type === "scatter");
281
296
  if (n) {
282
297
  W = {
283
298
  kind: "point",
@@ -288,10 +303,10 @@ var N = (e) => ({
288
303
  return;
289
304
  }
290
305
  }
291
- if (I && a.pan && Se(e, t)) {
306
+ if (L && a.pan && we(e, t)) {
292
307
  W = {
293
308
  kind: "pan",
294
- view: N(F),
309
+ view: P(I),
295
310
  x: e,
296
311
  y: t
297
312
  };
@@ -309,17 +324,17 @@ var N = (e) => ({
309
324
  pointerMove: (e, t, n = {}) => {
310
325
  if (V) return;
311
326
  let r = n.id ?? 0, a = U.get(r);
312
- if (a && (a.x = e, a.y = t, !a.moved && Math.hypot(e - a.startX, t - a.startY) > (a.touch ? fe : de) && (a.moved = !0)), W?.kind === "pinch" && U.size >= 2) {
327
+ if (a && (a.x = e, a.y = t, !a.moved && Math.hypot(e - a.startX, t - a.startY) > (a.touch ? pe : fe) && (a.moved = !0)), W?.kind === "pinch" && U.size >= 2) {
313
328
  let [e, t] = [...U.values()], n = Math.max(1, Math.hypot(e.x - t.x, e.y - t.y)), r = (e.x + t.x) / 2, a = (e.y + t.y) / 2, o = X();
314
329
  if (!o) return;
315
- let c = i(o.plot, W.view, C.x.reverse, C.y.reverse, C.horizontal), l = W.distance / n, u = N(W.view), d = s(c, W.midX, W.midY), f = s(c, r, a);
316
- C.zoom.x && (u.x = ue(W.view.x, d.x, l), u.x = M(u.x, (d.x - f.x) * l)), C.zoom.y && (u.y = ue(W.view.y, d.y, l), u.y = M(u.y, (d.y - f.y) * l)), $(u, !0);
330
+ let c = i(o.plot, W.view, M.x.reverse, M.y.reverse, M.horizontal), l = W.distance / n, u = P(W.view), d = s(c, W.midX, W.midY), f = s(c, r, a);
331
+ M.zoom.x && (u.x = de(W.view.x, d.x, l), u.x = ue(u.x, (d.x - f.x) * l)), M.zoom.y && (u.y = de(W.view.y, d.y, l), u.y = ue(u.y, (d.y - f.y) * l)), $(u, !0);
317
332
  return;
318
333
  }
319
334
  if (W?.kind === "point" && a) {
320
335
  if (!a.moved) return;
321
336
  W.x = e, W.y = t;
322
- let n = Ce(e, t);
337
+ let n = Te(e, t);
323
338
  q(), n && K("drag", {
324
339
  item: W.item,
325
340
  x: n.x,
@@ -331,8 +346,8 @@ var N = (e) => ({
331
346
  if (!a.moved) return;
332
347
  let n = X();
333
348
  if (!n) return;
334
- let r = N(W.view), i = s(n, W.x, W.y), o = s(n, e, t);
335
- C.zoom.x && (r.x = M(W.view.x, i.x - o.x)), C.zoom.y && (r.y = M(W.view.y, i.y - o.y)), $(r, !0);
349
+ let r = P(W.view), i = s(n, W.x, W.y), o = s(n, e, t);
350
+ M.zoom.x && (r.x = ue(W.view.x, i.x - o.x)), M.zoom.y && (r.y = ue(W.view.y, i.y - o.y)), $(r, !0);
336
351
  return;
337
352
  }
338
353
  if (!(U.size > 1) && (!a || a.touch || !n.touch)) {
@@ -356,7 +371,7 @@ var N = (e) => ({
356
371
  if (W = null, !i) return;
357
372
  if (a?.kind === "point") {
358
373
  if (i.moved) {
359
- let n = Ce(e, t);
374
+ let n = Te(e, t);
360
375
  q(), n && K("drop", {
361
376
  item: a.item,
362
377
  x: n.x,
@@ -373,12 +388,12 @@ var N = (e) => ({
373
388
  return;
374
389
  }
375
390
  let o = Date.now();
376
- if (i.touch && o - G.time < pe && Math.hypot(e - G.x, t - G.y) < 24 && I) {
391
+ if (i.touch && o - G.time < me && Math.hypot(e - G.x, t - G.y) < 24 && L) {
377
392
  G = {
378
393
  time: 0,
379
394
  x: e,
380
395
  y: t
381
- }, Te();
396
+ }, De();
382
397
  return;
383
398
  }
384
399
  G = {
@@ -386,9 +401,9 @@ var N = (e) => ({
386
401
  x: e,
387
402
  y: t
388
403
  };
389
- let s = Ee(e, t);
404
+ let s = Oe(e, t);
390
405
  if (s) {
391
- Y()?.legend?.toggle && De(s.id);
406
+ Y()?.legend?.toggle && ke(s.id);
392
407
  return;
393
408
  }
394
409
  let c = Q(e, t, i.touch);
@@ -400,8 +415,8 @@ var N = (e) => ({
400
415
  }), K("click", c);
401
416
  return;
402
417
  }
403
- if (i.touch && Z(null), Se(e, t)) {
404
- let n = Ce(e, t);
418
+ if (i.touch && Z(null), we(e, t)) {
419
+ let n = Te(e, t);
405
420
  n && K("plotClick", n);
406
421
  }
407
422
  },
@@ -411,13 +426,13 @@ var N = (e) => ({
411
426
  pointerLeave() {
412
427
  !W && H && Z(null);
413
428
  },
414
- zoomAt: we,
415
- resetZoom: Te,
416
- getView: () => _(C, F),
429
+ zoomAt: Ee,
430
+ resetZoom: De,
431
+ getView: () => _(M, I),
417
432
  setView(e) {
418
- V || $(g(C, e, F), !1);
433
+ V || $(g(M, e, I), !1);
419
434
  },
420
- toggleSeries: De,
435
+ toggleSeries: ke,
421
436
  clearHover() {
422
437
  H && Z(null);
423
438
  },
@@ -427,33 +442,33 @@ var N = (e) => ({
427
442
  },
428
443
  toPixel(e, t) {
429
444
  let n = X();
430
- return n ? c(n, m(C, e), h(C, t)) : null;
445
+ return n ? c(n, m(M, e), h(M, t)) : null;
431
446
  },
432
447
  fromPixel(e, t) {
433
448
  let n = X();
434
449
  if (!n) return null;
435
450
  let r = s(n, e, t);
436
451
  return {
437
- x: d(C, r.x),
438
- y: f(C, r.y)
452
+ x: d(M, r.x),
453
+ y: f(M, r.y)
439
454
  };
440
455
  },
441
456
  on(e, t) {
442
- let n = l[e];
443
- return n || (n = /* @__PURE__ */ new Set(), l[e] = n), n.add(t), () => {
457
+ let n = j[e];
458
+ return n || (n = /* @__PURE__ */ new Set(), j[e] = n), n.add(t), () => {
444
459
  n.delete(t);
445
460
  };
446
461
  },
447
462
  destroy() {
448
463
  V = !0, U.clear();
449
- for (let e of Object.keys(l)) delete l[e];
464
+ for (let e of Object.keys(j)) delete j[e];
450
465
  }
451
466
  };
452
- }, I = (t, n, r, i) => {
467
+ }, L = (t, n, r, i) => {
453
468
  if (!r) return [0, n];
454
469
  let [a, o] = i[0] <= i[1] ? i : [i[1], i[0]];
455
470
  return [Math.max(0, e(t, n, a) - 1), Math.min(n, e(t, n, o) + 1)];
456
- }, L = {
471
+ }, R = {
457
472
  heatmap: 0,
458
473
  area: 1,
459
474
  bar: 2,
@@ -461,95 +476,95 @@ var N = (e) => ({
461
476
  candlestick: 3,
462
477
  line: 4,
463
478
  scatter: 5
464
- }, R = (e, t) => {
479
+ }, z = (e, t) => {
465
480
  if (!e.horizontal) return t;
466
481
  let n = Array(t.length);
467
482
  for (let e = 0; e < t.length; e += 4) n[e] = t[e + 1], n[e + 1] = t[e], n[e + 2] = t[e + 3], n[e + 3] = t[e + 2];
468
483
  return n;
469
- }, z = (e, i = {}) => {
470
- let { model: s, view: u, layout: d } = e, f = d.scales, { plot: p } = d, m = f.horizontal, h = i.maxDots ?? 4e3, g = i.maxBars ?? 2e3, _ = Math.max(1, i.columnWidth ?? 1), v = m ? p.y : p.x, y = v + (m ? p.height : p.width), b = [], x = s.series.filter((e) => !e.hidden && e.cols.count > 0).sort((e, t) => L[e.type] - L[t.type] || e.index - t.index);
471
- for (let e of x) {
472
- let { x: d, y: x, count: S, sorted: w } = e.cols;
484
+ }, he = (e, t = {}) => {
485
+ let { model: i, view: s, layout: u } = e, d = u.scales, { plot: f } = u, p = d.horizontal, m = t.maxDots ?? 4e3, h = t.maxBars ?? 2e3, g = Math.max(1, t.columnWidth ?? 1), _ = p ? f.y : f.x, v = _ + (p ? f.height : f.width), y = [], b = i.series.filter((e) => !e.hidden && e.cols.count > 0).sort((e, t) => R[e.type] - R[t.type] || e.index - t.index);
486
+ for (let e of b) {
487
+ let { x: u, y: b, count: x, sorted: S } = e.cols;
473
488
  if (e.type === "line" || e.type === "area") {
474
- let [t, n] = I(d, S, w, u.x), i = e.stackTop ?? x, a = r(d, i, t, n, e.curve), o = e.stackBase ? r(d, e.stackBase, t, n, e.curve).points : null, l = a.length, p = a.points, h = o;
475
- if (w && l > (y - v) * 2 / _) {
489
+ let [t, n] = L(u, x, S, s.x), r = e.stackTop ?? b, a = j(u, r, t, n, e.curve), o = e.stackBase ? j(u, e.stackBase, t, n, e.curve).points : null, l = a.length, f = a.points, m = o;
490
+ if (S && l > (v - _) * 2 / g) {
476
491
  if (o) {
477
- let e = C(p, 0, l, (e) => f.xToPx(e) / _), t = new Float64Array(e.length * 2), n = new Float64Array(e.length * 2), r = 0, i = 0;
492
+ let e = M(f, 0, l, (e) => d.xToPx(e) / g), t = new Float64Array(e.length * 2), n = new Float64Array(e.length * 2), r = 0, i = 0;
478
493
  for (let a = 0; a < e.length; a++) {
479
494
  let s = e.points[a * 2];
480
- for (; i < l - 1 && p[i * 2] < s;) i++;
495
+ for (; i < l - 1 && f[i * 2] < s;) i++;
481
496
  t[r * 2] = s, t[r * 2 + 1] = e.points[a * 2 + 1], n[r * 2] = s, n[r * 2 + 1] = o[i * 2 + 1], r++;
482
497
  }
483
- p = t, h = n, l = r;
498
+ f = t, m = n, l = r;
484
499
  } else {
485
- let e = C(p, 0, l, (e) => f.xToPx(e) / _);
486
- p = e.points, l = e.length;
500
+ let e = M(f, 0, l, (e) => d.xToPx(e) / g);
501
+ f = e.points, l = e.length;
487
502
  }
488
503
  }
489
- let g = e.type === "area" && !!e.cols.y0 && !!h, T = [], E = [], D = [], O = [], k = [], A = [], ee = () => {
490
- O.length && (T.push(O), E.push(k), g && D.push(A)), O = [], k = [], A = [];
504
+ let h = e.type === "area" && !!e.cols.y0 && !!m, C = [], w = [], T = [], E = [], D = [], O = [], k = () => {
505
+ E.length && (C.push(E), w.push(D), h && T.push(O)), E = [], D = [], O = [];
491
506
  };
492
507
  for (let e = 0; e < l; e++) {
493
- let t = p[e * 2], n = p[e * 2 + 1], r = h ? h[e * 2 + 1] : 0;
508
+ let t = f[e * 2], n = f[e * 2 + 1], r = m ? m[e * 2 + 1] : 0;
494
509
  if (!Number.isFinite(t) || !Number.isFinite(n) || !Number.isFinite(r)) {
495
- ee();
510
+ k();
496
511
  continue;
497
512
  }
498
- let i = c(f, t, n);
499
- if (O.push(i.x, i.y), h && k.push(f.yToPx(r)), g) {
500
- let e = c(f, t, r);
501
- A.push(e.x, e.y);
513
+ let i = c(d, t, n);
514
+ if (E.push(i.x, i.y), m && D.push(d.yToPx(r)), h) {
515
+ let e = c(d, t, r);
516
+ O.push(e.x, e.y);
502
517
  }
503
518
  }
504
- if (ee(), e.type === "area" && b.push({
519
+ if (k(), e.type === "area" && y.push({
505
520
  kind: "area",
506
521
  seriesIndex: e.index,
507
522
  color: e.colorCss,
508
523
  opacity: e.opacity,
509
- baseline: f.yToPx(s.baseline),
510
- segments: T,
511
- ...h ? { bottoms: E } : {},
512
- ...m ? { horizontal: !0 } : {}
524
+ baseline: d.yToPx(i.baseline),
525
+ segments: C,
526
+ ...m ? { bottoms: w } : {},
527
+ ...p ? { horizontal: !0 } : {}
513
528
  }), e.lineWidth > 0) {
514
529
  let t = e.type === "area" ? Math.min(e.lineWidth, 2) : e.lineWidth;
515
- b.push({
530
+ y.push({
516
531
  kind: "line",
517
532
  seriesIndex: e.index,
518
533
  color: e.colorCss,
519
534
  width: t,
520
- segments: T
521
- }), g && b.push({
535
+ segments: C
536
+ }), h && y.push({
522
537
  kind: "line",
523
538
  seriesIndex: e.index,
524
539
  color: e.colorCss,
525
540
  width: t,
526
- segments: D
541
+ segments: T
527
542
  });
528
543
  }
529
544
  continue;
530
545
  }
531
546
  if (e.type === "bar" && e.barBase && e.barTop) {
532
- let [n, r] = I(d, S, w, u.x), i = Math.max(e.barHalfWidth / Math.abs(f.xPerPx), .5), a = [], o = [], s = r - n > g, c = NaN;
533
- for (let u = n; u < r; u++) {
534
- let n = e.barBase[u], r = e.barTop[u];
535
- if (!Number.isFinite(n) || !Number.isFinite(r)) continue;
536
- let p = f.xToPx(d[u] + e.barOffset);
537
- if (p + i < v || p - i > y) continue;
538
- let m = f.yToPx(n), h = f.yToPx(r), g = Math.min(m, h), _ = Math.max(1, Math.abs(m - h)), b = Math.floor(p);
539
- if (s && b === c && a.length) {
540
- let e = a.length - 4, t = Math.max(a[e + 1] + a[e + 3], g + _);
547
+ let [t, r] = L(u, x, S, s.x), i = Math.max(e.barHalfWidth / Math.abs(d.xPerPx), .5), a = [], o = [], c = r - t > h, f = NaN;
548
+ for (let s = t; s < r; s++) {
549
+ let t = e.barBase[s], r = e.barTop[s];
550
+ if (!Number.isFinite(t) || !Number.isFinite(r)) continue;
551
+ let p = d.xToPx(u[s] + e.barOffset);
552
+ if (p + i < _ || p - i > v) continue;
553
+ let m = d.yToPx(t), h = d.yToPx(r), g = Math.min(m, h), y = Math.max(1, Math.abs(m - h)), b = Math.floor(p);
554
+ if (c && b === f && a.length) {
555
+ let e = a.length - 4, t = Math.max(a[e + 1] + a[e + 3], g + y);
541
556
  a[e + 1] = Math.min(a[e + 1], g), a[e + 3] = t - a[e + 1];
542
557
  continue;
543
558
  }
544
- c = b, a.push(p - i, g, i * 2, _);
545
- let x = e.pointColors?.[u];
546
- o.push(e.cols.opacities ? t(x ?? e.color, l(e, u)) : x ? t(x) : e.colorCss);
559
+ f = b, a.push(p - i, g, i * 2, y);
560
+ let x = e.pointColors?.[s];
561
+ o.push(e.cols.opacities ? n(x ?? e.color, l(e, s)) : x ? n(x) : e.colorCss);
547
562
  }
548
- b.push({
563
+ y.push({
549
564
  kind: "bars",
550
565
  seriesIndex: e.index,
551
566
  color: e.colorCss,
552
- rects: R(f, a),
567
+ rects: z(d, a),
553
568
  ...e.pointColors || e.cols.opacities ? { colors: o } : {},
554
569
  radius: e.radius,
555
570
  ...e.opacity < 1 && !e.cols.opacities ? { opacity: e.opacity } : {}
@@ -557,46 +572,46 @@ var N = (e) => ({
557
572
  continue;
558
573
  }
559
574
  if (e.type === "boxplot") {
560
- b.push(...me(e, f, u.x, v, y, g));
575
+ y.push(...ge(e, d, s.x, _, v, h));
561
576
  continue;
562
577
  }
563
578
  if (e.type === "candlestick") {
564
- let [n, r] = I(d, S, w, u.x), { open: i, high: a, low: o } = e.cols, s = Math.max(e.barHalfWidth / Math.abs(f.xPerPx), 1), c = t(e.upColor), l = t(e.downColor), p = [], m = [], h = [], _ = [], C = Math.max(1, Math.ceil((r - n) / g));
565
- for (let e = n; e < r; e += C) {
566
- let t = x[e], n = i ? i[e] : t;
579
+ let [t, r] = L(u, x, S, s.x), { open: i, high: a, low: o } = e.cols, c = Math.max(e.barHalfWidth / Math.abs(d.xPerPx), 1), l = n(e.upColor), f = n(e.downColor), p = [], m = [], g = [], C = [], w = Math.max(1, Math.ceil((r - t) / h));
580
+ for (let e = t; e < r; e += w) {
581
+ let t = b[e], n = i ? i[e] : t;
567
582
  if (!Number.isFinite(t) || !Number.isFinite(n)) continue;
568
- let r = f.xToPx(d[e]);
569
- if (r + s < v || r - s > y) continue;
570
- let u = t < n ? l : c, g = f.yToPx(a ? a[e] : Math.max(n, t)), b = f.yToPx(o ? o[e] : Math.min(n, t));
571
- p.push(r - .5, Math.min(g, b), 1, Math.abs(b - g)), h.push(u);
572
- let S = f.yToPx(n), C = f.yToPx(t);
573
- m.push(r - s, Math.min(S, C), s * 2, Math.max(1, Math.abs(S - C))), _.push(u);
583
+ let r = d.xToPx(u[e]);
584
+ if (r + c < _ || r - c > v) continue;
585
+ let s = t < n ? f : l, h = d.yToPx(a ? a[e] : Math.max(n, t)), y = d.yToPx(o ? o[e] : Math.min(n, t));
586
+ p.push(r - .5, Math.min(h, y), 1, Math.abs(y - h)), g.push(s);
587
+ let x = d.yToPx(n), S = d.yToPx(t);
588
+ m.push(r - c, Math.min(x, S), c * 2, Math.max(1, Math.abs(x - S))), C.push(s);
574
589
  }
575
- b.push({
590
+ y.push({
576
591
  kind: "bars",
577
592
  seriesIndex: e.index,
578
- color: c,
579
- rects: R(f, p),
580
- colors: h
593
+ color: l,
594
+ rects: z(d, p),
595
+ colors: g
581
596
  }, {
582
597
  kind: "bars",
583
598
  seriesIndex: e.index,
584
- color: c,
585
- rects: R(f, m),
586
- colors: _,
599
+ color: l,
600
+ rects: z(d, m),
601
+ colors: C,
587
602
  radius: 1
588
603
  });
589
604
  continue;
590
605
  }
591
606
  if (e.type === "heatmap") {
592
- let r = Math.abs(e.cellHalf.x / f.xPerPx), i = Math.abs(e.cellHalf.y / f.yPerPx), s = [], c = [], l = a(r * 2, i * 2, e.radius), u = l.inset;
593
- for (let a = 0; a < S && s.length / 4 < g * 4; a++) {
607
+ let t = Math.abs(e.cellHalf.x / d.xPerPx), i = Math.abs(e.cellHalf.y / d.yPerPx), s = [], c = [], l = a(t * 2, i * 2, e.radius), p = l.inset;
608
+ for (let a = 0; a < x && s.length / 4 < h * 4; a++) {
594
609
  let l = e.cellColors?.[a];
595
610
  if (!l) continue;
596
- let m = o(f, f.xToPx(d[a]) - r, f.xToPx(d[a]) + r, f.yToPx(x[a]) - i, f.yToPx(x[a]) + i);
597
- m.x + m.width < p.x || m.x > p.x + p.width || m.y + m.height < p.y || m.y > p.y + p.height || (s.push(m.x + u, m.y + u, m.width - u * 2, m.height - u * 2), c.push(t(n(l))));
611
+ let m = o(d, d.xToPx(u[a]) - t, d.xToPx(u[a]) + t, d.yToPx(b[a]) - i, d.yToPx(b[a]) + i);
612
+ m.x + m.width < f.x || m.x > f.x + f.width || m.y + m.height < f.y || m.y > f.y + f.height || (s.push(m.x + p, m.y + p, m.width - p * 2, m.height - p * 2), c.push(n(r(l))));
598
613
  }
599
- b.push({
614
+ y.push({
600
615
  kind: "bars",
601
616
  seriesIndex: e.index,
602
617
  color: e.colorCss,
@@ -606,38 +621,38 @@ var N = (e) => ({
606
621
  });
607
622
  continue;
608
623
  }
609
- let T = [], E = [], D = (n) => {
610
- let r = e.pointColors?.[n];
611
- return r ? t(r) : e.colorCss;
612
- }, O = [], A = [];
613
- for (let e = 0; e < S; e++) {
614
- let t = d[e], n = x[e];
624
+ let C = [], w = [], T = (t) => {
625
+ let r = e.pointColors?.[t];
626
+ return r ? n(r) : e.colorCss;
627
+ }, E = [], D = [];
628
+ for (let e = 0; e < x; e++) {
629
+ let t = u[e], n = b[e];
615
630
  if (!Number.isFinite(t) || !Number.isFinite(n)) continue;
616
- let r = c(f, t, n);
617
- r.x < p.x || r.x > p.x + p.width || r.y < p.y || r.y > p.y + p.height || (O.push(e), A.push(r.x, r.y));
631
+ let r = c(d, t, n);
632
+ r.x < f.x || r.x > f.x + f.width || r.y < f.y || r.y > f.y + f.height || (E.push(e), D.push(r.x, r.y));
618
633
  }
619
- if (O.length > h) {
620
- let t = Math.max(2, i.dotCell ?? e.pointSize * .8), n = Math.ceil(p.width / t) + 1, r = /* @__PURE__ */ new Map();
621
- O.forEach((e, i) => {
622
- let a = Math.floor((A[i * 2] - p.x) / t), o = Math.floor((A[i * 2 + 1] - p.y) / t);
623
- r.set(o * n + a, e);
634
+ if (E.length > m) {
635
+ let n = Math.max(2, t.dotCell ?? e.pointSize * .8), r = Math.ceil(f.width / n) + 1, i = /* @__PURE__ */ new Map();
636
+ E.forEach((e, t) => {
637
+ let a = Math.floor((D[t * 2] - f.x) / n), o = Math.floor((D[t * 2 + 1] - f.y) / n);
638
+ i.set(o * r + a, e);
624
639
  });
625
- for (let [e, i] of r) T.push(p.x + (e % n + .5) * t, p.y + (Math.floor(e / n) + .5) * t, t), E.push(D(i));
626
- } else O.forEach((t, n) => {
627
- T.push(A[n * 2], A[n * 2 + 1], k(e, t)), E.push(D(t));
640
+ for (let [e, t] of i) C.push(f.x + (e % r + .5) * n, f.y + (Math.floor(e / r) + .5) * n, n), w.push(T(t));
641
+ } else E.forEach((t, n) => {
642
+ C.push(D[n * 2], D[n * 2 + 1], O(e, t)), w.push(T(t));
628
643
  });
629
- b.push({
644
+ y.push({
630
645
  kind: "dots",
631
646
  seriesIndex: e.index,
632
647
  opacity: e.opacity,
633
- dots: T,
634
- colors: E,
648
+ dots: C,
649
+ colors: w,
635
650
  ...e.stroke === null ? {} : { stroke: e.stroke }
636
651
  });
637
652
  }
638
- return b;
639
- }, me = (e, n, r, i, a, o) => {
640
- let { x: s, y: c, count: l, sorted: u, high: d, low: f, q1: p, q3: m, outliers: h } = e.cols, [g, _] = I(s, l, u, r), v = Math.max(e.barHalfWidth / Math.abs(n.xPerPx), 1), y = Math.max(1, e.lineWidth), b = [], x = [], S = [], C = [], w = [], T = [], E = Math.max(1, Math.ceil((_ - g) / o)), D = (e, t, n) => {
653
+ return y;
654
+ }, ge = (e, t, r, i, a, o) => {
655
+ let { x: s, y: c, count: l, sorted: u, high: d, low: f, q1: p, q3: m, outliers: h } = e.cols, [g, _] = L(s, l, u, r), v = Math.max(e.barHalfWidth / Math.abs(t.xPerPx), 1), y = Math.max(1, e.lineWidth), b = [], x = [], S = [], C = [], w = [], T = [], E = Math.max(1, Math.ceil((_ - g) / o)), D = (e, t, n) => {
641
656
  x.push(e - y / 2, Math.min(t, n), y, Math.abs(t - n));
642
657
  }, O = (e, t, n, r = y) => {
643
658
  x.push(e - t, n - r / 2, t * 2, r);
@@ -645,19 +660,19 @@ var N = (e) => ({
645
660
  for (let r = g; r < _; r += E) {
646
661
  let o = c[r];
647
662
  if (!Number.isFinite(o)) continue;
648
- let l = n.xToPx(s[r] + e.barOffset);
663
+ let l = t.xToPx(s[r] + e.barOffset);
649
664
  if (l + v < i || l - v > a) continue;
650
- let u = e.pointColors?.[r], g = u ? t(u) : e.colorCss, _ = n.yToPx(f && Number.isFinite(f[r]) ? f[r] : o), E = n.yToPx(d && Number.isFinite(d[r]) ? d[r] : o), k = n.yToPx(p && Number.isFinite(p[r]) ? p[r] : o), A = n.yToPx(m && Number.isFinite(m[r]) ? m[r] : o), ee = x.length;
651
- b.push(l - v, Math.min(k, A), v * 2, Math.abs(k - A)), S.push(g), D(l, _, k), D(l, A, E), D(l - v, k, A), D(l + v, k, A), O(l, v / 2, _), O(l, v / 2, E), O(l, v, k), O(l, v, A), O(l, v, n.yToPx(o), Math.max(2, y * 1.6));
665
+ let u = e.pointColors?.[r], g = u ? n(u) : e.colorCss, _ = t.yToPx(f && Number.isFinite(f[r]) ? f[r] : o), E = t.yToPx(d && Number.isFinite(d[r]) ? d[r] : o), k = t.yToPx(p && Number.isFinite(p[r]) ? p[r] : o), A = t.yToPx(m && Number.isFinite(m[r]) ? m[r] : o), ee = x.length;
666
+ b.push(l - v, Math.min(k, A), v * 2, Math.abs(k - A)), S.push(g), D(l, _, k), D(l, A, E), D(l - v, k, A), D(l + v, k, A), O(l, v / 2, _), O(l, v / 2, E), O(l, v, k), O(l, v, A), O(l, v, t.yToPx(o), Math.max(2, y * 1.6));
652
667
  for (let e = ee; e < x.length; e += 4) C.push(g);
653
668
  let te = h?.[r];
654
- if (te) for (let t of te) {
655
- let r = n.horizontal ? {
656
- x: n.yToPx(t),
669
+ if (te) for (let n of te) {
670
+ let r = t.horizontal ? {
671
+ x: t.yToPx(n),
657
672
  y: l
658
673
  } : {
659
674
  x: l,
660
- y: n.yToPx(t)
675
+ y: t.yToPx(n)
661
676
  };
662
677
  w.push(r.x, r.y, e.outlierSize), T.push(g);
663
678
  }
@@ -666,14 +681,14 @@ var N = (e) => ({
666
681
  kind: "bars",
667
682
  seriesIndex: e.index,
668
683
  color: e.colorCss,
669
- rects: R(n, b),
684
+ rects: z(t, b),
670
685
  colors: S,
671
686
  opacity: e.opacity
672
687
  }, {
673
688
  kind: "bars",
674
689
  seriesIndex: e.index,
675
690
  color: e.colorCss,
676
- rects: R(n, x),
691
+ rects: z(t, x),
677
692
  colors: C
678
693
  }];
679
694
  return w.length && k.push({
@@ -686,6 +701,6 @@ var N = (e) => ({
686
701
  }), k;
687
702
  };
688
703
  //#endregion
689
- export { F as createChartController, z as scenePrimitives };
704
+ export { I as createChartController, he as scenePrimitives };
690
705
 
691
706
  //# sourceMappingURL=controller.js.map