minerva-design 1.2.0 → 1.4.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 (1226) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +10 -2
  8. package/dist/charts/canvas.d.ts +10 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +9 -3
  11. package/dist/charts/core.d.ts +9 -3
  12. package/dist/charts/core.js +19 -6
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +161 -99
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -2
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +390 -349
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +17 -0
  32. package/dist/charts/engine/color.d.ts +17 -0
  33. package/dist/charts/engine/color.js +27 -3
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +17 -2
  38. package/dist/charts/engine/controller.d.ts +17 -2
  39. package/dist/charts/engine/controller.js +404 -280
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/curve.cjs +2 -0
  42. package/dist/charts/engine/curve.cjs.map +1 -0
  43. package/dist/charts/engine/curve.d.cts +15 -0
  44. package/dist/charts/engine/curve.d.ts +15 -0
  45. package/dist/charts/engine/curve.js +56 -0
  46. package/dist/charts/engine/curve.js.map +1 -0
  47. package/dist/charts/engine/data.cjs +1 -1
  48. package/dist/charts/engine/data.cjs.map +1 -1
  49. package/dist/charts/engine/data.d.cts +21 -2
  50. package/dist/charts/engine/data.d.ts +21 -2
  51. package/dist/charts/engine/data.js +117 -43
  52. package/dist/charts/engine/data.js.map +1 -1
  53. package/dist/charts/engine/dom.cjs +1 -1
  54. package/dist/charts/engine/dom.cjs.map +1 -1
  55. package/dist/charts/engine/dom.d.cts +5 -3
  56. package/dist/charts/engine/dom.d.ts +5 -3
  57. package/dist/charts/engine/dom.js +27 -22
  58. package/dist/charts/engine/dom.js.map +1 -1
  59. package/dist/charts/engine/format.cjs +1 -1
  60. package/dist/charts/engine/format.cjs.map +1 -1
  61. package/dist/charts/engine/format.d.cts +21 -6
  62. package/dist/charts/engine/format.d.ts +21 -6
  63. package/dist/charts/engine/format.js +46 -21
  64. package/dist/charts/engine/format.js.map +1 -1
  65. package/dist/charts/engine/items.cjs +1 -1
  66. package/dist/charts/engine/items.cjs.map +1 -1
  67. package/dist/charts/engine/items.js +290 -62
  68. package/dist/charts/engine/items.js.map +1 -1
  69. package/dist/charts/engine/labels.cjs +2 -0
  70. package/dist/charts/engine/labels.cjs.map +1 -0
  71. package/dist/charts/engine/labels.d.cts +13 -0
  72. package/dist/charts/engine/labels.d.ts +13 -0
  73. package/dist/charts/engine/labels.js +74 -0
  74. package/dist/charts/engine/labels.js.map +1 -0
  75. package/dist/charts/engine/layout.cjs +1 -1
  76. package/dist/charts/engine/layout.cjs.map +1 -1
  77. package/dist/charts/engine/layout.d.cts +34 -2
  78. package/dist/charts/engine/layout.d.ts +34 -2
  79. package/dist/charts/engine/layout.js +53 -12
  80. package/dist/charts/engine/layout.js.map +1 -1
  81. package/dist/charts/engine/locale.cjs +2 -0
  82. package/dist/charts/engine/locale.cjs.map +1 -0
  83. package/dist/charts/engine/locale.d.cts +33 -0
  84. package/dist/charts/engine/locale.d.ts +33 -0
  85. package/dist/charts/engine/locale.js +68 -0
  86. package/dist/charts/engine/locale.js.map +1 -0
  87. package/dist/charts/engine/model.cjs +1 -1
  88. package/dist/charts/engine/model.cjs.map +1 -1
  89. package/dist/charts/engine/model.d.cts +68 -3
  90. package/dist/charts/engine/model.d.ts +68 -3
  91. package/dist/charts/engine/model.js +332 -108
  92. package/dist/charts/engine/model.js.map +1 -1
  93. package/dist/charts/engine/orderbook/book.cjs +2 -0
  94. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  95. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  96. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  97. package/dist/charts/engine/orderbook/book.js +134 -0
  98. package/dist/charts/engine/orderbook/book.js.map +1 -0
  99. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  100. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  101. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  102. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  103. package/dist/charts/engine/orderbook/depth.js +413 -0
  104. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  105. package/dist/charts/engine/orderbook/format.cjs +2 -0
  106. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  107. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  108. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  109. package/dist/charts/engine/orderbook/format.js +65 -0
  110. package/dist/charts/engine/orderbook/format.js.map +1 -0
  111. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  112. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  113. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  114. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  115. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  116. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  117. package/dist/charts/engine/orderbook/host.cjs +2 -0
  118. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  119. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  120. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  121. package/dist/charts/engine/orderbook/host.js +161 -0
  122. package/dist/charts/engine/orderbook/host.js.map +1 -0
  123. package/dist/charts/engine/orderbook/index.cjs +1 -0
  124. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  125. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  126. package/dist/charts/engine/orderbook/index.js +6 -0
  127. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  128. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  129. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  130. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  131. package/dist/charts/engine/orderbook/ladder.js +341 -0
  132. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  133. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  134. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  135. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  136. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  137. package/dist/charts/engine/orderbook/tape.js +450 -0
  138. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  139. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  140. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  141. package/dist/charts/engine/overlay.cjs +1 -1
  142. package/dist/charts/engine/overlay.cjs.map +1 -1
  143. package/dist/charts/engine/overlay.d.cts +18 -0
  144. package/dist/charts/engine/overlay.d.ts +18 -0
  145. package/dist/charts/engine/overlay.js +138 -102
  146. package/dist/charts/engine/overlay.js.map +1 -1
  147. package/dist/charts/engine/presets.cjs +2 -2
  148. package/dist/charts/engine/presets.cjs.map +1 -1
  149. package/dist/charts/engine/presets.d.cts +319 -5
  150. package/dist/charts/engine/presets.d.ts +319 -5
  151. package/dist/charts/engine/presets.js +463 -38
  152. package/dist/charts/engine/presets.js.map +1 -1
  153. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  154. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  155. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  156. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  157. package/dist/charts/engine/renderers/detect.cjs +1 -1
  158. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  159. package/dist/charts/engine/renderers/detect.js +18 -15
  160. package/dist/charts/engine/renderers/detect.js.map +1 -1
  161. package/dist/charts/engine/renderers/gl.cjs +2 -0
  162. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  163. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  164. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  165. package/dist/charts/engine/renderers/gl.js +56 -0
  166. package/dist/charts/engine/renderers/gl.js.map +1 -0
  167. package/dist/charts/engine/renderers/range.cjs +1 -1
  168. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  169. package/dist/charts/engine/renderers/range.js +4 -4
  170. package/dist/charts/engine/renderers/range.js.map +1 -1
  171. package/dist/charts/engine/renderers/shaders.cjs +180 -20
  172. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  173. package/dist/charts/engine/renderers/shaders.d.cts +18 -2
  174. package/dist/charts/engine/renderers/shaders.d.ts +18 -2
  175. package/dist/charts/engine/renderers/shaders.js +176 -20
  176. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  177. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  178. package/dist/charts/engine/renderers/types.d.cts +11 -4
  179. package/dist/charts/engine/renderers/types.d.ts +11 -4
  180. package/dist/charts/engine/renderers/types.js.map +1 -1
  181. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  182. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  183. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  184. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  185. package/dist/charts/engine/renderers/webgl.js +133 -0
  186. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  187. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  188. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  189. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  190. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  191. package/dist/charts/engine/renderers/webgl2.js +62 -90
  192. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  193. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  194. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  195. package/dist/charts/engine/renderers/webgpu.js +18 -15
  196. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  197. package/dist/charts/engine/scale.cjs +1 -1
  198. package/dist/charts/engine/scale.cjs.map +1 -1
  199. package/dist/charts/engine/scale.js +1 -1
  200. package/dist/charts/engine/scale.js.map +1 -1
  201. package/dist/charts/engine/scene.cjs +1 -1
  202. package/dist/charts/engine/scene.cjs.map +1 -1
  203. package/dist/charts/engine/scene.d.cts +32 -9
  204. package/dist/charts/engine/scene.d.ts +32 -9
  205. package/dist/charts/engine/scene.js +363 -122
  206. package/dist/charts/engine/scene.js.map +1 -1
  207. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  208. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  209. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  210. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  211. package/dist/charts/engine/shapes/bullet.js +255 -0
  212. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  213. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  214. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  215. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  216. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  217. package/dist/charts/engine/shapes/calendar.js +369 -0
  218. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  219. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  220. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  221. package/dist/charts/engine/shapes/canvas.d.cts +65 -0
  222. package/dist/charts/engine/shapes/canvas.d.ts +65 -0
  223. package/dist/charts/engine/shapes/canvas.js +168 -0
  224. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  225. package/dist/charts/engine/shapes/chart.cjs +2 -0
  226. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  227. package/dist/charts/engine/shapes/chart.d.cts +7 -0
  228. package/dist/charts/engine/shapes/chart.d.ts +7 -0
  229. package/dist/charts/engine/shapes/chart.js +292 -0
  230. package/dist/charts/engine/shapes/chart.js.map +1 -0
  231. package/dist/charts/engine/shapes/draw.cjs +2 -0
  232. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  233. package/dist/charts/engine/shapes/draw.d.cts +22 -0
  234. package/dist/charts/engine/shapes/draw.d.ts +22 -0
  235. package/dist/charts/engine/shapes/draw.js +165 -0
  236. package/dist/charts/engine/shapes/draw.js.map +1 -0
  237. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  238. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  239. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  240. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  241. package/dist/charts/engine/shapes/funnel.js +149 -0
  242. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  243. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  244. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  245. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  246. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  247. package/dist/charts/engine/shapes/gauge.js +210 -0
  248. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  249. package/dist/charts/engine/shapes/hit.cjs +2 -0
  250. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  251. package/dist/charts/engine/shapes/hit.d.cts +30 -0
  252. package/dist/charts/engine/shapes/hit.d.ts +30 -0
  253. package/dist/charts/engine/shapes/hit.js +145 -0
  254. package/dist/charts/engine/shapes/hit.js.map +1 -0
  255. package/dist/charts/engine/shapes/index.d.cts +12 -0
  256. package/dist/charts/engine/shapes/index.d.ts +12 -0
  257. package/dist/charts/engine/shapes/labels.cjs +2 -0
  258. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  260. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  261. package/dist/charts/engine/shapes/labels.js +146 -0
  262. package/dist/charts/engine/shapes/labels.js.map +1 -0
  263. package/dist/charts/engine/shapes/layout.cjs +3 -0
  264. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/layout.d.cts +93 -0
  266. package/dist/charts/engine/shapes/layout.d.ts +93 -0
  267. package/dist/charts/engine/shapes/layout.js +353 -0
  268. package/dist/charts/engine/shapes/layout.js.map +1 -0
  269. package/dist/charts/engine/shapes/pie.cjs +2 -0
  270. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  272. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  273. package/dist/charts/engine/shapes/pie.js +302 -0
  274. package/dist/charts/engine/shapes/pie.js.map +1 -0
  275. package/dist/charts/engine/shapes/radar.cjs +2 -0
  276. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  277. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  278. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  279. package/dist/charts/engine/shapes/radar.js +198 -0
  280. package/dist/charts/engine/shapes/radar.js.map +1 -0
  281. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  282. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  283. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  284. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  285. package/dist/charts/engine/shapes/radialBar.js +155 -0
  286. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  287. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  288. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  289. package/dist/charts/engine/shapes/runtime.d.cts +36 -0
  290. package/dist/charts/engine/shapes/runtime.d.ts +36 -0
  291. package/dist/charts/engine/shapes/runtime.js +107 -0
  292. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  293. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  294. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  295. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  296. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  297. package/dist/charts/engine/shapes/sankey.js +372 -0
  298. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  299. package/dist/charts/engine/shapes/scene.cjs +2 -0
  300. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  301. package/dist/charts/engine/shapes/scene.d.cts +311 -0
  302. package/dist/charts/engine/shapes/scene.d.ts +311 -0
  303. package/dist/charts/engine/shapes/scene.js +125 -0
  304. package/dist/charts/engine/shapes/scene.js.map +1 -0
  305. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  306. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  307. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  308. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  309. package/dist/charts/engine/shapes/sunburst.js +261 -0
  310. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  311. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  312. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  313. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  314. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  315. package/dist/charts/engine/shapes/treemap.js +213 -0
  316. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  317. package/dist/charts/engine/shapes/types.d.cts +719 -0
  318. package/dist/charts/engine/shapes/types.d.ts +719 -0
  319. package/dist/charts/engine/signature.cjs +2 -0
  320. package/dist/charts/engine/signature.cjs.map +1 -0
  321. package/dist/charts/engine/signature.d.cts +9 -0
  322. package/dist/charts/engine/signature.d.ts +9 -0
  323. package/dist/charts/engine/signature.js +13 -0
  324. package/dist/charts/engine/signature.js.map +1 -0
  325. package/dist/charts/engine/theme.cjs +1 -1
  326. package/dist/charts/engine/theme.cjs.map +1 -1
  327. package/dist/charts/engine/theme.d.cts +10 -1
  328. package/dist/charts/engine/theme.d.ts +10 -1
  329. package/dist/charts/engine/theme.js +40 -16
  330. package/dist/charts/engine/theme.js.map +1 -1
  331. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  332. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  333. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  334. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  335. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  336. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  337. package/dist/charts/engine/three-d/chart.cjs +2 -0
  338. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  339. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  340. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  341. package/dist/charts/engine/three-d/chart.js +621 -0
  342. package/dist/charts/engine/three-d/chart.js.map +1 -0
  343. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  344. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  345. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  346. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  347. package/dist/charts/engine/three-d/colormap.js +166 -0
  348. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  349. package/dist/charts/engine/three-d/contours.cjs +2 -0
  350. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  351. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  352. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  353. package/dist/charts/engine/three-d/contours.js +47 -0
  354. package/dist/charts/engine/three-d/contours.js.map +1 -0
  355. package/dist/charts/engine/three-d/detect.cjs +2 -0
  356. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  357. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  358. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  359. package/dist/charts/engine/three-d/detect.js +35 -0
  360. package/dist/charts/engine/three-d/detect.js.map +1 -0
  361. package/dist/charts/engine/three-d/dom.cjs +2 -0
  362. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  363. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  364. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  365. package/dist/charts/engine/three-d/dom.js +98 -0
  366. package/dist/charts/engine/three-d/dom.js.map +1 -0
  367. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  368. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  369. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  370. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  371. package/dist/charts/engine/three-d/geometry.js +529 -0
  372. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  373. package/dist/charts/engine/three-d/hover.cjs +2 -0
  374. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  375. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  376. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  377. package/dist/charts/engine/three-d/hover.js +131 -0
  378. package/dist/charts/engine/three-d/hover.js.map +1 -0
  379. package/dist/charts/engine/three-d/index.cjs +1 -0
  380. package/dist/charts/engine/three-d/index.d.cts +2 -0
  381. package/dist/charts/engine/three-d/index.d.ts +2 -0
  382. package/dist/charts/engine/three-d/index.js +2 -0
  383. package/dist/charts/engine/three-d/labels.cjs +2 -0
  384. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  386. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  387. package/dist/charts/engine/three-d/labels.js +136 -0
  388. package/dist/charts/engine/three-d/labels.js.map +1 -0
  389. package/dist/charts/engine/three-d/math.cjs +2 -0
  390. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/math.d.cts +84 -0
  392. package/dist/charts/engine/three-d/math.d.ts +84 -0
  393. package/dist/charts/engine/three-d/math.js +150 -0
  394. package/dist/charts/engine/three-d/math.js.map +1 -0
  395. package/dist/charts/engine/three-d/model.cjs +2 -0
  396. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  397. package/dist/charts/engine/three-d/model.d.cts +130 -0
  398. package/dist/charts/engine/three-d/model.d.ts +130 -0
  399. package/dist/charts/engine/three-d/model.js +277 -0
  400. package/dist/charts/engine/three-d/model.js.map +1 -0
  401. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  402. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  403. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  404. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  405. package/dist/charts/engine/three-d/overlay.js +197 -0
  406. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  407. package/dist/charts/engine/three-d/pick.cjs +2 -0
  408. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  409. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  410. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  411. package/dist/charts/engine/three-d/pick.js +220 -0
  412. package/dist/charts/engine/three-d/pick.js.map +1 -0
  413. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  414. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  415. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  416. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  417. package/dist/charts/engine/three-d/render-types.js +13 -0
  418. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  419. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  420. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  421. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  422. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  423. package/dist/charts/engine/three-d/shaders.js +191 -0
  424. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  425. package/dist/charts/engine/three-d/sort.cjs +2 -0
  426. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  427. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  428. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  429. package/dist/charts/engine/three-d/sort.js +71 -0
  430. package/dist/charts/engine/three-d/sort.js.map +1 -0
  431. package/dist/charts/engine/three-d/types.d.cts +588 -0
  432. package/dist/charts/engine/three-d/types.d.ts +588 -0
  433. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  434. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  436. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  437. package/dist/charts/engine/three-d/webgl.js +130 -0
  438. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  439. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  440. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  442. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  443. package/dist/charts/engine/three-d/webgpu.js +249 -0
  444. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  445. package/dist/charts/engine/time.cjs +1 -1
  446. package/dist/charts/engine/time.cjs.map +1 -1
  447. package/dist/charts/engine/time.d.cts +13 -4
  448. package/dist/charts/engine/time.d.ts +13 -4
  449. package/dist/charts/engine/time.js +156 -91
  450. package/dist/charts/engine/time.js.map +1 -1
  451. package/dist/charts/engine/trading/chart.cjs +2 -0
  452. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  453. package/dist/charts/engine/trading/chart.d.cts +3 -0
  454. package/dist/charts/engine/trading/chart.d.ts +3 -0
  455. package/dist/charts/engine/trading/chart.js +1507 -0
  456. package/dist/charts/engine/trading/chart.js.map +1 -0
  457. package/dist/charts/engine/trading/drawings.cjs +2 -0
  458. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  459. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  460. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  461. package/dist/charts/engine/trading/drawings.js +160 -0
  462. package/dist/charts/engine/trading/drawings.js.map +1 -0
  463. package/dist/charts/engine/trading/format.cjs +2 -0
  464. package/dist/charts/engine/trading/format.cjs.map +1 -0
  465. package/dist/charts/engine/trading/format.d.cts +60 -0
  466. package/dist/charts/engine/trading/format.d.ts +60 -0
  467. package/dist/charts/engine/trading/format.js +131 -0
  468. package/dist/charts/engine/trading/format.js.map +1 -0
  469. package/dist/charts/engine/trading/geometry.cjs +2 -0
  470. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  471. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  472. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  473. package/dist/charts/engine/trading/geometry.js +131 -0
  474. package/dist/charts/engine/trading/geometry.js.map +1 -0
  475. package/dist/charts/engine/trading/index.cjs +1 -0
  476. package/dist/charts/engine/trading/index.d.cts +3 -0
  477. package/dist/charts/engine/trading/index.d.ts +3 -0
  478. package/dist/charts/engine/trading/index.js +3 -0
  479. package/dist/charts/engine/trading/indicators.cjs +2 -0
  480. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  481. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  482. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  483. package/dist/charts/engine/trading/indicators.js +268 -0
  484. package/dist/charts/engine/trading/indicators.js.map +1 -0
  485. package/dist/charts/engine/trading/labels.cjs +2 -0
  486. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  487. package/dist/charts/engine/trading/labels.d.cts +7 -0
  488. package/dist/charts/engine/trading/labels.d.ts +7 -0
  489. package/dist/charts/engine/trading/labels.js +91 -0
  490. package/dist/charts/engine/trading/labels.js.map +1 -0
  491. package/dist/charts/engine/trading/scale.cjs +2 -0
  492. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  493. package/dist/charts/engine/trading/scale.d.cts +46 -0
  494. package/dist/charts/engine/trading/scale.d.ts +46 -0
  495. package/dist/charts/engine/trading/scale.js +100 -0
  496. package/dist/charts/engine/trading/scale.js.map +1 -0
  497. package/dist/charts/engine/trading/store.cjs +2 -0
  498. package/dist/charts/engine/trading/store.cjs.map +1 -0
  499. package/dist/charts/engine/trading/store.d.cts +62 -0
  500. package/dist/charts/engine/trading/store.d.ts +62 -0
  501. package/dist/charts/engine/trading/store.js +129 -0
  502. package/dist/charts/engine/trading/store.js.map +1 -0
  503. package/dist/charts/engine/trading/studies.cjs +2 -0
  504. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  505. package/dist/charts/engine/trading/studies.d.cts +52 -0
  506. package/dist/charts/engine/trading/studies.d.ts +52 -0
  507. package/dist/charts/engine/trading/studies.js +254 -0
  508. package/dist/charts/engine/trading/studies.js.map +1 -0
  509. package/dist/charts/engine/trading/types.d.cts +656 -0
  510. package/dist/charts/engine/trading/types.d.ts +656 -0
  511. package/dist/charts/engine/types.d.cts +227 -15
  512. package/dist/charts/engine/types.d.ts +227 -15
  513. package/dist/charts/index.cjs +1 -1
  514. package/dist/charts/index.d.cts +7 -2
  515. package/dist/charts/index.d.ts +7 -2
  516. package/dist/charts/index.js +22 -8
  517. package/dist/charts/react/Chart.cjs +1 -1
  518. package/dist/charts/react/Chart.cjs.map +1 -1
  519. package/dist/charts/react/Chart.d.cts +11 -4
  520. package/dist/charts/react/Chart.d.ts +11 -4
  521. package/dist/charts/react/Chart.js +70 -47
  522. package/dist/charts/react/Chart.js.map +1 -1
  523. package/dist/charts/react/charts.cjs +1 -1
  524. package/dist/charts/react/charts.cjs.map +1 -1
  525. package/dist/charts/react/charts.d.cts +48 -2
  526. package/dist/charts/react/charts.d.ts +48 -2
  527. package/dist/charts/react/charts.js +371 -76
  528. package/dist/charts/react/charts.js.map +1 -1
  529. package/dist/charts/react/orderbook.cjs +2 -0
  530. package/dist/charts/react/orderbook.cjs.map +1 -0
  531. package/dist/charts/react/orderbook.d.cts +142 -0
  532. package/dist/charts/react/orderbook.d.ts +142 -0
  533. package/dist/charts/react/orderbook.js +182 -0
  534. package/dist/charts/react/orderbook.js.map +1 -0
  535. package/dist/charts/react/shapes.cjs +2 -0
  536. package/dist/charts/react/shapes.cjs.map +1 -0
  537. package/dist/charts/react/shapes.d.cts +537 -0
  538. package/dist/charts/react/shapes.d.ts +537 -0
  539. package/dist/charts/react/shapes.js +429 -0
  540. package/dist/charts/react/shapes.js.map +1 -0
  541. package/dist/charts/react/three-d.cjs +2 -0
  542. package/dist/charts/react/three-d.cjs.map +1 -0
  543. package/dist/charts/react/three-d.d.cts +151 -0
  544. package/dist/charts/react/three-d.d.ts +151 -0
  545. package/dist/charts/react/three-d.js +154 -0
  546. package/dist/charts/react/three-d.js.map +1 -0
  547. package/dist/charts/react/trading.cjs +2 -0
  548. package/dist/charts/react/trading.cjs.map +1 -0
  549. package/dist/charts/react/trading.d.cts +93 -0
  550. package/dist/charts/react/trading.d.ts +93 -0
  551. package/dist/charts/react/trading.js +95 -0
  552. package/dist/charts/react/trading.js.map +1 -0
  553. package/dist/charts/react/types.d.cts +200 -7
  554. package/dist/charts/react/types.d.ts +200 -7
  555. package/dist/core/contracts.cjs +1 -1
  556. package/dist/core/contracts.cjs.map +1 -1
  557. package/dist/core/contracts.js +1 -1
  558. package/dist/core/contracts.js.map +1 -1
  559. package/dist/native/charts/src/canvas.cjs +1 -1
  560. package/dist/native/charts/src/canvas.js +9 -3
  561. package/dist/native/charts/src/engine/axis.cjs +1 -1
  562. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  563. package/dist/native/charts/src/engine/axis.js +6 -6
  564. package/dist/native/charts/src/engine/axis.js.map +1 -1
  565. package/dist/native/charts/src/engine/color.cjs +1 -1
  566. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  567. package/dist/native/charts/src/engine/color.js +12 -3
  568. package/dist/native/charts/src/engine/color.js.map +1 -1
  569. package/dist/native/charts/src/engine/controller.cjs +2 -2
  570. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  571. package/dist/native/charts/src/engine/controller.js +418 -294
  572. package/dist/native/charts/src/engine/controller.js.map +1 -1
  573. package/dist/native/charts/src/engine/curve.cjs +2 -0
  574. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  575. package/dist/native/charts/src/engine/curve.js +56 -0
  576. package/dist/native/charts/src/engine/curve.js.map +1 -0
  577. package/dist/native/charts/src/engine/data.cjs +1 -1
  578. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  579. package/dist/native/charts/src/engine/data.js +117 -43
  580. package/dist/native/charts/src/engine/data.js.map +1 -1
  581. package/dist/native/charts/src/engine/format.cjs +1 -1
  582. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  583. package/dist/native/charts/src/engine/format.js +46 -21
  584. package/dist/native/charts/src/engine/format.js.map +1 -1
  585. package/dist/native/charts/src/engine/labels.cjs +2 -0
  586. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  587. package/dist/native/charts/src/engine/labels.js +74 -0
  588. package/dist/native/charts/src/engine/labels.js.map +1 -0
  589. package/dist/native/charts/src/engine/layout.cjs +1 -1
  590. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  591. package/dist/native/charts/src/engine/layout.js +53 -12
  592. package/dist/native/charts/src/engine/layout.js.map +1 -1
  593. package/dist/native/charts/src/engine/locale.cjs +2 -0
  594. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  595. package/dist/native/charts/src/engine/locale.js +60 -0
  596. package/dist/native/charts/src/engine/locale.js.map +1 -0
  597. package/dist/native/charts/src/engine/model.cjs +1 -1
  598. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  599. package/dist/native/charts/src/engine/model.js +335 -111
  600. package/dist/native/charts/src/engine/model.js.map +1 -1
  601. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  602. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  603. package/dist/native/charts/src/engine/overlay.js +54 -31
  604. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  605. package/dist/native/charts/src/engine/presets.cjs +2 -2
  606. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  607. package/dist/native/charts/src/engine/presets.js +456 -34
  608. package/dist/native/charts/src/engine/presets.js.map +1 -1
  609. package/dist/native/charts/src/engine/scale.cjs +1 -1
  610. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  611. package/dist/native/charts/src/engine/scale.js +1 -1
  612. package/dist/native/charts/src/engine/scale.js.map +1 -1
  613. package/dist/native/charts/src/engine/scene.cjs +1 -1
  614. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  615. package/dist/native/charts/src/engine/scene.js +369 -128
  616. package/dist/native/charts/src/engine/scene.js.map +1 -1
  617. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  618. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  620. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  622. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  624. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  626. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  627. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  628. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  629. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  630. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  631. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  632. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  633. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  634. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  635. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  636. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  637. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  638. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  639. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  640. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  641. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  642. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  643. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  644. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  645. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  646. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  647. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  648. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  649. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  650. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  651. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  652. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  653. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  654. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  655. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  656. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  657. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  658. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  659. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  660. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  661. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  662. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  663. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  664. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  665. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  666. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  667. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  668. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  669. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  670. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  671. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  672. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  673. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  674. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  675. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  676. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  678. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  680. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  682. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  684. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  685. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  686. package/dist/native/charts/src/engine/theme.js.map +1 -1
  687. package/dist/native/charts/src/engine/time.cjs +1 -1
  688. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  689. package/dist/native/charts/src/engine/time.js +156 -91
  690. package/dist/native/charts/src/engine/time.js.map +1 -1
  691. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  692. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  693. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  694. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  695. package/dist/native/components/Chart/ChartBase.js +110 -107
  696. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  697. package/dist/native/components/Chart/charts.cjs +1 -1
  698. package/dist/native/components/Chart/charts.cjs.map +1 -1
  699. package/dist/native/components/Chart/charts.d.cts +6 -1
  700. package/dist/native/components/Chart/charts.d.ts +6 -1
  701. package/dist/native/components/Chart/charts.js +53 -29
  702. package/dist/native/components/Chart/charts.js.map +1 -1
  703. package/dist/native/components/Chart/index.cjs +1 -1
  704. package/dist/native/components/Chart/index.d.cts +1 -1
  705. package/dist/native/components/Chart/index.d.ts +1 -1
  706. package/dist/native/components/Chart/index.js +2 -2
  707. package/dist/native/components/Chart/scene.cjs +1 -1
  708. package/dist/native/components/Chart/scene.cjs.map +1 -1
  709. package/dist/native/components/Chart/scene.js +244 -215
  710. package/dist/native/components/Chart/scene.js.map +1 -1
  711. package/dist/native/components/Chart/types.d.cts +26 -3
  712. package/dist/native/components/Chart/types.d.ts +26 -3
  713. package/dist/native/components/Charts/charts.cjs +2 -0
  714. package/dist/native/components/Charts/charts.cjs.map +1 -0
  715. package/dist/native/components/Charts/charts.d.cts +41 -0
  716. package/dist/native/components/Charts/charts.d.ts +41 -0
  717. package/dist/native/components/Charts/charts.js +338 -0
  718. package/dist/native/components/Charts/charts.js.map +1 -0
  719. package/dist/native/components/Charts/index.cjs +1 -0
  720. package/dist/native/components/Charts/index.d.cts +2 -0
  721. package/dist/native/components/Charts/index.d.ts +2 -0
  722. package/dist/native/components/Charts/index.js +2 -0
  723. package/dist/native/components/Charts/types.d.cts +144 -0
  724. package/dist/native/components/Charts/types.d.ts +144 -0
  725. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  726. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  727. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  728. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  729. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  730. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  731. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  732. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  733. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  734. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  735. package/dist/native/components/ShapeChart/charts.js +387 -0
  736. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  737. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  738. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  739. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  740. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  741. package/dist/native/components/ShapeChart/draw.js +104 -0
  742. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  743. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  744. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  745. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  746. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  747. package/dist/native/components/ShapeChart/geometry.js +602 -0
  748. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  749. package/dist/native/components/ShapeChart/index.cjs +1 -0
  750. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  751. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  752. package/dist/native/components/ShapeChart/index.js +2 -0
  753. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  754. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  755. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  756. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  757. package/dist/native/components/ShapeChart/recorder.js +574 -0
  758. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  759. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  760. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  761. package/dist/native/index.cjs +1 -1
  762. package/dist/native/index.d.cts +2 -0
  763. package/dist/native/index.d.ts +2 -0
  764. package/dist/native/index.js +14 -10
  765. package/dist/native/manifest.d.cts +6 -4
  766. package/dist/native/manifest.d.ts +6 -4
  767. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  768. package/dist/native/source/components/Chart/charts.tsx +42 -6
  769. package/dist/native/source/components/Chart/index.ts +1 -0
  770. package/dist/native/source/components/Chart/scene.tsx +204 -100
  771. package/dist/native/source/components/Chart/types.ts +31 -1
  772. package/dist/native/source/components/Charts/charts.tsx +493 -0
  773. package/dist/native/source/components/Charts/index.ts +14 -0
  774. package/dist/native/source/components/Charts/types.ts +207 -0
  775. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  776. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  777. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  778. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  779. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  780. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  781. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  782. package/dist/native/source/index.ts +2 -0
  783. package/dist/native/source/manifest.ts +30 -4
  784. package/dist/taro/charts.d.ts +209 -4
  785. package/dist/taro/index.d.ts +1 -0
  786. package/dist/taro/index.js +8032 -1891
  787. package/dist/taro/manifest.d.ts +1 -0
  788. package/dist/taro/shape-charts.d.ts +537 -0
  789. package/dist/uni/AreaChart.vue +68 -0
  790. package/dist/uni/AreaChart.vue.d.ts +120 -0
  791. package/dist/uni/Badge.vue.d.ts +1 -1
  792. package/dist/uni/BoxPlotChart.vue +66 -0
  793. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  794. package/dist/uni/BubbleChart.vue +68 -0
  795. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  796. package/dist/uni/BulletChart.vue +86 -0
  797. package/dist/uni/BulletChart.vue.d.ts +110 -0
  798. package/dist/uni/CalendarHeatmap.vue +92 -0
  799. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  800. package/dist/uni/CandlestickChart.vue +66 -0
  801. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  802. package/dist/uni/DonutChart.vue +72 -0
  803. package/dist/uni/DonutChart.vue.d.ts +114 -0
  804. package/dist/uni/FunnelChart.vue +67 -0
  805. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  806. package/dist/uni/GanttChart.vue +67 -0
  807. package/dist/uni/GanttChart.vue.d.ts +123 -0
  808. package/dist/uni/GaugeChart.vue +77 -0
  809. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  810. package/dist/uni/HeatmapChart.vue +66 -0
  811. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  812. package/dist/uni/HistogramChart.vue +66 -0
  813. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  814. package/dist/uni/HorizontalBarChart.vue +68 -0
  815. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  816. package/dist/uni/Input.vue.d.ts +1 -1
  817. package/dist/uni/MixedChart.vue +68 -0
  818. package/dist/uni/MixedChart.vue.d.ts +106 -0
  819. package/dist/uni/NumberInput.vue.d.ts +1 -1
  820. package/dist/uni/PieChart.vue +72 -0
  821. package/dist/uni/PieChart.vue.d.ts +114 -0
  822. package/dist/uni/RadarChart.vue +67 -0
  823. package/dist/uni/RadarChart.vue.d.ts +110 -0
  824. package/dist/uni/RadialBarChart.vue +90 -0
  825. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  826. package/dist/uni/RangeAreaChart.vue +68 -0
  827. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  828. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  829. package/dist/uni/SankeyChart.vue +88 -0
  830. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  831. package/dist/uni/ShapeChart.vue +73 -0
  832. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  833. package/dist/uni/Sparkline.vue +58 -0
  834. package/dist/uni/Sparkline.vue.d.ts +77 -0
  835. package/dist/uni/SunburstChart.vue +90 -0
  836. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  837. package/dist/uni/Textarea.vue.d.ts +1 -1
  838. package/dist/uni/TimePicker.vue.d.ts +1 -1
  839. package/dist/uni/TreemapChart.vue +65 -0
  840. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  841. package/dist/uni/WaterfallChart.vue +66 -0
  842. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  843. package/dist/uni/chart-types.d.ts +216 -2
  844. package/dist/uni/chart-types.js +174 -0
  845. package/dist/uni/charts-canvas.js +10 -3
  846. package/dist/uni/index.d.ts +26 -1
  847. package/dist/uni/index.js +26 -1
  848. package/dist/uni/manifest.d.ts +272 -0
  849. package/dist/uni/manifest.js +387 -0
  850. package/dist/uni/named-chart-options.d.ts +88 -0
  851. package/dist/uni/named-chart-options.js +156 -0
  852. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  853. package/dist/uni/shape-chart-canvas.js +342 -0
  854. package/dist/uni/shape-chart-types.d.ts +381 -0
  855. package/dist/uni/shape-chart-types.js +261 -0
  856. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  857. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  860. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  865. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  867. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  870. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  872. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  875. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  877. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  880. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  882. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  885. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  887. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  888. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  890. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  892. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  895. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  897. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  898. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  900. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  902. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  903. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  905. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  912. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  915. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  917. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  920. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  922. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  925. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  927. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  930. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  935. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  940. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  942. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  945. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  947. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  950. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  952. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  953. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  955. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  957. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  958. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  960. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  962. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  963. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  965. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  967. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  968. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  970. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  972. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  975. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  977. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  980. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  982. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  985. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  987. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  988. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  989. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  990. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  991. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  992. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  993. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  994. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  995. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  996. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  997. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  998. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  999. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1000. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1001. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1002. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1003. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1004. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1005. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1006. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1007. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1008. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1009. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1010. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1011. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1012. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1013. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1014. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1015. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1016. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1017. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1018. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1019. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1020. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1021. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1022. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1023. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1024. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1025. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1026. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  1027. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1028. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1029. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1030. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1031. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  1032. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1033. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1034. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  1035. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1036. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1037. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1038. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1039. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1040. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1041. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  1042. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1043. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1044. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1045. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1046. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1047. package/dist/vue/components/Chart/cartesian.js +56 -0
  1048. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1049. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1050. package/dist/vue/components/Chart/engine.js +35 -0
  1051. package/dist/vue/components/Chart/engine.js.map +1 -0
  1052. package/dist/vue/components/Chart/index.d.ts +41 -0
  1053. package/dist/vue/components/Chart/index.js +40 -0
  1054. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  1055. package/dist/vue/components/Chart/orderbook.js +126 -0
  1056. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1057. package/dist/vue/components/Chart/props.d.ts +188 -0
  1058. package/dist/vue/components/Chart/props.js +92 -0
  1059. package/dist/vue/components/Chart/props.js.map +1 -0
  1060. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1061. package/dist/vue/components/Chart/shape.js +42 -0
  1062. package/dist/vue/components/Chart/shape.js.map +1 -0
  1063. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1064. package/dist/vue/components/Chart/three-d.js +88 -0
  1065. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1066. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1067. package/dist/vue/components/Chart/trading.js +55 -0
  1068. package/dist/vue/components/Chart/trading.js.map +1 -0
  1069. package/dist/vue/components/Chart/types.d.ts +137 -0
  1070. package/dist/vue/global.d.ts +38 -0
  1071. package/dist/vue/groups/charts.d.ts +1 -0
  1072. package/dist/vue/groups/charts.js +87 -0
  1073. package/dist/vue/groups/charts.js.map +1 -0
  1074. package/dist/vue/index.d.ts +1 -0
  1075. package/dist/vue/index.js +63 -23
  1076. package/dist/vue/plugin.js +12 -10
  1077. package/dist/vue/plugin.js.map +1 -1
  1078. package/dist/weapp/area-chart/index.js +1 -0
  1079. package/dist/weapp/area-chart/index.json +1 -0
  1080. package/dist/weapp/area-chart/index.wxml +1 -0
  1081. package/dist/weapp/area-chart/index.wxss +1 -0
  1082. package/dist/weapp/box-plot-chart/index.js +1 -0
  1083. package/dist/weapp/box-plot-chart/index.json +1 -0
  1084. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1085. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1086. package/dist/weapp/bubble-chart/index.js +1 -0
  1087. package/dist/weapp/bubble-chart/index.json +1 -0
  1088. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1089. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1090. package/dist/weapp/bullet-chart/index.js +1 -0
  1091. package/dist/weapp/bullet-chart/index.json +1 -0
  1092. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1093. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1094. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1095. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1096. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1097. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1098. package/dist/weapp/candlestick-chart/index.js +1 -0
  1099. package/dist/weapp/candlestick-chart/index.json +1 -0
  1100. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1101. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1102. package/dist/weapp/charts/canvas.js +11436 -0
  1103. package/dist/weapp/charts/core.d.ts +2 -0
  1104. package/dist/weapp/charts/core.js +41 -0
  1105. package/dist/weapp/controls.js +1428 -3732
  1106. package/dist/weapp/donut-chart/index.js +1 -0
  1107. package/dist/weapp/donut-chart/index.json +1 -0
  1108. package/dist/weapp/donut-chart/index.wxml +1 -0
  1109. package/dist/weapp/donut-chart/index.wxss +1 -0
  1110. package/dist/weapp/funnel-chart/index.js +1 -0
  1111. package/dist/weapp/funnel-chart/index.json +1 -0
  1112. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1113. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1114. package/dist/weapp/gantt-chart/index.js +1 -0
  1115. package/dist/weapp/gantt-chart/index.json +1 -0
  1116. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1117. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1118. package/dist/weapp/gauge-chart/index.js +1 -0
  1119. package/dist/weapp/gauge-chart/index.json +1 -0
  1120. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1121. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1122. package/dist/weapp/heatmap-chart/index.js +1 -0
  1123. package/dist/weapp/heatmap-chart/index.json +1 -0
  1124. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1125. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1126. package/dist/weapp/histogram-chart/index.js +1 -0
  1127. package/dist/weapp/histogram-chart/index.json +1 -0
  1128. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1129. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1130. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1131. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1132. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1133. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1134. package/dist/weapp/mixed-chart/index.js +1 -0
  1135. package/dist/weapp/mixed-chart/index.json +1 -0
  1136. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1137. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1138. package/dist/weapp/pie-chart/index.js +1 -0
  1139. package/dist/weapp/pie-chart/index.json +1 -0
  1140. package/dist/weapp/pie-chart/index.wxml +1 -0
  1141. package/dist/weapp/pie-chart/index.wxss +1 -0
  1142. package/dist/weapp/radar-chart/index.js +1 -0
  1143. package/dist/weapp/radar-chart/index.json +1 -0
  1144. package/dist/weapp/radar-chart/index.wxml +1 -0
  1145. package/dist/weapp/radar-chart/index.wxss +1 -0
  1146. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1147. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1148. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1149. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1150. package/dist/weapp/range-area-chart/index.js +1 -0
  1151. package/dist/weapp/range-area-chart/index.json +1 -0
  1152. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1153. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1154. package/dist/weapp/sankey-chart/index.js +1 -0
  1155. package/dist/weapp/sankey-chart/index.json +1 -0
  1156. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1157. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1158. package/dist/weapp/shape-chart/index.js +1 -0
  1159. package/dist/weapp/shape-chart/index.json +1 -0
  1160. package/dist/weapp/shape-chart/index.wxml +1 -0
  1161. package/dist/weapp/shape-chart/index.wxss +1 -0
  1162. package/dist/weapp/sparkline/index.js +1 -0
  1163. package/dist/weapp/sparkline/index.json +1 -0
  1164. package/dist/weapp/sparkline/index.wxml +1 -0
  1165. package/dist/weapp/sparkline/index.wxss +1 -0
  1166. package/dist/weapp/sunburst-chart/index.js +1 -0
  1167. package/dist/weapp/sunburst-chart/index.json +1 -0
  1168. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1169. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1170. package/dist/weapp/treemap-chart/index.js +1 -0
  1171. package/dist/weapp/treemap-chart/index.json +1 -0
  1172. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1173. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1174. package/dist/weapp/types.d.ts +466 -0
  1175. package/dist/weapp/waterfall-chart/index.js +1 -0
  1176. package/dist/weapp/waterfall-chart/index.json +1 -0
  1177. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1178. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1179. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1180. package/dist/web-components/components/chart/chart.js +55 -0
  1181. package/dist/web-components/components/chart/chart.js.map +1 -0
  1182. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1183. package/dist/web-components/components/chart/charts.js +201 -0
  1184. package/dist/web-components/components/chart/charts.js.map +1 -0
  1185. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1186. package/dist/web-components/components/chart/engine-element.js +77 -0
  1187. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1188. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1189. package/dist/web-components/components/chart/extended.js +183 -0
  1190. package/dist/web-components/components/chart/extended.js.map +1 -0
  1191. package/dist/web-components/components/chart/series.d.ts +7 -0
  1192. package/dist/web-components/components/chart/series.js +14 -0
  1193. package/dist/web-components/components/chart/series.js.map +1 -0
  1194. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1195. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1196. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1197. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1198. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1199. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1200. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1201. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1202. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1203. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1204. package/dist/web-components/components/order-book/order-book.js +174 -0
  1205. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1206. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1207. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1208. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1209. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1210. package/dist/web-components/elements/chart-3d.js +13 -0
  1211. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1212. package/dist/web-components/elements/chart.d.ts +7 -0
  1213. package/dist/web-components/elements/chart.js +43 -0
  1214. package/dist/web-components/elements/chart.js.map +1 -0
  1215. package/dist/web-components/elements/order-book.d.ts +2 -0
  1216. package/dist/web-components/elements/order-book.js +13 -0
  1217. package/dist/web-components/elements/order-book.js.map +1 -0
  1218. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1219. package/dist/web-components/elements/trading-chart.js +8 -0
  1220. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1221. package/dist/web-components/html-custom-data.json +1192 -29
  1222. package/dist/web-components/types/react.d.ts +435 -0
  1223. package/dist/web-components/types/solid.d.ts +321 -0
  1224. package/dist/web-components/types/svelte.d.ts +321 -0
  1225. package/dist/web-components/types/vue.d.ts +359 -0
  1226. package/package.json +113 -1
