minerva-design 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1166) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +7 -2
  8. package/dist/charts/canvas.d.ts +7 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +7 -4
  11. package/dist/charts/core.d.ts +7 -4
  12. package/dist/charts/core.js +19 -8
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +118 -68
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +307 -285
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.js +2 -2
  32. package/dist/charts/engine/color.js.map +1 -1
  33. package/dist/charts/engine/controller.cjs +1 -1
  34. package/dist/charts/engine/controller.cjs.map +1 -1
  35. package/dist/charts/engine/controller.d.cts +12 -3
  36. package/dist/charts/engine/controller.d.ts +12 -3
  37. package/dist/charts/engine/controller.js +359 -299
  38. package/dist/charts/engine/controller.js.map +1 -1
  39. package/dist/charts/engine/data.cjs +1 -1
  40. package/dist/charts/engine/data.cjs.map +1 -1
  41. package/dist/charts/engine/data.d.cts +6 -0
  42. package/dist/charts/engine/data.d.ts +6 -0
  43. package/dist/charts/engine/data.js +63 -49
  44. package/dist/charts/engine/data.js.map +1 -1
  45. package/dist/charts/engine/format.cjs +1 -1
  46. package/dist/charts/engine/format.cjs.map +1 -1
  47. package/dist/charts/engine/format.d.cts +21 -6
  48. package/dist/charts/engine/format.d.ts +21 -6
  49. package/dist/charts/engine/format.js +46 -21
  50. package/dist/charts/engine/format.js.map +1 -1
  51. package/dist/charts/engine/items.cjs +1 -1
  52. package/dist/charts/engine/items.cjs.map +1 -1
  53. package/dist/charts/engine/items.js +211 -54
  54. package/dist/charts/engine/items.js.map +1 -1
  55. package/dist/charts/engine/labels.cjs +2 -0
  56. package/dist/charts/engine/labels.cjs.map +1 -0
  57. package/dist/charts/engine/labels.d.cts +13 -0
  58. package/dist/charts/engine/labels.d.ts +13 -0
  59. package/dist/charts/engine/labels.js +74 -0
  60. package/dist/charts/engine/labels.js.map +1 -0
  61. package/dist/charts/engine/layout.cjs +1 -1
  62. package/dist/charts/engine/layout.cjs.map +1 -1
  63. package/dist/charts/engine/layout.d.cts +34 -2
  64. package/dist/charts/engine/layout.d.ts +34 -2
  65. package/dist/charts/engine/layout.js +53 -12
  66. package/dist/charts/engine/layout.js.map +1 -1
  67. package/dist/charts/engine/locale.cjs +2 -0
  68. package/dist/charts/engine/locale.cjs.map +1 -0
  69. package/dist/charts/engine/locale.d.cts +33 -0
  70. package/dist/charts/engine/locale.d.ts +33 -0
  71. package/dist/charts/engine/locale.js +68 -0
  72. package/dist/charts/engine/locale.js.map +1 -0
  73. package/dist/charts/engine/model.cjs +1 -1
  74. package/dist/charts/engine/model.cjs.map +1 -1
  75. package/dist/charts/engine/model.d.cts +39 -1
  76. package/dist/charts/engine/model.d.ts +39 -1
  77. package/dist/charts/engine/model.js +212 -105
  78. package/dist/charts/engine/model.js.map +1 -1
  79. package/dist/charts/engine/orderbook/book.cjs +2 -0
  80. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  81. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  82. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  83. package/dist/charts/engine/orderbook/book.js +134 -0
  84. package/dist/charts/engine/orderbook/book.js.map +1 -0
  85. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  86. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  87. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  88. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  89. package/dist/charts/engine/orderbook/depth.js +413 -0
  90. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  91. package/dist/charts/engine/orderbook/format.cjs +2 -0
  92. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  93. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  94. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  95. package/dist/charts/engine/orderbook/format.js +65 -0
  96. package/dist/charts/engine/orderbook/format.js.map +1 -0
  97. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  98. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  99. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  100. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  101. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  102. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  103. package/dist/charts/engine/orderbook/host.cjs +2 -0
  104. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  105. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  106. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  107. package/dist/charts/engine/orderbook/host.js +161 -0
  108. package/dist/charts/engine/orderbook/host.js.map +1 -0
  109. package/dist/charts/engine/orderbook/index.cjs +1 -0
  110. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  111. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  112. package/dist/charts/engine/orderbook/index.js +6 -0
  113. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  114. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  115. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  116. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  117. package/dist/charts/engine/orderbook/ladder.js +341 -0
  118. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  119. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  120. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  121. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  122. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  123. package/dist/charts/engine/orderbook/tape.js +450 -0
  124. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  125. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  126. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  127. package/dist/charts/engine/overlay.cjs +1 -1
  128. package/dist/charts/engine/overlay.cjs.map +1 -1
  129. package/dist/charts/engine/overlay.d.cts +18 -2
  130. package/dist/charts/engine/overlay.d.ts +18 -2
  131. package/dist/charts/engine/overlay.js +132 -96
  132. package/dist/charts/engine/overlay.js.map +1 -1
  133. package/dist/charts/engine/presets.cjs +2 -2
  134. package/dist/charts/engine/presets.cjs.map +1 -1
  135. package/dist/charts/engine/presets.d.cts +249 -1
  136. package/dist/charts/engine/presets.d.ts +249 -1
  137. package/dist/charts/engine/presets.js +367 -29
  138. package/dist/charts/engine/presets.js.map +1 -1
  139. package/dist/charts/engine/renderers/detect.cjs +1 -1
  140. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  141. package/dist/charts/engine/renderers/detect.js +18 -15
  142. package/dist/charts/engine/renderers/detect.js.map +1 -1
  143. package/dist/charts/engine/renderers/gl.cjs +2 -0
  144. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  145. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  146. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  147. package/dist/charts/engine/renderers/gl.js +56 -0
  148. package/dist/charts/engine/renderers/gl.js.map +1 -0
  149. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  150. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  151. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  152. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  153. package/dist/charts/engine/renderers/shaders.js +139 -1
  154. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  155. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  156. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  157. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  158. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  159. package/dist/charts/engine/renderers/webgl.js +133 -0
  160. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  161. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  162. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  163. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  164. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  165. package/dist/charts/engine/renderers/webgl2.js +59 -108
  166. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  167. package/dist/charts/engine/scale.cjs +1 -1
  168. package/dist/charts/engine/scale.cjs.map +1 -1
  169. package/dist/charts/engine/scale.js +1 -1
  170. package/dist/charts/engine/scale.js.map +1 -1
  171. package/dist/charts/engine/scene.cjs +1 -1
  172. package/dist/charts/engine/scene.cjs.map +1 -1
  173. package/dist/charts/engine/scene.d.cts +14 -4
  174. package/dist/charts/engine/scene.d.ts +14 -4
  175. package/dist/charts/engine/scene.js +292 -163
  176. package/dist/charts/engine/scene.js.map +1 -1
  177. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  178. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  179. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  180. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  181. package/dist/charts/engine/shapes/bullet.js +255 -0
  182. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  183. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  184. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  185. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  186. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  187. package/dist/charts/engine/shapes/calendar.js +369 -0
  188. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  189. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  190. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  191. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  192. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  193. package/dist/charts/engine/shapes/canvas.js +22 -13
  194. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  195. package/dist/charts/engine/shapes/chart.cjs +1 -1
  196. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  197. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  198. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  199. package/dist/charts/engine/shapes/chart.js +45 -26
  200. package/dist/charts/engine/shapes/chart.js.map +1 -1
  201. package/dist/charts/engine/shapes/draw.cjs +1 -1
  202. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  203. package/dist/charts/engine/shapes/draw.d.cts +3 -1
  204. package/dist/charts/engine/shapes/draw.d.ts +3 -1
  205. package/dist/charts/engine/shapes/draw.js +31 -18
  206. package/dist/charts/engine/shapes/draw.js.map +1 -1
  207. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  208. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  209. package/dist/charts/engine/shapes/funnel.js +3 -3
  210. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  211. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  212. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  213. package/dist/charts/engine/shapes/gauge.js +132 -95
  214. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  215. package/dist/charts/engine/shapes/hit.cjs +1 -1
  216. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  217. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  218. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  219. package/dist/charts/engine/shapes/hit.js +29 -8
  220. package/dist/charts/engine/shapes/hit.js.map +1 -1
  221. package/dist/charts/engine/shapes/index.d.cts +4 -1
  222. package/dist/charts/engine/shapes/index.d.ts +4 -1
  223. package/dist/charts/engine/shapes/labels.cjs +2 -0
  224. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  225. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  226. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  227. package/dist/charts/engine/shapes/labels.js +146 -0
  228. package/dist/charts/engine/shapes/labels.js.map +1 -0
  229. package/dist/charts/engine/shapes/layout.cjs +2 -2
  230. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  231. package/dist/charts/engine/shapes/layout.d.cts +8 -3
  232. package/dist/charts/engine/shapes/layout.d.ts +8 -3
  233. package/dist/charts/engine/shapes/layout.js +200 -113
  234. package/dist/charts/engine/shapes/layout.js.map +1 -1
  235. package/dist/charts/engine/shapes/pie.cjs +1 -1
  236. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  237. package/dist/charts/engine/shapes/pie.js +2 -2
  238. package/dist/charts/engine/shapes/pie.js.map +1 -1
  239. package/dist/charts/engine/shapes/radar.cjs +1 -1
  240. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  241. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  242. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  243. package/dist/charts/engine/shapes/radar.js +50 -49
  244. package/dist/charts/engine/shapes/radar.js.map +1 -1
  245. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  246. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  247. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  248. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  249. package/dist/charts/engine/shapes/radialBar.js +155 -0
  250. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  251. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  252. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  253. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  254. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  255. package/dist/charts/engine/shapes/runtime.js +61 -51
  256. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  257. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  258. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  260. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  261. package/dist/charts/engine/shapes/sankey.js +372 -0
  262. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  263. package/dist/charts/engine/shapes/scene.cjs +1 -1
  264. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  265. package/dist/charts/engine/shapes/scene.d.cts +62 -8
  266. package/dist/charts/engine/shapes/scene.d.ts +62 -8
  267. package/dist/charts/engine/shapes/scene.js +33 -31
  268. package/dist/charts/engine/shapes/scene.js.map +1 -1
  269. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  270. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  272. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  273. package/dist/charts/engine/shapes/sunburst.js +261 -0
  274. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  275. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  276. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/treemap.js +2 -2
  278. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  279. package/dist/charts/engine/shapes/types.d.cts +439 -12
  280. package/dist/charts/engine/shapes/types.d.ts +439 -12
  281. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  282. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  283. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  284. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  285. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  286. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  287. package/dist/charts/engine/three-d/chart.cjs +2 -0
  288. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  289. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  290. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  291. package/dist/charts/engine/three-d/chart.js +621 -0
  292. package/dist/charts/engine/three-d/chart.js.map +1 -0
  293. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  294. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  295. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  296. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  297. package/dist/charts/engine/three-d/colormap.js +166 -0
  298. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  299. package/dist/charts/engine/three-d/contours.cjs +2 -0
  300. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  301. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  302. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  303. package/dist/charts/engine/three-d/contours.js +47 -0
  304. package/dist/charts/engine/three-d/contours.js.map +1 -0
  305. package/dist/charts/engine/three-d/detect.cjs +2 -0
  306. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  307. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  308. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  309. package/dist/charts/engine/three-d/detect.js +35 -0
  310. package/dist/charts/engine/three-d/detect.js.map +1 -0
  311. package/dist/charts/engine/three-d/dom.cjs +2 -0
  312. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  313. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  314. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  315. package/dist/charts/engine/three-d/dom.js +98 -0
  316. package/dist/charts/engine/three-d/dom.js.map +1 -0
  317. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  318. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  319. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  320. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  321. package/dist/charts/engine/three-d/geometry.js +529 -0
  322. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  323. package/dist/charts/engine/three-d/hover.cjs +2 -0
  324. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  325. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  326. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  327. package/dist/charts/engine/three-d/hover.js +131 -0
  328. package/dist/charts/engine/three-d/hover.js.map +1 -0
  329. package/dist/charts/engine/three-d/index.cjs +1 -0
  330. package/dist/charts/engine/three-d/index.d.cts +2 -0
  331. package/dist/charts/engine/three-d/index.d.ts +2 -0
  332. package/dist/charts/engine/three-d/index.js +2 -0
  333. package/dist/charts/engine/three-d/labels.cjs +2 -0
  334. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  336. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  337. package/dist/charts/engine/three-d/labels.js +136 -0
  338. package/dist/charts/engine/three-d/labels.js.map +1 -0
  339. package/dist/charts/engine/three-d/math.cjs +2 -0
  340. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  341. package/dist/charts/engine/three-d/math.d.cts +84 -0
  342. package/dist/charts/engine/three-d/math.d.ts +84 -0
  343. package/dist/charts/engine/three-d/math.js +150 -0
  344. package/dist/charts/engine/three-d/math.js.map +1 -0
  345. package/dist/charts/engine/three-d/model.cjs +2 -0
  346. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  347. package/dist/charts/engine/three-d/model.d.cts +130 -0
  348. package/dist/charts/engine/three-d/model.d.ts +130 -0
  349. package/dist/charts/engine/three-d/model.js +277 -0
  350. package/dist/charts/engine/three-d/model.js.map +1 -0
  351. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  352. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  353. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  354. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  355. package/dist/charts/engine/three-d/overlay.js +197 -0
  356. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  357. package/dist/charts/engine/three-d/pick.cjs +2 -0
  358. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  359. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  360. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  361. package/dist/charts/engine/three-d/pick.js +220 -0
  362. package/dist/charts/engine/three-d/pick.js.map +1 -0
  363. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  364. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  365. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  366. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  367. package/dist/charts/engine/three-d/render-types.js +13 -0
  368. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  369. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  370. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  371. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  372. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  373. package/dist/charts/engine/three-d/shaders.js +191 -0
  374. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  375. package/dist/charts/engine/three-d/sort.cjs +2 -0
  376. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  377. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  378. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  379. package/dist/charts/engine/three-d/sort.js +71 -0
  380. package/dist/charts/engine/three-d/sort.js.map +1 -0
  381. package/dist/charts/engine/three-d/types.d.cts +588 -0
  382. package/dist/charts/engine/three-d/types.d.ts +588 -0
  383. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  384. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  386. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  387. package/dist/charts/engine/three-d/webgl.js +130 -0
  388. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  389. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  390. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  392. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  393. package/dist/charts/engine/three-d/webgpu.js +249 -0
  394. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  395. package/dist/charts/engine/time.cjs +1 -1
  396. package/dist/charts/engine/time.cjs.map +1 -1
  397. package/dist/charts/engine/time.d.cts +13 -4
  398. package/dist/charts/engine/time.d.ts +13 -4
  399. package/dist/charts/engine/time.js +156 -91
  400. package/dist/charts/engine/time.js.map +1 -1
  401. package/dist/charts/engine/trading/chart.cjs +2 -0
  402. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  403. package/dist/charts/engine/trading/chart.d.cts +3 -0
  404. package/dist/charts/engine/trading/chart.d.ts +3 -0
  405. package/dist/charts/engine/trading/chart.js +1507 -0
  406. package/dist/charts/engine/trading/chart.js.map +1 -0
  407. package/dist/charts/engine/trading/drawings.cjs +2 -0
  408. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  409. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  410. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  411. package/dist/charts/engine/trading/drawings.js +160 -0
  412. package/dist/charts/engine/trading/drawings.js.map +1 -0
  413. package/dist/charts/engine/trading/format.cjs +2 -0
  414. package/dist/charts/engine/trading/format.cjs.map +1 -0
  415. package/dist/charts/engine/trading/format.d.cts +60 -0
  416. package/dist/charts/engine/trading/format.d.ts +60 -0
  417. package/dist/charts/engine/trading/format.js +131 -0
  418. package/dist/charts/engine/trading/format.js.map +1 -0
  419. package/dist/charts/engine/trading/geometry.cjs +2 -0
  420. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  421. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  422. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  423. package/dist/charts/engine/trading/geometry.js +131 -0
  424. package/dist/charts/engine/trading/geometry.js.map +1 -0
  425. package/dist/charts/engine/trading/index.cjs +1 -0
  426. package/dist/charts/engine/trading/index.d.cts +3 -0
  427. package/dist/charts/engine/trading/index.d.ts +3 -0
  428. package/dist/charts/engine/trading/index.js +3 -0
  429. package/dist/charts/engine/trading/indicators.cjs +2 -0
  430. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  431. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  432. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  433. package/dist/charts/engine/trading/indicators.js +268 -0
  434. package/dist/charts/engine/trading/indicators.js.map +1 -0
  435. package/dist/charts/engine/trading/labels.cjs +2 -0
  436. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  437. package/dist/charts/engine/trading/labels.d.cts +7 -0
  438. package/dist/charts/engine/trading/labels.d.ts +7 -0
  439. package/dist/charts/engine/trading/labels.js +91 -0
  440. package/dist/charts/engine/trading/labels.js.map +1 -0
  441. package/dist/charts/engine/trading/scale.cjs +2 -0
  442. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  443. package/dist/charts/engine/trading/scale.d.cts +46 -0
  444. package/dist/charts/engine/trading/scale.d.ts +46 -0
  445. package/dist/charts/engine/trading/scale.js +100 -0
  446. package/dist/charts/engine/trading/scale.js.map +1 -0
  447. package/dist/charts/engine/trading/store.cjs +2 -0
  448. package/dist/charts/engine/trading/store.cjs.map +1 -0
  449. package/dist/charts/engine/trading/store.d.cts +62 -0
  450. package/dist/charts/engine/trading/store.d.ts +62 -0
  451. package/dist/charts/engine/trading/store.js +129 -0
  452. package/dist/charts/engine/trading/store.js.map +1 -0
  453. package/dist/charts/engine/trading/studies.cjs +2 -0
  454. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  455. package/dist/charts/engine/trading/studies.d.cts +52 -0
  456. package/dist/charts/engine/trading/studies.d.ts +52 -0
  457. package/dist/charts/engine/trading/studies.js +254 -0
  458. package/dist/charts/engine/trading/studies.js.map +1 -0
  459. package/dist/charts/engine/trading/types.d.cts +656 -0
  460. package/dist/charts/engine/trading/types.d.ts +656 -0
  461. package/dist/charts/engine/types.d.cts +165 -14
  462. package/dist/charts/engine/types.d.ts +165 -14
  463. package/dist/charts/index.cjs +1 -1
  464. package/dist/charts/index.d.cts +7 -4
  465. package/dist/charts/index.d.ts +7 -4
  466. package/dist/charts/index.js +22 -11
  467. package/dist/charts/react/Chart.cjs +1 -1
  468. package/dist/charts/react/Chart.cjs.map +1 -1
  469. package/dist/charts/react/Chart.d.cts +4 -4
  470. package/dist/charts/react/Chart.d.ts +4 -4
  471. package/dist/charts/react/Chart.js +5 -1
  472. package/dist/charts/react/Chart.js.map +1 -1
  473. package/dist/charts/react/charts.cjs +1 -1
  474. package/dist/charts/react/charts.cjs.map +1 -1
  475. package/dist/charts/react/charts.d.cts +39 -1
  476. package/dist/charts/react/charts.d.ts +39 -1
  477. package/dist/charts/react/charts.js +303 -131
  478. package/dist/charts/react/charts.js.map +1 -1
  479. package/dist/charts/react/orderbook.cjs +2 -0
  480. package/dist/charts/react/orderbook.cjs.map +1 -0
  481. package/dist/charts/react/orderbook.d.cts +142 -0
  482. package/dist/charts/react/orderbook.d.ts +142 -0
  483. package/dist/charts/react/orderbook.js +182 -0
  484. package/dist/charts/react/orderbook.js.map +1 -0
  485. package/dist/charts/react/shapes.cjs +1 -1
  486. package/dist/charts/react/shapes.cjs.map +1 -1
  487. package/dist/charts/react/shapes.d.cts +291 -9
  488. package/dist/charts/react/shapes.d.ts +291 -9
  489. package/dist/charts/react/shapes.js +280 -93
  490. package/dist/charts/react/shapes.js.map +1 -1
  491. package/dist/charts/react/three-d.cjs +2 -0
  492. package/dist/charts/react/three-d.cjs.map +1 -0
  493. package/dist/charts/react/three-d.d.cts +151 -0
  494. package/dist/charts/react/three-d.d.ts +151 -0
  495. package/dist/charts/react/three-d.js +154 -0
  496. package/dist/charts/react/three-d.js.map +1 -0
  497. package/dist/charts/react/trading.cjs +2 -0
  498. package/dist/charts/react/trading.cjs.map +1 -0
  499. package/dist/charts/react/trading.d.cts +93 -0
  500. package/dist/charts/react/trading.d.ts +93 -0
  501. package/dist/charts/react/trading.js +95 -0
  502. package/dist/charts/react/trading.js.map +1 -0
  503. package/dist/charts/react/types.d.cts +132 -8
  504. package/dist/charts/react/types.d.ts +132 -8
  505. package/dist/core/contracts.cjs +1 -1
  506. package/dist/core/contracts.cjs.map +1 -1
  507. package/dist/core/contracts.js +1 -1
  508. package/dist/core/contracts.js.map +1 -1
  509. package/dist/native/charts/src/canvas.cjs +1 -1
  510. package/dist/native/charts/src/canvas.js +9 -3
  511. package/dist/native/charts/src/engine/axis.cjs +1 -1
  512. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  513. package/dist/native/charts/src/engine/axis.js +6 -6
  514. package/dist/native/charts/src/engine/axis.js.map +1 -1
  515. package/dist/native/charts/src/engine/controller.cjs +1 -1
  516. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  517. package/dist/native/charts/src/engine/controller.js +352 -292
  518. package/dist/native/charts/src/engine/controller.js.map +1 -1
  519. package/dist/native/charts/src/engine/data.cjs +1 -1
  520. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  521. package/dist/native/charts/src/engine/data.js +63 -49
  522. package/dist/native/charts/src/engine/data.js.map +1 -1
  523. package/dist/native/charts/src/engine/format.cjs +1 -1
  524. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  525. package/dist/native/charts/src/engine/format.js +46 -21
  526. package/dist/native/charts/src/engine/format.js.map +1 -1
  527. package/dist/native/charts/src/engine/labels.cjs +2 -0
  528. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  529. package/dist/native/charts/src/engine/labels.js +74 -0
  530. package/dist/native/charts/src/engine/labels.js.map +1 -0
  531. package/dist/native/charts/src/engine/layout.cjs +1 -1
  532. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  533. package/dist/native/charts/src/engine/layout.js +53 -12
  534. package/dist/native/charts/src/engine/layout.js.map +1 -1
  535. package/dist/native/charts/src/engine/locale.cjs +2 -0
  536. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  537. package/dist/native/charts/src/engine/locale.js +60 -0
  538. package/dist/native/charts/src/engine/locale.js.map +1 -0
  539. package/dist/native/charts/src/engine/model.cjs +1 -1
  540. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  541. package/dist/native/charts/src/engine/model.js +223 -116
  542. package/dist/native/charts/src/engine/model.js.map +1 -1
  543. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  544. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  545. package/dist/native/charts/src/engine/overlay.js +46 -23
  546. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  547. package/dist/native/charts/src/engine/presets.cjs +2 -2
  548. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  549. package/dist/native/charts/src/engine/presets.js +448 -33
  550. package/dist/native/charts/src/engine/presets.js.map +1 -1
  551. package/dist/native/charts/src/engine/scale.cjs +1 -1
  552. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  553. package/dist/native/charts/src/engine/scale.js +1 -1
  554. package/dist/native/charts/src/engine/scale.js.map +1 -1
  555. package/dist/native/charts/src/engine/scene.cjs +1 -1
  556. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  557. package/dist/native/charts/src/engine/scene.js +296 -167
  558. package/dist/native/charts/src/engine/scene.js.map +1 -1
  559. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  560. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  561. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  562. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  563. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  564. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  565. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  566. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  567. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  568. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  569. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  570. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  571. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  572. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  573. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  574. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  575. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  576. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  577. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  578. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  579. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  580. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  581. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  582. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  583. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  584. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  585. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  586. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  587. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  588. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  589. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  590. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  591. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  592. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  593. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  594. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  595. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  596. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  597. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  598. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  599. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  600. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  601. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  602. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  603. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  604. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  605. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  606. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  607. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  608. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  609. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  610. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  611. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  612. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  613. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  614. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  615. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  616. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  617. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  618. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  620. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  622. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  624. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  626. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  627. package/dist/native/charts/src/engine/time.cjs +1 -1
  628. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/time.js +156 -91
  630. package/dist/native/charts/src/engine/time.js.map +1 -1
  631. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  632. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  633. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  634. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  635. package/dist/native/components/Chart/ChartBase.js +110 -107
  636. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  637. package/dist/native/components/Chart/charts.cjs +1 -1
  638. package/dist/native/components/Chart/charts.cjs.map +1 -1
  639. package/dist/native/components/Chart/charts.d.cts +6 -1
  640. package/dist/native/components/Chart/charts.d.ts +6 -1
  641. package/dist/native/components/Chart/charts.js +53 -29
  642. package/dist/native/components/Chart/charts.js.map +1 -1
  643. package/dist/native/components/Chart/index.cjs +1 -1
  644. package/dist/native/components/Chart/index.d.cts +1 -1
  645. package/dist/native/components/Chart/index.d.ts +1 -1
  646. package/dist/native/components/Chart/index.js +2 -2
  647. package/dist/native/components/Chart/scene.cjs +1 -1
  648. package/dist/native/components/Chart/scene.cjs.map +1 -1
  649. package/dist/native/components/Chart/scene.js +234 -217
  650. package/dist/native/components/Chart/scene.js.map +1 -1
  651. package/dist/native/components/Chart/types.d.cts +26 -3
  652. package/dist/native/components/Chart/types.d.ts +26 -3
  653. package/dist/native/components/Charts/charts.cjs +2 -0
  654. package/dist/native/components/Charts/charts.cjs.map +1 -0
  655. package/dist/native/components/Charts/charts.d.cts +41 -0
  656. package/dist/native/components/Charts/charts.d.ts +41 -0
  657. package/dist/native/components/Charts/charts.js +338 -0
  658. package/dist/native/components/Charts/charts.js.map +1 -0
  659. package/dist/native/components/Charts/index.cjs +1 -0
  660. package/dist/native/components/Charts/index.d.cts +2 -0
  661. package/dist/native/components/Charts/index.d.ts +2 -0
  662. package/dist/native/components/Charts/index.js +2 -0
  663. package/dist/native/components/Charts/types.d.cts +144 -0
  664. package/dist/native/components/Charts/types.d.ts +144 -0
  665. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  666. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  667. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  668. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  669. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  670. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  671. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  672. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  673. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  674. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  675. package/dist/native/components/ShapeChart/charts.js +387 -0
  676. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  677. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  678. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  679. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  680. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  681. package/dist/native/components/ShapeChart/draw.js +104 -0
  682. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  683. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  684. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  685. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  686. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  687. package/dist/native/components/ShapeChart/geometry.js +602 -0
  688. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  689. package/dist/native/components/ShapeChart/index.cjs +1 -0
  690. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  691. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  692. package/dist/native/components/ShapeChart/index.js +2 -0
  693. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  694. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  695. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  696. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  697. package/dist/native/components/ShapeChart/recorder.js +574 -0
  698. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  699. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  700. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  701. package/dist/native/index.cjs +1 -1
  702. package/dist/native/index.d.cts +2 -0
  703. package/dist/native/index.d.ts +2 -0
  704. package/dist/native/index.js +14 -10
  705. package/dist/native/manifest.d.cts +6 -4
  706. package/dist/native/manifest.d.ts +6 -4
  707. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  708. package/dist/native/source/components/Chart/charts.tsx +42 -6
  709. package/dist/native/source/components/Chart/index.ts +1 -0
  710. package/dist/native/source/components/Chart/scene.tsx +154 -84
  711. package/dist/native/source/components/Chart/types.ts +31 -1
  712. package/dist/native/source/components/Charts/charts.tsx +493 -0
  713. package/dist/native/source/components/Charts/index.ts +14 -0
  714. package/dist/native/source/components/Charts/types.ts +207 -0
  715. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  716. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  717. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  718. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  719. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  720. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  721. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  722. package/dist/native/source/index.ts +2 -0
  723. package/dist/native/source/manifest.ts +30 -4
  724. package/dist/taro/charts.d.ts +209 -4
  725. package/dist/taro/index.d.ts +1 -0
  726. package/dist/taro/index.js +7517 -1856
  727. package/dist/taro/manifest.d.ts +1 -0
  728. package/dist/taro/shape-charts.d.ts +537 -0
  729. package/dist/uni/AreaChart.vue +68 -0
  730. package/dist/uni/AreaChart.vue.d.ts +120 -0
  731. package/dist/uni/Badge.vue.d.ts +1 -1
  732. package/dist/uni/BoxPlotChart.vue +66 -0
  733. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  734. package/dist/uni/BubbleChart.vue +68 -0
  735. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  736. package/dist/uni/BulletChart.vue +86 -0
  737. package/dist/uni/BulletChart.vue.d.ts +110 -0
  738. package/dist/uni/CalendarHeatmap.vue +92 -0
  739. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  740. package/dist/uni/CandlestickChart.vue +66 -0
  741. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  742. package/dist/uni/DonutChart.vue +72 -0
  743. package/dist/uni/DonutChart.vue.d.ts +114 -0
  744. package/dist/uni/FunnelChart.vue +67 -0
  745. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  746. package/dist/uni/GanttChart.vue +67 -0
  747. package/dist/uni/GanttChart.vue.d.ts +123 -0
  748. package/dist/uni/GaugeChart.vue +77 -0
  749. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  750. package/dist/uni/HeatmapChart.vue +66 -0
  751. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  752. package/dist/uni/HistogramChart.vue +66 -0
  753. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  754. package/dist/uni/HorizontalBarChart.vue +68 -0
  755. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  756. package/dist/uni/Input.vue.d.ts +1 -1
  757. package/dist/uni/MixedChart.vue +68 -0
  758. package/dist/uni/MixedChart.vue.d.ts +106 -0
  759. package/dist/uni/NumberInput.vue.d.ts +1 -1
  760. package/dist/uni/PieChart.vue +72 -0
  761. package/dist/uni/PieChart.vue.d.ts +114 -0
  762. package/dist/uni/RadarChart.vue +67 -0
  763. package/dist/uni/RadarChart.vue.d.ts +110 -0
  764. package/dist/uni/RadialBarChart.vue +90 -0
  765. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  766. package/dist/uni/RangeAreaChart.vue +68 -0
  767. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  768. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  769. package/dist/uni/SankeyChart.vue +88 -0
  770. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  771. package/dist/uni/ShapeChart.vue +73 -0
  772. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  773. package/dist/uni/Sparkline.vue +58 -0
  774. package/dist/uni/Sparkline.vue.d.ts +77 -0
  775. package/dist/uni/SunburstChart.vue +90 -0
  776. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  777. package/dist/uni/Textarea.vue.d.ts +1 -1
  778. package/dist/uni/TimePicker.vue.d.ts +1 -1
  779. package/dist/uni/TreemapChart.vue +65 -0
  780. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  781. package/dist/uni/WaterfallChart.vue +66 -0
  782. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  783. package/dist/uni/chart-types.d.ts +216 -2
  784. package/dist/uni/chart-types.js +174 -0
  785. package/dist/uni/charts-canvas.js +8 -3
  786. package/dist/uni/index.d.ts +26 -1
  787. package/dist/uni/index.js +26 -1
  788. package/dist/uni/manifest.d.ts +272 -0
  789. package/dist/uni/manifest.js +387 -0
  790. package/dist/uni/named-chart-options.d.ts +88 -0
  791. package/dist/uni/named-chart-options.js +156 -0
  792. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  793. package/dist/uni/shape-chart-canvas.js +342 -0
  794. package/dist/uni/shape-chart-types.d.ts +381 -0
  795. package/dist/uni/shape-chart-types.js +261 -0
  796. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  797. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  798. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  799. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  800. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  801. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  802. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  803. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  804. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  805. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  806. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  807. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  808. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  809. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  810. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  811. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  812. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  813. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  814. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  815. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  816. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  817. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  818. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  819. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  820. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  821. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  822. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  823. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  824. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  825. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  826. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  827. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  828. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  829. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  830. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  831. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  832. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  833. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  834. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  835. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  836. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  837. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  838. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  839. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  840. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  841. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  842. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  843. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  844. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  845. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  846. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  847. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  848. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  849. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  850. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  851. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  852. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  853. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  854. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  855. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  856. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  857. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  860. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  865. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  867. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  870. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  872. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  875. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  877. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  880. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  882. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  885. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  887. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  888. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  890. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  892. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  895. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  897. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  898. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  900. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  902. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  903. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  905. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  912. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  915. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  917. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  920. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  922. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  925. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  927. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  930. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  935. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  940. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  942. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  945. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  947. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  950. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  952. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  953. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  955. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  957. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  958. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  960. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  962. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  963. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  965. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  967. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  968. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  970. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  972. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  975. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  977. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  980. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  982. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  985. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  987. package/dist/vue/components/Chart/cartesian.js +56 -0
  988. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  989. package/dist/vue/components/Chart/engine.d.ts +35 -0
  990. package/dist/vue/components/Chart/engine.js +35 -0
  991. package/dist/vue/components/Chart/engine.js.map +1 -0
  992. package/dist/vue/components/Chart/index.d.ts +41 -0
  993. package/dist/vue/components/Chart/index.js +40 -0
  994. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  995. package/dist/vue/components/Chart/orderbook.js +126 -0
  996. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  997. package/dist/vue/components/Chart/props.d.ts +188 -0
  998. package/dist/vue/components/Chart/props.js +92 -0
  999. package/dist/vue/components/Chart/props.js.map +1 -0
  1000. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1001. package/dist/vue/components/Chart/shape.js +42 -0
  1002. package/dist/vue/components/Chart/shape.js.map +1 -0
  1003. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1004. package/dist/vue/components/Chart/three-d.js +88 -0
  1005. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1006. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1007. package/dist/vue/components/Chart/trading.js +55 -0
  1008. package/dist/vue/components/Chart/trading.js.map +1 -0
  1009. package/dist/vue/components/Chart/types.d.ts +137 -0
  1010. package/dist/vue/global.d.ts +38 -0
  1011. package/dist/vue/groups/charts.d.ts +1 -0
  1012. package/dist/vue/groups/charts.js +87 -0
  1013. package/dist/vue/groups/charts.js.map +1 -0
  1014. package/dist/vue/index.d.ts +1 -0
  1015. package/dist/vue/index.js +63 -23
  1016. package/dist/vue/plugin.js +12 -10
  1017. package/dist/vue/plugin.js.map +1 -1
  1018. package/dist/weapp/area-chart/index.js +1 -0
  1019. package/dist/weapp/area-chart/index.json +1 -0
  1020. package/dist/weapp/area-chart/index.wxml +1 -0
  1021. package/dist/weapp/area-chart/index.wxss +1 -0
  1022. package/dist/weapp/box-plot-chart/index.js +1 -0
  1023. package/dist/weapp/box-plot-chart/index.json +1 -0
  1024. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1025. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1026. package/dist/weapp/bubble-chart/index.js +1 -0
  1027. package/dist/weapp/bubble-chart/index.json +1 -0
  1028. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1029. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1030. package/dist/weapp/bullet-chart/index.js +1 -0
  1031. package/dist/weapp/bullet-chart/index.json +1 -0
  1032. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1033. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1034. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1035. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1036. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1037. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1038. package/dist/weapp/candlestick-chart/index.js +1 -0
  1039. package/dist/weapp/candlestick-chart/index.json +1 -0
  1040. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1041. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1042. package/dist/weapp/charts/canvas.js +11436 -0
  1043. package/dist/weapp/charts/core.d.ts +2 -0
  1044. package/dist/weapp/charts/core.js +41 -0
  1045. package/dist/weapp/controls.js +1433 -4478
  1046. package/dist/weapp/donut-chart/index.js +1 -0
  1047. package/dist/weapp/donut-chart/index.json +1 -0
  1048. package/dist/weapp/donut-chart/index.wxml +1 -0
  1049. package/dist/weapp/donut-chart/index.wxss +1 -0
  1050. package/dist/weapp/funnel-chart/index.js +1 -0
  1051. package/dist/weapp/funnel-chart/index.json +1 -0
  1052. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1053. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1054. package/dist/weapp/gantt-chart/index.js +1 -0
  1055. package/dist/weapp/gantt-chart/index.json +1 -0
  1056. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1057. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1058. package/dist/weapp/gauge-chart/index.js +1 -0
  1059. package/dist/weapp/gauge-chart/index.json +1 -0
  1060. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1061. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1062. package/dist/weapp/heatmap-chart/index.js +1 -0
  1063. package/dist/weapp/heatmap-chart/index.json +1 -0
  1064. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1065. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1066. package/dist/weapp/histogram-chart/index.js +1 -0
  1067. package/dist/weapp/histogram-chart/index.json +1 -0
  1068. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1069. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1070. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1071. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1072. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1073. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1074. package/dist/weapp/mixed-chart/index.js +1 -0
  1075. package/dist/weapp/mixed-chart/index.json +1 -0
  1076. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1077. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1078. package/dist/weapp/pie-chart/index.js +1 -0
  1079. package/dist/weapp/pie-chart/index.json +1 -0
  1080. package/dist/weapp/pie-chart/index.wxml +1 -0
  1081. package/dist/weapp/pie-chart/index.wxss +1 -0
  1082. package/dist/weapp/radar-chart/index.js +1 -0
  1083. package/dist/weapp/radar-chart/index.json +1 -0
  1084. package/dist/weapp/radar-chart/index.wxml +1 -0
  1085. package/dist/weapp/radar-chart/index.wxss +1 -0
  1086. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1087. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1088. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1089. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1090. package/dist/weapp/range-area-chart/index.js +1 -0
  1091. package/dist/weapp/range-area-chart/index.json +1 -0
  1092. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1093. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1094. package/dist/weapp/sankey-chart/index.js +1 -0
  1095. package/dist/weapp/sankey-chart/index.json +1 -0
  1096. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1097. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1098. package/dist/weapp/shape-chart/index.js +1 -0
  1099. package/dist/weapp/shape-chart/index.json +1 -0
  1100. package/dist/weapp/shape-chart/index.wxml +1 -0
  1101. package/dist/weapp/shape-chart/index.wxss +1 -0
  1102. package/dist/weapp/sparkline/index.js +1 -0
  1103. package/dist/weapp/sparkline/index.json +1 -0
  1104. package/dist/weapp/sparkline/index.wxml +1 -0
  1105. package/dist/weapp/sparkline/index.wxss +1 -0
  1106. package/dist/weapp/sunburst-chart/index.js +1 -0
  1107. package/dist/weapp/sunburst-chart/index.json +1 -0
  1108. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1109. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1110. package/dist/weapp/treemap-chart/index.js +1 -0
  1111. package/dist/weapp/treemap-chart/index.json +1 -0
  1112. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1113. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1114. package/dist/weapp/types.d.ts +466 -0
  1115. package/dist/weapp/waterfall-chart/index.js +1 -0
  1116. package/dist/weapp/waterfall-chart/index.json +1 -0
  1117. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1118. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1119. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1120. package/dist/web-components/components/chart/chart.js +55 -0
  1121. package/dist/web-components/components/chart/chart.js.map +1 -0
  1122. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1123. package/dist/web-components/components/chart/charts.js +201 -0
  1124. package/dist/web-components/components/chart/charts.js.map +1 -0
  1125. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1126. package/dist/web-components/components/chart/engine-element.js +77 -0
  1127. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1128. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1129. package/dist/web-components/components/chart/extended.js +183 -0
  1130. package/dist/web-components/components/chart/extended.js.map +1 -0
  1131. package/dist/web-components/components/chart/series.d.ts +7 -0
  1132. package/dist/web-components/components/chart/series.js +14 -0
  1133. package/dist/web-components/components/chart/series.js.map +1 -0
  1134. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1135. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1136. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1137. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1138. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1139. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1140. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1141. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1142. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1143. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1144. package/dist/web-components/components/order-book/order-book.js +174 -0
  1145. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1146. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1147. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1148. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1149. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1150. package/dist/web-components/elements/chart-3d.js +13 -0
  1151. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1152. package/dist/web-components/elements/chart.d.ts +7 -0
  1153. package/dist/web-components/elements/chart.js +43 -0
  1154. package/dist/web-components/elements/chart.js.map +1 -0
  1155. package/dist/web-components/elements/order-book.d.ts +2 -0
  1156. package/dist/web-components/elements/order-book.js +13 -0
  1157. package/dist/web-components/elements/order-book.js.map +1 -0
  1158. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1159. package/dist/web-components/elements/trading-chart.js +8 -0
  1160. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1161. package/dist/web-components/html-custom-data.json +1192 -29
  1162. package/dist/web-components/types/react.d.ts +435 -0
  1163. package/dist/web-components/types/solid.d.ts +321 -0
  1164. package/dist/web-components/types/svelte.d.ts +321 -0
  1165. package/dist/web-components/types/vue.d.ts +359 -0
  1166. package/package.json +113 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tape.cjs","names":["createEmitter","createFormatters","createHost","sideColors","localeLabels","decimalsOf","clamp","ease","toCss","fontOf","formatClock","localPoint","require_color","require_locale","require_book","require_format","require_host","LABELS","COLUMNS","BUY","SELL","MAX_LAG","FLASH_MS","createRing","cap","max","slot","ring","k","pushSlot","i","next","key","old","grown","createTimeAndSales","options","initial","emitter","capacity","raw","rows","open","head","closedTotal","lastPrice","lastTick","fmt","priceDecimals","sizeDecimals","colors","view","target","userScrolled","hoverPaused","paused","lastFrame","hoverAt","keySeq","hoverKey","hovered","dragging","layout","host","container","root","texts","labels","applyTexts","minSize","openVisible","count","refreshFormat","infer","p","trade","s","writeRow","a","ingest","side","time","size","price","tick","arrival","advance","after","delta","before","n","addTrade","rebuild","rowAt","index","visibleOpen","toEvent","row","setPaused","scrollTo","rowsFromTop","user","draw","ctx","l","compact","width","fontSize","rh","headerH","top","visible","height","dt","now","animating","dpr","text","theme","muted","pad","scrollbar","right","cols","all","c","shownCols","weights","totalWeight","colRight","acc","colLeft","j","alignLeft","threshold","first","offset","flash","hoverIndex","r","y","sell","color","large","age","ty","weight","left","x","tickColor","label","w","trackH","track","pageRows","thumbH","maxScroll","thumbY","active","badge","above","textParts","bw","bh","bx","by","inRect","latest","thumbScroll","th","ratio","onPointerMove","event","onPointerLeave","onPointerDown","onPointerUp","onClick","instance","onWheel","step","onKeyDown","page","select","onBlur","nowMs","reset","list","trades","previous","nextCapacity","handler"],"sources":["../../../../../charts/src/engine/orderbook/tape.ts"],"sourcesContent":["// createTimeAndSales: the trade tape. Trades are kept in a ring of typed\n// arrays (hundreds of thousands cost a few megabytes, no object per trade);\n// a second ring holds the rows after the size filter and the same\n// millisecond aggregation. Only the visible rows are drawn, once per frame\n// whatever the number of trades received in between.\n\nimport { toCss, type Rgba } from \"../color\";\nimport { decimalsOf } 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 } from \"./host\";\nimport type {\n MarketTrade,\n TimeAndSalesColumn,\n TimeAndSalesEventMap,\n TimeAndSalesInstance,\n TimeAndSalesLabels,\n TimeAndSalesOptions,\n TimeAndSalesRowEvent,\n} from \"./types\";\n\nconst LABELS: LabelDictionary<TimeAndSalesLabels> = {\n en: {\n time: \"Time\",\n price: \"Price\",\n size: \"Size\",\n side: \"Side\",\n buy: \"Buy\",\n sell: \"Sell\",\n paused: \"Paused\",\n newTrades: \"{count} new\",\n name: \"Time and sales\",\n },\n zh: {\n time: \"时间\",\n price: \"价格\",\n size: \"数量\",\n side: \"方向\",\n buy: \"买入\",\n sell: \"卖出\",\n paused: \"已暂停\",\n newTrades: \"{count} 条新成交\",\n name: \"逐笔成交\",\n },\n ja: {\n time: \"時刻\",\n price: \"価格\",\n size: \"数量\",\n side: \"売買\",\n buy: \"買い\",\n sell: \"売り\",\n paused: \"一時停止中\",\n newTrades: \"新着 {count} 件\",\n name: \"歩み値\",\n },\n fr: {\n time: \"Heure\",\n price: \"Prix\",\n size: \"Quantité\",\n side: \"Sens\",\n buy: \"Achat\",\n sell: \"Vente\",\n paused: \"En pause\",\n newTrades: \"{count} nouvelles\",\n name: \"Historique des transactions\",\n },\n};\n\nconst COLUMNS: readonly TimeAndSalesColumn[] = [\"time\", \"price\", \"size\"];\nconst BUY = 1;\nconst SELL = 2;\n/** Rows the slide-in animation may lag behind the newest one */\nconst MAX_LAG = 3;\nconst FLASH_MS = 450;\n\n/** Growable ring of trades stored column by column */\ninterface Ring {\n time: Float64Array;\n price: Float64Array;\n size: Float64Array;\n side: Uint8Array;\n /** -1 down tick, 0 unchanged, 1 up tick */\n tick: Int8Array;\n /** Trades merged into the row */\n count: Uint32Array;\n /** Local arrival time of the row (flash), `-Infinity` without flash */\n arrival: Float64Array;\n start: number;\n length: number;\n readonly max: number;\n}\n\nconst createRing = (max: number): Ring => {\n const cap = Math.min(max, 1024);\n return {\n time: new Float64Array(cap),\n price: new Float64Array(cap),\n size: new Float64Array(cap),\n side: new Uint8Array(cap),\n tick: new Int8Array(cap),\n count: new Uint32Array(cap),\n arrival: new Float64Array(cap),\n start: 0,\n length: 0,\n max,\n };\n};\n\n/** Physical index of the `k`-th oldest row */\nconst slot = (ring: Ring, k: number) => (ring.start + k) % ring.time.length;\n\n/** Physical index of a new row (grows the arrays, drops the oldest row when full) */\nconst pushSlot = (ring: Ring): number => {\n const cap = ring.time.length;\n if (ring.length < cap) {\n const i = (ring.start + ring.length) % cap;\n ring.length++;\n return i;\n }\n if (cap < ring.max) {\n const next = Math.min(ring.max, cap * 2);\n const keys = [\n \"time\",\n \"price\",\n \"size\",\n \"side\",\n \"tick\",\n \"count\",\n \"arrival\",\n ] as const;\n for (const key of keys) {\n const old = ring[key];\n const grown = new (old.constructor as new (n: number) => typeof old)(\n next,\n );\n // unwrap: oldest row first\n grown.set(old.subarray(ring.start) as never);\n grown.set(old.subarray(0, ring.start) as never, cap - ring.start);\n (ring as unknown as Record<string, unknown>)[key] = grown;\n }\n ring.start = 0;\n ring.length++;\n return cap;\n }\n // full: the oldest row is replaced\n const i = ring.start;\n ring.start = (ring.start + 1) % cap;\n return i;\n};\n\ninterface Aggregate {\n time: number;\n price: number;\n size: number;\n side: number;\n tick: number;\n count: number;\n arrival: number;\n}\n\n/**\n * Creates a time and sales tape in `container`: newest trades on top,\n * virtualized rows, large trade highlight, pause on hover.\n */\nexport const createTimeAndSales = (\n container: HTMLElement,\n initial: TimeAndSalesOptions = {},\n): TimeAndSalesInstance => {\n let options = initial;\n const emitter = createEmitter<TimeAndSalesEventMap>();\n let capacity = Math.max(1, Math.round(options.capacity ?? 200000));\n let raw = createRing(capacity);\n let rows = createRing(capacity);\n /** Aggregate still receiving trades (aggregation only) */\n let open: Aggregate | null = null;\n /** Rows ever shown (closed rows + the open one when visible); only grows */\n let head = 0;\n let closedTotal = 0;\n let lastPrice = NaN;\n let lastTick = 0;\n let fmt: Formatters = createFormatters(options, 2, 4);\n let priceDecimals = 0;\n let sizeDecimals = 0;\n let colors = { up: [0, 0, 0, 1] as Rgba, down: [0, 0, 0, 1] as Rgba };\n\n // scrolling, in rows from the newest one\n let view = 0;\n let target = 0;\n let userScrolled = false;\n let hoverPaused = false;\n let paused = false;\n let lastFrame = NaN;\n let hoverAt: [number, number] | null = null;\n /** Keyboard selection: sequence number of the row (head - 1 - index) */\n let keySeq: number | null = null;\n let hoverKey = \"\";\n let hovered: TimeAndSalesRowEvent | null = null;\n let dragging: { offset: number } | null = null;\n // layout of the last frame\n let layout = {\n top: 0,\n rh: 20,\n visible: 0,\n track: [0, 0, 0, 0],\n badge: [0, 0, 0, 0],\n };\n\n const host = createHost(container, {\n className: \"minerva-time-and-sales\",\n draw,\n onTheme: () => {\n colors = sideColors(host.theme, options);\n },\n });\n const { root } = host;\n root.tabIndex = 0;\n root.setAttribute(\"role\", \"log\");\n root.setAttribute(\"aria-live\", \"off\");\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 minSize = () => Math.max(0, options.minSize ?? 0);\n const openVisible = () => open !== null && open.size >= minSize();\n const count = () => rows.length + (openVisible() ? 1 : 0);\n\n const refreshFormat = () => {\n fmt = createFormatters(options, priceDecimals, sizeDecimals);\n };\n\n const infer = (trade: MarketTrade) => {\n // the first trades decide the decimals (until the precision is set)\n if (raw.length > 64) return;\n const p = Math.min(8, decimalsOf(trade.price));\n const s = Math.min(6, decimalsOf(trade.size));\n if (p > priceDecimals || s > sizeDecimals) {\n priceDecimals = Math.max(priceDecimals, p);\n sizeDecimals = Math.max(sizeDecimals, s);\n refreshFormat();\n }\n };\n\n const writeRow = (a: Aggregate) => {\n const i = pushSlot(rows);\n rows.time[i] = a.time;\n rows.price[i] = a.price;\n rows.size[i] = a.size;\n rows.side[i] = a.side;\n rows.tick[i] = a.tick;\n rows.count[i] = a.count;\n rows.arrival[i] = a.arrival;\n closedTotal++;\n };\n\n /** Adds a trade to the rows (after the raw ring) */\n const ingest = (\n time: number,\n price: number,\n size: number,\n side: number,\n tick: number,\n arrival: number,\n ) => {\n if (options.aggregate) {\n if (open && open.side === side && open.time === time) {\n open.size += size;\n open.price = price;\n open.tick = tick;\n open.count++;\n open.arrival = arrival;\n return;\n }\n if (open && open.size >= minSize()) writeRow(open);\n open = { time, price, size, side, tick, count: 1, arrival };\n return;\n }\n if (size >= minSize())\n writeRow({ time, price, size, side, tick, count: 1, arrival });\n };\n\n /** Moves the view so that the rows on screen stay put (or slide in) */\n const advance = (before: number) => {\n const after = closedTotal + (openVisible() ? 1 : 0);\n const delta = after - before;\n head = after;\n if (delta <= 0) return;\n view += delta;\n if (paused) target += delta;\n else if (options.animate === false) view = target;\n else view = Math.min(view, target + MAX_LAG);\n const n = count();\n target = Math.min(target, Math.max(0, n - 1));\n view = Math.min(view, Math.max(0, n - 1));\n };\n\n const addTrade = (trade: MarketTrade, arrival: number) => {\n const { time, price, size } = trade;\n if (!Number.isFinite(price) || !Number.isFinite(size) || size <= 0) return;\n infer(trade);\n const side = trade.side === \"sell\" ? SELL : BUY;\n if (Number.isFinite(lastPrice) && price !== lastPrice)\n lastTick = price > lastPrice ? 1 : -1;\n lastPrice = price;\n const i = pushSlot(raw);\n raw.time[i] = time;\n raw.price[i] = price;\n raw.size[i] = size;\n raw.side[i] = side;\n raw.tick[i] = lastTick;\n ingest(time, price, size, side, lastTick, arrival);\n };\n\n /** Recomputes the rows from the raw trades (filter / aggregation changed) */\n const rebuild = () => {\n rows = createRing(capacity);\n open = null;\n closedTotal = 0;\n for (let k = 0; k < raw.length; k++) {\n const i = slot(raw, k);\n ingest(\n raw.time[i]!,\n raw.price[i]!,\n raw.size[i]!,\n raw.side[i]!,\n raw.tick[i]!,\n -Infinity,\n );\n }\n head = count();\n view = target = 0;\n userScrolled = false;\n keySeq = null;\n };\n\n /** Row `index` from the top (0 = newest) */\n const rowAt = (index: number): Aggregate | null => {\n if (index < 0) return null;\n const visibleOpen = openVisible();\n if (visibleOpen && index === 0) return open;\n const k = rows.length - 1 - (index - (visibleOpen ? 1 : 0));\n if (k < 0) return null;\n const i = slot(rows, k);\n return {\n time: rows.time[i]!,\n price: rows.price[i]!,\n size: rows.size[i]!,\n side: rows.side[i]!,\n tick: rows.tick[i]!,\n count: rows.count[i]!,\n arrival: rows.arrival[i]!,\n };\n };\n\n const toEvent = (row: Aggregate, index: number): TimeAndSalesRowEvent => ({\n trade: {\n time: row.time,\n price: row.price,\n size: row.size,\n side: row.side === SELL ? \"sell\" : \"buy\",\n },\n count: row.count,\n index,\n });\n\n const setPaused = () => {\n const next = hoverPaused || userScrolled || keySeq !== null;\n if (next === paused) return;\n paused = next;\n if (!paused) {\n // back to the newest rows: scroll at most a page, jump over the rest\n target = 0;\n view = Math.min(view, Math.max(MAX_LAG, layout.visible));\n }\n emitter.emit(\"pause\", paused);\n };\n\n const scrollTo = (rowsFromTop: number, user = true) => {\n const max = Math.max(0, count() - layout.visible);\n target = clamp(Math.round(rowsFromTop), 0, max);\n if (user) userScrolled = target > 0;\n setPaused();\n host.invalidate();\n };\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 l = labels();\n const compact = width < 240;\n const fontSize = options.fontSize ?? (compact ? 11 : 12);\n const rh = Math.max(12, options.rowHeight ?? (compact ? 18 : 20));\n const headerH = options.header === false ? 0 : rh + 2;\n const top = headerH;\n const visible = Math.max(0, Math.ceil((height - top) / rh));\n const n = count();\n const dt = Number.isFinite(lastFrame) ? now - lastFrame : 16;\n lastFrame = now;\n\n // scroll animation\n let animating = false;\n if (options.animate === false || !Number.isFinite(view)) view = target;\n else {\n view += (target - view) * ease(dt, 70);\n if (Math.abs(view - target) < 0.01) view = target;\n else animating = true;\n }\n\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, width, height);\n const text = toCss(theme.text);\n const muted = toCss(theme.textMuted);\n const pad = compact ? 6 : 10;\n const scrollbar = n > Math.floor((height - top) / rh);\n const right = width - pad - (scrollbar ? 6 : 0);\n\n // columns\n const cols = (options.columns ?? COLUMNS).filter(\n (c, i, all) => all.indexOf(c) === i,\n );\n const shownCols =\n compact && cols.length > 3 ? cols.filter((c) => c !== \"side\") : cols;\n const weights: Record<TimeAndSalesColumn, number> = {\n time: options.milliseconds === false ? 1 : 1.25,\n price: 1.1,\n size: 1,\n side: 0.6,\n };\n const totalWeight = shownCols.reduce((s, c) => s + weights[c], 0);\n const colRight: number[] = [];\n let acc = pad;\n for (const c of shownCols) {\n acc += ((right - pad) * weights[c]) / totalWeight;\n colRight.push(acc);\n }\n const colLeft = (j: number) => (j === 0 ? pad : colRight[j - 1]!);\n // the time column (and the first one) is left aligned\n const alignLeft = (c: TimeAndSalesColumn, j: number) =>\n j === 0 || c === \"time\";\n\n // rows\n const threshold = options.largeTradeThreshold ?? Infinity;\n const first = Math.max(0, Math.floor(view));\n const offset = view - first;\n const flash = options.animate !== false;\n hovered = null;\n let hoverIndex = -1;\n if (hoverAt && hoverAt[1] >= top) {\n hoverIndex = Math.floor((hoverAt[1] - top) / rh + view);\n } else if (keySeq !== null) {\n hoverIndex = head - 1 - keySeq;\n }\n ctx.save();\n ctx.beginPath();\n ctx.rect(0, top, width, height - top);\n ctx.clip();\n ctx.textBaseline = \"middle\";\n for (let r = 0; r <= visible; r++) {\n const index = first + r;\n if (index >= n) break;\n const row = rowAt(index);\n if (!row) break;\n const y = top + (r - offset) * rh;\n if (y > height) break;\n const sell = row.side === SELL;\n const color = sell ? colors.down : colors.up;\n const large = row.size >= threshold;\n if (index === hoverIndex) {\n hovered = toEvent(row, index);\n ctx.fillStyle = toCss(theme.text, 0.08);\n ctx.fillRect(0, y, width, rh);\n }\n if (large) {\n // stronger tint as the trade grows (log scale, up to 8x the threshold)\n const k = clamp(Math.log2(row.size / threshold) / 3, 0, 1);\n ctx.fillStyle = toCss(color, 0.12 + 0.2 * k);\n ctx.fillRect(0, y + 1, width, rh - 2);\n ctx.fillStyle = toCss(color);\n ctx.fillRect(0, y + 2, 3, rh - 4);\n }\n if (flash && Number.isFinite(row.arrival)) {\n const age = (now - row.arrival) / FLASH_MS;\n if (age < 1 && age >= 0) {\n ctx.fillStyle = toCss(color, 0.18 * (1 - age) * (1 - age));\n ctx.fillRect(0, y, width, rh);\n animating = true;\n }\n }\n const ty = y + rh / 2 + 0.5;\n const weight = large ? 700 : 400;\n shownCols.forEach((c, j) => {\n const left = alignLeft(c, j);\n ctx.textAlign = left ? \"left\" : \"right\";\n const x = left ? colLeft(j) + (j === 0 && large ? 4 : 0) : colRight[j]!;\n switch (c) {\n case \"time\":\n ctx.font = fontOf(theme, options, 400, fontSize);\n ctx.fillStyle = muted;\n ctx.fillText(\n options.formatTime\n ? options.formatTime(row.time)\n : formatClock(row.time, options.milliseconds !== false),\n x,\n ty,\n );\n break;\n case \"price\": {\n const tickColor =\n row.tick > 0 ? colors.up : row.tick < 0 ? colors.down : null;\n ctx.font = fontOf(theme, options, large ? 700 : 500, fontSize);\n ctx.fillStyle =\n options.priceColor === \"tick\"\n ? tickColor\n ? toCss(tickColor)\n : text\n : toCss(color);\n ctx.fillText(fmt.price(row.price), x, ty);\n break;\n }\n case \"size\": {\n ctx.font = fontOf(theme, options, weight, fontSize);\n ctx.fillStyle = large ? toCss(color) : text;\n const label = fmt.size(row.size);\n ctx.fillText(label, x, ty);\n if (row.count > 1 && !compact) {\n // trades merged into the row\n const w = ctx.measureText(label).width;\n ctx.font = fontOf(theme, options, 400, fontSize - 2);\n ctx.fillStyle = muted;\n ctx.fillText(`×${row.count}`, x - w - 5, ty);\n }\n break;\n }\n case \"side\":\n ctx.font = fontOf(theme, options, 500, fontSize);\n ctx.fillStyle = toCss(color);\n ctx.fillText(sell ? l.sell : l.buy, x, ty);\n break;\n }\n });\n }\n ctx.restore();\n\n // header\n if (headerH) {\n ctx.font = fontOf(theme, options, 400, fontSize - 1);\n ctx.fillStyle = muted;\n ctx.textBaseline = \"middle\";\n shownCols.forEach((c, j) => {\n const left = alignLeft(c, j);\n ctx.textAlign = left ? \"left\" : \"right\";\n ctx.fillText(l[c], left ? colLeft(j) : colRight[j]!, rh / 2 + 1);\n });\n ctx.fillStyle = toCss(theme.grid);\n ctx.fillRect(0, headerH - 1, width, 1);\n }\n\n // scrollbar\n const trackH = height - top - 4;\n let track = [0, 0, 0, 0];\n if (scrollbar && trackH > 20) {\n const pageRows = Math.max(1, (height - top) / rh);\n const thumbH = Math.max(18, (trackH * pageRows) / n);\n const maxScroll = Math.max(1, n - pageRows);\n const thumbY =\n top + 2 + (trackH - thumbH) * clamp(view / maxScroll, 0, 1);\n const active =\n dragging !== null || (hoverAt !== null && hoverAt[0] > width - 12);\n ctx.fillStyle = toCss(theme.textMuted, active ? 0.5 : 0.28);\n roundRect(ctx, width - 6, thumbY, 4, thumbH, 2);\n ctx.fill();\n track = [width - 12, top, 12, trackH + 4];\n }\n\n // badge: paused / new trades above the view\n let badge = [0, 0, 0, 0];\n const above = Math.round(target);\n if (paused || above > 0) {\n const textParts: string[] = [];\n if (hoverPaused && !userScrolled) textParts.push(l.paused);\n if (above > 0)\n textParts.push(\n l.newTrades.replace(\n \"{count}\",\n above > 9999 ? \"9999+\" : String(above),\n ),\n );\n if (textParts.length) {\n const label = textParts.join(\" · \");\n ctx.font = fontOf(theme, options, 500, Math.max(10, fontSize - 1));\n const bw = ctx.measureText(label).width + 20;\n const bh = Math.min(22, rh + 2);\n const bx = (width - bw) / 2;\n const by = top + 6;\n ctx.fillStyle = toCss(theme.primary, 0.92);\n roundRect(ctx, bx, by, bw, bh, bh / 2);\n ctx.fill();\n ctx.fillStyle = \"#fff\";\n ctx.textAlign = \"center\";\n ctx.textBaseline = \"middle\";\n ctx.fillText(label, width / 2, by + bh / 2 + 0.5);\n badge = [bx, by, bw, bh];\n }\n }\n layout = {\n top,\n rh,\n visible: Math.floor((height - top) / rh),\n track,\n badge,\n };\n root.style.cursor =\n badge[2] && hoverAt && inRect(hoverAt, badge) ? \"pointer\" : \"default\";\n\n // hover event\n const key = hovered\n ? `${head - 1 - hovered.index}|${hovered.trade.size}`\n : \"\";\n if (key !== hoverKey) {\n hoverKey = key;\n emitter.emit(\"hover\", hovered);\n }\n\n const latest = rowAt(0);\n if (latest)\n host.describe(\n `${options.ariaLabel ?? l.name}. ${latest.side === SELL ? l.sell : l.buy} ${fmt.size(latest.size)} @ ${fmt.price(latest.price)}.`,\n );\n return animating;\n }\n\n const inRect = (p: readonly number[], r: readonly number[]) =>\n r[2]! > 0 &&\n p[0]! >= r[0]! &&\n p[0]! <= r[0]! + r[2]! &&\n p[1]! >= r[1]! &&\n p[1]! <= r[1]! + r[3]!;\n\n // ---------------------------------------------------------- interaction\n\n const thumbScroll = (y: number) => {\n const [, ty, , th] = layout.track;\n const n = count();\n const ratio = clamp((y - ty!) / Math.max(1, th!), 0, 1);\n scrollTo(ratio * Math.max(0, n - layout.visible));\n };\n\n const onPointerMove = (event: PointerEvent) => {\n hoverAt = localPoint(root, event);\n if (dragging) thumbScroll(hoverAt[1] - dragging.offset);\n if (options.pauseOnHover !== false && !hoverPaused) {\n hoverPaused = true;\n setPaused();\n }\n host.invalidate();\n };\n const onPointerLeave = () => {\n hoverAt = null;\n if (hoverPaused) {\n hoverPaused = false;\n setPaused();\n }\n host.invalidate();\n };\n const onPointerDown = (event: PointerEvent) => {\n const p = localPoint(root, event);\n if (inRect(p, layout.track) && !inRect(p, layout.badge)) {\n dragging = { offset: 0 };\n root.setPointerCapture?.(event.pointerId);\n thumbScroll(p[1]);\n event.preventDefault();\n }\n };\n const onPointerUp = (event: PointerEvent) => {\n if (!dragging) return;\n dragging = null;\n root.releasePointerCapture?.(event.pointerId);\n host.invalidate();\n };\n const onClick = (event: MouseEvent) => {\n const p = localPoint(root, event);\n if (inRect(p, layout.badge)) {\n instance.scrollToLatest();\n return;\n }\n if (inRect(p, layout.track) || p[1] < layout.top) return;\n const index = Math.floor((p[1] - layout.top) / layout.rh + view);\n const row = rowAt(index);\n if (row && index < count()) emitter.emit(\"tradeClick\", toEvent(row, index));\n };\n const onWheel = (event: WheelEvent) => {\n const n = count();\n const max = Math.max(0, n - layout.visible);\n const step =\n event.deltaMode === 1\n ? event.deltaY\n : event.deltaMode === 2\n ? event.deltaY * layout.visible\n : event.deltaY / layout.rh;\n // at the ends the page scrolls\n if ((step < 0 && target <= 0) || (step > 0 && target >= max)) return;\n event.preventDefault();\n scrollTo(target + (Math.abs(step) < 1 ? Math.sign(step) : step));\n };\n const onKeyDown = (event: KeyboardEvent) => {\n const n = count();\n if (!n) return;\n const page = Math.max(1, layout.visible - 1);\n const index = keySeq === null ? -1 : head - 1 - keySeq;\n const select = (next: number) => {\n const i = clamp(next, 0, n - 1);\n keySeq = head - 1 - i;\n // keep the selection on screen\n if (i < target) scrollTo(i);\n else if (i >= target + layout.visible) scrollTo(i - layout.visible + 1);\n else setPaused();\n host.invalidate();\n };\n switch (event.key) {\n case \"ArrowDown\":\n select(index + 1);\n break;\n case \"ArrowUp\":\n select(Math.max(0, index - 1));\n break;\n case \"PageDown\":\n select(Math.max(0, index) + page);\n break;\n case \"PageUp\":\n select(index - page);\n break;\n case \"Home\":\n keySeq = null;\n instance.scrollToLatest();\n break;\n case \"End\":\n select(n - 1);\n break;\n case \"Enter\":\n case \" \": {\n const row = index >= 0 ? rowAt(index) : null;\n if (row) emitter.emit(\"tradeClick\", toEvent(row, index));\n break;\n }\n case \"Escape\":\n keySeq = null;\n instance.scrollToLatest();\n break;\n default:\n return;\n }\n event.preventDefault();\n };\n const onBlur = () => {\n if (keySeq === null) return;\n keySeq = null;\n setPaused();\n host.invalidate();\n };\n root.addEventListener(\"pointermove\", onPointerMove);\n root.addEventListener(\"pointerleave\", onPointerLeave);\n root.addEventListener(\"pointerdown\", onPointerDown);\n root.addEventListener(\"pointerup\", onPointerUp);\n root.addEventListener(\"click\", onClick);\n root.addEventListener(\"wheel\", onWheel, { passive: false });\n root.addEventListener(\"keydown\", onKeyDown);\n root.addEventListener(\"blur\", onBlur);\n\n const nowMs = () =>\n typeof performance !== \"undefined\" ? performance.now() : Date.now();\n\n const reset = () => {\n raw = createRing(capacity);\n rows = createRing(capacity);\n open = null;\n head = closedTotal = 0;\n lastPrice = NaN;\n lastTick = 0;\n priceDecimals = sizeDecimals = 0;\n view = target = 0;\n userScrolled = false;\n keySeq = null;\n setPaused();\n refreshFormat();\n };\n\n const instance: TimeAndSalesInstance = {\n addTrades(trades) {\n const list = Array.isArray(trades)\n ? (trades as readonly MarketTrade[])\n : [trades as MarketTrade];\n if (!list.length) return;\n const before = head;\n const arrival = nowMs();\n for (const trade of list) addTrade(trade, arrival);\n advance(before);\n host.invalidate();\n },\n setTrades(trades) {\n reset();\n for (const trade of trades) addTrade(trade, -Infinity);\n head = count();\n host.invalidate();\n },\n clear() {\n reset();\n host.invalidate();\n },\n setOptions(next) {\n const previous = options;\n options = next;\n applyTexts();\n colors = sideColors(host.theme, options);\n const nextCapacity = Math.max(1, Math.round(options.capacity ?? 200000));\n if (nextCapacity !== capacity) {\n // keep the newest trades that fit\n const old = raw;\n capacity = nextCapacity;\n raw = createRing(capacity);\n for (let k = Math.max(0, old.length - capacity); k < old.length; k++) {\n const i = slot(old, k);\n const j = pushSlot(raw);\n raw.time[j] = old.time[i]!;\n raw.price[j] = old.price[i]!;\n raw.size[j] = old.size[i]!;\n raw.side[j] = old.side[i]!;\n raw.tick[j] = old.tick[i]!;\n }\n rebuild();\n } else if (\n (previous.minSize ?? 0) !== (next.minSize ?? 0) ||\n !previous.aggregate !== !next.aggregate\n ) {\n rebuild();\n }\n if (options.pauseOnHover === false && hoverPaused) hoverPaused = false;\n setPaused();\n refreshFormat();\n host.invalidate();\n },\n scrollToLatest() {\n keySeq = null;\n userScrolled = false;\n target = 0;\n setPaused();\n host.invalidate();\n },\n getCount: count,\n on: (event, handler) => emitter.on(event, handler),\n resize() {\n host.invalidate();\n },\n destroy() {\n root.removeEventListener(\"pointermove\", onPointerMove);\n root.removeEventListener(\"pointerleave\", onPointerLeave);\n root.removeEventListener(\"pointerdown\", onPointerDown);\n root.removeEventListener(\"pointerup\", onPointerUp);\n root.removeEventListener(\"click\", onClick);\n root.removeEventListener(\"wheel\", onWheel);\n root.removeEventListener(\"keydown\", onKeyDown);\n root.removeEventListener(\"blur\", onBlur);\n emitter.clear();\n host.destroy();\n },\n };\n applyTexts();\n colors = sideColors(host.theme, options);\n refreshFormat();\n host.invalidate();\n return instance;\n};\n"],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import { TimeAndSalesInstance, TimeAndSalesOptions } from './types.cjs';
