minerva-design 1.3.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 (1166) hide show
  1. package/CHANGELOG.md +9 -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 +7 -2
  8. package/dist/charts/canvas.d.ts +7 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +7 -4
  11. package/dist/charts/core.d.ts +7 -4
  12. package/dist/charts/core.js +19 -8
  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 +118 -68
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  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 +307 -285
  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.js +2 -2
  32. package/dist/charts/engine/color.js.map +1 -1
  33. package/dist/charts/engine/controller.cjs +1 -1
  34. package/dist/charts/engine/controller.cjs.map +1 -1
  35. package/dist/charts/engine/controller.d.cts +12 -3
  36. package/dist/charts/engine/controller.d.ts +12 -3
  37. package/dist/charts/engine/controller.js +359 -299
  38. package/dist/charts/engine/controller.js.map +1 -1
  39. package/dist/charts/engine/data.cjs +1 -1
  40. package/dist/charts/engine/data.cjs.map +1 -1
  41. package/dist/charts/engine/data.d.cts +6 -0
  42. package/dist/charts/engine/data.d.ts +6 -0
  43. package/dist/charts/engine/data.js +63 -49
  44. package/dist/charts/engine/data.js.map +1 -1
  45. package/dist/charts/engine/format.cjs +1 -1
  46. package/dist/charts/engine/format.cjs.map +1 -1
  47. package/dist/charts/engine/format.d.cts +21 -6
  48. package/dist/charts/engine/format.d.ts +21 -6
  49. package/dist/charts/engine/format.js +46 -21
  50. package/dist/charts/engine/format.js.map +1 -1
  51. package/dist/charts/engine/items.cjs +1 -1
  52. package/dist/charts/engine/items.cjs.map +1 -1
  53. package/dist/charts/engine/items.js +211 -54
  54. package/dist/charts/engine/items.js.map +1 -1
  55. package/dist/charts/engine/labels.cjs +2 -0
  56. package/dist/charts/engine/labels.cjs.map +1 -0
  57. package/dist/charts/engine/labels.d.cts +13 -0
  58. package/dist/charts/engine/labels.d.ts +13 -0
  59. package/dist/charts/engine/labels.js +74 -0
  60. package/dist/charts/engine/labels.js.map +1 -0
  61. package/dist/charts/engine/layout.cjs +1 -1
  62. package/dist/charts/engine/layout.cjs.map +1 -1
  63. package/dist/charts/engine/layout.d.cts +34 -2
  64. package/dist/charts/engine/layout.d.ts +34 -2
  65. package/dist/charts/engine/layout.js +53 -12
  66. package/dist/charts/engine/layout.js.map +1 -1
  67. package/dist/charts/engine/locale.cjs +2 -0
  68. package/dist/charts/engine/locale.cjs.map +1 -0
  69. package/dist/charts/engine/locale.d.cts +33 -0
  70. package/dist/charts/engine/locale.d.ts +33 -0
  71. package/dist/charts/engine/locale.js +68 -0
  72. package/dist/charts/engine/locale.js.map +1 -0
  73. package/dist/charts/engine/model.cjs +1 -1
  74. package/dist/charts/engine/model.cjs.map +1 -1
  75. package/dist/charts/engine/model.d.cts +39 -1
  76. package/dist/charts/engine/model.d.ts +39 -1
  77. package/dist/charts/engine/model.js +212 -105
  78. package/dist/charts/engine/model.js.map +1 -1
  79. package/dist/charts/engine/orderbook/book.cjs +2 -0
  80. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  81. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  82. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  83. package/dist/charts/engine/orderbook/book.js +134 -0
  84. package/dist/charts/engine/orderbook/book.js.map +1 -0
  85. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  86. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  87. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  88. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  89. package/dist/charts/engine/orderbook/depth.js +413 -0
  90. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  91. package/dist/charts/engine/orderbook/format.cjs +2 -0
  92. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  93. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  94. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  95. package/dist/charts/engine/orderbook/format.js +65 -0
  96. package/dist/charts/engine/orderbook/format.js.map +1 -0
  97. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  98. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  99. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  100. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  101. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  102. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  103. package/dist/charts/engine/orderbook/host.cjs +2 -0
  104. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  105. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  106. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  107. package/dist/charts/engine/orderbook/host.js +161 -0
  108. package/dist/charts/engine/orderbook/host.js.map +1 -0
  109. package/dist/charts/engine/orderbook/index.cjs +1 -0
  110. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  111. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  112. package/dist/charts/engine/orderbook/index.js +6 -0
  113. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  114. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  115. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  116. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  117. package/dist/charts/engine/orderbook/ladder.js +341 -0
  118. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  119. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  120. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  121. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  122. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  123. package/dist/charts/engine/orderbook/tape.js +450 -0
  124. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  125. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  126. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  127. package/dist/charts/engine/overlay.cjs +1 -1
  128. package/dist/charts/engine/overlay.cjs.map +1 -1
  129. package/dist/charts/engine/overlay.d.cts +18 -2
  130. package/dist/charts/engine/overlay.d.ts +18 -2
  131. package/dist/charts/engine/overlay.js +132 -96
  132. package/dist/charts/engine/overlay.js.map +1 -1
  133. package/dist/charts/engine/presets.cjs +2 -2
  134. package/dist/charts/engine/presets.cjs.map +1 -1
  135. package/dist/charts/engine/presets.d.cts +249 -1
  136. package/dist/charts/engine/presets.d.ts +249 -1
  137. package/dist/charts/engine/presets.js +367 -29
  138. package/dist/charts/engine/presets.js.map +1 -1
  139. package/dist/charts/engine/renderers/detect.cjs +1 -1
  140. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  141. package/dist/charts/engine/renderers/detect.js +18 -15
  142. package/dist/charts/engine/renderers/detect.js.map +1 -1
  143. package/dist/charts/engine/renderers/gl.cjs +2 -0
  144. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  145. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  146. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  147. package/dist/charts/engine/renderers/gl.js +56 -0
  148. package/dist/charts/engine/renderers/gl.js.map +1 -0
  149. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  150. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  151. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  152. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  153. package/dist/charts/engine/renderers/shaders.js +139 -1
  154. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  155. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  156. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  157. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  158. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  159. package/dist/charts/engine/renderers/webgl.js +133 -0
  160. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  161. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  162. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  163. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  164. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  165. package/dist/charts/engine/renderers/webgl2.js +59 -108
  166. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  167. package/dist/charts/engine/scale.cjs +1 -1
  168. package/dist/charts/engine/scale.cjs.map +1 -1
  169. package/dist/charts/engine/scale.js +1 -1
  170. package/dist/charts/engine/scale.js.map +1 -1
  171. package/dist/charts/engine/scene.cjs +1 -1
  172. package/dist/charts/engine/scene.cjs.map +1 -1
  173. package/dist/charts/engine/scene.d.cts +14 -4
  174. package/dist/charts/engine/scene.d.ts +14 -4
  175. package/dist/charts/engine/scene.js +292 -163
  176. package/dist/charts/engine/scene.js.map +1 -1
  177. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  178. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  179. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  180. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  181. package/dist/charts/engine/shapes/bullet.js +255 -0
  182. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  183. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  184. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  185. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  186. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  187. package/dist/charts/engine/shapes/calendar.js +369 -0
  188. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  189. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  190. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  191. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  192. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  193. package/dist/charts/engine/shapes/canvas.js +22 -13
  194. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  195. package/dist/charts/engine/shapes/chart.cjs +1 -1
  196. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  197. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  198. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  199. package/dist/charts/engine/shapes/chart.js +45 -26
  200. package/dist/charts/engine/shapes/chart.js.map +1 -1
  201. package/dist/charts/engine/shapes/draw.cjs +1 -1
  202. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  203. package/dist/charts/engine/shapes/draw.d.cts +3 -1
  204. package/dist/charts/engine/shapes/draw.d.ts +3 -1
  205. package/dist/charts/engine/shapes/draw.js +31 -18
  206. package/dist/charts/engine/shapes/draw.js.map +1 -1
  207. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  208. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  209. package/dist/charts/engine/shapes/funnel.js +3 -3
  210. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  211. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  212. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  213. package/dist/charts/engine/shapes/gauge.js +132 -95
  214. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  215. package/dist/charts/engine/shapes/hit.cjs +1 -1
  216. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  217. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  218. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  219. package/dist/charts/engine/shapes/hit.js +29 -8
  220. package/dist/charts/engine/shapes/hit.js.map +1 -1
  221. package/dist/charts/engine/shapes/index.d.cts +4 -1
  222. package/dist/charts/engine/shapes/index.d.ts +4 -1
  223. package/dist/charts/engine/shapes/labels.cjs +2 -0
  224. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  225. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  226. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  227. package/dist/charts/engine/shapes/labels.js +146 -0
  228. package/dist/charts/engine/shapes/labels.js.map +1 -0
  229. package/dist/charts/engine/shapes/layout.cjs +2 -2
  230. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  231. package/dist/charts/engine/shapes/layout.d.cts +8 -3
  232. package/dist/charts/engine/shapes/layout.d.ts +8 -3
  233. package/dist/charts/engine/shapes/layout.js +200 -113
  234. package/dist/charts/engine/shapes/layout.js.map +1 -1
  235. package/dist/charts/engine/shapes/pie.cjs +1 -1
  236. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  237. package/dist/charts/engine/shapes/pie.js +2 -2
  238. package/dist/charts/engine/shapes/pie.js.map +1 -1
  239. package/dist/charts/engine/shapes/radar.cjs +1 -1
  240. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  241. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  242. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  243. package/dist/charts/engine/shapes/radar.js +50 -49
  244. package/dist/charts/engine/shapes/radar.js.map +1 -1
  245. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  246. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  247. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  248. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  249. package/dist/charts/engine/shapes/radialBar.js +155 -0
  250. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  251. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  252. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  253. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  254. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  255. package/dist/charts/engine/shapes/runtime.js +61 -51
  256. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  257. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  258. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  260. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  261. package/dist/charts/engine/shapes/sankey.js +372 -0
  262. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  263. package/dist/charts/engine/shapes/scene.cjs +1 -1
  264. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  265. package/dist/charts/engine/shapes/scene.d.cts +62 -8
  266. package/dist/charts/engine/shapes/scene.d.ts +62 -8
  267. package/dist/charts/engine/shapes/scene.js +33 -31
  268. package/dist/charts/engine/shapes/scene.js.map +1 -1
  269. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  270. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  272. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  273. package/dist/charts/engine/shapes/sunburst.js +261 -0
  274. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  275. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  276. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/treemap.js +2 -2
  278. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  279. package/dist/charts/engine/shapes/types.d.cts +439 -12
  280. package/dist/charts/engine/shapes/types.d.ts +439 -12
  281. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  282. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  283. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  284. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  285. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  286. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  287. package/dist/charts/engine/three-d/chart.cjs +2 -0
  288. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  289. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  290. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  291. package/dist/charts/engine/three-d/chart.js +621 -0
  292. package/dist/charts/engine/three-d/chart.js.map +1 -0
  293. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  294. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  295. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  296. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  297. package/dist/charts/engine/three-d/colormap.js +166 -0
  298. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  299. package/dist/charts/engine/three-d/contours.cjs +2 -0
  300. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  301. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  302. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  303. package/dist/charts/engine/three-d/contours.js +47 -0
  304. package/dist/charts/engine/three-d/contours.js.map +1 -0
  305. package/dist/charts/engine/three-d/detect.cjs +2 -0
  306. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  307. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  308. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  309. package/dist/charts/engine/three-d/detect.js +35 -0
  310. package/dist/charts/engine/three-d/detect.js.map +1 -0
  311. package/dist/charts/engine/three-d/dom.cjs +2 -0
  312. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  313. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  314. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  315. package/dist/charts/engine/three-d/dom.js +98 -0
  316. package/dist/charts/engine/three-d/dom.js.map +1 -0
  317. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  318. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  319. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  320. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  321. package/dist/charts/engine/three-d/geometry.js +529 -0
  322. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  323. package/dist/charts/engine/three-d/hover.cjs +2 -0
  324. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  325. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  326. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  327. package/dist/charts/engine/three-d/hover.js +131 -0
  328. package/dist/charts/engine/three-d/hover.js.map +1 -0
  329. package/dist/charts/engine/three-d/index.cjs +1 -0
  330. package/dist/charts/engine/three-d/index.d.cts +2 -0
  331. package/dist/charts/engine/three-d/index.d.ts +2 -0
  332. package/dist/charts/engine/three-d/index.js +2 -0
  333. package/dist/charts/engine/three-d/labels.cjs +2 -0
  334. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  336. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  337. package/dist/charts/engine/three-d/labels.js +136 -0
  338. package/dist/charts/engine/three-d/labels.js.map +1 -0
  339. package/dist/charts/engine/three-d/math.cjs +2 -0
  340. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  341. package/dist/charts/engine/three-d/math.d.cts +84 -0
  342. package/dist/charts/engine/three-d/math.d.ts +84 -0
  343. package/dist/charts/engine/three-d/math.js +150 -0
  344. package/dist/charts/engine/three-d/math.js.map +1 -0
  345. package/dist/charts/engine/three-d/model.cjs +2 -0
  346. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  347. package/dist/charts/engine/three-d/model.d.cts +130 -0
  348. package/dist/charts/engine/three-d/model.d.ts +130 -0
  349. package/dist/charts/engine/three-d/model.js +277 -0
  350. package/dist/charts/engine/three-d/model.js.map +1 -0
  351. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  352. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  353. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  354. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  355. package/dist/charts/engine/three-d/overlay.js +197 -0
  356. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  357. package/dist/charts/engine/three-d/pick.cjs +2 -0
  358. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  359. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  360. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  361. package/dist/charts/engine/three-d/pick.js +220 -0
  362. package/dist/charts/engine/three-d/pick.js.map +1 -0
  363. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  364. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  365. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  366. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  367. package/dist/charts/engine/three-d/render-types.js +13 -0
  368. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  369. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  370. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  371. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  372. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  373. package/dist/charts/engine/three-d/shaders.js +191 -0
  374. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  375. package/dist/charts/engine/three-d/sort.cjs +2 -0
  376. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  377. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  378. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  379. package/dist/charts/engine/three-d/sort.js +71 -0
  380. package/dist/charts/engine/three-d/sort.js.map +1 -0
  381. package/dist/charts/engine/three-d/types.d.cts +588 -0
  382. package/dist/charts/engine/three-d/types.d.ts +588 -0
  383. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  384. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  386. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  387. package/dist/charts/engine/three-d/webgl.js +130 -0
  388. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  389. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  390. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  392. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  393. package/dist/charts/engine/three-d/webgpu.js +249 -0
  394. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  395. package/dist/charts/engine/time.cjs +1 -1
  396. package/dist/charts/engine/time.cjs.map +1 -1
  397. package/dist/charts/engine/time.d.cts +13 -4
  398. package/dist/charts/engine/time.d.ts +13 -4
  399. package/dist/charts/engine/time.js +156 -91
  400. package/dist/charts/engine/time.js.map +1 -1
  401. package/dist/charts/engine/trading/chart.cjs +2 -0
  402. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  403. package/dist/charts/engine/trading/chart.d.cts +3 -0
  404. package/dist/charts/engine/trading/chart.d.ts +3 -0
  405. package/dist/charts/engine/trading/chart.js +1507 -0
  406. package/dist/charts/engine/trading/chart.js.map +1 -0
  407. package/dist/charts/engine/trading/drawings.cjs +2 -0
  408. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  409. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  410. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  411. package/dist/charts/engine/trading/drawings.js +160 -0
  412. package/dist/charts/engine/trading/drawings.js.map +1 -0
  413. package/dist/charts/engine/trading/format.cjs +2 -0
  414. package/dist/charts/engine/trading/format.cjs.map +1 -0
  415. package/dist/charts/engine/trading/format.d.cts +60 -0
  416. package/dist/charts/engine/trading/format.d.ts +60 -0
  417. package/dist/charts/engine/trading/format.js +131 -0
  418. package/dist/charts/engine/trading/format.js.map +1 -0
  419. package/dist/charts/engine/trading/geometry.cjs +2 -0
  420. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  421. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  422. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  423. package/dist/charts/engine/trading/geometry.js +131 -0
  424. package/dist/charts/engine/trading/geometry.js.map +1 -0
  425. package/dist/charts/engine/trading/index.cjs +1 -0
  426. package/dist/charts/engine/trading/index.d.cts +3 -0
  427. package/dist/charts/engine/trading/index.d.ts +3 -0
  428. package/dist/charts/engine/trading/index.js +3 -0
  429. package/dist/charts/engine/trading/indicators.cjs +2 -0
  430. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  431. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  432. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  433. package/dist/charts/engine/trading/indicators.js +268 -0
  434. package/dist/charts/engine/trading/indicators.js.map +1 -0
  435. package/dist/charts/engine/trading/labels.cjs +2 -0
  436. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  437. package/dist/charts/engine/trading/labels.d.cts +7 -0
  438. package/dist/charts/engine/trading/labels.d.ts +7 -0
  439. package/dist/charts/engine/trading/labels.js +91 -0
  440. package/dist/charts/engine/trading/labels.js.map +1 -0
  441. package/dist/charts/engine/trading/scale.cjs +2 -0
  442. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  443. package/dist/charts/engine/trading/scale.d.cts +46 -0
  444. package/dist/charts/engine/trading/scale.d.ts +46 -0
  445. package/dist/charts/engine/trading/scale.js +100 -0
  446. package/dist/charts/engine/trading/scale.js.map +1 -0
  447. package/dist/charts/engine/trading/store.cjs +2 -0
  448. package/dist/charts/engine/trading/store.cjs.map +1 -0
  449. package/dist/charts/engine/trading/store.d.cts +62 -0
  450. package/dist/charts/engine/trading/store.d.ts +62 -0
  451. package/dist/charts/engine/trading/store.js +129 -0
  452. package/dist/charts/engine/trading/store.js.map +1 -0
  453. package/dist/charts/engine/trading/studies.cjs +2 -0
  454. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  455. package/dist/charts/engine/trading/studies.d.cts +52 -0
  456. package/dist/charts/engine/trading/studies.d.ts +52 -0
  457. package/dist/charts/engine/trading/studies.js +254 -0
  458. package/dist/charts/engine/trading/studies.js.map +1 -0
  459. package/dist/charts/engine/trading/types.d.cts +656 -0
  460. package/dist/charts/engine/trading/types.d.ts +656 -0
  461. package/dist/charts/engine/types.d.cts +165 -14
  462. package/dist/charts/engine/types.d.ts +165 -14
  463. package/dist/charts/index.cjs +1 -1
  464. package/dist/charts/index.d.cts +7 -4
  465. package/dist/charts/index.d.ts +7 -4
  466. package/dist/charts/index.js +22 -11
  467. package/dist/charts/react/Chart.cjs +1 -1
  468. package/dist/charts/react/Chart.cjs.map +1 -1
  469. package/dist/charts/react/Chart.d.cts +4 -4
  470. package/dist/charts/react/Chart.d.ts +4 -4
  471. package/dist/charts/react/Chart.js +5 -1
  472. package/dist/charts/react/Chart.js.map +1 -1
  473. package/dist/charts/react/charts.cjs +1 -1
  474. package/dist/charts/react/charts.cjs.map +1 -1
  475. package/dist/charts/react/charts.d.cts +39 -1
  476. package/dist/charts/react/charts.d.ts +39 -1
  477. package/dist/charts/react/charts.js +303 -131
  478. package/dist/charts/react/charts.js.map +1 -1
  479. package/dist/charts/react/orderbook.cjs +2 -0
  480. package/dist/charts/react/orderbook.cjs.map +1 -0
  481. package/dist/charts/react/orderbook.d.cts +142 -0
  482. package/dist/charts/react/orderbook.d.ts +142 -0
  483. package/dist/charts/react/orderbook.js +182 -0
  484. package/dist/charts/react/orderbook.js.map +1 -0
  485. package/dist/charts/react/shapes.cjs +1 -1
  486. package/dist/charts/react/shapes.cjs.map +1 -1
  487. package/dist/charts/react/shapes.d.cts +291 -9
  488. package/dist/charts/react/shapes.d.ts +291 -9
  489. package/dist/charts/react/shapes.js +280 -93
  490. package/dist/charts/react/shapes.js.map +1 -1
  491. package/dist/charts/react/three-d.cjs +2 -0
  492. package/dist/charts/react/three-d.cjs.map +1 -0
  493. package/dist/charts/react/three-d.d.cts +151 -0
  494. package/dist/charts/react/three-d.d.ts +151 -0
  495. package/dist/charts/react/three-d.js +154 -0
  496. package/dist/charts/react/three-d.js.map +1 -0
  497. package/dist/charts/react/trading.cjs +2 -0
  498. package/dist/charts/react/trading.cjs.map +1 -0
  499. package/dist/charts/react/trading.d.cts +93 -0
  500. package/dist/charts/react/trading.d.ts +93 -0
  501. package/dist/charts/react/trading.js +95 -0
  502. package/dist/charts/react/trading.js.map +1 -0
  503. package/dist/charts/react/types.d.cts +132 -8
  504. package/dist/charts/react/types.d.ts +132 -8
  505. package/dist/core/contracts.cjs +1 -1
  506. package/dist/core/contracts.cjs.map +1 -1
  507. package/dist/core/contracts.js +1 -1
  508. package/dist/core/contracts.js.map +1 -1
  509. package/dist/native/charts/src/canvas.cjs +1 -1
  510. package/dist/native/charts/src/canvas.js +9 -3
  511. package/dist/native/charts/src/engine/axis.cjs +1 -1
  512. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  513. package/dist/native/charts/src/engine/axis.js +6 -6
  514. package/dist/native/charts/src/engine/axis.js.map +1 -1
  515. package/dist/native/charts/src/engine/controller.cjs +1 -1
  516. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  517. package/dist/native/charts/src/engine/controller.js +352 -292
  518. package/dist/native/charts/src/engine/controller.js.map +1 -1
  519. package/dist/native/charts/src/engine/data.cjs +1 -1
  520. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  521. package/dist/native/charts/src/engine/data.js +63 -49
  522. package/dist/native/charts/src/engine/data.js.map +1 -1
  523. package/dist/native/charts/src/engine/format.cjs +1 -1
  524. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  525. package/dist/native/charts/src/engine/format.js +46 -21
  526. package/dist/native/charts/src/engine/format.js.map +1 -1
  527. package/dist/native/charts/src/engine/labels.cjs +2 -0
  528. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  529. package/dist/native/charts/src/engine/labels.js +74 -0
  530. package/dist/native/charts/src/engine/labels.js.map +1 -0
  531. package/dist/native/charts/src/engine/layout.cjs +1 -1
  532. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  533. package/dist/native/charts/src/engine/layout.js +53 -12
  534. package/dist/native/charts/src/engine/layout.js.map +1 -1
  535. package/dist/native/charts/src/engine/locale.cjs +2 -0
  536. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  537. package/dist/native/charts/src/engine/locale.js +60 -0
  538. package/dist/native/charts/src/engine/locale.js.map +1 -0
  539. package/dist/native/charts/src/engine/model.cjs +1 -1
  540. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  541. package/dist/native/charts/src/engine/model.js +223 -116
  542. package/dist/native/charts/src/engine/model.js.map +1 -1
  543. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  544. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  545. package/dist/native/charts/src/engine/overlay.js +46 -23
  546. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  547. package/dist/native/charts/src/engine/presets.cjs +2 -2
  548. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  549. package/dist/native/charts/src/engine/presets.js +448 -33
  550. package/dist/native/charts/src/engine/presets.js.map +1 -1
  551. package/dist/native/charts/src/engine/scale.cjs +1 -1
  552. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  553. package/dist/native/charts/src/engine/scale.js +1 -1
  554. package/dist/native/charts/src/engine/scale.js.map +1 -1
  555. package/dist/native/charts/src/engine/scene.cjs +1 -1
  556. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  557. package/dist/native/charts/src/engine/scene.js +296 -167
  558. package/dist/native/charts/src/engine/scene.js.map +1 -1
  559. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  560. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  561. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  562. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  563. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  564. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  565. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  566. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  567. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  568. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  569. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  570. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  571. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  572. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  573. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  574. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  575. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  576. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  577. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  578. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  579. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  580. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  581. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  582. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  583. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  584. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  585. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  586. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  587. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  588. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  589. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  590. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  591. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  592. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  593. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  594. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  595. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  596. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  597. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  598. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  599. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  600. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  601. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  602. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  603. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  604. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  605. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  606. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  607. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  608. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  609. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  610. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  611. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  612. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  613. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  614. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  615. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  616. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  617. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  618. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  620. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  622. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  624. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  626. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  627. package/dist/native/charts/src/engine/time.cjs +1 -1
  628. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/time.js +156 -91
  630. package/dist/native/charts/src/engine/time.js.map +1 -1
  631. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  632. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  633. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  634. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  635. package/dist/native/components/Chart/ChartBase.js +110 -107
  636. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  637. package/dist/native/components/Chart/charts.cjs +1 -1
  638. package/dist/native/components/Chart/charts.cjs.map +1 -1
  639. package/dist/native/components/Chart/charts.d.cts +6 -1
  640. package/dist/native/components/Chart/charts.d.ts +6 -1
  641. package/dist/native/components/Chart/charts.js +53 -29
  642. package/dist/native/components/Chart/charts.js.map +1 -1
  643. package/dist/native/components/Chart/index.cjs +1 -1
  644. package/dist/native/components/Chart/index.d.cts +1 -1
  645. package/dist/native/components/Chart/index.d.ts +1 -1
  646. package/dist/native/components/Chart/index.js +2 -2
  647. package/dist/native/components/Chart/scene.cjs +1 -1
  648. package/dist/native/components/Chart/scene.cjs.map +1 -1
  649. package/dist/native/components/Chart/scene.js +234 -217
  650. package/dist/native/components/Chart/scene.js.map +1 -1
  651. package/dist/native/components/Chart/types.d.cts +26 -3
  652. package/dist/native/components/Chart/types.d.ts +26 -3
  653. package/dist/native/components/Charts/charts.cjs +2 -0
  654. package/dist/native/components/Charts/charts.cjs.map +1 -0
  655. package/dist/native/components/Charts/charts.d.cts +41 -0
  656. package/dist/native/components/Charts/charts.d.ts +41 -0
  657. package/dist/native/components/Charts/charts.js +338 -0
  658. package/dist/native/components/Charts/charts.js.map +1 -0
  659. package/dist/native/components/Charts/index.cjs +1 -0
  660. package/dist/native/components/Charts/index.d.cts +2 -0
  661. package/dist/native/components/Charts/index.d.ts +2 -0
  662. package/dist/native/components/Charts/index.js +2 -0
  663. package/dist/native/components/Charts/types.d.cts +144 -0
  664. package/dist/native/components/Charts/types.d.ts +144 -0
  665. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  666. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  667. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  668. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  669. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  670. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  671. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  672. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  673. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  674. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  675. package/dist/native/components/ShapeChart/charts.js +387 -0
  676. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  677. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  678. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  679. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  680. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  681. package/dist/native/components/ShapeChart/draw.js +104 -0
  682. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  683. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  684. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  685. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  686. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  687. package/dist/native/components/ShapeChart/geometry.js +602 -0
  688. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  689. package/dist/native/components/ShapeChart/index.cjs +1 -0
  690. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  691. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  692. package/dist/native/components/ShapeChart/index.js +2 -0
  693. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  694. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  695. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  696. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  697. package/dist/native/components/ShapeChart/recorder.js +574 -0
  698. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  699. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  700. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  701. package/dist/native/index.cjs +1 -1
  702. package/dist/native/index.d.cts +2 -0
  703. package/dist/native/index.d.ts +2 -0
  704. package/dist/native/index.js +14 -10
  705. package/dist/native/manifest.d.cts +6 -4
  706. package/dist/native/manifest.d.ts +6 -4
  707. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  708. package/dist/native/source/components/Chart/charts.tsx +42 -6
  709. package/dist/native/source/components/Chart/index.ts +1 -0
  710. package/dist/native/source/components/Chart/scene.tsx +154 -84
  711. package/dist/native/source/components/Chart/types.ts +31 -1
  712. package/dist/native/source/components/Charts/charts.tsx +493 -0
  713. package/dist/native/source/components/Charts/index.ts +14 -0
  714. package/dist/native/source/components/Charts/types.ts +207 -0
  715. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  716. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  717. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  718. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  719. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  720. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  721. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  722. package/dist/native/source/index.ts +2 -0
  723. package/dist/native/source/manifest.ts +30 -4
  724. package/dist/taro/charts.d.ts +209 -4
  725. package/dist/taro/index.d.ts +1 -0
  726. package/dist/taro/index.js +7517 -1856
  727. package/dist/taro/manifest.d.ts +1 -0
  728. package/dist/taro/shape-charts.d.ts +537 -0
  729. package/dist/uni/AreaChart.vue +68 -0
  730. package/dist/uni/AreaChart.vue.d.ts +120 -0
  731. package/dist/uni/Badge.vue.d.ts +1 -1
  732. package/dist/uni/BoxPlotChart.vue +66 -0
  733. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  734. package/dist/uni/BubbleChart.vue +68 -0
  735. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  736. package/dist/uni/BulletChart.vue +86 -0
  737. package/dist/uni/BulletChart.vue.d.ts +110 -0
  738. package/dist/uni/CalendarHeatmap.vue +92 -0
  739. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  740. package/dist/uni/CandlestickChart.vue +66 -0
  741. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  742. package/dist/uni/DonutChart.vue +72 -0
  743. package/dist/uni/DonutChart.vue.d.ts +114 -0
  744. package/dist/uni/FunnelChart.vue +67 -0
  745. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  746. package/dist/uni/GanttChart.vue +67 -0
  747. package/dist/uni/GanttChart.vue.d.ts +123 -0
  748. package/dist/uni/GaugeChart.vue +77 -0
  749. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  750. package/dist/uni/HeatmapChart.vue +66 -0
  751. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  752. package/dist/uni/HistogramChart.vue +66 -0
  753. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  754. package/dist/uni/HorizontalBarChart.vue +68 -0
  755. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  756. package/dist/uni/Input.vue.d.ts +1 -1
  757. package/dist/uni/MixedChart.vue +68 -0
  758. package/dist/uni/MixedChart.vue.d.ts +106 -0
  759. package/dist/uni/NumberInput.vue.d.ts +1 -1
  760. package/dist/uni/PieChart.vue +72 -0
  761. package/dist/uni/PieChart.vue.d.ts +114 -0
  762. package/dist/uni/RadarChart.vue +67 -0
  763. package/dist/uni/RadarChart.vue.d.ts +110 -0
  764. package/dist/uni/RadialBarChart.vue +90 -0
  765. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  766. package/dist/uni/RangeAreaChart.vue +68 -0
  767. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  768. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  769. package/dist/uni/SankeyChart.vue +88 -0
  770. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  771. package/dist/uni/ShapeChart.vue +73 -0
  772. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  773. package/dist/uni/Sparkline.vue +58 -0
  774. package/dist/uni/Sparkline.vue.d.ts +77 -0
  775. package/dist/uni/SunburstChart.vue +90 -0
  776. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  777. package/dist/uni/Textarea.vue.d.ts +1 -1
  778. package/dist/uni/TimePicker.vue.d.ts +1 -1
  779. package/dist/uni/TreemapChart.vue +65 -0
  780. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  781. package/dist/uni/WaterfallChart.vue +66 -0
  782. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  783. package/dist/uni/chart-types.d.ts +216 -2
  784. package/dist/uni/chart-types.js +174 -0
  785. package/dist/uni/charts-canvas.js +8 -3
  786. package/dist/uni/index.d.ts +26 -1
  787. package/dist/uni/index.js +26 -1
  788. package/dist/uni/manifest.d.ts +272 -0
  789. package/dist/uni/manifest.js +387 -0
  790. package/dist/uni/named-chart-options.d.ts +88 -0
  791. package/dist/uni/named-chart-options.js +156 -0
  792. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  793. package/dist/uni/shape-chart-canvas.js +342 -0
  794. package/dist/uni/shape-chart-types.d.ts +381 -0
  795. package/dist/uni/shape-chart-types.js +261 -0
  796. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  797. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  798. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  799. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  800. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  801. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  802. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  803. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  804. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  805. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  806. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  807. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  808. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  809. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  810. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  811. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  812. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  813. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  814. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  815. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  816. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  817. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  818. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  819. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  820. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  821. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  822. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  823. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  824. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  825. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  826. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  827. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  828. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  829. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  830. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  831. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  832. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  833. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  834. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  835. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  836. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  837. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  838. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  839. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  840. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  841. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  842. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  843. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  844. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  845. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  846. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  847. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  848. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  849. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  850. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  851. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  852. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  853. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  854. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  855. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  856. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  857. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  860. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  865. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  867. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  870. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  872. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  875. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  877. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  880. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  882. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  885. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  887. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  888. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  890. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  892. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  895. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  897. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  898. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  900. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  902. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  903. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  905. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  912. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  915. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  917. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  920. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  922. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  925. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  927. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  930. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  935. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  940. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  942. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  945. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  947. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  950. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  952. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  953. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  955. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  957. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  958. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  960. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  962. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  963. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  965. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  967. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  968. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  970. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  972. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  975. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  977. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  980. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  982. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  985. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  987. package/dist/vue/components/Chart/cartesian.js +56 -0
  988. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  989. package/dist/vue/components/Chart/engine.d.ts +35 -0
  990. package/dist/vue/components/Chart/engine.js +35 -0
  991. package/dist/vue/components/Chart/engine.js.map +1 -0
  992. package/dist/vue/components/Chart/index.d.ts +41 -0
  993. package/dist/vue/components/Chart/index.js +40 -0
  994. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  995. package/dist/vue/components/Chart/orderbook.js +126 -0
  996. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  997. package/dist/vue/components/Chart/props.d.ts +188 -0
  998. package/dist/vue/components/Chart/props.js +92 -0
  999. package/dist/vue/components/Chart/props.js.map +1 -0
  1000. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1001. package/dist/vue/components/Chart/shape.js +42 -0
  1002. package/dist/vue/components/Chart/shape.js.map +1 -0
  1003. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1004. package/dist/vue/components/Chart/three-d.js +88 -0
  1005. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1006. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1007. package/dist/vue/components/Chart/trading.js +55 -0
  1008. package/dist/vue/components/Chart/trading.js.map +1 -0
  1009. package/dist/vue/components/Chart/types.d.ts +137 -0
  1010. package/dist/vue/global.d.ts +38 -0
  1011. package/dist/vue/groups/charts.d.ts +1 -0
  1012. package/dist/vue/groups/charts.js +87 -0
  1013. package/dist/vue/groups/charts.js.map +1 -0
  1014. package/dist/vue/index.d.ts +1 -0
  1015. package/dist/vue/index.js +63 -23
  1016. package/dist/vue/plugin.js +12 -10
  1017. package/dist/vue/plugin.js.map +1 -1
  1018. package/dist/weapp/area-chart/index.js +1 -0
  1019. package/dist/weapp/area-chart/index.json +1 -0
  1020. package/dist/weapp/area-chart/index.wxml +1 -0
  1021. package/dist/weapp/area-chart/index.wxss +1 -0
  1022. package/dist/weapp/box-plot-chart/index.js +1 -0
  1023. package/dist/weapp/box-plot-chart/index.json +1 -0
  1024. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1025. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1026. package/dist/weapp/bubble-chart/index.js +1 -0
  1027. package/dist/weapp/bubble-chart/index.json +1 -0
  1028. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1029. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1030. package/dist/weapp/bullet-chart/index.js +1 -0
  1031. package/dist/weapp/bullet-chart/index.json +1 -0
  1032. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1033. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1034. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1035. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1036. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1037. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1038. package/dist/weapp/candlestick-chart/index.js +1 -0
  1039. package/dist/weapp/candlestick-chart/index.json +1 -0
  1040. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1041. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1042. package/dist/weapp/charts/canvas.js +11436 -0
  1043. package/dist/weapp/charts/core.d.ts +2 -0
  1044. package/dist/weapp/charts/core.js +41 -0
  1045. package/dist/weapp/controls.js +1433 -4478
  1046. package/dist/weapp/donut-chart/index.js +1 -0
  1047. package/dist/weapp/donut-chart/index.json +1 -0
  1048. package/dist/weapp/donut-chart/index.wxml +1 -0
  1049. package/dist/weapp/donut-chart/index.wxss +1 -0
  1050. package/dist/weapp/funnel-chart/index.js +1 -0
  1051. package/dist/weapp/funnel-chart/index.json +1 -0
  1052. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1053. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1054. package/dist/weapp/gantt-chart/index.js +1 -0
  1055. package/dist/weapp/gantt-chart/index.json +1 -0
  1056. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1057. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1058. package/dist/weapp/gauge-chart/index.js +1 -0
  1059. package/dist/weapp/gauge-chart/index.json +1 -0
  1060. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1061. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1062. package/dist/weapp/heatmap-chart/index.js +1 -0
  1063. package/dist/weapp/heatmap-chart/index.json +1 -0
  1064. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1065. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1066. package/dist/weapp/histogram-chart/index.js +1 -0
  1067. package/dist/weapp/histogram-chart/index.json +1 -0
  1068. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1069. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1070. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1071. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1072. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1073. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1074. package/dist/weapp/mixed-chart/index.js +1 -0
  1075. package/dist/weapp/mixed-chart/index.json +1 -0
  1076. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1077. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1078. package/dist/weapp/pie-chart/index.js +1 -0
  1079. package/dist/weapp/pie-chart/index.json +1 -0
  1080. package/dist/weapp/pie-chart/index.wxml +1 -0
  1081. package/dist/weapp/pie-chart/index.wxss +1 -0
  1082. package/dist/weapp/radar-chart/index.js +1 -0
  1083. package/dist/weapp/radar-chart/index.json +1 -0
  1084. package/dist/weapp/radar-chart/index.wxml +1 -0
  1085. package/dist/weapp/radar-chart/index.wxss +1 -0
  1086. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1087. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1088. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1089. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1090. package/dist/weapp/range-area-chart/index.js +1 -0
  1091. package/dist/weapp/range-area-chart/index.json +1 -0
  1092. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1093. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1094. package/dist/weapp/sankey-chart/index.js +1 -0
  1095. package/dist/weapp/sankey-chart/index.json +1 -0
  1096. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1097. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1098. package/dist/weapp/shape-chart/index.js +1 -0
  1099. package/dist/weapp/shape-chart/index.json +1 -0
  1100. package/dist/weapp/shape-chart/index.wxml +1 -0
  1101. package/dist/weapp/shape-chart/index.wxss +1 -0
  1102. package/dist/weapp/sparkline/index.js +1 -0
  1103. package/dist/weapp/sparkline/index.json +1 -0
  1104. package/dist/weapp/sparkline/index.wxml +1 -0
  1105. package/dist/weapp/sparkline/index.wxss +1 -0
  1106. package/dist/weapp/sunburst-chart/index.js +1 -0
  1107. package/dist/weapp/sunburst-chart/index.json +1 -0
  1108. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1109. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1110. package/dist/weapp/treemap-chart/index.js +1 -0
  1111. package/dist/weapp/treemap-chart/index.json +1 -0
  1112. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1113. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1114. package/dist/weapp/types.d.ts +466 -0
  1115. package/dist/weapp/waterfall-chart/index.js +1 -0
  1116. package/dist/weapp/waterfall-chart/index.json +1 -0
  1117. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1118. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1119. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1120. package/dist/web-components/components/chart/chart.js +55 -0
  1121. package/dist/web-components/components/chart/chart.js.map +1 -0
  1122. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1123. package/dist/web-components/components/chart/charts.js +201 -0
  1124. package/dist/web-components/components/chart/charts.js.map +1 -0
  1125. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1126. package/dist/web-components/components/chart/engine-element.js +77 -0
  1127. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1128. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1129. package/dist/web-components/components/chart/extended.js +183 -0
  1130. package/dist/web-components/components/chart/extended.js.map +1 -0
  1131. package/dist/web-components/components/chart/series.d.ts +7 -0
  1132. package/dist/web-components/components/chart/series.js +14 -0
  1133. package/dist/web-components/components/chart/series.js.map +1 -0
  1134. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1135. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1136. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1137. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1138. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1139. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1140. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1141. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1142. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1143. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1144. package/dist/web-components/components/order-book/order-book.js +174 -0
  1145. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1146. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1147. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1148. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1149. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1150. package/dist/web-components/elements/chart-3d.js +13 -0
  1151. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1152. package/dist/web-components/elements/chart.d.ts +7 -0
  1153. package/dist/web-components/elements/chart.js +43 -0
  1154. package/dist/web-components/elements/chart.js.map +1 -0
  1155. package/dist/web-components/elements/order-book.d.ts +2 -0
  1156. package/dist/web-components/elements/order-book.js +13 -0
  1157. package/dist/web-components/elements/order-book.js.map +1 -0
  1158. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1159. package/dist/web-components/elements/trading-chart.js +8 -0
  1160. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1161. package/dist/web-components/html-custom-data.json +1192 -29
  1162. package/dist/web-components/types/react.d.ts +435 -0
  1163. package/dist/web-components/types/solid.d.ts +321 -0
  1164. package/dist/web-components/types/svelte.d.ts +321 -0
  1165. package/dist/web-components/types/vue.d.ts +359 -0
  1166. package/package.json +113 -1
