minerva-design 1.3.0 → 1.5.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 (1337) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +18546 -7329
  4. package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2809 -0
  7. package/dist/charts/canvas.d.cts +8 -3
  8. package/dist/charts/canvas.d.ts +8 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +10 -5
  11. package/dist/charts/core.d.ts +10 -5
  12. package/dist/charts/core.js +27 -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 +43 -20
  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 +193 -116
  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 +486 -350
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +18 -0
  32. package/dist/charts/engine/color.d.ts +18 -0
  33. package/dist/charts/engine/color.js +47 -1
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +44 -4
  38. package/dist/charts/engine/controller.d.ts +44 -4
  39. package/dist/charts/engine/controller.js +421 -314
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/data.cjs +1 -1
  42. package/dist/charts/engine/data.cjs.map +1 -1
  43. package/dist/charts/engine/data.d.cts +9 -1
  44. package/dist/charts/engine/data.d.ts +9 -1
  45. package/dist/charts/engine/data.js +65 -49
  46. package/dist/charts/engine/data.js.map +1 -1
  47. package/dist/charts/engine/defaults.cjs +2 -0
  48. package/dist/charts/engine/defaults.cjs.map +1 -0
  49. package/dist/charts/engine/defaults.d.cts +20 -0
  50. package/dist/charts/engine/defaults.d.ts +20 -0
  51. package/dist/charts/engine/defaults.js +35 -0
  52. package/dist/charts/engine/defaults.js.map +1 -0
  53. package/dist/charts/engine/format.cjs +1 -1
  54. package/dist/charts/engine/format.cjs.map +1 -1
  55. package/dist/charts/engine/format.d.cts +27 -6
  56. package/dist/charts/engine/format.d.ts +27 -6
  57. package/dist/charts/engine/format.js +59 -21
  58. package/dist/charts/engine/format.js.map +1 -1
  59. package/dist/charts/engine/graph/chart.cjs +2 -0
  60. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  61. package/dist/charts/engine/graph/chart.d.cts +3 -0
  62. package/dist/charts/engine/graph/chart.d.ts +3 -0
  63. package/dist/charts/engine/graph/chart.js +1565 -0
  64. package/dist/charts/engine/graph/chart.js.map +1 -0
  65. package/dist/charts/engine/graph/circular.cjs +2 -0
  66. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  67. package/dist/charts/engine/graph/circular.d.cts +16 -0
  68. package/dist/charts/engine/graph/circular.d.ts +16 -0
  69. package/dist/charts/engine/graph/circular.js +62 -0
  70. package/dist/charts/engine/graph/circular.js.map +1 -0
  71. package/dist/charts/engine/graph/dag.cjs +2 -0
  72. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  73. package/dist/charts/engine/graph/dag.d.cts +34 -0
  74. package/dist/charts/engine/graph/dag.d.ts +34 -0
  75. package/dist/charts/engine/graph/dag.js +314 -0
  76. package/dist/charts/engine/graph/dag.js.map +1 -0
  77. package/dist/charts/engine/graph/dom.cjs +2 -0
  78. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  79. package/dist/charts/engine/graph/dom.d.cts +23 -0
  80. package/dist/charts/engine/graph/dom.d.ts +23 -0
  81. package/dist/charts/engine/graph/dom.js +158 -0
  82. package/dist/charts/engine/graph/dom.js.map +1 -0
  83. package/dist/charts/engine/graph/force.cjs +2 -0
  84. package/dist/charts/engine/graph/force.cjs.map +1 -0
  85. package/dist/charts/engine/graph/force.d.cts +67 -0
  86. package/dist/charts/engine/graph/force.d.ts +67 -0
  87. package/dist/charts/engine/graph/force.js +325 -0
  88. package/dist/charts/engine/graph/force.js.map +1 -0
  89. package/dist/charts/engine/graph/geometry.cjs +2 -0
  90. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  91. package/dist/charts/engine/graph/geometry.d.cts +37 -0
  92. package/dist/charts/engine/graph/geometry.d.ts +37 -0
  93. package/dist/charts/engine/graph/geometry.js +144 -0
  94. package/dist/charts/engine/graph/geometry.js.map +1 -0
  95. package/dist/charts/engine/graph/index.cjs +1 -0
  96. package/dist/charts/engine/graph/index.d.cts +6 -0
  97. package/dist/charts/engine/graph/index.d.ts +6 -0
  98. package/dist/charts/engine/graph/index.js +6 -0
  99. package/dist/charts/engine/graph/labels.cjs +2 -0
  100. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  101. package/dist/charts/engine/graph/labels.d.cts +12 -0
  102. package/dist/charts/engine/graph/labels.d.ts +12 -0
  103. package/dist/charts/engine/graph/labels.js +128 -0
  104. package/dist/charts/engine/graph/labels.js.map +1 -0
  105. package/dist/charts/engine/graph/model.cjs +2 -0
  106. package/dist/charts/engine/graph/model.cjs.map +1 -0
  107. package/dist/charts/engine/graph/model.d.cts +43 -0
  108. package/dist/charts/engine/graph/model.d.ts +43 -0
  109. package/dist/charts/engine/graph/model.js +88 -0
  110. package/dist/charts/engine/graph/model.js.map +1 -0
  111. package/dist/charts/engine/graph/sizing.cjs +2 -0
  112. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  113. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  114. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  115. package/dist/charts/engine/graph/sizing.js +60 -0
  116. package/dist/charts/engine/graph/sizing.js.map +1 -0
  117. package/dist/charts/engine/graph/tree.cjs +2 -0
  118. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  119. package/dist/charts/engine/graph/tree.d.cts +30 -0
  120. package/dist/charts/engine/graph/tree.d.ts +30 -0
  121. package/dist/charts/engine/graph/tree.js +218 -0
  122. package/dist/charts/engine/graph/tree.js.map +1 -0
  123. package/dist/charts/engine/graph/types.d.cts +626 -0
  124. package/dist/charts/engine/graph/types.d.ts +626 -0
  125. package/dist/charts/engine/graph/worker.cjs +46 -0
  126. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  127. package/dist/charts/engine/graph/worker.d.cts +36 -0
  128. package/dist/charts/engine/graph/worker.d.ts +36 -0
  129. package/dist/charts/engine/graph/worker.js +129 -0
  130. package/dist/charts/engine/graph/worker.js.map +1 -0
  131. package/dist/charts/engine/items.cjs +1 -1
  132. package/dist/charts/engine/items.cjs.map +1 -1
  133. package/dist/charts/engine/items.d.cts +15 -2
  134. package/dist/charts/engine/items.d.ts +15 -2
  135. package/dist/charts/engine/items.js +257 -81
  136. package/dist/charts/engine/items.js.map +1 -1
  137. package/dist/charts/engine/labels.cjs +2 -0
  138. package/dist/charts/engine/labels.cjs.map +1 -0
  139. package/dist/charts/engine/labels.d.cts +13 -0
  140. package/dist/charts/engine/labels.d.ts +13 -0
  141. package/dist/charts/engine/labels.js +98 -0
  142. package/dist/charts/engine/labels.js.map +1 -0
  143. package/dist/charts/engine/layout.cjs +1 -1
  144. package/dist/charts/engine/layout.cjs.map +1 -1
  145. package/dist/charts/engine/layout.d.cts +43 -2
  146. package/dist/charts/engine/layout.d.ts +43 -2
  147. package/dist/charts/engine/layout.js +62 -12
  148. package/dist/charts/engine/layout.js.map +1 -1
  149. package/dist/charts/engine/locale.cjs +2 -0
  150. package/dist/charts/engine/locale.cjs.map +1 -0
  151. package/dist/charts/engine/locale.d.cts +33 -0
  152. package/dist/charts/engine/locale.d.ts +33 -0
  153. package/dist/charts/engine/locale.js +68 -0
  154. package/dist/charts/engine/locale.js.map +1 -0
  155. package/dist/charts/engine/model.cjs +1 -1
  156. package/dist/charts/engine/model.cjs.map +1 -1
  157. package/dist/charts/engine/model.d.cts +77 -2
  158. package/dist/charts/engine/model.d.ts +77 -2
  159. package/dist/charts/engine/model.js +304 -116
  160. package/dist/charts/engine/model.js.map +1 -1
  161. package/dist/charts/engine/orderbook/book.cjs +2 -0
  162. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  163. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  164. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  165. package/dist/charts/engine/orderbook/book.js +134 -0
  166. package/dist/charts/engine/orderbook/book.js.map +1 -0
  167. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  168. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  169. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  170. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  171. package/dist/charts/engine/orderbook/depth.js +413 -0
  172. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  173. package/dist/charts/engine/orderbook/format.cjs +2 -0
  174. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  175. package/dist/charts/engine/orderbook/format.d.cts +49 -0
  176. package/dist/charts/engine/orderbook/format.d.ts +49 -0
  177. package/dist/charts/engine/orderbook/format.js +65 -0
  178. package/dist/charts/engine/orderbook/format.js.map +1 -0
  179. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  180. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  181. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  182. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  183. package/dist/charts/engine/orderbook/heatmap.js +822 -0
  184. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  185. package/dist/charts/engine/orderbook/host.cjs +2 -0
  186. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  187. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  188. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  189. package/dist/charts/engine/orderbook/host.js +161 -0
  190. package/dist/charts/engine/orderbook/host.js.map +1 -0
  191. package/dist/charts/engine/orderbook/index.cjs +1 -0
  192. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  193. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  194. package/dist/charts/engine/orderbook/index.js +6 -0
  195. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  196. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  197. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  198. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  199. package/dist/charts/engine/orderbook/ladder.js +341 -0
  200. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  201. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  202. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  203. package/dist/charts/engine/orderbook/layout.d.cts +37 -0
  204. package/dist/charts/engine/orderbook/layout.d.ts +37 -0
  205. package/dist/charts/engine/orderbook/layout.js +70 -0
  206. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  207. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  208. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  209. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  210. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  211. package/dist/charts/engine/orderbook/tape.js +450 -0
  212. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  213. package/dist/charts/engine/orderbook/types.d.cts +751 -0
  214. package/dist/charts/engine/orderbook/types.d.ts +751 -0
  215. package/dist/charts/engine/overlay.cjs +1 -1
  216. package/dist/charts/engine/overlay.cjs.map +1 -1
  217. package/dist/charts/engine/overlay.d.cts +28 -2
  218. package/dist/charts/engine/overlay.d.ts +28 -2
  219. package/dist/charts/engine/overlay.js +138 -96
  220. package/dist/charts/engine/overlay.js.map +1 -1
  221. package/dist/charts/engine/presets.cjs +2 -2
  222. package/dist/charts/engine/presets.cjs.map +1 -1
  223. package/dist/charts/engine/presets.d.cts +273 -3
  224. package/dist/charts/engine/presets.d.ts +273 -3
  225. package/dist/charts/engine/presets.js +390 -38
  226. package/dist/charts/engine/presets.js.map +1 -1
  227. package/dist/charts/engine/renderers/detect.cjs +1 -1
  228. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  230. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  231. package/dist/charts/engine/renderers/detect.js +24 -19
  232. package/dist/charts/engine/renderers/detect.js.map +1 -1
  233. package/dist/charts/engine/renderers/gl.cjs +2 -0
  234. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  235. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  236. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  237. package/dist/charts/engine/renderers/gl.js +56 -0
  238. package/dist/charts/engine/renderers/gl.js.map +1 -0
  239. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  240. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  241. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  242. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  243. package/dist/charts/engine/renderers/shaders.js +139 -1
  244. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  246. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  247. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  248. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  249. package/dist/charts/engine/renderers/webgl.js +133 -0
  250. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  251. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  252. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  253. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  254. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  255. package/dist/charts/engine/renderers/webgl2.js +59 -108
  256. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  257. package/dist/charts/engine/scale.cjs +1 -1
  258. package/dist/charts/engine/scale.cjs.map +1 -1
  259. package/dist/charts/engine/scale.js +1 -1
  260. package/dist/charts/engine/scale.js.map +1 -1
  261. package/dist/charts/engine/scene.cjs +1 -1
  262. package/dist/charts/engine/scene.cjs.map +1 -1
  263. package/dist/charts/engine/scene.d.cts +71 -8
  264. package/dist/charts/engine/scene.d.ts +71 -8
  265. package/dist/charts/engine/scene.js +465 -183
  266. package/dist/charts/engine/scene.js.map +1 -1
  267. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  268. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  269. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  270. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  271. package/dist/charts/engine/shapes/bullet.js +255 -0
  272. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  273. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  274. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  275. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  276. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  277. package/dist/charts/engine/shapes/calendar.js +369 -0
  278. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  279. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  280. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  281. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  282. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  283. package/dist/charts/engine/shapes/canvas.js +22 -13
  284. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  285. package/dist/charts/engine/shapes/chart.cjs +1 -1
  286. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  287. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  288. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  289. package/dist/charts/engine/shapes/chart.js +49 -27
  290. package/dist/charts/engine/shapes/chart.js.map +1 -1
  291. package/dist/charts/engine/shapes/chord.cjs +2 -0
  292. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  293. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  294. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  295. package/dist/charts/engine/shapes/chord.js +414 -0
  296. package/dist/charts/engine/shapes/chord.js.map +1 -0
  297. package/dist/charts/engine/shapes/draw.cjs +1 -1
  298. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  299. package/dist/charts/engine/shapes/draw.d.cts +7 -1
  300. package/dist/charts/engine/shapes/draw.d.ts +7 -1
  301. package/dist/charts/engine/shapes/draw.js +62 -19
  302. package/dist/charts/engine/shapes/draw.js.map +1 -1
  303. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  304. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  305. package/dist/charts/engine/shapes/funnel.js +3 -3
  306. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  307. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  308. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  309. package/dist/charts/engine/shapes/gauge.js +132 -95
  310. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  311. package/dist/charts/engine/shapes/hit.cjs +1 -1
  312. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  313. package/dist/charts/engine/shapes/hit.d.cts +5 -1
  314. package/dist/charts/engine/shapes/hit.d.ts +5 -1
  315. package/dist/charts/engine/shapes/hit.js +89 -39
  316. package/dist/charts/engine/shapes/hit.js.map +1 -1
  317. package/dist/charts/engine/shapes/index.d.cts +6 -2
  318. package/dist/charts/engine/shapes/index.d.ts +6 -2
  319. package/dist/charts/engine/shapes/labels.cjs +2 -0
  320. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  321. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  322. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  323. package/dist/charts/engine/shapes/labels.js +154 -0
  324. package/dist/charts/engine/shapes/labels.js.map +1 -0
  325. package/dist/charts/engine/shapes/layout.cjs +2 -2
  326. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  327. package/dist/charts/engine/shapes/layout.d.cts +10 -3
  328. package/dist/charts/engine/shapes/layout.d.ts +10 -3
  329. package/dist/charts/engine/shapes/layout.js +239 -124
  330. package/dist/charts/engine/shapes/layout.js.map +1 -1
  331. package/dist/charts/engine/shapes/pie.cjs +1 -1
  332. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  333. package/dist/charts/engine/shapes/pie.js +2 -2
  334. package/dist/charts/engine/shapes/pie.js.map +1 -1
  335. package/dist/charts/engine/shapes/radar.cjs +1 -1
  336. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  337. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  338. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  339. package/dist/charts/engine/shapes/radar.js +50 -49
  340. package/dist/charts/engine/shapes/radar.js.map +1 -1
  341. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  342. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  343. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  344. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  345. package/dist/charts/engine/shapes/radialBar.js +155 -0
  346. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  347. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  348. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  349. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  350. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  351. package/dist/charts/engine/shapes/runtime.js +61 -51
  352. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  353. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  354. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  355. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  356. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  357. package/dist/charts/engine/shapes/sankey.js +372 -0
  358. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  359. package/dist/charts/engine/shapes/scene.cjs +1 -1
  360. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  361. package/dist/charts/engine/shapes/scene.d.cts +92 -8
  362. package/dist/charts/engine/shapes/scene.d.ts +92 -8
  363. package/dist/charts/engine/shapes/scene.js +76 -31
  364. package/dist/charts/engine/shapes/scene.js.map +1 -1
  365. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  366. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  367. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  368. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  369. package/dist/charts/engine/shapes/sunburst.js +261 -0
  370. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  371. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  372. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  373. package/dist/charts/engine/shapes/treemap.js +2 -2
  374. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  375. package/dist/charts/engine/shapes/types.d.cts +550 -12
  376. package/dist/charts/engine/shapes/types.d.ts +550 -12
  377. package/dist/charts/engine/signature.cjs +1 -1
  378. package/dist/charts/engine/signature.cjs.map +1 -1
  379. package/dist/charts/engine/signature.js +1 -1
  380. package/dist/charts/engine/signature.js.map +1 -1
  381. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  382. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  383. package/dist/charts/engine/three-d/canvas2d.d.cts +7 -0
  384. package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
  385. package/dist/charts/engine/three-d/canvas2d.js +128 -0
  386. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  387. package/dist/charts/engine/three-d/chart.cjs +2 -0
  388. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  389. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  390. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  391. package/dist/charts/engine/three-d/chart.js +621 -0
  392. package/dist/charts/engine/three-d/chart.js.map +1 -0
  393. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  394. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  395. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  396. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  397. package/dist/charts/engine/three-d/colormap.js +166 -0
  398. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  399. package/dist/charts/engine/three-d/contours.cjs +2 -0
  400. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  401. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  402. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  403. package/dist/charts/engine/three-d/contours.js +47 -0
  404. package/dist/charts/engine/three-d/contours.js.map +1 -0
  405. package/dist/charts/engine/three-d/detect.cjs +2 -0
  406. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  407. package/dist/charts/engine/three-d/detect.d.cts +12 -0
  408. package/dist/charts/engine/three-d/detect.d.ts +12 -0
  409. package/dist/charts/engine/three-d/detect.js +37 -0
  410. package/dist/charts/engine/three-d/detect.js.map +1 -0
  411. package/dist/charts/engine/three-d/dom.cjs +2 -0
  412. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  413. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  414. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  415. package/dist/charts/engine/three-d/dom.js +98 -0
  416. package/dist/charts/engine/three-d/dom.js.map +1 -0
  417. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  418. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  419. package/dist/charts/engine/three-d/geometry.d.cts +82 -0
  420. package/dist/charts/engine/three-d/geometry.d.ts +82 -0
  421. package/dist/charts/engine/three-d/geometry.js +545 -0
  422. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  423. package/dist/charts/engine/three-d/hover.cjs +2 -0
  424. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  425. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  426. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  427. package/dist/charts/engine/three-d/hover.js +131 -0
  428. package/dist/charts/engine/three-d/hover.js.map +1 -0
  429. package/dist/charts/engine/three-d/index.cjs +1 -0
  430. package/dist/charts/engine/three-d/index.d.cts +2 -0
  431. package/dist/charts/engine/three-d/index.d.ts +2 -0
  432. package/dist/charts/engine/three-d/index.js +2 -0
  433. package/dist/charts/engine/three-d/labels.cjs +2 -0
  434. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  436. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  437. package/dist/charts/engine/three-d/labels.js +136 -0
  438. package/dist/charts/engine/three-d/labels.js.map +1 -0
  439. package/dist/charts/engine/three-d/math.cjs +2 -0
  440. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/math.d.cts +84 -0
  442. package/dist/charts/engine/three-d/math.d.ts +84 -0
  443. package/dist/charts/engine/three-d/math.js +150 -0
  444. package/dist/charts/engine/three-d/math.js.map +1 -0
  445. package/dist/charts/engine/three-d/model.cjs +2 -0
  446. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  447. package/dist/charts/engine/three-d/model.d.cts +132 -0
  448. package/dist/charts/engine/three-d/model.d.ts +132 -0
  449. package/dist/charts/engine/three-d/model.js +279 -0
  450. package/dist/charts/engine/three-d/model.js.map +1 -0
  451. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  452. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  453. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  454. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  455. package/dist/charts/engine/three-d/overlay.js +204 -0
  456. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  457. package/dist/charts/engine/three-d/pick.cjs +2 -0
  458. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  459. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  460. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  461. package/dist/charts/engine/three-d/pick.js +220 -0
  462. package/dist/charts/engine/three-d/pick.js.map +1 -0
  463. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  464. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  465. package/dist/charts/engine/three-d/render-types.d.cts +103 -0
  466. package/dist/charts/engine/three-d/render-types.d.ts +103 -0
  467. package/dist/charts/engine/three-d/render-types.js +12 -0
  468. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  469. package/dist/charts/engine/three-d/shaders.cjs +311 -0
  470. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  471. package/dist/charts/engine/three-d/shaders.d.cts +25 -0
  472. package/dist/charts/engine/three-d/shaders.d.ts +25 -0
  473. package/dist/charts/engine/three-d/shaders.js +210 -0
  474. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  475. package/dist/charts/engine/three-d/sort.cjs +2 -0
  476. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  477. package/dist/charts/engine/three-d/sort.d.cts +29 -0
  478. package/dist/charts/engine/three-d/sort.d.ts +29 -0
  479. package/dist/charts/engine/three-d/sort.js +145 -0
  480. package/dist/charts/engine/three-d/sort.js.map +1 -0
  481. package/dist/charts/engine/three-d/types.d.cts +615 -0
  482. package/dist/charts/engine/three-d/types.d.ts +615 -0
  483. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  484. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  485. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  486. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  487. package/dist/charts/engine/three-d/webgl.js +132 -0
  488. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  489. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  490. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  491. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  492. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  493. package/dist/charts/engine/three-d/webgpu.js +260 -0
  494. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  495. package/dist/charts/engine/time.cjs +1 -1
  496. package/dist/charts/engine/time.cjs.map +1 -1
  497. package/dist/charts/engine/time.d.cts +13 -4
  498. package/dist/charts/engine/time.d.ts +13 -4
  499. package/dist/charts/engine/time.js +156 -91
  500. package/dist/charts/engine/time.js.map +1 -1
  501. package/dist/charts/engine/trading/chart.cjs +2 -0
  502. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  503. package/dist/charts/engine/trading/chart.d.cts +13 -0
  504. package/dist/charts/engine/trading/chart.d.ts +13 -0
  505. package/dist/charts/engine/trading/chart.js +2206 -0
  506. package/dist/charts/engine/trading/chart.js.map +1 -0
  507. package/dist/charts/engine/trading/drawings.cjs +3 -0
  508. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  509. package/dist/charts/engine/trading/drawings.d.cts +95 -0
  510. package/dist/charts/engine/trading/drawings.d.ts +95 -0
  511. package/dist/charts/engine/trading/drawings.js +423 -0
  512. package/dist/charts/engine/trading/drawings.js.map +1 -0
  513. package/dist/charts/engine/trading/format.cjs +2 -0
  514. package/dist/charts/engine/trading/format.cjs.map +1 -0
  515. package/dist/charts/engine/trading/format.d.cts +73 -0
  516. package/dist/charts/engine/trading/format.d.ts +73 -0
  517. package/dist/charts/engine/trading/format.js +163 -0
  518. package/dist/charts/engine/trading/format.js.map +1 -0
  519. package/dist/charts/engine/trading/geometry.cjs +2 -0
  520. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  521. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  522. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  523. package/dist/charts/engine/trading/geometry.js +131 -0
  524. package/dist/charts/engine/trading/geometry.js.map +1 -0
  525. package/dist/charts/engine/trading/index.cjs +1 -0
  526. package/dist/charts/engine/trading/index.d.cts +4 -0
  527. package/dist/charts/engine/trading/index.d.ts +4 -0
  528. package/dist/charts/engine/trading/index.js +4 -0
  529. package/dist/charts/engine/trading/indicators.cjs +2 -0
  530. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  531. package/dist/charts/engine/trading/indicators.d.cts +275 -0
  532. package/dist/charts/engine/trading/indicators.d.ts +275 -0
  533. package/dist/charts/engine/trading/indicators.js +544 -0
  534. package/dist/charts/engine/trading/indicators.js.map +1 -0
  535. package/dist/charts/engine/trading/labels.cjs +2 -0
  536. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  537. package/dist/charts/engine/trading/labels.d.cts +7 -0
  538. package/dist/charts/engine/trading/labels.d.ts +7 -0
  539. package/dist/charts/engine/trading/labels.js +171 -0
  540. package/dist/charts/engine/trading/labels.js.map +1 -0
  541. package/dist/charts/engine/trading/scale.cjs +2 -0
  542. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  543. package/dist/charts/engine/trading/scale.d.cts +46 -0
  544. package/dist/charts/engine/trading/scale.d.ts +46 -0
  545. package/dist/charts/engine/trading/scale.js +100 -0
  546. package/dist/charts/engine/trading/scale.js.map +1 -0
  547. package/dist/charts/engine/trading/store.cjs +2 -0
  548. package/dist/charts/engine/trading/store.cjs.map +1 -0
  549. package/dist/charts/engine/trading/store.d.cts +83 -0
  550. package/dist/charts/engine/trading/store.d.ts +83 -0
  551. package/dist/charts/engine/trading/store.js +150 -0
  552. package/dist/charts/engine/trading/store.js.map +1 -0
  553. package/dist/charts/engine/trading/studies.cjs +2 -0
  554. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  555. package/dist/charts/engine/trading/studies.d.cts +85 -0
  556. package/dist/charts/engine/trading/studies.d.ts +85 -0
  557. package/dist/charts/engine/trading/studies.js +510 -0
  558. package/dist/charts/engine/trading/studies.js.map +1 -0
  559. package/dist/charts/engine/trading/sync.cjs +2 -0
  560. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  561. package/dist/charts/engine/trading/sync.d.cts +8 -0
  562. package/dist/charts/engine/trading/sync.d.ts +8 -0
  563. package/dist/charts/engine/trading/sync.js +25 -0
  564. package/dist/charts/engine/trading/sync.js.map +1 -0
  565. package/dist/charts/engine/trading/types.d.cts +1131 -0
  566. package/dist/charts/engine/trading/types.d.ts +1131 -0
  567. package/dist/charts/engine/types.d.cts +247 -22
  568. package/dist/charts/engine/types.d.ts +247 -22
  569. package/dist/charts/index.cjs +1 -1
  570. package/dist/charts/index.d.cts +8 -4
  571. package/dist/charts/index.d.ts +8 -4
  572. package/dist/charts/index.js +30 -11
  573. package/dist/charts/react/Chart.cjs +1 -1
  574. package/dist/charts/react/Chart.cjs.map +1 -1
  575. package/dist/charts/react/Chart.d.cts +4 -4
  576. package/dist/charts/react/Chart.d.ts +4 -4
  577. package/dist/charts/react/Chart.js +5 -1
  578. package/dist/charts/react/Chart.js.map +1 -1
  579. package/dist/charts/react/charts.cjs +1 -1
  580. package/dist/charts/react/charts.cjs.map +1 -1
  581. package/dist/charts/react/charts.d.cts +39 -1
  582. package/dist/charts/react/charts.d.ts +39 -1
  583. package/dist/charts/react/charts.js +312 -128
  584. package/dist/charts/react/charts.js.map +1 -1
  585. package/dist/charts/react/graph.cjs +2 -0
  586. package/dist/charts/react/graph.cjs.map +1 -0
  587. package/dist/charts/react/graph.d.cts +213 -0
  588. package/dist/charts/react/graph.d.ts +213 -0
  589. package/dist/charts/react/graph.js +159 -0
  590. package/dist/charts/react/graph.js.map +1 -0
  591. package/dist/charts/react/orderbook.cjs +2 -0
  592. package/dist/charts/react/orderbook.cjs.map +1 -0
  593. package/dist/charts/react/orderbook.d.cts +142 -0
  594. package/dist/charts/react/orderbook.d.ts +142 -0
  595. package/dist/charts/react/orderbook.js +182 -0
  596. package/dist/charts/react/orderbook.js.map +1 -0
  597. package/dist/charts/react/shapes.cjs +1 -1
  598. package/dist/charts/react/shapes.cjs.map +1 -1
  599. package/dist/charts/react/shapes.d.cts +374 -9
  600. package/dist/charts/react/shapes.d.ts +374 -9
  601. package/dist/charts/react/shapes.js +323 -93
  602. package/dist/charts/react/shapes.js.map +1 -1
  603. package/dist/charts/react/three-d.cjs +2 -0
  604. package/dist/charts/react/three-d.cjs.map +1 -0
  605. package/dist/charts/react/three-d.d.cts +151 -0
  606. package/dist/charts/react/three-d.d.ts +151 -0
  607. package/dist/charts/react/three-d.js +154 -0
  608. package/dist/charts/react/three-d.js.map +1 -0
  609. package/dist/charts/react/trading.cjs +2 -0
  610. package/dist/charts/react/trading.cjs.map +1 -0
  611. package/dist/charts/react/trading.d.cts +145 -0
  612. package/dist/charts/react/trading.d.ts +145 -0
  613. package/dist/charts/react/trading.js +126 -0
  614. package/dist/charts/react/trading.js.map +1 -0
  615. package/dist/charts/react/types.d.cts +143 -8
  616. package/dist/charts/react/types.d.ts +143 -8
  617. package/dist/core/contracts.cjs +1 -1
  618. package/dist/core/contracts.cjs.map +1 -1
  619. package/dist/core/contracts.js +1 -1
  620. package/dist/core/contracts.js.map +1 -1
  621. package/dist/native/charts/src/canvas.cjs +1 -1
  622. package/dist/native/charts/src/canvas.js +9 -3
  623. package/dist/native/charts/src/engine/axis.cjs +1 -1
  624. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  625. package/dist/native/charts/src/engine/axis.js +43 -20
  626. package/dist/native/charts/src/engine/axis.js.map +1 -1
  627. package/dist/native/charts/src/engine/color.cjs +1 -1
  628. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/color.js +47 -5
  630. package/dist/native/charts/src/engine/color.js.map +1 -1
  631. package/dist/native/charts/src/engine/controller.cjs +2 -2
  632. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  633. package/dist/native/charts/src/engine/controller.js +415 -308
  634. package/dist/native/charts/src/engine/controller.js.map +1 -1
  635. package/dist/native/charts/src/engine/data.cjs +1 -1
  636. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  637. package/dist/native/charts/src/engine/data.js +65 -49
  638. package/dist/native/charts/src/engine/data.js.map +1 -1
  639. package/dist/native/charts/src/engine/format.cjs +1 -1
  640. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  641. package/dist/native/charts/src/engine/format.js +59 -21
  642. package/dist/native/charts/src/engine/format.js.map +1 -1
  643. package/dist/native/charts/src/engine/labels.cjs +2 -0
  644. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  645. package/dist/native/charts/src/engine/labels.js +98 -0
  646. package/dist/native/charts/src/engine/labels.js.map +1 -0
  647. package/dist/native/charts/src/engine/layout.cjs +1 -1
  648. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  649. package/dist/native/charts/src/engine/layout.js +62 -12
  650. package/dist/native/charts/src/engine/layout.js.map +1 -1
  651. package/dist/native/charts/src/engine/locale.cjs +2 -0
  652. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  653. package/dist/native/charts/src/engine/locale.js +60 -0
  654. package/dist/native/charts/src/engine/locale.js.map +1 -0
  655. package/dist/native/charts/src/engine/model.cjs +1 -1
  656. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  657. package/dist/native/charts/src/engine/model.js +307 -119
  658. package/dist/native/charts/src/engine/model.js.map +1 -1
  659. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  660. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  661. package/dist/native/charts/src/engine/overlay.js +46 -23
  662. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  663. package/dist/native/charts/src/engine/presets.cjs +2 -2
  664. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  665. package/dist/native/charts/src/engine/presets.js +470 -41
  666. package/dist/native/charts/src/engine/presets.js.map +1 -1
  667. package/dist/native/charts/src/engine/scale.cjs +1 -1
  668. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  669. package/dist/native/charts/src/engine/scale.js +1 -1
  670. package/dist/native/charts/src/engine/scale.js.map +1 -1
  671. package/dist/native/charts/src/engine/scene.cjs +1 -1
  672. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  673. package/dist/native/charts/src/engine/scene.js +489 -207
  674. package/dist/native/charts/src/engine/scene.js.map +1 -1
  675. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  676. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  678. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  680. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/calendar.js +369 -0
  682. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  684. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  685. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  686. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  687. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  688. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  689. package/dist/native/charts/src/engine/shapes/chord.js +414 -0
  690. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  691. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  692. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  693. package/dist/native/charts/src/engine/shapes/draw.js +195 -0
  694. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  695. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  696. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  697. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  698. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  699. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  700. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  701. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  702. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  703. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  704. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  705. package/dist/native/charts/src/engine/shapes/hit.js +135 -0
  706. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  707. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  708. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  709. package/dist/native/charts/src/engine/shapes/labels.js +154 -0
  710. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  711. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  712. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  713. package/dist/native/charts/src/engine/shapes/layout.js +358 -0
  714. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  715. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  716. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  717. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  718. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  719. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  720. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  721. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  722. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  723. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  724. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  725. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  726. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  727. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  728. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  729. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  730. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  731. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  732. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  733. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  734. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  735. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  736. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  737. package/dist/native/charts/src/engine/shapes/scene.js +168 -0
  738. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  739. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  740. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  741. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  742. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  743. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  744. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  745. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  746. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  747. package/dist/native/charts/src/engine/time.cjs +1 -1
  748. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  749. package/dist/native/charts/src/engine/time.js +156 -91
  750. package/dist/native/charts/src/engine/time.js.map +1 -1
  751. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  752. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  753. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  754. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  755. package/dist/native/components/Chart/ChartBase.js +110 -107
  756. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  757. package/dist/native/components/Chart/charts.cjs +1 -1
  758. package/dist/native/components/Chart/charts.cjs.map +1 -1
  759. package/dist/native/components/Chart/charts.d.cts +6 -1
  760. package/dist/native/components/Chart/charts.d.ts +6 -1
  761. package/dist/native/components/Chart/charts.js +53 -29
  762. package/dist/native/components/Chart/charts.js.map +1 -1
  763. package/dist/native/components/Chart/index.cjs +1 -1
  764. package/dist/native/components/Chart/index.d.cts +1 -1
  765. package/dist/native/components/Chart/index.d.ts +1 -1
  766. package/dist/native/components/Chart/index.js +2 -2
  767. package/dist/native/components/Chart/scene.cjs +1 -1
  768. package/dist/native/components/Chart/scene.cjs.map +1 -1
  769. package/dist/native/components/Chart/scene.js +315 -229
  770. package/dist/native/components/Chart/scene.js.map +1 -1
  771. package/dist/native/components/Chart/types.d.cts +26 -3
  772. package/dist/native/components/Chart/types.d.ts +26 -3
  773. package/dist/native/components/Charts/charts.cjs +2 -0
  774. package/dist/native/components/Charts/charts.cjs.map +1 -0
  775. package/dist/native/components/Charts/charts.d.cts +41 -0
  776. package/dist/native/components/Charts/charts.d.ts +41 -0
  777. package/dist/native/components/Charts/charts.js +350 -0
  778. package/dist/native/components/Charts/charts.js.map +1 -0
  779. package/dist/native/components/Charts/index.cjs +1 -0
  780. package/dist/native/components/Charts/index.d.cts +2 -0
  781. package/dist/native/components/Charts/index.d.ts +2 -0
  782. package/dist/native/components/Charts/index.js +2 -0
  783. package/dist/native/components/Charts/types.d.cts +155 -0
  784. package/dist/native/components/Charts/types.d.ts +155 -0
  785. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  786. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  787. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  788. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  789. package/dist/native/components/ShapeChart/ShapeChartBase.js +272 -0
  790. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  791. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  792. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  793. package/dist/native/components/ShapeChart/charts.d.cts +43 -0
  794. package/dist/native/components/ShapeChart/charts.d.ts +43 -0
  795. package/dist/native/components/ShapeChart/charts.js +429 -0
  796. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  797. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  798. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  799. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  800. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  801. package/dist/native/components/ShapeChart/draw.js +113 -0
  802. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  803. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  804. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  805. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  806. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  807. package/dist/native/components/ShapeChart/geometry.js +681 -0
  808. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  809. package/dist/native/components/ShapeChart/index.cjs +1 -0
  810. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  811. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  812. package/dist/native/components/ShapeChart/index.js +2 -0
  813. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  814. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  815. package/dist/native/components/ShapeChart/recorder.d.cts +115 -0
  816. package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
  817. package/dist/native/components/ShapeChart/recorder.js +583 -0
  818. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  819. package/dist/native/components/ShapeChart/types.d.cts +594 -0
  820. package/dist/native/components/ShapeChart/types.d.ts +594 -0
  821. package/dist/native/index.cjs +1 -1
  822. package/dist/native/index.d.cts +2 -0
  823. package/dist/native/index.d.ts +2 -0
  824. package/dist/native/index.js +14 -10
  825. package/dist/native/manifest.d.cts +6 -4
  826. package/dist/native/manifest.d.ts +6 -4
  827. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  828. package/dist/native/source/components/Chart/charts.tsx +42 -6
  829. package/dist/native/source/components/Chart/index.ts +1 -0
  830. package/dist/native/source/components/Chart/scene.tsx +312 -98
  831. package/dist/native/source/components/Chart/types.ts +31 -1
  832. package/dist/native/source/components/Charts/charts.tsx +521 -0
  833. package/dist/native/source/components/Charts/index.ts +14 -0
  834. package/dist/native/source/components/Charts/types.ts +218 -0
  835. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
  836. package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
  837. package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
  838. package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
  839. package/dist/native/source/components/ShapeChart/index.ts +16 -0
  840. package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
  841. package/dist/native/source/components/ShapeChart/types.ts +655 -0
  842. package/dist/native/source/index.ts +2 -0
  843. package/dist/native/source/manifest.ts +31 -4
  844. package/dist/taro/charts.d.ts +229 -4
  845. package/dist/taro/index.d.ts +1 -0
  846. package/dist/taro/index.js +8818 -2093
  847. package/dist/taro/manifest.d.ts +1 -0
  848. package/dist/taro/shape-charts.d.ts +629 -0
  849. package/dist/uni/AreaChart.vue +68 -0
  850. package/dist/uni/AreaChart.vue.d.ts +124 -0
  851. package/dist/uni/Badge.vue.d.ts +1 -1
  852. package/dist/uni/BarChart.vue.d.ts +5 -1
  853. package/dist/uni/BoxPlotChart.vue +66 -0
  854. package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
  855. package/dist/uni/BubbleChart.vue +68 -0
  856. package/dist/uni/BubbleChart.vue.d.ts +110 -0
  857. package/dist/uni/BulletChart.vue +86 -0
  858. package/dist/uni/BulletChart.vue.d.ts +114 -0
  859. package/dist/uni/CalendarHeatmap.vue +92 -0
  860. package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
  861. package/dist/uni/CandlestickChart.vue +66 -0
  862. package/dist/uni/CandlestickChart.vue.d.ts +104 -0
  863. package/dist/uni/Chart.vue.d.ts +4 -0
  864. package/dist/uni/ChordChart.vue +93 -0
  865. package/dist/uni/ChordChart.vue.d.ts +136 -0
  866. package/dist/uni/DonutChart.vue +72 -0
  867. package/dist/uni/DonutChart.vue.d.ts +118 -0
  868. package/dist/uni/FunnelChart.vue +67 -0
  869. package/dist/uni/FunnelChart.vue.d.ts +108 -0
  870. package/dist/uni/GanttChart.vue +67 -0
  871. package/dist/uni/GanttChart.vue.d.ts +127 -0
  872. package/dist/uni/GaugeChart.vue +77 -0
  873. package/dist/uni/GaugeChart.vue.d.ts +127 -0
  874. package/dist/uni/HeatmapChart.vue +66 -0
  875. package/dist/uni/HeatmapChart.vue.d.ts +120 -0
  876. package/dist/uni/HistogramChart.vue +66 -0
  877. package/dist/uni/HistogramChart.vue.d.ts +125 -0
  878. package/dist/uni/HorizontalBarChart.vue +68 -0
  879. package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
  880. package/dist/uni/Input.vue.d.ts +1 -1
  881. package/dist/uni/LineChart.vue.d.ts +4 -0
  882. package/dist/uni/MixedChart.vue +68 -0
  883. package/dist/uni/MixedChart.vue.d.ts +110 -0
  884. package/dist/uni/NumberInput.vue.d.ts +1 -1
  885. package/dist/uni/PieChart.vue +72 -0
  886. package/dist/uni/PieChart.vue.d.ts +118 -0
  887. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  888. package/dist/uni/RadarChart.vue +67 -0
  889. package/dist/uni/RadarChart.vue.d.ts +114 -0
  890. package/dist/uni/RadialBarChart.vue +90 -0
  891. package/dist/uni/RadialBarChart.vue.d.ts +136 -0
  892. package/dist/uni/RangeAreaChart.vue +68 -0
  893. package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
  894. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  895. package/dist/uni/SankeyChart.vue +88 -0
  896. package/dist/uni/SankeyChart.vue.d.ts +125 -0
  897. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  898. package/dist/uni/ShapeChart.vue +73 -0
  899. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  900. package/dist/uni/Sparkline.vue +58 -0
  901. package/dist/uni/Sparkline.vue.d.ts +81 -0
  902. package/dist/uni/SunburstChart.vue +90 -0
  903. package/dist/uni/SunburstChart.vue.d.ts +118 -0
  904. package/dist/uni/Textarea.vue.d.ts +1 -1
  905. package/dist/uni/TimePicker.vue.d.ts +1 -1
  906. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  907. package/dist/uni/TreemapChart.vue +65 -0
  908. package/dist/uni/TreemapChart.vue.d.ts +104 -0
  909. package/dist/uni/WaterfallChart.vue +66 -0
  910. package/dist/uni/WaterfallChart.vue.d.ts +134 -0
  911. package/dist/uni/chart-canvas.d.ts +3 -0
  912. package/dist/uni/chart-canvas.js +4 -0
  913. package/dist/uni/chart-types.d.ts +240 -2
  914. package/dist/uni/chart-types.js +198 -0
  915. package/dist/uni/charts-canvas.js +8 -3
  916. package/dist/uni/index.d.ts +27 -1
  917. package/dist/uni/index.js +27 -1
  918. package/dist/uni/manifest.d.ts +279 -0
  919. package/dist/uni/manifest.js +397 -0
  920. package/dist/uni/named-chart-options.d.ts +95 -0
  921. package/dist/uni/named-chart-options.js +173 -0
  922. package/dist/uni/shape-chart-canvas.d.ts +53 -0
  923. package/dist/uni/shape-chart-canvas.js +333 -0
  924. package/dist/uni/shape-chart-types.d.ts +431 -0
  925. package/dist/uni/shape-chart-types.js +305 -0
  926. package/dist/vue/charts-global.d.ts +48 -0
  927. package/dist/vue/charts.d.ts +18 -0
  928. package/dist/vue/charts.js +56 -0
  929. package/dist/vue/charts.js.map +1 -0
  930. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  931. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  932. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  933. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  934. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  935. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  936. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  937. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  938. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  939. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  940. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  941. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  942. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  943. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  944. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  945. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +120 -0
  946. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  947. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  948. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +63 -0
  949. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  950. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  951. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  952. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  953. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  954. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  955. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  956. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  957. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  958. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  959. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  960. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  961. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  962. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  963. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  964. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  965. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  966. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  967. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  968. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  969. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  970. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  971. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  972. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  973. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  974. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  975. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  976. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  977. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  978. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  979. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  980. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
  981. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  982. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  983. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  984. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  985. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  986. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  987. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  988. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  989. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  990. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  991. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  992. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  993. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  994. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  995. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  996. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  997. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  998. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  999. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1000. package/dist/vue/components/Chart/GanttChart.vue.d.ts +136 -0
  1001. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  1002. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  1003. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1004. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1005. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  1006. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  1007. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  1008. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1009. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1010. package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
  1011. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  1012. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  1013. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  1014. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1015. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -0
  1016. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  1017. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  1018. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +67 -0
  1019. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1020. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  1021. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  1022. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  1023. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  1024. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1025. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  1026. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  1027. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  1028. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  1029. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1030. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  1031. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  1032. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  1033. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1034. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1035. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  1036. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  1037. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  1038. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  1039. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1040. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  1041. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  1042. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  1043. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1044. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1045. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  1046. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  1047. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  1048. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  1049. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1050. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +130 -0
  1051. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  1052. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  1053. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  1054. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1055. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  1056. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  1057. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  1058. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  1059. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1060. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  1061. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  1062. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  1063. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  1064. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1065. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  1066. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  1067. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  1068. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  1069. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1070. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  1071. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  1072. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  1073. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  1074. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1075. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  1076. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  1077. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  1078. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  1079. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1080. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  1081. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  1082. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  1083. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1084. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1085. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  1086. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  1087. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  1088. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1089. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1090. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1091. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1092. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1093. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1094. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1095. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1096. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1097. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1098. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1099. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1100. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1101. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1102. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1103. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1104. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1105. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1106. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1107. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1108. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1109. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1110. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1111. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1112. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1113. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1114. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1115. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +116 -0
  1116. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1117. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1118. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1119. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1120. package/dist/vue/components/Chart/TradingChart.vue.d.ts +208 -0
  1121. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1122. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1123. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1124. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1125. package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
  1126. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  1127. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  1128. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  1129. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1130. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1131. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1132. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1133. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1134. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1135. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +143 -0
  1136. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1137. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1138. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +74 -0
  1139. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1140. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1141. package/dist/vue/components/Chart/cartesian.js +56 -0
  1142. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1143. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1144. package/dist/vue/components/Chart/engine.js +35 -0
  1145. package/dist/vue/components/Chart/engine.js.map +1 -0
  1146. package/dist/vue/components/Chart/graph.d.ts +153 -0
  1147. package/dist/vue/components/Chart/graph.js +135 -0
  1148. package/dist/vue/components/Chart/graph.js.map +1 -0
  1149. package/dist/vue/components/Chart/index.d.ts +45 -0
  1150. package/dist/vue/components/Chart/index.js +44 -0
  1151. package/dist/vue/components/Chart/orderbook.d.ts +363 -0
  1152. package/dist/vue/components/Chart/orderbook.js +128 -0
  1153. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1154. package/dist/vue/components/Chart/props.d.ts +188 -0
  1155. package/dist/vue/components/Chart/props.js +92 -0
  1156. package/dist/vue/components/Chart/props.js.map +1 -0
  1157. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1158. package/dist/vue/components/Chart/shape.js +42 -0
  1159. package/dist/vue/components/Chart/shape.js.map +1 -0
  1160. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1161. package/dist/vue/components/Chart/three-d.js +88 -0
  1162. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1163. package/dist/vue/components/Chart/trading.d.ts +127 -0
  1164. package/dist/vue/components/Chart/trading.js +63 -0
  1165. package/dist/vue/components/Chart/trading.js.map +1 -0
  1166. package/dist/vue/components/Chart/types.d.ts +209 -0
  1167. package/dist/vue/global.d.ts +2 -0
  1168. package/dist/vue/groups/charts.d.ts +1 -0
  1169. package/dist/vue/groups/charts.js +95 -0
  1170. package/dist/vue/groups/charts.js.map +1 -0
  1171. package/dist/vue/index.d.ts +1 -0
  1172. package/dist/vue/index.js +67 -23
  1173. package/dist/vue/internal/register.d.ts +7 -0
  1174. package/dist/vue/internal/register.js +14 -0
  1175. package/dist/vue/internal/register.js.map +1 -0
  1176. package/dist/vue/plugin.d.ts +9 -4
  1177. package/dist/vue/plugin.js +7 -10
  1178. package/dist/vue/plugin.js.map +1 -1
  1179. package/dist/weapp/area-chart/index.js +1 -0
  1180. package/dist/weapp/area-chart/index.json +1 -0
  1181. package/dist/weapp/area-chart/index.wxml +1 -0
  1182. package/dist/weapp/area-chart/index.wxss +1 -0
  1183. package/dist/weapp/box-plot-chart/index.js +1 -0
  1184. package/dist/weapp/box-plot-chart/index.json +1 -0
  1185. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1186. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1187. package/dist/weapp/bubble-chart/index.js +1 -0
  1188. package/dist/weapp/bubble-chart/index.json +1 -0
  1189. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1190. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1191. package/dist/weapp/bullet-chart/index.js +1 -0
  1192. package/dist/weapp/bullet-chart/index.json +1 -0
  1193. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1194. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1195. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1196. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1197. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1198. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1199. package/dist/weapp/candlestick-chart/index.js +1 -0
  1200. package/dist/weapp/candlestick-chart/index.json +1 -0
  1201. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1202. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1203. package/dist/weapp/charts/canvas.js +12976 -0
  1204. package/dist/weapp/charts/core.d.ts +2 -0
  1205. package/dist/weapp/charts/core.js +42 -0
  1206. package/dist/weapp/chord-chart/index.js +1 -0
  1207. package/dist/weapp/chord-chart/index.json +1 -0
  1208. package/dist/weapp/chord-chart/index.wxml +1 -0
  1209. package/dist/weapp/chord-chart/index.wxss +1 -0
  1210. package/dist/weapp/controls.js +1495 -4480
  1211. package/dist/weapp/donut-chart/index.js +1 -0
  1212. package/dist/weapp/donut-chart/index.json +1 -0
  1213. package/dist/weapp/donut-chart/index.wxml +1 -0
  1214. package/dist/weapp/donut-chart/index.wxss +1 -0
  1215. package/dist/weapp/funnel-chart/index.js +1 -0
  1216. package/dist/weapp/funnel-chart/index.json +1 -0
  1217. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1218. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1219. package/dist/weapp/gantt-chart/index.js +1 -0
  1220. package/dist/weapp/gantt-chart/index.json +1 -0
  1221. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1222. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1223. package/dist/weapp/gauge-chart/index.js +1 -0
  1224. package/dist/weapp/gauge-chart/index.json +1 -0
  1225. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1226. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1227. package/dist/weapp/heatmap-chart/index.js +1 -0
  1228. package/dist/weapp/heatmap-chart/index.json +1 -0
  1229. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1230. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1231. package/dist/weapp/histogram-chart/index.js +1 -0
  1232. package/dist/weapp/histogram-chart/index.json +1 -0
  1233. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1234. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1235. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1236. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1237. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1238. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1239. package/dist/weapp/mixed-chart/index.js +1 -0
  1240. package/dist/weapp/mixed-chart/index.json +1 -0
  1241. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1242. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1243. package/dist/weapp/pie-chart/index.js +1 -0
  1244. package/dist/weapp/pie-chart/index.json +1 -0
  1245. package/dist/weapp/pie-chart/index.wxml +1 -0
  1246. package/dist/weapp/pie-chart/index.wxss +1 -0
  1247. package/dist/weapp/radar-chart/index.js +1 -0
  1248. package/dist/weapp/radar-chart/index.json +1 -0
  1249. package/dist/weapp/radar-chart/index.wxml +1 -0
  1250. package/dist/weapp/radar-chart/index.wxss +1 -0
  1251. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1252. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1253. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1254. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1255. package/dist/weapp/range-area-chart/index.js +1 -0
  1256. package/dist/weapp/range-area-chart/index.json +1 -0
  1257. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1258. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1259. package/dist/weapp/sankey-chart/index.js +1 -0
  1260. package/dist/weapp/sankey-chart/index.json +1 -0
  1261. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1262. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1263. package/dist/weapp/shape-chart/index.js +1 -0
  1264. package/dist/weapp/shape-chart/index.json +1 -0
  1265. package/dist/weapp/shape-chart/index.wxml +1 -0
  1266. package/dist/weapp/shape-chart/index.wxss +1 -0
  1267. package/dist/weapp/sparkline/index.js +1 -0
  1268. package/dist/weapp/sparkline/index.json +1 -0
  1269. package/dist/weapp/sparkline/index.wxml +1 -0
  1270. package/dist/weapp/sparkline/index.wxss +1 -0
  1271. package/dist/weapp/sunburst-chart/index.js +1 -0
  1272. package/dist/weapp/sunburst-chart/index.json +1 -0
  1273. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1274. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1275. package/dist/weapp/treemap-chart/index.js +1 -0
  1276. package/dist/weapp/treemap-chart/index.json +1 -0
  1277. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1278. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1279. package/dist/weapp/types.d.ts +549 -0
  1280. package/dist/weapp/waterfall-chart/index.js +1 -0
  1281. package/dist/weapp/waterfall-chart/index.json +1 -0
  1282. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1283. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1284. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1285. package/dist/web-components/components/chart/chart.js +55 -0
  1286. package/dist/web-components/components/chart/chart.js.map +1 -0
  1287. package/dist/web-components/components/chart/charts.d.ts +254 -0
  1288. package/dist/web-components/components/chart/charts.js +208 -0
  1289. package/dist/web-components/components/chart/charts.js.map +1 -0
  1290. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1291. package/dist/web-components/components/chart/engine-element.js +77 -0
  1292. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1293. package/dist/web-components/components/chart/extended.d.ts +234 -0
  1294. package/dist/web-components/components/chart/extended.js +197 -0
  1295. package/dist/web-components/components/chart/extended.js.map +1 -0
  1296. package/dist/web-components/components/chart/series.d.ts +7 -0
  1297. package/dist/web-components/components/chart/series.js +14 -0
  1298. package/dist/web-components/components/chart/series.js.map +1 -0
  1299. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1300. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1301. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1302. package/dist/web-components/components/chart/shapes-extended.d.ts +198 -0
  1303. package/dist/web-components/components/chart/shapes-extended.js +182 -0
  1304. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1305. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1306. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1307. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1308. package/dist/web-components/components/graph/graph.d.ts +154 -0
  1309. package/dist/web-components/components/graph/graph.js +149 -0
  1310. package/dist/web-components/components/graph/graph.js.map +1 -0
  1311. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1312. package/dist/web-components/components/order-book/order-book.js +174 -0
  1313. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1314. package/dist/web-components/components/trading-chart/trading-chart.d.ts +143 -0
  1315. package/dist/web-components/components/trading-chart/trading-chart.js +158 -0
  1316. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1317. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1318. package/dist/web-components/elements/chart-3d.js +13 -0
  1319. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1320. package/dist/web-components/elements/chart.d.ts +7 -0
  1321. package/dist/web-components/elements/chart.js +44 -0
  1322. package/dist/web-components/elements/chart.js.map +1 -0
  1323. package/dist/web-components/elements/graph.d.ts +2 -0
  1324. package/dist/web-components/elements/graph.js +12 -0
  1325. package/dist/web-components/elements/graph.js.map +1 -0
  1326. package/dist/web-components/elements/order-book.d.ts +2 -0
  1327. package/dist/web-components/elements/order-book.js +13 -0
  1328. package/dist/web-components/elements/order-book.js.map +1 -0
  1329. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1330. package/dist/web-components/elements/trading-chart.js +8 -0
  1331. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1332. package/dist/web-components/html-custom-data.json +1470 -38
  1333. package/dist/web-components/types/react.d.ts +494 -0
  1334. package/dist/web-components/types/solid.d.ts +368 -0
  1335. package/dist/web-components/types/svelte.d.ts +368 -0
  1336. package/dist/web-components/types/vue.d.ts +410 -0
  1337. package/package.json +128 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"heatmap.cjs","names":["createOrderBookStore","createEmitter","createFormatters","createHost","localeLabels","sideColors","luminance","mixOklab","oklabRamp","decimalsOf","inferPriceDecimals","inferSizeDecimals","inferTickSize","roundToStep","toCss","clamp","fontOf","niceCeil","fitTimeRange","fitPriceRange","ease","linearTicks","timeTicks","formatClock","layoutAxisLabels","createRenderer","localPoint","require_color","require_locale","require_scale","require_detect","require_time","require_book","require_format","require_host","require_layout","CHUNK","LUT_SIZE","DARK_RAMP","LIGHT_RAMP","TAG_HEIGHT","BUBBLE_SPACING","LABELS","heatIntensity","size","max","r","contrast","scale","createOrderBookHeatmap","options","initial","store","emitter","fmt","colors","lut","floor","dark","tick","columns","seq","openStart","open","lastTrade","dataTime","dataWall","scaleMax","bubbleRef","profileMax","chunks","dirtyChunks","itemVersion","headItem","headVersion","origin","renderer","rendererToken","destroyed","resolveReady","ready","resolve","follow","windowSpan","viewX","viewY","viewYReady","yTarget","ySpan","shownTime","lastFrame","plot","hoverAt","hoverKey","drag","host","container","refreshColors","markAllDirty","root","texts","labels","applyTexts","interval","history","depth","nowTime","elapsed","perfNow","theme","c","value","background","refreshFormat","id","clearHistory","ensureTick","base","mid","ratio","multiple","p","m","sampleBook","limit","bins","sizes","n","top","side","count","rows","i","bin","s","b","a","closeColumn","column","start","recent","sum","target","oldest","drop","first","advance","time","step","noteTime","columnAt","lo","hi","ensureOrigin","intensityIndex","cellsItem","list","instances","f","u","k","half","x","level","price","chunkItems","byChunk","visibleColumns","out","tradeBubbles","columnPx","group","t0","t1","flush","add","g","flow","visible","clipPlot","ctx","drawBest","steps","t","bid","ask","xa","xOf","ya","yOf","index","color","pen","row","y","xb","drawBubbles","bubbles","ref","maxD","sized","fontSize","text","drawProfile","y0","y1","rowPx","maxSize","sides","levels","left","px","inner","profileW","gap","height","w","best","tw","headCells","version","hoverCell","hx","hy","x0","x1","rowPrice","drawTag","maxWidth","align","filled","draw","dt","now","l","width","regular","bold","live","clock","dpr","sample","axisW","timeH","right","minSpan","fixed","floorCss","canvas","bw","bh","items","head","xScale","yScale","yTicks","xt","cell","hoverTime","hoverHalf","last","pins","shownPins","hoverY","layout","at","pin","drawHover","fresh","bestBid","bestAsk","buyVolume","sellVolume","lv","ry","cx0","cx1","cy0","cy1","timeText","sideColor","doc","key","event","initRenderer","token","next","kind","exclude","setFollow","clampTime","range","span","onPointerDown","onPointerMove","dx","dy","tx","ty","onPointerUp","onPointerLeave","zoomTime","factor","anchorX","zoomPrice","onWheel","onDoubleClick","instance","onKeyDown","d","applyOne","delta","snapshot","deltas","trades","trade","previous","handler"],"sources":["../../../../../charts/src/engine/orderbook/heatmap.ts"],"sourcesContent":["// createOrderBookHeatmap: Bookmap-style liquidity heatmap. The book is\n// sampled every `interval` ms into a column of price rows; columns are\n// drawn by the GPU renderers of the chart engine as bar instances (one per\n// cell), in chunks of CHUNK columns uploaded once, so streaming costs one\n// small chunk per column, over a solid \"floor\" color (the coldest end of\n// the ramp). The best bid / ask step lines, the spread band, the trade\n// bubbles, the grid, the axes, the book profile, the crosshair and the\n// tooltip are drawn on a Canvas2D layer above.\n\nimport { luminance, mixOklab, oklabRamp, toCss, type Rgba } from \"../color\";\nimport { createRenderer } from \"../renderers/detect\";\nimport {\n BAR_STRIDE,\n type BarItem,\n type ChartRenderer,\n type RenderItem,\n} from \"../renderers/types\";\nimport { linearTicks } from \"../scale\";\nimport { timeTicks } from \"../time\";\nimport type { ChartRendererKind } from \"../types\";\nimport {\n createOrderBookStore,\n decimalsOf,\n inferPriceDecimals,\n inferSizeDecimals,\n inferTickSize,\n roundToStep,\n} from \"./book\";\nimport {\n clamp,\n createFormatters,\n ease,\n fontOf,\n formatClock,\n roundRect,\n sideColors,\n type Formatters,\n} from \"./format\";\nimport { localeLabels, type LabelDictionary } from \"../locale\";\nimport { createEmitter, createHost, localPoint, tooltipHtml } from \"./host\";\nimport {\n fitPriceRange,\n fitTimeRange,\n layoutAxisLabels,\n niceCeil,\n type AxisLabel,\n} from \"./layout\";\nimport type {\n OrderBookDelta,\n OrderBookHeatmapEventMap,\n OrderBookHeatmapHoverEvent,\n OrderBookHeatmapInstance,\n OrderBookHeatmapLabels,\n OrderBookHeatmapOptions,\n OrderBookHeatmapScale,\n OrderBookSide,\n MarketTrade,\n} from \"./types\";\n\n/** Columns per GPU chunk */\nconst CHUNK = 32;\n/** Colors of the ramp lookup table */\nconst LUT_SIZE = 128;\n\n/**\n * Heat ramps after the floor color, interpolated in OKLab. Dark: lightness\n * rises from deep blue through cyan and green to yellow, then the hottest\n * walls turn orange / red (the Bookmap convention). Light: lightness falls\n * from pale blue through blue and violet to crimson.\n */\nconst DARK_RAMP = [\n \"#0b2140\",\n \"#0f3a70\",\n \"#1259a3\",\n \"#1585bd\",\n \"#1fb3b0\",\n \"#62cf73\",\n \"#d9e04a\",\n \"#ffb23a\",\n \"#ff6a33\",\n];\nconst LIGHT_RAMP = [\n \"#dfecfb\",\n \"#b3d2f5\",\n \"#79abe8\",\n \"#4580d6\",\n \"#3b54b8\",\n \"#5a33a0\",\n \"#962a86\",\n \"#cf2f55\",\n];\n/** Height of the price tags of the axis, in pixels */\nconst TAG_HEIGHT = 16;\n/** Smallest distance between two trade bubbles' columns, in pixels */\nconst BUBBLE_SPACING = 6;\n\nconst LABELS: LabelDictionary<OrderBookHeatmapLabels> = {\n en: {\n time: \"Time\",\n price: \"Price\",\n liquidity: \"Liquidity\",\n buys: \"Buys\",\n sells: \"Sells\",\n bid: \"Bid\",\n ask: \"Ask\",\n name: \"Liquidity heatmap\",\n },\n zh: {\n time: \"时间\",\n price: \"价格\",\n liquidity: \"挂单量\",\n buys: \"主动买入\",\n sells: \"主动卖出\",\n bid: \"买一\",\n ask: \"卖一\",\n name: \"订单簿热力图\",\n },\n ja: {\n time: \"時刻\",\n price: \"価格\",\n liquidity: \"指値量\",\n buys: \"買い約定\",\n sells: \"売り約定\",\n bid: \"最良買気配\",\n ask: \"最良売気配\",\n name: \"板ヒートマップ\",\n },\n fr: {\n time: \"Heure\",\n price: \"Prix\",\n liquidity: \"Liquidité\",\n buys: \"Achats\",\n sells: \"Ventes\",\n bid: \"Meilleur achat\",\n ask: \"Meilleure vente\",\n name: \"Carte de chaleur de la liquidité\",\n },\n};\n\ninterface Column {\n /** Sequence number (chunk = seq / CHUNK) */\n seq: number;\n /** Start time */\n time: number;\n /** Price rows (price / tick, rounded) */\n bins: Float64Array;\n sizes: Float32Array;\n bestBid: number;\n bestAsk: number;\n buyVolume: number;\n buyNotional: number;\n sellVolume: number;\n sellNotional: number;\n /** A robust \"large\" size of the column (4th largest), for the auto scale */\n reference: number;\n}\n\n/** Normalized intensity (0-1) of a size */\nexport const heatIntensity = (\n size: number,\n max: number,\n scale: OrderBookHeatmapScale,\n contrast: number,\n): number => {\n if (!(size > 0) || !(max > 0)) return 0;\n const r = Math.min(1, (size * contrast) / max);\n switch (scale) {\n case \"linear\":\n return r;\n case \"sqrt\":\n return Math.sqrt(r);\n default:\n // one decade: a tenth of the hottest size is a fifth of the ramp\n return Math.log10(1 + 9 * r);\n }\n};\n\n/**\n * Creates a liquidity heatmap in `container`: resting size over time and\n * price on the GPU, trades as bubbles, best bid / ask lines, the current\n * book profile, zoom / pan and a crosshair tooltip.\n */\nexport const createOrderBookHeatmap = (\n container: HTMLElement,\n initial: OrderBookHeatmapOptions = {},\n): OrderBookHeatmapInstance => {\n let options = initial;\n const store = createOrderBookStore();\n const emitter = createEmitter<OrderBookHeatmapEventMap>();\n let fmt: Formatters = createFormatters(options, 2, 4);\n let colors = { up: [0, 0, 0, 1] as Rgba, down: [0, 0, 0, 1] as Rgba };\n let lut: Uint32Array = new Uint32Array(LUT_SIZE);\n /** Color under the cells (no liquidity) */\n let floor: Rgba = [0, 0, 0, 1];\n let dark = false;\n\n let tick = 0;\n let columns: Column[] = [];\n let seq = 0;\n /** Start of the open column (the live book), NaN before the first data */\n let openStart = NaN;\n const open = { buyVolume: 0, buyNotional: 0, sellVolume: 0, sellNotional: 0 };\n let lastTrade: MarketTrade | null = null;\n\n /** Time source: exchange times once any is given, the local clock otherwise */\n let dataTime = NaN;\n let dataWall = 0;\n\n let scaleMax = 0;\n let bubbleRef = 0;\n /** Size at the full width of the profile (eased) */\n let profileMax = 0;\n const chunks = new Map<number, BarItem>();\n const dirtyChunks = new Set<number>();\n let itemVersion = 0;\n let headItem: BarItem | null = null;\n let headVersion = -1;\n let origin = { x: NaN, y: NaN };\n\n let renderer: ChartRenderer | null = null;\n let rendererToken = 0;\n let destroyed = false;\n let resolveReady: (kind: ChartRendererKind | null) => void = () => {};\n const ready = new Promise<ChartRendererKind | null>((resolve) => {\n resolveReady = resolve;\n });\n\n /** View: time range and price range; follows the market unless panned */\n let follow = true;\n let windowSpan = NaN;\n let viewX: [number, number] = [0, 1];\n let viewY: [number, number] = [0, 1];\n /** `viewY` holds a fitted range (it eases toward `yTarget` afterwards) */\n let viewYReady = false;\n /** Price range the following view eases to */\n let yTarget: [number, number] | null = null;\n /** Price span chosen by the user (zoom), NaN for the auto fit */\n let ySpan = NaN;\n /** Monotonic clock of the view (no jitter back when data arrives) */\n let shownTime = NaN;\n let lastFrame = 0;\n let plot = { x: 0, y: 0, w: 0, h: 0 };\n let hoverAt: [number, number] | null = null;\n let hoverKey = \"\";\n let drag: {\n x: number;\n y: number;\n viewX: [number, number];\n viewY: [number, number];\n axis: boolean;\n span: number;\n } | null = null;\n\n const host = createHost(container, {\n className: \"minerva-orderbook-heatmap\",\n draw,\n onTheme: () => {\n refreshColors();\n markAllDirty();\n },\n });\n const { root, doc } = host;\n root.tabIndex = 0;\n root.setAttribute(\"role\", \"figure\");\n root.style.touchAction = \"none\";\n\n /** Texts in the locale, resolved on every option update */\n let texts = localeLabels(LABELS, options.locale, options.labels);\n const labels = () => texts;\n const applyTexts = () => {\n texts = localeLabels(LABELS, options.locale, options.labels);\n root.setAttribute(\"aria-label\", options.ariaLabel ?? texts.name);\n };\n const interval = () => Math.max(10, options.interval ?? 100);\n const history = () => Math.max(interval() * 4, options.history ?? 300_000);\n const depth = () => Math.max(4, Math.round(options.depth ?? 160));\n const nowTime = () => {\n if (!Number.isFinite(dataTime)) return Date.now();\n const elapsed = perfNow() - dataWall;\n return dataTime + Math.min(Math.max(0, elapsed), interval() * 3);\n };\n const perfNow = () =>\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n\n function refreshColors() {\n const theme = host.theme;\n colors = sideColors(theme, options);\n const resolve = (value: string) => {\n const c = theme.resolve\n ? theme.resolve(value, theme.primary)\n : theme.primary;\n return [c[0], c[1], c[2], 1] as Rgba;\n };\n const background: Rgba = [\n theme.background[0],\n theme.background[1],\n theme.background[2],\n 1,\n ];\n dark = theme.background[3] > 0 ? luminance(background) < 0.4 : false;\n // the floor: a shade darker than the surface in dark themes (the cold\n // end of the ramp stays visible on it), the surface in light ones\n floor = dark\n ? mixOklab(background, [0, 0, 0, 1], 0.4)\n : mixOklab(\n background,\n [theme.text[0], theme.text[1], theme.text[2], 1],\n 0.02,\n );\n lut = oklabRamp(\n [\n floor,\n ...(options.colors?.length\n ? options.colors\n : dark\n ? DARK_RAMP\n : LIGHT_RAMP\n ).map(resolve),\n ],\n LUT_SIZE,\n );\n }\n\n const refreshFormat = () => {\n fmt = createFormatters(\n options,\n tick > 0\n ? Math.max(decimalsOf(tick), inferPriceDecimals(store))\n : inferPriceDecimals(store),\n inferSizeDecimals(store),\n );\n };\n\n const markAllDirty = () => {\n for (const id of chunks.keys()) dirtyChunks.add(id);\n headVersion = -1;\n host.invalidate();\n };\n\n const clearHistory = () => {\n columns = [];\n chunks.clear();\n dirtyChunks.clear();\n headItem = null;\n headVersion = -1;\n openStart = NaN;\n origin = { x: NaN, y: NaN };\n scaleMax = 0;\n bubbleRef = 0;\n shownTime = NaN;\n open.buyVolume = open.buyNotional = open.sellVolume = open.sellNotional = 0;\n };\n\n // --------------------------------------------------------------- columns\n\n const ensureTick = () => {\n if (tick > 0) return;\n const base = inferTickSize(store);\n const mid = store.mid();\n if (options.tickSize && options.tickSize > 0) tick = options.tickSize;\n else if (base > 0 && Number.isFinite(mid)) {\n // rows of about 0.1 basis point: a round multiple of the tick (BTC at\n // 64,000 with a 0.1 tick: 0.5 rows)\n const ratio = (mid * 1e-5) / base;\n let multiple = 1;\n for (let p = 1; p <= 1e9 && multiple < ratio * 0.75; p *= 10) {\n for (const m of [1, 2, 5]) {\n multiple = m * p;\n if (multiple >= ratio * 0.75) break;\n }\n }\n tick = roundToStep(base * multiple, base);\n } else tick = Number.isFinite(mid) ? Math.max(1e-8, mid * 1e-5) : 0;\n if (tick > 0) refreshFormat();\n };\n\n /** Samples the book into price rows */\n const sampleBook = () => {\n const limit = depth();\n const bins = new Float64Array(limit * 2);\n const sizes = new Float32Array(limit * 2);\n let n = 0;\n const top = [0, 0, 0, 0];\n for (const side of [\"bid\", \"ask\"] as const) {\n const count = store.count(side);\n let rows = 0;\n for (let i = 0; i < count; i++) {\n const bin = Math.round(store.priceAt(side, i) / tick);\n const size = store.sizeAt(side, i);\n if (n > 0 && bins[n - 1] === bin && rows > 0) {\n sizes[n - 1] += size;\n continue;\n }\n if (rows >= limit) break;\n bins[n] = bin;\n sizes[n] = size;\n n++;\n rows++;\n }\n }\n for (let i = 0; i < n; i++) {\n const s = sizes[i]!;\n if (s > top[3]!) {\n top[3] = s;\n top.sort((a, b) => b - a);\n }\n }\n return {\n bins: bins.subarray(0, n),\n sizes: sizes.subarray(0, n),\n reference: top[3]! || top[0]!,\n };\n };\n\n /** Closes the open column at `start` with the current book */\n const closeColumn = (start: number) => {\n if (!(tick > 0)) return;\n const { bins, sizes, reference } = sampleBook();\n const column: Column = {\n seq: seq++,\n time: start,\n bins,\n sizes,\n bestBid: store.bestBid(),\n bestAsk: store.bestAsk(),\n buyVolume: open.buyVolume,\n buyNotional: open.buyNotional,\n sellVolume: open.sellVolume,\n sellNotional: open.sellNotional,\n reference,\n };\n open.buyVolume = open.buyNotional = open.sellVolume = open.sellNotional = 0;\n columns.push(column);\n dirtyChunks.add(Math.floor(column.seq / CHUNK));\n // the auto color scale: average reference of the recent columns, moved\n // only on a clear change (a change recolors every chunk)\n if (options.maxSize === undefined) {\n const recent = columns.slice(-100);\n let sum = 0;\n for (const c of recent) sum += c.reference;\n const target = (sum / recent.length) * 1.6;\n if (!(scaleMax > 0) || Math.abs(target / scaleMax - 1) > 0.3) {\n scaleMax = target;\n for (const id of chunks.keys()) dirtyChunks.add(id);\n headVersion = -1;\n }\n }\n // history\n const oldest = start - history();\n let drop = 0;\n while (drop < columns.length && columns[drop]!.time < oldest) drop++;\n if (drop) {\n columns = columns.slice(drop);\n const first = columns[0] ? Math.floor(columns[0].seq / CHUNK) : Infinity;\n for (const id of [...chunks.keys()]) {\n if (id < first) chunks.delete(id);\n }\n }\n };\n\n /** Closes every column ending before `time` */\n const advance = (time: number) => {\n if (!Number.isFinite(time)) return;\n const step = interval();\n if (!Number.isFinite(openStart)) {\n openStart = Math.floor(time / step) * step;\n return;\n }\n if (time - openStart > history()) {\n // a long gap: one column, then jump\n closeColumn(openStart);\n openStart = Math.floor(time / step) * step;\n return;\n }\n while (time >= openStart + step) {\n closeColumn(openStart);\n openStart += step;\n }\n };\n\n const noteTime = (time: number | undefined) => {\n if (time === undefined || !Number.isFinite(time)) return Date.now();\n if (!Number.isFinite(dataTime) || time >= dataTime) {\n dataTime = time;\n dataWall = perfNow();\n }\n return time;\n };\n\n /** Column containing a time (`null` for the open one or outside) */\n const columnAt = (time: number): Column | null => {\n let lo = 0;\n let hi = columns.length - 1;\n const step = interval();\n while (lo <= hi) {\n const mid = (lo + hi) >>> 1;\n const c = columns[mid]!;\n if (time < c.time) hi = mid - 1;\n else if (time >= c.time + step) lo = mid + 1;\n else return c;\n }\n return null;\n };\n\n // --------------------------------------------------------------- items\n\n const ensureOrigin = () => {\n if (Number.isFinite(origin.x)) return;\n const mid = store.mid();\n origin = {\n x: Number.isFinite(openStart) ? openStart : 0,\n y: Number.isFinite(mid) ? mid : 0,\n };\n };\n\n const intensityIndex = (size: number) => {\n const t = heatIntensity(\n size,\n options.maxSize ?? scaleMax,\n options.colorScale ?? \"log\",\n Math.max(0.01, options.contrast ?? 1),\n );\n return Math.round(t * (LUT_SIZE - 1));\n };\n\n /** Bar instances of a set of columns (empty cells skipped) */\n const cellsItem = (\n key: string,\n list: readonly { time: number; bins: Float64Array; sizes: Float32Array }[],\n ): BarItem => {\n const step = interval();\n let count = 0;\n for (const c of list) {\n for (let i = 0; i < c.sizes.length; i++) {\n if (intensityIndex(c.sizes[i]!) > 0) count++;\n }\n }\n const instances = new ArrayBuffer(Math.max(1, count) * BAR_STRIDE);\n const f = new Float32Array(instances);\n const u = new Uint32Array(instances);\n let k = 0;\n // cells overlap a little: no seams between neighbours after rasterization\n const half = (tick / 2) * 1.06;\n for (const c of list) {\n const x = c.time + step / 2 - origin.x;\n for (let i = 0; i < c.sizes.length; i++) {\n const level = intensityIndex(c.sizes[i]!);\n if (level <= 0) continue;\n const price = c.bins[i]! * tick - origin.y;\n f[k * 4] = x;\n f[k * 4 + 1] = price - half;\n f[k * 4 + 2] = price + half;\n u[k * 4 + 3] = lut[level]!;\n k++;\n }\n }\n return {\n kind: \"bar\",\n key,\n version: ++itemVersion,\n color: [1, 1, 1, 1],\n instances,\n count,\n halfWidth: (step / 2) * 1.06,\n radius: 0,\n // a positive inset turns on the renderers' overlap of small cells (no\n // seam between neighbours); 0.01 px leaves no visible gap on large ones\n inset: 0.01,\n minHalf: 0,\n sorted: true,\n };\n };\n\n const chunkItems = (): BarItem[] => {\n if (dirtyChunks.size) {\n const byChunk = new Map<number, Column[]>();\n for (const c of columns) {\n const id = Math.floor(c.seq / CHUNK);\n if (!dirtyChunks.has(id)) continue;\n let list = byChunk.get(id);\n if (!list) byChunk.set(id, (list = []));\n list.push(c);\n }\n for (const id of dirtyChunks) {\n const list = byChunk.get(id);\n if (list) chunks.set(id, cellsItem(`heat:${id}`, list));\n else chunks.delete(id);\n }\n dirtyChunks.clear();\n }\n return [...chunks.values()];\n };\n\n const visibleColumns = () => {\n const step = interval();\n const out: Column[] = [];\n // binary search of the first visible column\n let lo = 0;\n let hi = columns.length;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (columns[mid]!.time + step < viewX[0]) lo = mid + 1;\n else hi = mid;\n }\n for (let i = lo; i < columns.length; i++) {\n const c = columns[i]!;\n if (c.time > viewX[1]) break;\n out.push(c);\n }\n return out;\n };\n\n /** Trade volumes of a group of columns */\n interface Bubble {\n time: number;\n price: number;\n volume: number;\n buy: boolean;\n }\n type Flow = Pick<\n Column,\n \"buyVolume\" | \"buyNotional\" | \"sellVolume\" | \"sellNotional\"\n >;\n\n /**\n * Trades of the visible columns as bubbles: columns are grouped (by their\n * sequence, so groups stay put while the view scrolls) until a group is\n * BUBBLE_SPACING px wide; one bubble per side at the average price\n */\n const tradeBubbles = (\n visible: readonly Column[],\n columnPx: number,\n ): Bubble[] => {\n const step = interval();\n const k = Math.max(1, Math.ceil(BUBBLE_SPACING / Math.max(1e-6, columnPx)));\n const out: Bubble[] = [];\n let group = NaN;\n let t0 = 0;\n let t1 = 0;\n const sum = { bv: 0, bn: 0, sv: 0, sn: 0 };\n const flush = () => {\n const time = (t0 + t1) / 2;\n if (sum.sv > 0)\n out.push({ time, price: sum.sn / sum.sv, volume: sum.sv, buy: false });\n if (sum.bv > 0)\n out.push({ time, price: sum.bn / sum.bv, volume: sum.bv, buy: true });\n sum.bv = sum.bn = sum.sv = sum.sn = 0;\n };\n const add = (id: number, start: number, flow: Flow) => {\n const g = Math.floor(id / k);\n if (g !== group) {\n if (Number.isFinite(group)) flush();\n group = g;\n t0 = start;\n }\n t1 = start + step;\n sum.bv += flow.buyVolume;\n sum.bn += flow.buyNotional;\n sum.sv += flow.sellVolume;\n sum.sn += flow.sellNotional;\n };\n for (const c of visible) add(c.seq, c.time, c);\n if (Number.isFinite(openStart) && openStart <= viewX[1])\n add(seq, openStart, open);\n if (Number.isFinite(group)) flush();\n return out;\n };\n\n const clipPlot = (ctx: CanvasRenderingContext2D) => {\n ctx.save();\n ctx.beginPath();\n ctx.rect(plot.x, plot.y, plot.w, plot.h);\n ctx.clip();\n };\n\n /** Best bid / ask step lines and the translucent spread band between them */\n const drawBest = (\n ctx: CanvasRenderingContext2D,\n visible: readonly Column[],\n xOf: (t: number) => number,\n yOf: (p: number) => number,\n columnPx: number,\n ) => {\n if (options.bestLines === false) return;\n const step = interval();\n const rows: [number, number, number][] = visible.map((c) => [\n c.time,\n c.bestBid,\n c.bestAsk,\n ]);\n if (Number.isFinite(openStart))\n rows.push([openStart, store.bestBid(), store.bestAsk()]);\n if (!rows.length) return;\n // wide columns: steps; narrow ones: a line through the column centers\n const steps = columnPx >= 2;\n clipPlot(ctx);\n ctx.beginPath();\n for (const [t, bid, ask] of rows) {\n if (!Number.isFinite(bid) || !Number.isFinite(ask) || !(ask > bid))\n continue;\n const xa = xOf(t);\n const ya = yOf(ask);\n ctx.rect(xa, ya, xOf(t + step) - xa, yOf(bid) - ya);\n }\n ctx.fillStyle = toCss(host.theme.text, dark ? 0.07 : 0.06);\n ctx.fill();\n ctx.lineJoin = \"round\";\n for (const [index, color] of [\n [1, colors.up],\n [2, colors.down],\n ] as const) {\n ctx.beginPath();\n let pen = false;\n for (const row of rows) {\n const price = row[index];\n if (!Number.isFinite(price)) {\n pen = false;\n continue;\n }\n const y = yOf(price);\n const xa = xOf(row[0]);\n const xb = xOf(row[0] + step);\n if (steps) {\n if (pen) ctx.lineTo(xa, y);\n else ctx.moveTo(xa, y);\n ctx.lineTo(xb, y);\n } else if (pen) ctx.lineTo((xa + xb) / 2, y);\n else ctx.moveTo((xa + xb) / 2, y);\n pen = true;\n }\n // a dark halo keeps the line readable on hot cells\n ctx.strokeStyle = toCss(floor, 0.55);\n ctx.lineWidth = 3.5;\n ctx.stroke();\n ctx.strokeStyle = toCss(color);\n ctx.lineWidth = 1.5;\n ctx.stroke();\n }\n ctx.restore();\n };\n\n /** Trade bubbles, area ∝ volume, the largest with their volume */\n const drawBubbles = (\n ctx: CanvasRenderingContext2D,\n bubbles: Bubble[],\n xOf: (t: number) => number,\n yOf: (p: number) => number,\n fontSize: number,\n ) => {\n if (!bubbles.length) return;\n let max = 0;\n for (const b of bubbles) max = Math.max(max, b.volume);\n bubbleRef = bubbleRef > 0 ? Math.max(max, bubbleRef * 0.995) : max;\n const ref = options.bubbleVolume ?? bubbleRef;\n const maxD = Math.max(4, options.bubbleSize ?? 28);\n const sized = bubbles\n .map((b) => ({\n ...b,\n d: clamp(Math.sqrt(b.volume / ref) * maxD, 3, maxD),\n }))\n .sort((a, b) => a.d - b.d);\n clipPlot(ctx);\n ctx.lineWidth = 1.25;\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n ctx.font = fontOf(host.theme, options, 600, Math.max(8, fontSize - 1));\n for (const b of sized) {\n const x = xOf(b.time);\n const y = yOf(b.price);\n const r = b.d / 2;\n if (x < plot.x - r || x > plot.x + plot.w + r) continue;\n if (y < plot.y - r || y > plot.y + plot.h + r) continue;\n const color = b.buy ? colors.up : colors.down;\n ctx.beginPath();\n ctx.arc(x, y, r, 0, Math.PI * 2);\n ctx.fillStyle = toCss(color, 0.62);\n ctx.fill();\n ctx.strokeStyle = toCss(mixOklab(color, [1, 1, 1, 1], 0.25));\n ctx.stroke();\n if (b.d >= 26) {\n const text = fmt.compact(b.volume);\n if (ctx.measureText(text).width <= b.d - 6) {\n ctx.fillStyle = \"#fff\";\n ctx.fillText(text, x, y + 0.5);\n }\n }\n }\n ctx.restore();\n };\n\n /** The current book as horizontal bars right of the plot, with a size scale */\n const drawProfile = (\n ctx: CanvasRenderingContext2D,\n px: number,\n profileW: number,\n yOf: (p: number) => number,\n fontSize: number,\n ) => {\n const theme = host.theme;\n const [y0, y1] = viewY;\n const rowPx = Math.max(1, (tick / (y1 - y0)) * plot.h);\n let maxSize = 0;\n const sides = ([\"bid\", \"ask\"] as const).map((side) => {\n const levels = store.levels(side, { step: tick, limit: depth() });\n for (let i = 0; i < levels.count; i++) {\n const p = levels.price[i]!;\n if (p >= y0 && p <= y1) maxSize = Math.max(maxSize, levels.size[i]!);\n }\n return { side, ...levels };\n });\n // a nice scale, changed only on a clear change (no jumping bars)\n if (\n maxSize > profileMax ||\n maxSize < profileMax * 0.35 ||\n !(profileMax > 0)\n )\n profileMax = niceCeil(maxSize);\n if (!(profileMax > 0)) return;\n const left = px + 3;\n const inner = profileW - 9;\n // guides at half and full scale\n ctx.strokeStyle = toCss(theme.text, 0.09);\n ctx.lineWidth = 1;\n ctx.setLineDash([2, 3]);\n ctx.beginPath();\n for (const f of [0.5, 1]) {\n const x = Math.round(left + inner * f) + 0.5;\n ctx.moveTo(x, plot.y);\n ctx.lineTo(x, plot.y + plot.h);\n }\n ctx.stroke();\n ctx.setLineDash([]);\n const gap = rowPx > 3 ? 1 : 0;\n const height = Math.max(1, rowPx - gap);\n for (const { side, price, size, count } of sides) {\n const color = side === \"bid\" ? colors.up : colors.down;\n ctx.beginPath();\n for (let i = 1; i < count; i++) {\n const p = price[i]!;\n if (p < y0 || p > y1) continue;\n const w = Math.max(1, Math.min(inner, (size[i]! / profileMax) * inner));\n ctx.rect(left, yOf(p) - rowPx / 2 + gap / 2, w, height);\n }\n ctx.fillStyle = toCss(color, 0.55);\n ctx.fill();\n // the best level, solid\n const best = price[0];\n if (count && best !== undefined && best >= y0 && best <= y1) {\n const w = Math.max(1, Math.min(inner, (size[0]! / profileMax) * inner));\n ctx.fillStyle = toCss(color, 0.95);\n ctx.fillRect(left, yOf(best) - rowPx / 2 + gap / 2, w, height);\n }\n }\n // size scale below the panel\n const y = Math.round(plot.y + plot.h + 4) + 0.5;\n ctx.strokeStyle = toCss(theme.textMuted, 0.7);\n ctx.beginPath();\n ctx.moveTo(left, y);\n ctx.lineTo(left + inner, y);\n for (const f of [0, 0.5, 1]) {\n const x = Math.round(left + inner * f) + 0.5;\n ctx.moveTo(x, y);\n ctx.lineTo(x, y + 3);\n }\n ctx.stroke();\n ctx.font = fontOf(theme, options, 400, Math.max(8, fontSize - 1));\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.textBaseline = \"top\";\n const text = fmt.compact(profileMax);\n const tw = ctx.measureText(text).width;\n ctx.textAlign = \"right\";\n ctx.fillText(text, left + inner + 2, y + 4);\n if (tw + ctx.measureText(\"0\").width + 8 < inner) {\n ctx.textAlign = \"left\";\n ctx.fillText(\"0\", left - 1, y + 4);\n }\n };\n\n const headCells = (): BarItem | null => {\n if (!Number.isFinite(openStart) || !(tick > 0)) return null;\n const version = store.version();\n if (headItem && headVersion === version) return headItem;\n const { bins, sizes } = sampleBook();\n headItem = cellsItem(\"heat:head\", [{ time: openStart, bins, sizes }]);\n headVersion = version;\n return headItem;\n };\n\n /** Hovered cell: pointer, time, price row */\n interface HoverCell {\n hx: number;\n hy: number;\n /** Time under the pointer */\n time: number;\n /** Start of the hovered column (NaN outside the data) */\n start: number;\n column: Column | null;\n bin: number;\n rowPrice: number;\n }\n\n const hoverCell = (): HoverCell | null => {\n if (!hoverAt || options.tooltip === false || !(tick > 0) || drag)\n return null;\n if (!viewYReady) return null;\n const [hx, hy] = hoverAt;\n if (\n hx < plot.x ||\n hx > plot.x + plot.w ||\n hy < plot.y ||\n hy > plot.y + plot.h\n )\n return null;\n const [x0, x1] = viewX;\n const [y0, y1] = viewY;\n const time = x0 + ((hx - plot.x) / plot.w) * (x1 - x0);\n const price = y0 + ((plot.y + plot.h - hy) / plot.h) * (y1 - y0);\n const bin = Math.round(price / tick);\n const rowPrice = +(bin * tick).toFixed(Math.min(12, decimalsOf(tick) + 2));\n const column = columnAt(time);\n const start = column\n ? column.time\n : Number.isFinite(openStart) && time >= openStart\n ? openStart\n : NaN;\n return { hx, hy, time, start, column, bin, rowPrice };\n };\n\n /** Price / time tag: filled (best bid / ask, hover) or outlined (last trade) */\n const drawTag = (\n ctx: CanvasRenderingContext2D,\n text: string,\n x: number,\n y: number,\n maxWidth: number,\n color: Rgba,\n filled: boolean,\n align: \"left\" | \"center\" = \"left\",\n ) => {\n const w = Math.min(ctx.measureText(text).width + 10, maxWidth);\n const left = align === \"center\" ? x - w / 2 : x;\n ctx.fillStyle = filled ? toCss(color) : toCss(floor);\n roundRect(ctx, left, y - TAG_HEIGHT / 2, w, TAG_HEIGHT, 3);\n ctx.fill();\n if (!filled) {\n ctx.strokeStyle = toCss(color);\n ctx.lineWidth = 1;\n ctx.stroke();\n }\n ctx.fillStyle = filled\n ? luminance(color) > 0.6\n ? \"#111\"\n : \"#fff\"\n : toCss(color);\n ctx.textAlign = align;\n ctx.textBaseline = \"middle\";\n ctx.fillText(text, align === \"center\" ? x : left + 5, y + 0.5);\n };\n\n // ---------------------------------------------------------------- draw\n\n function draw(now: number): boolean {\n const ctx = host.ctx;\n if (!ctx) return false;\n const { width, height, dpr, theme } = host;\n const dt = lastFrame ? now - lastFrame : 0;\n lastFrame = now;\n const l = labels();\n const fontSize = options.fontSize ?? (width < 420 ? 10 : 11);\n const regular = fontOf(theme, options, 400, fontSize);\n const bold = fontOf(theme, options, 600, fontSize);\n const step = interval();\n const live = !Number.isFinite(dataTime);\n if (live && store.count(\"bid\") + store.count(\"ask\") > 0)\n advance(Date.now());\n // a monotonic clock: the view never jumps back when data arrives late\n const clock = nowTime();\n shownTime =\n Number.isFinite(shownTime) && clock > shownTime - step * 4\n ? Math.max(shownTime, clock)\n : clock;\n const time = shownTime;\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, width, height);\n\n // layout\n ensureTick();\n const mid = store.mid();\n ctx.font = bold;\n const sample = fmt.price(Number.isFinite(mid) ? mid * 1.0001 : 0);\n const axisW = Math.ceil(ctx.measureText(sample).width) + 18;\n ctx.font = regular;\n const profileW =\n options.profile === false ? 0 : Math.round(clamp(width * 0.11, 44, 96));\n const timeH = fontSize + 12;\n plot = {\n x: 0,\n y: 0,\n w: Math.max(10, width - axisW - profileW),\n h: Math.max(10, height - timeH),\n };\n const px = plot.x + plot.w;\n const right = px + profileW;\n\n // view: the following view fits the data (history fills the plot from\n // the left) and keeps the price range while the market stays inside it\n if (!Number.isFinite(windowSpan))\n windowSpan = Math.max(step * 10, options.window ?? 60_000);\n if (follow) {\n const first = columns.length ? columns[0]!.time : openStart;\n // the view ends at the live time: the open column (the live book) is\n // cut by the right edge, so no gap opens while it is being sampled\n viewX = fitTimeRange(\n first,\n time,\n windowSpan,\n Math.min(windowSpan, step * 60),\n );\n let lo = store.bestBid();\n let hi = store.bestAsk();\n for (const c of visibleColumns()) {\n if (Number.isFinite(c.bestBid) && !(c.bestBid >= lo)) lo = c.bestBid;\n if (Number.isFinite(c.bestAsk) && !(c.bestAsk <= hi)) hi = c.bestAsk;\n }\n if (!Number.isFinite(lo)) lo = hi;\n if (!Number.isFinite(hi)) hi = lo;\n const minSpan = tick > 0 ? tick * Math.max(40, plot.h / 6) : 0;\n const fixed =\n options.priceSpan ?? (Number.isFinite(ySpan) ? ySpan : undefined);\n if (minSpan > 0 || fixed !== undefined) {\n yTarget = fitPriceRange(yTarget, lo, hi, minSpan, fixed);\n const [t0, t1] = yTarget;\n if (Number.isFinite(t0) && Number.isFinite(t1)) {\n if (!viewYReady) {\n viewY = [t0, t1];\n viewYReady = true;\n } else {\n const k = ease(dt, 280);\n viewY = [\n viewY[0] + (t0 - viewY[0]) * k,\n viewY[1] + (t1 - viewY[1]) * k,\n ];\n }\n }\n }\n }\n const [x0, x1] = viewX;\n const [y0, y1] = viewY;\n const xOf = (t: number) => plot.x + ((t - x0) / (x1 - x0)) * plot.w;\n const yOf = (p: number) =>\n plot.y + plot.h - ((p - y0) / (y1 - y0)) * plot.h;\n const ready = viewYReady && tick > 0;\n const visible = visibleColumns();\n const columnPx = (step / (x1 - x0)) * plot.w;\n\n // data layer: the cells on the GPU, over the floor color\n const floorCss = toCss(floor);\n if (renderer && tick > 0) {\n ensureOrigin();\n const canvas = renderer.canvas;\n canvas.style.left = `${plot.x}px`;\n canvas.style.top = `${plot.y}px`;\n canvas.style.width = `${plot.w}px`;\n canvas.style.height = `${plot.h}px`;\n if (canvas.dataset.floor !== floorCss) {\n canvas.dataset.floor = floorCss;\n canvas.style.background = floorCss;\n }\n const bw = Math.max(1, Math.round(plot.w * dpr));\n const bh = Math.max(1, Math.round(plot.h * dpr));\n if (canvas.width !== bw || canvas.height !== bh) renderer.resize(bw, bh);\n const items: RenderItem[] = chunkItems();\n const head = headCells();\n if (head) items.push(head);\n const xScale = 2 / (x1 - x0);\n const yScale = 2 / (y1 - y0);\n renderer.render(items, {\n transform: {\n xScale,\n xOffset: (origin.x - x0) * xScale - 1,\n yScale,\n yOffset: (origin.y - y0) * yScale - 1,\n },\n width: bw,\n height: bh,\n dpr,\n });\n } else {\n ctx.fillStyle = floorCss;\n ctx.fillRect(plot.x, plot.y, plot.w, plot.h);\n }\n if (profileW) {\n ctx.fillStyle = floorCss;\n ctx.fillRect(px, plot.y, profileW, plot.h);\n }\n\n // grid over the cells\n const yTicks = ready\n ? linearTicks(y0, y1, Math.max(2, Math.floor(plot.h / 44)))\n : [];\n const xt = timeTicks(\n x0,\n x1,\n Math.max(2, Math.floor(plot.w / 75)),\n undefined,\n options.timeZone ?? \"local\",\n );\n ctx.strokeStyle = toCss(theme.text, dark ? 0.07 : 0.09);\n ctx.lineWidth = 1;\n ctx.beginPath();\n for (const p of yTicks) {\n const y = Math.round(yOf(p)) + 0.5;\n ctx.moveTo(plot.x, y);\n ctx.lineTo(right, y);\n }\n for (const t of xt.values) {\n const x = Math.round(xOf(t)) + 0.5;\n if (x <= plot.x + 1 || x >= px - 1) continue;\n ctx.moveTo(x, plot.y);\n ctx.lineTo(x, plot.y + plot.h);\n }\n ctx.stroke();\n\n // best bid / ask, trades, the current book\n if (ready) {\n drawBest(ctx, visible, xOf, yOf, columnPx);\n if (options.bubbles !== false)\n drawBubbles(ctx, tradeBubbles(visible, columnPx), xOf, yOf, fontSize);\n if (profileW) drawProfile(ctx, px, profileW, yOf, fontSize);\n }\n\n // frame\n ctx.strokeStyle = toCss(theme.axis);\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.moveTo(0, Math.round(plot.y + plot.h) + 0.5);\n ctx.lineTo(width, Math.round(plot.y + plot.h) + 0.5);\n if (profileW) {\n ctx.moveTo(Math.round(px) + 0.5, plot.y);\n ctx.lineTo(Math.round(px) + 0.5, plot.y + plot.h);\n }\n ctx.moveTo(Math.round(right) + 0.5, plot.y);\n ctx.lineTo(Math.round(right) + 0.5, plot.y + plot.h);\n ctx.stroke();\n\n const cell = ready ? hoverCell() : null;\n\n // time axis (the hover time tag hides the ticks it covers)\n ctx.font = regular;\n const hoverTime = cell\n ? formatClock(\n Number.isFinite(cell.start) ? cell.start : cell.time,\n step < 1000,\n options.timeZone,\n )\n : \"\";\n const hoverHalf = cell ? ctx.measureText(hoverTime).width / 2 + 8 : 0;\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"top\";\n for (const t of xt.values) {\n const x = xOf(t);\n if (x < 20 || x > px - 20) continue;\n const text = xt.format(t);\n if (\n cell &&\n Math.abs(x - cell.hx) < hoverHalf + ctx.measureText(text).width / 2\n )\n continue;\n ctx.fillText(text, x, plot.y + plot.h + 6);\n }\n\n // price axis: pinned tags (best ask / bid, last trade) win over the\n // ticks, the hover tag over everything\n const last = lastTrade;\n const pins: { price: number; color: Rgba; filled: boolean }[] = [\n { price: store.bestAsk(), color: colors.down, filled: true },\n { price: store.bestBid(), color: colors.up, filled: true },\n ];\n if (\n last &&\n last.price !== store.bestBid() &&\n last.price !== store.bestAsk()\n )\n pins.push({\n price: last.price,\n color: last.side === \"buy\" ? colors.up : colors.down,\n filled: false,\n });\n const shownPins = ready\n ? pins.filter(\n (p) => Number.isFinite(p.price) && p.price >= y0 && p.price <= y1,\n )\n : [];\n const hoverY = cell ? Math.round(yOf(cell.rowPrice)) + 0.5 : NaN;\n const layout = layoutAxisLabels(\n shownPins.map((p): AxisLabel => ({ y: yOf(p.price), h: TAG_HEIGHT })),\n cell ? { y: hoverY, h: TAG_HEIGHT } : null,\n yTicks.map(yOf),\n fontSize + 2,\n [plot.y, plot.y + plot.h],\n );\n ctx.fillStyle = toCss(theme.textMuted);\n ctx.textAlign = \"left\";\n ctx.textBaseline = \"middle\";\n yTicks.forEach((p, i) => {\n if (layout.ticks[i]) ctx.fillText(fmt.price(p), right + 6, yOf(p));\n });\n ctx.font = bold;\n shownPins.forEach((pin, i) => {\n const y = layout.pinned[i];\n if (y === null || y === undefined) return;\n const at = yOf(pin.price);\n if (Math.abs(y - at) > 1) {\n // a moved tag points at its price\n ctx.strokeStyle = toCss(pin.color);\n ctx.lineWidth = 1;\n ctx.beginPath();\n ctx.moveTo(right - 4, at);\n ctx.lineTo(right + 1, y);\n ctx.stroke();\n }\n drawTag(\n ctx,\n fmt.price(pin.price),\n right + 1,\n y,\n width - right - 2,\n pin.color,\n pin.filled,\n );\n });\n\n // crosshair, hover tags and tooltip\n drawHover(ctx, xOf, yOf, right, l, cell, hoverY, hoverTime);\n ctx.font = regular;\n\n host.describe(\n `${options.ariaLabel ?? l.name}. ${l.bid} ${fmt.price(store.bestBid())}, ${l.ask} ${fmt.price(store.bestAsk())}.`,\n );\n // keep scrolling while following a live market\n const fresh = live || perfNow() - dataWall < 2000;\n return (\n (follow && fresh && Number.isFinite(openStart)) ||\n (viewYReady && yTarget !== null && Math.abs(viewY[0] - yTarget[0]) > 1e-9)\n );\n }\n\n function drawHover(\n ctx: CanvasRenderingContext2D,\n xOf: (t: number) => number,\n yOf: (p: number) => number,\n right: number,\n l: OrderBookHeatmapLabels,\n cell: HoverCell | null,\n ry: number,\n timeText: string,\n ) {\n const { theme } = host;\n if (!cell) {\n host.tooltip.style.display = \"none\";\n if (hoverKey) {\n hoverKey = \"\";\n emitter.emit(\"hover\", null);\n }\n return;\n }\n const { hx, hy, time, start, column, bin, rowPrice } = cell;\n const step = interval();\n let size = 0;\n let bestBid = NaN;\n let bestAsk = NaN;\n let buyVolume = 0;\n let sellVolume = 0;\n if (column) {\n for (let i = 0; i < column.bins.length; i++) {\n if (column.bins[i] === bin) size += column.sizes[i]!;\n }\n ({ bestBid, bestAsk, buyVolume, sellVolume } = column);\n } else if (Number.isFinite(start)) {\n const levels = ([\"bid\", \"ask\"] as const).map((side) =>\n store.levels(side, { step: tick, limit: depth() }),\n );\n for (const lv of levels) {\n for (let i = 0; i < lv.count; i++) {\n if (Math.round(lv.price[i]! / tick) === bin) size += lv.size[i]!;\n }\n }\n bestBid = store.bestBid();\n bestAsk = store.bestAsk();\n buyVolume = open.buyVolume;\n sellVolume = open.sellVolume;\n }\n const side: OrderBookSide | null =\n rowPrice <= bestBid ? \"bid\" : rowPrice >= bestAsk ? \"ask\" : null;\n\n // crosshair\n ctx.strokeStyle = toCss(theme.text, 0.5);\n ctx.lineWidth = 1;\n ctx.setLineDash([3, 3]);\n ctx.beginPath();\n ctx.moveTo(Math.round(hx) + 0.5, plot.y);\n ctx.lineTo(Math.round(hx) + 0.5, plot.y + plot.h);\n ctx.moveTo(plot.x, ry);\n ctx.lineTo(right, ry);\n ctx.stroke();\n ctx.setLineDash([]);\n if (Number.isFinite(start)) {\n // outline of the hovered cell\n const cx0 = xOf(start);\n const cx1 = xOf(start + step);\n const cy0 = yOf(rowPrice + tick / 2);\n const cy1 = yOf(rowPrice - tick / 2);\n ctx.strokeStyle = toCss(theme.text, 0.85);\n ctx.strokeRect(cx0, cy0, Math.max(2, cx1 - cx0), Math.max(2, cy1 - cy0));\n }\n // price and time tags\n ctx.font = fontOf(\n theme,\n options,\n 600,\n options.fontSize ?? (host.width < 420 ? 10 : 11),\n );\n drawTag(\n ctx,\n fmt.price(rowPrice),\n right + 1,\n ry,\n host.width - right - 2,\n theme.text,\n true,\n );\n drawTag(\n ctx,\n timeText,\n clamp(hx, plot.x + 40, plot.x + plot.w - 40),\n plot.y + plot.h + TAG_HEIGHT / 2 + 2,\n plot.w,\n theme.text,\n true,\n \"center\",\n );\n\n const sideColor =\n side === \"bid\" ? colors.up : side === \"ask\" ? colors.down : theme.text;\n tooltipHtml(\n doc,\n host.tooltip,\n {\n text: formatClock(\n Number.isFinite(start) ? start : time,\n true,\n options.timeZone,\n ),\n color: undefined,\n },\n [\n [l.price, fmt.price(rowPrice)],\n [l.liquidity, fmt.size(size)],\n [l.buys, fmt.size(buyVolume)],\n [l.sells, fmt.size(sellVolume)],\n ],\n );\n host.tooltip.style.display = \"block\";\n host.tooltip.style.borderLeft = `3px solid ${toCss(sideColor)}`;\n host.placeTooltip(\n host.tooltip,\n hx,\n hy,\n hx > plot.w * 0.6 ? \"left\" : \"right\",\n );\n\n const key = `${start}|${bin}|${size}|${buyVolume}|${sellVolume}`;\n if (key !== hoverKey) {\n hoverKey = key;\n const event: OrderBookHeatmapHoverEvent = {\n time: Number.isFinite(start) ? start : time,\n price: rowPrice,\n size,\n side,\n buyVolume,\n sellVolume,\n };\n emitter.emit(\"hover\", event);\n }\n }\n\n // ------------------------------------------------------------ renderer\n\n const initRenderer = async (exclude: Set<ChartRendererKind> = new Set()) => {\n const token = ++rendererToken;\n const next = await createRenderer(\n options.renderer ?? \"auto\",\n () => {\n const canvas = doc.createElement(\"canvas\");\n Object.assign(canvas.style, {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n pointerEvents: \"none\",\n });\n canvas.setAttribute(\"aria-hidden\", \"true\");\n return canvas;\n },\n (kind) => {\n if (destroyed || renderer?.kind !== kind) return;\n renderer.destroy();\n renderer.canvas.remove();\n renderer = null;\n void initRenderer(new Set([...exclude, kind]));\n },\n exclude,\n );\n if (destroyed || token !== rendererToken) {\n next?.destroy();\n return;\n }\n if (renderer) {\n renderer.destroy();\n renderer.canvas.remove();\n }\n renderer = next;\n if (next) {\n root.dataset.renderer = next.kind;\n root.insertBefore(next.canvas, host.canvas);\n emitter.emit(\"renderer\", next.kind);\n }\n resolveReady(next?.kind ?? null);\n host.invalidate();\n };\n\n // --------------------------------------------------------- interaction\n\n const setFollow = (value: boolean) => {\n if (follow === value) return;\n follow = value;\n emitter.emit(\"follow\", value);\n };\n\n /** Keeps a panned time range near the data (half a view of margin) */\n const clampTime = (range: [number, number]): [number, number] => {\n const first = columns.length ? columns[0]!.time : openStart;\n if (!Number.isFinite(first)) return range;\n const span = range[1] - range[0];\n const latest = Number.isFinite(shownTime) ? shownTime : nowTime();\n const max = latest + interval() + span / 2;\n const start = Math.max(first - span / 2, Math.min(range[0], max - span));\n return [start, start + span];\n };\n\n const onPointerDown = (event: PointerEvent) => {\n if (options.interactive === false) return;\n const [x, y] = localPoint(root, event);\n root.setPointerCapture?.(event.pointerId);\n drag = {\n x,\n y,\n viewX: [...viewX],\n viewY: [...viewY],\n axis: x > plot.x + plot.w,\n span: viewY[1] - viewY[0],\n };\n };\n const onPointerMove = (event: PointerEvent) => {\n const [x, y] = localPoint(root, event);\n hoverAt = [x, y];\n if (drag) {\n const dx = x - drag.x;\n const dy = y - drag.y;\n if (drag.axis) {\n // dragging the price axis scales the prices around the center\n const span = drag.span * Math.exp(dy * 0.006);\n const c = (drag.viewY[0] + drag.viewY[1]) / 2;\n ySpan = span;\n viewY = [c - span / 2, c + span / 2];\n yTarget = [viewY[0], viewY[1]];\n } else if (Math.abs(dx) + Math.abs(dy) > 3) {\n setFollow(false);\n const tx = ((drag.viewX[1] - drag.viewX[0]) / plot.w) * dx;\n const ty = ((drag.viewY[1] - drag.viewY[0]) / plot.h) * dy;\n viewX = clampTime([drag.viewX[0] - tx, drag.viewX[1] - tx]);\n viewY = [drag.viewY[0] + ty, drag.viewY[1] + ty];\n }\n }\n host.invalidate();\n };\n const onPointerUp = (event: PointerEvent) => {\n root.releasePointerCapture?.(event.pointerId);\n drag = null;\n host.invalidate();\n };\n const onPointerLeave = () => {\n if (drag) return;\n hoverAt = null;\n host.invalidate();\n };\n const zoomTime = (factor: number, anchorX: number) => {\n const [a, b] = viewX;\n const span = clamp(\n (follow ? windowSpan : b - a) * factor,\n interval() * 10,\n history(),\n );\n windowSpan = span;\n if (!follow) {\n const t = a + ((anchorX - plot.x) / plot.w) * (b - a);\n const r = (t - a) / (b - a);\n viewX = clampTime([t - span * r, t + span * (1 - r)]);\n }\n host.invalidate();\n };\n const zoomPrice = (factor: number) => {\n const span = clamp(\n (viewY[1] - viewY[0]) * factor,\n tick * 6 || 1e-9,\n Infinity,\n );\n const c = (viewY[0] + viewY[1]) / 2;\n ySpan = span;\n viewY = [c - span / 2, c + span / 2];\n yTarget = [viewY[0], viewY[1]];\n host.invalidate();\n };\n const onWheel = (event: WheelEvent) => {\n if (options.interactive === false || !(event.ctrlKey || event.metaKey))\n return;\n event.preventDefault();\n const [x] = localPoint(root, event);\n const factor = Math.exp(event.deltaY * 0.002);\n if (event.shiftKey || x > plot.x + plot.w) zoomPrice(factor);\n else zoomTime(factor, x);\n };\n const onDoubleClick = () => {\n if (options.interactive === false) return;\n instance.resetView();\n };\n const onKeyDown = (event: KeyboardEvent) => {\n if (options.interactive === false) return;\n switch (event.key) {\n case \"+\":\n case \"=\":\n zoomTime(0.8, plot.x + plot.w);\n break;\n case \"-\":\n zoomTime(1.25, plot.x + plot.w);\n break;\n case \"ArrowUp\":\n case \"ArrowDown\": {\n if (event.shiftKey) {\n zoomPrice(event.key === \"ArrowUp\" ? 0.8 : 1.25);\n break;\n }\n setFollow(false);\n const d =\n (viewY[1] - viewY[0]) * 0.1 * (event.key === \"ArrowUp\" ? 1 : -1);\n viewY = [viewY[0] + d, viewY[1] + d];\n host.invalidate();\n break;\n }\n case \"ArrowLeft\":\n case \"ArrowRight\": {\n setFollow(false);\n const d =\n (viewX[1] - viewX[0]) * 0.1 * (event.key === \"ArrowLeft\" ? -1 : 1);\n viewX = clampTime([viewX[0] + d, viewX[1] + d]);\n host.invalidate();\n break;\n }\n case \"0\":\n case \"Home\":\n instance.resetView();\n break;\n default:\n return;\n }\n event.preventDefault();\n };\n\n root.addEventListener(\"pointerdown\", onPointerDown);\n root.addEventListener(\"pointermove\", onPointerMove);\n root.addEventListener(\"pointerup\", onPointerUp);\n root.addEventListener(\"pointercancel\", onPointerUp);\n root.addEventListener(\"pointerleave\", onPointerLeave);\n root.addEventListener(\"wheel\", onWheel, { passive: false });\n root.addEventListener(\"dblclick\", onDoubleClick);\n root.addEventListener(\"keydown\", onKeyDown);\n\n // ----------------------------------------------------------------- api\n\n const applyOne = (delta: OrderBookDelta) => {\n const time = noteTime(delta.time);\n if (store.count(\"bid\") + store.count(\"ask\") > 0) {\n ensureTick();\n advance(time);\n }\n store.applyDelta(delta);\n };\n\n const instance: OrderBookHeatmapInstance = {\n setBook(snapshot) {\n const time = noteTime(snapshot.time);\n if (store.count(\"bid\") + store.count(\"ask\") > 0) advance(time);\n store.setSnapshot(snapshot);\n ensureTick();\n refreshFormat();\n if (!Number.isFinite(openStart)) advance(time);\n host.invalidate();\n },\n applyDeltas(deltas) {\n if (Array.isArray(deltas)) {\n for (const d of deltas as readonly OrderBookDelta[]) applyOne(d);\n } else applyOne(deltas as OrderBookDelta);\n if (!Number.isFinite(openStart) && tick > 0) advance(nowTime());\n host.invalidate();\n },\n addTrades(trades) {\n const list: readonly MarketTrade[] = Array.isArray(trades)\n ? (trades as readonly MarketTrade[])\n : [trades as MarketTrade];\n for (const trade of list) {\n if (!(trade.size > 0) || !Number.isFinite(trade.price)) continue;\n if (Number.isFinite(dataTime)) {\n noteTime(trade.time);\n advance(trade.time);\n }\n const target =\n !Number.isFinite(openStart) || trade.time >= openStart\n ? open\n : columnAt(trade.time);\n if (target) {\n if (trade.side === \"buy\") {\n target.buyVolume += trade.size;\n target.buyNotional += trade.size * trade.price;\n } else {\n target.sellVolume += trade.size;\n target.sellNotional += trade.size * trade.price;\n }\n }\n if (!lastTrade || trade.time >= lastTrade.time) lastTrade = trade;\n }\n host.invalidate();\n },\n clear() {\n store.clear();\n clearHistory();\n lastTrade = null;\n dataTime = NaN;\n tick = 0;\n ySpan = NaN;\n yTarget = null;\n viewYReady = false;\n host.invalidate();\n },\n setOptions(next) {\n const previous = options;\n options = next;\n applyTexts();\n if (\n next.tickSize !== previous.tickSize ||\n (next.interval ?? 100) !== (previous.interval ?? 100)\n ) {\n clearHistory();\n tick = 0;\n ySpan = NaN;\n ensureTick();\n }\n if (next.window !== previous.window) windowSpan = NaN;\n if (next.priceSpan !== previous.priceSpan) ySpan = NaN;\n if ((next.renderer ?? \"auto\") !== (previous.renderer ?? \"auto\"))\n void initRenderer();\n refreshColors();\n refreshFormat();\n markAllDirty();\n },\n resetView() {\n windowSpan = NaN;\n ySpan = NaN;\n yTarget = null;\n setFollow(true);\n host.invalidate();\n },\n getRenderer: () => renderer?.kind ?? null,\n ready,\n getStore: () => store,\n on: (event, handler) => emitter.on(event, handler),\n resize() {\n host.invalidate();\n },\n destroy() {\n destroyed = true;\n root.removeEventListener(\"pointerdown\", onPointerDown);\n root.removeEventListener(\"pointermove\", onPointerMove);\n root.removeEventListener(\"pointerup\", onPointerUp);\n root.removeEventListener(\"pointercancel\", onPointerUp);\n root.removeEventListener(\"pointerleave\", onPointerLeave);\n root.removeEventListener(\"wheel\", onWheel);\n root.removeEventListener(\"dblclick\", onDoubleClick);\n root.removeEventListener(\"keydown\", onKeyDown);\n renderer?.destroy();\n renderer = null;\n emitter.clear();\n host.destroy();\n resolveReady(null);\n },\n };\n\n applyTexts();\n refreshColors();\n void initRenderer();\n return instance;\n};\n"],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ import { OrderBookHeatmapInstance, OrderBookHeatmapOptions, OrderBookHeatmapScale } from './types.cjs';