@@ -1 +1 @@
1
- {"version":3,"file":"scene.js","names":["_Fragment","SHAPE_BUDGET","C","lineHeightOf","size","slack","measureChartText","text","o","label","lh","pad","w","top","valign","y","horizontal","align","x","frameWidth","Text","extra","key","box","View","color","dot","cx","d","cy","segment","dx","x2","x1","dy","y2","y1","length","width","dashRuns","pattern","dash","v","period","a","b","runs","scale","max","out","at","i","step","dashedLine","start","run","axis","from","crisp","thin","stride","k","lx","ly","areaStrips","n","forward","xs","ys","plot","to","column","j","left","c","right","mid","x0","t","baseline","primitiveLimits","scene","visible","s","lines","scatters","perLine","maxDots","drawData","primitives","scenePrimitives","options","ox","oy","dotsLeft","barsLeft","p","total","pts","r","count","h","rectOf","xa","xb","ya","yb","bottom","textBox","px","py","height","css","toCss","alpha","drawBackground","layout","fs","theme","scales","grid","model","yTicks","xTicks","line","tick","title","lastRight","e","swatch","part","drawForeground","fw","halo","labelHeight","annotations","pos","tx","ty","pointColor","l","clip","drawStatic","Fragment","family","drawHover","background","hover","StyleSheet","m","dragging","tip","customTooltip","muted","font","weight","row","lineHeight","tooltipCard","padding","content"],"sources":["../../../../../native/src/components/Chart/scene.tsx"],"sourcesContent":["// Draws a chart scene (`ChartController.getScene()`) with plain views: no\n// canvas, SVG or native drawing module. The engine already resolves every\n// position in pixels; this file only turns them into absolutely positioned\n// <View> / <Text> elements, keeping the number of views bounded by the size\n// of the chart (lines decimated per column, dots merged per cell, bars\n// merged per pixel column), whatever the size of the data.\n\nimport type { ReactElement, ReactNode } from \"react\";\nimport {\n StyleSheet,\n Text,\n View,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport {\n scenePrimitives,\n toCss,\n type ChartPrimitive,\n type ChartRect,\n type ChartScene,\n} from \"@minerva/charts/canvas\";\nimport { part } from \"../../internal/parts\";\nimport { measureChartText } from \"./measure\";\n\ntype Rgba = ChartScene[\"theme\"][\"text\"];\ntype Annotation = ChartScene[\"annotations\"][number];\ntype RectAnnotation = Extract<Annotation, { type: \"rect\" }>;\ntype TextAnnotation = Extract<Annotation, { type: \"text\" }>;\ntype Scales = ChartScene[\"layout\"][\"scales\"];\n\n/** Upper bounds of the views drawn for the data of a chart */\nexport const SHAPE_BUDGET = {\n /** Points of all the lines (one view per segment) */\n linePoints: 1200,\n /** Dots of one scatter series before they are merged per cell */\n dotsPerSeries: 800,\n /** Dots of all the series */\n dots: 2000,\n /** Bars of one series before neighbors are merged per pixel column */\n barsPerSeries: 600,\n /** Bars of all the series */\n bars: 1500,\n /** Vertical strips filling one area */\n areaColumns: 200,\n /** Dashes of one dashed line */\n dashes: 200,\n} as const;\n\nconst C = \"chart\";\n\n// ------------------------------------------------------------------ text\n\ninterface TextOptions {\n size: number;\n color: string;\n weight?: number;\n family?: string;\n /** Halo color: keeps the text readable over the data */\n halo?: string;\n}\n\ntype Align = \"left\" | \"center\" | \"right\";\ntype VAlign = \"top\" | \"middle\" | \"bottom\";\n\nconst lineHeightOf = (size: number) => Math.ceil(size * 1.35);\n\n/** Box wide enough for the estimated width (the real one may differ) */\nconst slack = (text: string, o: TextOptions) =>\n Math.ceil(\n measureChartText(text, `${o.weight ?? 400} ${o.size}px sans-serif`) * 1.4 +\n o.size * 2,\n );\n\n/**\n * A one-line text anchored at (x, y) of a container `frameWidth` wide:\n * `left` starts there, `right` ends there, `center` is centered on it;\n * `top` / `bottom` place the em box like the canvas text baselines\n */\nfunction label(\n key: string,\n text: string,\n x: number,\n y: number,\n align: Align,\n valign: VAlign,\n o: TextOptions,\n frameWidth: number,\n extra?: TextStyle,\n): ReactElement {\n const lh = lineHeightOf(o.size);\n const pad = (lh - o.size) / 2;\n const w = slack(text, o);\n const top =\n valign === \"top\"\n ? y - pad\n : valign === \"bottom\"\n ? y - lh + pad\n : y - lh / 2;\n const horizontal: TextStyle =\n align === \"left\"\n ? { left: x, width: w }\n : align === \"right\"\n ? { right: frameWidth - x, width: w }\n : { left: x - w / 2, width: w };\n return (\n <Text\n key={key}\n numberOfLines={1}\n style={[\n {\n position: \"absolute\",\n top,\n ...horizontal,\n textAlign: align,\n fontSize: o.size,\n lineHeight: lh,\n color: o.color,\n fontWeight: String(o.weight ?? 400) as TextStyle[\"fontWeight\"],\n includeFontPadding: false,\n ...(o.family ? { fontFamily: o.family } : null),\n ...(o.halo\n ? {\n textShadowColor: o.halo,\n textShadowRadius: 3,\n textShadowOffset: { width: 0, height: 0 },\n }\n : null),\n },\n extra,\n ]}\n >\n {text}\n </Text>\n );\n}\n\n// ---------------------------------------------------------------- shapes\n\nconst box = (\n key: string,\n x: number,\n y: number,\n width: number,\n height: number,\n color: string,\n extra?: ViewStyle,\n): ReactElement => (\n <View\n key={key}\n style={[\n {\n position: \"absolute\",\n left: x,\n top: y,\n width,\n height,\n backgroundColor: color,\n },\n extra,\n ]}\n />\n);\n\nconst dot = (\n key: string,\n cx: number,\n cy: number,\n d: number,\n color: string,\n extra?: ViewStyle,\n) =>\n box(key, cx - d / 2, cy - d / 2, d, d, color, {\n borderRadius: d / 2,\n ...extra,\n });\n\n/** A straight stroke: one view, rotated around its center */\nconst segment = (\n key: string,\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n width: number,\n color: string,\n) => {\n const dx = x2 - x1;\n const dy = y2 - y1;\n const length = Math.hypot(dx, dy) + width;\n return box(\n key,\n (x1 + x2) / 2 - length / 2,\n (y1 + y2) / 2 - width / 2,\n length,\n width,\n color,\n {\n borderRadius: width / 2,\n transform: [{ rotate: `${Math.atan2(dy, dx)}rad` }],\n },\n );\n};\n\n/** Dash runs `[start, length]` along a line (canvas `setLineDash` pattern) */\nexport function dashRuns(\n length: number,\n dash: readonly number[],\n max: number = SHAPE_BUDGET.dashes,\n): [number, number][] {\n let pattern = dash.filter((v) => Number.isFinite(v) && v >= 0);\n // odd patterns repeat twice, like the canvas\n if (pattern.length % 2) pattern = [...pattern, ...pattern];\n const period = pattern.reduce((a, b) => a + b, 0);\n if (!pattern.length || period <= 0) return [[0, length]];\n const runs = (length / period) * (pattern.length / 2);\n const scale = runs > max ? runs / max : 1;\n const out: [number, number][] = [];\n let at = 0;\n for (let i = 0; at < length; i = (i + 1) % pattern.length) {\n const step = pattern[i] * scale;\n if (i % 2 === 0 && step > 0) out.push([at, Math.min(step, length - at)]);\n at += Math.max(step, 0.5);\n }\n return out;\n}\n\nconst dashedLine = (\n key: string,\n axis: \"x\" | \"y\",\n at: number,\n from: number,\n length: number,\n width: number,\n color: string,\n dash: readonly number[],\n) =>\n dashRuns(length, dash).map(([start, run], i) =>\n axis === \"y\"\n ? box(`${key}-${i}`, from + start, at, run, width, color)\n : box(`${key}-${i}`, at, from + start, width, run, color),\n );\n\nconst crisp = (v: number, width = 1) => Math.round(v) + 0.5 - width / 2;\n\n// ------------------------------------------------------------------ data\n\n/** Thins a run of interleaved points to `max` points and drops sub-pixel steps */\nfunction thin(run: readonly number[], max: number): number[] {\n const n = run.length / 2;\n const stride = n > max ? Math.ceil(n / max) : 1;\n const out: number[] = [];\n for (let i = 0; i < n; i += stride) {\n const x = run[i * 2];\n const y = run[i * 2 + 1];\n const k = out.length;\n if (k && Math.hypot(x - out[k - 2], y - out[k - 1]) < 1.5) continue;\n out.push(x, y);\n }\n const lx = run[n * 2 - 2];\n const ly = run[n * 2 - 1];\n const k = out.length;\n if (n > 1 && (out[k - 2] !== lx || out[k - 1] !== ly)) out.push(lx, ly);\n return out;\n}\n\n/** Vertical strips between the line and the baseline, one per column */\nfunction areaStrips(\n key: string,\n run: readonly number[],\n baseline: number,\n color: string,\n opacity: number,\n plot: ChartRect,\n): ReactElement[] {\n const n = run.length / 2;\n if (n < 2) return [];\n // left to right (reversed axes list their points right to left)\n const forward = run[0] <= run[n * 2 - 2];\n const xs = (i: number) => run[(forward ? i : n - 1 - i) * 2];\n const ys = (i: number) => run[(forward ? i : n - 1 - i) * 2 + 1];\n const from = Math.max(plot.x, xs(0));\n const to = Math.min(plot.x + plot.width, xs(n - 1));\n if (to <= from) return [];\n const column = Math.max(2, plot.width / SHAPE_BUDGET.areaColumns);\n const out: ReactElement[] = [];\n let j = 0;\n for (let left = Math.floor(from), c = 0; left < to; c++) {\n const right = Math.min(Math.ceil(to), Math.round(left + column));\n const mid = (left + right) / 2;\n while (j < n - 2 && xs(j + 1) < mid) j++;\n const x0 = xs(j);\n const x1 = xs(j + 1);\n const t = x1 === x0 ? 0 : Math.max(0, Math.min(1, (mid - x0) / (x1 - x0)));\n const y = ys(j) + (ys(j + 1) - ys(j)) * t;\n if (Number.isFinite(y)) {\n const top = Math.min(y, baseline);\n out.push(\n box(\n `${key}-${c}`,\n left - plot.x,\n top - plot.y,\n right - left,\n Math.abs(baseline - y),\n color,\n {\n opacity,\n },\n ),\n );\n }\n left = right;\n }\n return out;\n}\n\n/** Limits of `scenePrimitives` for the views budget */\nexport function primitiveLimits(scene: ChartScene) {\n const { plot } = scene.layout;\n const visible = scene.model.series.filter((s) => !s.hidden);\n const lines = visible.filter(\n (s) => s.type === \"line\" || s.type === \"area\",\n ).length;\n const scatters = visible.filter((s) => s.type === \"scatter\").length;\n const perLine = Math.max(150, SHAPE_BUDGET.linePoints / Math.max(1, lines));\n const maxDots = Math.max(\n 100,\n Math.min(\n SHAPE_BUDGET.dotsPerSeries,\n SHAPE_BUDGET.dots / Math.max(1, scatters),\n ),\n );\n return {\n perLine,\n options: {\n // decimation keeps up to 4 points per column\n columnWidth: Math.max(3, (plot.width * 4) / perLine),\n maxDots,\n maxBars: SHAPE_BUDGET.barsPerSeries,\n dotCell: Math.max(\n 4,\n Math.sqrt((plot.width * plot.height) / maxDots) * 1.15 + 1,\n ),\n },\n };\n}\n\nfunction drawData(scene: ChartScene): ReactElement[] {\n const { plot } = scene.layout;\n const { perLine, options } = primitiveLimits(scene);\n const primitives: ChartPrimitive[] = scenePrimitives(scene, options);\n const ox = plot.x;\n const oy = plot.y;\n const out: ReactElement[] = [];\n let dotsLeft: number = SHAPE_BUDGET.dots;\n let barsLeft: number = SHAPE_BUDGET.bars;\n primitives.forEach((p, k) => {\n const key = `${p.kind}${p.seriesIndex}-${k}`;\n if (p.kind === \"area\") {\n p.segments.forEach((run, r) =>\n out.push(\n ...areaStrips(\n `${key}-${r}`,\n run,\n p.baseline,\n p.color,\n p.opacity,\n plot,\n ),\n ),\n );\n return;\n }\n if (p.kind === \"line\") {\n let total = 0;\n for (const run of p.segments) total += run.length / 2;\n p.segments.forEach((run, r) => {\n const pts = thin(\n run,\n Math.max(\n 2,\n Math.round((perLine * run.length) / 2 / Math.max(1, total)),\n ),\n );\n if (pts.length === 2) {\n out.push(\n dot(\n `${key}-${r}`,\n pts[0] - ox,\n pts[1] - oy,\n p.width * 1.5,\n p.color,\n ),\n );\n return;\n }\n for (let i = 0; i + 3 < pts.length; i += 2) {\n out.push(\n segment(\n `${key}-${r}-${i}`,\n pts[i] - ox,\n pts[i + 1] - oy,\n pts[i + 2] - ox,\n pts[i + 3] - oy,\n p.width,\n p.color,\n ),\n );\n }\n });\n return;\n }\n if (p.kind === \"bars\") {\n const count = p.rects.length / 4;\n const stride =\n count > barsLeft ? Math.ceil(count / Math.max(1, barsLeft)) : 1;\n for (let i = 0; i < count; i += stride) {\n const [x, y, w, h] = p.rects.slice(i * 4, i * 4 + 4);\n out.push(\n box(`${key}-${i}`, x - ox, y - oy, Math.max(w, 0.5), h, p.color),\n );\n }\n barsLeft = Math.max(0, barsLeft - Math.ceil(count / stride));\n return;\n }\n const count = p.dots.length / 3;\n const stride =\n count > dotsLeft ? Math.ceil(count / Math.max(1, dotsLeft)) : 1;\n for (let i = 0; i < count; i += stride) {\n out.push(\n dot(\n `${key}-${i}`,\n p.dots[i * 3] - ox,\n p.dots[i * 3 + 1] - oy,\n p.dots[i * 3 + 2],\n p.colors[i],\n {\n opacity: p.opacity,\n },\n ),\n );\n }\n dotsLeft = Math.max(0, dotsLeft - Math.ceil(count / stride));\n });\n return out;\n}\n\n// ------------------------------------------------------------ background\n\nconst rectOf = (a: RectAnnotation, s: Scales): ChartRect => {\n const { plot } = s;\n const xa = a.x0 === undefined ? -Infinity : s.xToPx(a.x0);\n const xb = a.x1 === undefined ? Infinity : s.xToPx(a.x1);\n const ya = a.y0 === undefined ? Infinity : s.yToPx(a.y0);\n const yb = a.y1 === undefined ? -Infinity : s.yToPx(a.y1);\n const left = Math.max(plot.x, Math.min(xa, xb));\n const right = Math.min(plot.x + plot.width, Math.max(xa, xb));\n const top = Math.max(plot.y, Math.min(ya, yb));\n const bottom = Math.min(plot.y + plot.height, Math.max(ya, yb));\n return { x: left, y: top, width: right - left, height: bottom - top };\n};\n\n/** Box of a text annotation, kept inside the plot (engine `textBox`) */\nconst textBox = (\n a: TextAnnotation,\n s: Scales,\n width: number,\n height: number,\n): ChartRect => {\n const { plot } = s;\n const px = a.x === undefined ? plot.x + plot.width / 2 : s.xToPx(a.x);\n const py = a.y === undefined ? plot.y + plot.height / 2 : s.yToPx(a.y);\n const gap = 6;\n let x = px - width / 2;\n let y = py - height / 2;\n if (a.anchor === \"top\") y = py + gap;\n else if (a.anchor === \"bottom\") y = py - gap - height;\n else if (a.anchor === \"left\") x = px + gap;\n else if (a.anchor === \"right\") x = px - gap - width;\n x = Math.max(plot.x + gap, Math.min(x, plot.x + plot.width - gap - width));\n y = Math.max(plot.y + 2, Math.min(y, plot.y + plot.height - 2 - height));\n return { x, y, width, height };\n};\n\nconst css = (c: Rgba, alpha?: number) => toCss(c, alpha);\n\nfunction drawBackground(scene: ChartScene, family?: string): ReactElement[] {\n const { width, theme, model, layout, annotations } = scene;\n const { plot, scales, xTicks, yTicks } = layout;\n const fs = theme.fontSize;\n const out: ReactElement[] = [];\n\n annotations.forEach((a, i) => {\n if (a.type !== \"rect\") return;\n const r = rectOf(a, scales);\n if (r.width <= 0 || r.height <= 0) return;\n out.push(\n box(`area-${i}`, r.x, r.y, r.width, r.height, css(a.color, a.opacity)),\n );\n });\n\n const grid = css(theme.grid);\n if (model.y.grid) {\n yTicks.values.forEach((v, i) => {\n const py = scales.yToPx(v);\n if (py < plot.y - 1 || py > plot.y + plot.height + 1) return;\n out.push(box(`ygrid-${i}`, plot.x, crisp(py), plot.width, 1, grid));\n });\n }\n if (model.x.grid) {\n xTicks.values.forEach((v, i) => {\n const px = scales.xToPx(v);\n if (px < plot.x - 1 || px > plot.x + plot.width + 1) return;\n out.push(box(`xgrid-${i}`, crisp(px), plot.y, 1, plot.height, grid));\n });\n }\n\n const line = Math.ceil(fs * 1.4);\n const tick: TextOptions = { size: fs, color: css(theme.textMuted), family };\n const title: TextOptions = {\n size: fs + 1,\n weight: 500,\n color: css(theme.text, 0.8),\n family,\n };\n const bottom = plot.y + plot.height;\n\n if (model.x.visible) {\n out.push(\n box(\"xaxis\", plot.x, crisp(bottom), plot.width, 1, css(theme.axis)),\n );\n let lastRight = -Infinity;\n xTicks.values\n .map((v, i) => ({ px: scales.xToPx(v), text: xTicks.labels[i] ?? \"\" }))\n .sort((a, b) => a.px - b.px)\n .forEach(({ px, text }, i) => {\n if (!text || px < plot.x - 0.5 || px > plot.x + plot.width + 0.5)\n return;\n const w = measureChartText(text, `400 ${fs}px sans-serif`);\n const left = Math.max(0, Math.min(width - w, px - w / 2));\n if (left < lastRight + 6) return;\n lastRight = left + w;\n out.push(\n label(\n `xtick-${i}`,\n text,\n left + w / 2,\n bottom + 7,\n \"center\",\n \"top\",\n tick,\n width,\n ),\n );\n });\n if (model.x.title)\n out.push(\n label(\n \"xtitle\",\n model.x.title,\n plot.x + plot.width / 2,\n bottom + line + 10,\n \"center\",\n \"top\",\n title,\n width,\n ),\n );\n }\n\n if (model.y.visible) {\n yTicks.values.forEach((v, i) => {\n const py = scales.yToPx(v);\n const text = yTicks.labels[i];\n if (!text || py < plot.y - 0.5 || py > plot.y + plot.height + 0.5) return;\n out.push(\n label(\n `ytick-${i}`,\n text,\n plot.x - 8,\n py,\n \"right\",\n \"middle\",\n tick,\n width,\n ),\n );\n });\n if (model.y.title)\n out.push(\n label(\n \"ytitle\",\n model.y.title,\n line / 2 + 4,\n plot.y + plot.height / 2,\n \"center\",\n \"middle\",\n title,\n width,\n {\n transform: [{ rotate: \"-90deg\" }],\n },\n ),\n );\n }\n\n if (scene.legend) {\n for (const e of scene.legend.entries) {\n // coordinates relative to the entry box\n const cy = e.box.height / 2;\n const swatch =\n e.shape === \"dot\"\n ? dot(\"swatch\", 5, cy, 8, e.color)\n : e.shape === \"line\"\n ? box(\"swatch\", 0, cy - 1, 10, 2, e.color)\n : box(\"swatch\", 1, cy - 4, 8, 8, e.color);\n out.push(\n <View\n key={`legend-${e.id}`}\n style={{\n position: \"absolute\",\n left: e.box.x,\n top: e.box.y,\n width: e.box.width,\n height: e.box.height,\n opacity: e.hidden ? 0.45 : 1,\n }}\n {...part(C, \"legend-item\", { hidden: e.hidden })}\n >\n {swatch}\n {label(\n \"name\",\n e.name,\n 14,\n cy,\n \"left\",\n \"middle\",\n { size: 12, color: css(theme.textMuted), family },\n e.box.width,\n e.hidden ? { textDecorationLine: \"line-through\" } : undefined,\n )}\n </View>,\n );\n }\n }\n return out;\n}\n\n// ------------------------------------------------------------ foreground\n\nfunction drawForeground(scene: ChartScene, family?: string): ReactElement[] {\n const { theme, annotations, layout } = scene;\n const { plot, scales } = layout;\n const fs = theme.fontSize;\n const ox = plot.x;\n const oy = plot.y;\n const fw = plot.width;\n const halo = css(theme.background, 0.9);\n const labelHeight = fs + 4;\n const out: ReactElement[] = [];\n\n annotations.forEach((a, i) => {\n if (a.type !== \"line\") return;\n const color = css(a.color);\n if (a.axis === \"y\") {\n const py = scales.yToPx(a.value);\n out.push(\n ...dashedLine(\n `line-${i}`,\n \"y\",\n crisp(py, a.width) - oy,\n 0,\n plot.width,\n a.width,\n color,\n a.dash,\n ),\n );\n if (a.label)\n out.push(\n label(\n `line-label-${i}`,\n a.label,\n plot.width - 6,\n py - 3 - oy,\n \"right\",\n \"bottom\",\n { size: fs, weight: 500, color, halo, family },\n fw,\n ),\n );\n } else {\n const px = scales.xToPx(a.value);\n out.push(\n ...dashedLine(\n `line-${i}`,\n \"x\",\n crisp(px, a.width) - ox,\n 0,\n plot.height,\n a.width,\n color,\n a.dash,\n ),\n );\n if (a.label)\n out.push(\n label(\n `line-label-${i}`,\n a.label,\n px + 5 - ox,\n 5,\n \"left\",\n \"top\",\n { size: fs, weight: 500, color, halo, family },\n fw,\n ),\n );\n }\n });\n\n annotations.forEach((a, i) => {\n if (a.type !== \"rect\" || !a.label) return;\n const r = rectOf(a, scales);\n if (r.width <= 0 || r.height <= 0) return;\n const pad = 10;\n const pos = a.labelPosition;\n const align: Align = pos.endsWith(\"left\")\n ? \"left\"\n : pos.endsWith(\"right\")\n ? \"right\"\n : \"center\";\n const tx =\n align === \"left\"\n ? r.x + pad\n : align === \"right\"\n ? r.x + r.width - pad\n : r.x + r.width / 2;\n const ty = pos.startsWith(\"top\")\n ? r.y + pad\n : pos.startsWith(\"bottom\")\n ? r.y + r.height - pad - labelHeight\n : r.y + (r.height - labelHeight) / 2;\n out.push(\n label(\n `area-label-${i}`,\n a.label,\n tx - ox,\n ty - oy,\n align,\n \"top\",\n { size: fs + 1, weight: 600, color: css(a.labelColor), family },\n fw,\n ),\n );\n });\n\n annotations.forEach((a, i) => {\n if (a.type !== \"text\" || !a.text) return;\n const w = measureChartText(a.text, `${a.weight} ${fs}px sans-serif`);\n const b = textBox(a, scales, w, labelHeight);\n out.push(\n label(\n `text-${i}`,\n a.text,\n b.x - ox,\n b.y + b.height / 2 - oy,\n \"left\",\n \"middle\",\n { size: fs, weight: a.weight, color: css(a.color), halo, family },\n fw,\n ),\n );\n });\n\n const pointColor = css(theme.text, 0.85);\n scene.pointLabels.forEach(({ label: l, box: b }, i) => {\n out.push(\n label(\n `point-label-${i}`,\n l.text,\n b.x - ox,\n b.y + b.height / 2 - oy,\n \"left\",\n \"middle\",\n { size: fs, color: pointColor, halo, family },\n fw,\n ),\n );\n });\n return out;\n}\n\nconst clip = (plot: ChartRect): ViewStyle => ({\n position: \"absolute\",\n left: plot.x,\n top: plot.y,\n width: plot.width,\n height: plot.height,\n overflow: \"hidden\",\n});\n\n/**\n * Everything but the hover state: axes, grid, legend, annotations, data and\n * labels (cached by the caller while the model, view and size are the same)\n */\nexport function drawStatic(scene: ChartScene, family?: string): ReactNode {\n const { plot } = scene.layout;\n return (\n <>\n {drawBackground(scene, family)}\n <View key=\"data\" style={clip(plot)} {...part(C, \"data\")}>\n {drawData(scene)}\n </View>\n <View key=\"labels\" style={clip(plot)} {...part(C, \"labels\")}>\n {drawForeground(scene, family)}\n </View>\n </>\n );\n}\n\n/** Crosshair, highlighted points, dragged point and the default tooltip */\nexport function drawHover(\n scene: ChartScene,\n family: string | undefined,\n customTooltip: boolean,\n): ReactNode {\n const { theme, layout, hover, dragging } = scene;\n const { plot } = layout;\n const background = css(theme.background);\n const out: ReactElement[] = [];\n if (hover && hover.crosshairX !== null) {\n out.push(\n <View\n key=\"crosshair\"\n style={StyleSheet.absoluteFill}\n {...part(C, \"crosshair\")}\n >\n {dashedLine(\n \"dash\",\n \"x\",\n Math.round(hover.crosshairX),\n plot.y,\n plot.height,\n 1,\n css(theme.textMuted, 0.55),\n [3, 3],\n )}\n </View>,\n );\n }\n hover?.marks.forEach((m, i) => {\n out.push(\n m.kind === \"bar\"\n ? box(\n `mark-${i}`,\n m.x - 2,\n m.y - 2,\n m.width + 4,\n m.height + 2,\n css(theme.text, 0.08),\n )\n : dot(`mark-${i}`, m.x, m.y, m.size + 2, m.color, {\n borderWidth: 2,\n borderColor: background,\n }),\n );\n });\n if (dragging) {\n out.push(\n <View key=\"drag\" {...part(C, \"drag\")} style={StyleSheet.absoluteFill}>\n {dot(\n \"ghost\",\n dragging.x,\n dragging.y,\n dragging.size + 2,\n dragging.color,\n {\n opacity: 0.85,\n borderWidth: 2,\n borderColor: background,\n },\n )}\n </View>,\n );\n }\n const tip = hover?.tooltip;\n if (tip && !customTooltip) {\n const { box: b, lineHeight, padding, content } = tip;\n const text = css(theme.text);\n const muted = css(theme.textMuted);\n const font = (weight: number, color: string): TextStyle => ({\n fontSize: 12,\n lineHeight,\n color,\n fontWeight: String(weight) as TextStyle[\"fontWeight\"],\n includeFontPadding: false,\n ...(family ? { fontFamily: family } : null),\n });\n const swatch = (color: string) => (\n <View\n style={{\n width: 8,\n height: 8,\n borderRadius: 4,\n marginRight: 6,\n backgroundColor: color,\n }}\n />\n );\n const row: ViewStyle = {\n height: lineHeight,\n flexDirection: \"row\",\n alignItems: \"center\",\n };\n out.push(\n <View\n key=\"tooltip\"\n {...part(C, \"tooltip\")}\n style={[\n tooltipCard(scene),\n {\n left: b.x,\n top: b.y,\n width: b.width,\n height: b.height,\n paddingHorizontal: padding + 1,\n paddingVertical: padding - 1,\n },\n ]}\n >\n {tip.text\n ? tip.text.map((t, i) => (\n <Text key={i} numberOfLines={1} style={font(400, text)}>\n {t}\n </Text>\n ))\n : [\n <View key=\"title\" style={row}>\n {content.titleColor ? swatch(content.titleColor) : null}\n <Text\n numberOfLines={1}\n style={[font(600, text), { flexShrink: 1 }]}\n >\n {content.title}\n </Text>\n </View>,\n ...content.rows.map((r, i) => (\n <View key={i} style={row}>\n {r.color ? swatch(r.color) : null}\n <Text\n numberOfLines={1}\n style={[font(400, muted), { flexShrink: 1 }]}\n >\n {r.name}\n </Text>\n <Text\n numberOfLines={1}\n style={[\n font(600, text),\n { flexGrow: 1, marginLeft: 16, textAlign: \"right\" },\n ]}\n >\n {r.value}\n </Text>\n </View>\n )),\n ]}\n </View>,\n );\n }\n return out;\n}\n\n/** Look of the tooltips (default and `renderTooltip` content) */\nexport const tooltipCard = (scene: ChartScene): ViewStyle => ({\n position: \"absolute\",\n backgroundColor: css(scene.theme.background),\n borderColor: css(scene.theme.axis),\n borderWidth: 1,\n borderRadius: 8,\n shadowColor: \"#0f172a\",\n shadowOpacity: 0.18,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 6 },\n elevation: 6,\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"scene.js","names":["annotationRect","annotationLine","annotationTextBox","_Fragment","SHAPE_BUDGET","C","lineHeightOf","size","slack","measureChartText","text","o","label","lh","pad","w","top","valign","y","horizontal","align","x","frameWidth","Text","extra","key","box","View","color","dot","cx","d","cy","segment","dx","x2","x1","dy","y2","y1","length","width","dashRuns","pattern","dash","v","period","a","b","runs","scale","max","out","at","i","step","dashedLine","start","run","axis","from","crisp","thin","stride","k","lx","ly","areaStrips","transposed","points","plot","frame","n","forward","xs","ys","bs","bottom","baseline","to","column","j","left","c","right","mid","x0","t","h","primitiveLimits","scene","visible","s","lines","scatters","perLine","maxDots","drawData","primitives","scenePrimitives","options","ox","oy","dotsLeft","barsLeft","p","total","pts","r","count","radius","css","toCss","alpha","drawBackground","layout","scales","bottomAxis","model","leftAxis","bottomTicks","leftTicks","bottomPx","leftPx","fs","theme","rectOf","grid","py","px","line","tick","title","lastRight","lastBottom","y2Ticks","e","swatch","part","drawForeground","fw","halo","labelHeight","annotations","where","lineOf","pos","tx","ty","textBox","pointColor","l","clip","drawStatic","Fragment","family","drawHover","background","hover","StyleSheet","m","dragging","tip","customTooltip","muted","font","weight","row","lineHeight","tooltipCard","padding","content"],"sources":["../../../../../native/src/components/Chart/scene.tsx"],"sourcesContent":["// Draws a chart scene (`ChartController.getScene()`) with plain views: no\n// canvas, SVG or native drawing module. The engine already resolves every\n// position in pixels; this file only turns them into absolutely positioned\n// <View> / <Text> elements, keeping the number of views bounded by the size\n// of the chart (lines decimated per column, dots merged per cell, bars\n// merged per pixel column), whatever the size of the data.\n\nimport type { ReactElement, ReactNode } from \"react\";\nimport {\n StyleSheet,\n Text,\n View,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport {\n annotationLine,\n annotationRect,\n annotationTextBox,\n scenePrimitives,\n toCss,\n type ChartPrimitive,\n type ChartRect,\n type ChartScene,\n} from \"@minerva/charts/canvas\";\nimport { part } from \"../../internal/parts\";\nimport { measureChartText } from \"./measure\";\n\ntype Rgba = ChartScene[\"theme\"][\"text\"];\n\n/** Upper bounds of the views drawn for the data of a chart */\nexport const SHAPE_BUDGET = {\n /** Points of all the lines (one view per segment) */\n linePoints: 1200,\n /** Dots of one scatter series before they are merged per cell */\n dotsPerSeries: 800,\n /** Dots of all the series */\n dots: 2000,\n /** Bars of one series before neighbors are merged per pixel column */\n barsPerSeries: 600,\n /** Bars of all the series */\n bars: 1500,\n /** Vertical strips filling one area */\n areaColumns: 200,\n /** Dashes of one dashed line */\n dashes: 200,\n} as const;\n\nconst C = \"chart\";\n\n// ------------------------------------------------------------------ text\n\ninterface TextOptions {\n size: number;\n color: string;\n weight?: number;\n family?: string;\n /** Halo color: keeps the text readable over the data */\n halo?: string;\n}\n\ntype Align = \"left\" | \"center\" | \"right\";\ntype VAlign = \"top\" | \"middle\" | \"bottom\";\n\nconst lineHeightOf = (size: number) => Math.ceil(size * 1.35);\n\n/** Box wide enough for the estimated width (the real one may differ) */\nconst slack = (text: string, o: TextOptions) =>\n Math.ceil(\n measureChartText(text, `${o.weight ?? 400} ${o.size}px sans-serif`) * 1.4 +\n o.size * 2,\n );\n\n/**\n * A one-line text anchored at (x, y) of a container `frameWidth` wide:\n * `left` starts there, `right` ends there, `center` is centered on it;\n * `top` / `bottom` place the em box like the canvas text baselines\n */\nfunction label(\n key: string,\n text: string,\n x: number,\n y: number,\n align: Align,\n valign: VAlign,\n o: TextOptions,\n frameWidth: number,\n extra?: TextStyle,\n): ReactElement {\n const lh = lineHeightOf(o.size);\n const pad = (lh - o.size) / 2;\n const w = slack(text, o);\n const top =\n valign === \"top\"\n ? y - pad\n : valign === \"bottom\"\n ? y - lh + pad\n : y - lh / 2;\n const horizontal: TextStyle =\n align === \"left\"\n ? { left: x, width: w }\n : align === \"right\"\n ? { right: frameWidth - x, width: w }\n : { left: x - w / 2, width: w };\n return (\n <Text\n key={key}\n numberOfLines={1}\n style={[\n {\n position: \"absolute\",\n top,\n ...horizontal,\n textAlign: align,\n fontSize: o.size,\n lineHeight: lh,\n color: o.color,\n fontWeight: String(o.weight ?? 400) as TextStyle[\"fontWeight\"],\n includeFontPadding: false,\n ...(o.family ? { fontFamily: o.family } : null),\n ...(o.halo\n ? {\n textShadowColor: o.halo,\n textShadowRadius: 3,\n textShadowOffset: { width: 0, height: 0 },\n }\n : null),\n },\n extra,\n ]}\n >\n {text}\n </Text>\n );\n}\n\n// ---------------------------------------------------------------- shapes\n\nconst box = (\n key: string,\n x: number,\n y: number,\n width: number,\n height: number,\n color: string,\n extra?: ViewStyle,\n): ReactElement => (\n <View\n key={key}\n style={[\n {\n position: \"absolute\",\n left: x,\n top: y,\n width,\n height,\n backgroundColor: color,\n },\n extra,\n ]}\n />\n);\n\nconst dot = (\n key: string,\n cx: number,\n cy: number,\n d: number,\n color: string,\n extra?: ViewStyle,\n) =>\n box(key, cx - d / 2, cy - d / 2, d, d, color, {\n borderRadius: d / 2,\n ...extra,\n });\n\n/** A straight stroke: one view, rotated around its center */\nconst segment = (\n key: string,\n x1: number,\n y1: number,\n x2: number,\n y2: number,\n width: number,\n color: string,\n) => {\n const dx = x2 - x1;\n const dy = y2 - y1;\n const length = Math.hypot(dx, dy) + width;\n return box(\n key,\n (x1 + x2) / 2 - length / 2,\n (y1 + y2) / 2 - width / 2,\n length,\n width,\n color,\n {\n borderRadius: width / 2,\n transform: [{ rotate: `${Math.atan2(dy, dx)}rad` }],\n },\n );\n};\n\n/** Dash runs `[start, length]` along a line (canvas `setLineDash` pattern) */\nexport function dashRuns(\n length: number,\n dash: readonly number[],\n max: number = SHAPE_BUDGET.dashes,\n): [number, number][] {\n let pattern = dash.filter((v) => Number.isFinite(v) && v >= 0);\n // odd patterns repeat twice, like the canvas\n if (pattern.length % 2) pattern = [...pattern, ...pattern];\n const period = pattern.reduce((a, b) => a + b, 0);\n if (!pattern.length || period <= 0) return [[0, length]];\n const runs = (length / period) * (pattern.length / 2);\n const scale = runs > max ? runs / max : 1;\n const out: [number, number][] = [];\n let at = 0;\n for (let i = 0; at < length; i = (i + 1) % pattern.length) {\n const step = pattern[i] * scale;\n if (i % 2 === 0 && step > 0) out.push([at, Math.min(step, length - at)]);\n at += Math.max(step, 0.5);\n }\n return out;\n}\n\nconst dashedLine = (\n key: string,\n axis: \"x\" | \"y\",\n at: number,\n from: number,\n length: number,\n width: number,\n color: string,\n dash: readonly number[],\n) =>\n dashRuns(length, dash).map(([start, run], i) =>\n axis === \"y\"\n ? box(`${key}-${i}`, from + start, at, run, width, color)\n : box(`${key}-${i}`, at, from + start, width, run, color),\n );\n\nconst crisp = (v: number, width = 1) => Math.round(v) + 0.5 - width / 2;\n\n// ------------------------------------------------------------------ data\n\n/** Thins a run of interleaved points to `max` points and drops sub-pixel steps */\nfunction thin(run: readonly number[], max: number): number[] {\n const n = run.length / 2;\n const stride = n > max ? Math.ceil(n / max) : 1;\n const out: number[] = [];\n for (let i = 0; i < n; i += stride) {\n const x = run[i * 2];\n const y = run[i * 2 + 1];\n const k = out.length;\n if (k && Math.hypot(x - out[k - 2], y - out[k - 1]) < 1.5) continue;\n out.push(x, y);\n }\n const lx = run[n * 2 - 2];\n const ly = run[n * 2 - 1];\n const k = out.length;\n if (n > 1 && (out[k - 2] !== lx || out[k - 1] !== ly)) out.push(lx, ly);\n return out;\n}\n\n/**\n * Vertical strips between the line and the baseline (or the stack below),\n * one per column; horizontal strips, one per row, for horizontal charts\n */\nfunction areaStrips(\n key: string,\n points: readonly number[],\n baseline: number,\n color: string,\n opacity: number,\n frame: ChartRect,\n /** Y pixel (x pixel when `transposed`) of the bottom edge under every point */\n bottom?: readonly number[],\n /** Horizontal charts: the area grows from the left edge */\n transposed = false,\n): ReactElement[] {\n // horizontal charts are filled like vertical ones with x and y swapped\n const run = transposed\n ? points.map((_, i) => points[i % 2 ? i - 1 : i + 1])\n : points;\n const plot = transposed\n ? { x: frame.y, y: frame.x, width: frame.height, height: frame.width }\n : frame;\n const n = run.length / 2;\n if (n < 2) return [];\n // left to right (reversed axes list their points right to left)\n const forward = run[0] <= run[n * 2 - 2];\n const at = (i: number) => (forward ? i : n - 1 - i);\n const xs = (i: number) => run[at(i) * 2];\n const ys = (i: number) => run[at(i) * 2 + 1];\n const bs = (i: number) => (bottom ? bottom[at(i)] : baseline);\n const from = Math.max(plot.x, xs(0));\n const to = Math.min(plot.x + plot.width, xs(n - 1));\n if (to <= from) return [];\n const column = Math.max(2, plot.width / SHAPE_BUDGET.areaColumns);\n const out: ReactElement[] = [];\n let j = 0;\n for (let left = Math.floor(from), c = 0; left < to; c++) {\n const right = Math.min(Math.ceil(to), Math.round(left + column));\n const mid = (left + right) / 2;\n while (j < n - 2 && xs(j + 1) < mid) j++;\n const x0 = xs(j);\n const x1 = xs(j + 1);\n const t = x1 === x0 ? 0 : Math.max(0, Math.min(1, (mid - x0) / (x1 - x0)));\n const y = ys(j) + (ys(j + 1) - ys(j)) * t;\n const b = bs(j) + (bs(j + 1) - bs(j)) * t;\n if (Number.isFinite(y) && Number.isFinite(b)) {\n const top = Math.min(y, b);\n const h = Math.abs(b - y);\n out.push(\n transposed\n ? box(\n `${key}-${c}`,\n top - plot.y,\n left - plot.x,\n h,\n right - left,\n color,\n {\n opacity,\n },\n )\n : box(\n `${key}-${c}`,\n left - plot.x,\n top - plot.y,\n right - left,\n h,\n color,\n {\n opacity,\n },\n ),\n );\n }\n left = right;\n }\n return out;\n}\n\n/** Limits of `scenePrimitives` for the views budget */\nexport function primitiveLimits(scene: ChartScene) {\n const { plot } = scene.layout;\n const visible = scene.model.series.filter((s) => !s.hidden);\n const lines = visible.filter(\n (s) => s.type === \"line\" || s.type === \"area\",\n ).length;\n const scatters = visible.filter((s) => s.type === \"scatter\").length;\n const perLine = Math.max(150, SHAPE_BUDGET.linePoints / Math.max(1, lines));\n const maxDots = Math.max(\n 100,\n Math.min(\n SHAPE_BUDGET.dotsPerSeries,\n SHAPE_BUDGET.dots / Math.max(1, scatters),\n ),\n );\n return {\n perLine,\n options: {\n // decimation keeps up to 4 points per column\n columnWidth: Math.max(3, (plot.width * 4) / perLine),\n maxDots,\n maxBars: SHAPE_BUDGET.barsPerSeries,\n dotCell: Math.max(\n 4,\n Math.sqrt((plot.width * plot.height) / maxDots) * 1.15 + 1,\n ),\n },\n };\n}\n\nfunction drawData(scene: ChartScene): ReactElement[] {\n const { plot } = scene.layout;\n const { perLine, options } = primitiveLimits(scene);\n const primitives: ChartPrimitive[] = scenePrimitives(scene, options);\n const ox = plot.x;\n const oy = plot.y;\n const out: ReactElement[] = [];\n let dotsLeft: number = SHAPE_BUDGET.dots;\n let barsLeft: number = SHAPE_BUDGET.bars;\n primitives.forEach((p, k) => {\n const key = `${p.kind}${p.seriesIndex}-${k}`;\n if (p.kind === \"area\") {\n p.segments.forEach((run, r) =>\n out.push(\n ...areaStrips(\n `${key}-${r}`,\n run,\n p.baseline,\n p.color,\n p.opacity,\n plot,\n p.bottoms?.[r],\n p.horizontal,\n ),\n ),\n );\n return;\n }\n if (p.kind === \"line\") {\n let total = 0;\n for (const run of p.segments) total += run.length / 2;\n p.segments.forEach((run, r) => {\n const pts = thin(\n run,\n Math.max(\n 2,\n Math.round((perLine * run.length) / 2 / Math.max(1, total)),\n ),\n );\n if (pts.length === 2) {\n out.push(\n dot(\n `${key}-${r}`,\n pts[0] - ox,\n pts[1] - oy,\n p.width * 1.5,\n p.color,\n ),\n );\n return;\n }\n for (let i = 0; i + 3 < pts.length; i += 2) {\n out.push(\n segment(\n `${key}-${r}-${i}`,\n pts[i] - ox,\n pts[i + 1] - oy,\n pts[i + 2] - ox,\n pts[i + 3] - oy,\n p.width,\n p.color,\n ),\n );\n }\n });\n return;\n }\n if (p.kind === \"bars\") {\n const count = p.rects.length / 4;\n const stride =\n count > barsLeft ? Math.ceil(count / Math.max(1, barsLeft)) : 1;\n for (let i = 0; i < count; i += stride) {\n const [x, y, w, h] = p.rects.slice(i * 4, i * 4 + 4);\n const radius = Math.min(p.radius ?? 0, w / 2, h / 2);\n out.push(\n box(\n `${key}-${i}`,\n x - ox,\n y - oy,\n Math.max(w, 0.5),\n h,\n p.colors?.[i] ?? p.color,\n radius > 0.5 || p.opacity !== undefined\n ? {\n ...(radius > 0.5 ? { borderRadius: radius } : null),\n ...(p.opacity !== undefined ? { opacity: p.opacity } : null),\n }\n : undefined,\n ),\n );\n }\n barsLeft = Math.max(0, barsLeft - Math.ceil(count / stride));\n return;\n }\n const count = p.dots.length / 3;\n const stride =\n count > dotsLeft ? Math.ceil(count / Math.max(1, dotsLeft)) : 1;\n for (let i = 0; i < count; i += stride) {\n out.push(\n dot(\n `${key}-${i}`,\n p.dots[i * 3] - ox,\n p.dots[i * 3 + 1] - oy,\n p.dots[i * 3 + 2],\n p.colors[i],\n {\n opacity: p.opacity,\n },\n ),\n );\n }\n dotsLeft = Math.max(0, dotsLeft - Math.ceil(count / stride));\n });\n return out;\n}\n\n// ------------------------------------------------------------ background\n\nconst css = (c: Rgba, alpha?: number) => toCss(c, alpha);\n\nfunction drawBackground(scene: ChartScene, family?: string): ReactElement[] {\n const { width, theme, model, layout, annotations } = scene;\n const { plot, scales, y2Ticks } = layout;\n // horizontal charts: the value axis along the bottom, the x axis on the left\n const horizontal = scales.horizontal;\n const bottomAxis = horizontal ? model.y : model.x;\n const leftAxis = horizontal ? model.x : model.y;\n const bottomTicks = horizontal ? layout.yTicks : layout.xTicks;\n const leftTicks = horizontal ? layout.xTicks : layout.yTicks;\n const bottomPx = horizontal ? scales.yToPx : scales.xToPx;\n const leftPx = horizontal ? scales.xToPx : scales.yToPx;\n const fs = theme.fontSize;\n const out: ReactElement[] = [];\n\n annotations.forEach((a, i) => {\n if (a.type !== \"rect\") return;\n const r = annotationRect(a, scales);\n if (r.width <= 0 || r.height <= 0) return;\n out.push(\n box(`area-${i}`, r.x, r.y, r.width, r.height, css(a.color, a.opacity)),\n );\n });\n\n const grid = css(theme.grid);\n if (leftAxis.grid) {\n leftTicks.values.forEach((v, i) => {\n const py = leftPx(v);\n if (py < plot.y - 1 || py > plot.y + plot.height + 1) return;\n out.push(box(`ygrid-${i}`, plot.x, crisp(py), plot.width, 1, grid));\n });\n }\n if (bottomAxis.grid) {\n bottomTicks.values.forEach((v, i) => {\n const px = bottomPx(v);\n if (px < plot.x - 1 || px > plot.x + plot.width + 1) return;\n out.push(box(`xgrid-${i}`, crisp(px), plot.y, 1, plot.height, grid));\n });\n }\n\n const line = Math.ceil(fs * 1.4);\n const tick: TextOptions = { size: fs, color: css(theme.textMuted), family };\n const title: TextOptions = {\n size: fs + 1,\n weight: 500,\n color: css(theme.text, 0.8),\n family,\n };\n const bottom = plot.y + plot.height;\n\n if (bottomAxis.visible) {\n out.push(\n box(\"xaxis\", plot.x, crisp(bottom), plot.width, 1, css(theme.axis)),\n );\n let lastRight = -Infinity;\n bottomTicks.values\n .map((v, i) => ({ px: bottomPx(v), text: bottomTicks.labels[i] ?? \"\" }))\n .sort((a, b) => a.px - b.px)\n .forEach(({ px, text }, i) => {\n if (!text || px < plot.x - 0.5 || px > plot.x + plot.width + 0.5)\n return;\n const w = measureChartText(text, `400 ${fs}px sans-serif`);\n const left = Math.max(0, Math.min(width - w, px - w / 2));\n if (left < lastRight + 6) return;\n lastRight = left + w;\n out.push(\n label(\n `xtick-${i}`,\n text,\n left + w / 2,\n bottom + 7,\n \"center\",\n \"top\",\n tick,\n width,\n ),\n );\n });\n if (bottomAxis.title)\n out.push(\n label(\n \"xtitle\",\n bottomAxis.title,\n plot.x + plot.width / 2,\n bottom + line + 10,\n \"center\",\n \"top\",\n title,\n width,\n ),\n );\n }\n\n if (leftAxis.visible) {\n let lastBottom = -Infinity;\n leftTicks.values\n .map((v, i) => ({ py: leftPx(v), text: leftTicks.labels[i] ?? \"\" }))\n .sort((a, b) => a.py - b.py)\n .forEach(({ py, text }, i) => {\n if (!text || py < plot.y - 0.5 || py > plot.y + plot.height + 0.5)\n return;\n // category rows of horizontal charts never overlap\n if (horizontal) {\n if (py - (fs + 2) / 2 < lastBottom) return;\n lastBottom = py + (fs + 2) / 2;\n }\n out.push(\n label(\n `ytick-${i}`,\n text,\n plot.x - 8,\n py,\n \"right\",\n \"middle\",\n tick,\n width,\n ),\n );\n });\n if (leftAxis.title)\n out.push(\n label(\n \"ytitle\",\n leftAxis.title,\n line / 2 + 4,\n plot.y + plot.height / 2,\n \"center\",\n \"middle\",\n title,\n width,\n {\n transform: [{ rotate: \"-90deg\" }],\n },\n ),\n );\n }\n\n const y2 = horizontal ? null : model.y2;\n if (y2 && y2Ticks && y2.visible) {\n const right = plot.x + plot.width;\n y2Ticks.values.forEach((v, i) => {\n const py = scales.yToPx(v);\n const text = y2Ticks.labels[i];\n if (!text || py < plot.y - 0.5 || py > plot.y + plot.height + 0.5) return;\n out.push(\n label(\n `y2tick-${i}`,\n text,\n right + 8,\n py,\n \"left\",\n \"middle\",\n tick,\n width,\n ),\n );\n });\n if (y2.title)\n out.push(\n label(\n \"y2title\",\n y2.title,\n width - line / 2 - 4,\n plot.y + plot.height / 2,\n \"center\",\n \"middle\",\n title,\n width,\n {\n transform: [{ rotate: \"90deg\" }],\n },\n ),\n );\n }\n\n if (scene.legend) {\n for (const e of scene.legend.entries) {\n // coordinates relative to the entry box\n const cy = e.box.height / 2;\n const swatch =\n e.shape === \"dot\"\n ? dot(\"swatch\", 5, cy, 8, e.color)\n : e.shape === \"line\"\n ? box(\"swatch\", 0, cy - 1, 10, 2, e.color)\n : box(\"swatch\", 1, cy - 4, 8, 8, e.color);\n out.push(\n <View\n key={`legend-${e.id}`}\n style={{\n position: \"absolute\",\n left: e.box.x,\n top: e.box.y,\n width: e.box.width,\n height: e.box.height,\n opacity: e.hidden ? 0.45 : 1,\n }}\n {...part(C, \"legend-item\", { hidden: e.hidden })}\n >\n {swatch}\n {label(\n \"name\",\n e.name,\n 14,\n cy,\n \"left\",\n \"middle\",\n { size: 12, color: css(theme.textMuted), family },\n e.box.width,\n e.hidden ? { textDecorationLine: \"line-through\" } : undefined,\n )}\n </View>,\n );\n }\n }\n return out;\n}\n\n// ------------------------------------------------------------ foreground\n\nfunction drawForeground(scene: ChartScene, family?: string): ReactElement[] {\n const { theme, annotations, layout } = scene;\n const { plot, scales } = layout;\n const fs = theme.fontSize;\n const ox = plot.x;\n const oy = plot.y;\n const fw = plot.width;\n const halo = css(theme.background, 0.9);\n const labelHeight = fs + 4;\n const out: ReactElement[] = [];\n\n annotations.forEach((a, i) => {\n if (a.type !== \"line\") return;\n const color = css(a.color);\n const where = annotationLine(a, scales);\n if (!where.vertical) {\n const py = where.at;\n out.push(\n ...dashedLine(\n `line-${i}`,\n \"y\",\n crisp(py, a.width) - oy,\n 0,\n plot.width,\n a.width,\n color,\n a.dash,\n ),\n );\n if (a.label)\n out.push(\n label(\n `line-label-${i}`,\n a.label,\n plot.width - 6,\n py - 3 - oy,\n \"right\",\n \"bottom\",\n { size: fs, weight: 500, color, halo, family },\n fw,\n ),\n );\n } else {\n const px = where.at;\n out.push(\n ...dashedLine(\n `line-${i}`,\n \"x\",\n crisp(px, a.width) - ox,\n 0,\n plot.height,\n a.width,\n color,\n a.dash,\n ),\n );\n if (a.label)\n out.push(\n label(\n `line-label-${i}`,\n a.label,\n px + 5 - ox,\n 5,\n \"left\",\n \"top\",\n { size: fs, weight: 500, color, halo, family },\n fw,\n ),\n );\n }\n });\n\n annotations.forEach((a, i) => {\n if (a.type !== \"rect\" || !a.label) return;\n const r = annotationRect(a, scales);\n if (r.width <= 0 || r.height <= 0) return;\n const pad = 10;\n const pos = a.labelPosition;\n const align: Align = pos.endsWith(\"left\")\n ? \"left\"\n : pos.endsWith(\"right\")\n ? \"right\"\n : \"center\";\n const tx =\n align === \"left\"\n ? r.x + pad\n : align === \"right\"\n ? r.x + r.width - pad\n : r.x + r.width / 2;\n const ty = pos.startsWith(\"top\")\n ? r.y + pad\n : pos.startsWith(\"bottom\")\n ? r.y + r.height - pad - labelHeight\n : r.y + (r.height - labelHeight) / 2;\n out.push(\n label(\n `area-label-${i}`,\n a.label,\n tx - ox,\n ty - oy,\n align,\n \"top\",\n { size: fs + 1, weight: 600, color: css(a.labelColor), family },\n fw,\n ),\n );\n });\n\n annotations.forEach((a, i) => {\n if (a.type !== \"text\" || !a.text) return;\n const w = measureChartText(a.text, `${a.weight} ${fs}px sans-serif`);\n const b = annotationTextBox(a, scales, w, labelHeight);\n out.push(\n label(\n `text-${i}`,\n a.text,\n b.x - ox,\n b.y + b.height / 2 - oy,\n \"left\",\n \"middle\",\n { size: fs, weight: a.weight, color: css(a.color), halo, family },\n fw,\n ),\n );\n });\n\n const pointColor = css(theme.text, 0.85);\n scene.pointLabels.forEach(({ label: l, box: b }, i) => {\n out.push(\n label(\n `point-label-${i}`,\n l.text,\n b.x - ox,\n b.y + b.height / 2 - oy,\n \"left\",\n \"middle\",\n { size: fs, color: pointColor, halo, family },\n fw,\n ),\n );\n });\n return out;\n}\n\nconst clip = (plot: ChartRect): ViewStyle => ({\n position: \"absolute\",\n left: plot.x,\n top: plot.y,\n width: plot.width,\n height: plot.height,\n overflow: \"hidden\",\n});\n\n/**\n * Everything but the hover state: axes, grid, legend, annotations, data and\n * labels (cached by the caller while the model, view and size are the same)\n */\nexport function drawStatic(scene: ChartScene, family?: string): ReactNode {\n const { plot } = scene.layout;\n return (\n <>\n {drawBackground(scene, family)}\n <View key=\"data\" style={clip(plot)} {...part(C, \"data\")}>\n {drawData(scene)}\n </View>\n <View key=\"labels\" style={clip(plot)} {...part(C, \"labels\")}>\n {drawForeground(scene, family)}\n </View>\n </>\n );\n}\n\n/** Crosshair, highlighted points, dragged point and the default tooltip */\nexport function drawHover(\n scene: ChartScene,\n family: string | undefined,\n customTooltip: boolean,\n): ReactNode {\n const { theme, layout, hover, dragging } = scene;\n const { plot } = layout;\n const background = css(theme.background);\n const out: ReactElement[] = [];\n if (hover && hover.crosshairY !== null) {\n out.push(\n <View\n key=\"crosshair-y\"\n style={StyleSheet.absoluteFill}\n {...part(C, \"crosshair\")}\n >\n {dashedLine(\n \"dash\",\n \"y\",\n Math.round(hover.crosshairY),\n plot.x,\n plot.width,\n 1,\n css(theme.textMuted, 0.55),\n [3, 3],\n )}\n </View>,\n );\n }\n if (hover && hover.crosshairX !== null) {\n out.push(\n <View\n key=\"crosshair\"\n style={StyleSheet.absoluteFill}\n {...part(C, \"crosshair\")}\n >\n {dashedLine(\n \"dash\",\n \"x\",\n Math.round(hover.crosshairX),\n plot.y,\n plot.height,\n 1,\n css(theme.textMuted, 0.55),\n [3, 3],\n )}\n </View>,\n );\n }\n hover?.marks.forEach((m, i) => {\n if (m.kind === \"band\") {\n out.push(\n box(`mark-${i}`, m.x, m.y, m.width, m.height, css(theme.text, 0.05), {\n borderRadius: 6,\n }),\n );\n return;\n }\n if (m.kind === \"cell\") {\n out.push(\n box(\n `mark-${i}`,\n m.x - 1.5,\n m.y - 1.5,\n m.width + 3,\n m.height + 3,\n \"transparent\",\n {\n borderRadius: 4,\n borderWidth: 1.5,\n borderColor: css(theme.text, 0.55),\n },\n ),\n );\n return;\n }\n // soft halo, then the dot with a thin ring in the background color\n out.push(\n dot(`halo-${i}`, m.x, m.y, m.size + 8, m.halo),\n dot(`mark-${i}`, m.x, m.y, m.size, m.color, {\n borderWidth: 2,\n borderColor: background,\n }),\n );\n });\n if (dragging) {\n out.push(\n <View key=\"drag\" {...part(C, \"drag\")} style={StyleSheet.absoluteFill}>\n {dot(\n \"ghost\",\n dragging.x,\n dragging.y,\n dragging.size + 2,\n dragging.color,\n {\n opacity: 0.85,\n borderWidth: 2,\n borderColor: background,\n },\n )}\n </View>,\n );\n }\n const tip = hover?.tooltip;\n if (tip && !customTooltip) {\n const { box: b, lineHeight, padding, content } = tip;\n const text = css(theme.text);\n const muted = css(theme.textMuted);\n const font = (weight: number, color: string): TextStyle => ({\n fontSize: 12,\n lineHeight,\n color,\n fontWeight: String(weight) as TextStyle[\"fontWeight\"],\n includeFontPadding: false,\n ...(family ? { fontFamily: family } : null),\n });\n const swatch = (color: string) => (\n <View\n style={{\n width: 8,\n height: 8,\n borderRadius: 4,\n marginRight: 6,\n backgroundColor: color,\n }}\n />\n );\n const row: ViewStyle = {\n height: lineHeight,\n flexDirection: \"row\",\n alignItems: \"center\",\n };\n out.push(\n <View\n key=\"tooltip\"\n {...part(C, \"tooltip\")}\n style={[\n tooltipCard(scene),\n {\n left: b.x,\n top: b.y,\n width: b.width,\n height: b.height,\n paddingHorizontal: padding + 1,\n paddingVertical: padding - 1,\n },\n ]}\n >\n {tip.text\n ? tip.text.map((t, i) => (\n <Text key={i} numberOfLines={1} style={font(400, text)}>\n {t}\n </Text>\n ))\n : [\n <View key=\"title\" style={row}>\n {content.titleColor ? swatch(content.titleColor) : null}\n <Text\n numberOfLines={1}\n style={[font(600, text), { flexShrink: 1 }]}\n >\n {content.title}\n </Text>\n </View>,\n ...content.rows.map((r, i) => (\n <View key={i} style={row}>\n {r.color ? swatch(r.color) : null}\n <Text\n numberOfLines={1}\n style={[font(400, muted), { flexShrink: 1 }]}\n >\n {r.name}\n </Text>\n <Text\n numberOfLines={1}\n style={[\n font(600, text),\n { flexGrow: 1, marginLeft: 16, textAlign: \"right\" },\n ]}\n >\n {r.value}\n </Text>\n </View>\n )),\n ]}\n </View>,\n );\n }\n return out;\n}\n\n/** Look of the tooltips (default and `renderTooltip` content) */\nexport const tooltipCard = (scene: ChartScene): ViewStyle => ({\n position: \"absolute\",\n backgroundColor: css(scene.theme.background),\n borderColor: css(scene.theme.axis),\n borderWidth: 1,\n borderRadius: 8,\n shadowColor: \"#0f172a\",\n shadowOpacity: 0.18,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 6 },\n elevation: 6,\n});\n"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { ReactNode, Ref } from 'react';
2
2
  import { DimensionValue, StyleProp, ViewStyle } from 'react-native';
3
- import { ChartAnnotation, ChartAxisOptions, ChartController, ChartHoverEvent, ChartInteractionOptions, ChartLegendOptions, ChartPadding, ChartPlotClickEvent, ChartRect, ChartSeries, ChartTooltipOptions, ChartView, QuadrantConfig, QuadrantCorner, QuadrantPoint } from '../../../charts/canvas.cjs';
4
- export type { ChartAnnotation, ChartAxisOptions, ChartAxisType, ChartColumnData, ChartDragEvent, ChartHoverEvent, ChartHoverItem, ChartInteractionOptions, ChartLabelPosition, ChartLegendOptions, ChartLineAnnotation, ChartPadding, ChartPlotClickEvent, ChartPointDatum, ChartRect, ChartRectAnnotation, ChartSeries, ChartSeriesData, ChartSeriesType, ChartTextAnnotation, ChartTooltipOptions, ChartView, ChartXValue, QuadrantAxisLabels, QuadrantConfig, QuadrantCorner, QuadrantPoint, QuadrantRegion, QuadrantRegions, } from '../../../charts/canvas.cjs';
3
+ import { ChartAnnotation, ChartAxisOptions, ChartController, ChartHoverEvent, ChartInteractionOptions, ChartLabels, ChartLegendOptions, ChartOrientation, ChartPadding, ChartPlotClickEvent, ChartRect, ChartSeries, ChartTooltipOptions, ChartView, QuadrantConfig, QuadrantCorner, QuadrantPoint } from '../../../charts/canvas.cjs';
4
+ export type { ChartAnnotation, ChartAxisOptions, ChartAxisType, ChartColumnData, ChartDragEvent, ChartHoverEvent, ChartHoverItem, ChartInteractionOptions, ChartLabelPosition, ChartLabels, ChartLegendOptions, ChartLineAnnotation, ChartOrientation, ChartPadding, ChartPlotClickEvent, ChartPointDatum, ChartRect, ChartRectAnnotation, ChartSeries, ChartSeriesData, ChartSeriesType, ChartTextAnnotation, ChartTimeZone, ChartTooltipLabels, ChartTooltipOptions, ChartView, ChartXValue, QuadrantAxisLabels, QuadrantConfig, QuadrantCorner, QuadrantPoint, QuadrantRegion, QuadrantRegions, } from '../../../charts/canvas.cjs';
5
5
  /** Imperative handle of the chart components (`ref`) */
6
6
  export interface ChartHandle {
7
7
  /** Shows the whole data range */
@@ -50,6 +50,14 @@ export interface ChartCommonProps {
50
50
  palette?: readonly string[];
51
51
  /** Accessible name of the chart */
52
52
  ariaLabel?: string;
53
+ /**
54
+ * Locale of the texts and numbers the chart writes (tooltip rows, compact
55
+ * units `k` / `万`, separators, month and weekday names of time axes)
56
+ * @default the device language when the runtime exposes it, else English
57
+ */
58
+ locale?: string;
59
+ /** Overrides of the built-in texts of the `locale` */
60
+ labels?: Partial<ChartLabels>;
53
61
  /** Called when the highlighted points change */
54
62
  onHover?: (event: ChartHoverEvent | null) => void;
55
63
  /** Called when a point (or bar) is tapped */
@@ -67,10 +75,17 @@ export interface ChartCommonProps {
67
75
  /** Imperative handle */
68
76
  ref?: Ref<ChartHandle>;
69
77
  }
70
- /** Props of Chart: any mix of line, area, bar and scatter series */
78
+ /** Props of Chart: any mix of line, area, bar, scatter and box plot series */
71
79
  export interface ChartProps extends ChartCommonProps {
72
80
  /** Data series; each sets its own `type` */
73
81
  series: readonly ChartSeries[];
82
+ /** Right value axis of the series with `yAxis: "right"` (dual axis charts) */
83
+ yAxis2?: ChartAxisOptions;
84
+ /**
85
+ * `horizontal` puts the x axis (categories) down the left side
86
+ * @default "vertical"
87
+ */
88
+ orientation?: ChartOrientation;
74
89
  }
75
90
  /** Props of LineChart */
76
91
  export interface LineChartProps extends ChartCommonProps {
@@ -92,6 +107,14 @@ export interface BarChartProps extends ChartCommonProps {
92
107
  */
93
108
  stacked?: boolean;
94
109
  }
110
+ /** Props of HorizontalBarChart */
111
+ export interface HorizontalBarChartProps extends Omit<BarChartProps, "labels"> {
112
+ /**
113
+ * Writes the value at the end of every bar
114
+ * @default false
115
+ */
116
+ labels?: boolean;
117
+ }
95
118
  /** Props of ScatterChart */
96
119
  export interface ScatterChartProps extends ChartCommonProps {
97
120
  /** Series drawn as dots unless they set a `type` */
@@ -1,7 +1,7 @@
1
1
  import { ReactNode, Ref } from 'react';
2
2
  import { DimensionValue, StyleProp, ViewStyle } from 'react-native';
3
- import { ChartAnnotation, ChartAxisOptions, ChartController, ChartHoverEvent, ChartInteractionOptions, ChartLegendOptions, ChartPadding, ChartPlotClickEvent, ChartRect, ChartSeries, ChartTooltipOptions, ChartView, QuadrantConfig, QuadrantCorner, QuadrantPoint } from '../../../charts/canvas.js';
4
- export type { ChartAnnotation, ChartAxisOptions, ChartAxisType, ChartColumnData, ChartDragEvent, ChartHoverEvent, ChartHoverItem, ChartInteractionOptions, ChartLabelPosition, ChartLegendOptions, ChartLineAnnotation, ChartPadding, ChartPlotClickEvent, ChartPointDatum, ChartRect, ChartRectAnnotation, ChartSeries, ChartSeriesData, ChartSeriesType, ChartTextAnnotation, ChartTooltipOptions, ChartView, ChartXValue, QuadrantAxisLabels, QuadrantConfig, QuadrantCorner, QuadrantPoint, QuadrantRegion, QuadrantRegions, } from '../../../charts/canvas.js';
3
+ import { ChartAnnotation, ChartAxisOptions, ChartController, ChartHoverEvent, ChartInteractionOptions, ChartLabels, ChartLegendOptions, ChartOrientation, ChartPadding, ChartPlotClickEvent, ChartRect, ChartSeries, ChartTooltipOptions, ChartView, QuadrantConfig, QuadrantCorner, QuadrantPoint } from '../../../charts/canvas.js';
4
+ export type { ChartAnnotation, ChartAxisOptions, ChartAxisType, ChartColumnData, ChartDragEvent, ChartHoverEvent, ChartHoverItem, ChartInteractionOptions, ChartLabelPosition, ChartLabels, ChartLegendOptions, ChartLineAnnotation, ChartOrientation, ChartPadding, ChartPlotClickEvent, ChartPointDatum, ChartRect, ChartRectAnnotation, ChartSeries, ChartSeriesData, ChartSeriesType, ChartTextAnnotation, ChartTimeZone, ChartTooltipLabels, ChartTooltipOptions, ChartView, ChartXValue, QuadrantAxisLabels, QuadrantConfig, QuadrantCorner, QuadrantPoint, QuadrantRegion, QuadrantRegions, } from '../../../charts/canvas.js';
5
5
  /** Imperative handle of the chart components (`ref`) */
6
6
  export interface ChartHandle {
7
7
  /** Shows the whole data range */
@@ -50,6 +50,14 @@ export interface ChartCommonProps {
50
50
  palette?: readonly string[];
51
51
  /** Accessible name of the chart */
52
52
  ariaLabel?: string;
53
+ /**
54
+ * Locale of the texts and numbers the chart writes (tooltip rows, compact
55
+ * units `k` / `万`, separators, month and weekday names of time axes)
56
+ * @default the device language when the runtime exposes it, else English
57
+ */
58
+ locale?: string;
59
+ /** Overrides of the built-in texts of the `locale` */
60
+ labels?: Partial<ChartLabels>;
53
61
  /** Called when the highlighted points change */
54
62
  onHover?: (event: ChartHoverEvent | null) => void;
55
63
  /** Called when a point (or bar) is tapped */
@@ -67,10 +75,17 @@ export interface ChartCommonProps {
67
75
  /** Imperative handle */
68
76
  ref?: Ref<ChartHandle>;
69
77
  }
70
- /** Props of Chart: any mix of line, area, bar and scatter series */
78
+ /** Props of Chart: any mix of line, area, bar, scatter and box plot series */
71
79
  export interface ChartProps extends ChartCommonProps {
72
80
  /** Data series; each sets its own `type` */
73
81
  series: readonly ChartSeries[];
82
+ /** Right value axis of the series with `yAxis: "right"` (dual axis charts) */
83
+ yAxis2?: ChartAxisOptions;
84
+ /**
85
+ * `horizontal` puts the x axis (categories) down the left side
86
+ * @default "vertical"
87
+ */
88
+ orientation?: ChartOrientation;
74
89
  }
75
90
  /** Props of LineChart */
76
91
  export interface LineChartProps extends ChartCommonProps {
@@ -92,6 +107,14 @@ export interface BarChartProps extends ChartCommonProps {
92
107
  */
93
108
  stacked?: boolean;
94
109
  }
110
+ /** Props of HorizontalBarChart */
111
+ export interface HorizontalBarChartProps extends Omit<BarChartProps, "labels"> {
112
+ /**
113
+ * Writes the value at the end of every bar
114
+ * @default false
115
+ */
116
+ labels?: boolean;
117
+ }
95
118
  /** Props of ScatterChart */
96
119
  export interface ScatterChartProps extends ChartCommonProps {
97
120
  /** Series drawn as dots unless they set a `type` */
@@ -0,0 +1,2 @@
1
+ const e=require("../../charts/src/engine/presets.cjs");require("../../charts/src/canvas.cjs");const t=require("../Chart/ChartBase.cjs");let n=require("react"),r=require("react/jsx-runtime");var i=(e,t)=>{let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>Object.is(e[n],t[n]))};function a(e){let[t,r]=(0,n.useState)(e);return t!==e&&!i(t,e)?(r(e),e):t}var o=[];function s(e){let{labels:n}=e;return a(t.engineOptions({...e,labels:typeof n==`object`?n:void 0,series:o}))}var c=e=>({height:e.height,width:e.width,style:e.style,testID:e.testID,handleRef:e.ref,onHover:e.onHover,onPointClick:e.onPointClick,onPlotClick:e.onPlotClick,onZoom:e.onZoom,renderTooltip:e.renderTooltip});function l(i){let{series:a,curve:o=`smooth`,stacked:l=!1,percent:u=!1}=i,d=s(i),f=(0,n.useMemo)(()=>({...d,series:e.areaSeries(a,{curve:o,stacked:l||u}),stackMode:u?`percent`:void 0}),[d,a,o,l,u]);return(0,r.jsx)(t.ChartBase,{options:f,...c(i)})}function u(i){let{series:a}=i,o=s(i),l=(0,n.useMemo)(()=>({...o,series:e.candlestickSeries(a)}),[o,a]);return(0,r.jsx)(t.ChartBase,{options:l,...c(i)})}function d(i){let{data:a,xCategories:o,yCategories:l,colorScale:u,valueRange:d,name:f,radius:p,format:m,legend:h,interaction:g,tooltip:_}=i,v=s(i),y=(0,n.useMemo)(()=>e.heatmapChartOptions({data:a,xCategories:o,yCategories:l,colorScale:u,valueRange:d,name:f,radius:p,format:m},{...v,legend:h,interaction:g,tooltip:_}),[v,a,o,l,u,d,f,p,m,h,g,_]);return(0,r.jsx)(t.ChartBase,{options:y,...c(i)})}function f(i){let{data:a,type:o,color:s,curve:c,name:l,reference:u,format:d,height:f=48,width:p,tooltip:m,palette:h,ariaLabel:g,locale:_,labels:v,style:y,testID:b,ref:x,onHover:S,renderTooltip:C}=i,w=(0,n.useMemo)(()=>e.sparklineOptions({data:a,type:o,color:s,curve:c,name:l,reference:u,format:d},{tooltip:m,palette:h,ariaLabel:g,locale:_,labels:v}),[a,o,s,c,l,u,d,m,h,g,_,v]);return(0,r.jsx)(t.ChartBase,{options:w,height:f,width:p,style:y,testID:b,handleRef:x,onHover:S,renderTooltip:C})}function p(i){let{series:a,curve:o=`smooth`}=i,l=s(i),u=(0,n.useMemo)(()=>({...l,series:e.rangeAreaSeries(a,o)}),[l,a,o]);return(0,r.jsx)(t.ChartBase,{options:u,...c(i)})}function m(e){let{series:i,yAxis2:a,stackMode:o,orientation:l}=e,u=s(e),d=(0,n.useMemo)(()=>({...u,series:i,...a?{yAxis2:a}:null,...o?{stackMode:o}:null,...l?{orientation:l}:null}),[u,i,a,o,l]);return(0,r.jsx)(t.ChartBase,{options:d,...c(e)})}function h(i){let{series:a,minSize:o,maxSize:l,maxValue:u}=i,d=s(i),f=(0,n.useMemo)(()=>({...d,series:e.bubbleSeries(a,{minSize:o,maxSize:l,maxValue:u})}),[d,a,o,l,u]);return(0,r.jsx)(t.ChartBase,{options:f,...c(i)})}function g(i){let{values:a,bins:o,domain:l,nice:u,name:d,color:f,formatBin:p,series:m}=i,h=s(i),g=(0,n.useMemo)(()=>({...h,series:[e.histogramSeries(a,{bins:o,domain:l,nice:u,name:d,color:f,format:p,locale:h.locale}),...m??[]]}),[h,a,o,l,u,d,f,p,m]);return(0,r.jsx)(t.ChartBase,{options:g,...c(i)})}function _(i){let{series:a,groups:o,name:l=`Values`,whisker:u,orientation:d}=i,f=s(i),p=(0,n.useMemo)(()=>({...f,series:e.boxplotSeries([...o?.length?[{id:`boxplot`,name:l,data:e.boxplotData(o,{whisker:u})}]:[],...a??[]]),...d?{orientation:d}:null}),[f,a,o,l,u,d]);return(0,r.jsx)(t.ChartBase,{options:p,...c(i)})}function v(i){let{steps:a,name:o,upColor:l,downColor:u,totalColor:d,start:f,labels:p=!0,format:m,orientation:h,locale:g}=i,_=s(i),v=(0,n.useMemo)(()=>({..._,...g?{locale:g}:null,series:[e.waterfallSeries(a,{name:o,upColor:l,downColor:u,totalColor:d,start:f,labels:p,format:m,locale:g??_.locale})],...h?{orientation:h}:null}),[_,g,a,o,l,u,d,f,p,m,h]);return(0,r.jsx)(t.ChartBase,{options:v,...c(i)})}function y(i){let{tasks:a,colors:o,taskName:l,progressName:u,milestoneName:d,formatProgress:f,today:p=!1,todayLabel:m,xAxis:h,yAxis:g,annotations:_,interaction:v,legend:y,locale:b}=i,x=s(i),[S]=(0,n.useState)(()=>Date.now()),C=p===!1?null:p===!0?S:p instanceof Date?p.getTime():p,w=(0,n.useMemo)(()=>{let t=e.ganttSeries(a,{colors:o,taskName:l,progressName:u,milestoneName:d,formatProgress:f,locale:b??x.locale}),n=C===null?[]:[{type:`line`,axis:`y`,value:C,color:`var(--danger-color, #dc2626)`,dash:[4,3],label:m}];return{...x,...b?{locale:b}:null,series:t.series,orientation:`horizontal`,xAxis:{type:`category`,categories:t.categories,...h},yAxis:{type:`time`,min:t.domain[0],max:t.domain[1],...g},annotations:[..._??[],...n],interaction:v??{zoom:`y`},legend:y??t.series.length>1}},[x,b,a,o,l,u,d,f,C,m,h,g,_,v,y]);return(0,r.jsx)(t.ChartBase,{options:w,...c(i)})}exports.AreaChart=l,exports.BoxPlotChart=_,exports.BubbleChart=h,exports.CandlestickChart=u,exports.GanttChart=y,exports.HeatmapChart=d,exports.HistogramChart=g,exports.MixedChart=m,exports.RangeAreaChart=p,exports.Sparkline=f,exports.WaterfallChart=v;
2
+ //# sourceMappingURL=charts.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"charts.cjs","names":["useState","engineOptions","useMemo","areaSeries","ChartBase","candlestickSeries","heatmapChartOptions","sparklineOptions","rangeAreaSeries","bubbleSeries","histogramSeries","boxplotSeries","boxplotData","waterfallSeries","ganttSeries","require_presets","require_ChartBase","react","react_jsx_runtime","shallowEqual","keys","a","b","key","useShallowStable","stable","setStable","value","NO_SERIES","useBaseOptions","props","labels","frameProps","AreaChart","input","base","options","stacked","percent","curve","CandlestickChart","HeatmapChart","data","xCategories","yCategories","colorScale","valueRange","name","radius","format","legend","interaction","tooltip","Sparkline","type","color","reference","palette","ariaLabel","locale","ref","RangeAreaChart","MixedChart","yAxis2","stackMode","orientation","series","BubbleChart","minSize","maxSize","maxValue","HistogramChart","extra","values","formatBin","bins","domain","nice","BoxPlotChart","groups","whisker","WaterfallChart","steps","upColor","downColor","totalColor","start","GanttChart","mountedAt","now","today","gantt","tasks","lines","todayLabel","xAxis","yAxis","annotations","colors","taskName","progressName","milestoneName","formatProgress"],"sources":["../../../../../native/src/components/Charts/charts.tsx"],"sourcesContent":["// Named cartesian charts of React Native: thin wrappers mapping the props\n// of the web components (minerva-design/charts) to engine options through\n// the presets of @minerva/charts/canvas, drawn by the view-based ChartBase.\n\nimport { useMemo, useState } from \"react\";\nimport {\n areaSeries,\n boxplotData,\n boxplotSeries,\n bubbleSeries,\n candlestickSeries,\n ganttSeries,\n heatmapChartOptions,\n histogramSeries,\n rangeAreaSeries,\n sparklineOptions,\n waterfallSeries,\n type ChartAnnotation,\n type ChartOptions,\n type ChartSeries,\n} from \"@minerva/charts/canvas\";\nimport { ChartBase, engineOptions } from \"../Chart/ChartBase\";\nimport type { ChartCommonProps } from \"../Chart/types\";\nimport type {\n AreaChartProps,\n BoxPlotChartProps,\n BubbleChartProps,\n CandlestickChartProps,\n GanttChartProps,\n HeatmapChartProps,\n HistogramChartProps,\n MixedChartProps,\n RangeAreaChartProps,\n SparklineProps,\n WaterfallChartProps,\n} from \"./types\";\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n) => {\n const keys = Object.keys(a);\n return (\n keys.length === Object.keys(b).length &&\n keys.every((key) => Object.is(a[key], b[key]))\n );\n};\n\n/**\n * The same object while every key keeps the same value (derived state:\n * the engine keeps its zoom and animations while the props are equal)\n */\nfunction useShallowStable<T extends object>(value: T): T {\n const [stable, setStable] = useState(value);\n if (\n stable !== value &&\n !shallowEqual(\n stable as Record<string, unknown>,\n value as Record<string, unknown>,\n )\n ) {\n setStable(value);\n return value;\n }\n return stable;\n}\n\nconst NO_SERIES: readonly ChartSeries[] = [];\n\ntype BaseProps = Omit<ChartCommonProps, \"crosshair\" | \"labels\"> & {\n crosshair?: boolean;\n /** Texts of the engine; a boolean is the `labels` prop of a chart (value labels) */\n labels?: ChartCommonProps[\"labels\"] | boolean;\n};\n\n/** Engine options of the common props (every option of `engineOptions`), stable while they are equal */\nfunction useBaseOptions(props: BaseProps) {\n const { labels } = props;\n return useShallowStable(\n engineOptions({\n ...props,\n labels: typeof labels === \"object\" ? labels : undefined,\n series: NO_SERIES,\n }),\n );\n}\n\nconst frameProps = (props: BaseProps) => ({\n height: props.height,\n width: props.width,\n style: props.style,\n testID: props.testID,\n handleRef: props.ref,\n onHover: props.onHover,\n onPointClick: props.onPointClick,\n onPlotClick: props.onPlotClick,\n onZoom: props.onZoom,\n renderTooltip: props.renderTooltip,\n});\n\n/** Area chart: smooth by default, stacked or 100% stacked */\nexport function AreaChart(props: AreaChartProps) {\n const {\n series: input,\n curve = \"smooth\",\n stacked = false,\n percent = false,\n } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({\n ...base,\n series: areaSeries(input, { curve, stacked: stacked || percent }),\n stackMode: percent ? \"percent\" : undefined,\n }),\n [base, input, curve, stacked, percent],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/** Candlestick (OHLC) chart: rising and falling candles, pinch to zoom */\nexport function CandlestickChart(props: CandlestickChartProps) {\n const { series: input } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({ ...base, series: candlestickSeries(input) }),\n [base, input],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/** Heatmap: a grid of cells colored by value (categories or numbers on both axes) */\nexport function HeatmapChart(props: HeatmapChartProps) {\n const {\n data,\n xCategories,\n yCategories,\n colorScale,\n valueRange,\n name,\n radius,\n format,\n legend,\n interaction,\n tooltip,\n } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n () =>\n heatmapChartOptions(\n {\n data,\n xCategories,\n yCategories,\n colorScale,\n valueRange,\n name,\n radius,\n format,\n },\n { ...base, legend, interaction, tooltip },\n ),\n [\n base,\n data,\n xCategories,\n yCategories,\n colorScale,\n valueRange,\n name,\n radius,\n format,\n legend,\n interaction,\n tooltip,\n ],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/** Word-sized chart without axes: a trend in a list row, a KPI card, ... */\nexport function Sparkline(props: SparklineProps) {\n const {\n data,\n type,\n color,\n curve,\n name,\n reference,\n format,\n height = 48,\n width,\n tooltip,\n palette,\n ariaLabel,\n locale,\n labels,\n style,\n testID,\n ref,\n onHover,\n renderTooltip,\n } = props;\n const options = useMemo(\n () =>\n sparklineOptions(\n { data, type, color, curve, name, reference, format },\n { tooltip, palette, ariaLabel, locale, labels },\n ),\n [\n data,\n type,\n color,\n curve,\n name,\n reference,\n format,\n tooltip,\n palette,\n ariaLabel,\n locale,\n labels,\n ],\n );\n return (\n <ChartBase\n options={options}\n height={height}\n width={width}\n style={style}\n testID={testID}\n handleRef={ref}\n onHover={onHover}\n renderTooltip={renderTooltip}\n />\n );\n}\n\n/**\n * Range area chart: bands between a lower (`y0`) and an upper edge\n * (confidence intervals, min-max ranges), mixable with lines\n */\nexport function RangeAreaChart(props: RangeAreaChartProps) {\n const { series: input, curve = \"smooth\" } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({ ...base, series: rangeAreaSeries(input, curve) }),\n [base, input, curve],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/**\n * Combination chart: bars, lines and areas on one or two value axes\n * (`yAxis: \"right\"` series use `yAxis2`, aligned on the left grid)\n */\nexport function MixedChart(props: MixedChartProps) {\n const { series, yAxis2, stackMode, orientation } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({\n ...base,\n series,\n ...(yAxis2 ? { yAxis2 } : null),\n ...(stackMode ? { stackMode } : null),\n ...(orientation ? { orientation } : null),\n }),\n [base, series, yAxis2, stackMode, orientation],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/** Bubble chart: x, y and a value sized by area (√value diameters) */\nexport function BubbleChart(props: BubbleChartProps) {\n const { series: input, minSize, maxSize, maxValue } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({\n ...base,\n series: bubbleSeries(input, { minSize, maxSize, maxValue }),\n }),\n [base, input, minSize, maxSize, maxValue],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/**\n * Histogram: the distribution of raw samples in bins of equal width\n * (Freedman-Diaconis, Sturges or a count)\n */\nexport function HistogramChart(props: HistogramChartProps) {\n const {\n values,\n bins,\n domain,\n nice,\n name,\n color,\n formatBin,\n series: extra,\n } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({\n ...base,\n series: [\n histogramSeries(values, {\n bins,\n domain,\n nice,\n name,\n color,\n format: formatBin,\n locale: base.locale,\n }),\n ...(extra ?? []),\n ],\n }),\n [base, values, bins, domain, nice, name, color, formatBin, extra],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/**\n * Box plot: medians, quartiles, whiskers and outliers of samples, from raw\n * values (`groups`) or computed statistics (`series`)\n */\nexport function BoxPlotChart(props: BoxPlotChartProps) {\n const {\n series: input,\n groups,\n name = \"Values\",\n whisker,\n orientation,\n } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({\n ...base,\n series: boxplotSeries([\n ...(groups?.length\n ? [{ id: \"boxplot\", name, data: boxplotData(groups, { whisker }) }]\n : []),\n ...(input ?? []),\n ]),\n ...(orientation ? { orientation } : null),\n }),\n [base, input, groups, name, whisker, orientation],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/**\n * Waterfall (bridge) chart: how changes take a value from a start to an\n * end, with subtotals and totals (P&L bridges, budget variances)\n */\nexport function WaterfallChart(props: WaterfallChartProps) {\n const {\n steps,\n name,\n upColor,\n downColor,\n totalColor,\n start,\n labels = true,\n format,\n orientation,\n locale,\n } = props;\n const base = useBaseOptions(props);\n const options = useMemo(\n (): ChartOptions => ({\n ...base,\n ...(locale ? { locale } : null),\n series: [\n waterfallSeries(steps, {\n name,\n upColor,\n downColor,\n totalColor,\n start,\n labels,\n format,\n locale: locale ?? base.locale,\n }),\n ],\n ...(orientation ? { orientation } : null),\n }),\n [\n base,\n locale,\n steps,\n name,\n upColor,\n downColor,\n totalColor,\n start,\n labels,\n format,\n orientation,\n ],\n );\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n\n/**\n * Gantt chart: tasks as bars on a time axis with their progress, groups,\n * milestones and a today line; pinch to zoom along the time\n */\nexport function GanttChart(props: GanttChartProps) {\n const {\n tasks,\n colors,\n taskName,\n progressName,\n milestoneName,\n formatProgress,\n today = false,\n todayLabel,\n xAxis,\n yAxis,\n annotations,\n interaction,\n legend,\n locale,\n } = props;\n const base = useBaseOptions(props);\n const [mountedAt] = useState(() => Date.now());\n const now =\n today === false\n ? null\n : today === true\n ? mountedAt\n : today instanceof Date\n ? today.getTime()\n : today;\n const options = useMemo((): ChartOptions => {\n const gantt = ganttSeries(tasks, {\n colors,\n taskName,\n progressName,\n milestoneName,\n formatProgress,\n locale: locale ?? base.locale,\n });\n const lines: ChartAnnotation[] =\n now === null\n ? []\n : [\n {\n type: \"line\",\n axis: \"y\",\n value: now,\n color: \"var(--danger-color, #dc2626)\",\n dash: [4, 3],\n label: todayLabel,\n },\n ];\n return {\n ...base,\n ...(locale ? { locale } : null),\n series: gantt.series,\n orientation: \"horizontal\",\n xAxis: { type: \"category\", categories: gantt.categories, ...xAxis },\n yAxis: {\n type: \"time\",\n min: gantt.domain[0],\n max: gantt.domain[1],\n ...yAxis,\n },\n annotations: [...(annotations ?? []), ...lines],\n interaction: interaction ?? { zoom: \"y\" },\n legend: legend ?? gantt.series.length > 1,\n };\n }, [\n base,\n locale,\n tasks,\n colors,\n taskName,\n progressName,\n milestoneName,\n formatProgress,\n now,\n todayLabel,\n xAxis,\n yAxis,\n annotations,\n interaction,\n legend,\n ]);\n return <ChartBase options={options} {...frameProps(props)} />;\n}\n"],"mappings":"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"}
@@ -0,0 +1,41 @@
1
+ import { AreaChartProps, BoxPlotChartProps, BubbleChartProps, CandlestickChartProps, GanttChartProps, HeatmapChartProps, HistogramChartProps, MixedChartProps, RangeAreaChartProps, SparklineProps, WaterfallChartProps } from './types.cjs';
2
+ /** Area chart: smooth by default, stacked or 100% stacked */
3
+ export declare function AreaChart(props: AreaChartProps): import('react').JSX.Element;
4
+ /** Candlestick (OHLC) chart: rising and falling candles, pinch to zoom */
5
+ export declare function CandlestickChart(props: CandlestickChartProps): import('react').JSX.Element;
6
+ /** Heatmap: a grid of cells colored by value (categories or numbers on both axes) */
7
+ export declare function HeatmapChart(props: HeatmapChartProps): import('react').JSX.Element;
8
+ /** Word-sized chart without axes: a trend in a list row, a KPI card, ... */
9
+ export declare function Sparkline(props: SparklineProps): import('react').JSX.Element;
10
+ /**
11
+ * Range area chart: bands between a lower (`y0`) and an upper edge
12
+ * (confidence intervals, min-max ranges), mixable with lines
13
+ */
14
+ export declare function RangeAreaChart(props: RangeAreaChartProps): import('react').JSX.Element;
15
+ /**
16
+ * Combination chart: bars, lines and areas on one or two value axes
17
+ * (`yAxis: "right"` series use `yAxis2`, aligned on the left grid)
18
+ */
19
+ export declare function MixedChart(props: MixedChartProps): import('react').JSX.Element;
20
+ /** Bubble chart: x, y and a value sized by area (√value diameters) */
21
+ export declare function BubbleChart(props: BubbleChartProps): import('react').JSX.Element;
22
+ /**
23
+ * Histogram: the distribution of raw samples in bins of equal width
24
+ * (Freedman-Diaconis, Sturges or a count)
25
+ */
26
+ export declare function HistogramChart(props: HistogramChartProps): import('react').JSX.Element;
27
+ /**
28
+ * Box plot: medians, quartiles, whiskers and outliers of samples, from raw
29
+ * values (`groups`) or computed statistics (`series`)
30
+ */
31
+ export declare function BoxPlotChart(props: BoxPlotChartProps): import('react').JSX.Element;
32
+ /**
33
+ * Waterfall (bridge) chart: how changes take a value from a start to an
34
+ * end, with subtotals and totals (P&L bridges, budget variances)
35
+ */
36
+ export declare function WaterfallChart(props: WaterfallChartProps): import('react').JSX.Element;
37
+ /**
38
+ * Gantt chart: tasks as bars on a time axis with their progress, groups,
39
+ * milestones and a today line; pinch to zoom along the time
40
+ */
41
+ export declare function GanttChart(props: GanttChartProps): import('react').JSX.Element;
@@ -0,0 +1,41 @@
1
+ import { AreaChartProps, BoxPlotChartProps, BubbleChartProps, CandlestickChartProps, GanttChartProps, HeatmapChartProps, HistogramChartProps, MixedChartProps, RangeAreaChartProps, SparklineProps, WaterfallChartProps } from './types.js';
2
+ /** Area chart: smooth by default, stacked or 100% stacked */
3
+ export declare function AreaChart(props: AreaChartProps): import('react').JSX.Element;
4
+ /** Candlestick (OHLC) chart: rising and falling candles, pinch to zoom */
5
+ export declare function CandlestickChart(props: CandlestickChartProps): import('react').JSX.Element;
6
+ /** Heatmap: a grid of cells colored by value (categories or numbers on both axes) */
7
+ export declare function HeatmapChart(props: HeatmapChartProps): import('react').JSX.Element;
8
+ /** Word-sized chart without axes: a trend in a list row, a KPI card, ... */
9
+ export declare function Sparkline(props: SparklineProps): import('react').JSX.Element;
10
+ /**
11
+ * Range area chart: bands between a lower (`y0`) and an upper edge
12
+ * (confidence intervals, min-max ranges), mixable with lines
13
+ */
14
+ export declare function RangeAreaChart(props: RangeAreaChartProps): import('react').JSX.Element;
15
+ /**
16
+ * Combination chart: bars, lines and areas on one or two value axes
17
+ * (`yAxis: "right"` series use `yAxis2`, aligned on the left grid)
18
+ */
19
+ export declare function MixedChart(props: MixedChartProps): import('react').JSX.Element;
20
+ /** Bubble chart: x, y and a value sized by area (√value diameters) */
21
+ export declare function BubbleChart(props: BubbleChartProps): import('react').JSX.Element;
22
+ /**
23
+ * Histogram: the distribution of raw samples in bins of equal width
24
+ * (Freedman-Diaconis, Sturges or a count)
25
+ */
26
+ export declare function HistogramChart(props: HistogramChartProps): import('react').JSX.Element;
27
+ /**
28
+ * Box plot: medians, quartiles, whiskers and outliers of samples, from raw
29
+ * values (`groups`) or computed statistics (`series`)
30
+ */
31
+ export declare function BoxPlotChart(props: BoxPlotChartProps): import('react').JSX.Element;
32
+ /**
33
+ * Waterfall (bridge) chart: how changes take a value from a start to an
34
+ * end, with subtotals and totals (P&L bridges, budget variances)
35
+ */
36
+ export declare function WaterfallChart(props: WaterfallChartProps): import('react').JSX.Element;
37
+ /**
38
+ * Gantt chart: tasks as bars on a time axis with their progress, groups,
39
+ * milestones and a today line; pinch to zoom along the time
40
+ */
41
+ export declare function GanttChart(props: GanttChartProps): import('react').JSX.Element;