@@ -1,189 +1,254 @@
1
- import { linearTicks as e, tickStep as t } from "./scale.js";
1
+ import { dateFormat as e } from "./locale.js";
2
+ import { linearTicks as t, tickStep as n } from "./scale.js";
2
3
  //#region ../charts/src/engine/time.ts
3
- var n = 1e3, r = 60 * n, i = 60 * r, a = 24 * i, o = 30 * a, s = 365 * a, c = [
4
+ var r = 1e3, i = 60 * r, a = 60 * i, o = 24 * a, s = 30 * o, c = 365 * o, l = [
4
5
  {
5
6
  unit: "second",
6
7
  step: 1,
7
- ms: n
8
+ ms: r
8
9
  },
9
10
  {
10
11
  unit: "second",
11
12
  step: 5,
12
- ms: 5 * n
13
+ ms: 5 * r
13
14
  },
14
15
  {
15
16
  unit: "second",
16
17
  step: 15,
17
- ms: 15 * n
18
+ ms: 15 * r
18
19
  },
19
20
  {
20
21
  unit: "second",
21
22
  step: 30,
22
- ms: 30 * n
23
+ ms: 30 * r
23
24
  },
24
25
  {
25
26
  unit: "minute",
26
27
  step: 1,
27
- ms: r
28
+ ms: i
28
29
  },
29
30
  {
30
31
  unit: "minute",
31
32
  step: 5,
32
- ms: 5 * r
33
+ ms: 5 * i
33
34
  },
34
35
  {
35
36
  unit: "minute",
36
37
  step: 15,
37
- ms: 15 * r
38
+ ms: 15 * i
38
39
  },
39
40
  {
40
41
  unit: "minute",
41
42
  step: 30,
42
- ms: 30 * r
43
+ ms: 30 * i
43
44
  },
44
45
  {
45
46
  unit: "hour",
46
47
  step: 1,
47
- ms: i
48
+ ms: a
48
49
  },
49
50
  {
50
51
  unit: "hour",
51
52
  step: 3,
52
- ms: 3 * i
53
+ ms: 3 * a
53
54
  },
54
55
  {
55
56
  unit: "hour",
56
57
  step: 6,
57
- ms: 6 * i
58
+ ms: 6 * a
58
59
  },
59
60
  {
60
61
  unit: "hour",
61
62
  step: 12,
62
- ms: 12 * i
63
+ ms: 12 * a
63
64
  },
64
65
  {
65
66
  unit: "day",
66
67
  step: 1,
67
- ms: a
68
+ ms: o
68
69
  },
69
70
  {
70
71
  unit: "day",
71
72
  step: 2,
72
- ms: 2 * a
73
+ ms: 2 * o
73
74
  },
74
75
  {
75
76
  unit: "day",
76
77
  step: 7,
77
- ms: 7 * a
78
+ ms: 7 * o
78
79
  },
79
80
  {
80
81
  unit: "month",
81
82
  step: 1,
82
- ms: o
83
+ ms: s
83
84
  },
84
85
  {
85
86
  unit: "month",
86
87
  step: 3,
87
- ms: 3 * o
88
+ ms: 3 * s
88
89
  },
89
90
  {
90
91
  unit: "month",
91
92
  step: 6,
92
- ms: 6 * o
93
+ ms: 6 * s
94
+ }
95
+ ], u = (e, t = 2) => String(e).padStart(t, "0"), d = (e, t) => {
96
+ let n = new Date(e);
97
+ return t ? {
98
+ year: n.getUTCFullYear(),
99
+ month: n.getUTCMonth(),
100
+ date: n.getUTCDate(),
101
+ day: n.getUTCDay(),
102
+ hours: n.getUTCHours(),
103
+ minutes: n.getUTCMinutes(),
104
+ seconds: n.getUTCSeconds(),
105
+ ms: n.getUTCMilliseconds()
106
+ } : {
107
+ year: n.getFullYear(),
108
+ month: n.getMonth(),
109
+ date: n.getDate(),
110
+ day: n.getDay(),
111
+ hours: n.getHours(),
112
+ minutes: n.getMinutes(),
113
+ seconds: n.getSeconds(),
114
+ ms: n.getMilliseconds()
115
+ };
116
+ }, f = (e, t, n, r = 1, i = 0, a = 0, o = 0) => {
117
+ if (e) {
118
+ let e = Date.UTC(t, n, r, i, a, o);
119
+ if (t >= 0 && t < 100) {
120
+ let t = new Date(e);
121
+ return t.setUTCFullYear(t.getUTCFullYear() - 1900), t.getTime();
122
+ }
123
+ return e;
93
124
  }
94
- ], l = (e, t = 2) => String(e).padStart(t, "0"), u = (e, r) => {
95
- let i = e / Math.max(1, r);
96
- if (i < n * .75) return {
125
+ let s = new Date(t, n, r, i, a, o);
126
+ return t >= 0 && t < 100 && s.setFullYear(s.getFullYear() - 1900), s.getTime();
127
+ }, p = (e, t) => {
128
+ let i = e / Math.max(1, t);
129
+ if (i < r * .75) return {
97
130
  unit: "millisecond",
98
- step: t(0, e, r),
131
+ step: n(0, e, t),
99
132
  ms: 1
100
133
  };
101
- for (let e of c) if (e.ms >= i * .75) return e;
102
- let a = Math.max(1, t(0, e / s, r));
134
+ for (let e of l) if (e.ms >= i * .75) return e;
135
+ let a = Math.max(1, n(0, e / c, t));
103
136
  return {
104
137
  unit: "year",
105
138
  step: Math.round(a),
106
- ms: Math.round(a) * s
139
+ ms: Math.round(a) * c
107
140
  };
108
- }, d = (e, { unit: t, step: n }) => {
109
- let r = new Date(e);
141
+ }, m = (e, { unit: t, step: n }, r) => {
142
+ let i = d(e, r);
110
143
  switch (t) {
111
- case "second":
112
- r.setMilliseconds(0), r.setSeconds(r.getSeconds() - r.getSeconds() % n);
113
- break;
114
- case "minute":
115
- r.setSeconds(0, 0), r.setMinutes(r.getMinutes() - r.getMinutes() % n);
116
- break;
117
- case "hour":
118
- r.setMinutes(0, 0, 0), r.setHours(r.getHours() - r.getHours() % n);
119
- break;
120
- case "day":
121
- r.setHours(0, 0, 0, 0), n === 7 && r.setDate(r.getDate() - (r.getDay() + 6) % 7);
122
- break;
123
- case "month":
124
- r.setHours(0, 0, 0, 0), r.setDate(1), r.setMonth(r.getMonth() - r.getMonth() % n);
125
- break;
126
- case "year": r.setHours(0, 0, 0, 0), r.setMonth(0, 1), r.setFullYear(r.getFullYear() - r.getFullYear() % n);
144
+ case "second": return f(r, i.year, i.month, i.date, i.hours, i.minutes, i.seconds - i.seconds % n);
145
+ case "minute": return f(r, i.year, i.month, i.date, i.hours, i.minutes - i.minutes % n);
146
+ case "hour": return f(r, i.year, i.month, i.date, i.hours - i.hours % n);
147
+ case "day": return f(r, i.year, i.month, i.date - (n === 7 ? (i.day + 6) % 7 : 0));
148
+ case "month": return f(r, i.year, i.month - i.month % n);
149
+ case "year": return f(r, i.year - i.year % n, 0);
150
+ default: return e;
127
151
  }
128
- return r;
129
- }, f = (e, { unit: t, step: n }) => {
152
+ }, h = (e, { unit: t, step: n }, r) => {
153
+ let { year: i, month: a, date: o, hours: s, minutes: c, seconds: l } = d(e, r);
130
154
  switch (t) {
131
- case "second":
132
- e.setSeconds(e.getSeconds() + n);
133
- break;
134
- case "minute":
135
- e.setMinutes(e.getMinutes() + n);
136
- break;
137
- case "hour":
138
- e.setHours(e.getHours() + n);
139
- break;
140
- case "day":
141
- e.setDate(e.getDate() + n);
142
- break;
143
- case "month":
144
- e.setMonth(e.getMonth() + n);
145
- break;
146
- case "year": e.setFullYear(e.getFullYear() + n);
155
+ case "second": return f(r, i, a, o, s, c, l + n);
156
+ case "minute": return f(r, i, a, o, s, c + n, l);
157
+ case "hour": return f(r, i, a, o, s + n, c, l);
158
+ case "day": return f(r, i, a, o + n, s, c, l);
159
+ case "month": return f(r, i, a + n, o, s, c, l);
160
+ case "year": return f(r, i + n, a, o, s, c, l);
161
+ default: return e + n;
147
162
  }
148
- }, p = (t, n, r) => {
149
- t > n && ([t, n] = [n, t]);
150
- let i = u(n - t, r);
151
- if (i.unit === "millisecond") return {
152
- values: e(t, n, r),
163
+ }, g = (e, n, r, i, a = "local") => {
164
+ e > n && ([e, n] = [n, e]);
165
+ let o = p(n - e, r);
166
+ if (o.unit === "millisecond") return {
167
+ values: t(e, n, r),
153
168
  unit: "millisecond",
154
- format: (e) => _(e, "millisecond")
169
+ format: (e) => T(e, "millisecond", i, a)
155
170
  };
156
- let a = [], o = d(t, i);
157
- for (; o.getTime() < t;) f(o, i);
158
- for (; o.getTime() <= n && a.length < 500;) a.push(o.getTime()), f(o, i);
159
- let { unit: s } = i;
171
+ let s = a === "utc", c = [], l = m(e, o, s);
172
+ for (; l < e;) l = h(l, o, s);
173
+ for (; l <= n && c.length < 500;) c.push(l), l = h(l, o, s);
174
+ let { unit: u } = o;
160
175
  return {
161
- values: a,
162
- unit: s,
163
- format: (e) => g(e, s)
176
+ values: c,
177
+ unit: u,
178
+ format: (e) => w(e, u, i, a)
164
179
  };
165
- }, m = (e) => `${e.getFullYear()}-${l(e.getMonth() + 1)}-${l(e.getDate())}`, h = (e) => `${l(e.getHours())}:${l(e.getMinutes())}`, g = (e, t) => {
166
- let n = new Date(e), r = n.getHours() === 0 && n.getMinutes() === 0 && n.getSeconds() === 0;
180
+ }, _ = (e) => `${e.year}-${u(e.month + 1)}-${u(e.date)}`, v = (e) => `${u(e.hours)}:${u(e.minutes)}`, y = {
181
+ hour: "2-digit",
182
+ minute: "2-digit",
183
+ hourCycle: "h23"
184
+ }, b = {
185
+ ...y,
186
+ second: "2-digit"
187
+ }, x = {
188
+ month: "short",
189
+ day: "numeric"
190
+ }, S = {
191
+ year: "numeric",
192
+ month: "short",
193
+ day: "numeric"
194
+ }, C = (t, n, r) => e(t, n === "utc" ? {
195
+ ...r,
196
+ timeZone: "UTC"
197
+ } : r), w = (e, t, n, r) => {
198
+ let i = d(e, r === "utc"), a = i.hours === 0 && i.minutes === 0 && i.seconds === 0, o = i.month === 0 && i.date === 1;
199
+ if (n) {
200
+ let s = (t) => C(n, r, t).format(e);
201
+ switch (t) {
202
+ case "second": return s(b);
203
+ case "minute":
204
+ case "hour": return s(a ? x : y);
205
+ case "day": return s(o ? { year: "numeric" } : x);
206
+ case "month": return s(i.month === 0 ? { year: "numeric" } : { month: "short" });
207
+ default: return s({ year: "numeric" });
208
+ }
209
+ }
167
210
  switch (t) {
168
- case "second": return `${h(n)}:${l(n.getSeconds())}`;
211
+ case "second": return `${v(i)}:${u(i.seconds)}`;
169
212
  case "minute":
170
- case "hour": return r ? `${l(n.getMonth() + 1)}-${l(n.getDate())}` : h(n);
171
- case "day": return n.getMonth() === 0 && n.getDate() === 1 ? String(n.getFullYear()) : `${l(n.getMonth() + 1)}-${l(n.getDate())}`;
172
- case "month": return n.getMonth() === 0 ? String(n.getFullYear()) : `${n.getFullYear()}-${l(n.getMonth() + 1)}`;
173
- default: return String(n.getFullYear());
213
+ case "hour": return a ? `${u(i.month + 1)}-${u(i.date)}` : v(i);
214
+ case "day": return o ? String(i.year) : `${u(i.month + 1)}-${u(i.date)}`;
215
+ case "month": return i.month === 0 ? String(i.year) : `${i.year}-${u(i.month + 1)}`;
216
+ default: return String(i.year);
217
+ }
218
+ }, T = (e, t = "minute", n, r = "local") => {
219
+ if (!Number.isFinite(e) || Number.isNaN(new Date(e).getTime())) return "–";
220
+ let i = d(e, r === "utc");
221
+ if (n) {
222
+ let a = (t) => C(n, r, t).format(e);
223
+ switch (t) {
224
+ case "millisecond": return `${a({
225
+ ...S,
226
+ ...b
227
+ })}.${u(i.ms, 3)}`;
228
+ case "second": return a({
229
+ ...S,
230
+ ...b
231
+ });
232
+ case "minute":
233
+ case "hour": return a({
234
+ ...S,
235
+ ...y
236
+ });
237
+ default: return a({
238
+ ...S,
239
+ weekday: "short"
240
+ });
241
+ }
174
242
  }
175
- }, _ = (e, t = "minute") => {
176
- let n = new Date(e);
177
- if (Number.isNaN(n.getTime())) return "–";
178
243
  switch (t) {
179
- case "millisecond": return `${m(n)} ${h(n)}:${l(n.getSeconds())}.${l(n.getMilliseconds(), 3)}`;
180
- case "second": return `${m(n)} ${h(n)}:${l(n.getSeconds())}`;
244
+ case "millisecond": return `${_(i)} ${v(i)}:${u(i.seconds)}.${u(i.ms, 3)}`;
245
+ case "second": return `${_(i)} ${v(i)}:${u(i.seconds)}`;
181
246
  case "minute":
182
- case "hour": return `${m(n)} ${h(n)}`;
183
- default: return m(n);
247
+ case "hour": return `${_(i)} ${v(i)}`;
248
+ default: return _(i);
184
249
  }
185
250
  };
186
251
  //#endregion
187
- export { _ as formatTime, p as timeTicks };
252
+ export { T as formatTime, g as timeTicks };
188
253
 
189
254
  //# sourceMappingURL=time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","names":["SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","INTERVALS","pad","n","width","chooseInterval","target","span","count","tickStep","interval","years","floorTo","d","t","unit","step","advance","timeTicks","min","max","linearTicks","formatTime","v","values","formatTick","ymd","hm","value","midnight"],"sources":["../../../../../../charts/src/engine/time.ts"],"sourcesContent":["// Ticks and labels of time axes (timestamps in ms, local time).\n\nimport { linearTicks, tickStep } from \"./scale\";\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nexport type TimeUnit =\n \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"month\" | \"year\";\n\ninterface Interval {\n unit: TimeUnit;\n step: number;\n /** Approximate duration (ms) */\n ms: number;\n}\n\nconst INTERVALS: Interval[] = [\n { unit: \"second\", step: 1, ms: SECOND },\n { unit: \"second\", step: 5, ms: 5 * SECOND },\n { unit: \"second\", step: 15, ms: 15 * SECOND },\n { unit: \"second\", step: 30, ms: 30 * SECOND },\n { unit: \"minute\", step: 1, ms: MINUTE },\n { unit: \"minute\", step: 5, ms: 5 * MINUTE },\n { unit: \"minute\", step: 15, ms: 15 * MINUTE },\n { unit: \"minute\", step: 30, ms: 30 * MINUTE },\n { unit: \"hour\", step: 1, ms: HOUR },\n { unit: \"hour\", step: 3, ms: 3 * HOUR },\n { unit: \"hour\", step: 6, ms: 6 * HOUR },\n { unit: \"hour\", step: 12, ms: 12 * HOUR },\n { unit: \"day\", step: 1, ms: DAY },\n { unit: \"day\", step: 2, ms: 2 * DAY },\n { unit: \"day\", step: 7, ms: 7 * DAY },\n { unit: \"month\", step: 1, ms: MONTH },\n { unit: \"month\", step: 3, ms: 3 * MONTH },\n { unit: \"month\", step: 6, ms: 6 * MONTH },\n];\n\nconst pad = (n: number, width = 2) => String(n).padStart(width, \"0\");\n\nconst chooseInterval = (span: number, count: number): Interval => {\n const target = span / Math.max(1, count);\n if (target < SECOND * 0.75) {\n return { unit: \"millisecond\", step: tickStep(0, span, count), ms: 1 };\n }\n for (const interval of INTERVALS) {\n if (interval.ms >= target * 0.75) return interval;\n }\n const years = Math.max(1, tickStep(0, span / YEAR, count));\n return {\n unit: \"year\",\n step: Math.round(years),\n ms: Math.round(years) * YEAR,\n };\n};\n\n/** Start of the tick sequence: `t` floored to the unit, aligned on the step */\nconst floorTo = (t: number, { unit, step }: Interval): Date => {\n const d = new Date(t);\n switch (unit) {\n case \"second\":\n d.setMilliseconds(0);\n d.setSeconds(d.getSeconds() - (d.getSeconds() % step));\n break;\n case \"minute\":\n d.setSeconds(0, 0);\n d.setMinutes(d.getMinutes() - (d.getMinutes() % step));\n break;\n case \"hour\":\n d.setMinutes(0, 0, 0);\n d.setHours(d.getHours() - (d.getHours() % step));\n break;\n case \"day\":\n d.setHours(0, 0, 0, 0);\n // weeks start on Monday\n if (step === 7) d.setDate(d.getDate() - ((d.getDay() + 6) % 7));\n break;\n case \"month\":\n d.setHours(0, 0, 0, 0);\n d.setDate(1);\n d.setMonth(d.getMonth() - (d.getMonth() % step));\n break;\n case \"year\":\n d.setHours(0, 0, 0, 0);\n d.setMonth(0, 1);\n d.setFullYear(d.getFullYear() - (d.getFullYear() % step));\n break;\n default:\n break;\n }\n return d;\n};\n\nconst advance = (d: Date, { unit, step }: Interval) => {\n switch (unit) {\n case \"second\":\n d.setSeconds(d.getSeconds() + step);\n break;\n case \"minute\":\n d.setMinutes(d.getMinutes() + step);\n break;\n case \"hour\":\n d.setHours(d.getHours() + step);\n break;\n case \"day\":\n d.setDate(d.getDate() + step);\n break;\n case \"month\":\n d.setMonth(d.getMonth() + step);\n break;\n case \"year\":\n d.setFullYear(d.getFullYear() + step);\n break;\n default:\n break;\n }\n};\n\nexport interface TimeTicks {\n values: number[];\n unit: TimeUnit;\n format: (value: number) => string;\n}\n\n/** Calendar-aligned ticks between two timestamps */\nexport const timeTicks = (\n min: number,\n max: number,\n count: number,\n): TimeTicks => {\n if (min > max) [min, max] = [max, min];\n const interval = chooseInterval(max - min, count);\n if (interval.unit === \"millisecond\") {\n return {\n values: linearTicks(min, max, count),\n unit: \"millisecond\",\n format: (v) => formatTime(v, \"millisecond\"),\n };\n }\n const values: number[] = [];\n const d = floorTo(min, interval);\n while (d.getTime() < min) advance(d, interval);\n while (d.getTime() <= max && values.length < 500) {\n values.push(d.getTime());\n advance(d, interval);\n }\n const { unit } = interval;\n return { values, unit, format: (v) => formatTick(v, unit) };\n};\n\nconst ymd = (d: Date) =>\n `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\nconst hm = (d: Date) => `${pad(d.getHours())}:${pad(d.getMinutes())}`;\n\n/** Short tick label; day boundaries show the date, year boundaries the year */\nconst formatTick = (value: number, unit: TimeUnit): string => {\n const d = new Date(value);\n const midnight =\n d.getHours() === 0 && d.getMinutes() === 0 && d.getSeconds() === 0;\n switch (unit) {\n case \"second\":\n return `${hm(d)}:${pad(d.getSeconds())}`;\n case \"minute\":\n case \"hour\":\n return midnight ? `${pad(d.getMonth() + 1)}-${pad(d.getDate())}` : hm(d);\n case \"day\":\n return d.getMonth() === 0 && d.getDate() === 1\n ? String(d.getFullYear())\n : `${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\n case \"month\":\n return d.getMonth() === 0\n ? String(d.getFullYear())\n : `${d.getFullYear()}-${pad(d.getMonth() + 1)}`;\n default:\n return String(d.getFullYear());\n }\n};\n\n/** Full label (tooltips): precision follows the unit of the ticks */\nexport const formatTime = (\n value: number,\n unit: TimeUnit = \"minute\",\n): string => {\n const d = new Date(value);\n if (Number.isNaN(d.getTime())) return \"–\";\n switch (unit) {\n case \"millisecond\":\n return `${ymd(d)} ${hm(d)}:${pad(d.getSeconds())}.${pad(d.getMilliseconds(), 3)}`;\n case \"second\":\n return `${ymd(d)} ${hm(d)}:${pad(d.getSeconds())}`;\n case \"minute\":\n case \"hour\":\n return `${ymd(d)} ${hm(d)}`;\n default:\n return ymd(d);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"time.js","names":["SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","INTERVALS","pad","n","width","partsOf","d","t","utc","timeOf","year","month","date","hours","minutes","seconds","chooseInterval","target","span","count","tickStep","interval","years","floorTo","p","unit","step","advance","timeTicks","min","max","linearTicks","formatTime","v","locale","timeZone","values","formatTick","ymd","hm","HM","HMS","MONTH_DAY","DATE","intl","dateFormat","options","value","midnight","newYear","f"],"sources":["../../../../../../charts/src/engine/time.ts"],"sourcesContent":["// Ticks and labels of time axes (timestamps in ms). Calendar steps follow\n// the local time or UTC (`timeZone`); labels use `Intl.DateTimeFormat` of a\n// locale (month / weekday names), or ISO-like texts without a locale.\n\nimport { dateFormat } from \"./locale\";\nimport { linearTicks, tickStep } from \"./scale\";\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nexport type TimeUnit =\n \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"month\" | \"year\";\n\n/** Time zone of the calendar of a time axis */\nexport type TimeZone = \"local\" | \"utc\";\n\ninterface Interval {\n unit: TimeUnit;\n step: number;\n /** Approximate duration (ms) */\n ms: number;\n}\n\nconst INTERVALS: Interval[] = [\n { unit: \"second\", step: 1, ms: SECOND },\n { unit: \"second\", step: 5, ms: 5 * SECOND },\n { unit: \"second\", step: 15, ms: 15 * SECOND },\n { unit: \"second\", step: 30, ms: 30 * SECOND },\n { unit: \"minute\", step: 1, ms: MINUTE },\n { unit: \"minute\", step: 5, ms: 5 * MINUTE },\n { unit: \"minute\", step: 15, ms: 15 * MINUTE },\n { unit: \"minute\", step: 30, ms: 30 * MINUTE },\n { unit: \"hour\", step: 1, ms: HOUR },\n { unit: \"hour\", step: 3, ms: 3 * HOUR },\n { unit: \"hour\", step: 6, ms: 6 * HOUR },\n { unit: \"hour\", step: 12, ms: 12 * HOUR },\n { unit: \"day\", step: 1, ms: DAY },\n { unit: \"day\", step: 2, ms: 2 * DAY },\n { unit: \"day\", step: 7, ms: 7 * DAY },\n { unit: \"month\", step: 1, ms: MONTH },\n { unit: \"month\", step: 3, ms: 3 * MONTH },\n { unit: \"month\", step: 6, ms: 6 * MONTH },\n];\n\nconst pad = (n: number, width = 2) => String(n).padStart(width, \"0\");\n\n/** Calendar fields of a timestamp */\ninterface Parts {\n year: number;\n /** 0-11 */\n month: number;\n date: number;\n /** 0 = Sunday */\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n ms: number;\n}\n\nconst partsOf = (t: number, utc: boolean): Parts => {\n const d = new Date(t);\n return utc\n ? {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth(),\n date: d.getUTCDate(),\n day: d.getUTCDay(),\n hours: d.getUTCHours(),\n minutes: d.getUTCMinutes(),\n seconds: d.getUTCSeconds(),\n ms: d.getUTCMilliseconds(),\n }\n : {\n year: d.getFullYear(),\n month: d.getMonth(),\n date: d.getDate(),\n day: d.getDay(),\n hours: d.getHours(),\n minutes: d.getMinutes(),\n seconds: d.getSeconds(),\n ms: d.getMilliseconds(),\n };\n};\n\n/** Timestamp of calendar fields (out of range fields carry over) */\nconst timeOf = (\n utc: boolean,\n year: number,\n month: number,\n date = 1,\n hours = 0,\n minutes = 0,\n seconds = 0,\n): number => {\n if (utc) {\n const t = Date.UTC(year, month, date, hours, minutes, seconds);\n // years 0-99 are mapped to 1900-1999 by Date.UTC\n if (year >= 0 && year < 100) {\n const d = new Date(t);\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n return d.getTime();\n }\n return t;\n }\n const d = new Date(year, month, date, hours, minutes, seconds);\n if (year >= 0 && year < 100) d.setFullYear(d.getFullYear() - 1900);\n return d.getTime();\n};\n\nconst chooseInterval = (span: number, count: number): Interval => {\n const target = span / Math.max(1, count);\n if (target < SECOND * 0.75) {\n return { unit: \"millisecond\", step: tickStep(0, span, count), ms: 1 };\n }\n for (const interval of INTERVALS) {\n if (interval.ms >= target * 0.75) return interval;\n }\n const years = Math.max(1, tickStep(0, span / YEAR, count));\n return {\n unit: \"year\",\n step: Math.round(years),\n ms: Math.round(years) * YEAR,\n };\n};\n\n/** Start of the tick sequence: `t` floored to the unit, aligned on the step */\nconst floorTo = (t: number, { unit, step }: Interval, utc: boolean): number => {\n const p = partsOf(t, utc);\n switch (unit) {\n case \"second\":\n return timeOf(\n utc,\n p.year,\n p.month,\n p.date,\n p.hours,\n p.minutes,\n p.seconds - (p.seconds % step),\n );\n case \"minute\":\n return timeOf(\n utc,\n p.year,\n p.month,\n p.date,\n p.hours,\n p.minutes - (p.minutes % step),\n );\n case \"hour\":\n return timeOf(utc, p.year, p.month, p.date, p.hours - (p.hours % step));\n case \"day\":\n // weeks start on Monday\n return timeOf(\n utc,\n p.year,\n p.month,\n p.date - (step === 7 ? (p.day + 6) % 7 : 0),\n );\n case \"month\":\n return timeOf(utc, p.year, p.month - (p.month % step));\n case \"year\":\n return timeOf(utc, p.year - (p.year % step), 0);\n default:\n return t;\n }\n};\n\nconst advance = (t: number, { unit, step }: Interval, utc: boolean): number => {\n const p = partsOf(t, utc);\n const { year, month, date, hours, minutes, seconds } = p;\n switch (unit) {\n case \"second\":\n return timeOf(utc, year, month, date, hours, minutes, seconds + step);\n case \"minute\":\n return timeOf(utc, year, month, date, hours, minutes + step, seconds);\n case \"hour\":\n return timeOf(utc, year, month, date, hours + step, minutes, seconds);\n case \"day\":\n return timeOf(utc, year, month, date + step, hours, minutes, seconds);\n case \"month\":\n return timeOf(utc, year, month + step, date, hours, minutes, seconds);\n case \"year\":\n return timeOf(utc, year + step, month, date, hours, minutes, seconds);\n default:\n return t + step;\n }\n};\n\nexport interface TimeTicks {\n values: number[];\n unit: TimeUnit;\n format: (value: number) => string;\n}\n\n/**\n * Calendar-aligned ticks between two timestamps\n * @param locale labels in this locale (ISO-like labels without it)\n * @param timeZone calendar of the steps and labels\n */\nexport const timeTicks = (\n min: number,\n max: number,\n count: number,\n locale?: string,\n timeZone: TimeZone = \"local\",\n): TimeTicks => {\n if (min > max) [min, max] = [max, min];\n const interval = chooseInterval(max - min, count);\n if (interval.unit === \"millisecond\") {\n return {\n values: linearTicks(min, max, count),\n unit: \"millisecond\",\n format: (v) => formatTime(v, \"millisecond\", locale, timeZone),\n };\n }\n const utc = timeZone === \"utc\";\n const values: number[] = [];\n let t = floorTo(min, interval, utc);\n while (t < min) t = advance(t, interval, utc);\n while (t <= max && values.length < 500) {\n values.push(t);\n t = advance(t, interval, utc);\n }\n const { unit } = interval;\n return {\n values,\n unit,\n format: (v) => formatTick(v, unit, locale, timeZone),\n };\n};\n\nconst ymd = (p: Parts) => `${p.year}-${pad(p.month + 1)}-${pad(p.date)}`;\nconst hm = (p: Parts) => `${pad(p.hours)}:${pad(p.minutes)}`;\n\nconst HM: Intl.DateTimeFormatOptions = {\n hour: \"2-digit\",\n minute: \"2-digit\",\n hourCycle: \"h23\",\n};\nconst HMS: Intl.DateTimeFormatOptions = { ...HM, second: \"2-digit\" };\nconst MONTH_DAY: Intl.DateTimeFormatOptions = {\n month: \"short\",\n day: \"numeric\",\n};\nconst DATE: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n};\n\n/** Cached formatter of a locale and time zone */\nconst intl = (\n locale: string,\n timeZone: TimeZone,\n options: Intl.DateTimeFormatOptions,\n) =>\n dateFormat(\n locale,\n timeZone === \"utc\" ? { ...options, timeZone: \"UTC\" } : options,\n );\n\n/** Short tick label; day boundaries show the date, year boundaries the year */\nconst formatTick = (\n value: number,\n unit: TimeUnit,\n locale: string | undefined,\n timeZone: TimeZone,\n): string => {\n const p = partsOf(value, timeZone === \"utc\");\n const midnight = p.hours === 0 && p.minutes === 0 && p.seconds === 0;\n const newYear = p.month === 0 && p.date === 1;\n if (locale) {\n const f = (options: Intl.DateTimeFormatOptions) =>\n intl(locale, timeZone, options).format(value);\n switch (unit) {\n case \"second\":\n return f(HMS);\n case \"minute\":\n case \"hour\":\n return f(midnight ? MONTH_DAY : HM);\n case \"day\":\n return f(newYear ? { year: \"numeric\" } : MONTH_DAY);\n case \"month\":\n return f(p.month === 0 ? { year: \"numeric\" } : { month: \"short\" });\n default:\n return f({ year: \"numeric\" });\n }\n }\n switch (unit) {\n case \"second\":\n return `${hm(p)}:${pad(p.seconds)}`;\n case \"minute\":\n case \"hour\":\n return midnight ? `${pad(p.month + 1)}-${pad(p.date)}` : hm(p);\n case \"day\":\n return newYear ? String(p.year) : `${pad(p.month + 1)}-${pad(p.date)}`;\n case \"month\":\n return p.month === 0 ? String(p.year) : `${p.year}-${pad(p.month + 1)}`;\n default:\n return String(p.year);\n }\n};\n\n/**\n * Full label (tooltips): precision follows the unit of the ticks; dates\n * show the weekday with a `locale`\n */\nexport const formatTime = (\n value: number,\n unit: TimeUnit = \"minute\",\n locale?: string,\n timeZone: TimeZone = \"local\",\n): string => {\n if (!Number.isFinite(value) || Number.isNaN(new Date(value).getTime()))\n return \"–\";\n const p = partsOf(value, timeZone === \"utc\");\n if (locale) {\n const f = (options: Intl.DateTimeFormatOptions) =>\n intl(locale, timeZone, options).format(value);\n switch (unit) {\n case \"millisecond\":\n return `${f({ ...DATE, ...HMS })}.${pad(p.ms, 3)}`;\n case \"second\":\n return f({ ...DATE, ...HMS });\n case \"minute\":\n case \"hour\":\n return f({ ...DATE, ...HM });\n default:\n return f({ ...DATE, weekday: \"short\" });\n }\n }\n switch (unit) {\n case \"millisecond\":\n return `${ymd(p)} ${hm(p)}:${pad(p.seconds)}.${pad(p.ms, 3)}`;\n case \"second\":\n return `${ymd(p)} ${hm(p)}:${pad(p.seconds)}`;\n case \"minute\":\n case \"hour\":\n return `${ymd(p)} ${hm(p)}`;\n default:\n return ymd(p);\n }\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require("../../theme/MinervaProvider.cjs"),t=require("../../internal/parts.cjs"),n=require("../../charts/src/engine/controller.cjs");require("../../charts/src/canvas.cjs");const r=require("./measure.cjs"),i=require("./scene.cjs"),a=require("./theme.cjs");let o=require("react"),s=require("react-native"),c=require("react/jsx-runtime");var l=e=>({series:e.series,xAxis:e.xAxis,yAxis:e.yAxis,legend:e.legend,tooltip:e.tooltip,crosshair:e.crosshair,annotations:e.annotations,interaction:e.interaction,padding:e.padding,palette:e.palette,ariaLabel:e.ariaLabel}),u={},d=(e,t)=>{let n=Number(e.identifier);return Number.isFinite(n)?n:t},f=e=>{if(typeof requestAnimationFrame==`function`){let t=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(t)}}let t=setTimeout(e,16);return{cancel:()=>clearTimeout(t)}};function p(e,t,a){let o=0,s=null,c=new Set,l=null,u={x:0,y:0},p=new Map,m=e=>typeof e.interaction==`object`&&!!e.interaction.dragPoints,h=m(e),g=!1,_=()=>{o++,c.forEach(e=>e())},v=()=>{s?.cancel(),s=null},y=n.createChartController({options:e,theme:t,measureText:r.measureChartText,onInvalidate:()=>{!s&&c.size&&(s=f(()=>{s=null,_()}))}});a&&y.setSize(a[0],a[1]);let b=e=>({x:e.pageX-u.x,y:e.pageY-u.y}),x=e=>{let t=e.nativeEvent;(t.touches?.length?t.touches:[t]).forEach((e,t)=>{let n=d(e,t),r=b(e),i=p.get(n);i?(i.x!==r.x||i.y!==r.y)&&(p.set(n,r),y.pointerMove(r.x,r.y,{id:n,touch:!0})):(p.set(n,r),y.pointerDown(r.x,r.y,{id:n,touch:!0}))}),p.size===1&&(S.anchor=[...p.values()][0])},S={controller:y,setOptions(e){h=m(e),y.setOptions(e)},subscribe(e){return c.add(e),()=>{c.delete(e),c.size||v()}},version:()=>o,commit(){v(),_()},layers(e,t){let{plot:n}=e.layout,{view:r}=e,a=[e.model,e.annotations,e.theme,e.width,e.height,r.x[0],r.x[1],r.y[0],r.y[1],n.x,n.y,n.width,n.height,t];return(!l||l.key.some((e,t)=>e!==a[t]))&&(l={key:a,node:i.drawStatic(e,t)}),l.node},anchor:null,touchStart(e){let t=e.nativeEvent;!p.size&&t.locationX!==void 0&&(u={x:t.pageX-t.locationX,y:t.pageY-(t.locationY??0)}),x(e),S.commit();let n=y.getPlotRect(),r=p.values().next().value;return g=h&&!!n&&!!r&&r.x>=n.x&&r.x<=n.x+n.width&&r.y>=n.y&&r.y<=n.y+n.height,S.holdsGesture()},touchAdd(e){x(e),S.commit()},touchMove:x,touchEnd(e){let t=e.nativeEvent,n=new Set((t.touches??[]).map((e,t)=>d(e,t))),r=t.changedTouches?.length?t.changedTouches:[t];for(let[e,t]of[...p]){if(n.has(e))continue;let i=r.find((t,n)=>d(t,n)===e),a=i?b(i):t;p.delete(e),p.size===0&&(S.anchor=a),y.pointerUp(a.x,a.y,{id:e,touch:!0})}S.commit()},touchCancel(){for(let e of p.keys())y.pointerCancel({id:e});p.clear(),S.commit()},holdsGesture(){if(p.size>1||g&&p.size>0)return!0;let e=y.getScene();if(!e)return!1;if(e.dragging)return!0;let{base:t}=e.model,n=y.getView();return n.x[0]!==t.x[0]||n.x[1]!==t.x[1]||n.y[0]!==t.y[0]||n.y[1]!==t.y[1]}};return S}function m({scene:e,anchor:n,children:r}){let[a,l]=(0,o.useState)(null),{width:u,height:d}=e,f=n.x+14,p=n.y;return a&&(f+a.width>u-4&&(f=n.x-14-a.width),f=Math.max(4,Math.min(f,u-a.width-4)),p=Math.max(4,Math.min(n.y-a.height/2,d-a.height-4))),(0,c.jsx)(s.View,{pointerEvents:`none`,...t.part(`chart`,`tooltip`,{custom:!0}),onLayout:e=>{let{width:t,height:n}=e.nativeEvent.layout;l(e=>e&&e.width===t&&e.height===n?e:{width:t,height:n})},style:[i.tooltipCard(e),{left:0,top:0,maxWidth:Math.max(0,u-8),padding:8,opacity:+!!a,transform:[{translateX:f},{translateY:p}]}],children:r})}function h({options:n,height:r=320,width:l=`100%`,style:d,testID:f,handleRef:h,renderTooltip:g,overlay:_,...v}){let{tokens:y,fonts:b}=e.useTheme(),x=b.sans,S=(0,o.useMemo)(()=>a.chartThemeInput(y),[y]),C=!!g&&n.tooltip!==!1,w=(0,o.useMemo)(()=>{if(!C)return n;let e=typeof n.tooltip==`object`?n.tooltip:{};return{...n,tooltip:{...e,render:()=>u}}},[n,C]),[T]=(0,o.useState)(()=>p(w,S,typeof l==`number`&&typeof r==`number`?[l,r]:null)),{controller:E}=T;(0,o.useSyncExternalStore)(T.subscribe,T.version,T.version);let D=(0,o.useRef)({options:w,theme:S});(0,o.useLayoutEffect)(()=>{let e=D.current;(e.theme!==S||e.options!==w)&&(e.theme!==S&&E.setTheme(S),e.options!==w&&T.setOptions(w),D.current={options:w,theme:S},T.commit())},[E,T,w,S]),(0,o.useLayoutEffect)(()=>{if(typeof l!=`number`||typeof r!=`number`)return;let e=E.getScene();e&&e.width===l&&e.height===r||(E.setSize(l,r),T.commit())},[E,T,l,r]);let O=(0,o.useRef)(v);(0,o.useLayoutEffect)(()=>{O.current=v}),(0,o.useEffect)(()=>{let e=O,t=[E.on(`hover`,t=>e.current.onHover?.(t)),E.on(`click`,t=>e.current.onPointClick?.(t)),E.on(`plotClick`,t=>e.current.onPlotClick?.(t)),E.on(`zoom`,t=>e.current.onZoom?.(t)),E.on(`drag`,t=>e.current.onDrag?.(t)),E.on(`drop`,t=>e.current.onDrop?.(t))];return()=>t.forEach(e=>e())},[E]),(0,o.useImperativeHandle)(h,()=>({resetZoom:()=>E.resetZoom(),getView:()=>E.getView(),setView:e=>E.setView(e),getPlotRect:()=>E.getPlotRect(),getController:()=>E}),[E]);let k=e=>{let{width:t,height:n}=e.nativeEvent.layout,r=E.getScene();r&&r.width===t&&r.height===n||(E.setSize(t,n),T.commit())},A=E.getScene(),j=null,M=A?.hover?.tooltip?A.hover.event:null;if(A&&M&&C&&g){let e=g(M),t=T.anchor??A.hover?.marks[0]??null;e!=null&&e!==!1&&t&&(j=(0,c.jsx)(m,{scene:A,anchor:t,children:e}))}return(0,c.jsxs)(s.View,{testID:f,onLayout:k,style:[{width:l,height:r},d],...t.part(`chart`,`root`),children:[(0,c.jsx)(s.View,{style:s.StyleSheet.absoluteFill,accessible:!0,accessibilityRole:`image`,accessibilityLabel:n.ariaLabel,onStartShouldSetResponder:()=>!0,onResponderTerminationRequest:()=>!T.holdsGesture(),onResponderGrant:T.touchStart,onResponderStart:T.touchAdd,onResponderMove:T.touchMove,onResponderEnd:T.touchEnd,onResponderRelease:T.touchEnd,onResponderTerminate:T.touchCancel,...t.part(`chart`,`surface`),children:(0,c.jsxs)(s.View,{pointerEvents:`none`,style:s.StyleSheet.absoluteFill,children:[A?T.layers(A,x):null,A?i.drawHover(A,x,C):null]})}),_&&A?(0,c.jsx)(s.View,{pointerEvents:`box-none`,style:{position:`absolute`,left:A.layout.plot.x,top:A.layout.plot.y,width:A.layout.plot.width,height:A.layout.plot.height},...t.part(`chart`,`overlay`),children:_(A.layout.plot)}):null,j]})}exports.ChartBase=h,exports.engineOptions=l;
1
+ const e=require("../../theme/MinervaProvider.cjs"),t=require("../../internal/parts.cjs"),n=require("../../charts/src/engine/labels.cjs"),r=require("../../charts/src/engine/controller.cjs");require("../../charts/src/canvas.cjs");const i=require("./measure.cjs"),a=require("./scene.cjs"),o=require("./theme.cjs");let s=require("react"),c=require("react-native"),l=require("react/jsx-runtime");var u=e=>({series:e.series,xAxis:e.xAxis,yAxis:e.yAxis,legend:e.legend,tooltip:e.tooltip,crosshair:e.crosshair,annotations:e.annotations,interaction:e.interaction,padding:e.padding,palette:e.palette,ariaLabel:e.ariaLabel,locale:e.locale,labels:e.labels}),d={},f=(e,t)=>{let n=Number(e.identifier);return Number.isFinite(n)?n:t},p=e=>{if(typeof requestAnimationFrame==`function`){let t=requestAnimationFrame(e);return{cancel:()=>cancelAnimationFrame(t)}}let t=setTimeout(e,16);return{cancel:()=>clearTimeout(t)}};function m(e,t,n){let o=0,s=null,c=new Set,l=null,u={x:0,y:0},d=new Map,m=e=>typeof e.interaction==`object`&&!!e.interaction.dragPoints,h=m(e),g=!1,_=()=>{o++,c.forEach(e=>e())},v=()=>{s?.cancel(),s=null},y=r.createChartController({options:e,theme:t,measureText:i.measureChartText,onInvalidate:()=>{!s&&c.size&&(s=p(()=>{s=null,_()}))}});n&&y.setSize(n[0],n[1]);let b=e=>({x:e.pageX-u.x,y:e.pageY-u.y}),x=e=>{let t=e.nativeEvent;(t.touches?.length?t.touches:[t]).forEach((e,t)=>{let n=f(e,t),r=b(e),i=d.get(n);i?(i.x!==r.x||i.y!==r.y)&&(d.set(n,r),y.pointerMove(r.x,r.y,{id:n,touch:!0})):(d.set(n,r),y.pointerDown(r.x,r.y,{id:n,touch:!0}))}),d.size===1&&(S.anchor=[...d.values()][0])},S={controller:y,setOptions(e){h=m(e),y.setOptions(e)},subscribe(e){return c.add(e),()=>{c.delete(e),c.size||v()}},version:()=>o,commit(){v(),_()},layers(e,t){let{plot:n}=e.layout,{view:r}=e,i=[e.model,e.annotations,e.theme,e.width,e.height,r.x[0],r.x[1],r.y[0],r.y[1],n.x,n.y,n.width,n.height,t];return(!l||l.key.some((e,t)=>e!==i[t]))&&(l={key:i,node:a.drawStatic(e,t)}),l.node},anchor:null,touchStart(e){let t=e.nativeEvent;!d.size&&t.locationX!==void 0&&(u={x:t.pageX-t.locationX,y:t.pageY-(t.locationY??0)}),x(e),S.commit();let n=y.getPlotRect(),r=d.values().next().value;return g=h&&!!n&&!!r&&r.x>=n.x&&r.x<=n.x+n.width&&r.y>=n.y&&r.y<=n.y+n.height,S.holdsGesture()},touchAdd(e){x(e),S.commit()},touchMove:x,touchEnd(e){let t=e.nativeEvent,n=new Set((t.touches??[]).map((e,t)=>f(e,t))),r=t.changedTouches?.length?t.changedTouches:[t];for(let[e,t]of[...d]){if(n.has(e))continue;let i=r.find((t,n)=>f(t,n)===e),a=i?b(i):t;d.delete(e),d.size===0&&(S.anchor=a),y.pointerUp(a.x,a.y,{id:e,touch:!0})}S.commit()},touchCancel(){for(let e of d.keys())y.pointerCancel({id:e});d.clear(),S.commit()},holdsGesture(){if(d.size>1||g&&d.size>0)return!0;let e=y.getScene();if(!e)return!1;if(e.dragging)return!0;let{base:t}=e.model,n=y.getView();return n.x[0]!==t.x[0]||n.x[1]!==t.x[1]||n.y[0]!==t.y[0]||n.y[1]!==t.y[1]}};return S}function h({scene:e,anchor:n,children:r}){let[i,o]=(0,s.useState)(null),{width:u,height:d}=e,f=n.x+14,p=n.y;return i&&(f+i.width>u-4&&(f=n.x-14-i.width),f=Math.max(4,Math.min(f,u-i.width-4)),p=Math.max(4,Math.min(n.y-i.height/2,d-i.height-4))),(0,l.jsx)(c.View,{pointerEvents:`none`,...t.part(`chart`,`tooltip`,{custom:!0}),onLayout:e=>{let{width:t,height:n}=e.nativeEvent.layout;o(e=>e&&e.width===t&&e.height===n?e:{width:t,height:n})},style:[a.tooltipCard(e),{left:0,top:0,maxWidth:Math.max(0,u-8),padding:8,opacity:+!!i,transform:[{translateX:f},{translateY:p}]}],children:r})}function g({options:r,height:i=320,width:u=`100%`,style:f,testID:p,handleRef:g,renderTooltip:_,overlay:v,...y}){let{tokens:b,fonts:x}=e.useTheme(),S=x.sans,C=(0,s.useMemo)(()=>o.chartThemeInput(b),[b]),w=!!_&&r.tooltip!==!1,T=(0,s.useMemo)(()=>{if(!w)return r;let e=typeof r.tooltip==`object`?r.tooltip:{};return{...r,tooltip:{...e,render:()=>d}}},[r,w]),[E]=(0,s.useState)(()=>m(T,C,typeof u==`number`&&typeof i==`number`?[u,i]:null)),{controller:D}=E;(0,s.useSyncExternalStore)(E.subscribe,E.version,E.version);let O=(0,s.useRef)({options:T,theme:C});(0,s.useLayoutEffect)(()=>{let e=O.current;(e.theme!==C||e.options!==T)&&(e.theme!==C&&D.setTheme(C),e.options!==T&&E.setOptions(T),O.current={options:T,theme:C},E.commit())},[D,E,T,C]),(0,s.useLayoutEffect)(()=>{if(typeof u!=`number`||typeof i!=`number`)return;let e=D.getScene();e&&e.width===u&&e.height===i||(D.setSize(u,i),E.commit())},[D,E,u,i]);let k=(0,s.useRef)(y);(0,s.useLayoutEffect)(()=>{k.current=y}),(0,s.useEffect)(()=>{let e=k,t=[D.on(`hover`,t=>e.current.onHover?.(t)),D.on(`click`,t=>e.current.onPointClick?.(t)),D.on(`plotClick`,t=>e.current.onPlotClick?.(t)),D.on(`zoom`,t=>e.current.onZoom?.(t)),D.on(`drag`,t=>e.current.onDrag?.(t)),D.on(`drop`,t=>e.current.onDrop?.(t))];return()=>t.forEach(e=>e())},[D]),(0,s.useImperativeHandle)(g,()=>({resetZoom:()=>D.resetZoom(),getView:()=>D.getView(),setView:e=>D.setView(e),getPlotRect:()=>D.getPlotRect(),getController:()=>D}),[D]);let A=e=>{let{width:t,height:n}=e.nativeEvent.layout,r=D.getScene();r&&r.width===t&&r.height===n||(D.setSize(t,n),E.commit())},j=D.getScene(),M=null,N=j?.hover?.tooltip?j.hover.event:null;if(j&&N&&w&&_){let e=_(N),t=E.anchor??j.hover?.marks[0]??null;e!=null&&e!==!1&&t&&(M=(0,l.jsx)(h,{scene:j,anchor:t,children:e}))}return(0,l.jsxs)(c.View,{testID:p,onLayout:A,style:[{width:u,height:i},f],...t.part(`chart`,`root`),children:[(0,l.jsx)(c.View,{style:c.StyleSheet.absoluteFill,accessible:!0,accessibilityRole:`image`,accessibilityLabel:r.ariaLabel??(j?n.chartAriaLabel(j.model):void 0),onStartShouldSetResponder:()=>!0,onResponderTerminationRequest:()=>!E.holdsGesture(),onResponderGrant:E.touchStart,onResponderStart:E.touchAdd,onResponderMove:E.touchMove,onResponderEnd:E.touchEnd,onResponderRelease:E.touchEnd,onResponderTerminate:E.touchCancel,...t.part(`chart`,`surface`),children:(0,l.jsxs)(c.View,{pointerEvents:`none`,style:c.StyleSheet.absoluteFill,children:[j?E.layers(j,S):null,j?a.drawHover(j,S,w):null]})}),v&&j?(0,l.jsx)(c.View,{pointerEvents:`box-none`,style:{position:`absolute`,left:j.layout.plot.x,top:j.layout.plot.y,width:j.layout.plot.width,height:j.layout.plot.height},...t.part(`chart`,`overlay`),children:v(j.layout.plot)}):null,M]})}exports.ChartBase=g,exports.engineOptions=u;
2
2
  //# sourceMappingURL=ChartBase.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChartBase.cjs","names":["createChartController","measureChartText","drawStatic","useState","View","part","tooltipCard","useTheme","useMemo","chartThemeInput","useRef","StyleSheet","drawHover","require_MinervaProvider","require_parts","require_controller","require_measure","require_scene","require_theme","react","react_native","react_jsx_runtime","engineOptions","props","CUSTOM_TOOLTIP","idOf","id","t","index","requestFrame","callback","createChartStore","version","frame","listeners","cache","origin","touches","dragsPoints","o","draggable","options","claimed","notify","listener","cancelFrame","controller","size","local","sync","n","event","i","p","previous","store","next","scene","key","view","plot","family","value","active","changed","last","touch","base","CustomTooltip","setSize","left","anchor","top","width","height","w","h","ChartBase","handlers","fonts","theme","tokens","customTooltip","renderTooltip","resolved","applied","current","handlersRef","offs","e","v","off","handleRef","onLayout","tooltip","content","style","overlay"],"sources":["../../../../../native/src/components/Chart/ChartBase.tsx"],"sourcesContent":["// The chart host of React Native: owns a platform-free chart controller\n// (@minerva/charts/canvas: options, model, zoom, gestures, scene in pixels)\n// and draws its scene with views (./scene). Touches go through the\n// responder system; the drawing is `pointerEvents=\"none\"`, so every touch\n// lands on the surface and positions come from page coordinates.\n\nimport {\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport {\n StyleSheet,\n View,\n type DimensionValue,\n type GestureResponderEvent,\n type LayoutChangeEvent,\n type StyleProp,\n type ViewStyle,\n} from \"react-native\";\nimport {\n createChartController,\n type ChartController,\n type ChartDragEvent,\n type ChartHoverEvent,\n type ChartOptions,\n type ChartPlotClickEvent,\n type ChartRect,\n type ChartScene,\n type ChartThemeInput,\n type ChartTooltipOptions,\n type ChartView,\n} from \"@minerva/charts/canvas\";\nimport { useTheme } from \"../../theme/MinervaProvider\";\nimport { part } from \"../../internal/parts\";\nimport { measureChartText } from \"./measure\";\nimport { drawHover, drawStatic, tooltipCard } from \"./scene\";\nimport { chartThemeInput } from \"./theme\";\nimport type { ChartCommonProps, ChartHandle } from \"./types\";\n\ninterface Handlers {\n onHover?: (event: ChartHoverEvent | null) => void;\n onPointClick?: (event: ChartHoverEvent) => void;\n onPlotClick?: (event: ChartPlotClickEvent) => void;\n onZoom?: (view: ChartView) => void;\n onDrag?: (event: ChartDragEvent) => void;\n onDrop?: (event: ChartDragEvent) => void;\n}\n\n/** Engine options of the common props */\nexport const engineOptions = (\n props: Pick<\n ChartCommonProps,\n | \"xAxis\"\n | \"yAxis\"\n | \"legend\"\n | \"tooltip\"\n | \"crosshair\"\n | \"annotations\"\n | \"interaction\"\n | \"padding\"\n | \"palette\"\n | \"ariaLabel\"\n > &\n Pick<ChartOptions, \"series\">,\n): ChartOptions => ({\n series: props.series,\n xAxis: props.xAxis,\n yAxis: props.yAxis,\n legend: props.legend,\n tooltip: props.tooltip,\n crosshair: props.crosshair,\n annotations: props.annotations,\n interaction: props.interaction,\n padding: props.padding,\n palette: props.palette,\n ariaLabel: props.ariaLabel,\n});\n\ntype TooltipResult = Exclude<\n ReturnType<NonNullable<ChartTooltipOptions[\"render\"]>>,\n string | null\n>;\n/** Non-string result of `tooltip.render`: the engine lays a tooltip out without drawing text */\nconst CUSTOM_TOOLTIP = {} as unknown as TooltipResult;\n\ninterface TouchPoint {\n identifier?: number | string;\n pageX: number;\n pageY: number;\n locationX?: number;\n locationY?: number;\n}\n\nconst idOf = (t: TouchPoint, index: number) => {\n const id = Number(t.identifier);\n return Number.isFinite(id) ? id : index;\n};\n\ntype Frame = { cancel: () => void };\n\nconst requestFrame = (callback: () => void): Frame => {\n if (typeof requestAnimationFrame === \"function\") {\n const id = requestAnimationFrame(callback);\n return { cancel: () => cancelAnimationFrame(id) };\n }\n const id = setTimeout(callback, 16);\n return { cancel: () => clearTimeout(id) };\n};\n\n/**\n * External store of a chart: the controller, a version bumped when its\n * scene must be drawn again (coalesced per frame), the touches being\n * tracked and the cache of the static layers.\n */\ninterface ChartStore {\n controller: ChartController;\n /** Options of the controller (`setOptions` of the controller) */\n setOptions: (options: ChartOptions) => void;\n subscribe: (listener: () => void) => () => void;\n version: () => number;\n /** Draws again now */\n commit: () => void;\n /** Static layers of a scene (cached while model / view / size are the same) */\n layers: (scene: ChartScene, family: string | undefined) => ReactNode;\n /** Last single-finger position (anchor of a custom tooltip) */\n anchor: { x: number; y: number } | null;\n /**\n * First finger (responder grant); returns whether the chart owns the\n * gesture, which keeps native scroll views from taking it (Android)\n */\n touchStart: (event: GestureResponderEvent) => boolean;\n /** Another finger touches the chart */\n touchAdd: (event: GestureResponderEvent) => void;\n /** Moves (drawn on the next frame) */\n touchMove: (event: GestureResponderEvent) => void;\n touchEnd: (event: GestureResponderEvent) => void;\n touchCancel: () => void;\n /** Whether the chart keeps the touches (pinch, point drag, pan when zoomed) */\n holdsGesture: () => boolean;\n}\n\nfunction createChartStore(\n options: ChartOptions,\n theme: ChartThemeInput,\n size: [number, number] | null,\n): ChartStore {\n let version = 0;\n let frame: Frame | null = null;\n const listeners = new Set<() => void>();\n let cache: { key: unknown[]; node: ReactNode } | null = null;\n let origin = { x: 0, y: 0 };\n const touches = new Map<number, { x: number; y: number }>();\n const dragsPoints = (o: ChartOptions) =>\n typeof o.interaction === \"object\" && !!o.interaction.dragPoints;\n let draggable = dragsPoints(options);\n /** The current touch sequence started on the plot of a draggable chart */\n let claimed = false;\n\n const notify = () => {\n version++;\n listeners.forEach((listener) => listener());\n };\n const cancelFrame = () => {\n frame?.cancel();\n frame = null;\n };\n const schedule = () => {\n if (frame || !listeners.size) return;\n frame = requestFrame(() => {\n frame = null;\n notify();\n });\n };\n\n const controller = createChartController({\n options,\n theme,\n measureText: measureChartText,\n onInvalidate: schedule,\n });\n if (size) controller.setSize(size[0], size[1]);\n\n const local = (t: TouchPoint) => ({\n x: t.pageX - origin.x,\n y: t.pageY - origin.y,\n });\n\n /** Feeds the controller the fingers that appeared or moved */\n const sync = (event: GestureResponderEvent) => {\n const n = event.nativeEvent;\n const list: readonly TouchPoint[] = n.touches?.length\n ? n.touches\n : [n as unknown as TouchPoint];\n list.forEach((t, i) => {\n const id = idOf(t, i);\n const p = local(t);\n const previous = touches.get(id);\n if (!previous) {\n touches.set(id, p);\n controller.pointerDown(p.x, p.y, { id, touch: true });\n } else if (previous.x !== p.x || previous.y !== p.y) {\n touches.set(id, p);\n controller.pointerMove(p.x, p.y, { id, touch: true });\n }\n });\n if (touches.size === 1) store.anchor = [...touches.values()][0];\n };\n\n const store: ChartStore = {\n controller,\n setOptions(next) {\n draggable = dragsPoints(next);\n controller.setOptions(next);\n },\n subscribe(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n if (!listeners.size) cancelFrame();\n };\n },\n version: () => version,\n commit() {\n cancelFrame();\n notify();\n },\n layers(scene, family) {\n const { plot } = scene.layout;\n const { view } = scene;\n const key = [\n scene.model,\n scene.annotations,\n scene.theme,\n scene.width,\n scene.height,\n view.x[0],\n view.x[1],\n view.y[0],\n view.y[1],\n plot.x,\n plot.y,\n plot.width,\n plot.height,\n family,\n ];\n if (!cache || cache.key.some((value, i) => value !== key[i]))\n cache = { key, node: drawStatic(scene, family) };\n return cache.node;\n },\n anchor: null,\n touchStart(event) {\n const n = event.nativeEvent as unknown as TouchPoint;\n // the drawing ignores touches: `location` is relative to the surface\n if (!touches.size && n.locationX !== undefined)\n origin = { x: n.pageX - n.locationX, y: n.pageY - (n.locationY ?? 0) };\n sync(event);\n store.commit();\n // draggable points: the drag only starts after the touch slop, too\n // late to keep a scroll view from stealing the touch: claim it now\n const plot = controller.getPlotRect();\n const p = touches.values().next().value;\n claimed =\n draggable &&\n !!plot &&\n !!p &&\n p.x >= plot.x &&\n p.x <= plot.x + plot.width &&\n p.y >= plot.y &&\n p.y <= plot.y + plot.height;\n return store.holdsGesture();\n },\n touchAdd(event) {\n sync(event);\n store.commit();\n },\n touchMove: sync,\n touchEnd(event) {\n const n = event.nativeEvent;\n const active = new Set(\n (n.touches ?? []).map((t, i) => idOf(t as TouchPoint, i)),\n );\n const changed: readonly TouchPoint[] = n.changedTouches?.length\n ? n.changedTouches\n : [n as unknown as TouchPoint];\n for (const [id, last] of [...touches]) {\n if (active.has(id)) continue;\n const touch = changed.find((t, i) => idOf(t, i) === id);\n const p = touch ? local(touch) : last;\n touches.delete(id);\n if (touches.size === 0) store.anchor = p;\n controller.pointerUp(p.x, p.y, { id, touch: true });\n }\n store.commit();\n },\n touchCancel() {\n for (const id of touches.keys()) controller.pointerCancel({ id });\n touches.clear();\n store.commit();\n },\n holdsGesture() {\n if (touches.size > 1 || (claimed && touches.size > 0)) return true;\n const scene = controller.getScene();\n if (!scene) return false;\n if (scene.dragging) return true;\n const { base } = scene.model;\n const view = controller.getView();\n return (\n view.x[0] !== base.x[0] ||\n view.x[1] !== base.x[1] ||\n view.y[0] !== base.y[0] ||\n view.y[1] !== base.y[1]\n );\n },\n };\n return store;\n}\n\n/** A `renderTooltip` node, placed next to the finger once measured */\nfunction CustomTooltip({\n scene,\n anchor,\n children,\n}: {\n scene: ChartScene;\n anchor: { x: number; y: number };\n children: ReactNode;\n}) {\n const [size, setSize] = useState<{ width: number; height: number } | null>(\n null,\n );\n const { width, height } = scene;\n let left = anchor.x + 14;\n let top = anchor.y;\n if (size) {\n if (left + size.width > width - 4) left = anchor.x - 14 - size.width;\n left = Math.max(4, Math.min(left, width - size.width - 4));\n top = Math.max(\n 4,\n Math.min(anchor.y - size.height / 2, height - size.height - 4),\n );\n }\n return (\n <View\n pointerEvents=\"none\"\n {...part(\"chart\", \"tooltip\", { custom: true })}\n onLayout={(e: LayoutChangeEvent) => {\n const { width: w, height: h } = e.nativeEvent.layout;\n setSize((previous) =>\n previous && previous.width === w && previous.height === h\n ? previous\n : { width: w, height: h },\n );\n }}\n style={[\n tooltipCard(scene),\n {\n // laid out at the origin (full width available), moved by a transform\n left: 0,\n top: 0,\n maxWidth: Math.max(0, width - 8),\n padding: 8,\n opacity: size ? 1 : 0,\n transform: [{ translateX: left }, { translateY: top }],\n },\n ]}\n >\n {children}\n </View>\n );\n}\n\ninterface ChartBaseProps extends Handlers {\n options: ChartOptions;\n height?: DimensionValue;\n width?: DimensionValue;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n handleRef?: Ref<ChartHandle>;\n /** React content of the tooltip (replaces the engine's content) */\n renderTooltip?: (event: ChartHoverEvent) => ReactNode;\n /** React content placed over the plot area, given the plot rectangle */\n overlay?: (plot: ChartRect) => ReactNode;\n}\n\n/** Sizes the chart, forwards options / theme / touches to the controller and draws its scene */\nexport function ChartBase({\n options,\n height = 320,\n width = \"100%\",\n style,\n testID,\n handleRef,\n renderTooltip,\n overlay,\n ...handlers\n}: ChartBaseProps) {\n const { tokens, fonts } = useTheme();\n const family = fonts.sans;\n const theme = useMemo(() => chartThemeInput(tokens), [tokens]);\n const customTooltip = !!renderTooltip && options.tooltip !== false;\n const resolved = useMemo((): ChartOptions => {\n if (!customTooltip) return options;\n const base = typeof options.tooltip === \"object\" ? options.tooltip : {};\n return { ...options, tooltip: { ...base, render: () => CUSTOM_TOOLTIP } };\n }, [options, customTooltip]);\n\n const [store] = useState(() =>\n createChartStore(\n resolved,\n theme,\n typeof width === \"number\" && typeof height === \"number\"\n ? [width, height]\n : null,\n ),\n );\n const { controller } = store;\n useSyncExternalStore(store.subscribe, store.version, store.version);\n\n const applied = useRef({ options: resolved, theme });\n useLayoutEffect(() => {\n const current = applied.current;\n if (current.theme === theme && current.options === resolved) return;\n if (current.theme !== theme) controller.setTheme(theme);\n if (current.options !== resolved) store.setOptions(resolved);\n applied.current = { options: resolved, theme };\n store.commit();\n }, [controller, store, resolved, theme]);\n\n useLayoutEffect(() => {\n if (typeof width !== \"number\" || typeof height !== \"number\") return;\n const scene = controller.getScene();\n if (scene && scene.width === width && scene.height === height) return;\n controller.setSize(width, height);\n store.commit();\n }, [controller, store, width, height]);\n\n const handlersRef = useRef<Handlers>(handlers);\n useLayoutEffect(() => {\n handlersRef.current = handlers;\n });\n useEffect(() => {\n const h = handlersRef;\n const offs = [\n controller.on(\"hover\", (e) => h.current.onHover?.(e)),\n controller.on(\"click\", (e) => h.current.onPointClick?.(e)),\n controller.on(\"plotClick\", (e) => h.current.onPlotClick?.(e)),\n controller.on(\"zoom\", (v) => h.current.onZoom?.(v)),\n controller.on(\"drag\", (e) => h.current.onDrag?.(e)),\n controller.on(\"drop\", (e) => h.current.onDrop?.(e)),\n ];\n return () => offs.forEach((off) => off());\n }, [controller]);\n\n useImperativeHandle(\n handleRef,\n () => ({\n resetZoom: () => controller.resetZoom(),\n getView: () => controller.getView(),\n setView: (view) => controller.setView(view),\n getPlotRect: () => controller.getPlotRect(),\n getController: () => controller,\n }),\n [controller],\n );\n\n const onLayout = (e: LayoutChangeEvent) => {\n const { width: w, height: h } = e.nativeEvent.layout;\n const scene = controller.getScene();\n if (scene && scene.width === w && scene.height === h) return;\n controller.setSize(w, h);\n store.commit();\n };\n\n const scene = controller.getScene();\n let tooltip: ReactNode = null;\n const event = scene?.hover?.tooltip ? scene.hover.event : null;\n if (scene && event && customTooltip && renderTooltip) {\n const content = renderTooltip(event);\n const anchor = store.anchor ?? scene.hover?.marks[0] ?? null;\n if (\n content !== null &&\n content !== undefined &&\n content !== false &&\n anchor\n )\n tooltip = (\n <CustomTooltip scene={scene} anchor={anchor}>\n {content}\n </CustomTooltip>\n );\n }\n\n return (\n <View\n testID={testID}\n onLayout={onLayout}\n style={[{ width, height }, style]}\n {...part(\"chart\", \"root\")}\n >\n <View\n style={StyleSheet.absoluteFill}\n accessible\n accessibilityRole=\"image\"\n accessibilityLabel={options.ariaLabel}\n onStartShouldSetResponder={() => true}\n onResponderTerminationRequest={() => !store.holdsGesture()}\n onResponderGrant={store.touchStart}\n onResponderStart={store.touchAdd}\n onResponderMove={store.touchMove}\n onResponderEnd={store.touchEnd}\n onResponderRelease={store.touchEnd}\n onResponderTerminate={store.touchCancel}\n {...part(\"chart\", \"surface\")}\n >\n <View pointerEvents=\"none\" style={StyleSheet.absoluteFill}>\n {scene ? store.layers(scene, family) : null}\n {scene ? drawHover(scene, family, customTooltip) : null}\n </View>\n </View>\n {overlay && scene ? (\n <View\n pointerEvents=\"box-none\"\n style={{\n position: \"absolute\",\n left: scene.layout.plot.x,\n top: scene.layout.plot.y,\n width: scene.layout.plot.width,\n height: scene.layout.plot.height,\n }}\n {...part(\"chart\", \"overlay\")}\n >\n {overlay(scene.layout.plot)}\n </View>\n ) : null}\n {tooltip}\n </View>\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"ChartBase.cjs","names":["createChartController","measureChartText","drawStatic","useState","View","part","tooltipCard","useTheme","useMemo","chartThemeInput","useRef","StyleSheet","chartAriaLabel","drawHover","require_MinervaProvider","require_parts","require_labels","require_controller","require_measure","require_scene","require_theme","react","react_native","react_jsx_runtime","engineOptions","props","CUSTOM_TOOLTIP","idOf","id","t","index","requestFrame","callback","createChartStore","version","frame","listeners","cache","origin","touches","dragsPoints","o","draggable","options","claimed","notify","listener","cancelFrame","controller","size","local","sync","n","event","i","p","previous","store","next","scene","key","view","plot","family","value","active","changed","last","touch","base","CustomTooltip","setSize","left","anchor","top","width","height","w","h","ChartBase","handlers","fonts","theme","tokens","customTooltip","renderTooltip","resolved","applied","current","handlersRef","offs","e","v","off","handleRef","onLayout","tooltip","content","style","overlay"],"sources":["../../../../../native/src/components/Chart/ChartBase.tsx"],"sourcesContent":["// The chart host of React Native: owns a platform-free chart controller\n// (@minerva/charts/canvas: options, model, zoom, gestures, scene in pixels)\n// and draws its scene with views (./scene). Touches go through the\n// responder system; the drawing is `pointerEvents=\"none\"`, so every touch\n// lands on the surface and positions come from page coordinates.\n\nimport {\n useEffect,\n useImperativeHandle,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport {\n StyleSheet,\n View,\n type DimensionValue,\n type GestureResponderEvent,\n type LayoutChangeEvent,\n type StyleProp,\n type ViewStyle,\n} from \"react-native\";\nimport {\n chartAriaLabel,\n createChartController,\n type ChartController,\n type ChartDragEvent,\n type ChartHoverEvent,\n type ChartOptions,\n type ChartPlotClickEvent,\n type ChartRect,\n type ChartScene,\n type ChartThemeInput,\n type ChartTooltipOptions,\n type ChartView,\n} from \"@minerva/charts/canvas\";\nimport { useTheme } from \"../../theme/MinervaProvider\";\nimport { part } from \"../../internal/parts\";\nimport { measureChartText } from \"./measure\";\nimport { drawHover, drawStatic, tooltipCard } from \"./scene\";\nimport { chartThemeInput } from \"./theme\";\nimport type { ChartCommonProps, ChartHandle } from \"./types\";\n\ninterface Handlers {\n onHover?: (event: ChartHoverEvent | null) => void;\n onPointClick?: (event: ChartHoverEvent) => void;\n onPlotClick?: (event: ChartPlotClickEvent) => void;\n onZoom?: (view: ChartView) => void;\n onDrag?: (event: ChartDragEvent) => void;\n onDrop?: (event: ChartDragEvent) => void;\n}\n\n/** Engine options of the common props */\nexport const engineOptions = (\n props: Pick<\n ChartCommonProps,\n | \"xAxis\"\n | \"yAxis\"\n | \"legend\"\n | \"tooltip\"\n | \"crosshair\"\n | \"annotations\"\n | \"interaction\"\n | \"padding\"\n | \"palette\"\n | \"ariaLabel\"\n | \"locale\"\n | \"labels\"\n > &\n Pick<ChartOptions, \"series\">,\n): ChartOptions => ({\n series: props.series,\n xAxis: props.xAxis,\n yAxis: props.yAxis,\n legend: props.legend,\n tooltip: props.tooltip,\n crosshair: props.crosshair,\n annotations: props.annotations,\n interaction: props.interaction,\n padding: props.padding,\n palette: props.palette,\n ariaLabel: props.ariaLabel,\n locale: props.locale,\n labels: props.labels,\n});\n\ntype TooltipResult = Exclude<\n ReturnType<NonNullable<ChartTooltipOptions[\"render\"]>>,\n string | null\n>;\n/** Non-string result of `tooltip.render`: the engine lays a tooltip out without drawing text */\nconst CUSTOM_TOOLTIP = {} as unknown as TooltipResult;\n\ninterface TouchPoint {\n identifier?: number | string;\n pageX: number;\n pageY: number;\n locationX?: number;\n locationY?: number;\n}\n\nconst idOf = (t: TouchPoint, index: number) => {\n const id = Number(t.identifier);\n return Number.isFinite(id) ? id : index;\n};\n\ntype Frame = { cancel: () => void };\n\nconst requestFrame = (callback: () => void): Frame => {\n if (typeof requestAnimationFrame === \"function\") {\n const id = requestAnimationFrame(callback);\n return { cancel: () => cancelAnimationFrame(id) };\n }\n const id = setTimeout(callback, 16);\n return { cancel: () => clearTimeout(id) };\n};\n\n/**\n * External store of a chart: the controller, a version bumped when its\n * scene must be drawn again (coalesced per frame), the touches being\n * tracked and the cache of the static layers.\n */\ninterface ChartStore {\n controller: ChartController;\n /** Options of the controller (`setOptions` of the controller) */\n setOptions: (options: ChartOptions) => void;\n subscribe: (listener: () => void) => () => void;\n version: () => number;\n /** Draws again now */\n commit: () => void;\n /** Static layers of a scene (cached while model / view / size are the same) */\n layers: (scene: ChartScene, family: string | undefined) => ReactNode;\n /** Last single-finger position (anchor of a custom tooltip) */\n anchor: { x: number; y: number } | null;\n /**\n * First finger (responder grant); returns whether the chart owns the\n * gesture, which keeps native scroll views from taking it (Android)\n */\n touchStart: (event: GestureResponderEvent) => boolean;\n /** Another finger touches the chart */\n touchAdd: (event: GestureResponderEvent) => void;\n /** Moves (drawn on the next frame) */\n touchMove: (event: GestureResponderEvent) => void;\n touchEnd: (event: GestureResponderEvent) => void;\n touchCancel: () => void;\n /** Whether the chart keeps the touches (pinch, point drag, pan when zoomed) */\n holdsGesture: () => boolean;\n}\n\nfunction createChartStore(\n options: ChartOptions,\n theme: ChartThemeInput,\n size: [number, number] | null,\n): ChartStore {\n let version = 0;\n let frame: Frame | null = null;\n const listeners = new Set<() => void>();\n let cache: { key: unknown[]; node: ReactNode } | null = null;\n let origin = { x: 0, y: 0 };\n const touches = new Map<number, { x: number; y: number }>();\n const dragsPoints = (o: ChartOptions) =>\n typeof o.interaction === \"object\" && !!o.interaction.dragPoints;\n let draggable = dragsPoints(options);\n /** The current touch sequence started on the plot of a draggable chart */\n let claimed = false;\n\n const notify = () => {\n version++;\n listeners.forEach((listener) => listener());\n };\n const cancelFrame = () => {\n frame?.cancel();\n frame = null;\n };\n const schedule = () => {\n if (frame || !listeners.size) return;\n frame = requestFrame(() => {\n frame = null;\n notify();\n });\n };\n\n const controller = createChartController({\n options,\n theme,\n measureText: measureChartText,\n onInvalidate: schedule,\n });\n if (size) controller.setSize(size[0], size[1]);\n\n const local = (t: TouchPoint) => ({\n x: t.pageX - origin.x,\n y: t.pageY - origin.y,\n });\n\n /** Feeds the controller the fingers that appeared or moved */\n const sync = (event: GestureResponderEvent) => {\n const n = event.nativeEvent;\n const list: readonly TouchPoint[] = n.touches?.length\n ? n.touches\n : [n as unknown as TouchPoint];\n list.forEach((t, i) => {\n const id = idOf(t, i);\n const p = local(t);\n const previous = touches.get(id);\n if (!previous) {\n touches.set(id, p);\n controller.pointerDown(p.x, p.y, { id, touch: true });\n } else if (previous.x !== p.x || previous.y !== p.y) {\n touches.set(id, p);\n controller.pointerMove(p.x, p.y, { id, touch: true });\n }\n });\n if (touches.size === 1) store.anchor = [...touches.values()][0];\n };\n\n const store: ChartStore = {\n controller,\n setOptions(next) {\n draggable = dragsPoints(next);\n controller.setOptions(next);\n },\n subscribe(listener) {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n if (!listeners.size) cancelFrame();\n };\n },\n version: () => version,\n commit() {\n cancelFrame();\n notify();\n },\n layers(scene, family) {\n const { plot } = scene.layout;\n const { view } = scene;\n const key = [\n scene.model,\n scene.annotations,\n scene.theme,\n scene.width,\n scene.height,\n view.x[0],\n view.x[1],\n view.y[0],\n view.y[1],\n plot.x,\n plot.y,\n plot.width,\n plot.height,\n family,\n ];\n if (!cache || cache.key.some((value, i) => value !== key[i]))\n cache = { key, node: drawStatic(scene, family) };\n return cache.node;\n },\n anchor: null,\n touchStart(event) {\n const n = event.nativeEvent as unknown as TouchPoint;\n // the drawing ignores touches: `location` is relative to the surface\n if (!touches.size && n.locationX !== undefined)\n origin = { x: n.pageX - n.locationX, y: n.pageY - (n.locationY ?? 0) };\n sync(event);\n store.commit();\n // draggable points: the drag only starts after the touch slop, too\n // late to keep a scroll view from stealing the touch: claim it now\n const plot = controller.getPlotRect();\n const p = touches.values().next().value;\n claimed =\n draggable &&\n !!plot &&\n !!p &&\n p.x >= plot.x &&\n p.x <= plot.x + plot.width &&\n p.y >= plot.y &&\n p.y <= plot.y + plot.height;\n return store.holdsGesture();\n },\n touchAdd(event) {\n sync(event);\n store.commit();\n },\n touchMove: sync,\n touchEnd(event) {\n const n = event.nativeEvent;\n const active = new Set(\n (n.touches ?? []).map((t, i) => idOf(t as TouchPoint, i)),\n );\n const changed: readonly TouchPoint[] = n.changedTouches?.length\n ? n.changedTouches\n : [n as unknown as TouchPoint];\n for (const [id, last] of [...touches]) {\n if (active.has(id)) continue;\n const touch = changed.find((t, i) => idOf(t, i) === id);\n const p = touch ? local(touch) : last;\n touches.delete(id);\n if (touches.size === 0) store.anchor = p;\n controller.pointerUp(p.x, p.y, { id, touch: true });\n }\n store.commit();\n },\n touchCancel() {\n for (const id of touches.keys()) controller.pointerCancel({ id });\n touches.clear();\n store.commit();\n },\n holdsGesture() {\n if (touches.size > 1 || (claimed && touches.size > 0)) return true;\n const scene = controller.getScene();\n if (!scene) return false;\n if (scene.dragging) return true;\n const { base } = scene.model;\n const view = controller.getView();\n return (\n view.x[0] !== base.x[0] ||\n view.x[1] !== base.x[1] ||\n view.y[0] !== base.y[0] ||\n view.y[1] !== base.y[1]\n );\n },\n };\n return store;\n}\n\n/** A `renderTooltip` node, placed next to the finger once measured */\nfunction CustomTooltip({\n scene,\n anchor,\n children,\n}: {\n scene: ChartScene;\n anchor: { x: number; y: number };\n children: ReactNode;\n}) {\n const [size, setSize] = useState<{ width: number; height: number } | null>(\n null,\n );\n const { width, height } = scene;\n let left = anchor.x + 14;\n let top = anchor.y;\n if (size) {\n if (left + size.width > width - 4) left = anchor.x - 14 - size.width;\n left = Math.max(4, Math.min(left, width - size.width - 4));\n top = Math.max(\n 4,\n Math.min(anchor.y - size.height / 2, height - size.height - 4),\n );\n }\n return (\n <View\n pointerEvents=\"none\"\n {...part(\"chart\", \"tooltip\", { custom: true })}\n onLayout={(e: LayoutChangeEvent) => {\n const { width: w, height: h } = e.nativeEvent.layout;\n setSize((previous) =>\n previous && previous.width === w && previous.height === h\n ? previous\n : { width: w, height: h },\n );\n }}\n style={[\n tooltipCard(scene),\n {\n // laid out at the origin (full width available), moved by a transform\n left: 0,\n top: 0,\n maxWidth: Math.max(0, width - 8),\n padding: 8,\n opacity: size ? 1 : 0,\n transform: [{ translateX: left }, { translateY: top }],\n },\n ]}\n >\n {children}\n </View>\n );\n}\n\ninterface ChartBaseProps extends Handlers {\n options: ChartOptions;\n height?: DimensionValue;\n width?: DimensionValue;\n style?: StyleProp<ViewStyle>;\n testID?: string;\n handleRef?: Ref<ChartHandle>;\n /** React content of the tooltip (replaces the engine's content) */\n renderTooltip?: (event: ChartHoverEvent) => ReactNode;\n /** React content placed over the plot area, given the plot rectangle */\n overlay?: (plot: ChartRect) => ReactNode;\n}\n\n/** Sizes the chart, forwards options / theme / touches to the controller and draws its scene */\nexport function ChartBase({\n options,\n height = 320,\n width = \"100%\",\n style,\n testID,\n handleRef,\n renderTooltip,\n overlay,\n ...handlers\n}: ChartBaseProps) {\n const { tokens, fonts } = useTheme();\n const family = fonts.sans;\n const theme = useMemo(() => chartThemeInput(tokens), [tokens]);\n const customTooltip = !!renderTooltip && options.tooltip !== false;\n const resolved = useMemo((): ChartOptions => {\n if (!customTooltip) return options;\n const base = typeof options.tooltip === \"object\" ? options.tooltip : {};\n return { ...options, tooltip: { ...base, render: () => CUSTOM_TOOLTIP } };\n }, [options, customTooltip]);\n\n const [store] = useState(() =>\n createChartStore(\n resolved,\n theme,\n typeof width === \"number\" && typeof height === \"number\"\n ? [width, height]\n : null,\n ),\n );\n const { controller } = store;\n useSyncExternalStore(store.subscribe, store.version, store.version);\n\n const applied = useRef({ options: resolved, theme });\n useLayoutEffect(() => {\n const current = applied.current;\n if (current.theme === theme && current.options === resolved) return;\n if (current.theme !== theme) controller.setTheme(theme);\n if (current.options !== resolved) store.setOptions(resolved);\n applied.current = { options: resolved, theme };\n store.commit();\n }, [controller, store, resolved, theme]);\n\n useLayoutEffect(() => {\n if (typeof width !== \"number\" || typeof height !== \"number\") return;\n const scene = controller.getScene();\n if (scene && scene.width === width && scene.height === height) return;\n controller.setSize(width, height);\n store.commit();\n }, [controller, store, width, height]);\n\n const handlersRef = useRef<Handlers>(handlers);\n useLayoutEffect(() => {\n handlersRef.current = handlers;\n });\n useEffect(() => {\n const h = handlersRef;\n const offs = [\n controller.on(\"hover\", (e) => h.current.onHover?.(e)),\n controller.on(\"click\", (e) => h.current.onPointClick?.(e)),\n controller.on(\"plotClick\", (e) => h.current.onPlotClick?.(e)),\n controller.on(\"zoom\", (v) => h.current.onZoom?.(v)),\n controller.on(\"drag\", (e) => h.current.onDrag?.(e)),\n controller.on(\"drop\", (e) => h.current.onDrop?.(e)),\n ];\n return () => offs.forEach((off) => off());\n }, [controller]);\n\n useImperativeHandle(\n handleRef,\n () => ({\n resetZoom: () => controller.resetZoom(),\n getView: () => controller.getView(),\n setView: (view) => controller.setView(view),\n getPlotRect: () => controller.getPlotRect(),\n getController: () => controller,\n }),\n [controller],\n );\n\n const onLayout = (e: LayoutChangeEvent) => {\n const { width: w, height: h } = e.nativeEvent.layout;\n const scene = controller.getScene();\n if (scene && scene.width === w && scene.height === h) return;\n controller.setSize(w, h);\n store.commit();\n };\n\n const scene = controller.getScene();\n let tooltip: ReactNode = null;\n const event = scene?.hover?.tooltip ? scene.hover.event : null;\n if (scene && event && customTooltip && renderTooltip) {\n const content = renderTooltip(event);\n const anchor = store.anchor ?? scene.hover?.marks[0] ?? null;\n if (\n content !== null &&\n content !== undefined &&\n content !== false &&\n anchor\n )\n tooltip = (\n <CustomTooltip scene={scene} anchor={anchor}>\n {content}\n </CustomTooltip>\n );\n }\n\n return (\n <View\n testID={testID}\n onLayout={onLayout}\n style={[{ width, height }, style]}\n {...part(\"chart\", \"root\")}\n >\n <View\n style={StyleSheet.absoluteFill}\n accessible\n accessibilityRole=\"image\"\n accessibilityLabel={\n options.ariaLabel ?? (scene ? chartAriaLabel(scene.model) : undefined)\n }\n onStartShouldSetResponder={() => true}\n onResponderTerminationRequest={() => !store.holdsGesture()}\n onResponderGrant={store.touchStart}\n onResponderStart={store.touchAdd}\n onResponderMove={store.touchMove}\n onResponderEnd={store.touchEnd}\n onResponderRelease={store.touchEnd}\n onResponderTerminate={store.touchCancel}\n {...part(\"chart\", \"surface\")}\n >\n <View pointerEvents=\"none\" style={StyleSheet.absoluteFill}>\n {scene ? store.layers(scene, family) : null}\n {scene ? drawHover(scene, family, customTooltip) : null}\n </View>\n </View>\n {overlay && scene ? (\n <View\n pointerEvents=\"box-none\"\n style={{\n position: \"absolute\",\n left: scene.layout.plot.x,\n top: scene.layout.plot.y,\n width: scene.layout.plot.width,\n height: scene.layout.plot.height,\n }}\n {...part(\"chart\", \"overlay\")}\n >\n {overlay(scene.layout.plot)}\n </View>\n ) : null}\n {tooltip}\n </View>\n );\n}\n"],"mappings":"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"}
@@ -11,7 +11,7 @@ interface Handlers {
11
11
  onDrop?: (event: ChartDragEvent) => void;
12
12
  }
13
13
  /** Engine options of the common props */
14
- export declare const engineOptions: (props: Pick<ChartCommonProps, "xAxis" | "yAxis" | "legend" | "tooltip" | "crosshair" | "annotations" | "interaction" | "padding" | "palette" | "ariaLabel"> & Pick<ChartOptions, "series">) => ChartOptions;
14
+ export declare const engineOptions: (props: Pick<ChartCommonProps, "xAxis" | "yAxis" | "legend" | "tooltip" | "crosshair" | "annotations" | "interaction" | "padding" | "palette" | "ariaLabel" | "locale" | "labels"> & Pick<ChartOptions, "series">) => ChartOptions;
15
15
  interface ChartBaseProps extends Handlers {
16
16
  options: ChartOptions;
17
17
  height?: DimensionValue;
@@ -11,7 +11,7 @@ interface Handlers {
11
11
  onDrop?: (event: ChartDragEvent) => void;
12
12
  }
13
13
  /** Engine options of the common props */
14
- export declare const engineOptions: (props: Pick<ChartCommonProps, "xAxis" | "yAxis" | "legend" | "tooltip" | "crosshair" | "annotations" | "interaction" | "padding" | "palette" | "ariaLabel"> & Pick<ChartOptions, "series">) => ChartOptions;
14
+ export declare const engineOptions: (props: Pick<ChartCommonProps, "xAxis" | "yAxis" | "legend" | "tooltip" | "crosshair" | "annotations" | "interaction" | "padding" | "palette" | "ariaLabel" | "locale" | "labels"> & Pick<ChartOptions, "series">) => ChartOptions;
15
15
  interface ChartBaseProps extends Handlers {
16
16
  options: ChartOptions;
17
17
  height?: DimensionValue;