minerva-design 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (256) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/dist/charts/canvas.d.cts +4 -1
  3. package/dist/charts/canvas.d.ts +4 -1
  4. package/dist/charts/core.cjs +1 -1
  5. package/dist/charts/core.d.cts +5 -2
  6. package/dist/charts/core.d.ts +5 -2
  7. package/dist/charts/core.js +6 -4
  8. package/dist/charts/engine/canvas.cjs +1 -1
  9. package/dist/charts/engine/canvas.cjs.map +1 -1
  10. package/dist/charts/engine/canvas.js +65 -53
  11. package/dist/charts/engine/canvas.js.map +1 -1
  12. package/dist/charts/engine/chart.cjs +1 -2
  13. package/dist/charts/engine/chart.cjs.map +1 -1
  14. package/dist/charts/engine/chart.js +342 -323
  15. package/dist/charts/engine/chart.js.map +1 -1
  16. package/dist/charts/engine/color.cjs +1 -1
  17. package/dist/charts/engine/color.cjs.map +1 -1
  18. package/dist/charts/engine/color.d.cts +17 -0
  19. package/dist/charts/engine/color.d.ts +17 -0
  20. package/dist/charts/engine/color.js +27 -3
  21. package/dist/charts/engine/color.js.map +1 -1
  22. package/dist/charts/engine/controller.cjs +2 -2
  23. package/dist/charts/engine/controller.cjs.map +1 -1
  24. package/dist/charts/engine/controller.d.cts +6 -0
  25. package/dist/charts/engine/controller.d.ts +6 -0
  26. package/dist/charts/engine/controller.js +317 -253
  27. package/dist/charts/engine/controller.js.map +1 -1
  28. package/dist/charts/engine/curve.cjs +2 -0
  29. package/dist/charts/engine/curve.cjs.map +1 -0
  30. package/dist/charts/engine/curve.d.cts +15 -0
  31. package/dist/charts/engine/curve.d.ts +15 -0
  32. package/dist/charts/engine/curve.js +56 -0
  33. package/dist/charts/engine/curve.js.map +1 -0
  34. package/dist/charts/engine/data.cjs +1 -1
  35. package/dist/charts/engine/data.cjs.map +1 -1
  36. package/dist/charts/engine/data.d.cts +15 -2
  37. package/dist/charts/engine/data.d.ts +15 -2
  38. package/dist/charts/engine/data.js +98 -38
  39. package/dist/charts/engine/data.js.map +1 -1
  40. package/dist/charts/engine/dom.cjs +1 -1
  41. package/dist/charts/engine/dom.cjs.map +1 -1
  42. package/dist/charts/engine/dom.d.cts +5 -3
  43. package/dist/charts/engine/dom.d.ts +5 -3
  44. package/dist/charts/engine/dom.js +27 -22
  45. package/dist/charts/engine/dom.js.map +1 -1
  46. package/dist/charts/engine/items.cjs +1 -1
  47. package/dist/charts/engine/items.cjs.map +1 -1
  48. package/dist/charts/engine/items.js +132 -61
  49. package/dist/charts/engine/items.js.map +1 -1
  50. package/dist/charts/engine/model.cjs +1 -1
  51. package/dist/charts/engine/model.cjs.map +1 -1
  52. package/dist/charts/engine/model.d.cts +30 -3
  53. package/dist/charts/engine/model.d.ts +30 -3
  54. package/dist/charts/engine/model.js +225 -108
  55. package/dist/charts/engine/model.js.map +1 -1
  56. package/dist/charts/engine/overlay.cjs +1 -1
  57. package/dist/charts/engine/overlay.cjs.map +1 -1
  58. package/dist/charts/engine/overlay.d.cts +2 -0
  59. package/dist/charts/engine/overlay.d.ts +2 -0
  60. package/dist/charts/engine/overlay.js +16 -16
  61. package/dist/charts/engine/overlay.js.map +1 -1
  62. package/dist/charts/engine/presets.cjs +2 -2
  63. package/dist/charts/engine/presets.cjs.map +1 -1
  64. package/dist/charts/engine/presets.d.cts +71 -5
  65. package/dist/charts/engine/presets.d.ts +71 -5
  66. package/dist/charts/engine/presets.js +120 -33
  67. package/dist/charts/engine/presets.js.map +1 -1
  68. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  69. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  70. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  71. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  72. package/dist/charts/engine/renderers/range.cjs +1 -1
  73. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  74. package/dist/charts/engine/renderers/range.js +4 -4
  75. package/dist/charts/engine/renderers/range.js.map +1 -1
  76. package/dist/charts/engine/renderers/shaders.cjs +37 -19
  77. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  78. package/dist/charts/engine/renderers/shaders.d.cts +2 -2
  79. package/dist/charts/engine/renderers/shaders.d.ts +2 -2
  80. package/dist/charts/engine/renderers/shaders.js +37 -19
  81. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  82. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  83. package/dist/charts/engine/renderers/types.d.cts +11 -4
  84. package/dist/charts/engine/renderers/types.d.ts +11 -4
  85. package/dist/charts/engine/renderers/types.js.map +1 -1
  86. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  87. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  88. package/dist/charts/engine/renderers/webgl2.js +33 -12
  89. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  90. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  91. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  92. package/dist/charts/engine/renderers/webgpu.js +18 -15
  93. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  94. package/dist/charts/engine/scene.cjs +1 -1
  95. package/dist/charts/engine/scene.cjs.map +1 -1
  96. package/dist/charts/engine/scene.d.cts +19 -6
  97. package/dist/charts/engine/scene.d.ts +19 -6
  98. package/dist/charts/engine/scene.js +201 -89
  99. package/dist/charts/engine/scene.js.map +1 -1
  100. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  101. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  102. package/dist/charts/engine/shapes/canvas.d.cts +58 -0
  103. package/dist/charts/engine/shapes/canvas.d.ts +58 -0
  104. package/dist/charts/engine/shapes/canvas.js +159 -0
  105. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  106. package/dist/charts/engine/shapes/chart.cjs +2 -0
  107. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  108. package/dist/charts/engine/shapes/chart.d.cts +6 -0
  109. package/dist/charts/engine/shapes/chart.d.ts +6 -0
  110. package/dist/charts/engine/shapes/chart.js +273 -0
  111. package/dist/charts/engine/shapes/chart.js.map +1 -0
  112. package/dist/charts/engine/shapes/draw.cjs +2 -0
  113. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  114. package/dist/charts/engine/shapes/draw.d.cts +20 -0
  115. package/dist/charts/engine/shapes/draw.d.ts +20 -0
  116. package/dist/charts/engine/shapes/draw.js +152 -0
  117. package/dist/charts/engine/shapes/draw.js.map +1 -0
  118. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  119. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  120. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  121. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  122. package/dist/charts/engine/shapes/funnel.js +149 -0
  123. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  124. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  125. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  126. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  127. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  128. package/dist/charts/engine/shapes/gauge.js +173 -0
  129. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  130. package/dist/charts/engine/shapes/hit.cjs +2 -0
  131. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  132. package/dist/charts/engine/shapes/hit.d.cts +28 -0
  133. package/dist/charts/engine/shapes/hit.d.ts +28 -0
  134. package/dist/charts/engine/shapes/hit.js +124 -0
  135. package/dist/charts/engine/shapes/hit.js.map +1 -0
  136. package/dist/charts/engine/shapes/index.d.cts +9 -0
  137. package/dist/charts/engine/shapes/index.d.ts +9 -0
  138. package/dist/charts/engine/shapes/layout.cjs +3 -0
  139. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  140. package/dist/charts/engine/shapes/layout.d.cts +88 -0
  141. package/dist/charts/engine/shapes/layout.d.ts +88 -0
  142. package/dist/charts/engine/shapes/layout.js +266 -0
  143. package/dist/charts/engine/shapes/layout.js.map +1 -0
  144. package/dist/charts/engine/shapes/pie.cjs +2 -0
  145. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  146. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  147. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  148. package/dist/charts/engine/shapes/pie.js +302 -0
  149. package/dist/charts/engine/shapes/pie.js.map +1 -0
  150. package/dist/charts/engine/shapes/radar.cjs +2 -0
  151. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  152. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  153. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  154. package/dist/charts/engine/shapes/radar.js +197 -0
  155. package/dist/charts/engine/shapes/radar.js.map +1 -0
  156. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  157. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  158. package/dist/charts/engine/shapes/runtime.d.cts +29 -0
  159. package/dist/charts/engine/shapes/runtime.d.ts +29 -0
  160. package/dist/charts/engine/shapes/runtime.js +97 -0
  161. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  162. package/dist/charts/engine/shapes/scene.cjs +2 -0
  163. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  164. package/dist/charts/engine/shapes/scene.d.cts +257 -0
  165. package/dist/charts/engine/shapes/scene.d.ts +257 -0
  166. package/dist/charts/engine/shapes/scene.js +123 -0
  167. package/dist/charts/engine/shapes/scene.js.map +1 -0
  168. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  169. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  170. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  171. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  172. package/dist/charts/engine/shapes/treemap.js +213 -0
  173. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  174. package/dist/charts/engine/shapes/types.d.cts +292 -0
  175. package/dist/charts/engine/shapes/types.d.ts +292 -0
  176. package/dist/charts/engine/signature.cjs +2 -0
  177. package/dist/charts/engine/signature.cjs.map +1 -0
  178. package/dist/charts/engine/signature.d.cts +9 -0
  179. package/dist/charts/engine/signature.d.ts +9 -0
  180. package/dist/charts/engine/signature.js +13 -0
  181. package/dist/charts/engine/signature.js.map +1 -0
  182. package/dist/charts/engine/theme.cjs +1 -1
  183. package/dist/charts/engine/theme.cjs.map +1 -1
  184. package/dist/charts/engine/theme.d.cts +10 -1
  185. package/dist/charts/engine/theme.d.ts +10 -1
  186. package/dist/charts/engine/theme.js +40 -16
  187. package/dist/charts/engine/theme.js.map +1 -1
  188. package/dist/charts/engine/types.d.cts +70 -9
  189. package/dist/charts/engine/types.d.ts +70 -9
  190. package/dist/charts/index.cjs +1 -1
  191. package/dist/charts/index.d.cts +4 -2
  192. package/dist/charts/index.d.ts +4 -2
  193. package/dist/charts/index.js +8 -5
  194. package/dist/charts/react/Chart.cjs +1 -1
  195. package/dist/charts/react/Chart.cjs.map +1 -1
  196. package/dist/charts/react/Chart.d.cts +8 -1
  197. package/dist/charts/react/Chart.d.ts +8 -1
  198. package/dist/charts/react/Chart.js +66 -47
  199. package/dist/charts/react/Chart.js.map +1 -1
  200. package/dist/charts/react/charts.cjs +1 -1
  201. package/dist/charts/react/charts.cjs.map +1 -1
  202. package/dist/charts/react/charts.d.cts +10 -2
  203. package/dist/charts/react/charts.d.ts +10 -2
  204. package/dist/charts/react/charts.js +174 -51
  205. package/dist/charts/react/charts.js.map +1 -1
  206. package/dist/charts/react/shapes.cjs +2 -0
  207. package/dist/charts/react/shapes.cjs.map +1 -0
  208. package/dist/charts/react/shapes.d.cts +255 -0
  209. package/dist/charts/react/shapes.d.ts +255 -0
  210. package/dist/charts/react/shapes.js +242 -0
  211. package/dist/charts/react/shapes.js.map +1 -0
  212. package/dist/charts/react/types.d.cts +73 -4
  213. package/dist/charts/react/types.d.ts +73 -4
  214. package/dist/native/charts/src/engine/color.cjs +1 -1
  215. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  216. package/dist/native/charts/src/engine/color.js +12 -3
  217. package/dist/native/charts/src/engine/color.js.map +1 -1
  218. package/dist/native/charts/src/engine/controller.cjs +2 -2
  219. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  220. package/dist/native/charts/src/engine/controller.js +334 -270
  221. package/dist/native/charts/src/engine/controller.js.map +1 -1
  222. package/dist/native/charts/src/engine/curve.cjs +2 -0
  223. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  224. package/dist/native/charts/src/engine/curve.js +56 -0
  225. package/dist/native/charts/src/engine/curve.js.map +1 -0
  226. package/dist/native/charts/src/engine/data.cjs +1 -1
  227. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  228. package/dist/native/charts/src/engine/data.js +98 -38
  229. package/dist/native/charts/src/engine/data.js.map +1 -1
  230. package/dist/native/charts/src/engine/model.cjs +1 -1
  231. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  232. package/dist/native/charts/src/engine/model.js +229 -112
  233. package/dist/native/charts/src/engine/model.js.map +1 -1
  234. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  235. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  236. package/dist/native/charts/src/engine/overlay.js +16 -16
  237. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  238. package/dist/native/charts/src/engine/presets.cjs +1 -1
  239. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  240. package/dist/native/charts/src/engine/presets.js +11 -4
  241. package/dist/native/charts/src/engine/presets.js.map +1 -1
  242. package/dist/native/charts/src/engine/scene.cjs +1 -1
  243. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  244. package/dist/native/charts/src/engine/scene.js +209 -97
  245. package/dist/native/charts/src/engine/scene.js.map +1 -1
  246. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  247. package/dist/native/charts/src/engine/theme.js.map +1 -1
  248. package/dist/native/components/Chart/scene.cjs +1 -1
  249. package/dist/native/components/Chart/scene.cjs.map +1 -1
  250. package/dist/native/components/Chart/scene.js +31 -19
  251. package/dist/native/components/Chart/scene.js.map +1 -1
  252. package/dist/native/source/components/Chart/scene.tsx +54 -20
  253. package/dist/taro/index.js +1059 -579
  254. package/dist/uni/charts-canvas.js +3 -1
  255. package/dist/weapp/controls.js +966 -225
  256. package/package.json +1 -1
@@ -4210,7 +4210,67 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4210
4210
  e[1] + (t[1] - e[1]) * n,
4211
4211
  e[2] + (t[2] - e[2]) * n,
4212
4212
  e[3] + (t[3] - e[3]) * n