2
+ /**
3
+ * Creates a time and sales tape in `container`: newest trades on top,
4
+ * virtualized rows, large trade highlight, pause on hover.
5
+ */
6
+ export declare const createTimeAndSales: (container: HTMLElement, initial?: TimeAndSalesOptions) => TimeAndSalesInstance;
@@ -0,0 +1,6 @@
1
+ import { TimeAndSalesInstance, TimeAndSalesOptions } from './types.js';
2
+ /**
3
+ * Creates a time and sales tape in `container`: newest trades on top,
4
+ * virtualized rows, large trade highlight, pause on hover.
5
+ */
6
+ export declare const createTimeAndSales: (container: HTMLElement, initial?: TimeAndSalesOptions) => TimeAndSalesInstance;
@@ -0,0 +1,450 @@
1
+ import { toCss as e } from "../color.js";
2
+ import { localeLabels as t } from "../locale.js";
3
+ import { decimalsOf as n } from "./book.js";
4
+ import { clamp as r, createFormatters as i, ease as a, fontOf as o, formatClock as s, roundRect as c, sideColors as l } from "./format.js";
5
+ import { createEmitter as u, createHost as d, localPoint as f } from "./host.js";
6
+ //#region src/engine/orderbook/tape.ts
7
+ var p = {
8
+ en: {
9
+ time: "Time",
10
+ price: "Price",
11
+ size: "Size",
12
+ side: "Side",
13
+ buy: "Buy",
14
+ sell: "Sell",
15
+ paused: "Paused",
16
+ newTrades: "{count} new",
17
+ name: "Time and sales"
18
+ },
19
+ zh: {
20
+ time: "时间",
21
+ price: "价格",
22
+ size: "数量",
23
+ side: "方向",
24
+ buy: "买入",
25
+ sell: "卖出",
26
+ paused: "已暂停",
27
+ newTrades: "{count} 条新成交",
28
+ name: "逐笔成交"
29
+ },
30
+ ja: {
31
+ time: "時刻",
32
+ price: "価格",
33
+ size: "数量",
34
+ side: "売買",
35
+ buy: "買い",
36
+ sell: "売り",
37
+ paused: "一時停止中",
38
+ newTrades: "新着 {count} 件",
39
+ name: "歩み値"
40
+ },
41
+ fr: {
42
+ time: "Heure",
43
+ price: "Prix",
44
+ size: "Quantité",
45
+ side: "Sens",
46
+ buy: "Achat",
47
+ sell: "Vente",
48
+ paused: "En pause",
49
+ newTrades: "{count} nouvelles",
50
+ name: "Historique des transactions"
51
+ }
52
+ }, m = [
53
+ "time",
54
+ "price",
55
+ "size"
56
+ ], h = 1, ee = 2, g = 3, te = 450, _ = (e) => {
57
+ let t = Math.min(e, 1024);
58
+ return {
59
+ time: new Float64Array(t),
60
+ price: new Float64Array(t),
61
+ size: new Float64Array(t),
62
+ side: new Uint8Array(t),
63
+ tick: new Int8Array(t),
64
+ count: new Uint32Array(t),
65
+ arrival: new Float64Array(t),
66
+ start: 0,
67
+ length: 0,
68
+ max: e
69
+ };
70
+ }, v = (e, t) => (e.start + t) % e.time.length, y = (e) => {
71
+ let t = e.time.length;
72
+ if (e.length < t) {
73
+ let n = (e.start + e.length) % t;
74
+ return e.length++, n;
75
+ }
76
+ if (t < e.max) {
77
+ let n = Math.min(e.max, t * 2);
78
+ for (let r of [
79
+ "time",
80
+ "price",
81
+ "size",
82
+ "side",
83
+ "tick",
84
+ "count",
85
+ "arrival"
86
+ ]) {
87
+ let i = e[r], a = new i.constructor(n);
88
+ a.set(i.subarray(e.start)), a.set(i.subarray(0, e.start), t - e.start), e[r] = a;
89
+ }
90
+ return e.start = 0, e.length++, t;
91
+ }
92
+ let n = e.start;
93
+ return e.start = (e.start + 1) % t, n;
94
+ }, b = (b, x = {}) => {
95
+ let S = x, C = u(), w = Math.max(1, Math.round(S.capacity ?? 2e5)), T = _(w), E = _(w), D = null, O = 0, k = 0, A = NaN, j = 0, ne = i(S, 2, 4), M = 0, N = 0, P = {
96
+ up: [
97
+ 0,
98
+ 0,
99
+ 0,
100
+ 1
101
+ ],
102
+ down: [
103
+ 0,
104
+ 0,
105
+ 0,
106
+ 1
107
+ ]
108
+ }, F = 0, I = 0, L = !1, R = !1, z = !1, re = NaN, B = null, V = null, ie = "", H = null, U = null, W = {
109
+ top: 0,
110
+ rh: 20,
111
+ visible: 0,
112
+ track: [
113
+ 0,
114
+ 0,
115
+ 0,
116
+ 0
117
+ ],
118
+ badge: [
119
+ 0,
120
+ 0,
121
+ 0,
122
+ 0
123
+ ]
124
+ }, G = d(b, {
125
+ className: "minerva-time-and-sales",
126
+ draw: ge,
127
+ onTheme: () => {
128
+ P = l(G.theme, S);
129
+ }
130
+ }), { root: K } = G;
131
+ K.tabIndex = 0, K.setAttribute("role", "log"), K.setAttribute("aria-live", "off");
132
+ let ae = t(p, S.locale, S.labels), oe = () => ae, q = () => {
133
+ ae = t(p, S.locale, S.labels), K.setAttribute("aria-label", S.ariaLabel ?? ae.name);
134
+ }, se = () => Math.max(0, S.minSize ?? 0), ce = () => D !== null && D.size >= se(), J = () => E.length + +!!ce(), Y = () => {
135
+ ne = i(S, M, N);
136
+ }, le = (e) => {
137
+ if (T.length > 64) return;
138
+ let t = Math.min(8, n(e.price)), r = Math.min(6, n(e.size));
139
+ (t > M || r > N) && (M = Math.max(M, t), N = Math.max(N, r), Y());
140
+ }, ue = (e) => {
141
+ let t = y(E);
142
+ E.time[t] = e.time, E.price[t] = e.price, E.size[t] = e.size, E.side[t] = e.side, E.tick[t] = e.tick, E.count[t] = e.count, E.arrival[t] = e.arrival, k++;
143
+ }, de = (e, t, n, r, i, a) => {
144
+ if (S.aggregate) {
145
+ if (D && D.side === r && D.time === e) {
146
+ D.size += n, D.price = t, D.tick = i, D.count++, D.arrival = a;
147
+ return;
148
+ }
149
+ D && D.size >= se() && ue(D), D = {
150
+ time: e,
151
+ price: t,
152
+ size: n,
153
+ side: r,
154
+ tick: i,
155
+ count: 1,
156
+ arrival: a
157
+ };
158
+ return;
159
+ }
160
+ n >= se() && ue({
161
+ time: e,
162
+ price: t,
163
+ size: n,
164
+ side: r,
165
+ tick: i,
166
+ count: 1,
167
+ arrival: a
168
+ });
169
+ }, fe = (e) => {
170
+ let t = k + +!!ce(), n = t - e;
171
+ if (O = t, n <= 0) return;
172
+ F += n, z ? I += n : F = S.animate === !1 ? I : Math.min(F, I + g);
173
+ let r = J();
174
+ I = Math.min(I, Math.max(0, r - 1)), F = Math.min(F, Math.max(0, r - 1));
175
+ }, pe = (e, t) => {
176
+ let { time: n, price: r, size: i } = e;
177
+ if (!Number.isFinite(r) || !Number.isFinite(i) || i <= 0) return;
178
+ le(e);
179
+ let a = e.side === "sell" ? ee : h;
180
+ Number.isFinite(A) && r !== A && (j = r > A ? 1 : -1), A = r;
181
+ let o = y(T);
182
+ T.time[o] = n, T.price[o] = r, T.size[o] = i, T.side[o] = a, T.tick[o] = j, de(n, r, i, a, j, t);
183
+ }, X = () => {
184
+ E = _(w), D = null, k = 0;
185
+ for (let e = 0; e < T.length; e++) {
186
+ let t = v(T, e);
187
+ de(T.time[t], T.price[t], T.size[t], T.side[t], T.tick[t], -Infinity);
188
+ }
189
+ O = J(), F = I = 0, L = !1, V = null;
190
+ }, me = (e) => {
191
+ if (e < 0) return null;
192
+ let t = ce();
193
+ if (t && e === 0) return D;
194
+ let n = E.length - 1 - (e - +!!t);
195
+ if (n < 0) return null;
196
+ let r = v(E, n);
197
+ return {
198
+ time: E.time[r],
199
+ price: E.price[r],
200
+ size: E.size[r],
201
+ side: E.side[r],
202
+ tick: E.tick[r],
203
+ count: E.count[r],
204
+ arrival: E.arrival[r]
205
+ };
206
+ }, he = (e, t) => ({
207
+ trade: {
208
+ time: e.time,
209
+ price: e.price,
210
+ size: e.size,
211
+ side: e.side === ee ? "sell" : "buy"
212
+ },
213
+ count: e.count,
214
+ index: t
215
+ }), Z = () => {
216
+ let e = R || L || V !== null;
217
+ e !== z && (z = e, z || (I = 0, F = Math.min(F, Math.max(g, W.visible))), C.emit("pause", z));
218
+ }, Q = (e, t = !0) => {
219
+ let n = Math.max(0, J() - W.visible);
220
+ I = r(Math.round(e), 0, n), t && (L = I > 0), Z(), G.invalidate();
221
+ };
222
+ function ge(t) {
223
+ let n = G.ctx;
224
+ if (!n) return !1;
225
+ let { width: i, height: l, dpr: u, theme: d } = G, f = oe(), p = i < 240, h = S.fontSize ?? (p ? 11 : 12), g = Math.max(12, S.rowHeight ?? (p ? 18 : 20)), _ = S.header === !1 ? 0 : g + 2, v = _, y = Math.max(0, Math.ceil((l - v) / g)), b = J(), x = Number.isFinite(re) ? t - re : 16;
226
+ re = t;
227
+ let w = !1;
228
+ S.animate === !1 || !Number.isFinite(F) ? F = I : (F += (I - F) * a(x, 70), Math.abs(F - I) < .01 ? F = I : w = !0), n.setTransform(u, 0, 0, u, 0, 0), n.clearRect(0, 0, i, l);
229
+ let T = e(d.text), E = e(d.textMuted), D = p ? 6 : 10, k = b > Math.floor((l - v) / g), A = i - D - (k ? 6 : 0), j = (S.columns ?? m).filter((e, t, n) => n.indexOf(e) === t), M = p && j.length > 3 ? j.filter((e) => e !== "side") : j, N = {
230
+ time: S.milliseconds === !1 ? 1 : 1.25,
231
+ price: 1.1,
232
+ size: 1,
233
+ side: .6
234
+ }, ae = M.reduce((e, t) => e + N[t], 0), q = [], se = D;
235
+ for (let e of M) se += (A - D) * N[e] / ae, q.push(se);
236
+ let ce = (e) => e === 0 ? D : q[e - 1], Y = (e, t) => t === 0 || e === "time", le = S.largeTradeThreshold ?? Infinity, ue = Math.max(0, Math.floor(F)), de = F - ue, fe = S.animate !== !1;
237
+ H = null;
238
+ let pe = -1;
239
+ B && B[1] >= v ? pe = Math.floor((B[1] - v) / g + F) : V !== null && (pe = O - 1 - V), n.save(), n.beginPath(), n.rect(0, v, i, l - v), n.clip(), n.textBaseline = "middle";
240
+ for (let a = 0; a <= y; a++) {
241
+ let c = ue + a;
242
+ if (c >= b) break;
243
+ let u = me(c);
244
+ if (!u) break;
245
+ let m = v + (a - de) * g;
246
+ if (m > l) break;
247
+ let _ = u.side === ee, y = _ ? P.down : P.up, x = u.size >= le;
248
+ if (c === pe && (H = he(u, c), n.fillStyle = e(d.text, .08), n.fillRect(0, m, i, g)), x) {
249
+ let t = r(Math.log2(u.size / le) / 3, 0, 1);
250
+ n.fillStyle = e(y, .12 + .2 * t), n.fillRect(0, m + 1, i, g - 2), n.fillStyle = e(y), n.fillRect(0, m + 2, 3, g - 4);
251
+ }
252
+ if (fe && Number.isFinite(u.arrival)) {
253
+ let r = (t - u.arrival) / te;
254
+ r < 1 && r >= 0 && (n.fillStyle = e(y, .18 * (1 - r) * (1 - r)), n.fillRect(0, m, i, g), w = !0);
255
+ }
256
+ let C = m + g / 2 + .5, D = x ? 700 : 400;
257
+ M.forEach((t, r) => {
258
+ let i = Y(t, r);
259
+ n.textAlign = i ? "left" : "right";
260
+ let a = i ? ce(r) + (r === 0 && x ? 4 : 0) : q[r];
261
+ switch (t) {
262
+ case "time":
263
+ n.font = o(d, S, 400, h), n.fillStyle = E, n.fillText(S.formatTime ? S.formatTime(u.time) : s(u.time, S.milliseconds !== !1), a, C);
264
+ break;
265
+ case "price": {
266
+ let t = u.tick > 0 ? P.up : u.tick < 0 ? P.down : null;
267
+ n.font = o(d, S, x ? 700 : 500, h), n.fillStyle = S.priceColor === "tick" ? t ? e(t) : T : e(y), n.fillText(ne.price(u.price), a, C);
268
+ break;
269
+ }
270
+ case "size": {
271
+ n.font = o(d, S, D, h), n.fillStyle = x ? e(y) : T;
272
+ let t = ne.size(u.size);
273
+ if (n.fillText(t, a, C), u.count > 1 && !p) {
274
+ let e = n.measureText(t).width;
275
+ n.font = o(d, S, 400, h - 2), n.fillStyle = E, n.fillText(`×${u.count}`, a - e - 5, C);
276
+ }
277
+ break;
278
+ }
279
+ case "side": n.font = o(d, S, 500, h), n.fillStyle = e(y), n.fillText(_ ? f.sell : f.buy, a, C);
280
+ }
281
+ });
282
+ }
283
+ n.restore(), _ && (n.font = o(d, S, 400, h - 1), n.fillStyle = E, n.textBaseline = "middle", M.forEach((e, t) => {
284
+ let r = Y(e, t);
285
+ n.textAlign = r ? "left" : "right", n.fillText(f[e], r ? ce(t) : q[t], g / 2 + 1);
286
+ }), n.fillStyle = e(d.grid), n.fillRect(0, _ - 1, i, 1));
287
+ let X = l - v - 4, Z = [
288
+ 0,
289
+ 0,
290
+ 0,
291
+ 0
292
+ ];
293
+ if (k && X > 20) {
294
+ let t = Math.max(1, (l - v) / g), a = Math.max(18, X * t / b), o = Math.max(1, b - t), s = v + 2 + (X - a) * r(F / o, 0, 1), u = U !== null || B !== null && B[0] > i - 12;
295
+ n.fillStyle = e(d.textMuted, u ? .5 : .28), c(n, i - 6, s, 4, a, 2), n.fill(), Z = [
296
+ i - 12,
297
+ v,
298
+ 12,
299
+ X + 4
300
+ ];
301
+ }
302
+ let Q = [
303
+ 0,
304
+ 0,
305
+ 0,
306
+ 0
307
+ ], ge = Math.round(I);
308
+ if (z || ge > 0) {
309
+ let t = [];
310
+ if (R && !L && t.push(f.paused), ge > 0 && t.push(f.newTrades.replace("{count}", ge > 9999 ? "9999+" : String(ge))), t.length) {
311
+ let r = t.join(" · ");
312
+ n.font = o(d, S, 500, Math.max(10, h - 1));
313
+ let a = n.measureText(r).width + 20, s = Math.min(22, g + 2), l = (i - a) / 2, u = v + 6;
314
+ n.fillStyle = e(d.primary, .92), c(n, l, u, a, s, s / 2), n.fill(), n.fillStyle = "#fff", n.textAlign = "center", n.textBaseline = "middle", n.fillText(r, i / 2, u + s / 2 + .5), Q = [
315
+ l,
316
+ u,
317
+ a,
318
+ s
319
+ ];
320
+ }
321
+ }
322
+ W = {
323
+ top: v,
324
+ rh: g,
325
+ visible: Math.floor((l - v) / g),
326
+ track: Z,
327
+ badge: Q
328
+ }, K.style.cursor = Q[2] && B && _e(B, Q) ? "pointer" : "default";
329
+ let ve = H ? `${O - 1 - H.index}|${H.trade.size}` : "";
330
+ ve !== ie && (ie = ve, C.emit("hover", H));
331
+ let $ = me(0);
332
+ return $ && G.describe(`${S.ariaLabel ?? f.name}. ${$.side === ee ? f.sell : f.buy} ${ne.size($.size)} @ ${ne.price($.price)}.`), w;
333
+ }
334
+ let _e = (e, t) => t[2] > 0 && e[0] >= t[0] && e[0] <= t[0] + t[2] && e[1] >= t[1] && e[1] <= t[1] + t[3], ve = (e) => {
335
+ let [, t, , n] = W.track, i = J(), a = r((e - t) / Math.max(1, n), 0, 1);
336
+ Q(a * Math.max(0, i - W.visible));
337
+ }, $ = (e) => {
338
+ B = f(K, e), U && ve(B[1] - U.offset), S.pauseOnHover !== !1 && !R && (R = !0, Z()), G.invalidate();
339
+ }, ye = () => {
340
+ B = null, R && (R = !1, Z()), G.invalidate();
341
+ }, be = (e) => {
342
+ let t = f(K, e);
343
+ _e(t, W.track) && !_e(t, W.badge) && (U = { offset: 0 }, K.setPointerCapture?.(e.pointerId), ve(t[1]), e.preventDefault());
344
+ }, xe = (e) => {
345
+ U && (U = null, K.releasePointerCapture?.(e.pointerId), G.invalidate());
346
+ }, Se = (e) => {
347
+ let t = f(K, e);
348
+ if (_e(t, W.badge)) {
349
+ Oe.scrollToLatest();
350
+ return;
351
+ }
352
+ if (_e(t, W.track) || t[1] < W.top) return;
353
+ let n = Math.floor((t[1] - W.top) / W.rh + F), r = me(n);
354
+ r && n < J() && C.emit("tradeClick", he(r, n));
355
+ }, Ce = (e) => {
356
+ let t = J(), n = Math.max(0, t - W.visible), r = e.deltaMode === 1 ? e.deltaY : e.deltaMode === 2 ? e.deltaY * W.visible : e.deltaY / W.rh;
357
+ r < 0 && I <= 0 || r > 0 && I >= n || (e.preventDefault(), Q(I + (Math.abs(r) < 1 ? Math.sign(r) : r)));
358
+ }, we = (e) => {
359
+ let t = J();
360
+ if (!t) return;
361
+ let n = Math.max(1, W.visible - 1), i = V === null ? -1 : O - 1 - V, a = (e) => {
362
+ let n = r(e, 0, t - 1);
363
+ V = O - 1 - n, n < I ? Q(n) : n >= I + W.visible ? Q(n - W.visible + 1) : Z(), G.invalidate();
364
+ };
365
+ switch (e.key) {
366
+ case "ArrowDown":
367
+ a(i + 1);
368
+ break;
369
+ case "ArrowUp":
370
+ a(Math.max(0, i - 1));
371
+ break;
372
+ case "PageDown":
373
+ a(Math.max(0, i) + n);
374
+ break;
375
+ case "PageUp":
376
+ a(i - n);
377
+ break;
378
+ case "Home":
379
+ V = null, Oe.scrollToLatest();
380
+ break;
381
+ case "End":
382
+ a(t - 1);
383
+ break;
384
+ case "Enter":
385
+ case " ": {
386
+ let e = i >= 0 ? me(i) : null;
387
+ e && C.emit("tradeClick", he(e, i));
388
+ break;
389
+ }
390
+ case "Escape":
391
+ V = null, Oe.scrollToLatest();
392
+ break;
393
+ default: return;
394
+ }
395
+ e.preventDefault();
396
+ }, Te = () => {
397
+ V !== null && (V = null, Z(), G.invalidate());
398
+ };
399
+ K.addEventListener("pointermove", $), K.addEventListener("pointerleave", ye), K.addEventListener("pointerdown", be), K.addEventListener("pointerup", xe), K.addEventListener("click", Se), K.addEventListener("wheel", Ce, { passive: !1 }), K.addEventListener("keydown", we), K.addEventListener("blur", Te);
400
+ let Ee = () => typeof performance < "u" ? performance.now() : Date.now(), De = () => {
401
+ T = _(w), E = _(w), D = null, O = k = 0, A = NaN, j = 0, M = N = 0, F = I = 0, L = !1, V = null, Z(), Y();
402
+ }, Oe = {
403
+ addTrades(e) {
404
+ let t = Array.isArray(e) ? e : [e];
405
+ if (!t.length) return;
406
+ let n = O, r = Ee();
407
+ for (let e of t) pe(e, r);
408
+ fe(n), G.invalidate();
409
+ },
410
+ setTrades(e) {
411
+ De();
412
+ for (let t of e) pe(t, -Infinity);
413
+ O = J(), G.invalidate();
414
+ },
415
+ clear() {
416
+ De(), G.invalidate();
417
+ },
418
+ setOptions(e) {
419
+ let t = S;
420
+ S = e, q(), P = l(G.theme, S);
421
+ let n = Math.max(1, Math.round(S.capacity ?? 2e5));
422
+ if (n !== w) {
423
+ let e = T;
424
+ w = n, T = _(w);
425
+ for (let t = Math.max(0, e.length - w); t < e.length; t++) {
426
+ let n = v(e, t), r = y(T);
427
+ T.time[r] = e.time[n], T.price[r] = e.price[n], T.size[r] = e.size[n], T.side[r] = e.side[n], T.tick[r] = e.tick[n];
428
+ }
429
+ X();
430
+ } else ((t.minSize ?? 0) !== (e.minSize ?? 0) || !t.aggregate != !e.aggregate) && X();
431
+ S.pauseOnHover === !1 && R && (R = !1), Z(), Y(), G.invalidate();
432
+ },
433
+ scrollToLatest() {
434
+ V = null, L = !1, I = 0, Z(), G.invalidate();
435
+ },
436
+ getCount: J,
437
+ on: (e, t) => C.on(e, t),
438
+ resize() {
439
+ G.invalidate();
440
+ },
441
+ destroy() {
442
+ K.removeEventListener("pointermove", $), K.removeEventListener("pointerleave", ye), K.removeEventListener("pointerdown", be), K.removeEventListener("pointerup", xe), K.removeEventListener("click", Se), K.removeEventListener("wheel", Ce), K.removeEventListener("keydown", we), K.removeEventListener("blur", Te), C.clear(), G.destroy();
443
+ }
444
+ };
445
+ return q(), P = l(G.theme, S), Y(), G.invalidate(), Oe;
446
+ };
447
+ //#endregion
448
+ export { b as createTimeAndSales };
449
+
450
+ //# sourceMappingURL=tape.js.map