2
+ /** Normalized intensity (0-1) of a size */
3
+ export declare const heatIntensity: (size: number, max: number, scale: OrderBookHeatmapScale, contrast: number) => number;
4
+ /**
5
+ * Creates a liquidity heatmap in `container`: resting size over time and
6
+ * price on the GPU, trades as bubbles, best bid / ask lines, the current
7
+ * book profile, zoom / pan and a crosshair tooltip.
8
+ */
9
+ export declare const createOrderBookHeatmap: (container: HTMLElement, initial?: OrderBookHeatmapOptions) => OrderBookHeatmapInstance;
@@ -0,0 +1,9 @@
1
+ import { OrderBookHeatmapInstance, OrderBookHeatmapOptions, OrderBookHeatmapScale } from './types.js';
2
+ /** Normalized intensity (0-1) of a size */
3
+ export declare const heatIntensity: (size: number, max: number, scale: OrderBookHeatmapScale, contrast: number) => number;
4
+ /**
5
+ * Creates a liquidity heatmap in `container`: resting size over time and
6
+ * price on the GPU, trades as bubbles, best bid / ask lines, the current
7
+ * book profile, zoom / pan and a crosshair tooltip.
8
+ */
9
+ export declare const createOrderBookHeatmap: (container: HTMLElement, initial?: OrderBookHeatmapOptions) => OrderBookHeatmapInstance;