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