4213
- ], Ki = (e) => typeof e == "object" && !!e && !("length" in e) && "y" in e, qi = (e, t) => (n, r) => {
4213
+ ], Ki = (e) => [
4214
+ (e & 255) / 255,
4215
+ (e >>> 8 & 255) / 255,
4216
+ (e >>> 16 & 255) / 255,
4217
+ (e >>> 24 & 255) / 255
4218
+ ], qi = (e, t) => {
4219
+ if (e.length === 1) return e[0];
4220
+ let n = Ii(t) * (e.length - 1), r = Math.min(e.length - 2, Math.floor(n));
4221
+ return Gi(e[r], e[r + 1], n - r);
4222
+ }, Ji = (e, t, n, r, i) => {
4223
+ let a = Math.max(0, r - n);
4224
+ if (i === "step") {
4225
+ let i = new Float64Array(a * 4), o = new Uint32Array(a * 2), s = 0;
4226
+ for (let a = n; a < r; a++) a > n && Number.isFinite(t[a - 1]) && Number.isFinite(t[a]) && (i[s * 2] = e[a], i[s * 2 + 1] = t[a - 1], o[s++] = a - 1), i[s * 2] = e[a], i[s * 2 + 1] = t[a], o[s++] = a;
4227
+ return {
4228
+ points: i,
4229
+ source: o,
4230
+ length: s
4231
+ };
4232
+ }
4233
+ if (i !== "smooth" || a < 3 || a > 5e4) {
4234
+ let i = new Float64Array(a * 2), o = new Uint32Array(a);
4235
+ for (let a = n; a < r; a++) i[(a - n) * 2] = e[a], i[(a - n) * 2 + 1] = t[a], o[a - n] = a;
4236
+ return {
4237
+ points: i,
4238
+ source: o,
4239
+ length: a
4240
+ };
4241
+ }
4242
+ let o = new Float64Array(a), s = (i) => i >= n && i < r && Number.isFinite(t[i]) && Number.isFinite(e[i]), c = (n) => {
4243
+ let r = e[n + 1] - e[n];
4244
+ return r === 0 ? 0 : (t[n + 1] - t[n]) / r;
4245
+ };
4246
+ for (let t = n; t < r; t++) {
4247
+ if (!s(t)) continue;
4248
+ let r = s(t - 1), i = s(t + 1), a;
4249
+ if (r && i) {
4250
+ let n = c(t - 1), r = c(t);
4251
+ if (n * r <= 0) a = 0;
4252
+ else {
4253
+ let i = e[t] - e[t - 1], o = e[t + 1] - e[t], s = 2 * o + i, c = o + 2 * i;
4254
+ a = (s + c) / (s / n + c / r);
4255
+ }
4256
+ } else a = i ? c(t) : r ? c(t - 1) : 0;
4257
+ o[t - n] = a;
4258
+ }
4259
+ let l = new Float64Array((a - 1) * 10 * 2 + 2), u = new Uint32Array((a - 1) * 10 + 1), d = 0;
4260
+ for (let i = n; i < r; i++) {
4261
+ if (l[d * 2] = e[i], l[d * 2 + 1] = t[i], u[d++] = i, !s(i) || !s(i + 1)) continue;
4262
+ let r = e[i], a = t[i], c = e[i + 1] - r, f = o[i - n] * c, p = o[i + 1 - n] * c, m = t[i + 1];
4263
+ for (let e = 1; e < 10; e++) {
4264
+ let t = e / 10, n = t * t, o = n * t, s = (2 * o - 3 * n + 1) * a + (o - 2 * n + t) * f + (-2 * o + 3 * n) * m + (o - n) * p;
4265
+ l[d * 2] = r + c * t, l[d * 2 + 1] = s, u[d++] = i;
4266
+ }
4267
+ }
4268
+ return {
4269
+ points: l,
4270
+ source: u,
4271
+ length: d
4272
+ };
4273
+ }, Yi = (e) => typeof e == "object" && !!e && !("length" in e) && "y" in e, Xi = (e, t) => (n, r) => {
4214
4274
  if (typeof n == "number") return n;
4215
4275
  if (n instanceof Date) return n.getTime();
4216
4276
  if (typeof n == "string") {
@@ -4220,12 +4280,30 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4220
4280
  return Number.isNaN(i) ? r : i;
4221
4281
  }
4222
4282
  return r;
4223
- }, Ji = (e) => typeof e == "number" ? e : e == null ? NaN : Number(e), Yi = (e) => {
4283
+ }, Zi = (e) => typeof e == "number" ? e : e == null ? NaN : Number(e), Qi = (e) => {
4284
+ let t = /* @__PURE__ */ new Set();
4285
+ for (let n of e) {
4286
+ if (Yi(n)) {
4287
+ let e = n.y;
4288
+ if (!ArrayBuffer.isView(e)) for (let n = 0; n < e.length; n++) {
4289
+ let r = e[n];
4290
+ typeof r == "string" && t.add(r);
4291
+ }
4292
+ continue;
4293
+ }
4294
+ let e = n;
4295
+ for (let n = 0; n < e.length; n++) {
4296
+ let r = e[n], i = Array.isArray(r) ? r[1] : r && typeof r == "object" ? r.y : void 0;
4297
+ typeof i == "string" && t.add(i);
4298
+ }
4299
+ }
4300
+ return [...t];
4301
+ }, $i = (e) => {
4224
4302
  let t = /* @__PURE__ */ new Set(), n = (e) => {
4225
4303
  typeof e == "string" && t.add(e);
4226
4304
  };
4227
4305
  for (let t of e) {
4228
- if (Ki(t)) {
4306
+ if (Yi(t)) {
4229
4307
  let e = t.x;
4230
4308
  if (e && !ArrayBuffer.isView(e)) for (let t = 0; t < e.length; t++) n(e[t]);
4231
4309
  continue;
@@ -4237,8 +4315,8 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4237
4315
  }
4238
4316
  }
4239
4317
  return [...t];
4240
- }, Xi = (e, t, n, r) => {
4241
- let i = Infinity, a = -Infinity, o = Infinity, s = -Infinity, c = !0, l = -Infinity;
4318
+ }, ea = (e, t, n, r) => {
4319
+ let i = Infinity, a = -Infinity, o = Infinity, s = -Infinity, c = !0, l = -Infinity, { high: u, low: d, value: f } = r;
4242
4320
  for (let r = 0; r < n; r++) {
4243
4321
  let n = e[r];
4244
4322
  if (!Number.isFinite(n)) {
@@ -4246,69 +4324,111 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4246
4324
  continue;
4247
4325
  }
4248
4326
  n < l && (c = !1), l = n;
4249
- let u = t[r];
4250
- Number.isFinite(u) && (n < i && (i = n), n > a && (a = n), u < o && (o = u), u > s && (s = u));
4327
+ let f = t[r];
4328
+ if (Number.isFinite(f)) {
4329
+ if (n < i && (i = n), n > a && (a = n), f < o && (o = f), f > s && (s = f), u) {
4330
+ let e = u[r];
4331
+ e > s && (s = e), e < o && (o = e);
4332
+ }
4333
+ if (d) {
4334
+ let e = d[r];
4335
+ e < o && (o = e), e > s && (s = e);
4336
+ }
4337
+ }
4338
+ }
4339
+ let p = Infinity, m = -Infinity;
4340
+ if (f) for (let e = 0; e < n; e++) {
4341
+ let t = f[e];
4342
+ Number.isFinite(t) && (t < p && (p = t), t > m && (m = t));
4251
4343
  }
4252
- let u = i > a;
4344
+ let h = i > a;
4253
4345
  return {
4254
4346
  x: e,
4255
4347
  y: t,
4256
4348
  count: n,
4257
4349
  sorted: c,
4258
- xMin: u ? NaN : i,
4259
- xMax: u ? NaN : a,
4260
- yMin: u ? NaN : o,
4261
- yMax: u ? NaN : s,
4350
+ xMin: h ? NaN : i,
4351
+ xMax: h ? NaN : a,
4352
+ yMin: h ? NaN : o,
4353
+ yMax: h ? NaN : s,
4354
+ valueMin: p > m ? NaN : p,
4355
+ valueMax: p > m ? NaN : m,
4262
4356
  ...r
4263
4357
  };
4264
- }, Zi = (e, t) => {
4265
- let n = {
4358
+ }, ta = (e, t) => {
4359
+ if (!e) return null;
4360
+ if (e instanceof Float64Array && e.length >= t) return e.length === t ? e : e.subarray(0, t);
4361
+ let n = new Float64Array(t);
4362
+ for (let r = 0; r < t; r++) n[r] = Zi(e[r]);
4363
+ return n;
4364
+ }, na = (e, t, n = Zi) => {
4365
+ let r = {
4266
4366
  size: null,
4267
4367
  colors: null,
4268
- labels: null
4368
+ labels: null,
4369
+ open: null,
4370
+ high: null,
4371
+ low: null,
4372
+ value: null
4269
4373
  };
4270
- if (Ki(e)) {
4271
- let r = e.y.length, i = new Float64Array(r), a = new Float64Array(r), o = e.x;
4272
- for (let n = 0; n < r; n++) a[n] = Ji(e.y[n]), i[n] = o ? t(o[n], n) : n;
4273
- let s = null;
4374
+ if (Yi(e)) {
4375
+ let i = e.y.length, a = new Float64Array(i), o = e.x;
4376
+ if (!o) for (let e = 0; e < i; e++) a[e] = e;
4377
+ else if (ArrayBuffer.isView(o) && o.length >= i) a.set(o.length === i ? o : o.subarray(0, i));
4378
+ else for (let e = 0; e < i; e++) a[e] = t(o[e], e);
4379
+ let s = e.y, c;
4380
+ if (ArrayBuffer.isView(s)) c = new Float64Array(i), c.set(s);
4381
+ else {
4382
+ c = new Float64Array(i);
4383
+ for (let e = 0; e < i; e++) c[e] = n(s[e]);
4384
+ }
4385
+ let l = null;
4274
4386
  if (e.size) {
4275
- s = new Float32Array(r);
4276
- for (let t = 0; t < r; t++) s[t] = Ji(e.size[t]);
4387
+ l = new Float32Array(i);
4388
+ for (let t = 0; t < i; t++) l[t] = Zi(e.size[t]);
4277
4389
  }
4278
- return Xi(i, a, r, {
4279
- ...n,
4280
- size: s
4390
+ return ea(a, c, i, {
4391
+ ...r,
4392
+ size: l,
4393
+ open: ta(e.open, i),
4394
+ high: ta(e.high, i),
4395
+ low: ta(e.low, i),
4396
+ value: ta(e.value, i)
4281
4397
  });
4282
4398
  }
4283
- let r = e, i = r.length, a = new Float64Array(i), o = new Float64Array(i), s = null, c = null, l = null;
4284
- for (let e = 0; e < i; e++) {
4285
- let n = r[e];
4286
- if (n == null || typeof n == "number") a[e] = e, o[e] = Ji(n);
4287
- else if (Array.isArray(n)) a[e] = t(n[0], e), o[e] = Ji(n[1]);
4288
- else if (typeof n == "object") {
4289
- let r = n;
4290
- a[e] = r.x === void 0 ? e : t(r.x, e), o[e] = Ji(r.y), r.size !== void 0 && (s ??= new Float32Array(i).fill(NaN), s[e] = r.size), r.color !== void 0 && (c ??= Array(i), c[e] = r.color), r.label !== void 0 && (l ??= Array(i), l[e] = r.label);
4291
- } else a[e] = e, o[e] = NaN;
4399
+ let i = e, a = i.length, o = new Float64Array(a), s = new Float64Array(a), c = null, l = null, u = null, d = null, f = null, p = null, m = null, h = () => new Float64Array(a).fill(NaN);
4400
+ for (let e = 0; e < a; e++) {
4401
+ let r = i[e];
4402
+ if (r == null || typeof r == "number") o[e] = e, s[e] = Zi(r);
4403
+ else if (Array.isArray(r)) o[e] = t(r[0], e), s[e] = n(r[1]);
4404
+ else if (typeof r == "object") {
4405
+ let i = r;
4406
+ o[e] = i.x === void 0 ? e : t(i.x, e), s[e] = n(i.y), i.size !== void 0 && (c ??= new Float32Array(a).fill(NaN), c[e] = i.size), i.color !== void 0 && (l ??= Array(a), l[e] = i.color), i.label !== void 0 && (u ??= Array(a), u[e] = i.label), i.open !== void 0 && ((d ??= h())[e] = Zi(i.open)), i.high !== void 0 && ((f ??= h())[e] = Zi(i.high)), i.low !== void 0 && ((p ??= h())[e] = Zi(i.low)), i.value !== void 0 && ((m ??= h())[e] = Zi(i.value));
4407
+ } else o[e] = e, s[e] = NaN;
4292
4408
  }
4293
- return Xi(a, o, i, {
4294
- size: s,
4295
- colors: c,
4296
- labels: l
4297
- });
4298
- }, Qi = (e, t, n) => {
4409
+ return ea(o, s, a, {
4410
+ size: c,
4411
+ colors: l,
4412
+ labels: u,
4413
+ open: d,
4414
+ high: f,
4415
+ low: p,
4416
+ value: m
4417
+ });
4418
+ }, ra = (e, t, n) => {
4299
4419
  let r = 0, i = t;
4300
4420
  for (; r < i;) {
4301
4421
  let t = r + i >>> 1;
4302
4422
  e[t] < n ? r = t + 1 : i = t;
4303
4423
  }
4304
4424
  return r;
4305
- }, $i = (e, t, n, r) => {
4425
+ }, ia = (e, t, n, r) => {
4306
4426
  if (n === 0) return -1;
4307
- let i = Qi(e, n, r), a = i - 1, o = i;
4427
+ let i = ra(e, n, r), a = i - 1, o = i;
4308
4428
  for (; a >= 0 && !Number.isFinite(t[a]);) a--;
4309
4429
  for (; o < n && !Number.isFinite(t[o]);) o++;
4310
4430
  return a < 0 ? o < n ? o : -1 : o >= n || r - e[a] <= e[o] - r ? a : o;
4311
- }, ea = (e, t, n, r, i = Infinity) => {
4431
+ }, aa = (e, t, n, r, i = Infinity) => {
4312
4432
  let a = new Float64Array(Math.max(0, n - t) * 2), o = 0, s = NaN, c = -1, l = -1, u = -1, d = -1, f = (t) => {
4313
4433
  a[o * 2] = e[t * 2], a[o * 2 + 1] = e[t * 2 + 1], o++;
4314
4434
  }, p = () => {
@@ -4330,7 +4450,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4330
4450
  points: a,
4331
4451
  length: o
4332
4452
  };
4333
- }, ta = (e, t, n, r) => {
4453
+ }, oa = (e, t, n, r) => {
4334
4454
  let [i, a] = t.x, [o, s] = t.y, c = e.width / (a - i || 1), l = e.height / (s - o || 1), u = e.x, d = e.x + e.width, f = e.y, p = e.y + e.height;
4335
4455
  return {
4336
4456
  plot: e,
@@ -4342,7 +4462,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4342
4462
  xPerPx: 1 / c,
4343
4463
  yPerPx: 1 / l
4344
4464
  };
4345
- }, na = (e) => {
4465
+ }, sa = (e) => {
4346
4466
  let { width: t, height: n, padding: r, fontSize: i } = e, a = Math.ceil(i * 1.4), o = r.left + (e.yLabelWidth > 0 ? e.yLabelWidth + 8 : 0) + (e.yTitle ? a + 6 : 0), s = r.bottom + (e.xAxisVisible ? a + 8 : 0) + (e.xTitle ? a + 4 : 0), c = r.top, l = r.right;
4347
4467
  return {
4348
4468
  x: Math.round(o),
@@ -4350,38 +4470,38 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4350
4470
  width: Math.max(10, Math.round(t - o - l)),
4351
4471
  height: Math.max(10, Math.round(n - c - s))
4352
4472
  };
4353
- }, ra = Math.sqrt(50), ia = Math.sqrt(10), aa = Math.sqrt(2), oa = (e, t, n) => {
4473
+ }, ca = Math.sqrt(50), la = Math.sqrt(10), ua = Math.sqrt(2), da = (e, t, n) => {
4354
4474
  let r = Math.abs(t - e);
4355
4475
  if (!(r > 0) || !Number.isFinite(r)) return 0;
4356
4476
  let i = r / Math.max(1, n), a = 10 ** Math.floor(Math.log10(i)), o = i / a;
4357
- return (o >= ra ? 10 : o >= ia ? 5 : o >= aa ? 2 : 1) * a;
4358
- }, sa = (e, t) => {
4477
+ return (o >= ca ? 10 : o >= la ? 5 : o >= ua ? 2 : 1) * a;
4478
+ }, fa = (e, t) => {
4359
4479
  let n = Math.max(0, -Math.floor(Math.log10(t)) + 1);
4360
4480
  return n > 0 && n < 20 ? +e.toFixed(n) : e;
4361
- }, ca = (e, t, n) => {
4481
+ }, pa = (e, t, n) => {
4362
4482
  e > t && ([e, t] = [t, e]);
4363
- let r = oa(e, t, n);
4483
+ let r = da(e, t, n);
4364
4484
  if (!r) return Number.isFinite(e) ? [e] : [];
4365
4485
  let i = Math.ceil(e / r - 1e-9), a = Math.floor(t / r + 1e-9), o = [];
4366
- for (let e = i; e <= a && o.length < 1e3; e++) o.push(sa(e * r, r));
4486
+ for (let e = i; e <= a && o.length < 1e3; e++) o.push(fa(e * r, r));
4367
4487
  return o;
4368
- }, la = (e, t, n) => {
4488
+ }, ma = (e, t, n) => {
4369
4489
  e > t && ([e, t] = [t, e]);
4370
- let r = oa(e, t, n);
4490
+ let r = da(e, t, n);
4371
4491
  for (let i = 0; i < 3 && r; i++) {
4372
4492
  let i = Math.floor(e / r) * r, a = Math.ceil(t / r) * r;
4373
- e = sa(i, r), t = sa(a, r);
4374
- let o = oa(e, t, n);
4493
+ e = fa(i, r), t = fa(a, r);
4494
+ let o = da(e, t, n);
4375
4495
  if (o === r) break;
4376
4496
  r = o;
4377
4497
  }
4378
4498
  return [e, t];
4379
- }, ua = (e, t, n = [0, 1]) => {
4499
+ }, ha = (e, t, n = [0, 1]) => {
4380
4500
  if (!Number.isFinite(e) || !Number.isFinite(t)) return n;
4381
4501
  if (e > t && ([e, t] = [t, e]), t - e > 0) return [e, t];
4382
4502
  let r = e === 0 ? 1 : Math.abs(e) * .1;
4383
4503
  return [e - r, t + r];
4384
- }, da = (e) => e > 0 && Number.isFinite(e) ? Math.min(12, Math.max(0, -Math.floor(Math.log10(e) + 1e-9))) : 0, fa = class {
4504
+ }, ga = (e) => e > 0 && Number.isFinite(e) ? Math.min(12, Math.max(0, -Math.floor(Math.log10(e) + 1e-9))) : 0, _a = class {
4385
4505
  constructor(e, t, n, r = 4) {
4386
4506
  let i = Infinity, a = -Infinity, o = Infinity, s = -Infinity, c = 0;
4387
4507
  for (let r = 0; r < n; r++) {
@@ -4428,7 +4548,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4428
4548
  for (let e = this.starts[n]; e < this.starts[n + 1]; e++) i(this.order[e]);
4429
4549
  }
4430
4550
  }
4431
- }, pa = (e) => {
4551
+ }, va = (e) => {
4432
4552
  if (typeof e == "object" && e && !("length" in e)) {
4433
4553
  let t = e.x;
4434
4554
  return t && t.length ? t[0] : void 0;
@@ -4439,14 +4559,14 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4439
4559
  if (Array.isArray(n)) return n[0];
4440
4560
  if (n && typeof n == "object") return n.x;
4441
4561
  }
4442
- }, ma = (e) => {
4562
+ }, ya = (e) => {
4443
4563
  for (let t of e) {
4444
- let e = pa(t);
4564
+ let e = va(t);
4445
4565
  if (e instanceof Date) return "time";
4446
4566
  if (typeof e == "string") return "category";
4447
4567
  }
4448
4568
  return "linear";
4449
- }, ha = (e, t, n, r) => ({
4569
+ }, ba = (e, t, n, r) => ({
4450
4570
  type: t,
4451
4571
  reverse: !!e?.reverse,
4452
4572
  categories: n,
@@ -4455,145 +4575,262 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4455
4575
  grid: e?.grid ?? r,
4456
4576
  visible: e?.visible ?? !0,
4457
4577
  tickCount: e?.tickCount
4458
- }), ga = (e) => {
4578
+ }), xa = (e) => {
4459
4579
  let t = Infinity, n = -Infinity;
4460
4580
  for (let r = 0; r < e.length; r++) {
4461
4581
  let i = e[r];
4462
4582
  Number.isFinite(i) && (i < t && (t = i), i > n && (n = i));
4463
4583
  }
4464
4584
  return [t, n];
4465
- }, _a = (e) => {
4466
- let t = Infinity;
4467
- for (let n of e) {
4468
- let e = n.sorted ? n.x : Float64Array.from(n.x).sort();
4469
- for (let r = 1; r < n.count; r++) {
4470
- let n = e[r] - e[r - 1];
4471
- n > 0 && n < t && (t = n);
4585
+ }, Sa = (e, t) => {
4586
+ let n = Infinity;
4587
+ return e.forEach((e, r) => {
4588
+ let i = t[r] ? e : Float64Array.from(e).sort();
4589
+ for (let e = 1; e < i.length; e++) {
4590
+ let t = i[e] - i[e - 1];
4591
+ t > 0 && t < n && (n = t);
4592
+ }
4593
+ }), n;
4594
+ }, Ca = (e, t, n) => {
4595
+ if (n) return 1;
4596
+ let r = Sa(e.map((e) => t === "x" ? e.cols.x : e.cols.y), e.map((e) => t === "x" && e.cols.sorted));
4597
+ return Number.isFinite(r) ? r : 1;
4598
+ }, wa = (e, t) => {
4599
+ let n = /* @__PURE__ */ new Map();
4600
+ if (t) for (let { s: t, stack: r } of e) {
4601
+ let e = n.get(r);
4602
+ e || n.set(r, e = /* @__PURE__ */ new Map());
4603
+ let { x: i, y: a, count: o } = t.cols;
4604
+ for (let t = 0; t < o; t++) {
4605
+ let n = a[t];
4606
+ if (!Number.isFinite(n)) continue;
4607
+ let r = e.get(i[t]) ?? [0, 0];
4608
+ n >= 0 ? r[0] += n : r[1] -= n, e.set(i[t], r);
4472
4609
  }
4473
4610
  }
4474
- return t;
4475
- }, va = (e, t, n, r, i = null) => {
4476
- let a = i ?? t.resolve ?? ((e, t) => Hi(e, {}, t)), o = e.series, s = o.map((e) => e.data), c = e.xAxis?.type ?? ma(s), l = c === "category" ? [...e.xAxis?.categories ?? Yi(s)] : [], u = new Map(l.map((e, t) => [e, t])), d = qi(c, (e) => u.get(e) ?? NaN), f = `${c}|${l.join("")}`, p = /* @__PURE__ */ new Set(), m = o.map((e, i) => {
4611
+ let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
4612
+ for (let { stack: t } of e) i.set(t, (i.get(t) ?? 0) + 1);
4613
+ return e.map(({ s: e, stack: a }) => {
4614
+ let { x: o, y: s, count: c } = e.cols;
4615
+ if (!t && i.get(a) === 1) {
4616
+ let e = new Float64Array(c), t = new Float64Array(c);
4617
+ for (let n = 0; n < c; n++) {
4618
+ let r = s[n], i = Number.isFinite(r);
4619
+ e[n] = i ? 0 : NaN, t[n] = i ? r : NaN;
4620
+ }
4621
+ return {
4622
+ base: e,
4623
+ top: t
4624
+ };
4625
+ }
4626
+ let l = r.get(a);
4627
+ l || r.set(a, l = /* @__PURE__ */ new Map());
4628
+ let u = n.get(a), d = new Float64Array(c), f = new Float64Array(c);
4629
+ for (let e = 0; e < c; e++) {
4630
+ let t = s[e];
4631
+ if (!Number.isFinite(t)) {
4632
+ d[e] = NaN, f[e] = NaN;
4633
+ continue;
4634
+ }
4635
+ if (u) {
4636
+ let n = u.get(o[e]), r = n ? t >= 0 ? n[0] : n[1] : 0;
4637
+ t = r > 0 ? t / r * 100 : 0;
4638
+ }
4639
+ let n = l.get(o[e]) ?? [0, 0], r = t >= 0 ? n[0] : n[1];
4640
+ d[e] = r, f[e] = r + t, t >= 0 ? n[0] += t : n[1] += t, l.set(o[e], n);
4641
+ }
4642
+ return {
4643
+ base: d,
4644
+ top: f
4645
+ };
4646
+ });
4647
+ }, Ta = "var(--success-color, #16a34a)", Ea = "var(--danger-color, #dc2626)", Da = (e, t, n, r, i = null) => {
4648
+ let a = i ?? t.resolve ?? ((e, t) => Hi(e, {}, t)), o = e.series, s = o.map((e) => e.data), c = e.xAxis?.type ?? ya(s), l = c === "category" ? [...e.xAxis?.categories ?? $i(s)] : [], u = new Map(l.map((e, t) => [e, t])), d = Xi(c, (e) => u.get(e) ?? NaN), f = e.yAxis, p = o.filter((e) => e.type === "heatmap").map((e) => e.data), m = f?.type === "category" || !f?.type && p.length ? [...f?.categories ?? Qi(p)] : [], h = f?.type === "category" || m.length ? "category" : f?.type === "time" ? "time" : "linear", g = new Map(m.map((e, t) => [e, t])), _ = (e) => typeof e == "number" ? e : typeof e == "string" ? h === "category" ? g.get(e) ?? NaN : Number(e) : NaN, v = `${c}|${l.join("")}|${h}|${m.join("")}`, y = e.stackMode === "percent", b = /* @__PURE__ */ new Set(), x = o.map((e, i) => {
4477
4649
  let o = e.id ?? `#${i}`;
4478
- for (; p.has(o);) o += "'";
4479
- p.add(o);
4650
+ for (; b.has(o);) o += "'";
4651
+ b.add(o);
4480
4652
  let s = r.get(o);
4481
- (!s || s.data !== e.data || s.resolverKey !== f) && (s = {
4653
+ (!s || s.data !== e.data || s.resolverKey !== v) && (s = {
4482
4654
  data: e.data,
4483
- resolverKey: f,
4484
- cols: Zi(e.data, d)
4655
+ resolverKey: v,
4656
+ cols: na(e.data, d, _)
4485
4657
  }, r.set(o, s));
4486
- let c = e.type ?? "line", l = e.color ? a(e.color, t.palette[i % t.palette.length]) : t.palette[i % t.palette.length], u = s.cols, m = null;
4487
- if (c === "scatter" && u.colors) {
4658
+ let c = e.type ?? "line", l = t.palette[i % t.palette.length], u = e.color ? a(e.color, l) : l, f = s.cols, p = null;
4659
+ if ((c === "scatter" || c === "bar") && f.colors) {
4488
4660
  let e = /* @__PURE__ */ new Map();
4489
- m = u.colors.map((t) => {
4661
+ p = f.colors.map((t) => {
4490
4662
  if (t === void 0) return;
4491
4663
  let n = e.get(t);
4492
- return n || e.set(t, n = a(t, l)), n;
4664
+ return n || e.set(t, n = a(t, u)), n;
4493
4665
  });
4494
4666
  }
4495
- let h = e.id ?? String(i);
4667
+ let m = [], h = [0, 1], g = null;
4668
+ if (c === "heatmap") {
4669
+ m = e.colorScale && e.colorScale.length ? e.colorScale.map((e) => a(e, u)) : [Gi(t.background, u, .08), u], h = e.valueRange ? [e.valueRange[0], e.valueRange[1]] : [f.valueMin, f.valueMax], Number.isFinite(h[0]) || (h = [0, 1]);
4670
+ let n = f.value ?? f.y, [r, i] = h, o = i - r || 1;
4671
+ g = new Uint32Array(f.count);
4672
+ for (let e = 0; e < f.count; e++) {
4673
+ let t = n[e];
4674
+ Number.isFinite(t) && Number.isFinite(f.y[e]) && (g[e] = Wi(qi(m, (t - r) / o)));
4675
+ }
4676
+ }
4677
+ let y = e.id ?? String(i);
4496
4678
  return {
4497
4679
  index: i,
4498
4680
  key: o,
4499
- id: h,
4681
+ id: y,
4500
4682
  name: e.name ?? `Series ${i + 1}`,
4501
4683
  type: c,
4502
- color: l,
4503
- colorCss: $(l),
4504
- lineWidth: e.lineWidth ?? 2,
4684
+ color: u,
4685
+ colorCss: $(u),
4686
+ lineWidth: e.lineWidth ?? (c === "candlestick" ? 1 : 2),
4505
4687
  pointSize: e.pointSize ?? 8,
4506
4688
  opacity: e.opacity ?? (c === "area" ? .28 : c === "scatter" ? .78 : 1),
4507
- hidden: !!e.hidden || n.has(h),
4689
+ hidden: !!e.hidden || n.has(y),
4508
4690
  showLabels: !!e.showLabels,
4509
- cols: u,
4691
+ curve: e.curve ?? "linear",
4692
+ cols: f,
4510
4693
  barOffset: 0,
4511
4694
  barHalfWidth: 0,
4512
4695
  barBase: null,
4513
4696
  barTop: null,
4514
- pointColors: m
4697
+ stackBase: null,
4698
+ stackTop: null,
4699
+ pointColors: p,
4700
+ upColor: c === "candlestick" ? a(e.upColor ?? Ta, [
4701
+ .09,
4702
+ .64,
4703
+ .29,
4704
+ 1
4705
+ ]) : u,
4706
+ downColor: c === "candlestick" ? a(e.downColor ?? Ea, [
4707
+ .86,
4708
+ .15,
4709
+ .15,
4710
+ 1
4711
+ ]) : u,
4712
+ cellColors: g,
4713
+ cellHalf: {
4714
+ x: .5,
4715
+ y: .5
4716
+ },
4717
+ colorScale: m,
4718
+ valueRange: h,
4719
+ radius: e.radius ?? (c === "heatmap" ? 2 : 3),
4720
+ format: e.format
4721
+ };
4722
+ }), S = x.filter((e) => !e.hidden), C = x.length > 0 && x.every((e) => e.type === "scatter" || e.type === "heatmap"), w = S.filter((e) => e.type === "bar"), T = Ca(w, "x", c === "category");
4723
+ if (w.length) {
4724
+ let e = /* @__PURE__ */ new Map(), t = (e) => o[e.index].stack ?? `\u0000${e.key}`;
4725
+ for (let n of w) e.has(t(n)) || e.set(t(n), e.size);
4726
+ let n = T * (e.size > 1 ? .78 : .62), r = n / e.size, i = wa(w.map((e) => ({
4727
+ s: e,
4728
+ stack: t(e)
4729
+ })), !1), a = y ? wa(w.filter((e) => o[e.index].stack !== void 0).map((e) => ({
4730
+ s: e,
4731
+ stack: t(e)
4732
+ })), !0) : [], s = 0;
4733
+ w.forEach((c, l) => {
4734
+ let u = e.get(t(c)) ?? 0;
4735
+ c.barOffset = -n / 2 + r * (u + .5), c.barHalfWidth = r / 2 * (e.size > 1 ? .86 : 1);
4736
+ let d = y && o[c.index].stack !== void 0 ? a[s++] : i[l];
4737
+ c.barBase = d.base, c.barTop = d.top;
4738
+ });
4739
+ }
4740
+ let E = S.filter((e) => (e.type === "line" || e.type === "area") && o[e.index].stack !== void 0);
4741
+ if (E.length) {
4742
+ let e = wa(E.map((e) => ({
4743
+ s: e,
4744
+ stack: o[e.index].stack ?? ""
4745
+ })), y);
4746
+ E.forEach((t, n) => {
4747
+ t.stackBase = e[n].base, t.stackTop = e[n].top;
4748
+ });
4749
+ }
4750
+ let D = S.filter((e) => e.type === "candlestick"), O = Ca(D, "x", c === "category");
4751
+ for (let e of D) e.barHalfWidth = O * .3;
4752
+ let k = S.filter((e) => e.type === "heatmap");
4753
+ if (k.length) {
4754
+ let e = Ca(k, "x", c === "category") / 2, t = Ca(k, "y", h === "category") / 2;
4755
+ for (let n of k) n.cellHalf = {
4756
+ x: e,
4757
+ y: t
4515
4758
  };
4516
- }), h = m.filter((e) => !e.hidden), g = m.length > 0 && m.every((e) => e.type === "scatter"), _ = h.filter((e) => e.type === "bar"), v = c === "category" ? 1 : (() => {
4517
- let e = _a(_.map((e) => e.cols));
4518
- return Number.isFinite(e) ? e : 1;
4519
- })();
4520
- if (_.length) {
4521
- let e = /* @__PURE__ */ new Map();
4522
- for (let t of _) {
4523
- let n = o[t.index].stack ?? `\u0000${t.key}`;
4524
- e.has(n) || e.set(n, e.size);
4759
+ }
4760
+ let A = e.xAxis, j;
4761
+ if (c === "category") j = [-.5, Math.max(1, l.length) - .5];
4762
+ else {
4763
+ let e = [];
4764
+ for (let t of S) {
4765
+ e.push(t.cols.xMin, t.cols.xMax);
4766
+ let n = t.type === "bar" ? T / 2 : t.type === "candlestick" ? O / 2 : t.type === "heatmap" ? t.cellHalf.x : 0;
4767
+ n && e.push(t.cols.xMin - n, t.cols.xMax + n);
4525
4768
  }
4526
- let t = v * (e.size > 1 ? .78 : .62), n = t / e.size, r = /* @__PURE__ */ new Map();
4527
- for (let i of _) {
4528
- let a = o[i.index].stack ?? `\u0000${i.key}`, s = e.get(a) ?? 0;
4529
- i.barOffset = -t / 2 + n * (s + .5), i.barHalfWidth = n / 2 * (e.size > 1 ? .86 : 1);
4530
- let c = r.get(a);
4531
- c || r.set(a, c = /* @__PURE__ */ new Map());
4532
- let { x: l, y: u, count: d } = i.cols;
4533
- i.barBase = new Float64Array(d), i.barTop = new Float64Array(d);
4534
- for (let e = 0; e < d; e++) {
4535
- let t = u[e];
4536
- if (!Number.isFinite(t)) {
4537
- i.barBase[e] = NaN, i.barTop[e] = NaN;
4538
- continue;
4539
- }
4540
- let n = c.get(l[e]) ?? [0, 0], r = t >= 0 ? n[0] : n[1];
4541
- i.barBase[e] = r, i.barTop[e] = r + t, t >= 0 ? n[0] += t : n[1] += t, c.set(l[e], n);
4542
- }
4769
+ j = ha(...xa(e), c === "time" ? [Date.now() - 864e5, Date.now()] : [0, 1]);
4770
+ let t = x.every((e) => e.type === "scatter");
4771
+ if (t) {
4772
+ let e = (j[1] - j[0]) * .04;
4773
+ j = [j[0] - e, j[1] + e];
4543
4774
  }
4775
+ (A?.nice ?? (t && c === "linear")) && c === "linear" && (j = ma(j[0], j[1], A?.tickCount ?? 6));
4544
4776
  }
4545
- let y = e.xAxis, b;
4546
- if (c === "category") b = [-.5, Math.max(1, l.length) - .5];
4777
+ A?.min !== void 0 && (j[0] = A.min), A?.max !== void 0 && (j[1] = A.max), j = ha(j[0], j[1]);
4778
+ let M;
4779
+ if (h === "category") M = [-.5, Math.max(1, m.length) - .5];
4547
4780
  else {
4548
4781
  let e = [];
4549
- for (let t of h) e.push(t.cols.xMin, t.cols.xMax), t.type === "bar" && e.push(t.cols.xMin - v / 2, t.cols.xMax + v / 2);
4550
- if (b = ua(...ga(e), c === "time" ? [Date.now() - 864e5, Date.now()] : [0, 1]), g) {
4551
- let e = (b[1] - b[0]) * .04;
4552
- b = [b[0] - e, b[1] + e];
4782
+ for (let t of S) t.type === "bar" && t.barBase && t.barTop ? e.push(...xa(t.barBase), ...xa(t.barTop)) : t.stackBase && t.stackTop ? e.push(...xa(t.stackBase), ...xa(t.stackTop)) : t.type === "heatmap" ? e.push(t.cols.yMin - t.cellHalf.y, t.cols.yMax + t.cellHalf.y) : e.push(t.cols.yMin, t.cols.yMax);
4783
+ let t = w.length > 0 || S.some((e) => e.type === "area");
4784
+ if ((w.length || f?.zero) && e.push(0), w.some((e) => e.showLabels)) {
4785
+ let [t, n] = xa(e);
4786
+ n > 0 && e.push(n + (n - Math.min(0, t)) * .1), t < 0 && e.push(t - (Math.max(0, n) - t) * .1);
4553
4787
  }
4554
- (y?.nice ?? (g && c === "linear")) && c === "linear" && (b = la(b[0], b[1], y?.tickCount ?? 6));
4555
- }
4556
- y?.min !== void 0 && (b[0] = y.min), y?.max !== void 0 && (b[1] = y.max), b = ua(b[0], b[1]);
4557
- let x = e.yAxis, S = [];
4558
- for (let e of h) e.type === "bar" && e.barBase && e.barTop ? S.push(...ga(e.barBase), ...ga(e.barTop)) : S.push(e.cols.yMin, e.cols.yMax);
4559
- (_.length || x?.zero) && S.push(0);
4560
- let C = ua(...ga(S));
4561
- if (g) {
4562
- let e = (C[1] - C[0]) * .06;
4563
- C = [C[0] - e, C[1] + e];
4788
+ if (M = ha(...xa(e)), x.every((e) => e.type === "scatter")) {
4789
+ let e = (M[1] - M[0]) * .06;
4790
+ M = [M[0] - e, M[1] + e];
4791
+ } else if (D.length && !w.length) {
4792
+ let e = (M[1] - M[0]) * .04;
4793
+ M = [M[0] - e, M[1] + e];
4794
+ }
4795
+ (f?.nice ?? !k.length) && h === "linear" && (M = ma(M[0], M[1], f?.tickCount ?? 5)), y && (w.length || E.length) && (M = [xa(e)[0] < 0 ? -100 : 0, 100]), t && !f?.zero && M[0] < 0 && xa(e)[0] >= 0 && (M[0] = 0);
4564
4796
  }
4565
- (x?.nice ?? !0) && (x?.type ?? "linear") === "linear" && (C = la(C[0], C[1], x?.tickCount ?? 5)), _.length && !x?.zero && C[0] < 0 && ga(S)[0] >= 0 && (C[0] = 0), x?.min !== void 0 && (C[0] = x.min), x?.max !== void 0 && (C[1] = x.max), C = ua(C[0], C[1]);
4566
- let w = e.interaction === !1 ? !1 : e.interaction === !0 || e.interaction === void 0 ? !0 : e.interaction.zoom ?? !0, T = w === !1 ? {
4797
+ f?.min !== void 0 && (M[0] = f.min), f?.max !== void 0 && (M[1] = f.max), M = ha(M[0], M[1]);
4798
+ let N = e.interaction === !1 ? !1 : e.interaction === !0 || e.interaction === void 0 ? !0 : e.interaction.zoom ?? !0, P = N === !1 ? {
4567
4799
  x: !1,
4568
4800
  y: !1
4569
- } : w === !0 ? {
4801
+ } : N === !0 ? {
4570
4802
  x: !0,
4571
- y: g
4803
+ y: C
4572
4804
  } : {
4573
- x: w.includes("x"),
4574
- y: w.includes("y")
4575
- }, E = typeof e.tooltip == "object" ? e.tooltip : void 0;
4805
+ x: N.includes("x"),
4806
+ y: N.includes("y")
4807
+ }, F = typeof e.tooltip == "object" ? e.tooltip : void 0, I = f?.format ?? (y && (w.length || E.length) ? (e) => `${+e.toFixed(1)}%` : void 0);
4576
4808
  return {
4577
- series: m,
4578
- x: ha(y, c, l, !1),
4579
- y: ha(x, x?.type === "time" ? "time" : "linear", [], !0),
4809
+ series: x,
4810
+ x: ba(A, c, l, !1),
4811
+ y: {
4812
+ ...ba(f, h, m, h !== "category"),
4813
+ format: I
4814
+ },
4580
4815
  base: {
4581
- x: b,
4582
- y: C
4816
+ x: j,
4817
+ y: M
4583
4818
  },
4584
- allScatter: g,
4585
- zoom: T,
4586
- tooltipMode: E?.mode ?? (g ? "nearest" : "axis"),
4587
- baseline: Math.min(Math.max(0, C[0]), C[1]),
4819
+ allScatter: C,
4820
+ zoom: P,
4821
+ tooltipMode: F?.mode ?? (C ? "nearest" : "axis"),
4822
+ baseline: Math.min(Math.max(0, M[0]), M[1]),
4588
4823
  minSpan: {
4589
- x: c === "category" ? 1 : (b[1] - b[0]) * 1e-7,
4590
- y: (C[1] - C[0]) * 1e-7
4591
- }
4824
+ x: c === "category" ? 1 : (j[1] - j[0]) * 1e-7,
4825
+ y: h === "category" ? 1 : (M[1] - M[0]) * 1e-7
4826
+ },
4827
+ percent: y,
4828
+ stacks: o.map((e) => e.stack !== void 0 && (e.type === "bar" || e.type === "line" || e.type === "area" || !e.type) ? `${e.type === "bar" ? "bar" : "line"}:${e.stack}` : null)
4592
4829
  };
4593
- }, ya = /* @__PURE__ */ new WeakMap(), ba = (e) => {
4594
- let t = ya.get(e.cols);
4595
- return t || (t = new fa(e.cols.x, e.cols.y, e.cols.count), ya.set(e.cols, t)), t;
4596
- }, xa = (e, t = e.fontSize, n = 400) => `${n} ${t}px ${e.fontFamily}`, Sa = (e) => Math.round(e) + .5, Ca = (e, t, n, r) => {
4830
+ }, Oa = (e, t) => e.barTop ? e.barTop[t] : e.stackTop ? e.stackTop[t] : e.cols.y[t], ka = /* @__PURE__ */ new WeakMap(), Aa = (e) => {
4831
+ let t = ka.get(e.cols);
4832
+ return t || (t = new _a(e.cols.x, e.cols.y, e.cols.count), ka.set(e.cols, t)), t;
4833
+ }, ja = (e, t = e.fontSize, n = 400) => `${n} ${t}px ${e.fontFamily}`, Ma = (e) => Math.round(e) + .5, Na = (e, t, n, r) => {
4597
4834
  let { plot: i } = t, a = e.x === void 0 ? i.x + i.width / 2 : t.xToPx(e.x), o = e.y === void 0 ? i.y + i.height / 2 : t.yToPx(e.y), s = a - n / 2, c = o - r / 2;
4598
4835
  return e.anchor === "top" ? c = o + 6 : e.anchor === "bottom" ? c = o - 6 - r : e.anchor === "left" ? s = a + 6 : e.anchor === "right" && (s = a - 6 - n), s = Math.max(i.x + 6, Math.min(s, i.x + i.width - 6 - n)), c = Math.max(i.y + 2, Math.min(c, i.y + i.height - 2 - r)), {
4599
4836
  x: s,
@@ -4601,7 +4838,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4601
4838
  width: n,
4602
4839
  height: r
4603
4840
  };
4604
- }, wa = (e, t) => {
4841
+ }, Pa = (e, t) => {
4605
4842
  let { plot: n } = t, r = e.x0 === void 0 ? -Infinity : t.xToPx(e.x0), i = e.x1 === void 0 ? Infinity : t.xToPx(e.x1), a = e.y0 === void 0 ? Infinity : t.yToPx(e.y0), o = e.y1 === void 0 ? -Infinity : t.yToPx(e.y1), s = Math.max(n.x, Math.min(r, i)), c = Math.min(n.x + n.width, Math.max(r, i)), l = Math.max(n.y, Math.min(a, o)), u = Math.min(n.y + n.height, Math.max(a, o));
4606
4843
  return {
4607
4844
  x: s,
@@ -4609,27 +4846,27 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4609
4846
  width: c - s,
4610
4847
  height: u - l
4611
4848
  };
4612
- }, Ta = (e, t) => {
4849
+ }, Fa = (e, t) => {
4613
4850
  let { scales: n, theme: r, x: i, y: a, xTicks: o, yTicks: s } = t, { plot: c } = n;
4614
4851
  e.clearRect(0, 0, t.width, t.height), e.save(), e.beginPath(), e.rect(c.x, c.y, c.width, c.height), e.clip();
4615
4852
  for (let r of t.annotations) {
4616
4853
  if (r.type !== "rect") continue;
4617
- let t = wa(r, n);
4854
+ let t = Pa(r, n);
4618
4855
  t.width <= 0 || t.height <= 0 || (e.fillStyle = $(r.color, r.opacity), e.fillRect(t.x, t.y, t.width, t.height));
4619
4856
  }
4620
4857
  if (e.restore(), e.lineWidth = 1, e.strokeStyle = $(r.grid), e.beginPath(), a.grid) for (let t of s.values) {
4621
- let r = Sa(n.yToPx(t));
4858
+ let r = Ma(n.yToPx(t));
4622
4859
  r < c.y - 1 || r > c.y + c.height + 1 || (e.moveTo(c.x, r), e.lineTo(c.x + c.width, r));
4623
4860
  }
4624
4861
  if (i.grid) for (let t of o.values) {
4625
- let r = Sa(n.xToPx(t));
4862
+ let r = Ma(n.xToPx(t));
4626
4863
  r < c.x - 1 || r > c.x + c.width + 1 || (e.moveTo(r, c.y), e.lineTo(r, c.y + c.height));
4627
4864
  }
4628
4865
  e.stroke();
4629
4866
  let l = Math.ceil(r.fontSize * 1.4);
4630
- if (e.font = xa(r), e.fillStyle = $(r.textMuted), i.visible) {
4867
+ if (e.font = ja(r), e.fillStyle = $(r.textMuted), i.visible) {
4631
4868
  e.strokeStyle = $(r.axis), e.beginPath();
4632
- let a = Sa(c.y + c.height);
4869
+ let a = Ma(c.y + c.height);
4633
4870
  e.moveTo(c.x, a), e.lineTo(c.x + c.width, a), e.stroke(), e.textBaseline = "top", e.textAlign = "center";
4634
4871
  let s = -Infinity, u = o.values.map((e, t) => ({
4635
4872
  px: n.xToPx(e),
@@ -4640,18 +4877,28 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4640
4877
  let i = e.measureText(r).width, a = Math.max(0, Math.min(t.width - i, n - i / 2));
4641
4878
  a < s + 6 || (s = a + i, e.fillText(r, a + i / 2, c.y + c.height + 7));
4642
4879
  }
4643
- i.title && (e.font = xa(r, r.fontSize + 1, 500), e.fillStyle = $(r.text, .8), e.fillText(i.title, c.x + c.width / 2, c.y + c.height + l + 10));
4880
+ i.title && (e.font = ja(r, r.fontSize + 1, 500), e.fillStyle = $(r.text, .8), e.fillText(i.title, c.x + c.width / 2, c.y + c.height + l + 10));
4644
4881
  }
4645
- a.visible && (e.font = xa(r), e.fillStyle = $(r.textMuted), e.textAlign = "right", e.textBaseline = "middle", s.values.forEach((t, r) => {
4882
+ a.visible && (e.font = ja(r), e.fillStyle = $(r.textMuted), e.textAlign = "right", e.textBaseline = "middle", s.values.forEach((t, r) => {
4646
4883
  let i = n.yToPx(t);
4647
4884
  i < c.y - .5 || i > c.y + c.height + .5 || e.fillText(s.labels[r], c.x - 8, i);
4648
- }), a.title && (e.save(), e.font = xa(r, r.fontSize + 1, 500), e.fillStyle = $(r.text, .8), e.translate(l / 2 + 4, c.y + c.height / 2), e.rotate(-Math.PI / 2), e.textAlign = "center", e.fillText(a.title, 0, 0), e.restore()));
4649
- }, Ea = (e, t) => e.x < t.x + t.width && t.x < e.x + e.width && e.y < t.y + t.height && t.y < e.y + e.height, Da = (e, t) => e.x >= t.x && e.y >= t.y && e.x + e.width <= t.x + t.width && e.y + e.height <= t.y + t.height, Oa = (e, t, n, r, i, a) => {
4885
+ }), a.title && (e.save(), e.font = ja(r, r.fontSize + 1, 500), e.fillStyle = $(r.text, .8), e.translate(l / 2 + 4, c.y + c.height / 2), e.rotate(-Math.PI / 2), e.textAlign = "center", e.fillText(a.title, 0, 0), e.restore()));
4886
+ }, Ia = (e, t) => e.x < t.x + t.width && t.x < e.x + e.width && e.y < t.y + t.height && t.y < e.y + e.height, La = (e, t) => e.x >= t.x && e.y >= t.y && e.x + e.width <= t.x + t.width && e.y + e.height <= t.y + t.height, Ra = (e, t, n, r, i, a) => {
4650
4887
  e.lineWidth = 3, e.lineJoin = "round", e.strokeStyle = a, e.strokeText(t, n, r), e.fillStyle = i, e.fillText(t, n, r);
4651
- }, ka = (e, t, n, r, i = []) => {
4888
+ }, za = (e, t, n, r, i = []) => {
4652
4889
  let a = [];
4653
4890
  for (let o of e) {
4654
- let e = n(o.text), s = o.r + 4, c = [
4891
+ let e = n(o.text), s = o.r + 4, c = {
4892
+ x: o.x - e / 2,
4893
+ y: o.y - s - r,
4894
+ width: e,
4895
+ height: r
4896
+ }, l = {
4897
+ x: o.x - e / 2,
4898
+ y: o.y + s,
4899
+ width: e,
4900
+ height: r
4901
+ }, u = (o.placement === "above" ? [c] : o.placement === "below" ? [l] : [
4655
4902
  {
4656
4903
  x: o.x + s,
4657
4904
  y: o.y - r / 2,
@@ -4664,26 +4911,16 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4664
4911
  width: e,
4665
4912
  height: r
4666
4913
  },
4667
- {
4668
- x: o.x - e / 2,
4669
- y: o.y - s - r,
4670
- width: e,
4671
- height: r
4672
- },
4673
- {
4674
- x: o.x - e / 2,
4675
- y: o.y + s,
4676
- width: e,
4677
- height: r
4678
- }
4679
- ].find((e) => Da(e, t) && !i.some((t) => Ea(t, e)));
4680
- c && (i.push(c), a.push({
4914
+ c,
4915
+ l
4916
+ ]).find((e) => La(e, t) && !i.some((t) => Ia(t, e)));
4917
+ u && (i.push(u), a.push({
4681
4918
  label: o,
4682
- box: c
4919
+ box: u
4683
4920
  }));
4684
4921
  }
4685
4922
  return a;
4686
- }, Aa = (e, t) => {
4923
+ }, Ba = (e, t) => {
4687
4924
  let { scales: n, theme: r } = t, { plot: i } = n;
4688
4925
  t.clear !== !1 && e.clearRect(0, 0, t.width, t.height), e.save(), e.beginPath(), e.rect(i.x, i.y, i.width, i.height), e.clip();
4689
4926
  let a = $(r.background, .9), o = [], s = r.fontSize + 4;
@@ -4691,17 +4928,17 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4691
4928
  if (o.type !== "line") continue;
4692
4929
  let t = $(o.color);
4693
4930
  if (e.strokeStyle = t, e.lineWidth = o.width, e.setLineDash(o.dash), e.beginPath(), o.axis === "y") {
4694
- let s = Sa(n.yToPx(o.value));
4695
- e.moveTo(i.x, s), e.lineTo(i.x + i.width, s), e.stroke(), o.label && (e.setLineDash([]), e.font = xa(r, r.fontSize, 500), e.textAlign = "right", e.textBaseline = "bottom", Oa(e, o.label, i.x + i.width - 6, s - 3, t, a));
4931
+ let s = Ma(n.yToPx(o.value));
4932
+ e.moveTo(i.x, s), e.lineTo(i.x + i.width, s), e.stroke(), o.label && (e.setLineDash([]), e.font = ja(r, r.fontSize, 500), e.textAlign = "right", e.textBaseline = "bottom", Ra(e, o.label, i.x + i.width - 6, s - 3, t, a));
4696
4933
  } else {
4697
- let s = Sa(n.xToPx(o.value));
4698
- e.moveTo(s, i.y), e.lineTo(s, i.y + i.height), e.stroke(), o.label && (e.setLineDash([]), e.font = xa(r, r.fontSize, 500), e.textAlign = "left", e.textBaseline = "top", Oa(e, o.label, s + 5, i.y + 5, t, a));
4934
+ let s = Ma(n.xToPx(o.value));
4935
+ e.moveTo(s, i.y), e.lineTo(s, i.y + i.height), e.stroke(), o.label && (e.setLineDash([]), e.font = ja(r, r.fontSize, 500), e.textAlign = "left", e.textBaseline = "top", Ra(e, o.label, s + 5, i.y + 5, t, a));
4699
4936
  }
4700
4937
  }
4701
- e.setLineDash([]), e.font = xa(r, r.fontSize + 1, 600);
4938
+ e.setLineDash([]), e.font = ja(r, r.fontSize + 1, 600);
4702
4939
  for (let r of t.annotations) {
4703
4940
  if (r.type !== "rect" || !r.label) continue;
4704
- let t = wa(r, n);
4941
+ let t = Pa(r, n);
4705
4942
  if (t.width <= 0 || t.height <= 0) continue;
4706
4943
  let i = e.measureText(r.label).width, a = r.labelPosition, c = a.endsWith("left") ? t.x + 10 : a.endsWith("right") ? t.x + t.width - 10 - i : t.x + (t.width - i) / 2, l = a.startsWith("top") ? t.y + 10 : a.startsWith("bottom") ? t.y + t.height - 10 - s : t.y + (t.height - s) / 2;
4707
4944
  e.textAlign = "left", e.textBaseline = "top", e.fillStyle = $(r.labelColor), e.fillText(r.label, c, l), o.push({
@@ -4713,149 +4950,149 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4713
4950
  }
4714
4951
  for (let i of t.annotations) {
4715
4952
  if (i.type !== "text" || !i.text) continue;
4716
- e.font = xa(r, r.fontSize, i.weight);
4717
- let t = Ca(i, n, e.measureText(i.text).width, s);
4718
- e.textAlign = "left", e.textBaseline = "middle", Oa(e, i.text, t.x, t.y + t.height / 2, $(i.color), a), o.push(t);
4953
+ e.font = ja(r, r.fontSize, i.weight);
4954
+ let t = Na(i, n, e.measureText(i.text).width, s);
4955
+ e.textAlign = "left", e.textBaseline = "middle", Ra(e, i.text, t.x, t.y + t.height / 2, $(i.color), a), o.push(t);
4719
4956
  }
4720
4957
  if (t.pointLabels.length) {
4721
- e.font = xa(r), e.textAlign = "left", e.textBaseline = "middle";
4722
- let n = $(r.text, .85), c = ka(t.pointLabels, i, (t) => e.measureText(t).width, s - 2, o);
4723
- for (let { label: t, box: r } of c) Oa(e, t.text, r.x, r.y + r.height / 2, n, a);
4958
+ e.font = ja(r), e.textAlign = "left", e.textBaseline = "middle";
4959
+ let n = $(r.text, .85), c = za(t.pointLabels, i, (t) => e.measureText(t).width, s - 2, o);
4960
+ for (let { label: t, box: r } of c) Ra(e, t.text, r.x, r.y + r.height / 2, n, a);
4724
4961
  }
4725
4962
  e.restore();
4726
- }, ja = [
4963
+ }, Va = [
4727
4964
  [0xe8d4a51000, "T"],
4728
4965
  [1e9, "B"],
4729
4966
  [1e6, "M"],
4730
4967
  [1e3, "k"]
4731
- ], Ma = (e) => e.includes(".") ? e.replace(/\.?0+$/, "") : e, Na = (e, t = 2) => {
4968
+ ], Ha = (e) => e.includes(".") ? e.replace(/\.?0+$/, "") : e, Ua = (e, t = 2) => {
4732
4969
  if (!Number.isFinite(e)) return String(e);
4733
4970
  if (Object.is(e, -0) || e === 0) return "0";
4734
4971
  let n = Math.abs(e);
4735
- for (let [r, i] of ja) if (n >= r) return Ma((e / r).toFixed(t)) + i;
4972
+ for (let [r, i] of Va) if (n >= r) return Ha((e / r).toFixed(t)) + i;
4736
4973
  if (n < 1e-4) return e.toExponential(1);
4737
- let r = Math.min(6, Math.max(t, da(n) + 2));
4738
- return Ma(e.toFixed(r));
4739
- }, Pa = (e, t) => {
4974
+ let r = Math.min(6, Math.max(t, ga(n) + 2));
4975
+ return Ha(e.toFixed(r));
4976
+ }, Wa = (e, t) => {
4740
4977
  if (t >= 1e4) {
4741
- let n = ja.find(([e]) => t >= e)?.[0] ?? 1, r = Math.min(3, da(e / n));
4742
- return (e) => Na(e, r);
4978
+ let n = Va.find(([e]) => t >= e)?.[0] ?? 1, r = Math.min(3, ga(e / n));
4979
+ return (e) => Ua(e, r);
4743
4980
  }
4744
- let n = da(e);
4981
+ let n = ga(e);
4745
4982
  return (e) => {
4746
4983
  let t = e.toFixed(n);
4747
4984
  return /^-0(\.0*)?$/.test(t) ? t.slice(1) : t;
4748
4985
  };
4749
- }, Fa = (e) => {
4986
+ }, Ga = (e) => {
4750
4987
  if (!Number.isFinite(e)) return "–";
4751
4988
  let t = Math.abs(e);
4752
- return t >= 1e6 ? Na(e, 2) : Number.isInteger(e) ? e.toLocaleString("en-US") : Ma(e.toFixed(t >= 100 ? 2 : t >= 1 ? 3 : 4));
4753
- }, Ia = 1e3, La = 60 * Ia, Ra = 60 * La, za = 24 * Ra, Ba = 30 * za, Va = 365 * za, Ha = [
4989
+ return t >= 1e6 ? Ua(e, 2) : Number.isInteger(e) ? e.toLocaleString("en-US") : Ha(e.toFixed(t >= 100 ? 2 : t >= 1 ? 3 : 4));
4990
+ }, Ka = 1e3, qa = 60 * Ka, Ja = 60 * qa, Ya = 24 * Ja, Xa = 30 * Ya, Za = 365 * Ya, Qa = [
4754
4991
  {
4755
4992
  unit: "second",
4756
4993
  step: 1,
4757
- ms: Ia
4994
+ ms: Ka
4758
4995
  },
4759
4996
  {
4760
4997
  unit: "second",
4761
4998
  step: 5,
4762
- ms: 5 * Ia
4999
+ ms: 5 * Ka
4763
5000
  },
4764
5001
  {
4765
5002
  unit: "second",
4766
5003
  step: 15,
4767
- ms: 15 * Ia
5004
+ ms: 15 * Ka
4768
5005
  },
4769
5006
  {
4770
5007
  unit: "second",
4771
5008
  step: 30,
4772
- ms: 30 * Ia
5009
+ ms: 30 * Ka
4773
5010
  },
4774
5011
  {
4775
5012
  unit: "minute",
4776
5013
  step: 1,
4777
- ms: La
5014
+ ms: qa
4778
5015
  },
4779
5016
  {
4780
5017
  unit: "minute",
4781
5018
  step: 5,
4782
- ms: 5 * La
5019
+ ms: 5 * qa
4783
5020
  },
4784
5021
  {
4785
5022
  unit: "minute",
4786
5023
  step: 15,
4787
- ms: 15 * La
5024
+ ms: 15 * qa
4788
5025
  },
4789
5026
  {
4790
5027
  unit: "minute",
4791
5028
  step: 30,
4792
- ms: 30 * La
5029
+ ms: 30 * qa
4793
5030
  },
4794
5031
  {
4795
5032
  unit: "hour",
4796
5033
  step: 1,
4797
- ms: Ra
5034
+ ms: Ja
4798
5035
  },
4799
5036
  {
4800
5037
  unit: "hour",
4801
5038
  step: 3,
4802
- ms: 3 * Ra
5039
+ ms: 3 * Ja
4803
5040
  },
4804
5041
  {
4805
5042
  unit: "hour",
4806
5043
  step: 6,
4807
- ms: 6 * Ra
5044
+ ms: 6 * Ja
4808
5045
  },
4809
5046
  {
4810
5047
  unit: "hour",
4811
5048
  step: 12,
4812
- ms: 12 * Ra
5049
+ ms: 12 * Ja
4813
5050
  },
4814
5051
  {
4815
5052
  unit: "day",
4816
5053
  step: 1,
4817
- ms: za
5054
+ ms: Ya
4818
5055
  },
4819
5056
  {
4820
5057
  unit: "day",
4821
5058
  step: 2,
4822
- ms: 2 * za
5059
+ ms: 2 * Ya
4823
5060
  },
4824
5061
  {
4825
5062
  unit: "day",
4826
5063
  step: 7,
4827
- ms: 7 * za
5064
+ ms: 7 * Ya
4828
5065
  },
4829
5066
  {
4830
5067
  unit: "month",
4831
5068
  step: 1,
4832
- ms: Ba
5069
+ ms: Xa
4833
5070
  },
4834
5071
  {
4835
5072
  unit: "month",
4836
5073
  step: 3,
4837
- ms: 3 * Ba
5074
+ ms: 3 * Xa
4838
5075
  },
4839
5076
  {
4840
5077
  unit: "month",
4841
5078
  step: 6,
4842
- ms: 6 * Ba
5079
+ ms: 6 * Xa
4843
5080
  }
4844
- ], Ua = (e, t = 2) => String(e).padStart(t, "0"), Wa = (e, t) => {
5081
+ ], $a = (e, t = 2) => String(e).padStart(t, "0"), eo = (e, t) => {
4845
5082
  let n = e / Math.max(1, t);
4846
- if (n < Ia * .75) return {
5083
+ if (n < Ka * .75) return {
4847
5084
  unit: "millisecond",
4848
- step: oa(0, e, t),
5085
+ step: da(0, e, t),
4849
5086
  ms: 1
4850
5087
  };
4851
- for (let e of Ha) if (e.ms >= n * .75) return e;
4852
- let r = Math.max(1, oa(0, e / Va, t));
5088
+ for (let e of Qa) if (e.ms >= n * .75) return e;
5089
+ let r = Math.max(1, da(0, e / Za, t));
4853
5090
  return {
4854
5091
  unit: "year",
4855
5092
  step: Math.round(r),
4856
- ms: Math.round(r) * Va
5093
+ ms: Math.round(r) * Za
4857
5094
  };
4858
- }, Ga = (e, { unit: t, step: n }) => {
5095
+ }, to = (e, { unit: t, step: n }) => {
4859
5096
  let r = new Date(e);
4860
5097
  switch (t) {
4861
5098
  case "second":
@@ -4876,7 +5113,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4876
5113
  case "year": r.setHours(0, 0, 0, 0), r.setMonth(0, 1), r.setFullYear(r.getFullYear() - r.getFullYear() % n);
4877
5114
  }
4878
5115
  return r;
4879
- }, Ka = (e, { unit: t, step: n }) => {
5116
+ }, no = (e, { unit: t, step: n }) => {
4880
5117
  switch (t) {
4881
5118
  case "second":
4882
5119
  e.setSeconds(e.getSeconds() + n);
@@ -4895,44 +5132,44 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4895
5132
  break;
4896
5133
  case "year": e.setFullYear(e.getFullYear() + n);
4897
5134
  }
4898
- }, qa = (e, t, n) => {
5135
+ }, ro = (e, t, n) => {
4899
5136
  e > t && ([e, t] = [t, e]);
4900
- let r = Wa(t - e, n);
5137
+ let r = eo(t - e, n);
4901
5138
  if (r.unit === "millisecond") return {
4902
- values: ca(e, t, n),
5139
+ values: pa(e, t, n),
4903
5140
  unit: "millisecond",
4904
- format: (e) => Za(e, "millisecond")
5141
+ format: (e) => so(e, "millisecond")
4905
5142
  };
4906
- let i = [], a = Ga(e, r);
4907
- for (; a.getTime() < e;) Ka(a, r);
4908
- for (; a.getTime() <= t && i.length < 500;) i.push(a.getTime()), Ka(a, r);
5143
+ let i = [], a = to(e, r);
5144
+ for (; a.getTime() < e;) no(a, r);
5145
+ for (; a.getTime() <= t && i.length < 500;) i.push(a.getTime()), no(a, r);
4909
5146
  let { unit: o } = r;
4910
5147
  return {
4911
5148
  values: i,
4912
5149
  unit: o,
4913
- format: (e) => Xa(e, o)
5150
+ format: (e) => oo(e, o)
4914
5151
  };
4915
- }, Ja = (e) => `${e.getFullYear()}-${Ua(e.getMonth() + 1)}-${Ua(e.getDate())}`, Ya = (e) => `${Ua(e.getHours())}:${Ua(e.getMinutes())}`, Xa = (e, t) => {
5152
+ }, io = (e) => `${e.getFullYear()}-${$a(e.getMonth() + 1)}-${$a(e.getDate())}`, ao = (e) => `${$a(e.getHours())}:${$a(e.getMinutes())}`, oo = (e, t) => {
4916
5153
  let n = new Date(e), r = n.getHours() === 0 && n.getMinutes() === 0 && n.getSeconds() === 0;
4917
5154
  switch (t) {
4918
- case "second": return `${Ya(n)}:${Ua(n.getSeconds())}`;
5155
+ case "second": return `${ao(n)}:${$a(n.getSeconds())}`;
4919
5156
  case "minute":
4920
- case "hour": return r ? `${Ua(n.getMonth() + 1)}-${Ua(n.getDate())}` : Ya(n);
4921
- case "day": return n.getMonth() === 0 && n.getDate() === 1 ? String(n.getFullYear()) : `${Ua(n.getMonth() + 1)}-${Ua(n.getDate())}`;
4922
- case "month": return n.getMonth() === 0 ? String(n.getFullYear()) : `${n.getFullYear()}-${Ua(n.getMonth() + 1)}`;
5157
+ case "hour": return r ? `${$a(n.getMonth() + 1)}-${$a(n.getDate())}` : ao(n);
5158
+ case "day": return n.getMonth() === 0 && n.getDate() === 1 ? String(n.getFullYear()) : `${$a(n.getMonth() + 1)}-${$a(n.getDate())}`;
5159
+ case "month": return n.getMonth() === 0 ? String(n.getFullYear()) : `${n.getFullYear()}-${$a(n.getMonth() + 1)}`;
4923
5160
  default: return String(n.getFullYear());
4924
5161
  }
4925
- }, Za = (e, t = "minute") => {
5162
+ }, so = (e, t = "minute") => {
4926
5163
  let n = new Date(e);
4927
5164
  if (Number.isNaN(n.getTime())) return "–";
4928
5165
  switch (t) {
4929
- case "millisecond": return `${Ja(n)} ${Ya(n)}:${Ua(n.getSeconds())}.${Ua(n.getMilliseconds(), 3)}`;
4930
- case "second": return `${Ja(n)} ${Ya(n)}:${Ua(n.getSeconds())}`;
5166
+ case "millisecond": return `${io(n)} ${ao(n)}:${$a(n.getSeconds())}.${$a(n.getMilliseconds(), 3)}`;
5167
+ case "second": return `${io(n)} ${ao(n)}:${$a(n.getSeconds())}`;
4931
5168
  case "minute":
4932
- case "hour": return `${Ja(n)} ${Ya(n)}`;
4933
- default: return Ja(n);
5169
+ case "hour": return `${io(n)} ${ao(n)}`;
5170
+ default: return io(n);
4934
5171
  }
4935
- }, Qa = (e, t, n) => {
5172
+ }, co = (e, t, n) => {
4936
5173
  let [r, i] = t[0] <= t[1] ? t : [t[1], t[0]];
4937
5174
  if (e.type === "category") {
4938
5175
  let t = e.categories.length, a = Math.max(0, Math.ceil(r - 1e-9)), o = Math.min(t - 1, Math.floor(i + 1e-9)), s = Math.max(0, o - a + 1), c = Math.max(1, Math.ceil(s / Math.max(1, n))), l = [];
@@ -4948,26 +5185,26 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
4948
5185
  };
4949
5186
  }
4950
5187
  if (e.type === "time") {
4951
- let t = qa(r, i, n), a = t.unit === "day" || t.unit === "month" || t.unit === "year" ? "day" : t.unit, o = e.format ?? ((e) => Za(e, a));
5188
+ let t = ro(r, i, n), a = t.unit === "day" || t.unit === "month" || t.unit === "year" ? "day" : t.unit, o = e.format ?? ((e) => so(e, a));
4952
5189
  return {
4953
5190
  values: t.values,
4954
5191
  labels: t.values.map(e.format ?? t.format),
4955
5192
  formatValue: o
4956
5193
  };
4957
5194
  }
4958
- let a = ca(r, i, n), o = oa(r, i, n), s = e.format ?? Pa(o, Math.max(Math.abs(r), Math.abs(i)));
5195
+ let a = pa(r, i, n), o = da(r, i, n), s = e.format ?? Wa(o, Math.max(Math.abs(r), Math.abs(i)));
4959
5196
  return {
4960
5197
  values: a,
4961
5198
  labels: a.map(s),
4962
- formatValue: e.format ?? Fa
5199
+ formatValue: e.format ?? Ga
4963
5200
  };
4964
- }, $a = {
5201
+ }, lo = {
4965
5202
  top: 12,
4966
5203
  right: 16,
4967
5204
  bottom: 4,
4968
5205
  left: 4
4969
- }, eo = (e, t) => t, to = (e, t) => {
4970
- let n = t.resolve ?? eo;
5206
+ }, uo = (e, t) => t, fo = (e, t) => {
5207
+ let n = t.resolve ?? uo;
4971
5208
  return (e ?? []).map((e) => {
4972
5209
  if (e.type === "rect") {
4973
5210
  let r = e.color ? n(e.color, t.primary) : t.primary;
@@ -5002,8 +5239,8 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5002
5239
  label: e.label
5003
5240
  };
5004
5241
  });
5005
- }, no = (e) => {
5006
- let { model: t, view: n, theme: r, width: i, height: a, measure: o } = e, s = t.y.tickCount ?? (a >= 220 ? 5 : Math.max(2, Math.round((a - 48) / 52))), c = Qa(t.y, n.y, s), l = 0;
5242
+ }, po = (e) => {
5243
+ let { model: t, view: n, theme: r, width: i, height: a, measure: o } = e, s = t.y.tickCount ?? (t.y.type === "category" ? Math.max(1, Math.floor((a - 40) / (r.fontSize + 5))) : a >= 220 ? 5 : Math.max(2, Math.round((a - 48) / 52))), c = co(t.y, n.y, s), l = 0;
5007
5244
  if (t.y.visible) for (let e of c.labels) l = Math.max(l, o(e));
5008
5245
  let u = 48;
5009
5246
  if (t.x.type === "category") {
@@ -5011,11 +5248,11 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5011
5248
  let e = Math.max(1, Math.floor(t.x.categories.length / 200));
5012
5249
  for (let n = 0; n < t.x.categories.length; n += e) u = Math.max(u, o(t.x.categories[n]));
5013
5250
  }
5014
- let d = na({
5251
+ let d = sa({
5015
5252
  width: i,
5016
5253
  height: a,
5017
5254
  padding: {
5018
- ...$a,
5255
+ ...lo,
5019
5256
  ...e.padding
5020
5257
  },
5021
5258
  yLabelWidth: t.y.visible ? Math.ceil(l) : 0,
@@ -5025,44 +5262,64 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5025
5262
  fontSize: r.fontSize
5026
5263
  });
5027
5264
  e.top && (d.y += e.top);
5028
- let f = t.x.type === "category" ? Math.max(1, Math.floor(d.width / (u + 14))) : t.x.tickCount ?? Math.max(2, Math.floor(d.width / 96)), p = Qa(t.x, n.x, f);
5265
+ let f = t.x.type === "category" ? Math.max(1, Math.floor(d.width / (u + 14))) : t.x.tickCount ?? Math.max(3, Math.floor(d.width / 88)), p = co(t.x, n.x, f);
5029
5266
  return {
5030
5267
  plot: d,
5031
- scales: ta(d, n, t.x.reverse, t.y.reverse),
5268
+ scales: oa(d, n, t.x.reverse, t.y.reverse),
5032
5269
  xTicks: p,
5033
5270
  yTicks: c
5034
5271
  };
5035
- }, ro = (e, t, n) => {
5036
- let r = [];
5037
- for (let i of e.series) {
5038
- if (i.hidden || i.type !== "scatter" || !i.showLabels) continue;
5039
- let { x: e, y: a, count: o, labels: s, size: c } = i.cols;
5040
- if (s) for (let l = 0; l < o && r.length < 300; l++) {
5041
- let o = s[l];
5042
- if (!o) continue;
5043
- let u = e[l], d = a[l];
5272
+ }, mo = (e, t, n, r) => {
5273
+ let i = [], a = e.percent ? Ga : r?.formatValue ?? Ga;
5274
+ for (let r of e.series) {
5275
+ if (r.hidden || !r.showLabels) continue;
5276
+ if (r.type === "bar" && r.barTop) {
5277
+ let e = r.format ?? a, { x: o, y: s, count: c } = r.cols, l = r.barTop, [u, d] = t.x[0] <= t.x[1] ? t.x : [t.x[1], t.x[0]];
5278
+ for (let t = 0; t < c && i.length < 300; t++) {
5279
+ let a = o[t] + r.barOffset;
5280
+ if (!Number.isFinite(s[t]) || a < u || a > d) continue;
5281
+ let c = l[t] < (r.barBase?.[t] ?? 0);
5282
+ i.push({
5283
+ x: n.xToPx(a),
5284
+ y: n.yToPx(l[t]),
5285
+ r: 0,
5286
+ text: e(s[t]),
5287
+ placement: c ? "below" : "above"
5288
+ });
5289
+ }
5290
+ continue;
5291
+ }
5292
+ if (r.type !== "scatter") continue;
5293
+ let { x: e, y: o, count: s, labels: c, size: l } = r.cols;
5294
+ if (c) for (let a = 0; a < s && i.length < 300; a++) {
5295
+ let s = c[a];
5296
+ if (!s) continue;
5297
+ let u = e[a], d = o[a];
5044
5298
  if (u < t.x[0] || u > t.x[1] || d < t.y[0] || d > t.y[1]) continue;
5045
- let f = c && c[l] > 0 ? c[l] : i.pointSize;
5046
- r.push({
5299
+ let f = l && l[a] > 0 ? l[a] : r.pointSize;
5300
+ i.push({
5047
5301
  x: n.xToPx(u),
5048
5302
  y: n.yToPx(d),
5049
5303
  r: f / 2,
5050
- text: o
5304
+ text: s
5051
5305
  });
5052
5306
  }
5053
5307
  }
5054
- return r;
5055
- }, io = (e, t, n) => {
5056
- let r = e.cols.x[t] + (e.type === "bar" ? e.barOffset : 0), i = e.type === "bar" && e.barTop ? e.barTop[t] : e.cols.y[t];
5308
+ return i;
5309
+ }, ho = (e, t, n) => {
5310
+ let r = e.cols.x[t] + (e.type === "bar" ? e.barOffset : 0);
5057
5311
  return {
5058
5312
  px: n.xToPx(r),
5059
- py: n.yToPx(i)
5313
+ py: n.yToPx(Oa(e, t))
5060
5314
  };
5061
- }, ao = (e, t, n, r, i) => {
5062
- let a = io(e, t, i), o = !1;
5315
+ }, go = (e, t, n, r, i) => {
5316
+ let a = ho(e, t, i), o = !1;
5063
5317
  if (e.type === "bar" && e.barBase) {
5064
5318
  let s = e.barHalfWidth / i.xPerPx, c = i.yToPx(e.barBase[t]);
5065
5319
  o = Math.abs(n - a.px) <= s && r >= Math.min(c, a.py) - 2 && r <= Math.max(c, a.py) + 2;
5320
+ } else if (e.type === "candlestick") {
5321
+ let { high: s, low: c, y: l } = e.cols, u = Math.max(e.barHalfWidth / i.xPerPx, 3), d = i.yToPx(s ? s[t] : l[t]), f = i.yToPx(c ? c[t] : l[t]);
5322
+ o = Math.abs(n - a.px) <= u && r >= Math.min(d, f) - 2 && r <= Math.max(d, f) + 2;
5066
5323
  }
5067
5324
  return {
5068
5325
  series: e,
@@ -5073,15 +5330,20 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5073
5330
  dist: o ? 0 : Math.hypot(a.px - n, a.py - r),
5074
5331
  inside: o
5075
5332
  };
5076
- }, oo = (e, t) => e.cols.size && e.cols.size[t] > 0 ? e.cols.size[t] : e.pointSize, so = (e, t, n, r, i) => {
5333
+ }, _o = (e, t) => e.cols.size && e.cols.size[t] > 0 ? e.cols.size[t] : e.pointSize, vo = (e, t, n, r, i) => {
5077
5334
  let a = Math.max(e.pointSize / 2 + 6, 10) + i, o = r.pxToX(t), s = r.pxToY(n), c = a * r.xPerPx, l = a * r.yPerPx, u = -1, d = Infinity, { x: f, y: p } = e.cols;
5078
- return ba(e).query(o - c, o + c, s - l, s + l, (a) => {
5335
+ return Aa(e).query(o - c, o + c, s - l, s + l, (a) => {
5079
5336
  let o = Math.hypot(r.xToPx(f[a]) - t, r.yToPx(p[a]) - n);
5080
- o <= Math.max(oo(e, a) / 2 + 4, 8) + i && o <= d && (d = o, u = a);
5337
+ o <= Math.max(_o(e, a) / 2 + 4, 8) + i && o <= d && (d = o, u = a);
5081
5338
  }), u;
5082
- }, co = (e, t) => {
5339
+ }, yo = (e, t, n) => {
5340
+ let { x: r, y: i } = e.cellHalf, { x: a, y: o } = e.cols, s = -1;
5341
+ return Aa(e).query(t - r, t + r, n - i, n + i, (c) => {
5342
+ e.cellColors?.[c] && Math.abs(a[c] - t) <= r && Math.abs(o[c] - n) <= i && (s = c);
5343
+ }), s;
5344
+ }, bo = (e, t) => {
5083
5345
  let { x: n, y: r, count: i, sorted: a } = e.cols;
5084
- if (a) return $i(n, r, i, t);
5346
+ if (a) return ia(n, r, i, t);
5085
5347
  let o = -1, s = Infinity;
5086
5348
  for (let e = 0; e < i; e++) {
5087
5349
  if (!Number.isFinite(r[e])) continue;
@@ -5089,8 +5351,17 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5089
5351
  i < s && (s = i, o = e);
5090
5352
  }
5091
5353
  return o;
5092
- }, lo = (e, t) => {
5093
- let n = e.pointColors?.[t], r = e.cols.labels?.[t];
5354
+ }, xo = (e, t) => {
5355
+ let n = e.pointColors?.[t], r = e.cols.labels?.[t], { open: i, high: a, low: o, value: s } = e.cols, c = n ? $(n) : e.colorCss, l = {};
5356
+ if (e.type === "candlestick") {
5357
+ let n = i ? i[t] : NaN;
5358
+ Number.isFinite(n) && (l.open = n), a && Number.isFinite(a[t]) && (l.high = a[t]), o && Number.isFinite(o[t]) && (l.low = o[t]), c = $(e.cols.y[t] < n ? e.downColor : e.upColor);
5359
+ } else if (e.type === "heatmap") {
5360
+ let n = s ? s[t] : e.cols.y[t];
5361
+ Number.isFinite(n) && (l.value = n);
5362
+ let r = e.cellColors?.[t];
5363
+ r && (c = $(Ki(r)));
5364
+ }
5094
5365
  return {
5095
5366
  seriesIndex: e.index,
5096
5367
  seriesId: e.id,
@@ -5098,44 +5369,63 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5098
5369
  index: t,
5099
5370
  x: e.cols.x[t],
5100
5371
  y: e.cols.y[t],
5101
- color: n ? $(n) : e.colorCss,
5102
- ...r === void 0 ? {} : { label: r }
5372
+ color: c,
5373
+ ...r === void 0 ? {} : { label: r },
5374
+ ...l
5103
5375
  };
5104
- }, uo = (e, t) => {
5376
+ }, So = (e, t) => {
5105
5377
  if (!e.length) return null;
5106
5378
  e.sort((e, t) => e.series.index - t.series.index);
5107
- let n = e.map((e) => lo(e.series, e.index)), r = n[0].x;
5379
+ let n = e.map((e) => xo(e.series, e.index)), r = n[0].x;
5108
5380
  return {
5109
5381
  items: n,
5110
5382
  x: r,
5111
5383
  xLabel: t?.formatValue(r) ?? String(r)
5112
5384
  };
5113
- }, fo = (e, t, n, r, i, a = 0) => {
5385
+ }, Co = (e, t, n, r, i, a = 0) => {
5114
5386
  let { plot: o } = t, s = 6 + a;
5115
5387
  if (r < o.x - s || r > o.x + o.width + s || i < o.y - s || i > o.y + o.height + s) return null;
5116
5388
  let c = t.pxToX(r), l = [], u = [];
5117
5389
  for (let n of e.series) if (!(n.hidden || n.cols.count === 0)) {
5118
5390
  if (n.type === "scatter") {
5119
- let e = so(n, r, i, t, a);
5120
- e >= 0 && l.push(ao(n, e, r, i, t));
5391
+ let e = vo(n, r, i, t, a);
5392
+ e >= 0 && l.push(go(n, e, r, i, t));
5393
+ } else if (n.type === "heatmap") {
5394
+ let e = yo(n, t.pxToX(r), t.pxToY(i));
5395
+ if (e >= 0) {
5396
+ let a = go(n, e, r, i, t);
5397
+ a.inside = !0, a.dist = 0, l.push(a);
5398
+ }
5121
5399
  } else {
5122
- let e = co(n, c);
5123
- e >= 0 && u.push(ao(n, e, r, i, t));
5400
+ let e = bo(n, c);
5401
+ e >= 0 && u.push(go(n, e, r, i, t));
5124
5402
  }
5125
5403
  }
5126
5404
  if (e.tooltipMode === "nearest") {
5127
5405
  let e = [...l, ...u].filter((e) => e.inside || e.series.type === "scatter" || e.dist <= 32 + a);
5128
- return e.length ? uo([e.reduce((e, t) => t.dist <= e.dist ? t : e)], n) : null;
5406
+ return e.length ? So([e.reduce((e, t) => t.dist <= e.dist ? t : e)], n) : null;
5129
5407
  }
5130
- if (!u.length) return l.length ? uo([l.reduce((e, t) => t.dist <= e.dist ? t : e)], n) : null;
5131
- let d = Math.min(...u.map((e) => e.dx)), f = e.x.type === "category" ? .5 / t.xPerPx : 0, p = u.filter((e) => e.dx <= d + Math.max(1, f)), m = p.reduce((e, t) => t.dx < e.dx ? t : e), h = uo([
5408
+ if (!u.length) return l.length ? So([l.reduce((e, t) => t.dist <= e.dist ? t : e)], n) : null;
5409
+ let d = Math.min(...u.map((e) => e.dx)), f = e.x.type === "category" ? .5 / t.xPerPx : 0, p = u.filter((e) => e.dx <= d + Math.max(1, f)), m = p.reduce((e, t) => t.dx < e.dx ? t : e), h = So([
5132
5410
  m,
5133
5411
  ...p.filter((e) => e !== m),
5134
5412
  ...l
5135
5413
  ], n);
5136
- return h && (h.x = lo(m.series, m.index).x, h.xLabel = n?.formatValue(h.x) ?? String(h.x)), h;
5137
- }, po = (e, t) => e === t || !!e && !!t && e.items.length === t.items.length && e.items.every((e, n) => e.index === t.items[n].index && e.seriesIndex === t.items[n].seriesIndex), mo = (e, t, n) => {
5138
- let r = n?.formatValue ?? String;
5414
+ return h && (h.x = xo(m.series, m.index).x, h.xLabel = n?.formatValue(h.x) ?? String(h.x)), h;
5415
+ }, wo = (e, t) => e === t || !!e && !!t && e.items.length === t.items.length && e.items.every((e, n) => e.index === t.items[n].index && e.seriesIndex === t.items[n].seriesIndex), To = (e, t, n) => {
5416
+ let r = n?.formatValue ?? String, i = t.items[0], a = i ? e.series[i.seriesIndex] : null;
5417
+ if (t.items.length === 1 && a?.type === "heatmap") {
5418
+ let n = e.y.type === "category" ? e.y.categories[Math.round(i.y)] ?? r(i.y) : r(i.y);
5419
+ return {
5420
+ title: `${t.xLabel} · ${n}`,
5421
+ titleColor: null,
5422
+ rows: [{
5423
+ color: i.color,
5424
+ name: i.label ?? a.name,
5425
+ value: i.value === void 0 ? "–" : (a.format ?? Ga)(i.value)
5426
+ }]
5427
+ };
5428
+ }
5139
5429
  if (t.items.every((t) => e.series[t.seriesIndex].type === "scatter") && t.items.length === 1) {
5140
5430
  let n = t.items[0], i = [{
5141
5431
  color: null,
@@ -5156,43 +5446,101 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5156
5446
  rows: i
5157
5447
  };
5158
5448
  }
5449
+ let o = [], s = [];
5450
+ for (let n of t.items) {
5451
+ let t = e.series[n.seriesIndex];
5452
+ if (s.push(o.length), t.type === "candlestick") {
5453
+ let e = n.open !== void 0 && n.open !== 0 ? (n.y - n.open) / Math.abs(n.open) * 100 : NaN;
5454
+ o.push({
5455
+ color: n.color,
5456
+ name: t.name,
5457
+ value: Number.isFinite(e) ? `${e >= 0 ? "+" : ""}${e.toFixed(2)}%` : ""
5458
+ });
5459
+ let i = [
5460
+ ["Open", n.open],
5461
+ ["High", n.high],
5462
+ ["Low", n.low],
5463
+ ["Close", n.y]
5464
+ ];
5465
+ for (let [e, n] of i) n !== void 0 && Number.isFinite(n) && o.push({
5466
+ color: null,
5467
+ name: e,
5468
+ value: (t.format ?? r)(n)
5469
+ });
5470
+ continue;
5471
+ }
5472
+ o.push({
5473
+ color: n.color,
5474
+ name: n.label ? `${n.seriesName} · ${n.label}` : n.seriesName,
5475
+ value: (t.format ?? r)(n.y)
5476
+ });
5477
+ }
5478
+ if (e.percent) {
5479
+ let n = /* @__PURE__ */ new Map();
5480
+ for (let r of t.items) {
5481
+ let t = Eo(e, r.seriesIndex);
5482
+ t !== null && Number.isFinite(r.y) && n.set(t, (n.get(t) ?? 0) + Math.abs(r.y));
5483
+ }
5484
+ t.items.forEach((t, r) => {
5485
+ let i = Eo(e, t.seriesIndex), a = i === null ? void 0 : n.get(i), c = o[s[r]];
5486
+ a && c && Number.isFinite(t.y) && (c.value = `${(e.series[t.seriesIndex].format ?? Ga)(t.y)} · ${(Math.abs(t.y) / a * 100).toFixed(1)}%`);
5487
+ });
5488
+ }
5159
5489
  return {
5160
5490
  title: t.xLabel,
5161
5491
  titleColor: null,
5162
- rows: t.items.map((e) => ({
5163
- color: e.color,
5164
- name: e.label ? `${e.seriesName} · ${e.label}` : e.seriesName,
5165
- value: r(e.y)
5166
- }))
5492
+ rows: o
5167
5493
  };
5168
- }, ho = (e, t, n) => {
5169
- let r = [], { plot: i } = t;
5170
- for (let a of n.items) {
5171
- let n = e.series[a.seriesIndex];
5172
- if (n.type === "bar" && n.barBase && n.barTop) {
5173
- let e = t.xToPx(a.x + n.barOffset), i = Math.max(n.barHalfWidth / t.xPerPx, 1), o = t.yToPx(n.barBase[a.index]), s = t.yToPx(n.barTop[a.index]);
5494
+ }, Eo = (e, t) => e.series[t].hidden ? null : e.stacks[t], Do = (e, t, n) => {
5495
+ let r = [], { plot: i } = t, a = Infinity, o = -Infinity;
5496
+ for (let s of n.items) {
5497
+ let n = e.series[s.seriesIndex];
5498
+ if (n.type === "bar" || n.type === "candlestick") {
5499
+ let e = t.xToPx(s.x + n.barOffset), r = Math.max(n.barHalfWidth / t.xPerPx, 1);
5500
+ a = Math.min(a, e - r), o = Math.max(o, e + r);
5501
+ continue;
5502
+ }
5503
+ if (n.type === "heatmap") {
5504
+ let e = t.xToPx(s.x), i = t.yToPx(s.y), a = Math.abs(n.cellHalf.x / t.xPerPx), o = Math.abs(n.cellHalf.y / t.yPerPx);
5174
5505
  r.push({
5175
- kind: "bar",
5176
- x: e - i,
5177
- y: Math.min(o, s),
5178
- width: i * 2,
5179
- height: Math.max(1, Math.abs(o - s))
5506
+ kind: "cell",
5507
+ x: e - a,
5508
+ y: i - o,
5509
+ width: a * 2,
5510
+ height: o * 2
5180
5511
  });
5181
5512
  continue;
5182
5513
  }
5183
- let o = t.xToPx(a.x), s = t.yToPx(a.y);
5184
- if (o < i.x - 1 || o > i.x + i.width + 1 || s < i.y - 1 || s > i.y + i.height + 1) continue;
5185
- let c = n.type === "scatter" ? oo(n, a.index) + 6 : Math.max(10, n.lineWidth * 2 + 6);
5514
+ let { px: c, py: l } = ho(n, s.index, t);
5515
+ if (c < i.x - 1 || c > i.x + i.width + 1 || l < i.y - 1 || l > i.y + i.height + 1) continue;
5516
+ let u = n.type === "scatter" ? _o(n, s.index) + 4 : Math.max(9, n.lineWidth * 2 + 5), d = n.pointColors?.[s.index] ?? n.color;
5186
5517
  r.push({
5187
5518
  kind: "dot",
5188
- x: o,
5189
- y: s,
5190
- size: c,
5191
- color: a.color
5519
+ x: c,
5520
+ y: l,
5521
+ size: u,
5522
+ color: s.color,
5523
+ halo: $(d, .2)
5524
+ });
5525
+ }
5526
+ if (o > a) {
5527
+ let e = Math.max(4, (o - a) * .14), t = Math.max(i.x, a - e), n = Math.min(i.x + i.width, o + e);
5528
+ n > t && r.unshift({
5529
+ kind: "band",
5530
+ x: t,
5531
+ y: i.y,
5532
+ width: n - t,
5533
+ height: i.height
5192
5534
  });
5193
5535
  }
5194
5536
  return r;
5195
- }, go = (e, t, n) => n ?? (e.tooltipMode === "axis" && t.items.some((t) => e.series[t.seriesIndex].type !== "scatter")), _o = [
5537
+ }, Oo = (e) => e === "scatter" ? "dot" : e === "line" ? "line" : "square", ko = (e, t, n) => n ?? (e.tooltipMode === "axis" && t.items.some((t) => {
5538
+ let n = e.series[t.seriesIndex].type;
5539
+ return n === "line" || n === "area";
5540
+ }) && !t.items.some((t) => {
5541
+ let n = e.series[t.seriesIndex].type;
5542
+ return n === "bar" || n === "candlestick";
5543
+ })), Ao = [
5196
5544
  "#4f46e5",
5197
5545
  "#10b981",
5198
5546
  "#f59e0b",
@@ -5201,14 +5549,14 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5201
5549
  "#8b5cf6",
5202
5550
  "#14b8a6",
5203
5551
  "#f97316"
5204
- ], vo = (e = {}, t) => {
5552
+ ], jo = (e = {}, t) => {
5205
5553
  let n = e.variables ?? {};
5206
5554
  return {
5207
- ...bo((e) => n[e]?.trim() ?? "", yo(n), t?.length ? t : e.palette, ""),
5555
+ ...No((e) => n[e]?.trim() ?? "", Mo(n), t?.length ? t : e.palette, ""),
5208
5556
  ...e.fontFamily ? { fontFamily: e.fontFamily } : {},
5209
5557
  ...e.fontSize ? { fontSize: e.fontSize } : {}
5210
5558
  };
5211
- }, yo = (e) => (t, n) => Hi(t, e, n), bo = (e, t, n, r) => {
5559
+ }, Mo = (e) => (t, n) => Hi(t, e, n), No = (e, t, n, r) => {
5212
5560
  let i = [
5213
5561
  .4,
5214
5562
  .4,
@@ -5231,7 +5579,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5231
5579
  "--warning-color",
5232
5580
  "--danger-color",
5233
5581
  "--info-color"
5234
- ].map((t, n) => e(t) ? a(`var(${t})`) : a(_o[n])), ..._o.slice(5).map((e) => a(e))];
5582
+ ].map((t, n) => e(t) ? a(`var(${t})`) : a(Ao[n])), ...Ao.slice(5).map((e) => a(e))];
5235
5583
  }
5236
5584
  let f = e("--font-family-sans") || r || "system-ui, -apple-system, 'Segoe UI', sans-serif";
5237
5585
  return {
@@ -5247,17 +5595,17 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5247
5595
  fontSize: 11,
5248
5596
  resolve: t
5249
5597
  };
5250
- }, xo = (e, t, n) => {
5598
+ }, Po = (e, t, n) => {
5251
5599
  let r = t[1] - t[0], i = Math.min(Math.max(e[1] - e[0], n), r), a = (e[0] + e[1]) / 2 - i / 2, o = a + i;
5252
5600
  return a < t[0] && (a = t[0], o = a + i), o > t[1] && (o = t[1], a = o - i), [a, o];
5253
- }, So = (e, t, n) => [t - (t - e[0]) * n, t + (e[1] - t) * n], Co = (e, t) => [e[0] + t, e[1] + t], wo = (e, t, n = 1e-9) => {
5601
+ }, Fo = (e, t, n) => [t - (t - e[0]) * n, t + (e[1] - t) * n], Io = (e, t) => [e[0] + t, e[1] + t], Lo = (e, t, n = 1e-9) => {
5254
5602
  let r = Math.max(Math.abs(t[1] - t[0]), 1e-300);
5255
5603
  return Math.abs(e[0] - t[0]) <= r * n && Math.abs(e[1] - t[1]) <= r * n;
5256
- }, To = (e) => ({
5604
+ }, Ro = (e) => ({
5257
5605
  x: [e.x[0], e.x[1]],
5258
5606
  y: [e.y[0], e.y[1]]
5259
- }), Eo = 6, Do = 10, Oo = 320, ko = 20, Ao = (e) => {
5260
- let t = e.options, n = e.theme, r = vo(n, t.palette), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = {}, s, c = {
5607
+ }), zo = 6, Bo = 10, Vo = 320, Ho = 20, Uo = (e) => {
5608
+ let t = e.options, n = e.theme, r = jo(n, t.palette), i = /* @__PURE__ */ new Map(), a = /* @__PURE__ */ new Set(), o = {}, s, c = {
5261
5609
  x: [0, 1],
5262
5610
  y: [0, 1]
5263
5611
  }, l = !1, u = 0, d = 0, f = [], p = null, m = !0, h = "", g = !1, _ = null, v = /* @__PURE__ */ new Map(), y = null, b = {
@@ -5276,13 +5624,13 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5276
5624
  pan: n.pan ?? !0,
5277
5625
  dragPoints: n.dragPoints ?? !1
5278
5626
  };
5279
- }, w = (t, n = r.fontSize, i = 400) => e.measureText(t, xa(r, n, i)), T = () => {
5280
- s = va(t, r, a, i);
5627
+ }, w = (t, n = r.fontSize, i = 400) => e.measureText(t, ja(r, n, i)), T = () => {
5628
+ s = Da(t, r, a, i);
5281
5629
  let { base: e, minSpan: n } = s;
5282
5630
  l ? (c = {
5283
- x: s.zoom.x ? xo(c.x, e.x, n.x) : [...e.x],
5284
- y: s.zoom.y ? xo(c.y, e.y, n.y) : [...e.y]
5285
- }, l = !wo(c.x, e.x) || !wo(c.y, e.y)) : c = To(e), f = to(t.annotations, r), _ && (_.event.items.every((e) => s.series[e.seriesIndex] && !s.series[e.seriesIndex].hidden && e.index < s.series[e.seriesIndex].cols.count) || j(null)), S();
5631
+ x: s.zoom.x ? Po(c.x, e.x, n.x) : [...e.x],
5632
+ y: s.zoom.y ? Po(c.y, e.y, n.y) : [...e.y]
5633
+ }, l = !Lo(c.x, e.x) || !Lo(c.y, e.y)) : c = Ro(e), f = fo(t.annotations, r), _ && (_.event.items.every((e) => s.series[e.seriesIndex] && !s.series[e.seriesIndex].hidden && e.index < s.series[e.seriesIndex].cols.count) || j(null)), S();
5286
5634
  }, E = () => {
5287
5635
  let e = t.legend, n = t.series.filter((e) => e.name).length;
5288
5636
  if (!(e === void 0 ? n > 1 : e)) return null;
@@ -5293,17 +5641,17 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5293
5641
  id: e.id,
5294
5642
  name: e.name,
5295
5643
  color: e.colorCss,
5296
- shape: e.type === "scatter" ? "dot" : e.type === "line" ? "line" : "square",
5644
+ shape: Oo(e.type),
5297
5645
  hidden: e.hidden,
5298
5646
  box: {
5299
5647
  x: o,
5300
- y: c * ko,
5648
+ y: c * Ho,
5301
5649
  width: t,
5302
- height: ko
5650
+ height: Ho
5303
5651
  }
5304
5652
  }), o += t + 10;
5305
5653
  }
5306
- let l = (c + 1) * ko + 6;
5654
+ let l = (c + 1) * Ho + 6;
5307
5655
  if (i === "bottom") for (let e of a) e.box.y += d - l + 6;
5308
5656
  return {
5309
5657
  entries: a,
@@ -5320,7 +5668,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5320
5668
  if (t === null || t === "") return null;
5321
5669
  typeof t == "string" && (o = t.split("\n"));
5322
5670
  }
5323
- let c = mo(s, e, p?.layout.yTicks ?? null), l = 0, f;
5671
+ let c = To(s, e, p?.layout.yTicks ?? null), l = 0, f;
5324
5672
  if (o) {
5325
5673
  for (let e of o) l = Math.max(l, w(e, 12));
5326
5674
  f = o.length;
@@ -5346,7 +5694,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5346
5694
  };
5347
5695
  }, O = () => {
5348
5696
  if (u <= 0 || d <= 0) return null;
5349
- let e = E(), n = e?.position === "top" ? e.height : 0, i = no({
5697
+ let e = E(), n = e?.position === "top" ? e.height : 0, i = po({
5350
5698
  model: s,
5351
5699
  view: c,
5352
5700
  theme: r,
@@ -5355,10 +5703,10 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5355
5703
  padding: t.padding,
5356
5704
  top: n,
5357
5705
  measure: (e) => w(e)
5358
- }), a = ro(s, c, i.scales), o = [], l = r.fontSize + 4;
5706
+ }), a = mo(s, c, i.scales, i.yTicks), o = [], l = r.fontSize + 4;
5359
5707
  for (let e of f) {
5360
5708
  if (e.type === "text" && e.text) {
5361
- o.push(Ca(e, i.scales, w(e.text, r.fontSize, e.weight), l));
5709
+ o.push(Na(e, i.scales, w(e.text, r.fontSize, e.weight), l));
5362
5710
  continue;
5363
5711
  }
5364
5712
  if (e.type !== "rect" || !e.label) continue;
@@ -5370,12 +5718,12 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5370
5718
  height: l
5371
5719
  });
5372
5720
  }
5373
- let m = ka(a, i.plot, (e) => w(e), l - 2, o), g = {
5721
+ let m = za(a, i.plot, (e) => w(e), l - 2, o), g = {
5374
5722
  width: u,
5375
5723
  height: d,
5376
5724
  theme: r,
5377
5725
  model: s,
5378
- view: To(c),
5726
+ view: Ro(c),
5379
5727
  layout: i,
5380
5728
  annotations: f,
5381
5729
  pointLabels: m,
@@ -5384,10 +5732,10 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5384
5732
  dragging: null
5385
5733
  };
5386
5734
  if (p = g, _) {
5387
- let e = go(s, _.event, t.crosshair), n = i.scales.xToPx(_.event.items[0].x);
5735
+ let e = ko(s, _.event, t.crosshair), n = i.scales.xToPx(_.event.items[0].x);
5388
5736
  g.hover = {
5389
5737
  event: _.event,
5390
- marks: ho(s, i.scales, _.event),
5738
+ marks: Do(s, i.scales, _.event),
5391
5739
  crosshairX: e && n >= i.plot.x && n <= i.plot.x + i.plot.width ? n : null,
5392
5740
  tooltip: y?.kind === "pan" || y?.kind === "point" ? null : D(_.event, _.x, _.y)
5393
5741
  };
@@ -5398,17 +5746,17 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5398
5746
  x: y.x,
5399
5747
  y: y.y,
5400
5748
  color: y.item.color,
5401
- size: (e ? oo(e, y.item.index) : 8) + 6
5749
+ size: (e ? _o(e, y.item.index) : 8) + 6
5402
5750
  };
5403
5751
  }
5404
5752
  let v = i.plot, b = `${v.x},${v.y},${v.width},${v.height}`;
5405
5753
  return b !== h && (h = b, x("layout", { ...v })), g;
5406
5754
  }, k = () => ((m || !p) && (m = !1, p = O()), p), A = () => k()?.layout.scales ?? null, j = (e) => {
5407
- let t = !po(_?.event ?? null, e?.event ?? null);
5755
+ let t = !wo(_?.event ?? null, e?.event ?? null);
5408
5756
  _ = e, S(), t && x("hover", e ? e.event : null);
5409
5757
  }, M = (e, t, n) => {
5410
5758
  let r = A();
5411
- return r ? fo(s, r, p?.layout.xTicks ?? null, e, t, n ? 8 : 0) : null;
5759
+ return r ? Co(s, r, p?.layout.xTicks ?? null, e, t, n ? 8 : 0) : null;
5412
5760
  }, N = (e, t) => {
5413
5761
  let n = A()?.plot;
5414
5762
  return !!n && e >= n.x && e <= n.x + n.width && t >= n.y && t <= n.y + n.height;
@@ -5423,36 +5771,36 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5423
5771
  }, F = (e, t) => {
5424
5772
  let { base: n, minSpan: r } = s;
5425
5773
  c = {
5426
- x: xo(e.x, n.x, r.x),
5427
- y: xo(e.y, n.y, r.y)
5428
- }, l = !wo(c.x, n.x) || !wo(c.y, n.y), t && x("zoom", To(c)), S();
5774
+ x: Po(e.x, n.x, r.x),
5775
+ y: Po(e.y, n.y, r.y)
5776
+ }, l = !Lo(c.x, n.x) || !Lo(c.y, n.y), t && x("zoom", Ro(c)), S();
5429
5777
  }, I = (e, t, n) => {
5430
5778
  let r = A();
5431
5779
  if (!r || !s.zoom.x && !s.zoom.y) return;
5432
- let i = To(c);
5433
- s.zoom.x && (i.x = So(c.x, r.pxToX(e), n)), s.zoom.y && (i.y = So(c.y, r.pxToY(t), n)), F(i, !0);
5780
+ let i = Ro(c);
5781
+ s.zoom.x && (i.x = Fo(c.x, r.pxToX(e), n)), s.zoom.y && (i.y = Fo(c.y, r.pxToY(t), n)), F(i, !0);
5434
5782
  }, L = () => {
5435
- l && F(To(s.base), !0);
5783
+ l && F(Ro(s.base), !0);
5436
5784
  }, ee = (e, t) => k()?.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, te = (e) => {
5437
5785
  a.has(e) ? a.delete(e) : a.add(e), T();
5438
5786
  }, R = () => {
5439
5787
  let [e, t] = [...v.values()];
5440
5788
  y = {
5441
5789
  kind: "pinch",
5442
- view: To(c),
5790
+ view: Ro(c),
5443
5791
  distance: Math.max(1, Math.hypot(e.x - t.x, e.y - t.y)),
5444
5792
  midX: (e.x + t.x) / 2,
5445
5793
  midY: (e.y + t.y) / 2
5446
5794
  }, j(null);
5447
5795
  };
5448
- return s = va(t, r, a, i), T(), {
5796
+ return s = Da(t, r, a, i), T(), {
5449
5797
  setOptions(e) {
5450
5798
  if (g) return;
5451
5799
  let i = (e.palette ?? []).join() !== (t.palette ?? []).join();
5452
- t = e, i && (r = vo(n, t.palette)), T();
5800
+ t = e, i && (r = jo(n, t.palette)), T();
5453
5801
  },
5454
5802
  setTheme(e) {
5455
- g || (n = e, r = vo(n, t.palette), T());
5803
+ g || (n = e, r = jo(n, t.palette), T());
5456
5804
  },
5457
5805
  setSize(e, t) {
5458
5806
  (e !== u || t !== d) && (u = Math.max(0, e), d = Math.max(0, t), S());
@@ -5500,7 +5848,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5500
5848
  if (l && a.pan && N(e, t)) {
5501
5849
  y = {
5502
5850
  kind: "pan",
5503
- view: To(c),
5851
+ view: Ro(c),
5504
5852
  x: e,
5505
5853
  y: t
5506
5854
  };
@@ -5518,19 +5866,19 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5518
5866
  pointerMove: (e, t, n = {}) => {
5519
5867
  if (g) return;
5520
5868
  let r = n.id ?? 0, i = v.get(r);
5521
- if (i && (i.x = e, i.y = t, !i.moved && Math.hypot(e - i.startX, t - i.startY) > (i.touch ? Do : Eo) && (i.moved = !0)), y?.kind === "pinch" && v.size >= 2) {
5869
+ if (i && (i.x = e, i.y = t, !i.moved && Math.hypot(e - i.startX, t - i.startY) > (i.touch ? Bo : zo) && (i.moved = !0)), y?.kind === "pinch" && v.size >= 2) {
5522
5870
  let [e, t] = [...v.values()], n = Math.max(1, Math.hypot(e.x - t.x, e.y - t.y)), r = (e.x + t.x) / 2, i = (e.y + t.y) / 2, a = A();
5523
5871
  if (!a) return;
5524
- let o = ta(a.plot, y.view, s.x.reverse, s.y.reverse), c = y.distance / n, l = To(y.view);
5872
+ let o = oa(a.plot, y.view, s.x.reverse, s.y.reverse), c = y.distance / n, l = Ro(y.view);
5525
5873
  if (s.zoom.x) {
5526
- l.x = So(y.view.x, o.pxToX(y.midX), c);
5874
+ l.x = Fo(y.view.x, o.pxToX(y.midX), c);
5527
5875
  let e = (r - y.midX) * o.xPerPx * c;
5528
- l.x = Co(l.x, s.x.reverse ? e : -e);
5876
+ l.x = Io(l.x, s.x.reverse ? e : -e);
5529
5877
  }
5530
5878
  if (s.zoom.y) {
5531
- l.y = So(y.view.y, o.pxToY(y.midY), c);
5879
+ l.y = Fo(y.view.y, o.pxToY(y.midY), c);
5532
5880
  let e = (i - y.midY) * o.yPerPx * c;
5533
- l.y = Co(l.y, s.y.reverse ? -e : e);
5881
+ l.y = Io(l.y, s.y.reverse ? -e : e);
5534
5882
  }
5535
5883
  F(l, !0);
5536
5884
  return;
@@ -5550,8 +5898,8 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5550
5898
  if (!i.moved) return;
5551
5899
  let n = A();
5552
5900
  if (!n) return;
5553
- let r = e - y.x, a = t - y.y, o = To(y.view);
5554
- s.zoom.x && (o.x = Co(y.view.x, -r * n.xPerPx * (s.x.reverse ? -1 : 1))), s.zoom.y && (o.y = Co(y.view.y, a * n.yPerPx * (s.y.reverse ? -1 : 1))), F(o, !0);
5901
+ let r = e - y.x, a = t - y.y, o = Ro(y.view);
5902
+ s.zoom.x && (o.x = Io(y.view.x, -r * n.xPerPx * (s.x.reverse ? -1 : 1))), s.zoom.y && (o.y = Io(y.view.y, a * n.yPerPx * (s.y.reverse ? -1 : 1))), F(o, !0);
5555
5903
  return;
5556
5904
  }
5557
5905
  if (!(v.size > 1) && (!i || i.touch || !n.touch)) {
@@ -5592,7 +5940,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5592
5940
  return;
5593
5941
  }
5594
5942
  let o = Date.now();
5595
- if (i.touch && o - b.time < Oo && Math.hypot(e - b.x, t - b.y) < 24 && l) {
5943
+ if (i.touch && o - b.time < Vo && Math.hypot(e - b.x, t - b.y) < 24 && l) {
5596
5944
  b = {
5597
5945
  time: 0,
5598
5946
  x: e,
@@ -5632,7 +5980,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5632
5980
  },
5633
5981
  zoomAt: I,
5634
5982
  resetZoom: L,
5635
- getView: () => To(c),
5983
+ getView: () => Ro(c),
5636
5984
  setView(e) {
5637
5985
  g || F({
5638
5986
  x: e.x ?? c.x,
@@ -5672,39 +6020,75 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5672
6020
  for (let e of Object.keys(o)) delete o[e];
5673
6021
  }
5674
6022
  };
5675
- }, jo = 3e38, Mo = (e, t) => Number.isFinite(e) ? e - t : jo, No = (e, t, n, r) => {
5676
- let i = new Float32Array(n * 2);
5677
- for (let a = 0; a < n; a++) i[a * 2] = Mo(e[a], r.x), i[a * 2 + 1] = Number.isFinite(t[a]) ? t[a] - r.y : jo;
5678
- return i;
5679
- }, Po = {
5680
- area: 0,
5681
- bar: 1,
5682
- line: 2,
5683
- scatter: 3
5684
- }, Fo = (e, t, n) => {
5685
- let r = [], i = [], a = e.series.filter((e) => !e.hidden).sort((e, t) => Po[e.type] - Po[t.type] || e.index - t.index);
6023
+ }, Wo = 3e38, Go = (e, t) => Number.isFinite(e) ? e - t : Wo, Ko = {
6024
+ heatmap: 0,
6025
+ area: 1,
6026
+ bar: 2,
6027
+ candlestick: 3,
6028
+ line: 4,
6029
+ scatter: 5
6030
+ }, qo = (e) => {
6031
+ let { x: t, count: n } = e.cols, r = e.stackTop ?? e.cols.y, i = e.stackBase;
6032
+ if (e.curve === "linear") return {
6033
+ n,
6034
+ xAt: (e) => t[e],
6035
+ yAt: (e) => r[e],
6036
+ baseAt: i ? (e) => i[e] : null
6037
+ };
6038
+ let a = Ji(t, r, 0, n, e.curve), o = i ? Ji(t, i, 0, n, e.curve).points : null, s = a.points;
6039
+ return {
6040
+ n: a.length,
6041
+ xAt: (e) => s[e * 2],
6042
+ yAt: (e) => s[e * 2 + 1],
6043
+ baseAt: o ? (e) => o[e * 2 + 1] : null
6044
+ };
6045
+ }, Jo = (e, t, n, r, i, a) => {
6046
+ let o = /* @__PURE__ */ new ArrayBuffer(r * 16), s = new Float32Array(o), c = new Uint32Array(o);
6047
+ for (let e = 0; e < r; e++) i(e, s, c);
6048
+ return {
6049
+ kind: "bar",
6050
+ key: e,
6051
+ version: t,
6052
+ color: n.color,
6053
+ instances: o,
6054
+ count: r,
6055
+ ...a
6056
+ };
6057
+ }, Yo = (e, t, n) => {
6058
+ let r = [], i = [], a = e.series.filter((e) => !e.hidden).sort((e, t) => Ko[e.type] - Ko[t.type] || e.index - t.index);
5686
6059
  for (let o of a) {
5687
6060
  let { x: a, y: s, count: c, sorted: l } = o.cols;
5688
6061
  switch ((o.type === "line" || o.type === "scatter") && i.length && r.push(...i.splice(0)), o.type) {
5689
6062
  case "line":
5690
6063
  case "area": {
5691
- let u = No(a, s, c, t);
5692
- o.type === "area" && r.push({
5693
- kind: "area",
5694
- key: `${o.key}:area`,
5695
- version: n,
5696
- color: o.color,
5697
- points: u,
5698
- count: c,
5699
- baseline: e.baseline - t.y,
5700
- opacity: o.opacity,
5701
- sorted: l
5702
- }), (o.type === "area" ? i : r).push({
6064
+ let { n: c, xAt: u, yAt: d, baseAt: f } = qo(o), p = new Float32Array(c * 2);
6065
+ if (o.curve === "linear") {
6066
+ let e = o.stackTop ?? s, n = t.x, r = t.y;
6067
+ for (let t = 0; t < c; t++) {
6068
+ let i = a[t], o = e[t];
6069
+ p[t * 2] = Number.isFinite(i) ? i - n : Wo, p[t * 2 + 1] = Number.isFinite(o) ? o - r : Wo;
6070
+ }
6071
+ } else for (let e = 0; e < c; e++) p[e * 2] = Go(u(e), t.x), p[e * 2 + 1] = Go(d(e), t.y);
6072
+ if (o.type === "area") {
6073
+ let i = new Float32Array(c * 3), a = e.baseline - t.y;
6074
+ for (let e = 0; e < c; e++) i[e * 3] = p[e * 2], i[e * 3 + 1] = p[e * 2 + 1], i[e * 3 + 2] = f ? Go(f(e), t.y) : a;
6075
+ r.push({
6076
+ kind: "area",
6077
+ key: `${o.key}:area`,
6078
+ version: n,
6079
+ color: o.color,
6080
+ points: i,
6081
+ count: c,
6082
+ opacity: o.opacity,
6083
+ sorted: l
6084
+ });
6085
+ }
6086
+ (o.type === "area" ? i : r).push({
5703
6087
  kind: "line",
5704
6088
  key: `${o.key}:line`,
5705
6089
  version: n,
5706
6090
  color: o.color,
5707
- points: u,
6091
+ points: p,
5708
6092
  count: c,
5709
6093
  width: o.lineWidth,
5710
6094
  sorted: l
@@ -5712,29 +6096,63 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5712
6096
  break;
5713
6097
  }
5714
6098
  case "bar": {
5715
- let i = o.barBase ?? new Float64Array(c), u = o.barTop ?? s, d = new Float32Array(c * 3);
5716
- for (let e = 0; e < c; e++) {
5717
- let n = Number.isFinite(u[e]) && Number.isFinite(i[e]);
5718
- d[e * 3] = Mo(a[e] + o.barOffset, t.x), d[e * 3 + 1] = n ? i[e] - t.y : jo, d[e * 3 + 2] = n ? u[e] - t.y : jo;
5719
- }
5720
- r.push({
5721
- kind: "bar",
5722
- key: `${o.key}:bar`,
5723
- version: n,
5724
- color: o.color,
5725
- instances: d,
5726
- count: c,
6099
+ let i = o.barBase ?? new Float64Array(c), u = o.barTop ?? s, d = Wi(o.color), f = e.series.some((e) => e !== o && !e.hidden && e.type === "bar" && e.barOffset === o.barOffset);
6100
+ r.push(Jo(`${o.key}:bar`, n, o, c, (e, n, r) => {
6101
+ let s = Number.isFinite(u[e]) && Number.isFinite(i[e]);
6102
+ n[e * 4] = Go(a[e] + o.barOffset, t.x), n[e * 4 + 1] = s ? i[e] - t.y : Wo, n[e * 4 + 2] = s ? u[e] - t.y : Wo;
6103
+ let c = o.pointColors?.[e];
6104
+ r[e * 4 + 3] = c ? Wi(c) : d;
6105
+ }, {
5727
6106
  halfWidth: o.barHalfWidth,
5728
- sorted: l,
5729
- radius: e.series.some((e) => e !== o && !e.hidden && e.type === "bar" && e.barOffset === o.barOffset) ? 0 : 3
5730
- });
6107
+ radius: f ? 0 : o.radius,
6108
+ inset: 0,
6109
+ minHalf: 0,
6110
+ sorted: l
6111
+ }));
6112
+ break;
6113
+ }
6114
+ case "candlestick": {
6115
+ let { open: e, high: i, low: u } = o.cols, d = Wi(o.upColor), f = Wi(o.downColor), p = (t) => e && Number.isFinite(e[t]) && s[t] < e[t] ? f : d;
6116
+ r.push(Jo(`${o.key}:wick`, n, o, c, (e, n, r) => {
6117
+ let o = i ? i[e] : s[e], c = u ? u[e] : s[e], l = Number.isFinite(o) && Number.isFinite(c) && Number.isFinite(s[e]);
6118
+ n[e * 4] = Go(a[e], t.x), n[e * 4 + 1] = l ? c - t.y : Wo, n[e * 4 + 2] = l ? o - t.y : Wo, r[e * 4 + 3] = p(e);
6119
+ }, {
6120
+ halfWidth: 0,
6121
+ radius: 0,
6122
+ inset: 0,
6123
+ minHalf: o.lineWidth / 2,
6124
+ sorted: l
6125
+ }), Jo(`${o.key}:body`, n, o, c, (n, r, i) => {
6126
+ let o = e ? e[n] : s[n], c = Number.isFinite(o) && Number.isFinite(s[n]);
6127
+ r[n * 4] = Go(a[n], t.x), r[n * 4 + 1] = c ? o - t.y : Wo, r[n * 4 + 2] = c ? s[n] - t.y : Wo, i[n * 4 + 3] = p(n);
6128
+ }, {
6129
+ halfWidth: o.barHalfWidth,
6130
+ radius: Math.min(o.radius, 1.5),
6131
+ inset: 0,
6132
+ minHalf: .5,
6133
+ sorted: l
6134
+ }));
6135
+ break;
6136
+ }
6137
+ case "heatmap": {
6138
+ let e = o.cellColors, i = o.cellHalf.y;
6139
+ r.push(Jo(`${o.key}:cells`, n, o, c, (n, r, o) => {
6140
+ let c = e ? e[n] : 0, l = c !== 0 && Number.isFinite(a[n]);
6141
+ r[n * 4] = Go(a[n], t.x), r[n * 4 + 1] = l ? s[n] - i - t.y : Wo, r[n * 4 + 2] = l ? s[n] + i - t.y : Wo, o[n * 4 + 3] = c;
6142
+ }, {
6143
+ halfWidth: o.cellHalf.x,
6144
+ radius: o.radius,
6145
+ inset: 1,
6146
+ minHalf: 0,
6147
+ sorted: l
6148
+ }));
5731
6149
  break;
5732
6150
  }
5733
6151
  default: {
5734
6152
  let e = /* @__PURE__ */ new ArrayBuffer(c * 16), i = new Float32Array(e), l = new Uint32Array(e), u = Wi(o.color), d = o.cols.size;
5735
6153
  for (let e = 0; e < c; e++) {
5736
6154
  let n = Number.isFinite(s[e]) && Number.isFinite(a[e]);
5737
- i[e * 4] = n ? a[e] - t.x : jo, i[e * 4 + 1] = n ? s[e] - t.y : jo;
6155
+ i[e * 4] = n ? a[e] - t.x : Wo, i[e * 4 + 1] = n ? s[e] - t.y : Wo;
5738
6156
  let r = d ? d[e] : NaN;
5739
6157
  i[e * 4 + 2] = Number.isFinite(r) && r > 0 ? r : o.pointSize;
5740
6158
  let c = o.pointColors?.[e];
@@ -5755,19 +6173,41 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5755
6173
  }
5756
6174
  }
5757
6175
  return r.push(...i), r;
5758
- }, Io = (e, t) => `rgba(${Math.round(e[0] * 255)},${Math.round(e[1] * 255)},${Math.round(e[2] * 255)},${e[3] * t})`, Lo = (e) => [
5759
- (e & 255) / 255,
5760
- (e >>> 8 & 255) / 255,
5761
- (e >>> 16 & 255) / 255,
5762
- (e >>> 24 & 255) / 255
5763
- ], Ro = (e) => !Number.isFinite(e) || Math.abs(e) >= 15e37, zo = (e, t, n) => {
5764
- let r = 0, i = t;
5765
- for (; r < i;) {
5766
- let t = r + i >>> 1;
5767
- e[t * 2] < n ? r = t + 1 : i = t;
6176
+ }, Xo = (e, t) => `rgba(${Math.round(e[0] * 255)},${Math.round(e[1] * 255)},${Math.round(e[2] * 255)},${e[3] * t})`, Zo = (e) => !Number.isFinite(e) || Math.abs(e) >= 15e37, Qo = (e, t, n, r = 2) => {
6177
+ let i = 0, a = t;
6178
+ for (; i < a;) {
6179
+ let t = i + a >>> 1;
6180
+ e[t * r] < n ? i = t + 1 : a = t;
5768
6181
  }
5769
- return r;
5770
- }, Bo = (e, t) => {
6182
+ return i;
6183
+ }, $o = (e, t, n, r) => {
6184
+ let i = new Float64Array(Math.max(0, n - t) * 3), a = 0, o = (t) => {
6185
+ i[a * 3] = e[t * 3], i[a * 3 + 1] = e[t * 3 + 1], i[a * 3 + 2] = e[t * 3 + 2], a++;
6186
+ }, s = NaN, c = -1, l = -1, u = -1, d = -1, f = () => {
6187
+ if (c < 0) return;
6188
+ let e = [
6189
+ c,
6190
+ l,
6191
+ u,
6192
+ d
6193
+ ].sort((e, t) => e - t), t = -1;
6194
+ for (let n of e) n !== t && o(n), t = n;
6195
+ c = -1;
6196
+ };
6197
+ for (let i = t; i < n; i++) {
6198
+ let t = e[i * 3 + 1];
6199
+ if (Zo(e[i * 3]) || Zo(t) || Zo(e[i * 3 + 2])) {
6200
+ f(), s = NaN, o(i);
6201
+ continue;
6202
+ }
6203
+ let n = Math.floor(r(e[i * 3]));
6204
+ n !== s || c < 0 ? (f(), s = n, c = l = u = d = i) : (t < e[l * 3 + 1] && (l = i), t > e[u * 3 + 1] && (u = i), d = i);
6205
+ }
6206
+ return f(), {
6207
+ points: i,
6208
+ length: a
6209
+ };
6210
+ }, es = (e, t) => {
5771
6211
  let n = null, r = (e) => {
5772
6212
  let { xScale: t, xOffset: n, yScale: r, yOffset: i } = e.transform, a = e.width, o = e.height;
5773
6213
  return {
@@ -5783,7 +6223,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5783
6223
  points: e.points,
5784
6224
  length: e.count
5785
6225
  };
5786
- let n = r(t), [i, a] = n.xRange(), o = Math.max(0, zo(e.points, e.count, i) - 1), s = Math.min(e.count, zo(e.points, e.count, a) + 1), c = ea(e.points, o, s, n.px, jo * .5);
6226
+ let n = r(t), [i, a] = n.xRange(), o = Math.max(0, Qo(e.points, e.count, i) - 1), s = Math.min(e.count, Qo(e.points, e.count, a) + 1), c = aa(e.points, o, s, n.px, Wo * .5);
5787
6227
  return {
5788
6228
  points: c.points,
5789
6229
  length: c.length
@@ -5794,40 +6234,55 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5794
6234
  let c = !1;
5795
6235
  for (let t = 0; t < s; t++) {
5796
6236
  let n = o[t * 2], r = o[t * 2 + 1];
5797
- if (Ro(n) || Ro(r)) {
6237
+ if (Zo(n) || Zo(r)) {
5798
6238
  c = !1;
5799
6239
  continue;
5800
6240
  }
5801
6241
  c ? e.lineTo(a.px(n), a.py(r)) : e.moveTo(a.px(n), a.py(r)), c = !0;
5802
6242
  }
5803
- e.lineWidth = t.width * n.dpr, e.lineJoin = "round", e.lineCap = "round", e.strokeStyle = Io(t.color, 1), e.stroke();
6243
+ e.lineWidth = t.width * n.dpr, e.lineJoin = "round", e.lineCap = "round", e.strokeStyle = Xo(t.color, 1), e.stroke();
5804
6244
  }, o = (t, n) => {
5805
- let a = r(n), { points: o, length: s } = i(t, n), c = a.py(t.baseline), l = e.createLinearGradient(0, 0, 0, c);
5806
- l.addColorStop(0, Io(t.color, t.opacity)), l.addColorStop(1, Io(t.color, t.opacity * .3)), e.fillStyle = l, e.beginPath();
5807
- let u = -1, d = 0, f = () => {
5808
- u < 0 || (e.lineTo(d, c), e.closePath(), u = -1);
6245
+ let i = r(n), a = t.points, o = t.count;
6246
+ if (t.sorted && t.count > n.width * 2) {
6247
+ let [e, n] = i.xRange(), r = Math.max(0, Qo(t.points, t.count, e, 3) - 1), s = Math.min(t.count, Qo(t.points, t.count, n, 3) + 1);
6248
+ ({points: a, length: o} = $o(t.points, r, s, i.px));
6249
+ }
6250
+ let s = e.createLinearGradient(0, 0, 0, n.height);
6251
+ s.addColorStop(0, Xo(t.color, t.opacity)), s.addColorStop(1, Xo(t.color, t.opacity * .25)), e.fillStyle = s, e.beginPath();
6252
+ let c = -1, l = (t) => {
6253
+ if (!(c < 0)) {
6254
+ for (let n = t - 1; n >= c; n--) e.lineTo(i.px(a[n * 3]), i.py(a[n * 3 + 2]));
6255
+ e.closePath(), c = -1;
6256
+ }
5809
6257
  };
5810
- for (let t = 0; t < s; t++) {
5811
- let n = o[t * 2], r = o[t * 2 + 1];
5812
- if (Ro(n) || Ro(r)) {
5813
- f();
6258
+ for (let t = 0; t < o; t++) {
6259
+ let n = a[t * 3], r = a[t * 3 + 1];
6260
+ if (Zo(n) || Zo(r) || Zo(a[t * 3 + 2])) {
6261
+ l(t);
5814
6262
  continue;
5815
6263
  }
5816
- let i = a.px(n);
5817
- u < 0 && (u = t, e.moveTo(i, c)), e.lineTo(i, a.py(r)), d = i;
6264
+ c < 0 ? (c = t, e.moveTo(i.px(n), i.py(r))) : e.lineTo(i.px(n), i.py(r));
5818
6265
  }
5819
- f(), e.fill();
6266
+ l(o), e.fill();
5820
6267
  }, s = (t, n) => {
5821
- let i = r(n), a = Math.max(Math.abs(t.halfWidth * n.transform.xScale) * .5 * n.width, .5), o = t.radius * n.dpr;
5822
- e.fillStyle = Io(t.color, 1), e.beginPath();
5823
- let s = t.instances;
5824
- for (let n = 0; n < t.count; n++) {
5825
- let t = s[n * 3], r = s[n * 3 + 1], c = s[n * 3 + 2];
5826
- if (Ro(t) || Ro(r) || Ro(c)) continue;
5827
- let l = i.px(t), u = i.py(r), d = i.py(c), f = Math.min(u, d), p = Math.abs(u - d), m = Math.min(o, a, p / 2);
5828
- m > .5 && typeof e.roundRect == "function" ? e.roundRect(l - a, f, a * 2, p, m) : e.rect(l - a, f, a * 2, p);
6268
+ let i = r(n), a = n.dpr, o = t.minHalf * a, s = Math.abs(t.halfWidth * n.transform.xScale) * .5 * n.width, c = t.radius * a, l = new Float32Array(t.instances, 0, t.count * 4), u = new Uint32Array(t.instances, 0, t.count * 4), [d, f] = i.xRange(), p = Math.abs(t.halfWidth), m = /* @__PURE__ */ new Map();
6269
+ for (let e = 0; e < t.count; e++) {
6270
+ let t = l[e * 4];
6271
+ if (Zo(t) || Zo(l[e * 4 + 1]) || Zo(l[e * 4 + 2]) || t < d - p || t > f + p) continue;
6272
+ let n = u[e * 4 + 3], r = m.get(n);
6273
+ r || m.set(n, r = []), r.push(e);
6274
+ }
6275
+ let h = typeof e.roundRect == "function";
6276
+ for (let [n, r] of m) {
6277
+ e.fillStyle = Xo(Ki(n), 1), e.beginPath();
6278
+ for (let n of r) {
6279
+ let r = i.px(l[n * 4]), u = i.py(l[n * 4 + 1]), d = i.py(l[n * 4 + 2]), f = Math.abs(u - d) / 2, p = Math.min(1, Math.max(0, (Math.min(s, f) - 3 * a) / (2 * a))), m = t.inset * a * p - (t.inset > 0 ? .5 * (1 - p) : 0), g = Math.max(s - m, .5, o), _ = Math.max(f - m, o);
6280
+ if (_ <= 0) continue;
6281
+ let v = (u + d) / 2, y = Math.min(c, g, _);
6282
+ y > .5 && h ? e.roundRect(r - g, v - _, g * 2, _ * 2, y) : e.rect(r - g, v - _, g * 2, _ * 2);
6283
+ }
6284
+ e.fill();
5829
6285
  }
5830
- e.fill();
5831
6286
  }, c = (t, n) => {
5832
6287
  let i = r(n), a = n.width, o = n.height, s = new Float32Array(t.instances, 0, t.count * 4), c = new Uint32Array(t.instances, 0, t.count * 4), l = 0;
5833
6288
  for (let e = 0; e < Math.min(t.count, 64); e++) l = Math.max(l, s[e * 4 + 2]);
@@ -5835,7 +6290,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5835
6290
  let u = Math.ceil(a / l), d = Math.ceil(o / l), f = new Int32Array(u * d).fill(-1);
5836
6291
  for (let e = 0; e < t.count; e++) {
5837
6292
  let t = s[e * 4], n = s[e * 4 + 1];
5838
- if (Ro(t) || Ro(n) || !(s[e * 4 + 2] > 0)) continue;
6293
+ if (Zo(t) || Zo(n) || !(s[e * 4 + 2] > 0)) continue;
5839
6294
  let r = Math.floor(i.px(t) / l), a = Math.floor(i.py(n) / l);
5840
6295
  r < 0 || a < 0 || r >= u || a >= d || (f[a * u + r] = e);
5841
6296
  }
@@ -5847,7 +6302,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5847
6302
  r || p.set(n, r = []), r.push(e);
5848
6303
  }
5849
6304
  for (let [n, r] of p) {
5850
- e.fillStyle = Io(Lo(n), Math.max(t.opacity, .6));
6305
+ e.fillStyle = Xo(Ki(n), Math.max(t.opacity, .6));
5851
6306
  for (let t of r) e.fillRect(t % u * l, Math.floor(t / u) * l, l, l);
5852
6307
  }
5853
6308
  }, l = (i, a) => {
@@ -5862,7 +6317,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5862
6317
  let d = u.createImageData(s, l), f = d.data, p = new Float32Array(i.instances, 0, i.count * 4), m = new Uint32Array(i.instances, 0, i.count * 4);
5863
6318
  for (let e = 0; e < i.count; e++) {
5864
6319
  let t = p[e * 4], n = p[e * 4 + 1], r = p[e * 4 + 2];
5865
- if (Ro(t) || Ro(n) || !(r > 0)) continue;
6320
+ if (Zo(t) || Zo(n) || !(r > 0)) continue;
5866
6321
  let c = o.px(t), u = o.py(n), d = Math.max(1, Math.round(r * a.dpr * .8)), h = Math.round(c - d / 2), g = Math.round(u - d / 2), _ = m[e * 4 + 3], v = (_ >>> 24 & 255) / 255 * Math.max(i.opacity, .6), y = _ & 255, b = _ >>> 8 & 255, x = _ >>> 16 & 255;
5867
6322
  for (let e = Math.max(0, g); e < Math.min(l, g + d); e++) for (let t = Math.max(0, h); t < Math.min(s, h + d); t++) {
5868
6323
  let n = (e * s + t) * 4, r = f[n + 3] / 255, i = v + r * (1 - v);
@@ -5882,23 +6337,23 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5882
6337
  }
5883
6338
  let c = t.stroke * n.dpr;
5884
6339
  for (let [r, o] of s) {
5885
- let s = Lo(r);
6340
+ let s = Ki(r);
5886
6341
  e.beginPath();
5887
6342
  for (let t of o) {
5888
6343
  let r = a[t * 4], o = a[t * 4 + 1], s = a[t * 4 + 2];
5889
- if (Ro(r) || Ro(o) || !(s > 0)) continue;
6344
+ if (Zo(r) || Zo(o) || !(s > 0)) continue;
5890
6345
  let c = i.px(r), l = i.py(o), u = s * n.dpr / 2;
5891
6346
  e.moveTo(c + u, l), e.arc(c, l, u, 0, Math.PI * 2);
5892
6347
  }
5893
- if (e.fillStyle = Io(s, t.opacity), e.fill(), c > 0) {
6348
+ if (e.fillStyle = Xo(s, t.opacity), e.fill(), c > 0) {
5894
6349
  e.beginPath();
5895
6350
  for (let t of o) {
5896
6351
  let r = a[t * 4], o = a[t * 4 + 1], s = a[t * 4 + 2];
5897
- if (Ro(r) || Ro(o) || !(s > 0)) continue;
6352
+ if (Zo(r) || Zo(o) || !(s > 0)) continue;
5898
6353
  let l = Math.max(0, s * n.dpr / 2 - c / 2), u = i.px(r), d = i.py(o);
5899
6354
  e.moveTo(u + l, d), e.arc(u, d, l, 0, Math.PI * 2);
5900
6355
  }
5901
- e.lineWidth = c, e.strokeStyle = Io(s, 1), e.stroke();
6356
+ e.lineWidth = c, e.strokeStyle = Xo(s, 1), e.stroke();
5902
6357
  }
5903
6358
  }
5904
6359
  };
@@ -5923,11 +6378,18 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5923
6378
  n = null;
5924
6379
  }
5925
6380
  };
5926
- }, Vo = (e) => (e[0] + e[1]) / 2, Ho = (e, t, n, r, i, a) => {
6381
+ }, ts = /* @__PURE__ */ new WeakMap(), ns = 0, rs = (e) => {
6382
+ let t = ts.get(e);
6383
+ return t === void 0 && ts.set(e, t = ++ns), t;
6384
+ }, is = (e, t, n) => {
6385
+ let { base: r } = e, i = `${t}|${e.baseline}|${e.percent}|${r.x[0]},${r.x[1]}|${r.y[0]},${r.y[1]}`;
6386
+ for (let t of e.series) i += `\n${t.key}|${t.type}|${rs(t.cols)}|${t.colorCss}|${t.hidden}|${t.lineWidth}|${t.pointSize}|${t.opacity}|${t.barOffset}|${t.barHalfWidth}|${n(t.index) ?? ""}|${t.curve}|${t.radius}`, t.type === "candlestick" ? i += `|${t.upColor}/${t.downColor}` : t.type === "heatmap" && (i += `|${t.colorScale.join(";")}/${t.valueRange[0]},${t.valueRange[1]}/${t.cellHalf.x},${t.cellHalf.y}`);
6387
+ return i;
6388
+ }, as = (e) => (e[0] + e[1]) / 2, os = (e, t, n, r, i, a) => {
5927
6389
  e.beginPath(), e.moveTo(t + a, n), e.lineTo(t + r - a, n), e.arcTo(t + r, n, t + r, n + a, a), e.lineTo(t + r, n + i - a), e.arcTo(t + r, n + i, t + r - a, n + i, a), e.lineTo(t + a, n + i), e.arcTo(t, n + i, t, n + i - a, a), e.lineTo(t, n + a), e.arcTo(t, n, t + a, n, a), e.closePath();
5928
- }, Uo = (e, t, n, r, i, a = Bo(e)) => {
6390
+ }, ss = (e, t, n, r, i, a = es(e)) => {
5929
6391
  let { width: o, height: s, theme: c, model: l, view: u, layout: d } = t, { plot: f, scales: p } = d, m = i;
5930
- if (e.setTransform(1, 0, 0, 1, 0, 0), e.clearRect(0, 0, Math.ceil(o * m), Math.ceil(s * m)), e.setTransform(m, 0, 0, m, 0, 0), Ta(e, {
6392
+ if (e.setTransform(1, 0, 0, 1, 0, 0), e.clearRect(0, 0, Math.ceil(o * m), Math.ceil(s * m)), e.setTransform(m, 0, 0, m, 0, 0), Fa(e, {
5931
6393
  width: o,
5932
6394
  height: s,
5933
6395
  scales: p,
@@ -5938,7 +6400,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5938
6400
  theme: c,
5939
6401
  annotations: t.annotations
5940
6402
  }), t.legend) {
5941
- e.font = xa(c, 12), e.textBaseline = "middle", e.textAlign = "left";
6403
+ e.font = ja(c, 12), e.textBaseline = "middle", e.textAlign = "left";
5942
6404
  for (let n of t.legend.entries) {
5943
6405
  let t = n.box.y + n.box.height / 2;
5944
6406
  if (e.globalAlpha = n.hidden ? .45 : 1, e.fillStyle = n.color, n.shape === "dot" ? (e.beginPath(), e.arc(n.box.x + 5, t, 4, 0, Math.PI * 2), e.fill()) : n.shape === "line" ? e.fillRect(n.box.x, t - 1, 10, 2) : e.fillRect(n.box.x + 1, t - 4, 8, 8), e.fillStyle = $(c.textMuted), e.fillText(n.name, n.box.x + 14, t), n.hidden) {
@@ -5948,6 +6410,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5948
6410
  }
5949
6411
  e.globalAlpha = 1;
5950
6412
  }
6413
+ for (let n of t.hover?.marks ?? []) n.kind === "band" && (os(e, n.x, n.y, n.width, n.height, 6), e.fillStyle = $(c.text, .06), e.fill());
5951
6414
  let h = (e, t, n) => {
5952
6415
  let r = 2 / (e[1] - e[0]), i = (t - e[0]) * r - 1;
5953
6416
  return n ? [-r, -i] : [r, i];
@@ -5962,7 +6425,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5962
6425
  width: Math.max(1, Math.round(f.width * m)),
5963
6426
  height: Math.max(1, Math.round(f.height * m)),
5964
6427
  dpr: m
5965
- }, Math.round(f.x * m), Math.round(f.y * m)), e.setTransform(m, 0, 0, m, 0, 0), Aa(e, {
6428
+ }, Math.round(f.x * m), Math.round(f.y * m)), e.setTransform(m, 0, 0, m, 0, 0), Ba(e, {
5966
6429
  width: o,
5967
6430
  height: s,
5968
6431
  scales: p,
@@ -5971,7 +6434,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5971
6434
  pointLabels: [],
5972
6435
  clear: !1
5973
6436
  }), t.pointLabels.length) {
5974
- e.save(), e.font = xa(c), e.textAlign = "left", e.textBaseline = "middle", e.lineWidth = 3, e.lineJoin = "round", e.strokeStyle = $(c.background, .9), e.fillStyle = $(c.text, .85);
6437
+ e.save(), e.font = ja(c), e.textAlign = "left", e.textBaseline = "middle", e.lineWidth = 3, e.lineJoin = "round", e.strokeStyle = $(c.background, .9), e.fillStyle = $(c.text, .85);
5975
6438
  for (let { label: n, box: r } of t.pointLabels) e.strokeText(n.text, r.x, r.y + r.height / 2), e.fillText(n.text, r.x, r.y + r.height / 2);
5976
6439
  e.restore();
5977
6440
  }
@@ -5982,12 +6445,12 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5982
6445
  let t = Math.round(b.crosshairX) + .5;
5983
6446
  e.moveTo(t, f.y), e.lineTo(t, f.y + f.height), e.stroke(), e.restore();
5984
6447
  }
5985
- for (let t of b.marks) {
5986
- if (t.kind === "bar") {
5987
- e.fillStyle = $(c.text, .08), e.fillRect(t.x - 2, t.y - 2, t.width + 4, t.height + 2);
6448
+ for (let t of b.marks) if (t.kind !== "band") {
6449
+ if (t.kind === "cell") {
6450
+ os(e, t.x, t.y, t.width, t.height, 3), e.lineWidth = 3, e.strokeStyle = $(c.background), e.stroke(), e.lineWidth = 1.5, e.strokeStyle = $(c.text, .55), e.stroke();
5988
6451
  continue;
5989
6452
  }
5990
- e.beginPath(), e.arc(t.x, t.y, t.size / 2, 0, Math.PI * 2), e.fillStyle = t.color, e.fill(), e.lineWidth = 2, e.strokeStyle = $(c.background), e.stroke();
6453
+ e.beginPath(), e.arc(t.x, t.y, t.size / 2 + 4, 0, Math.PI * 2), e.fillStyle = t.halo, e.fill(), e.beginPath(), e.arc(t.x, t.y, t.size / 2 - 1, 0, Math.PI * 2), e.fillStyle = t.color, e.fill(), e.lineWidth = 2, e.strokeStyle = $(c.background), e.stroke();
5991
6454
  }
5992
6455
  }
5993
6456
  if (t.dragging) {
@@ -5997,96 +6460,113 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
5997
6460
  let x = b?.tooltip;
5998
6461
  if (x) {
5999
6462
  let { box: t, lineHeight: n, padding: r } = x;
6000
- e.save(), e.shadowColor = "rgba(15, 23, 42, 0.18)", e.shadowBlur = 16, e.shadowOffsetY = 6, Ho(e, t.x, t.y, t.width, t.height, 8), e.fillStyle = $(c.background), e.fill(), e.restore(), Ho(e, t.x + .5, t.y + .5, t.width - 1, t.height - 1, 8), e.strokeStyle = $(c.axis), e.lineWidth = 1, e.stroke(), e.textBaseline = "middle";
6463
+ e.save(), e.shadowColor = "rgba(15, 23, 42, 0.18)", e.shadowBlur = 16, e.shadowOffsetY = 6, os(e, t.x, t.y, t.width, t.height, 8), e.fillStyle = $(c.background), e.fill(), e.restore(), os(e, t.x + .5, t.y + .5, t.width - 1, t.height - 1, 8), e.strokeStyle = $(c.axis, .6), e.lineWidth = 1, e.stroke(), e.textBaseline = "middle";
6001
6464
  let i = t.y + r + n / 2, a = t.x + r + 2, o = t.x + t.width - r - 2;
6002
6465
  if (x.text) {
6003
- e.font = xa(c, 12), e.fillStyle = $(c.text), e.textAlign = "left";
6466
+ e.font = ja(c, 12), e.fillStyle = $(c.text), e.textAlign = "left";
6004
6467
  for (let t of x.text) e.fillText(t, a, i), i += n;
6005
6468
  } else {
6006
6469
  let { content: t } = x, r = a;
6007
- t.titleColor && (e.fillStyle = t.titleColor, e.beginPath(), e.arc(r + 4, i, 4, 0, Math.PI * 2), e.fill(), r += 14), e.font = xa(c, 12, 600), e.fillStyle = $(c.text), e.textAlign = "left", e.fillText(t.title, r, i), i += n;
6008
- for (let s of t.rows) r = a, s.color && (e.fillStyle = s.color, e.beginPath(), e.arc(r + 4, i, 4, 0, Math.PI * 2), e.fill(), r += 14), e.font = xa(c, 12), e.textAlign = "left", e.fillStyle = $(c.textMuted), e.fillText(s.name, r, i), e.font = xa(c, 12, 600), e.textAlign = "right", e.fillStyle = $(c.text), e.fillText(s.value, o, i), i += n;
6470
+ t.titleColor && (e.fillStyle = t.titleColor, e.beginPath(), e.arc(r + 4, i, 4, 0, Math.PI * 2), e.fill(), r += 14), e.font = ja(c, 12, 600), e.fillStyle = $(c.text), e.textAlign = "left", e.fillText(t.title, r, i), i += n;
6471
+ for (let s of t.rows) r = a, s.color && (e.fillStyle = s.color, e.beginPath(), e.arc(r + 4, i, 4, 0, Math.PI * 2), e.fill(), r += 14), e.font = ja(c, 12), e.textAlign = "left", e.fillStyle = $(c.textMuted), e.fillText(s.name, r, i), e.font = ja(c, 12, 600), e.textAlign = "right", e.fillStyle = $(c.text), e.fillText(s.value, o, i), i += n;
6009
6472
  }
6010
6473
  }
6011
- }, Wo = (e) => {
6012
- let { canvas: t } = e, n = t.getContext("2d"), r = e.width, i = e.height, a = e.pixelRatio ?? 1, o = !1, s = null, c = [], l = null, u = {
6474
+ }, cs = (e) => {
6475
+ let { canvas: t } = e, n = t.getContext("2d"), r = e.width, i = e.height, a = e.pixelRatio ?? 1, o = !1, s = null, c = [], l = null, u = "", d = e.options, f = /* @__PURE__ */ new WeakMap(), p = 0, m = (e) => {
6476
+ let t = f.get(e);
6477
+ return t === void 0 && f.set(e, t = ++p), t;
6478
+ }, h = {
6013
6479
  x: 0,
6014
6480
  y: 0
6015
- }, d = 0, f = "", p = (e, t) => n ? (t !== f && (n.font = t, f = t), n.measureText(e).width) : e.length * 6.5, m = n ? Bo(n) : null, h = globalThis, g = () => {
6016
- if (s = null, o || !n || !m) return;
6017
- let e = v.getScene();
6481
+ }, g = 0, _ = "", v = (e, t) => n ? (t !== _ && (n.font = t, _ = t), n.measureText(e).width) : e.length * 6.5, y = n ? es(n) : null, b = globalThis, x = () => {
6482
+ if (s = null, o || !n || !y) return;
6483
+ let e = C.getScene();
6018
6484
  if (!e) return;
6019
- let p = Math.max(1, Math.round(r * a)), h = Math.max(1, Math.round(i * a));
6020
- t.width !== p && (t.width = p), t.height !== h && (t.height = h), f = "", l !== e.model && (l = e.model, u = {
6021
- x: Vo(e.model.base.x),
6022
- y: Vo(e.model.base.y)
6023
- }, c = Fo(e.model, u, ++d)), Uo(n, e, c, u, a, m), f = "";
6024
- }, _ = () => {
6025
- o || s !== null || (s = t.requestAnimationFrame ? t.requestAnimationFrame(g) : h.requestAnimationFrame ? h.requestAnimationFrame(g) : setTimeout(g, 16));
6026
- }, v = Ao({
6485
+ let f = Math.max(1, Math.round(r * a)), p = Math.max(1, Math.round(i * a));
6486
+ if (t.width !== f && (t.width = f), t.height !== p && (t.height = p), _ = "", l !== e.model) {
6487
+ l = e.model;
6488
+ let t = is(e.model, m(e.theme), (e) => d.series[e]?.stack);
6489
+ t !== u && (u = t, h = {
6490
+ x: as(e.model.base.x),
6491
+ y: as(e.model.base.y)
6492
+ }, c = Yo(e.model, h, ++g));
6493
+ }
6494
+ ss(n, e, c, h, a, y), _ = "";
6495
+ }, S = () => {
6496
+ o || s !== null || (s = t.requestAnimationFrame ? t.requestAnimationFrame(x) : b.requestAnimationFrame ? b.requestAnimationFrame(x) : setTimeout(x, 16));
6497
+ }, C = Uo({
6027
6498
  options: e.options,
6028
6499
  theme: e.theme,
6029
- measureText: p,
6030
- onInvalidate: _
6500
+ measureText: v,
6501
+ onInvalidate: S
6031
6502
  });
6032
- v.setSize(r, i);
6033
- let y = (e, t) => ({
6503
+ C.setSize(r, i);
6504
+ let w = (e, t) => ({
6034
6505
  id: e.identifier ?? t,
6035
6506
  touch: !0
6036
6507
  });
6037
6508
  return {
6038
- setOptions: (e) => v.setOptions(e),
6039
- setTheme: (e) => v.setTheme(e),
6509
+ setOptions: (e) => {
6510
+ d = e, C.setOptions(e);
6511
+ },
6512
+ setTheme: (e) => C.setTheme(e),
6040
6513
  resize(e, t, n) {
6041
- r = e, i = t, n && (a = n), v.setSize(e, t), _();
6514
+ r = e, i = t, n && (a = n), C.setSize(e, t), S();
6042
6515
  },
6043
6516
  render() {
6044
- s !== null && (t.cancelAnimationFrame ? t.cancelAnimationFrame(s) : h.cancelAnimationFrame ? h.cancelAnimationFrame(s) : clearTimeout(s)), g();
6517
+ s !== null && (t.cancelAnimationFrame ? t.cancelAnimationFrame(s) : b.cancelAnimationFrame ? b.cancelAnimationFrame(s) : clearTimeout(s)), x();
6045
6518
  },
6046
6519
  touchStart(e) {
6047
- e.forEach((e, t) => v.pointerDown(e.x, e.y, y(e, t)));
6520
+ e.forEach((e, t) => C.pointerDown(e.x, e.y, w(e, t)));
6048
6521
  },
6049
6522
  touchMove(e) {
6050
- e.forEach((e, t) => v.pointerMove(e.x, e.y, y(e, t)));
6523
+ e.forEach((e, t) => C.pointerMove(e.x, e.y, w(e, t)));
6051
6524
  },
6052
6525
  touchEnd(e) {
6053
- e.forEach((e, t) => v.pointerUp(e.x, e.y, y(e, t)));
6526
+ e.forEach((e, t) => C.pointerUp(e.x, e.y, w(e, t)));
6054
6527
  },
6055
6528
  touchCancel(e = [{
6056
6529
  x: 0,
6057
6530
  y: 0
6058
6531
  }]) {
6059
- e.forEach((e, t) => v.pointerCancel(y(e, t)));
6532
+ e.forEach((e, t) => C.pointerCancel(w(e, t)));
6060
6533
  },
6061
- pointerDown: (e, t, n) => v.pointerDown(e, t, n),
6062
- pointerMove: (e, t, n) => v.pointerMove(e, t, n),
6063
- pointerUp: (e, t, n) => v.pointerUp(e, t, n),
6064
- pointerLeave: () => v.pointerLeave(),
6065
- zoomAt: (e, t, n) => v.zoomAt(e, t, n),
6066
- resetZoom: () => v.resetZoom(),
6067
- getView: () => v.getView(),
6068
- setView: (e) => v.setView(e),
6069
- toggleSeries: (e) => v.toggleSeries(e),
6070
- clearHover: () => v.clearHover(),
6071
- getPlotRect: () => v.getPlotRect(),
6072
- toPixel: (e, t) => v.toPixel(e, t),
6073
- fromPixel: (e, t) => v.fromPixel(e, t),
6074
- getController: () => v,
6075
- on: (e, t) => v.on(e, t),
6534
+ pointerDown: (e, t, n) => C.pointerDown(e, t, n),
6535
+ pointerMove: (e, t, n) => C.pointerMove(e, t, n),
6536
+ pointerUp: (e, t, n) => C.pointerUp(e, t, n),
6537
+ pointerLeave: () => C.pointerLeave(),
6538
+ zoomAt: (e, t, n) => C.zoomAt(e, t, n),
6539
+ resetZoom: () => C.resetZoom(),
6540
+ getView: () => C.getView(),
6541
+ setView: (e) => C.setView(e),
6542
+ toggleSeries: (e) => C.toggleSeries(e),
6543
+ clearHover: () => C.clearHover(),
6544
+ getPlotRect: () => C.getPlotRect(),
6545
+ toPixel: (e, t) => C.toPixel(e, t),
6546
+ fromPixel: (e, t) => C.fromPixel(e, t),
6547
+ getController: () => C,
6548
+ on: (e, t) => C.on(e, t),
6076
6549
  destroy() {
6077
- o || (o = !0, s !== null && (t.cancelAnimationFrame ? t.cancelAnimationFrame(s) : h.cancelAnimationFrame ? h.cancelAnimationFrame(s) : clearTimeout(s)), m?.destroy(), v.destroy());
6550
+ o || (o = !0, s !== null && (t.cancelAnimationFrame ? t.cancelAnimationFrame(s) : b.cancelAnimationFrame ? b.cancelAnimationFrame(s) : clearTimeout(s)), y?.destroy(), C.destroy());
6078
6551
  }
6079
6552
  };
6080
- }, Go = (e, t, n) => e.map((e) => ({
6553
+ }, ls = (e, t, n, r) => e.map((e) => {
6554
+ let i = e.type ?? t;
6555
+ return {
6556
+ ...e,
6557
+ type: i,
6558
+ ...n !== void 0 && i === t ? { stack: e.stack ?? n } : {},
6559
+ ...r !== void 0 && (i === "line" || i === "area") ? { curve: e.curve ?? r } : {}
6560
+ };
6561
+ }), us = (e, t = !1, n = {}) => ls(e, t ? "area" : "line", n.stacked ? "stack" : void 0, n.curve), ds = (e, t = !1, n = !1) => ls(e, "bar", t ? "stack" : void 0).map((e) => n && e.type === "bar" ? {
6081
6562
  ...e,
6082
- type: e.type ?? t,
6083
- ...n !== void 0 && (e.type ?? t) === "bar" ? { stack: e.stack ?? n } : {}
6084
- })), Ko = (e, t = !1) => Go(e, t ? "area" : "line"), qo = (e, t = !1) => Go(e, "bar", t ? "stack" : void 0), Jo = (e) => Go(e, "scatter"), Yo = {
6563
+ showLabels: e.showLabels ?? !0
6564
+ } : e), fs = (e) => ls(e, "scatter"), ps = {
6085
6565
  topLeft: "var(--danger-color, #ef4444)",
6086
6566
  topRight: "var(--primary-color, #4f46e5)",
6087
6567
  bottomLeft: "var(--warning-color, #f59e0b)",
6088
6568
  bottomRight: "var(--text-secondary-color, #64748b)"
6089
- }, Xo = "var(--border-strong-color, var(--border-color, #cbd5e1))", Zo = (e) => {
6569
+ }, ms = "var(--border-strong-color, var(--border-color, #cbd5e1))", hs = (e) => {
6090
6570
  let [t, n] = e.xDomain ?? [0, 10], [r, i] = e.yDomain ?? [0, 10];
6091
6571
  return {
6092
6572
  x0: t,
@@ -6096,11 +6576,11 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
6096
6576
  xs: e.xSplit ?? (t + n) / 2,
6097
6577
  ys: e.ySplit ?? (r + i) / 2
6098
6578
  };
6099
- }, Qo = (e, t, n) => {
6100
- let { xs: r, ys: i } = Zo(e), a = e.reverseX ? t < r : t >= r;
6579
+ }, gs = (e, t, n) => {
6580
+ let { xs: r, ys: i } = hs(e), a = e.reverseX ? t < r : t >= r;
6101
6581
  return n >= i ? a ? "topRight" : "topLeft" : a ? "bottomRight" : "bottomLeft";
6102
- }, $o = (e, t = {}) => {
6103
- let { x0: n, x1: r, y0: i, y1: a, xs: o, ys: s } = Zo(e), c = !!e.reverseX, l = (t) => e.quadrants?.[t]?.color ?? Yo[t], u = [{
6582
+ }, _s = (e, t = {}) => {
6583
+ let { x0: n, x1: r, y0: i, y1: a, xs: o, ys: s } = hs(e), c = !!e.reverseX, l = (t) => e.quadrants?.[t]?.color ?? ps[t], u = [{
6104
6584
  type: "scatter",
6105
6585
  name: e.name ?? "",
6106
6586
  pointSize: e.pointSize ?? 12,
@@ -6111,7 +6591,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
6111
6591
  y: t.y,
6112
6592
  label: t.label,
6113
6593
  size: t.size,
6114
- color: t.color ?? l(Qo(e, t.x, t.y))
6594
+ color: t.color ?? l(gs(e, t.x, t.y))
6115
6595
  }))
6116
6596
  }], d = c ? [o, r] : [n, o], f = c ? [n, o] : [o, r], p = (t, [n, r], [i, a], o) => ({
6117
6597
  type: "rect",
@@ -6162,14 +6642,14 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
6162
6642
  axis: "x",
6163
6643
  value: o,
6164
6644
  dash: [],
6165
- color: Xo
6645
+ color: ms
6166
6646
  },
6167
6647
  {
6168
6648
  type: "line",
6169
6649
  axis: "y",
6170
6650
  value: s,
6171
6651
  dash: [],
6172
- color: Xo
6652
+ color: ms
6173
6653
  },
6174
6654
  ..._,
6175
6655
  ...t.annotations ?? []
@@ -6185,7 +6665,7 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
6185
6665
  tooltip: t.tooltip ?? (y ? void 0 : { render: (t) => {
6186
6666
  let n = t.items[0];
6187
6667
  if (!n) return null;
6188
- let r = e.quadrants?.[Qo(e, n.x, n.y)]?.label;
6668
+ let r = e.quadrants?.[gs(e, n.x, n.y)]?.label;
6189
6669
  return [n.label ?? e.name ?? "", r ?? ""].filter(Boolean).join("\n");
6190
6670
  } }),
6191
6671
  xAxis: {
@@ -6218,15 +6698,15 @@ var Ii = (e) => e < 0 ? 0 : e > 1 ? 1 : e, Li = (e) => {
6218
6698
  }),
6219
6699
  interaction: b
6220
6700
  };
6221
- }, es = process.env.TARO_ENV === "h5", ts = (e) => !!e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype, ns = (e, t, n) => {
6701
+ }, vs = process.env.TARO_ENV === "h5", ys = (e) => !!e && typeof e == "object" && Object.getPrototypeOf(e) === Object.prototype, bs = (e, t, n) => {
6222
6702
  let r = Object.keys(e);
6223
- return r.length === Object.keys(t).length && r.every((r) => Object.is(e[r], t[r]) || n > 0 && ts(e[r]) && ts(t[r]) && ns(e[r], t[r], n - 1));
6703
+ return r.length === Object.keys(t).length && r.every((r) => Object.is(e[r], t[r]) || n > 0 && ys(e[r]) && ys(t[r]) && bs(e[r], t[r], n - 1));
6224
6704
  };
6225
- function rs(e) {
6705
+ function xs(e) {
6226
6706
  let t = U(e);
6227
- return ns(t.current, e, 1) || (t.current = e), t.current;
6707
+ return bs(t.current, e, 1) || (t.current = e), t.current;
6228
6708
  }
6229
- var is = [
6709
+ var Ss = [
6230
6710
  "xAxis",
6231
6711
  "yAxis",
6232
6712
  "legend",
@@ -6237,21 +6717,21 @@ var is = [
6237
6717
  "padding",
6238
6718
  "palette",
6239
6719
  "ariaLabel"
6240
- ], as = (e) => {
6720
+ ], Cs = (e) => {
6241
6721
  let t = {};
6242
- for (let n of is) t[n] = e[n];
6722
+ for (let n of Ss) t[n] = e[n];
6243
6723
  return t;
6244
- }, os = (e) => typeof e == "number" ? `${e}px` : e, ss = () => {
6724
+ }, ws = (e) => typeof e == "number" ? `${e}px` : e, Ts = () => {
6245
6725
  try {
6246
6726
  let e = J;
6247
6727
  return e.getWindowInfo?.()?.pixelRatio || e.getSystemInfoSync?.()?.pixelRatio || 1;
6248
6728
  } catch {
6249
6729
  return 1;
6250
6730
  }
6251
- }, cs = (e) => {
6731
+ }, Es = (e) => {
6252
6732
  for (let t = e?.parentNode; t; t = t.parentNode) if (t.ctx) return t.ctx;
6253
- }, ls = 20, us = 100, ds = 800;
6254
- function fs({ options: e, height: t = 320, width: n = "100%", className: r, style: i, id: a, ariaLabel: o, disableScroll: s, handleRef: c, ...l }) {
6733
+ }, Ds = 20, Os = 100, ks = 800;
6734
+ function As({ options: e, height: t = 320, width: n = "100%", className: r, style: i, id: a, ariaLabel: o, disableScroll: s, handleRef: c, ...l }) {
6255
6735
  let u = `mn-chart-${V().replace(/[^a-zA-Z0-9_-]/g, "")}`, d = a ?? u, f = re(), p = JSON.stringify(f.css), m = ue(() => ({
6256
6736
  variables: Object.fromEntries(Object.entries(f.css).map(([e, t]) => [`--${e}`, String(t)])),
6257
6737
  ...f.css["font-family-sans"] ? { fontFamily: String(f.css["font-family-sans"]) } : {}
@@ -6262,7 +6742,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6262
6742
  b.current = l, B(() => {
6263
6743
  let e = !1, t, n = [], r = (t) => {
6264
6744
  let n = h.current, r = () => {
6265
- let e = es ? n?.querySelector?.("canvas") : null, r = e ? n?.getBoundingClientRect?.() : void 0;
6745
+ let e = vs ? n?.querySelector?.("canvas") : null, r = e ? n?.getBoundingClientRect?.() : void 0;
6266
6746
  t(e && r && r.width > 0 && r.height > 0 ? {
6267
6747
  canvas: e,
6268
6748
  width: r.width,
@@ -6274,7 +6754,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6274
6754
  try {
6275
6755
  let i = J.createSelectorQuery?.();
6276
6756
  if (!i) return r();
6277
- let a = cs(n);
6757
+ let a = Es(n);
6278
6758
  a && (i = i.in(a)), i.select(`#${d}`).fields({
6279
6759
  node: !0,
6280
6760
  size: !0,
@@ -6298,11 +6778,11 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6298
6778
  left: e.left,
6299
6779
  top: e.top
6300
6780
  };
6301
- let t = Wo({
6781
+ let t = cs({
6302
6782
  canvas: e.canvas,
6303
6783
  width: e.width,
6304
6784
  height: e.height,
6305
- pixelRatio: ss(),
6785
+ pixelRatio: Ts(),
6306
6786
  options: v.current,
6307
6787
  theme: y.current
6308
6788
  });
@@ -6311,7 +6791,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6311
6791
  n.push(t.on("hover", (e) => r().onHover?.(e)), t.on("click", (e) => r().onPointClick?.(e)), t.on("plotClick", (e) => r().onPlotClick?.(e)), t.on("zoom", (e) => r().onZoom?.(e)), t.on("drop", (e) => r().onDrop?.(e)));
6312
6792
  }, a = (n) => {
6313
6793
  e || r((r) => {
6314
- e || g.current || (r ? i(r) : n < ls && (t = setTimeout(() => a(n + 1), us)));
6794
+ e || g.current || (r ? i(r) : n < Ds && (t = setTimeout(() => a(n + 1), Os)));
6315
6795
  });
6316
6796
  };
6317
6797
  x.current = () => {
@@ -6322,18 +6802,18 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6322
6802
  t && n && !e && (_.current = {
6323
6803
  left: t.left,
6324
6804
  top: t.top
6325
- }, n.resize(t.width, t.height, ss()));
6805
+ }, n.resize(t.width, t.height, Ts()));
6326
6806
  });
6327
6807
  }
6328
6808
  }, J.nextTick(() => {
6329
6809
  if (e) return;
6330
- let t = h.current, n = es ? t?.componentOnReady?.() : void 0;
6810
+ let t = h.current, n = vs ? t?.componentOnReady?.() : void 0;
6331
6811
  n ? n.then(() => a(0), () => a(0)) : a(0);
6332
6812
  });
6333
6813
  let o = () => x.current();
6334
6814
  J.onWindowResize?.(o);
6335
6815
  let s;
6336
- if (es && typeof ResizeObserver < "u") {
6816
+ if (vs && typeof ResizeObserver < "u") {
6337
6817
  let e = h.current?.parentNode;
6338
6818
  if (e) {
6339
6819
  let t = !0;
@@ -6365,7 +6845,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6365
6845
  resize: () => x.current()
6366
6846
  }), []);
6367
6847
  let C = ue(() => {
6368
- let e = 0, t = () => (es ? h.current?.getBoundingClientRect?.() : null) ?? _.current, n = (e) => {
6848
+ let e = 0, t = () => (vs ? h.current?.getBoundingClientRect?.() : null) ?? _.current, n = (e) => {
6369
6849
  if (!e) return [];
6370
6850
  let n;
6371
6851
  return Array.from(e, (e, r) => {
@@ -6388,7 +6868,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6388
6868
  t === "touchCancel" ? i.touchCancel(o.length ? o : void 0) : i[t](o);
6389
6869
  }, i = !1, a = (n) => (r) => {
6390
6870
  let a = g.current;
6391
- if (!a || Date.now() - e < ds) return;
6871
+ if (!a || Date.now() - e < ks) return;
6392
6872
  let o = r, s = t();
6393
6873
  if (n === "pointerDown") i = !0;
6394
6874
  else if (n === "pointerUp") {
@@ -6402,7 +6882,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6402
6882
  onTouchMove: r("touchMove"),
6403
6883
  onTouchEnd: r("touchEnd"),
6404
6884
  onTouchCancel: r("touchCancel"),
6405
- ...es ? {
6885
+ ...vs ? {
6406
6886
  onMouseDown: a("pointerDown"),
6407
6887
  onMouseMove: a("pointerMove"),
6408
6888
  onMouseUp: a("pointerUp"),
@@ -6425,8 +6905,8 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6425
6905
  "aria-label": o,
6426
6906
  style: {
6427
6907
  position: "relative",
6428
- width: os(n),
6429
- height: os(t),
6908
+ width: ws(n),
6909
+ height: ws(t),
6430
6910
  ...i
6431
6911
  },
6432
6912
  children: /* @__PURE__ */ Y(de, {
@@ -6440,7 +6920,7 @@ function fs({ options: e, height: t = 320, width: n = "100%", className: r, styl
6440
6920
  })
6441
6921
  });
6442
6922
  }
6443
- var ps = (e) => ({
6923
+ var js = (e) => ({
6444
6924
  height: e.height,
6445
6925
  width: e.width,
6446
6926
  className: e.className,
@@ -6453,43 +6933,43 @@ var ps = (e) => ({
6453
6933
  onPlotClick: e.onPlotClick,
6454
6934
  onZoom: e.onZoom
6455
6935
  });
6456
- function ms(e, t) {
6457
- let n = rs(as(e));
6936
+ function Ms(e, t) {
6937
+ let n = xs(Cs(e));
6458
6938
  return ue(() => ({
6459
6939
  ...n,
6460
6940
  series: t
6461
6941
  }), [n, t]);
6462
6942
  }
6463
- var hs = ce(function(e, t) {
6464
- let n = ms(e, e.series);
6465
- return /* @__PURE__ */ Y(fs, {
6943
+ var Ns = ce(function(e, t) {
6944
+ let n = Ms(e, e.series);
6945
+ return /* @__PURE__ */ Y(As, {
6466
6946
  options: n,
6467
- ...ps(e),
6947
+ ...js(e),
6468
6948
  handleRef: t
6469
6949
  });
6470
- }), gs = ce(function(e, t) {
6471
- let { series: n, area: r = !1 } = e, i = ms(e, ue(() => Ko(n, r), [n, r]));
6472
- return /* @__PURE__ */ Y(fs, {
6950
+ }), Ps = ce(function(e, t) {
6951
+ let { series: n, area: r = !1 } = e, i = Ms(e, ue(() => us(n, r), [n, r]));
6952
+ return /* @__PURE__ */ Y(As, {
6473
6953
  options: i,
6474
- ...ps(e),
6954
+ ...js(e),
6475
6955
  handleRef: t
6476
6956
  });
6477
- }), _s = ce(function(e, t) {
6478
- let { series: n, stacked: r = !1 } = e, i = ms(e, ue(() => qo(n, r), [n, r]));
6479
- return /* @__PURE__ */ Y(fs, {
6957
+ }), Fs = ce(function(e, t) {
6958
+ let { series: n, stacked: r = !1 } = e, i = Ms(e, ue(() => ds(n, r), [n, r]));
6959
+ return /* @__PURE__ */ Y(As, {
6480
6960
  options: i,
6481
- ...ps(e),
6961
+ ...js(e),
6482
6962
  handleRef: t
6483
6963
  });
6484
- }), vs = ce(function(e, t) {
6485
- let { series: n } = e, r = ms(e, ue(() => Jo(n), [n]));
6486
- return /* @__PURE__ */ Y(fs, {
6964
+ }), Is = ce(function(e, t) {
6965
+ let { series: n } = e, r = Ms(e, ue(() => fs(n), [n]));
6966
+ return /* @__PURE__ */ Y(As, {
6487
6967
  options: r,
6488
- ...ps(e),
6968
+ ...js(e),
6489
6969
  handleRef: t
6490
6970
  });
6491
- }), ys = ce(function(e, t) {
6492
- let { points: n, onPointClick: r, onPointDrop: i, onQuadrantClick: a } = e, o = e.draggable ?? !!i, s = rs({
6971
+ }), Ls = ce(function(e, t) {
6972
+ let { points: n, onPointClick: r, onPointDrop: i, onQuadrantClick: a } = e, o = e.draggable ?? !!i, s = xs({
6493
6973
  points: n,
6494
6974
  xDomain: e.xDomain,
6495
6975
  yDomain: e.yDomain,
@@ -6505,10 +6985,10 @@ var hs = ce(function(e, t) {
6505
6985
  pointSize: e.pointSize,
6506
6986
  name: e.name,
6507
6987
  draggable: o
6508
- }), c = rs(as(e)), l = ue(() => $o(s, c), [s, c]), u = (e) => e !== void 0 && n[e] ? n[e] : void 0;
6509
- return /* @__PURE__ */ Y(fs, {
6988
+ }), c = xs(Cs(e)), l = ue(() => _s(s, c), [s, c]), u = (e) => e !== void 0 && n[e] ? n[e] : void 0;
6989
+ return /* @__PURE__ */ Y(As, {
6510
6990
  options: l,
6511
- ...ps({
6991
+ ...js({
6512
6992
  ...e,
6513
6993
  onPointClick: void 0,
6514
6994
  onPlotClick: void 0,
@@ -6519,16 +6999,16 @@ var hs = ce(function(e, t) {
6519
6999
  let t = e.items[0]?.index, n = u(t);
6520
7000
  n && r(n, t);
6521
7001
  } : void 0,
6522
- onPlotClick: a ? (e) => a(Qo(s, e.x, e.y), e) : void 0,
7002
+ onPlotClick: a ? (e) => a(gs(s, e.x, e.y), e) : void 0,
6523
7003
  onDrop: i ? (e) => {
6524
7004
  let t = e.item.index, n = u(t);
6525
7005
  n && i(n, t, {
6526
7006
  x: e.x,
6527
7007
  y: e.y,
6528
- quadrant: Qo(s, e.x, e.y)
7008
+ quadrant: gs(s, e.x, e.y)
6529
7009
  });
6530
7010
  } : void 0
6531
7011
  });
6532
7012
  });
6533
7013
  //#endregion
6534
- export { Wr as Alert, bi as AppShell, y as AutoComplete, Mr as Avatar, Nr as AvatarGroup, Pr as Badge, _s as BarChart, ci as Box, I as Button, Ir as Card, Br as CardContent, zr as CardDescription, Vr as CardFooter, Lr as CardHeader, Rr as CardTitle, M as Cascader, hs as Chart, F as Checkbox, x as CheckboxGroup, ii as CodeBlock, Wt as CommandDialog, D as ConfigProvider, Et as ConfirmDialog, kt as ConfirmProvider, Ut as ContextMenu, Ai as DataTable, Fi as DatePicker, ti as DescriptionItem, ei as DescriptionList, qr as Divider, gt as Drawer, pt as DrawerBody, ht as DrawerClose, dt as DrawerContent, mt as DrawerFooter, ft as DrawerHeader, lt as DrawerRoot, ut as DrawerTrigger, Jr as Empty, k as FormControl, L as FormErrorMessage, S as FormField, C as FormHelperText, N as FormLabel, mi as FormLayout, pi as GridItem, ui as HStack, oi as HtmlPreview, Ur as IconButton, j as Input, A as JsonField, T as KeyValueEditor, gs as LineChart, ni as List, ri as ListItem, Qr as LoadingState, Ht as Menu, Nt as MenuCheckboxItem, Ft as MenuGroup, Mt as MenuItem, It as MenuLabel, Pt as MenuRadioItem, Lt as MenuSeparator, ct as Modal, ot as ModalBody, tt as ModalClose, rt as ModalContent, st as ModalFooter, at as ModalHeader, Qe as ModalRoot, et as ModalTrigger, Mi as MonthCalendar, Xe as NavTree, w as NumberInput, gi as Page, _i as PageHeader, vi as PageSection, qe as PageTab, Z as PageTabs, Je as Pagination, l as PaletteToggle, vt as Popover, bt as PopoverAnchor, xt as PopoverClose, St as PopoverContent, yt as PopoverTrigger, u as PresetToggle, Zr as ProgressIndicator, ai as Prose, ys as QuadrantChart, v as Radio, ee as RadioGroup, ne as Rating, b as RatingScale, fi as ResponsiveGrid, vs as ScatterChart, R as Select, m as SelectGroup, n as SelectItem, te as SelectLabel, h as SelectSeparator, Yr as Skeleton, Xr as SkeletonText, hi as SplitLayout, li as Stack, Hr as StatCard, Ge as Steps, P as Switch, Ue as Tab, He as TabList, We as TabPanel, ki as Table, wi as TableBody, Di as TableCell, Oi as TableCellContent, Ci as TableHead, Ei as TableHeader, Si as TableRoot, Ti as TableRow, Be as Tabs, Kr as Tag, i as TagInput, $r as TextLink, r as Textarea, f as ThemeProvider, a as ThemeToggle, Ni as TimePicker, Xt as ToastProvider, yi as Toolbar, wt as Tooltip, Tt as TooltipProvider, Pi as Upload, di as VStack, ji as VirtualList, Dt as confirm, E as miniTokenClassNames, Yt as toast, At as useConfirm, d as useFieldState, s as useI18n, c as useOptionalTheme, p as useTheme, re as useThemeTokens, Zt as useToast };
7014
+ export { Wr as Alert, bi as AppShell, y as AutoComplete, Mr as Avatar, Nr as AvatarGroup, Pr as Badge, Fs as BarChart, ci as Box, I as Button, Ir as Card, Br as CardContent, zr as CardDescription, Vr as CardFooter, Lr as CardHeader, Rr as CardTitle, M as Cascader, Ns as Chart, F as Checkbox, x as CheckboxGroup, ii as CodeBlock, Wt as CommandDialog, D as ConfigProvider, Et as ConfirmDialog, kt as ConfirmProvider, Ut as ContextMenu, Ai as DataTable, Fi as DatePicker, ti as DescriptionItem, ei as DescriptionList, qr as Divider, gt as Drawer, pt as DrawerBody, ht as DrawerClose, dt as DrawerContent, mt as DrawerFooter, ft as DrawerHeader, lt as DrawerRoot, ut as DrawerTrigger, Jr as Empty, k as FormControl, L as FormErrorMessage, S as FormField, C as FormHelperText, N as FormLabel, mi as FormLayout, pi as GridItem, ui as HStack, oi as HtmlPreview, Ur as IconButton, j as Input, A as JsonField, T as KeyValueEditor, Ps as LineChart, ni as List, ri as ListItem, Qr as LoadingState, Ht as Menu, Nt as MenuCheckboxItem, Ft as MenuGroup, Mt as MenuItem, It as MenuLabel, Pt as MenuRadioItem, Lt as MenuSeparator, ct as Modal, ot as ModalBody, tt as ModalClose, rt as ModalContent, st as ModalFooter, at as ModalHeader, Qe as ModalRoot, et as ModalTrigger, Mi as MonthCalendar, Xe as NavTree, w as NumberInput, gi as Page, _i as PageHeader, vi as PageSection, qe as PageTab, Z as PageTabs, Je as Pagination, l as PaletteToggle, vt as Popover, bt as PopoverAnchor, xt as PopoverClose, St as PopoverContent, yt as PopoverTrigger, u as PresetToggle, Zr as ProgressIndicator, ai as Prose, Ls as QuadrantChart, v as Radio, ee as RadioGroup, ne as Rating, b as RatingScale, fi as ResponsiveGrid, Is as ScatterChart, R as Select, m as SelectGroup, n as SelectItem, te as SelectLabel, h as SelectSeparator, Yr as Skeleton, Xr as SkeletonText, hi as SplitLayout, li as Stack, Hr as StatCard, Ge as Steps, P as Switch, Ue as Tab, He as TabList, We as TabPanel, ki as Table, wi as TableBody, Di as TableCell, Oi as TableCellContent, Ci as TableHead, Ei as TableHeader, Si as TableRoot, Ti as TableRow, Be as Tabs, Kr as Tag, i as TagInput, $r as TextLink, r as Textarea, f as ThemeProvider, a as ThemeToggle, Ni as TimePicker, Xt as ToastProvider, yi as Toolbar, wt as Tooltip, Tt as TooltipProvider, Pi as Upload, di as VStack, ji as VirtualList, Dt as confirm, E as miniTokenClassNames, Yt as toast, At as useConfirm, d as useFieldState, s as useI18n, c as useOptionalTheme, p as useTheme, re as useThemeTokens, Zt as useToast };