minerva-design 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1337) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +18546 -7329
  4. package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2809 -0
  7. package/dist/charts/canvas.d.cts +8 -3
  8. package/dist/charts/canvas.d.ts +8 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +10 -5
  11. package/dist/charts/core.d.ts +10 -5
  12. package/dist/charts/core.js +27 -8
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +43 -20
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +193 -116
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +486 -350
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +18 -0
  32. package/dist/charts/engine/color.d.ts +18 -0
  33. package/dist/charts/engine/color.js +47 -1
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +44 -4
  38. package/dist/charts/engine/controller.d.ts +44 -4
  39. package/dist/charts/engine/controller.js +421 -314
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/data.cjs +1 -1
  42. package/dist/charts/engine/data.cjs.map +1 -1
  43. package/dist/charts/engine/data.d.cts +9 -1
  44. package/dist/charts/engine/data.d.ts +9 -1
  45. package/dist/charts/engine/data.js +65 -49
  46. package/dist/charts/engine/data.js.map +1 -1
  47. package/dist/charts/engine/defaults.cjs +2 -0
  48. package/dist/charts/engine/defaults.cjs.map +1 -0
  49. package/dist/charts/engine/defaults.d.cts +20 -0
  50. package/dist/charts/engine/defaults.d.ts +20 -0
  51. package/dist/charts/engine/defaults.js +35 -0
  52. package/dist/charts/engine/defaults.js.map +1 -0
  53. package/dist/charts/engine/format.cjs +1 -1
  54. package/dist/charts/engine/format.cjs.map +1 -1
  55. package/dist/charts/engine/format.d.cts +27 -6
  56. package/dist/charts/engine/format.d.ts +27 -6
  57. package/dist/charts/engine/format.js +59 -21
  58. package/dist/charts/engine/format.js.map +1 -1
  59. package/dist/charts/engine/graph/chart.cjs +2 -0
  60. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  61. package/dist/charts/engine/graph/chart.d.cts +3 -0
  62. package/dist/charts/engine/graph/chart.d.ts +3 -0
  63. package/dist/charts/engine/graph/chart.js +1565 -0
  64. package/dist/charts/engine/graph/chart.js.map +1 -0
  65. package/dist/charts/engine/graph/circular.cjs +2 -0
  66. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  67. package/dist/charts/engine/graph/circular.d.cts +16 -0
  68. package/dist/charts/engine/graph/circular.d.ts +16 -0
  69. package/dist/charts/engine/graph/circular.js +62 -0
  70. package/dist/charts/engine/graph/circular.js.map +1 -0
  71. package/dist/charts/engine/graph/dag.cjs +2 -0
  72. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  73. package/dist/charts/engine/graph/dag.d.cts +34 -0
  74. package/dist/charts/engine/graph/dag.d.ts +34 -0
  75. package/dist/charts/engine/graph/dag.js +314 -0
  76. package/dist/charts/engine/graph/dag.js.map +1 -0
  77. package/dist/charts/engine/graph/dom.cjs +2 -0
  78. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  79. package/dist/charts/engine/graph/dom.d.cts +23 -0
  80. package/dist/charts/engine/graph/dom.d.ts +23 -0
  81. package/dist/charts/engine/graph/dom.js +158 -0
  82. package/dist/charts/engine/graph/dom.js.map +1 -0
  83. package/dist/charts/engine/graph/force.cjs +2 -0
  84. package/dist/charts/engine/graph/force.cjs.map +1 -0
  85. package/dist/charts/engine/graph/force.d.cts +67 -0
  86. package/dist/charts/engine/graph/force.d.ts +67 -0
  87. package/dist/charts/engine/graph/force.js +325 -0
  88. package/dist/charts/engine/graph/force.js.map +1 -0
  89. package/dist/charts/engine/graph/geometry.cjs +2 -0
  90. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  91. package/dist/charts/engine/graph/geometry.d.cts +37 -0
  92. package/dist/charts/engine/graph/geometry.d.ts +37 -0
  93. package/dist/charts/engine/graph/geometry.js +144 -0
  94. package/dist/charts/engine/graph/geometry.js.map +1 -0
  95. package/dist/charts/engine/graph/index.cjs +1 -0
  96. package/dist/charts/engine/graph/index.d.cts +6 -0
  97. package/dist/charts/engine/graph/index.d.ts +6 -0
  98. package/dist/charts/engine/graph/index.js +6 -0
  99. package/dist/charts/engine/graph/labels.cjs +2 -0
  100. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  101. package/dist/charts/engine/graph/labels.d.cts +12 -0
  102. package/dist/charts/engine/graph/labels.d.ts +12 -0
  103. package/dist/charts/engine/graph/labels.js +128 -0
  104. package/dist/charts/engine/graph/labels.js.map +1 -0
  105. package/dist/charts/engine/graph/model.cjs +2 -0
  106. package/dist/charts/engine/graph/model.cjs.map +1 -0
  107. package/dist/charts/engine/graph/model.d.cts +43 -0
  108. package/dist/charts/engine/graph/model.d.ts +43 -0
  109. package/dist/charts/engine/graph/model.js +88 -0
  110. package/dist/charts/engine/graph/model.js.map +1 -0
  111. package/dist/charts/engine/graph/sizing.cjs +2 -0
  112. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  113. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  114. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  115. package/dist/charts/engine/graph/sizing.js +60 -0
  116. package/dist/charts/engine/graph/sizing.js.map +1 -0
  117. package/dist/charts/engine/graph/tree.cjs +2 -0
  118. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  119. package/dist/charts/engine/graph/tree.d.cts +30 -0
  120. package/dist/charts/engine/graph/tree.d.ts +30 -0
  121. package/dist/charts/engine/graph/tree.js +218 -0
  122. package/dist/charts/engine/graph/tree.js.map +1 -0
  123. package/dist/charts/engine/graph/types.d.cts +626 -0
  124. package/dist/charts/engine/graph/types.d.ts +626 -0
  125. package/dist/charts/engine/graph/worker.cjs +46 -0
  126. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  127. package/dist/charts/engine/graph/worker.d.cts +36 -0
  128. package/dist/charts/engine/graph/worker.d.ts +36 -0
  129. package/dist/charts/engine/graph/worker.js +129 -0
  130. package/dist/charts/engine/graph/worker.js.map +1 -0
  131. package/dist/charts/engine/items.cjs +1 -1
  132. package/dist/charts/engine/items.cjs.map +1 -1
  133. package/dist/charts/engine/items.d.cts +15 -2
  134. package/dist/charts/engine/items.d.ts +15 -2
  135. package/dist/charts/engine/items.js +257 -81
  136. package/dist/charts/engine/items.js.map +1 -1
  137. package/dist/charts/engine/labels.cjs +2 -0
  138. package/dist/charts/engine/labels.cjs.map +1 -0
  139. package/dist/charts/engine/labels.d.cts +13 -0
  140. package/dist/charts/engine/labels.d.ts +13 -0
  141. package/dist/charts/engine/labels.js +98 -0
  142. package/dist/charts/engine/labels.js.map +1 -0
  143. package/dist/charts/engine/layout.cjs +1 -1
  144. package/dist/charts/engine/layout.cjs.map +1 -1
  145. package/dist/charts/engine/layout.d.cts +43 -2
  146. package/dist/charts/engine/layout.d.ts +43 -2
  147. package/dist/charts/engine/layout.js +62 -12
  148. package/dist/charts/engine/layout.js.map +1 -1
  149. package/dist/charts/engine/locale.cjs +2 -0
  150. package/dist/charts/engine/locale.cjs.map +1 -0
  151. package/dist/charts/engine/locale.d.cts +33 -0
  152. package/dist/charts/engine/locale.d.ts +33 -0
  153. package/dist/charts/engine/locale.js +68 -0
  154. package/dist/charts/engine/locale.js.map +1 -0
  155. package/dist/charts/engine/model.cjs +1 -1
  156. package/dist/charts/engine/model.cjs.map +1 -1
  157. package/dist/charts/engine/model.d.cts +77 -2
  158. package/dist/charts/engine/model.d.ts +77 -2
  159. package/dist/charts/engine/model.js +304 -116
  160. package/dist/charts/engine/model.js.map +1 -1
  161. package/dist/charts/engine/orderbook/book.cjs +2 -0
  162. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  163. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  164. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  165. package/dist/charts/engine/orderbook/book.js +134 -0
  166. package/dist/charts/engine/orderbook/book.js.map +1 -0
  167. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  168. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  169. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  170. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  171. package/dist/charts/engine/orderbook/depth.js +413 -0
  172. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  173. package/dist/charts/engine/orderbook/format.cjs +2 -0
  174. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  175. package/dist/charts/engine/orderbook/format.d.cts +49 -0
  176. package/dist/charts/engine/orderbook/format.d.ts +49 -0
  177. package/dist/charts/engine/orderbook/format.js +65 -0
  178. package/dist/charts/engine/orderbook/format.js.map +1 -0
  179. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  180. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  181. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  182. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  183. package/dist/charts/engine/orderbook/heatmap.js +822 -0
  184. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  185. package/dist/charts/engine/orderbook/host.cjs +2 -0
  186. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  187. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  188. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  189. package/dist/charts/engine/orderbook/host.js +161 -0
  190. package/dist/charts/engine/orderbook/host.js.map +1 -0
  191. package/dist/charts/engine/orderbook/index.cjs +1 -0
  192. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  193. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  194. package/dist/charts/engine/orderbook/index.js +6 -0
  195. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  196. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  197. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  198. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  199. package/dist/charts/engine/orderbook/ladder.js +341 -0
  200. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  201. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  202. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  203. package/dist/charts/engine/orderbook/layout.d.cts +37 -0
  204. package/dist/charts/engine/orderbook/layout.d.ts +37 -0
  205. package/dist/charts/engine/orderbook/layout.js +70 -0
  206. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  207. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  208. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  209. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  210. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  211. package/dist/charts/engine/orderbook/tape.js +450 -0
  212. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  213. package/dist/charts/engine/orderbook/types.d.cts +751 -0
  214. package/dist/charts/engine/orderbook/types.d.ts +751 -0
  215. package/dist/charts/engine/overlay.cjs +1 -1
  216. package/dist/charts/engine/overlay.cjs.map +1 -1
  217. package/dist/charts/engine/overlay.d.cts +28 -2
  218. package/dist/charts/engine/overlay.d.ts +28 -2
  219. package/dist/charts/engine/overlay.js +138 -96
  220. package/dist/charts/engine/overlay.js.map +1 -1
  221. package/dist/charts/engine/presets.cjs +2 -2
  222. package/dist/charts/engine/presets.cjs.map +1 -1
  223. package/dist/charts/engine/presets.d.cts +273 -3
  224. package/dist/charts/engine/presets.d.ts +273 -3
  225. package/dist/charts/engine/presets.js +390 -38
  226. package/dist/charts/engine/presets.js.map +1 -1
  227. package/dist/charts/engine/renderers/detect.cjs +1 -1
  228. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  230. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  231. package/dist/charts/engine/renderers/detect.js +24 -19
  232. package/dist/charts/engine/renderers/detect.js.map +1 -1
  233. package/dist/charts/engine/renderers/gl.cjs +2 -0
  234. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  235. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  236. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  237. package/dist/charts/engine/renderers/gl.js +56 -0
  238. package/dist/charts/engine/renderers/gl.js.map +1 -0
  239. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  240. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  241. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  242. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  243. package/dist/charts/engine/renderers/shaders.js +139 -1
  244. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  246. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  247. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  248. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  249. package/dist/charts/engine/renderers/webgl.js +133 -0
  250. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  251. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  252. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  253. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  254. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  255. package/dist/charts/engine/renderers/webgl2.js +59 -108
  256. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  257. package/dist/charts/engine/scale.cjs +1 -1
  258. package/dist/charts/engine/scale.cjs.map +1 -1
  259. package/dist/charts/engine/scale.js +1 -1
  260. package/dist/charts/engine/scale.js.map +1 -1
  261. package/dist/charts/engine/scene.cjs +1 -1
  262. package/dist/charts/engine/scene.cjs.map +1 -1
  263. package/dist/charts/engine/scene.d.cts +71 -8
  264. package/dist/charts/engine/scene.d.ts +71 -8
  265. package/dist/charts/engine/scene.js +465 -183
  266. package/dist/charts/engine/scene.js.map +1 -1
  267. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  268. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  269. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  270. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  271. package/dist/charts/engine/shapes/bullet.js +255 -0
  272. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  273. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  274. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  275. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  276. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  277. package/dist/charts/engine/shapes/calendar.js +369 -0
  278. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  279. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  280. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  281. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  282. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  283. package/dist/charts/engine/shapes/canvas.js +22 -13
  284. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  285. package/dist/charts/engine/shapes/chart.cjs +1 -1
  286. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  287. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  288. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  289. package/dist/charts/engine/shapes/chart.js +49 -27
  290. package/dist/charts/engine/shapes/chart.js.map +1 -1
  291. package/dist/charts/engine/shapes/chord.cjs +2 -0
  292. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  293. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  294. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  295. package/dist/charts/engine/shapes/chord.js +414 -0
  296. package/dist/charts/engine/shapes/chord.js.map +1 -0
  297. package/dist/charts/engine/shapes/draw.cjs +1 -1
  298. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  299. package/dist/charts/engine/shapes/draw.d.cts +7 -1
  300. package/dist/charts/engine/shapes/draw.d.ts +7 -1
  301. package/dist/charts/engine/shapes/draw.js +62 -19
  302. package/dist/charts/engine/shapes/draw.js.map +1 -1
  303. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  304. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  305. package/dist/charts/engine/shapes/funnel.js +3 -3
  306. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  307. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  308. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  309. package/dist/charts/engine/shapes/gauge.js +132 -95
  310. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  311. package/dist/charts/engine/shapes/hit.cjs +1 -1
  312. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  313. package/dist/charts/engine/shapes/hit.d.cts +5 -1
  314. package/dist/charts/engine/shapes/hit.d.ts +5 -1
  315. package/dist/charts/engine/shapes/hit.js +89 -39
  316. package/dist/charts/engine/shapes/hit.js.map +1 -1
  317. package/dist/charts/engine/shapes/index.d.cts +6 -2
  318. package/dist/charts/engine/shapes/index.d.ts +6 -2
  319. package/dist/charts/engine/shapes/labels.cjs +2 -0
  320. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  321. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  322. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  323. package/dist/charts/engine/shapes/labels.js +154 -0
  324. package/dist/charts/engine/shapes/labels.js.map +1 -0
  325. package/dist/charts/engine/shapes/layout.cjs +2 -2
  326. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  327. package/dist/charts/engine/shapes/layout.d.cts +10 -3
  328. package/dist/charts/engine/shapes/layout.d.ts +10 -3
  329. package/dist/charts/engine/shapes/layout.js +239 -124
  330. package/dist/charts/engine/shapes/layout.js.map +1 -1
  331. package/dist/charts/engine/shapes/pie.cjs +1 -1
  332. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  333. package/dist/charts/engine/shapes/pie.js +2 -2
  334. package/dist/charts/engine/shapes/pie.js.map +1 -1
  335. package/dist/charts/engine/shapes/radar.cjs +1 -1
  336. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  337. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  338. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  339. package/dist/charts/engine/shapes/radar.js +50 -49
  340. package/dist/charts/engine/shapes/radar.js.map +1 -1
  341. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  342. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  343. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  344. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  345. package/dist/charts/engine/shapes/radialBar.js +155 -0
  346. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  347. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  348. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  349. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  350. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  351. package/dist/charts/engine/shapes/runtime.js +61 -51
  352. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  353. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  354. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  355. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  356. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  357. package/dist/charts/engine/shapes/sankey.js +372 -0
  358. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  359. package/dist/charts/engine/shapes/scene.cjs +1 -1
  360. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  361. package/dist/charts/engine/shapes/scene.d.cts +92 -8
  362. package/dist/charts/engine/shapes/scene.d.ts +92 -8
  363. package/dist/charts/engine/shapes/scene.js +76 -31
  364. package/dist/charts/engine/shapes/scene.js.map +1 -1
  365. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  366. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  367. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  368. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  369. package/dist/charts/engine/shapes/sunburst.js +261 -0
  370. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  371. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  372. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  373. package/dist/charts/engine/shapes/treemap.js +2 -2
  374. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  375. package/dist/charts/engine/shapes/types.d.cts +550 -12
  376. package/dist/charts/engine/shapes/types.d.ts +550 -12
  377. package/dist/charts/engine/signature.cjs +1 -1
  378. package/dist/charts/engine/signature.cjs.map +1 -1
  379. package/dist/charts/engine/signature.js +1 -1
  380. package/dist/charts/engine/signature.js.map +1 -1
  381. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  382. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  383. package/dist/charts/engine/three-d/canvas2d.d.cts +7 -0
  384. package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
  385. package/dist/charts/engine/three-d/canvas2d.js +128 -0
  386. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  387. package/dist/charts/engine/three-d/chart.cjs +2 -0
  388. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  389. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  390. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  391. package/dist/charts/engine/three-d/chart.js +621 -0
  392. package/dist/charts/engine/three-d/chart.js.map +1 -0
  393. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  394. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  395. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  396. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  397. package/dist/charts/engine/three-d/colormap.js +166 -0
  398. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  399. package/dist/charts/engine/three-d/contours.cjs +2 -0
  400. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  401. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  402. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  403. package/dist/charts/engine/three-d/contours.js +47 -0
  404. package/dist/charts/engine/three-d/contours.js.map +1 -0
  405. package/dist/charts/engine/three-d/detect.cjs +2 -0
  406. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  407. package/dist/charts/engine/three-d/detect.d.cts +12 -0
  408. package/dist/charts/engine/three-d/detect.d.ts +12 -0
  409. package/dist/charts/engine/three-d/detect.js +37 -0
  410. package/dist/charts/engine/three-d/detect.js.map +1 -0
  411. package/dist/charts/engine/three-d/dom.cjs +2 -0
  412. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  413. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  414. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  415. package/dist/charts/engine/three-d/dom.js +98 -0
  416. package/dist/charts/engine/three-d/dom.js.map +1 -0
  417. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  418. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  419. package/dist/charts/engine/three-d/geometry.d.cts +82 -0
  420. package/dist/charts/engine/three-d/geometry.d.ts +82 -0
  421. package/dist/charts/engine/three-d/geometry.js +545 -0
  422. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  423. package/dist/charts/engine/three-d/hover.cjs +2 -0
  424. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  425. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  426. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  427. package/dist/charts/engine/three-d/hover.js +131 -0
  428. package/dist/charts/engine/three-d/hover.js.map +1 -0
  429. package/dist/charts/engine/three-d/index.cjs +1 -0
  430. package/dist/charts/engine/three-d/index.d.cts +2 -0
  431. package/dist/charts/engine/three-d/index.d.ts +2 -0
  432. package/dist/charts/engine/three-d/index.js +2 -0
  433. package/dist/charts/engine/three-d/labels.cjs +2 -0
  434. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  436. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  437. package/dist/charts/engine/three-d/labels.js +136 -0
  438. package/dist/charts/engine/three-d/labels.js.map +1 -0
  439. package/dist/charts/engine/three-d/math.cjs +2 -0
  440. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/math.d.cts +84 -0
  442. package/dist/charts/engine/three-d/math.d.ts +84 -0
  443. package/dist/charts/engine/three-d/math.js +150 -0
  444. package/dist/charts/engine/three-d/math.js.map +1 -0
  445. package/dist/charts/engine/three-d/model.cjs +2 -0
  446. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  447. package/dist/charts/engine/three-d/model.d.cts +132 -0
  448. package/dist/charts/engine/three-d/model.d.ts +132 -0
  449. package/dist/charts/engine/three-d/model.js +279 -0
  450. package/dist/charts/engine/three-d/model.js.map +1 -0
  451. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  452. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  453. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  454. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  455. package/dist/charts/engine/three-d/overlay.js +204 -0
  456. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  457. package/dist/charts/engine/three-d/pick.cjs +2 -0
  458. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  459. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  460. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  461. package/dist/charts/engine/three-d/pick.js +220 -0
  462. package/dist/charts/engine/three-d/pick.js.map +1 -0
  463. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  464. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  465. package/dist/charts/engine/three-d/render-types.d.cts +103 -0
  466. package/dist/charts/engine/three-d/render-types.d.ts +103 -0
  467. package/dist/charts/engine/three-d/render-types.js +12 -0
  468. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  469. package/dist/charts/engine/three-d/shaders.cjs +311 -0
  470. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  471. package/dist/charts/engine/three-d/shaders.d.cts +25 -0
  472. package/dist/charts/engine/three-d/shaders.d.ts +25 -0
  473. package/dist/charts/engine/three-d/shaders.js +210 -0
  474. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  475. package/dist/charts/engine/three-d/sort.cjs +2 -0
  476. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  477. package/dist/charts/engine/three-d/sort.d.cts +29 -0
  478. package/dist/charts/engine/three-d/sort.d.ts +29 -0
  479. package/dist/charts/engine/three-d/sort.js +145 -0
  480. package/dist/charts/engine/three-d/sort.js.map +1 -0
  481. package/dist/charts/engine/three-d/types.d.cts +615 -0
  482. package/dist/charts/engine/three-d/types.d.ts +615 -0
  483. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  484. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  485. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  486. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  487. package/dist/charts/engine/three-d/webgl.js +132 -0
  488. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  489. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  490. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  491. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  492. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  493. package/dist/charts/engine/three-d/webgpu.js +260 -0
  494. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  495. package/dist/charts/engine/time.cjs +1 -1
  496. package/dist/charts/engine/time.cjs.map +1 -1
  497. package/dist/charts/engine/time.d.cts +13 -4
  498. package/dist/charts/engine/time.d.ts +13 -4
  499. package/dist/charts/engine/time.js +156 -91
  500. package/dist/charts/engine/time.js.map +1 -1
  501. package/dist/charts/engine/trading/chart.cjs +2 -0
  502. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  503. package/dist/charts/engine/trading/chart.d.cts +13 -0
  504. package/dist/charts/engine/trading/chart.d.ts +13 -0
  505. package/dist/charts/engine/trading/chart.js +2206 -0
  506. package/dist/charts/engine/trading/chart.js.map +1 -0
  507. package/dist/charts/engine/trading/drawings.cjs +3 -0
  508. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  509. package/dist/charts/engine/trading/drawings.d.cts +95 -0
  510. package/dist/charts/engine/trading/drawings.d.ts +95 -0
  511. package/dist/charts/engine/trading/drawings.js +423 -0
  512. package/dist/charts/engine/trading/drawings.js.map +1 -0
  513. package/dist/charts/engine/trading/format.cjs +2 -0
  514. package/dist/charts/engine/trading/format.cjs.map +1 -0
  515. package/dist/charts/engine/trading/format.d.cts +73 -0
  516. package/dist/charts/engine/trading/format.d.ts +73 -0
  517. package/dist/charts/engine/trading/format.js +163 -0
  518. package/dist/charts/engine/trading/format.js.map +1 -0
  519. package/dist/charts/engine/trading/geometry.cjs +2 -0
  520. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  521. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  522. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  523. package/dist/charts/engine/trading/geometry.js +131 -0
  524. package/dist/charts/engine/trading/geometry.js.map +1 -0
  525. package/dist/charts/engine/trading/index.cjs +1 -0
  526. package/dist/charts/engine/trading/index.d.cts +4 -0
  527. package/dist/charts/engine/trading/index.d.ts +4 -0
  528. package/dist/charts/engine/trading/index.js +4 -0
  529. package/dist/charts/engine/trading/indicators.cjs +2 -0
  530. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  531. package/dist/charts/engine/trading/indicators.d.cts +275 -0
  532. package/dist/charts/engine/trading/indicators.d.ts +275 -0
  533. package/dist/charts/engine/trading/indicators.js +544 -0
  534. package/dist/charts/engine/trading/indicators.js.map +1 -0
  535. package/dist/charts/engine/trading/labels.cjs +2 -0
  536. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  537. package/dist/charts/engine/trading/labels.d.cts +7 -0
  538. package/dist/charts/engine/trading/labels.d.ts +7 -0
  539. package/dist/charts/engine/trading/labels.js +171 -0
  540. package/dist/charts/engine/trading/labels.js.map +1 -0
  541. package/dist/charts/engine/trading/scale.cjs +2 -0
  542. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  543. package/dist/charts/engine/trading/scale.d.cts +46 -0
  544. package/dist/charts/engine/trading/scale.d.ts +46 -0
  545. package/dist/charts/engine/trading/scale.js +100 -0
  546. package/dist/charts/engine/trading/scale.js.map +1 -0
  547. package/dist/charts/engine/trading/store.cjs +2 -0
  548. package/dist/charts/engine/trading/store.cjs.map +1 -0
  549. package/dist/charts/engine/trading/store.d.cts +83 -0
  550. package/dist/charts/engine/trading/store.d.ts +83 -0
  551. package/dist/charts/engine/trading/store.js +150 -0
  552. package/dist/charts/engine/trading/store.js.map +1 -0
  553. package/dist/charts/engine/trading/studies.cjs +2 -0
  554. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  555. package/dist/charts/engine/trading/studies.d.cts +85 -0
  556. package/dist/charts/engine/trading/studies.d.ts +85 -0
  557. package/dist/charts/engine/trading/studies.js +510 -0
  558. package/dist/charts/engine/trading/studies.js.map +1 -0
  559. package/dist/charts/engine/trading/sync.cjs +2 -0
  560. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  561. package/dist/charts/engine/trading/sync.d.cts +8 -0
  562. package/dist/charts/engine/trading/sync.d.ts +8 -0
  563. package/dist/charts/engine/trading/sync.js +25 -0
  564. package/dist/charts/engine/trading/sync.js.map +1 -0
  565. package/dist/charts/engine/trading/types.d.cts +1131 -0
  566. package/dist/charts/engine/trading/types.d.ts +1131 -0
  567. package/dist/charts/engine/types.d.cts +247 -22
  568. package/dist/charts/engine/types.d.ts +247 -22
  569. package/dist/charts/index.cjs +1 -1
  570. package/dist/charts/index.d.cts +8 -4
  571. package/dist/charts/index.d.ts +8 -4
  572. package/dist/charts/index.js +30 -11
  573. package/dist/charts/react/Chart.cjs +1 -1
  574. package/dist/charts/react/Chart.cjs.map +1 -1
  575. package/dist/charts/react/Chart.d.cts +4 -4
  576. package/dist/charts/react/Chart.d.ts +4 -4
  577. package/dist/charts/react/Chart.js +5 -1
  578. package/dist/charts/react/Chart.js.map +1 -1
  579. package/dist/charts/react/charts.cjs +1 -1
  580. package/dist/charts/react/charts.cjs.map +1 -1
  581. package/dist/charts/react/charts.d.cts +39 -1
  582. package/dist/charts/react/charts.d.ts +39 -1
  583. package/dist/charts/react/charts.js +312 -128
  584. package/dist/charts/react/charts.js.map +1 -1
  585. package/dist/charts/react/graph.cjs +2 -0
  586. package/dist/charts/react/graph.cjs.map +1 -0
  587. package/dist/charts/react/graph.d.cts +213 -0
  588. package/dist/charts/react/graph.d.ts +213 -0
  589. package/dist/charts/react/graph.js +159 -0
  590. package/dist/charts/react/graph.js.map +1 -0
  591. package/dist/charts/react/orderbook.cjs +2 -0
  592. package/dist/charts/react/orderbook.cjs.map +1 -0
  593. package/dist/charts/react/orderbook.d.cts +142 -0
  594. package/dist/charts/react/orderbook.d.ts +142 -0
  595. package/dist/charts/react/orderbook.js +182 -0
  596. package/dist/charts/react/orderbook.js.map +1 -0
  597. package/dist/charts/react/shapes.cjs +1 -1
  598. package/dist/charts/react/shapes.cjs.map +1 -1
  599. package/dist/charts/react/shapes.d.cts +374 -9
  600. package/dist/charts/react/shapes.d.ts +374 -9
  601. package/dist/charts/react/shapes.js +323 -93
  602. package/dist/charts/react/shapes.js.map +1 -1
  603. package/dist/charts/react/three-d.cjs +2 -0
  604. package/dist/charts/react/three-d.cjs.map +1 -0
  605. package/dist/charts/react/three-d.d.cts +151 -0
  606. package/dist/charts/react/three-d.d.ts +151 -0
  607. package/dist/charts/react/three-d.js +154 -0
  608. package/dist/charts/react/three-d.js.map +1 -0
  609. package/dist/charts/react/trading.cjs +2 -0
  610. package/dist/charts/react/trading.cjs.map +1 -0
  611. package/dist/charts/react/trading.d.cts +145 -0
  612. package/dist/charts/react/trading.d.ts +145 -0
  613. package/dist/charts/react/trading.js +126 -0
  614. package/dist/charts/react/trading.js.map +1 -0
  615. package/dist/charts/react/types.d.cts +143 -8
  616. package/dist/charts/react/types.d.ts +143 -8
  617. package/dist/core/contracts.cjs +1 -1
  618. package/dist/core/contracts.cjs.map +1 -1
  619. package/dist/core/contracts.js +1 -1
  620. package/dist/core/contracts.js.map +1 -1
  621. package/dist/native/charts/src/canvas.cjs +1 -1
  622. package/dist/native/charts/src/canvas.js +9 -3
  623. package/dist/native/charts/src/engine/axis.cjs +1 -1
  624. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  625. package/dist/native/charts/src/engine/axis.js +43 -20
  626. package/dist/native/charts/src/engine/axis.js.map +1 -1
  627. package/dist/native/charts/src/engine/color.cjs +1 -1
  628. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/color.js +47 -5
  630. package/dist/native/charts/src/engine/color.js.map +1 -1
  631. package/dist/native/charts/src/engine/controller.cjs +2 -2
  632. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  633. package/dist/native/charts/src/engine/controller.js +415 -308
  634. package/dist/native/charts/src/engine/controller.js.map +1 -1
  635. package/dist/native/charts/src/engine/data.cjs +1 -1
  636. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  637. package/dist/native/charts/src/engine/data.js +65 -49
  638. package/dist/native/charts/src/engine/data.js.map +1 -1
  639. package/dist/native/charts/src/engine/format.cjs +1 -1
  640. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  641. package/dist/native/charts/src/engine/format.js +59 -21
  642. package/dist/native/charts/src/engine/format.js.map +1 -1
  643. package/dist/native/charts/src/engine/labels.cjs +2 -0
  644. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  645. package/dist/native/charts/src/engine/labels.js +98 -0
  646. package/dist/native/charts/src/engine/labels.js.map +1 -0
  647. package/dist/native/charts/src/engine/layout.cjs +1 -1
  648. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  649. package/dist/native/charts/src/engine/layout.js +62 -12
  650. package/dist/native/charts/src/engine/layout.js.map +1 -1
  651. package/dist/native/charts/src/engine/locale.cjs +2 -0
  652. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  653. package/dist/native/charts/src/engine/locale.js +60 -0
  654. package/dist/native/charts/src/engine/locale.js.map +1 -0
  655. package/dist/native/charts/src/engine/model.cjs +1 -1
  656. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  657. package/dist/native/charts/src/engine/model.js +307 -119
  658. package/dist/native/charts/src/engine/model.js.map +1 -1
  659. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  660. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  661. package/dist/native/charts/src/engine/overlay.js +46 -23
  662. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  663. package/dist/native/charts/src/engine/presets.cjs +2 -2
  664. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  665. package/dist/native/charts/src/engine/presets.js +470 -41
  666. package/dist/native/charts/src/engine/presets.js.map +1 -1
  667. package/dist/native/charts/src/engine/scale.cjs +1 -1
  668. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  669. package/dist/native/charts/src/engine/scale.js +1 -1
  670. package/dist/native/charts/src/engine/scale.js.map +1 -1
  671. package/dist/native/charts/src/engine/scene.cjs +1 -1
  672. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  673. package/dist/native/charts/src/engine/scene.js +489 -207
  674. package/dist/native/charts/src/engine/scene.js.map +1 -1
  675. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  676. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  678. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  680. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/calendar.js +369 -0
  682. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  684. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  685. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  686. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  687. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  688. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  689. package/dist/native/charts/src/engine/shapes/chord.js +414 -0
  690. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  691. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  692. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  693. package/dist/native/charts/src/engine/shapes/draw.js +195 -0
  694. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  695. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  696. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  697. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  698. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  699. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  700. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  701. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  702. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  703. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  704. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  705. package/dist/native/charts/src/engine/shapes/hit.js +135 -0
  706. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  707. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  708. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  709. package/dist/native/charts/src/engine/shapes/labels.js +154 -0
  710. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  711. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  712. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  713. package/dist/native/charts/src/engine/shapes/layout.js +358 -0
  714. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  715. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  716. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  717. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  718. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  719. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  720. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  721. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  722. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  723. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  724. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  725. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  726. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  727. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  728. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  729. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  730. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  731. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  732. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  733. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  734. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  735. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  736. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  737. package/dist/native/charts/src/engine/shapes/scene.js +168 -0
  738. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  739. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  740. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  741. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  742. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  743. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  744. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  745. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  746. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  747. package/dist/native/charts/src/engine/time.cjs +1 -1
  748. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  749. package/dist/native/charts/src/engine/time.js +156 -91
  750. package/dist/native/charts/src/engine/time.js.map +1 -1
  751. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  752. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  753. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  754. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  755. package/dist/native/components/Chart/ChartBase.js +110 -107
  756. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  757. package/dist/native/components/Chart/charts.cjs +1 -1
  758. package/dist/native/components/Chart/charts.cjs.map +1 -1
  759. package/dist/native/components/Chart/charts.d.cts +6 -1
  760. package/dist/native/components/Chart/charts.d.ts +6 -1
  761. package/dist/native/components/Chart/charts.js +53 -29
  762. package/dist/native/components/Chart/charts.js.map +1 -1
  763. package/dist/native/components/Chart/index.cjs +1 -1
  764. package/dist/native/components/Chart/index.d.cts +1 -1
  765. package/dist/native/components/Chart/index.d.ts +1 -1
  766. package/dist/native/components/Chart/index.js +2 -2
  767. package/dist/native/components/Chart/scene.cjs +1 -1
  768. package/dist/native/components/Chart/scene.cjs.map +1 -1
  769. package/dist/native/components/Chart/scene.js +315 -229
  770. package/dist/native/components/Chart/scene.js.map +1 -1
  771. package/dist/native/components/Chart/types.d.cts +26 -3
  772. package/dist/native/components/Chart/types.d.ts +26 -3
  773. package/dist/native/components/Charts/charts.cjs +2 -0
  774. package/dist/native/components/Charts/charts.cjs.map +1 -0
  775. package/dist/native/components/Charts/charts.d.cts +41 -0
  776. package/dist/native/components/Charts/charts.d.ts +41 -0
  777. package/dist/native/components/Charts/charts.js +350 -0
  778. package/dist/native/components/Charts/charts.js.map +1 -0
  779. package/dist/native/components/Charts/index.cjs +1 -0
  780. package/dist/native/components/Charts/index.d.cts +2 -0
  781. package/dist/native/components/Charts/index.d.ts +2 -0
  782. package/dist/native/components/Charts/index.js +2 -0
  783. package/dist/native/components/Charts/types.d.cts +155 -0
  784. package/dist/native/components/Charts/types.d.ts +155 -0
  785. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  786. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  787. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  788. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  789. package/dist/native/components/ShapeChart/ShapeChartBase.js +272 -0
  790. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  791. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  792. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  793. package/dist/native/components/ShapeChart/charts.d.cts +43 -0
  794. package/dist/native/components/ShapeChart/charts.d.ts +43 -0
  795. package/dist/native/components/ShapeChart/charts.js +429 -0
  796. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  797. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  798. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  799. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  800. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  801. package/dist/native/components/ShapeChart/draw.js +113 -0
  802. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  803. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  804. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  805. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  806. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  807. package/dist/native/components/ShapeChart/geometry.js +681 -0
  808. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  809. package/dist/native/components/ShapeChart/index.cjs +1 -0
  810. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  811. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  812. package/dist/native/components/ShapeChart/index.js +2 -0
  813. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  814. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  815. package/dist/native/components/ShapeChart/recorder.d.cts +115 -0
  816. package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
  817. package/dist/native/components/ShapeChart/recorder.js +583 -0
  818. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  819. package/dist/native/components/ShapeChart/types.d.cts +594 -0
  820. package/dist/native/components/ShapeChart/types.d.ts +594 -0
  821. package/dist/native/index.cjs +1 -1
  822. package/dist/native/index.d.cts +2 -0
  823. package/dist/native/index.d.ts +2 -0
  824. package/dist/native/index.js +14 -10
  825. package/dist/native/manifest.d.cts +6 -4
  826. package/dist/native/manifest.d.ts +6 -4
  827. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  828. package/dist/native/source/components/Chart/charts.tsx +42 -6
  829. package/dist/native/source/components/Chart/index.ts +1 -0
  830. package/dist/native/source/components/Chart/scene.tsx +312 -98
  831. package/dist/native/source/components/Chart/types.ts +31 -1
  832. package/dist/native/source/components/Charts/charts.tsx +521 -0
  833. package/dist/native/source/components/Charts/index.ts +14 -0
  834. package/dist/native/source/components/Charts/types.ts +218 -0
  835. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
  836. package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
  837. package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
  838. package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
  839. package/dist/native/source/components/ShapeChart/index.ts +16 -0
  840. package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
  841. package/dist/native/source/components/ShapeChart/types.ts +655 -0
  842. package/dist/native/source/index.ts +2 -0
  843. package/dist/native/source/manifest.ts +31 -4
  844. package/dist/taro/charts.d.ts +229 -4
  845. package/dist/taro/index.d.ts +1 -0
  846. package/dist/taro/index.js +8818 -2093
  847. package/dist/taro/manifest.d.ts +1 -0
  848. package/dist/taro/shape-charts.d.ts +629 -0
  849. package/dist/uni/AreaChart.vue +68 -0
  850. package/dist/uni/AreaChart.vue.d.ts +124 -0
  851. package/dist/uni/Badge.vue.d.ts +1 -1
  852. package/dist/uni/BarChart.vue.d.ts +5 -1
  853. package/dist/uni/BoxPlotChart.vue +66 -0
  854. package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
  855. package/dist/uni/BubbleChart.vue +68 -0
  856. package/dist/uni/BubbleChart.vue.d.ts +110 -0
  857. package/dist/uni/BulletChart.vue +86 -0
  858. package/dist/uni/BulletChart.vue.d.ts +114 -0
  859. package/dist/uni/CalendarHeatmap.vue +92 -0
  860. package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
  861. package/dist/uni/CandlestickChart.vue +66 -0
  862. package/dist/uni/CandlestickChart.vue.d.ts +104 -0
  863. package/dist/uni/Chart.vue.d.ts +4 -0
  864. package/dist/uni/ChordChart.vue +93 -0
  865. package/dist/uni/ChordChart.vue.d.ts +136 -0
  866. package/dist/uni/DonutChart.vue +72 -0
  867. package/dist/uni/DonutChart.vue.d.ts +118 -0
  868. package/dist/uni/FunnelChart.vue +67 -0
  869. package/dist/uni/FunnelChart.vue.d.ts +108 -0
  870. package/dist/uni/GanttChart.vue +67 -0
  871. package/dist/uni/GanttChart.vue.d.ts +127 -0
  872. package/dist/uni/GaugeChart.vue +77 -0
  873. package/dist/uni/GaugeChart.vue.d.ts +127 -0
  874. package/dist/uni/HeatmapChart.vue +66 -0
  875. package/dist/uni/HeatmapChart.vue.d.ts +120 -0
  876. package/dist/uni/HistogramChart.vue +66 -0
  877. package/dist/uni/HistogramChart.vue.d.ts +125 -0
  878. package/dist/uni/HorizontalBarChart.vue +68 -0
  879. package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
  880. package/dist/uni/Input.vue.d.ts +1 -1
  881. package/dist/uni/LineChart.vue.d.ts +4 -0
  882. package/dist/uni/MixedChart.vue +68 -0
  883. package/dist/uni/MixedChart.vue.d.ts +110 -0
  884. package/dist/uni/NumberInput.vue.d.ts +1 -1
  885. package/dist/uni/PieChart.vue +72 -0
  886. package/dist/uni/PieChart.vue.d.ts +118 -0
  887. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  888. package/dist/uni/RadarChart.vue +67 -0
  889. package/dist/uni/RadarChart.vue.d.ts +114 -0
  890. package/dist/uni/RadialBarChart.vue +90 -0
  891. package/dist/uni/RadialBarChart.vue.d.ts +136 -0
  892. package/dist/uni/RangeAreaChart.vue +68 -0
  893. package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
  894. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  895. package/dist/uni/SankeyChart.vue +88 -0
  896. package/dist/uni/SankeyChart.vue.d.ts +125 -0
  897. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  898. package/dist/uni/ShapeChart.vue +73 -0
  899. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  900. package/dist/uni/Sparkline.vue +58 -0
  901. package/dist/uni/Sparkline.vue.d.ts +81 -0
  902. package/dist/uni/SunburstChart.vue +90 -0
  903. package/dist/uni/SunburstChart.vue.d.ts +118 -0
  904. package/dist/uni/Textarea.vue.d.ts +1 -1
  905. package/dist/uni/TimePicker.vue.d.ts +1 -1
  906. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  907. package/dist/uni/TreemapChart.vue +65 -0
  908. package/dist/uni/TreemapChart.vue.d.ts +104 -0
  909. package/dist/uni/WaterfallChart.vue +66 -0
  910. package/dist/uni/WaterfallChart.vue.d.ts +134 -0
  911. package/dist/uni/chart-canvas.d.ts +3 -0
  912. package/dist/uni/chart-canvas.js +4 -0
  913. package/dist/uni/chart-types.d.ts +240 -2
  914. package/dist/uni/chart-types.js +198 -0
  915. package/dist/uni/charts-canvas.js +8 -3
  916. package/dist/uni/index.d.ts +27 -1
  917. package/dist/uni/index.js +27 -1
  918. package/dist/uni/manifest.d.ts +279 -0
  919. package/dist/uni/manifest.js +397 -0
  920. package/dist/uni/named-chart-options.d.ts +95 -0
  921. package/dist/uni/named-chart-options.js +173 -0
  922. package/dist/uni/shape-chart-canvas.d.ts +53 -0
  923. package/dist/uni/shape-chart-canvas.js +333 -0
  924. package/dist/uni/shape-chart-types.d.ts +431 -0
  925. package/dist/uni/shape-chart-types.js +305 -0
  926. package/dist/vue/charts-global.d.ts +48 -0
  927. package/dist/vue/charts.d.ts +18 -0
  928. package/dist/vue/charts.js +56 -0
  929. package/dist/vue/charts.js.map +1 -0
  930. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  931. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  932. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  933. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  934. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  935. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  936. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  937. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  938. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  939. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  940. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  941. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  942. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  943. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  944. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  945. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +120 -0
  946. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  947. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  948. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +63 -0
  949. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  950. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  951. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  952. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  953. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  954. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  955. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  956. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  957. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  958. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  959. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  960. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  961. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  962. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  963. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  964. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  965. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  966. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  967. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  968. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  969. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  970. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  971. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  972. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  973. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  974. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  975. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  976. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  977. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  978. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  979. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  980. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
  981. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  982. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  983. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  984. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  985. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  986. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  987. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  988. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  989. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  990. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  991. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  992. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  993. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  994. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  995. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  996. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  997. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  998. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  999. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1000. package/dist/vue/components/Chart/GanttChart.vue.d.ts +136 -0
  1001. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  1002. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  1003. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1004. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1005. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  1006. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  1007. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  1008. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1009. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1010. package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
  1011. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  1012. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  1013. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  1014. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1015. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -0
  1016. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  1017. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  1018. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +67 -0
  1019. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1020. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  1021. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  1022. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  1023. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  1024. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1025. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  1026. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  1027. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  1028. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  1029. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1030. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  1031. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  1032. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  1033. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1034. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1035. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  1036. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  1037. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  1038. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  1039. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1040. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  1041. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  1042. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  1043. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1044. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1045. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  1046. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  1047. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  1048. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  1049. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1050. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +130 -0
  1051. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  1052. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  1053. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  1054. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1055. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  1056. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  1057. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  1058. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  1059. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1060. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  1061. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  1062. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  1063. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  1064. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1065. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  1066. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  1067. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  1068. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  1069. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1070. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  1071. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  1072. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  1073. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  1074. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1075. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  1076. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  1077. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  1078. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  1079. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1080. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  1081. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  1082. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  1083. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1084. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1085. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  1086. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  1087. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  1088. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1089. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1090. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1091. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1092. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1093. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1094. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1095. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1096. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1097. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1098. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1099. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1100. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1101. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1102. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1103. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1104. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1105. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1106. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1107. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1108. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1109. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1110. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1111. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1112. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1113. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1114. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1115. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +116 -0
  1116. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1117. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1118. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1119. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1120. package/dist/vue/components/Chart/TradingChart.vue.d.ts +208 -0
  1121. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1122. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1123. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1124. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1125. package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
  1126. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  1127. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  1128. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  1129. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1130. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1131. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1132. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1133. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1134. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1135. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +143 -0
  1136. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1137. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1138. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +74 -0
  1139. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1140. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1141. package/dist/vue/components/Chart/cartesian.js +56 -0
  1142. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1143. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1144. package/dist/vue/components/Chart/engine.js +35 -0
  1145. package/dist/vue/components/Chart/engine.js.map +1 -0
  1146. package/dist/vue/components/Chart/graph.d.ts +153 -0
  1147. package/dist/vue/components/Chart/graph.js +135 -0
  1148. package/dist/vue/components/Chart/graph.js.map +1 -0
  1149. package/dist/vue/components/Chart/index.d.ts +45 -0
  1150. package/dist/vue/components/Chart/index.js +44 -0
  1151. package/dist/vue/components/Chart/orderbook.d.ts +363 -0
  1152. package/dist/vue/components/Chart/orderbook.js +128 -0
  1153. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1154. package/dist/vue/components/Chart/props.d.ts +188 -0
  1155. package/dist/vue/components/Chart/props.js +92 -0
  1156. package/dist/vue/components/Chart/props.js.map +1 -0
  1157. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1158. package/dist/vue/components/Chart/shape.js +42 -0
  1159. package/dist/vue/components/Chart/shape.js.map +1 -0
  1160. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1161. package/dist/vue/components/Chart/three-d.js +88 -0
  1162. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1163. package/dist/vue/components/Chart/trading.d.ts +127 -0
  1164. package/dist/vue/components/Chart/trading.js +63 -0
  1165. package/dist/vue/components/Chart/trading.js.map +1 -0
  1166. package/dist/vue/components/Chart/types.d.ts +209 -0
  1167. package/dist/vue/global.d.ts +2 -0
  1168. package/dist/vue/groups/charts.d.ts +1 -0
  1169. package/dist/vue/groups/charts.js +95 -0
  1170. package/dist/vue/groups/charts.js.map +1 -0
  1171. package/dist/vue/index.d.ts +1 -0
  1172. package/dist/vue/index.js +67 -23
  1173. package/dist/vue/internal/register.d.ts +7 -0
  1174. package/dist/vue/internal/register.js +14 -0
  1175. package/dist/vue/internal/register.js.map +1 -0
  1176. package/dist/vue/plugin.d.ts +9 -4
  1177. package/dist/vue/plugin.js +7 -10
  1178. package/dist/vue/plugin.js.map +1 -1
  1179. package/dist/weapp/area-chart/index.js +1 -0
  1180. package/dist/weapp/area-chart/index.json +1 -0
  1181. package/dist/weapp/area-chart/index.wxml +1 -0
  1182. package/dist/weapp/area-chart/index.wxss +1 -0
  1183. package/dist/weapp/box-plot-chart/index.js +1 -0
  1184. package/dist/weapp/box-plot-chart/index.json +1 -0
  1185. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1186. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1187. package/dist/weapp/bubble-chart/index.js +1 -0
  1188. package/dist/weapp/bubble-chart/index.json +1 -0
  1189. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1190. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1191. package/dist/weapp/bullet-chart/index.js +1 -0
  1192. package/dist/weapp/bullet-chart/index.json +1 -0
  1193. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1194. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1195. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1196. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1197. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1198. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1199. package/dist/weapp/candlestick-chart/index.js +1 -0
  1200. package/dist/weapp/candlestick-chart/index.json +1 -0
  1201. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1202. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1203. package/dist/weapp/charts/canvas.js +12976 -0
  1204. package/dist/weapp/charts/core.d.ts +2 -0
  1205. package/dist/weapp/charts/core.js +42 -0
  1206. package/dist/weapp/chord-chart/index.js +1 -0
  1207. package/dist/weapp/chord-chart/index.json +1 -0
  1208. package/dist/weapp/chord-chart/index.wxml +1 -0
  1209. package/dist/weapp/chord-chart/index.wxss +1 -0
  1210. package/dist/weapp/controls.js +1495 -4480
  1211. package/dist/weapp/donut-chart/index.js +1 -0
  1212. package/dist/weapp/donut-chart/index.json +1 -0
  1213. package/dist/weapp/donut-chart/index.wxml +1 -0
  1214. package/dist/weapp/donut-chart/index.wxss +1 -0
  1215. package/dist/weapp/funnel-chart/index.js +1 -0
  1216. package/dist/weapp/funnel-chart/index.json +1 -0
  1217. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1218. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1219. package/dist/weapp/gantt-chart/index.js +1 -0
  1220. package/dist/weapp/gantt-chart/index.json +1 -0
  1221. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1222. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1223. package/dist/weapp/gauge-chart/index.js +1 -0
  1224. package/dist/weapp/gauge-chart/index.json +1 -0
  1225. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1226. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1227. package/dist/weapp/heatmap-chart/index.js +1 -0
  1228. package/dist/weapp/heatmap-chart/index.json +1 -0
  1229. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1230. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1231. package/dist/weapp/histogram-chart/index.js +1 -0
  1232. package/dist/weapp/histogram-chart/index.json +1 -0
  1233. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1234. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1235. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1236. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1237. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1238. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1239. package/dist/weapp/mixed-chart/index.js +1 -0
  1240. package/dist/weapp/mixed-chart/index.json +1 -0
  1241. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1242. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1243. package/dist/weapp/pie-chart/index.js +1 -0
  1244. package/dist/weapp/pie-chart/index.json +1 -0
  1245. package/dist/weapp/pie-chart/index.wxml +1 -0
  1246. package/dist/weapp/pie-chart/index.wxss +1 -0
  1247. package/dist/weapp/radar-chart/index.js +1 -0
  1248. package/dist/weapp/radar-chart/index.json +1 -0
  1249. package/dist/weapp/radar-chart/index.wxml +1 -0
  1250. package/dist/weapp/radar-chart/index.wxss +1 -0
  1251. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1252. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1253. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1254. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1255. package/dist/weapp/range-area-chart/index.js +1 -0
  1256. package/dist/weapp/range-area-chart/index.json +1 -0
  1257. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1258. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1259. package/dist/weapp/sankey-chart/index.js +1 -0
  1260. package/dist/weapp/sankey-chart/index.json +1 -0
  1261. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1262. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1263. package/dist/weapp/shape-chart/index.js +1 -0
  1264. package/dist/weapp/shape-chart/index.json +1 -0
  1265. package/dist/weapp/shape-chart/index.wxml +1 -0
  1266. package/dist/weapp/shape-chart/index.wxss +1 -0
  1267. package/dist/weapp/sparkline/index.js +1 -0
  1268. package/dist/weapp/sparkline/index.json +1 -0
  1269. package/dist/weapp/sparkline/index.wxml +1 -0
  1270. package/dist/weapp/sparkline/index.wxss +1 -0
  1271. package/dist/weapp/sunburst-chart/index.js +1 -0
  1272. package/dist/weapp/sunburst-chart/index.json +1 -0
  1273. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1274. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1275. package/dist/weapp/treemap-chart/index.js +1 -0
  1276. package/dist/weapp/treemap-chart/index.json +1 -0
  1277. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1278. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1279. package/dist/weapp/types.d.ts +549 -0
  1280. package/dist/weapp/waterfall-chart/index.js +1 -0
  1281. package/dist/weapp/waterfall-chart/index.json +1 -0
  1282. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1283. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1284. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1285. package/dist/web-components/components/chart/chart.js +55 -0
  1286. package/dist/web-components/components/chart/chart.js.map +1 -0
  1287. package/dist/web-components/components/chart/charts.d.ts +254 -0
  1288. package/dist/web-components/components/chart/charts.js +208 -0
  1289. package/dist/web-components/components/chart/charts.js.map +1 -0
  1290. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1291. package/dist/web-components/components/chart/engine-element.js +77 -0
  1292. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1293. package/dist/web-components/components/chart/extended.d.ts +234 -0
  1294. package/dist/web-components/components/chart/extended.js +197 -0
  1295. package/dist/web-components/components/chart/extended.js.map +1 -0
  1296. package/dist/web-components/components/chart/series.d.ts +7 -0
  1297. package/dist/web-components/components/chart/series.js +14 -0
  1298. package/dist/web-components/components/chart/series.js.map +1 -0
  1299. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1300. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1301. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1302. package/dist/web-components/components/chart/shapes-extended.d.ts +198 -0
  1303. package/dist/web-components/components/chart/shapes-extended.js +182 -0
  1304. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1305. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1306. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1307. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1308. package/dist/web-components/components/graph/graph.d.ts +154 -0
  1309. package/dist/web-components/components/graph/graph.js +149 -0
  1310. package/dist/web-components/components/graph/graph.js.map +1 -0
  1311. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1312. package/dist/web-components/components/order-book/order-book.js +174 -0
  1313. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1314. package/dist/web-components/components/trading-chart/trading-chart.d.ts +143 -0
  1315. package/dist/web-components/components/trading-chart/trading-chart.js +158 -0
  1316. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1317. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1318. package/dist/web-components/elements/chart-3d.js +13 -0
  1319. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1320. package/dist/web-components/elements/chart.d.ts +7 -0
  1321. package/dist/web-components/elements/chart.js +44 -0
  1322. package/dist/web-components/elements/chart.js.map +1 -0
  1323. package/dist/web-components/elements/graph.d.ts +2 -0
  1324. package/dist/web-components/elements/graph.js +12 -0
  1325. package/dist/web-components/elements/graph.js.map +1 -0
  1326. package/dist/web-components/elements/order-book.d.ts +2 -0
  1327. package/dist/web-components/elements/order-book.js +13 -0
  1328. package/dist/web-components/elements/order-book.js.map +1 -0
  1329. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1330. package/dist/web-components/elements/trading-chart.js +8 -0
  1331. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1332. package/dist/web-components/html-custom-data.json +1470 -38
  1333. package/dist/web-components/types/react.d.ts +494 -0
  1334. package/dist/web-components/types/solid.d.ts +368 -0
  1335. package/dist/web-components/types/svelte.d.ts +368 -0
  1336. package/dist/web-components/types/vue.d.ts +410 -0
  1337. package/package.json +128 -1
@@ -0,0 +1,100 @@
1
+ import { tickStep as e } from "../scale.js";
2
+ //#region src/engine/trading/scale.ts
3
+ var t = (e = "linear") => ({
4
+ mode: e,
5
+ auto: !0,
6
+ min: 0,
7
+ max: 1,
8
+ base: 1,
9
+ top: 0,
10
+ height: 1,
11
+ marginTop: .1,
12
+ marginBottom: .1
13
+ }), n = (e, t) => {
14
+ switch (e.mode) {
15
+ case "log": return t > 0 ? Math.log10(t) : NaN;
16
+ case "percent": return e.base ? (t / e.base - 1) * 100 : NaN;
17
+ default: return t;
18
+ }
19
+ }, r = (e, t) => {
20
+ switch (e.mode) {
21
+ case "log": return 10 ** t;
22
+ case "percent": return (t / 100 + 1) * e.base;
23
+ default: return t;
24
+ }
25
+ }, i = (e) => {
26
+ let t = e.top + e.height * e.marginTop, n = e.height * (1 - e.marginTop - e.marginBottom);
27
+ return {
28
+ top: t,
29
+ h: Math.max(1, n)
30
+ };
31
+ }, a = (e, t) => {
32
+ let { top: n, h: r } = i(e), a = e.max - e.min || 1;
33
+ return n + (e.max - t) / a * r;
34
+ }, o = (e, t) => a(e, n(e, t)), s = (e, t) => {
35
+ let { top: n, h: r } = i(e);
36
+ return e.max - (t - n) / r * (e.max - e.min || 1);
37
+ }, c = (e, t) => r(e, s(e, t)), l = (e, t, n) => {
38
+ let r = t, i = n;
39
+ if (!Number.isFinite(r) || !Number.isFinite(i)) {
40
+ (!Number.isFinite(e.min) || !Number.isFinite(e.max)) && (e.min = 0, e.max = 1);
41
+ return;
42
+ }
43
+ if (r > i && ([r, i] = [i, r]), i - r < 1e-12 * Math.max(1, Math.abs(r))) {
44
+ let t = e.mode === "log" ? .01 : Math.max(Math.abs(r) * .01, 1e-8) || 1;
45
+ r -= t, i += t;
46
+ }
47
+ e.min = r, e.max = i;
48
+ }, u = (e, t) => {
49
+ let n = (e.min + e.max) / 2, r = (e.max - e.min) / 2 * t;
50
+ r > 0 && Number.isFinite(r) && (e.min = n - r, e.max = n + r, e.auto = !1);
51
+ }, d = (e, t) => {
52
+ let { h: n } = i(e), r = t / n * (e.max - e.min);
53
+ e.min += r, e.max += r, e.auto = !1;
54
+ }, f = (e) => {
55
+ if (!(e > 0)) return e;
56
+ let t = 10 ** Math.floor(Math.log10(e)), n = e / t, r = [
57
+ 1,
58
+ 1.2,
59
+ 1.5,
60
+ 2,
61
+ 2.5,
62
+ 3,
63
+ 4,
64
+ 5,
65
+ 6,
66
+ 7,
67
+ 8,
68
+ 10
69
+ ], i = r[0];
70
+ for (let e of r) Math.abs(e - n) < Math.abs(i - n) && (i = e);
71
+ return i * t;
72
+ }, p = (t, n = 36) => {
73
+ let { h: r } = i(t), a = (t.max - t.min) * t.height / r, o = t.max - a * (1 - t.marginTop) - 1e-12, s = t.max + a * t.marginTop + 1e-12, c = Math.max(2, Math.floor(t.height / n)), l = e(o, s, c);
74
+ if (!(l > 0)) return {
75
+ scaled: [],
76
+ step: 0
77
+ };
78
+ let u = [];
79
+ if (t.mode === "log") {
80
+ let e = NaN;
81
+ for (let r = Math.ceil(o / l) * l; r <= s; r += l) {
82
+ let i = f(10 ** r), c = Math.log10(i);
83
+ c === e || c < o || c > s || u.length && (c - u[u.length - 1]) / a * t.height < n * .5 || (u.push(c), e = c);
84
+ }
85
+ return {
86
+ scaled: u,
87
+ step: l
88
+ };
89
+ }
90
+ let d = Math.ceil(o / l - 1e-9), p = Math.floor(s / l + 1e-9);
91
+ for (let e = d; e <= p && u.length < 200; e++) u.push(e * l);
92
+ return {
93
+ scaled: u,
94
+ step: l
95
+ };
96
+ };
97
+ //#endregion
98
+ export { t as createScale, l as fitScale, r as fromScaled, d as panScale, p as scaleTicks, s as scaledAt, n as toScaled, c as valueAt, o as yOf, a as yOfScaled, u as zoomScale };
99
+
100
+ //# sourceMappingURL=scale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scale.js","names":["createScale","toScaled","scale","value","fromScaled","scaled","band","top","h","yOfScaled","span","yOf","scaledAt","y","valueAt","fitScale","a","lo","b","hi","pad","zoomScale","mid","half","factor","panScale","delta","dy","niceRound","power","m","steps","best","s","scaleTicks","extra","count","minGap","step","tickStep","previous","t","price","start","end","i"],"sources":["../../../../../charts/src/engine/trading/scale.ts"],"sourcesContent":["// Vertical scales of the panes: linear, logarithmic or percent (change from\n// a base price). Values are mapped to a \"scaled\" space (the price, its\n// log10, or the percent change) in which the scale is linear.\n\nimport { tickStep } from \"../scale\";\nimport type { TradingScaleMode } from \"./types\";\n\nexport interface PaneScale {\n mode: TradingScaleMode;\n /** Fits the visible values (off after the user zoomed the scale) */\n auto: boolean;\n /** Visible range in scaled space */\n min: number;\n max: number;\n /** Base price of the percent mode */\n base: number;\n /** Pane position in CSS pixels */\n top: number;\n height: number;\n /** Empty space above / below the values, as fractions of the height */\n marginTop: number;\n marginBottom: number;\n}\n\nexport const createScale = (mode: TradingScaleMode = \"linear\"): PaneScale => ({\n mode,\n auto: true,\n min: 0,\n max: 1,\n base: 1,\n top: 0,\n height: 1,\n marginTop: 0.1,\n marginBottom: 0.1,\n});\n\n/** Value -> scaled space (NaN when it has no place, e.g. log of <= 0) */\nexport const toScaled = (scale: PaneScale, value: number): number => {\n switch (scale.mode) {\n case \"log\":\n return value > 0 ? Math.log10(value) : NaN;\n case \"percent\":\n return scale.base ? (value / scale.base - 1) * 100 : NaN;\n default:\n return value;\n }\n};\n\nexport const fromScaled = (scale: PaneScale, scaled: number): number => {\n switch (scale.mode) {\n case \"log\":\n return 10 ** scaled;\n case \"percent\":\n return (scaled / 100 + 1) * scale.base;\n default:\n return scaled;\n }\n};\n\n/** Inner band of the pane holding the range (CSS px) */\nconst band = (scale: PaneScale) => {\n const top = scale.top + scale.height * scale.marginTop;\n const h = scale.height * (1 - scale.marginTop - scale.marginBottom);\n return { top, h: Math.max(1, h) };\n};\n\n/** CSS y of a scaled value */\nexport const yOfScaled = (scale: PaneScale, scaled: number): number => {\n const { top, h } = band(scale);\n const span = scale.max - scale.min || 1;\n return top + ((scale.max - scaled) / span) * h;\n};\n\n/** CSS y of a value */\nexport const yOf = (scale: PaneScale, value: number): number =>\n yOfScaled(scale, toScaled(scale, value));\n\n/** Scaled value at a CSS y */\nexport const scaledAt = (scale: PaneScale, y: number): number => {\n const { top, h } = band(scale);\n return scale.max - ((y - top) / h) * (scale.max - scale.min || 1);\n};\n\n/** Value at a CSS y */\nexport const valueAt = (scale: PaneScale, y: number): number =>\n fromScaled(scale, scaledAt(scale, y));\n\n/**\n * Fits the scale to a range of scaled values; a flat range gets some room\n * around it, a missing one keeps the current range\n */\nexport const fitScale = (scale: PaneScale, lo: number, hi: number): void => {\n let a = lo;\n let b = hi;\n if (!Number.isFinite(a) || !Number.isFinite(b)) {\n if (!Number.isFinite(scale.min) || !Number.isFinite(scale.max)) {\n scale.min = 0;\n scale.max = 1;\n }\n return;\n }\n if (a > b) [a, b] = [b, a];\n if (b - a < 1e-12 * Math.max(1, Math.abs(a))) {\n const pad =\n scale.mode === \"log\" ? 0.01 : Math.max(Math.abs(a) * 0.01, 1e-8) || 1;\n a -= pad;\n b += pad;\n }\n scale.min = a;\n scale.max = b;\n};\n\n/** Zooms the range around its center (factor > 1 shows more) */\nexport const zoomScale = (scale: PaneScale, factor: number): void => {\n const mid = (scale.min + scale.max) / 2;\n const half = ((scale.max - scale.min) / 2) * factor;\n if (!(half > 0) || !Number.isFinite(half)) return;\n scale.min = mid - half;\n scale.max = mid + half;\n scale.auto = false;\n};\n\n/** Moves the range by a number of CSS pixels (positive: content goes down) */\nexport const panScale = (scale: PaneScale, dy: number): void => {\n const { h } = band(scale);\n const delta = (dy / h) * (scale.max - scale.min);\n scale.min += delta;\n scale.max += delta;\n scale.auto = false;\n};\n\n/** Rounds to 2 significant digits (1, 1.5, 2, 2.5, 3, ...) for log ticks */\nconst niceRound = (value: number): number => {\n if (!(value > 0)) return value;\n const power = 10 ** Math.floor(Math.log10(value));\n const m = value / power;\n const steps = [1, 1.2, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 10];\n let best = steps[0];\n for (const s of steps) if (Math.abs(s - m) < Math.abs(best - m)) best = s;\n return best * power;\n};\n\n/**\n * Ticks of the scale in scaled space, about `minGap` CSS pixels apart.\n * Log ticks are rounded prices; percent ticks are round percents.\n */\nexport const scaleTicks = (\n scale: PaneScale,\n minGap = 36,\n): { scaled: number[]; step: number } => {\n const { h } = band(scale);\n // the range covered by the whole pane, margins included\n const span = scale.max - scale.min;\n const extra = (span * scale.height) / h;\n const lo = scale.max - extra * (1 - scale.marginTop) - 1e-12;\n const hi = scale.max + extra * scale.marginTop + 1e-12;\n const count = Math.max(2, Math.floor(scale.height / minGap));\n const step = tickStep(lo, hi, count);\n if (!(step > 0)) return { scaled: [], step: 0 };\n const scaled: number[] = [];\n if (scale.mode === \"log\") {\n let previous = NaN;\n for (let t = Math.ceil(lo / step) * step; t <= hi; t += step) {\n const price = niceRound(10 ** t);\n const s = Math.log10(price);\n if (s === previous || s < lo || s > hi) continue;\n // keep the ticks at least half the gap apart once rounded\n if (\n scaled.length &&\n ((s - scaled[scaled.length - 1]) / extra) * scale.height < minGap * 0.5\n )\n continue;\n scaled.push(s);\n previous = s;\n }\n return { scaled, step };\n }\n const start = Math.ceil(lo / step - 1e-9);\n const end = Math.floor(hi / step + 1e-9);\n for (let i = start; i <= end && scaled.length < 200; i++)\n scaled.push(i * step);\n return { scaled, step };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=[`time`,`open`,`high`,`low`,`close`,`volume`],t=e=>!Array.isArray(e),n=e=>t(e)?Math.min(e.time.length,e.open.length,e.high.length,e.low.length,e.close.length):e.length,r=e=>({time:new Float64Array(e),open:new Float64Array(e),high:new Float64Array(e),low:new Float64Array(e),close:new Float64Array(e),volume:new Float64Array(e)}),i=()=>({...r(16),length:0,capacity:16,hasVolume:!1}),a=(t,n)=>{if(n<=t.capacity)return;let i=t.capacity;for(;i<n;)i*=2;let a=r(i);for(let n of e)a[n].set(t[n].subarray(0,t.length));Object.assign(t,a),t.capacity=i},o=(e,n,r,i)=>{if(t(n)){for(let t=0;t<i;t++)e.time[r+t]=n.time[t],e.open[r+t]=n.open[t],e.high[r+t]=n.high[t],e.low[r+t]=n.low[t],e.close[r+t]=n.close[t];let t=n.volume;if(t){for(let n=0;n<i;n++){let i=t[n];e.volume[r+n]=Number.isFinite(i)?i:0}e.hasVolume=!0}else e.volume.fill(0,r,r+i);return}for(let t=0;t<i;t++)s(e,r+t,n[t])},s=(e,t,n)=>{e.time[t]=n.time,e.open[t]=n.open,e.high[t]=n.high,e.low[t]=n.low,e.close[t]=n.close;let r=n.volume;r!==void 0&&Number.isFinite(r)?(e.volume[t]=r,e.hasVolume=!0):e.volume[t]=0},c=(e,t)=>{let r=n(t);e.length=0,e.hasVolume=!1,a(e,r),o(e,t,0,r),e.length=r},l=(e,t)=>{let r=n(t),i=-1;for(let n=0;n<r;n++){let r=d(e,u(t,n));r>=0&&(i<0||r<i)&&(i=r)}return i},u=(e,n)=>t(e)?{time:e.time[n],open:e.open[n],high:e.high[n],low:e.low[n],close:e.close[n],...e.volume?{volume:e.volume[n]}:{}}:e[n],d=(e,t)=>{let n=e.length;if(!Number.isFinite(t.time))return-1;if(n>0){let r=e.time[n-1];if(t.time<r)return-1;if(t.time===r)return s(e,n-1,t),n-1}return a(e,n+1),s(e,n,t),e.length=n+1,n},f=(r,i)=>{let s=n(i),c=r.length?r.time[0]:1/0,l=0,u=t(i)?i.time:null;for(;l<s&&(u?u[l]:i[l].time)<c;)l++;if(!l)return 0;let d=r.length,f={time:r.time.slice(0,d),open:r.open.slice(0,d),high:r.high.slice(0,d),low:r.low.slice(0,d),close:r.close.slice(0,d),volume:r.volume.slice(0,d)};r.length=0,a(r,d+l),o(r,i,0,l);for(let t of e)r[t].set(f[t],l);return r.length=d+l,l},p=(e,t)=>({time:e.time[t],open:e.open[t],high:e.high[t],low:e.low[t],close:e.close[t],volume:e.volume[t]}),m=(e,t,n)=>{let r=0,i=t;for(;r<i;){let t=r+i>>>1;e[t]<n?r=t+1:i=t}return r},h=(e,t,n)=>{let r=m(e,t,n);return r<t&&e[r]===n?r:Math.max(0,r-1)},g=()=>({levels:[]}),_=(t,n,i,a)=>{let o=2**a,s=Math.ceil(i/o),c=t.levels[a];if(!c||c.time.length<s){let n={...r(Math.max(16,Math.ceil(s*1.5))),size:o,valid:0};if(c){for(let t of e)n[t].set(c[t].subarray(0,c.valid));n.valid=c.valid}c=n,t.levels[a]=c}if(c.valid>=s)return c;let l=a>1?_(t,n,i,a-1):n,u=a>1?Math.ceil(i/(o/2)):i,d=Math.max(0,Math.min(c.valid,s-1));for(let e=d;e<s;e++){let t=e*2,n=t+1;c.time[e]=l.time[t],c.open[e]=l.open[t],n<u?(c.high[e]=Math.max(l.high[t],l.high[n]),c.low[e]=Math.min(l.low[t],l.low[n]),c.close[e]=l.close[n],c.volume[e]=l.volume[t]+l.volume[n]):(c.high[e]=l.high[t],c.low[e]=l.low[t],c.close[e]=l.close[t],c.volume[e]=l.volume[t])}return c.valid=i%o===0?s:s-1,c},v=()=>({levels:[]}),y=(e,t)=>{for(let n of e.levels)n&&(n.valid=Math.min(n.valid,Math.floor(t/n.size)))},b=(e,t)=>Number.isFinite(e)?Number.isFinite(t)?e<t?e:t:e:t,x=(e,t)=>Number.isFinite(e)?Number.isFinite(t)?e>t?e:t:e:t,S=(e,t,n,r)=>{let i=2**r,a=Math.ceil(n/i),o=e.levels[r];if(!o||o.min.length<a){let t=Math.max(16,Math.ceil(a*1.5)),n={size:i,min:new Float64Array(t),max:new Float64Array(t),last:new Float64Array(t),valid:0};o&&(n.min.set(o.min.subarray(0,o.valid)),n.max.set(o.max.subarray(0,o.valid)),n.last.set(o.last.subarray(0,o.valid)),n.valid=o.valid),o=n,e.levels[r]=o}if(o.valid>=a)return o;let s=r>1?S(e,t,n,r-1):null,c=r>1?Math.ceil(n/(i/2)):n,l=Math.max(0,Math.min(o.valid,a-1));for(let e=l;e<a;e++){let n=e*2,r=n+1,i=r<c,a=s?s.min[n]:t[n],l=s?s.max[n]:t[n],u=s?s.last[n]:t[n],d=i?s?s.min[r]:t[r]:NaN,f=i?s?s.max[r]:t[r]:NaN,p=i?s?s.last[r]:t[r]:NaN;o.min[e]=b(a,d),o.max[e]=x(l,f),o.last[e]=Number.isFinite(p)?p:u}return o.valid=n%i===0?a:a-1,o};exports.appendBars=l,exports.barAt=u,exports.createPyramid=g,exports.createRangePyramid=v,exports.createStore=i,exports.indexOfTime=h,exports.inputLength=n,exports.invalidateRangePyramid=y,exports.lowerBoundTime=m,exports.prependBars=f,exports.pyramidLevel=_,exports.rangeLevel=S,exports.readBar=p,exports.setBars=c,exports.updateBar=d;
2
+ //# sourceMappingURL=store.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.cjs","names":["KEYS","isColumns","bars","inputLength","allocate","capacity","createStore","reserve","size","store","next","key","write","i","count","at","volume","v","writeBar","bar","setBars","n","appendBars","first","updateBar","barAt","last","prependBars","time","length","previous","readBar","columns","lowerBoundTime","lo","hi","mid","value","indexOfTime","createPyramid","pyramidLevel","k","groups","level","pyramid","prev","src","prevCount","from","g","a","b","createRangePyramid","invalidateRangePyramid","lower","upper","rangeLevel","values","has","minA","maxA","lastA","minB","maxB","lastB"],"sources":["../../../../../charts/src/engine/trading/store.ts"],"sourcesContent":["// Bars in growable Float64Array columns, and a pyramid of aggregated\n// levels (2, 4, 8, ... bars per group) drawn when the chart is zoomed out\n// so far that a bar is narrower than a pixel: a million bars cost the\n// same to draw as a thousand.\n\nimport type { TradingBar, TradingBarColumns, TradingBarsInput } from \"./types\";\n\n/** OHLCV columns; only the first `length` entries are meaningful */\nexport interface OhlcColumns {\n time: Float64Array;\n open: Float64Array;\n high: Float64Array;\n low: Float64Array;\n close: Float64Array;\n volume: Float64Array;\n}\n\nexport interface BarStore extends OhlcColumns {\n length: number;\n /** Size of the columns */\n capacity: number;\n /** Some bar has a volume */\n hasVolume: boolean;\n}\n\nconst KEYS = [\"time\", \"open\", \"high\", \"low\", \"close\", \"volume\"] as const;\n\nconst isColumns = (bars: TradingBarsInput): bars is TradingBarColumns =>\n !Array.isArray(bars);\n\nexport const inputLength = (bars: TradingBarsInput): number =>\n isColumns(bars)\n ? Math.min(\n bars.time.length,\n bars.open.length,\n bars.high.length,\n bars.low.length,\n bars.close.length,\n )\n : bars.length;\n\nconst allocate = (capacity: number): OhlcColumns => ({\n time: new Float64Array(capacity),\n open: new Float64Array(capacity),\n high: new Float64Array(capacity),\n low: new Float64Array(capacity),\n close: new Float64Array(capacity),\n volume: new Float64Array(capacity),\n});\n\nexport const createStore = (): BarStore => ({\n ...allocate(16),\n length: 0,\n capacity: 16,\n hasVolume: false,\n});\n\n/** Grows the columns to hold at least `size` bars (doubling) */\nconst reserve = (store: BarStore, size: number) => {\n if (size <= store.capacity) return;\n let capacity = store.capacity;\n while (capacity < size) capacity *= 2;\n const next = allocate(capacity);\n for (const key of KEYS) next[key].set(store[key].subarray(0, store.length));\n Object.assign(store, next);\n store.capacity = capacity;\n};\n\n/** Writes `count` bars of `bars` at `at` */\nconst write = (\n store: BarStore,\n bars: TradingBarsInput,\n at: number,\n count: number,\n) => {\n if (isColumns(bars)) {\n for (let i = 0; i < count; i++) {\n store.time[at + i] = bars.time[i];\n store.open[at + i] = bars.open[i];\n store.high[at + i] = bars.high[i];\n store.low[at + i] = bars.low[i];\n store.close[at + i] = bars.close[i];\n }\n const volume = bars.volume;\n if (volume) {\n for (let i = 0; i < count; i++) {\n const v = volume[i];\n store.volume[at + i] = Number.isFinite(v) ? v : 0;\n }\n store.hasVolume = true;\n } else {\n store.volume.fill(0, at, at + count);\n }\n return;\n }\n for (let i = 0; i < count; i++) writeBar(store, at + i, bars[i]);\n};\n\nconst writeBar = (store: BarStore, i: number, bar: TradingBar) => {\n store.time[i] = bar.time;\n store.open[i] = bar.open;\n store.high[i] = bar.high;\n store.low[i] = bar.low;\n store.close[i] = bar.close;\n const v = bar.volume;\n if (v !== undefined && Number.isFinite(v)) {\n store.volume[i] = v;\n store.hasVolume = true;\n } else {\n store.volume[i] = 0;\n }\n};\n\n/** Replaces every bar */\nexport const setBars = (store: BarStore, bars: TradingBarsInput): void => {\n const n = inputLength(bars);\n store.length = 0;\n store.hasVolume = false;\n reserve(store, n);\n write(store, bars, 0, n);\n store.length = n;\n};\n\n/**\n * Appends the bars newer than the last one (a bar at the time of the last\n * one replaces it). Returns the index of the first changed bar, or -1.\n */\nexport const appendBars = (store: BarStore, bars: TradingBarsInput): number => {\n const n = inputLength(bars);\n let first = -1;\n for (let i = 0; i < n; i++) {\n const at = updateBar(store, barAt(bars, i));\n if (at >= 0 && (first < 0 || at < first)) first = at;\n }\n return first;\n};\n\n/** The `i`-th bar of an input */\nexport const barAt = (bars: TradingBarsInput, i: number): TradingBar => {\n if (!isColumns(bars)) return bars[i];\n return {\n time: bars.time[i],\n open: bars.open[i],\n high: bars.high[i],\n low: bars.low[i],\n close: bars.close[i],\n ...(bars.volume ? { volume: bars.volume[i] } : {}),\n };\n};\n\n/**\n * Streams a bar: replaces the last bar at the same time, appends a newer\n * one. Returns its index; -1 (ignored) when older than the last bar.\n */\nexport const updateBar = (store: BarStore, bar: TradingBar): number => {\n const n = store.length;\n if (!Number.isFinite(bar.time)) return -1;\n if (n > 0) {\n const last = store.time[n - 1];\n if (bar.time < last) return -1;\n if (bar.time === last) {\n writeBar(store, n - 1, bar);\n return n - 1;\n }\n }\n reserve(store, n + 1);\n writeBar(store, n, bar);\n store.length = n + 1;\n return n;\n};\n\n/** Inserts the bars older than the first one; returns how many were added */\nexport const prependBars = (\n store: BarStore,\n bars: TradingBarsInput,\n): number => {\n const n = inputLength(bars);\n const first = store.length ? store.time[0] : Infinity;\n // keep only the bars strictly older than the current first bar\n let count = 0;\n const time = isColumns(bars) ? bars.time : null;\n while (\n count < n &&\n (time ? time[count] : (bars as readonly TradingBar[])[count].time) < first\n ) {\n count++;\n }\n if (!count) return 0;\n const length = store.length;\n const previous: OhlcColumns = {\n time: store.time.slice(0, length),\n open: store.open.slice(0, length),\n high: store.high.slice(0, length),\n low: store.low.slice(0, length),\n close: store.close.slice(0, length),\n volume: store.volume.slice(0, length),\n };\n store.length = 0;\n reserve(store, length + count);\n write(store, bars, 0, count);\n for (const key of KEYS) store[key].set(previous[key], count);\n store.length = length + count;\n return count;\n};\n\n/** Bar at an index as an object */\nexport const readBar = (columns: OhlcColumns, i: number): TradingBar => ({\n time: columns.time[i],\n open: columns.open[i],\n high: columns.high[i],\n low: columns.low[i],\n close: columns.close[i],\n volume: columns.volume[i],\n});\n\n/** First index whose time is >= `time` (binary search) */\nexport const lowerBoundTime = (\n time: Float64Array,\n n: number,\n value: number,\n): number => {\n let lo = 0;\n let hi = n;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (time[mid] < value) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n};\n\n/**\n * Index of the bar containing `time`: the last bar opening at or before it\n * (0 before the first bar)\n */\nexport const indexOfTime = (\n time: Float64Array,\n n: number,\n value: number,\n): number => {\n const i = lowerBoundTime(time, n, value);\n if (i < n && time[i] === value) return i;\n return Math.max(0, i - 1);\n};\n\n// ---------------------------------------------------------------- pyramid\n\n/** Bars aggregated `size` by `size`, aligned on index 0 */\nexport interface LodLevel extends OhlcColumns {\n size: number;\n /** Groups up to date */\n valid: number;\n}\n\n/** Aggregated levels, built lazily; level k groups 2^k bars */\nexport interface Pyramid {\n levels: (LodLevel | undefined)[];\n}\n\nexport const createPyramid = (): Pyramid => ({ levels: [] });\n\n/** Marks the groups containing bars from `from` on as stale */\nexport const invalidatePyramid = (pyramid: Pyramid, from: number): void => {\n for (const level of pyramid.levels) {\n if (level)\n level.valid = Math.min(level.valid, Math.floor(from / level.size));\n }\n};\n\n/**\n * Level `k` (k >= 1) of `src` (the first `n` bars), computed from level\n * k - 1 for the stale groups only\n */\nexport const pyramidLevel = (\n pyramid: Pyramid,\n src: OhlcColumns,\n n: number,\n k: number,\n): LodLevel => {\n const size = 2 ** k;\n const groups = Math.ceil(n / size);\n let level = pyramid.levels[k];\n if (!level || level.time.length < groups) {\n const capacity = Math.max(16, Math.ceil(groups * 1.5));\n const next: LodLevel = { ...allocate(capacity), size, valid: 0 };\n if (level) {\n for (const key of KEYS)\n next[key].set(level[key].subarray(0, level.valid));\n next.valid = level.valid;\n }\n level = next;\n pyramid.levels[k] = level;\n }\n if (level.valid >= groups) return level;\n // the source of level k: level k - 1 (pairs) or the bars (k = 1)\n const prev = k > 1 ? pyramidLevel(pyramid, src, n, k - 1) : src;\n const prevCount = k > 1 ? Math.ceil(n / (size / 2)) : n;\n // the last group of a level may be partial: always recompute it\n const from = Math.max(0, Math.min(level.valid, groups - 1));\n for (let g = from; g < groups; g++) {\n const a = g * 2;\n const b = a + 1;\n level.time[g] = prev.time[a];\n level.open[g] = prev.open[a];\n if (b < prevCount) {\n level.high[g] = Math.max(prev.high[a], prev.high[b]);\n level.low[g] = Math.min(prev.low[a], prev.low[b]);\n level.close[g] = prev.close[b];\n level.volume[g] = prev.volume[a] + prev.volume[b];\n } else {\n level.high[g] = prev.high[a];\n level.low[g] = prev.low[a];\n level.close[g] = prev.close[a];\n level.volume[g] = prev.volume[a];\n }\n }\n // complete groups stay valid; the partial last one is redone next time\n level.valid = n % size === 0 ? groups : groups - 1;\n return level;\n};\n\n// ---------------------------------------------------------- value ranges\n\n/** Lowest, highest and last finite value of each group of 2^k values */\nexport interface RangeLevel {\n size: number;\n min: Float64Array;\n max: Float64Array;\n last: Float64Array;\n /** Groups up to date */\n valid: number;\n}\n\n/**\n * Aggregated levels of a column of indicator values: a zoomed-out chart\n * draws the range of each group (min / max decimation), so spikes stay\n * visible instead of being sampled away\n */\nexport interface RangePyramid {\n levels: (RangeLevel | undefined)[];\n}\n\nexport const createRangePyramid = (): RangePyramid => ({ levels: [] });\n\nexport const invalidateRangePyramid = (\n pyramid: RangePyramid,\n from: number,\n): void => {\n for (const level of pyramid.levels) {\n if (level)\n level.valid = Math.min(level.valid, Math.floor(from / level.size));\n }\n};\n\nconst lower = (a: number, b: number) =>\n !Number.isFinite(a) ? b : !Number.isFinite(b) ? a : a < b ? a : b;\nconst upper = (a: number, b: number) =>\n !Number.isFinite(a) ? b : !Number.isFinite(b) ? a : a > b ? a : b;\n\n/** Level `k` (k >= 1) of the first `n` values, updated for the stale groups only */\nexport const rangeLevel = (\n pyramid: RangePyramid,\n values: Float64Array,\n n: number,\n k: number,\n): RangeLevel => {\n const size = 2 ** k;\n const groups = Math.ceil(n / size);\n let level = pyramid.levels[k];\n if (!level || level.min.length < groups) {\n const capacity = Math.max(16, Math.ceil(groups * 1.5));\n const next: RangeLevel = {\n size,\n min: new Float64Array(capacity),\n max: new Float64Array(capacity),\n last: new Float64Array(capacity),\n valid: 0,\n };\n if (level) {\n next.min.set(level.min.subarray(0, level.valid));\n next.max.set(level.max.subarray(0, level.valid));\n next.last.set(level.last.subarray(0, level.valid));\n next.valid = level.valid;\n }\n level = next;\n pyramid.levels[k] = level;\n }\n if (level.valid >= groups) return level;\n const prev = k > 1 ? rangeLevel(pyramid, values, n, k - 1) : null;\n const prevCount = k > 1 ? Math.ceil(n / (size / 2)) : n;\n const from = Math.max(0, Math.min(level.valid, groups - 1));\n for (let g = from; g < groups; g++) {\n const a = g * 2;\n const b = a + 1;\n const has = b < prevCount;\n const minA = prev ? prev.min[a] : values[a];\n const maxA = prev ? prev.max[a] : values[a];\n const lastA = prev ? prev.last[a] : values[a];\n const minB = has ? (prev ? prev.min[b] : values[b]) : NaN;\n const maxB = has ? (prev ? prev.max[b] : values[b]) : NaN;\n const lastB = has ? (prev ? prev.last[b] : values[b]) : NaN;\n level.min[g] = lower(minA, minB);\n level.max[g] = upper(maxA, maxB);\n level.last[g] = Number.isFinite(lastB) ? lastB : lastA;\n }\n level.valid = n % size === 0 ? groups : groups - 1;\n return level;\n};\n"],"mappings":"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"}
@@ -0,0 +1,83 @@
1
+ import { TradingBar, TradingBarsInput } from './types.cjs';
2
+ /** OHLCV columns; only the first `length` entries are meaningful */
3
+ export interface OhlcColumns {
4
+ time: Float64Array;
5
+ open: Float64Array;
6
+ high: Float64Array;
7
+ low: Float64Array;
8
+ close: Float64Array;
9
+ volume: Float64Array;
10
+ }
11
+ export interface BarStore extends OhlcColumns {
12
+ length: number;
13
+ /** Size of the columns */
14
+ capacity: number;
15
+ /** Some bar has a volume */
16
+ hasVolume: boolean;
17
+ }
18
+ export declare const inputLength: (bars: TradingBarsInput) => number;
19
+ export declare const createStore: () => BarStore;
20
+ /** Replaces every bar */
21
+ export declare const setBars: (store: BarStore, bars: TradingBarsInput) => void;
22
+ /**
23
+ * Appends the bars newer than the last one (a bar at the time of the last
24
+ * one replaces it). Returns the index of the first changed bar, or -1.
25
+ */
26
+ export declare const appendBars: (store: BarStore, bars: TradingBarsInput) => number;
27
+ /** The `i`-th bar of an input */
28
+ export declare const barAt: (bars: TradingBarsInput, i: number) => TradingBar;
29
+ /**
30
+ * Streams a bar: replaces the last bar at the same time, appends a newer
31
+ * one. Returns its index; -1 (ignored) when older than the last bar.
32
+ */
33
+ export declare const updateBar: (store: BarStore, bar: TradingBar) => number;
34
+ /** Inserts the bars older than the first one; returns how many were added */
35
+ export declare const prependBars: (store: BarStore, bars: TradingBarsInput) => number;
36
+ /** Bar at an index as an object */
37
+ export declare const readBar: (columns: OhlcColumns, i: number) => TradingBar;
38
+ /** First index whose time is >= `time` (binary search) */
39
+ export declare const lowerBoundTime: (time: Float64Array, n: number, value: number) => number;
40
+ /**
41
+ * Index of the bar containing `time`: the last bar opening at or before it
42
+ * (0 before the first bar)
43
+ */
44
+ export declare const indexOfTime: (time: Float64Array, n: number, value: number) => number;
45
+ /** Bars aggregated `size` by `size`, aligned on index 0 */
46
+ export interface LodLevel extends OhlcColumns {
47
+ size: number;
48
+ /** Groups up to date */
49
+ valid: number;
50
+ }
51
+ /** Aggregated levels, built lazily; level k groups 2^k bars */
52
+ export interface Pyramid {
53
+ levels: (LodLevel | undefined)[];
54
+ }
55
+ export declare const createPyramid: () => Pyramid;
56
+ /** Marks the groups containing bars from `from` on as stale */
57
+ export declare const invalidatePyramid: (pyramid: Pyramid, from: number) => void;
58
+ /**
59
+ * Level `k` (k >= 1) of `src` (the first `n` bars), computed from level
60
+ * k - 1 for the stale groups only
61
+ */
62
+ export declare const pyramidLevel: (pyramid: Pyramid, src: OhlcColumns, n: number, k: number) => LodLevel;
63
+ /** Lowest, highest and last finite value of each group of 2^k values */
64
+ export interface RangeLevel {
65
+ size: number;
66
+ min: Float64Array;
67
+ max: Float64Array;
68
+ last: Float64Array;
69
+ /** Groups up to date */
70
+ valid: number;
71
+ }
72
+ /**
73
+ * Aggregated levels of a column of indicator values: a zoomed-out chart
74
+ * draws the range of each group (min / max decimation), so spikes stay
75
+ * visible instead of being sampled away
76
+ */
77
+ export interface RangePyramid {
78
+ levels: (RangeLevel | undefined)[];
79
+ }
80
+ export declare const createRangePyramid: () => RangePyramid;
81
+ export declare const invalidateRangePyramid: (pyramid: RangePyramid, from: number) => void;
82
+ /** Level `k` (k >= 1) of the first `n` values, updated for the stale groups only */
83
+ export declare const rangeLevel: (pyramid: RangePyramid, values: Float64Array, n: number, k: number) => RangeLevel;
@@ -0,0 +1,83 @@
1
+ import { TradingBar, TradingBarsInput } from './types.js';
2
+ /** OHLCV columns; only the first `length` entries are meaningful */
3
+ export interface OhlcColumns {
4
+ time: Float64Array;
5
+ open: Float64Array;
6
+ high: Float64Array;
7
+ low: Float64Array;
8
+ close: Float64Array;
9
+ volume: Float64Array;
10
+ }
11
+ export interface BarStore extends OhlcColumns {
12
+ length: number;
13
+ /** Size of the columns */
14
+ capacity: number;
15
+ /** Some bar has a volume */
16
+ hasVolume: boolean;
17
+ }
18
+ export declare const inputLength: (bars: TradingBarsInput) => number;
19
+ export declare const createStore: () => BarStore;
20
+ /** Replaces every bar */
21
+ export declare const setBars: (store: BarStore, bars: TradingBarsInput) => void;
22
+ /**
23
+ * Appends the bars newer than the last one (a bar at the time of the last
24
+ * one replaces it). Returns the index of the first changed bar, or -1.
25
+ */
26
+ export declare const appendBars: (store: BarStore, bars: TradingBarsInput) => number;
27
+ /** The `i`-th bar of an input */
28
+ export declare const barAt: (bars: TradingBarsInput, i: number) => TradingBar;
29
+ /**
30
+ * Streams a bar: replaces the last bar at the same time, appends a newer
31
+ * one. Returns its index; -1 (ignored) when older than the last bar.
32
+ */
33
+ export declare const updateBar: (store: BarStore, bar: TradingBar) => number;
34
+ /** Inserts the bars older than the first one; returns how many were added */
35
+ export declare const prependBars: (store: BarStore, bars: TradingBarsInput) => number;
36
+ /** Bar at an index as an object */
37
+ export declare const readBar: (columns: OhlcColumns, i: number) => TradingBar;
38
+ /** First index whose time is >= `time` (binary search) */
39
+ export declare const lowerBoundTime: (time: Float64Array, n: number, value: number) => number;
40
+ /**
41
+ * Index of the bar containing `time`: the last bar opening at or before it
42
+ * (0 before the first bar)
43
+ */
44
+ export declare const indexOfTime: (time: Float64Array, n: number, value: number) => number;
45
+ /** Bars aggregated `size` by `size`, aligned on index 0 */
46
+ export interface LodLevel extends OhlcColumns {
47
+ size: number;
48
+ /** Groups up to date */
49
+ valid: number;
50
+ }
51
+ /** Aggregated levels, built lazily; level k groups 2^k bars */
52
+ export interface Pyramid {
53
+ levels: (LodLevel | undefined)[];
54
+ }
55
+ export declare const createPyramid: () => Pyramid;
56
+ /** Marks the groups containing bars from `from` on as stale */
57
+ export declare const invalidatePyramid: (pyramid: Pyramid, from: number) => void;
58
+ /**
59
+ * Level `k` (k >= 1) of `src` (the first `n` bars), computed from level
60
+ * k - 1 for the stale groups only
61
+ */
62
+ export declare const pyramidLevel: (pyramid: Pyramid, src: OhlcColumns, n: number, k: number) => LodLevel;
63
+ /** Lowest, highest and last finite value of each group of 2^k values */
64
+ export interface RangeLevel {
65
+ size: number;
66
+ min: Float64Array;
67
+ max: Float64Array;
68
+ last: Float64Array;
69
+ /** Groups up to date */
70
+ valid: number;
71
+ }
72
+ /**
73
+ * Aggregated levels of a column of indicator values: a zoomed-out chart
74
+ * draws the range of each group (min / max decimation), so spikes stay
75
+ * visible instead of being sampled away
76
+ */
77
+ export interface RangePyramid {
78
+ levels: (RangeLevel | undefined)[];
79
+ }
80
+ export declare const createRangePyramid: () => RangePyramid;
81
+ export declare const invalidateRangePyramid: (pyramid: RangePyramid, from: number) => void;
82
+ /** Level `k` (k >= 1) of the first `n` values, updated for the stale groups only */
83
+ export declare const rangeLevel: (pyramid: RangePyramid, values: Float64Array, n: number, k: number) => RangeLevel;
@@ -0,0 +1,150 @@
1
+ //#region src/engine/trading/store.ts
2
+ var e = [
3
+ "time",
4
+ "open",
5
+ "high",
6
+ "low",
7
+ "close",
8
+ "volume"
9
+ ], t = (e) => !Array.isArray(e), n = (e) => t(e) ? Math.min(e.time.length, e.open.length, e.high.length, e.low.length, e.close.length) : e.length, r = (e) => ({
10
+ time: new Float64Array(e),
11
+ open: new Float64Array(e),
12
+ high: new Float64Array(e),
13
+ low: new Float64Array(e),
14
+ close: new Float64Array(e),
15
+ volume: new Float64Array(e)
16
+ }), i = () => ({
17
+ ...r(16),
18
+ length: 0,
19
+ capacity: 16,
20
+ hasVolume: !1
21
+ }), a = (t, n) => {
22
+ if (n <= t.capacity) return;
23
+ let i = t.capacity;
24
+ for (; i < n;) i *= 2;
25
+ let a = r(i);
26
+ for (let n of e) a[n].set(t[n].subarray(0, t.length));
27
+ Object.assign(t, a), t.capacity = i;
28
+ }, o = (e, n, r, i) => {
29
+ if (t(n)) {
30
+ for (let t = 0; t < i; t++) e.time[r + t] = n.time[t], e.open[r + t] = n.open[t], e.high[r + t] = n.high[t], e.low[r + t] = n.low[t], e.close[r + t] = n.close[t];
31
+ let t = n.volume;
32
+ if (t) {
33
+ for (let n = 0; n < i; n++) {
34
+ let i = t[n];
35
+ e.volume[r + n] = Number.isFinite(i) ? i : 0;
36
+ }
37
+ e.hasVolume = !0;
38
+ } else e.volume.fill(0, r, r + i);
39
+ return;
40
+ }
41
+ for (let t = 0; t < i; t++) s(e, r + t, n[t]);
42
+ }, s = (e, t, n) => {
43
+ e.time[t] = n.time, e.open[t] = n.open, e.high[t] = n.high, e.low[t] = n.low, e.close[t] = n.close;
44
+ let r = n.volume;
45
+ r !== void 0 && Number.isFinite(r) ? (e.volume[t] = r, e.hasVolume = !0) : e.volume[t] = 0;
46
+ }, c = (e, t) => {
47
+ let r = n(t);
48
+ e.length = 0, e.hasVolume = !1, a(e, r), o(e, t, 0, r), e.length = r;
49
+ }, l = (e, t) => {
50
+ let r = n(t), i = -1;
51
+ for (let n = 0; n < r; n++) {
52
+ let r = d(e, u(t, n));
53
+ r >= 0 && (i < 0 || r < i) && (i = r);
54
+ }
55
+ return i;
56
+ }, u = (e, n) => t(e) ? {
57
+ time: e.time[n],
58
+ open: e.open[n],
59
+ high: e.high[n],
60
+ low: e.low[n],
61
+ close: e.close[n],
62
+ ...e.volume ? { volume: e.volume[n] } : {}
63
+ } : e[n], d = (e, t) => {
64
+ let n = e.length;
65
+ if (!Number.isFinite(t.time)) return -1;
66
+ if (n > 0) {
67
+ let r = e.time[n - 1];
68
+ if (t.time < r) return -1;
69
+ if (t.time === r) return s(e, n - 1, t), n - 1;
70
+ }
71
+ return a(e, n + 1), s(e, n, t), e.length = n + 1, n;
72
+ }, f = (r, i) => {
73
+ let s = n(i), c = r.length ? r.time[0] : Infinity, l = 0, u = t(i) ? i.time : null;
74
+ for (; l < s && (u ? u[l] : i[l].time) < c;) l++;
75
+ if (!l) return 0;
76
+ let d = r.length, f = {
77
+ time: r.time.slice(0, d),
78
+ open: r.open.slice(0, d),
79
+ high: r.high.slice(0, d),
80
+ low: r.low.slice(0, d),
81
+ close: r.close.slice(0, d),
82
+ volume: r.volume.slice(0, d)
83
+ };
84
+ r.length = 0, a(r, d + l), o(r, i, 0, l);
85
+ for (let t of e) r[t].set(f[t], l);
86
+ return r.length = d + l, l;
87
+ }, p = (e, t) => ({
88
+ time: e.time[t],
89
+ open: e.open[t],
90
+ high: e.high[t],
91
+ low: e.low[t],
92
+ close: e.close[t],
93
+ volume: e.volume[t]
94
+ }), m = (e, t, n) => {
95
+ let r = 0, i = t;
96
+ for (; r < i;) {
97
+ let t = r + i >>> 1;
98
+ e[t] < n ? r = t + 1 : i = t;
99
+ }
100
+ return r;
101
+ }, h = (e, t, n) => {
102
+ let r = m(e, t, n);
103
+ return r < t && e[r] === n ? r : Math.max(0, r - 1);
104
+ }, g = () => ({ levels: [] }), _ = (t, n, i, a) => {
105
+ let o = 2 ** a, s = Math.ceil(i / o), c = t.levels[a];
106
+ if (!c || c.time.length < s) {
107
+ let n = {
108
+ ...r(Math.max(16, Math.ceil(s * 1.5))),
109
+ size: o,
110
+ valid: 0
111
+ };
112
+ if (c) {
113
+ for (let t of e) n[t].set(c[t].subarray(0, c.valid));
114
+ n.valid = c.valid;
115
+ }
116
+ c = n, t.levels[a] = c;
117
+ }
118
+ if (c.valid >= s) return c;
119
+ let l = a > 1 ? _(t, n, i, a - 1) : n, u = a > 1 ? Math.ceil(i / (o / 2)) : i, d = Math.max(0, Math.min(c.valid, s - 1));
120
+ for (let e = d; e < s; e++) {
121
+ let t = e * 2, n = t + 1;
122
+ c.time[e] = l.time[t], c.open[e] = l.open[t], n < u ? (c.high[e] = Math.max(l.high[t], l.high[n]), c.low[e] = Math.min(l.low[t], l.low[n]), c.close[e] = l.close[n], c.volume[e] = l.volume[t] + l.volume[n]) : (c.high[e] = l.high[t], c.low[e] = l.low[t], c.close[e] = l.close[t], c.volume[e] = l.volume[t]);
123
+ }
124
+ return c.valid = i % o === 0 ? s : s - 1, c;
125
+ }, v = () => ({ levels: [] }), y = (e, t) => {
126
+ for (let n of e.levels) n && (n.valid = Math.min(n.valid, Math.floor(t / n.size)));
127
+ }, b = (e, t) => Number.isFinite(e) ? Number.isFinite(t) ? e < t ? e : t : e : t, x = (e, t) => Number.isFinite(e) ? Number.isFinite(t) ? e > t ? e : t : e : t, S = (e, t, n, r) => {
128
+ let i = 2 ** r, a = Math.ceil(n / i), o = e.levels[r];
129
+ if (!o || o.min.length < a) {
130
+ let t = Math.max(16, Math.ceil(a * 1.5)), n = {
131
+ size: i,
132
+ min: new Float64Array(t),
133
+ max: new Float64Array(t),
134
+ last: new Float64Array(t),
135
+ valid: 0
136
+ };
137
+ o && (n.min.set(o.min.subarray(0, o.valid)), n.max.set(o.max.subarray(0, o.valid)), n.last.set(o.last.subarray(0, o.valid)), n.valid = o.valid), o = n, e.levels[r] = o;
138
+ }
139
+ if (o.valid >= a) return o;
140
+ let s = r > 1 ? S(e, t, n, r - 1) : null, c = r > 1 ? Math.ceil(n / (i / 2)) : n, l = Math.max(0, Math.min(o.valid, a - 1));
141
+ for (let e = l; e < a; e++) {
142
+ let n = e * 2, r = n + 1, i = r < c, a = s ? s.min[n] : t[n], l = s ? s.max[n] : t[n], u = s ? s.last[n] : t[n], d = i ? s ? s.min[r] : t[r] : NaN, f = i ? s ? s.max[r] : t[r] : NaN, p = i ? s ? s.last[r] : t[r] : NaN;
143
+ o.min[e] = b(a, d), o.max[e] = x(l, f), o.last[e] = Number.isFinite(p) ? p : u;
144
+ }
145
+ return o.valid = n % i === 0 ? a : a - 1, o;
146
+ };
147
+ //#endregion
148
+ export { l as appendBars, u as barAt, g as createPyramid, v as createRangePyramid, i as createStore, h as indexOfTime, n as inputLength, y as invalidateRangePyramid, m as lowerBoundTime, f as prependBars, _ as pyramidLevel, S as rangeLevel, p as readBar, c as setBars, d as updateBar };
149
+
150
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","names":["KEYS","isColumns","bars","inputLength","allocate","capacity","createStore","reserve","size","store","next","key","write","i","count","at","volume","v","writeBar","bar","setBars","n","appendBars","first","updateBar","barAt","last","prependBars","time","length","previous","readBar","columns","lowerBoundTime","lo","hi","mid","value","indexOfTime","createPyramid","pyramidLevel","k","groups","level","pyramid","prev","src","prevCount","from","g","a","b","createRangePyramid","invalidateRangePyramid","lower","upper","rangeLevel","values","has","minA","maxA","lastA","minB","maxB","lastB"],"sources":["../../../../../charts/src/engine/trading/store.ts"],"sourcesContent":["// Bars in growable Float64Array columns, and a pyramid of aggregated\n// levels (2, 4, 8, ... bars per group) drawn when the chart is zoomed out\n// so far that a bar is narrower than a pixel: a million bars cost the\n// same to draw as a thousand.\n\nimport type { TradingBar, TradingBarColumns, TradingBarsInput } from \"./types\";\n\n/** OHLCV columns; only the first `length` entries are meaningful */\nexport interface OhlcColumns {\n time: Float64Array;\n open: Float64Array;\n high: Float64Array;\n low: Float64Array;\n close: Float64Array;\n volume: Float64Array;\n}\n\nexport interface BarStore extends OhlcColumns {\n length: number;\n /** Size of the columns */\n capacity: number;\n /** Some bar has a volume */\n hasVolume: boolean;\n}\n\nconst KEYS = [\"time\", \"open\", \"high\", \"low\", \"close\", \"volume\"] as const;\n\nconst isColumns = (bars: TradingBarsInput): bars is TradingBarColumns =>\n !Array.isArray(bars);\n\nexport const inputLength = (bars: TradingBarsInput): number =>\n isColumns(bars)\n ? Math.min(\n bars.time.length,\n bars.open.length,\n bars.high.length,\n bars.low.length,\n bars.close.length,\n )\n : bars.length;\n\nconst allocate = (capacity: number): OhlcColumns => ({\n time: new Float64Array(capacity),\n open: new Float64Array(capacity),\n high: new Float64Array(capacity),\n low: new Float64Array(capacity),\n close: new Float64Array(capacity),\n volume: new Float64Array(capacity),\n});\n\nexport const createStore = (): BarStore => ({\n ...allocate(16),\n length: 0,\n capacity: 16,\n hasVolume: false,\n});\n\n/** Grows the columns to hold at least `size` bars (doubling) */\nconst reserve = (store: BarStore, size: number) => {\n if (size <= store.capacity) return;\n let capacity = store.capacity;\n while (capacity < size) capacity *= 2;\n const next = allocate(capacity);\n for (const key of KEYS) next[key].set(store[key].subarray(0, store.length));\n Object.assign(store, next);\n store.capacity = capacity;\n};\n\n/** Writes `count` bars of `bars` at `at` */\nconst write = (\n store: BarStore,\n bars: TradingBarsInput,\n at: number,\n count: number,\n) => {\n if (isColumns(bars)) {\n for (let i = 0; i < count; i++) {\n store.time[at + i] = bars.time[i];\n store.open[at + i] = bars.open[i];\n store.high[at + i] = bars.high[i];\n store.low[at + i] = bars.low[i];\n store.close[at + i] = bars.close[i];\n }\n const volume = bars.volume;\n if (volume) {\n for (let i = 0; i < count; i++) {\n const v = volume[i];\n store.volume[at + i] = Number.isFinite(v) ? v : 0;\n }\n store.hasVolume = true;\n } else {\n store.volume.fill(0, at, at + count);\n }\n return;\n }\n for (let i = 0; i < count; i++) writeBar(store, at + i, bars[i]);\n};\n\nconst writeBar = (store: BarStore, i: number, bar: TradingBar) => {\n store.time[i] = bar.time;\n store.open[i] = bar.open;\n store.high[i] = bar.high;\n store.low[i] = bar.low;\n store.close[i] = bar.close;\n const v = bar.volume;\n if (v !== undefined && Number.isFinite(v)) {\n store.volume[i] = v;\n store.hasVolume = true;\n } else {\n store.volume[i] = 0;\n }\n};\n\n/** Replaces every bar */\nexport const setBars = (store: BarStore, bars: TradingBarsInput): void => {\n const n = inputLength(bars);\n store.length = 0;\n store.hasVolume = false;\n reserve(store, n);\n write(store, bars, 0, n);\n store.length = n;\n};\n\n/**\n * Appends the bars newer than the last one (a bar at the time of the last\n * one replaces it). Returns the index of the first changed bar, or -1.\n */\nexport const appendBars = (store: BarStore, bars: TradingBarsInput): number => {\n const n = inputLength(bars);\n let first = -1;\n for (let i = 0; i < n; i++) {\n const at = updateBar(store, barAt(bars, i));\n if (at >= 0 && (first < 0 || at < first)) first = at;\n }\n return first;\n};\n\n/** The `i`-th bar of an input */\nexport const barAt = (bars: TradingBarsInput, i: number): TradingBar => {\n if (!isColumns(bars)) return bars[i];\n return {\n time: bars.time[i],\n open: bars.open[i],\n high: bars.high[i],\n low: bars.low[i],\n close: bars.close[i],\n ...(bars.volume ? { volume: bars.volume[i] } : {}),\n };\n};\n\n/**\n * Streams a bar: replaces the last bar at the same time, appends a newer\n * one. Returns its index; -1 (ignored) when older than the last bar.\n */\nexport const updateBar = (store: BarStore, bar: TradingBar): number => {\n const n = store.length;\n if (!Number.isFinite(bar.time)) return -1;\n if (n > 0) {\n const last = store.time[n - 1];\n if (bar.time < last) return -1;\n if (bar.time === last) {\n writeBar(store, n - 1, bar);\n return n - 1;\n }\n }\n reserve(store, n + 1);\n writeBar(store, n, bar);\n store.length = n + 1;\n return n;\n};\n\n/** Inserts the bars older than the first one; returns how many were added */\nexport const prependBars = (\n store: BarStore,\n bars: TradingBarsInput,\n): number => {\n const n = inputLength(bars);\n const first = store.length ? store.time[0] : Infinity;\n // keep only the bars strictly older than the current first bar\n let count = 0;\n const time = isColumns(bars) ? bars.time : null;\n while (\n count < n &&\n (time ? time[count] : (bars as readonly TradingBar[])[count].time) < first\n ) {\n count++;\n }\n if (!count) return 0;\n const length = store.length;\n const previous: OhlcColumns = {\n time: store.time.slice(0, length),\n open: store.open.slice(0, length),\n high: store.high.slice(0, length),\n low: store.low.slice(0, length),\n close: store.close.slice(0, length),\n volume: store.volume.slice(0, length),\n };\n store.length = 0;\n reserve(store, length + count);\n write(store, bars, 0, count);\n for (const key of KEYS) store[key].set(previous[key], count);\n store.length = length + count;\n return count;\n};\n\n/** Bar at an index as an object */\nexport const readBar = (columns: OhlcColumns, i: number): TradingBar => ({\n time: columns.time[i],\n open: columns.open[i],\n high: columns.high[i],\n low: columns.low[i],\n close: columns.close[i],\n volume: columns.volume[i],\n});\n\n/** First index whose time is >= `time` (binary search) */\nexport const lowerBoundTime = (\n time: Float64Array,\n n: number,\n value: number,\n): number => {\n let lo = 0;\n let hi = n;\n while (lo < hi) {\n const mid = (lo + hi) >>> 1;\n if (time[mid] < value) lo = mid + 1;\n else hi = mid;\n }\n return lo;\n};\n\n/**\n * Index of the bar containing `time`: the last bar opening at or before it\n * (0 before the first bar)\n */\nexport const indexOfTime = (\n time: Float64Array,\n n: number,\n value: number,\n): number => {\n const i = lowerBoundTime(time, n, value);\n if (i < n && time[i] === value) return i;\n return Math.max(0, i - 1);\n};\n\n// ---------------------------------------------------------------- pyramid\n\n/** Bars aggregated `size` by `size`, aligned on index 0 */\nexport interface LodLevel extends OhlcColumns {\n size: number;\n /** Groups up to date */\n valid: number;\n}\n\n/** Aggregated levels, built lazily; level k groups 2^k bars */\nexport interface Pyramid {\n levels: (LodLevel | undefined)[];\n}\n\nexport const createPyramid = (): Pyramid => ({ levels: [] });\n\n/** Marks the groups containing bars from `from` on as stale */\nexport const invalidatePyramid = (pyramid: Pyramid, from: number): void => {\n for (const level of pyramid.levels) {\n if (level)\n level.valid = Math.min(level.valid, Math.floor(from / level.size));\n }\n};\n\n/**\n * Level `k` (k >= 1) of `src` (the first `n` bars), computed from level\n * k - 1 for the stale groups only\n */\nexport const pyramidLevel = (\n pyramid: Pyramid,\n src: OhlcColumns,\n n: number,\n k: number,\n): LodLevel => {\n const size = 2 ** k;\n const groups = Math.ceil(n / size);\n let level = pyramid.levels[k];\n if (!level || level.time.length < groups) {\n const capacity = Math.max(16, Math.ceil(groups * 1.5));\n const next: LodLevel = { ...allocate(capacity), size, valid: 0 };\n if (level) {\n for (const key of KEYS)\n next[key].set(level[key].subarray(0, level.valid));\n next.valid = level.valid;\n }\n level = next;\n pyramid.levels[k] = level;\n }\n if (level.valid >= groups) return level;\n // the source of level k: level k - 1 (pairs) or the bars (k = 1)\n const prev = k > 1 ? pyramidLevel(pyramid, src, n, k - 1) : src;\n const prevCount = k > 1 ? Math.ceil(n / (size / 2)) : n;\n // the last group of a level may be partial: always recompute it\n const from = Math.max(0, Math.min(level.valid, groups - 1));\n for (let g = from; g < groups; g++) {\n const a = g * 2;\n const b = a + 1;\n level.time[g] = prev.time[a];\n level.open[g] = prev.open[a];\n if (b < prevCount) {\n level.high[g] = Math.max(prev.high[a], prev.high[b]);\n level.low[g] = Math.min(prev.low[a], prev.low[b]);\n level.close[g] = prev.close[b];\n level.volume[g] = prev.volume[a] + prev.volume[b];\n } else {\n level.high[g] = prev.high[a];\n level.low[g] = prev.low[a];\n level.close[g] = prev.close[a];\n level.volume[g] = prev.volume[a];\n }\n }\n // complete groups stay valid; the partial last one is redone next time\n level.valid = n % size === 0 ? groups : groups - 1;\n return level;\n};\n\n// ---------------------------------------------------------- value ranges\n\n/** Lowest, highest and last finite value of each group of 2^k values */\nexport interface RangeLevel {\n size: number;\n min: Float64Array;\n max: Float64Array;\n last: Float64Array;\n /** Groups up to date */\n valid: number;\n}\n\n/**\n * Aggregated levels of a column of indicator values: a zoomed-out chart\n * draws the range of each group (min / max decimation), so spikes stay\n * visible instead of being sampled away\n */\nexport interface RangePyramid {\n levels: (RangeLevel | undefined)[];\n}\n\nexport const createRangePyramid = (): RangePyramid => ({ levels: [] });\n\nexport const invalidateRangePyramid = (\n pyramid: RangePyramid,\n from: number,\n): void => {\n for (const level of pyramid.levels) {\n if (level)\n level.valid = Math.min(level.valid, Math.floor(from / level.size));\n }\n};\n\nconst lower = (a: number, b: number) =>\n !Number.isFinite(a) ? b : !Number.isFinite(b) ? a : a < b ? a : b;\nconst upper = (a: number, b: number) =>\n !Number.isFinite(a) ? b : !Number.isFinite(b) ? a : a > b ? a : b;\n\n/** Level `k` (k >= 1) of the first `n` values, updated for the stale groups only */\nexport const rangeLevel = (\n pyramid: RangePyramid,\n values: Float64Array,\n n: number,\n k: number,\n): RangeLevel => {\n const size = 2 ** k;\n const groups = Math.ceil(n / size);\n let level = pyramid.levels[k];\n if (!level || level.min.length < groups) {\n const capacity = Math.max(16, Math.ceil(groups * 1.5));\n const next: RangeLevel = {\n size,\n min: new Float64Array(capacity),\n max: new Float64Array(capacity),\n last: new Float64Array(capacity),\n valid: 0,\n };\n if (level) {\n next.min.set(level.min.subarray(0, level.valid));\n next.max.set(level.max.subarray(0, level.valid));\n next.last.set(level.last.subarray(0, level.valid));\n next.valid = level.valid;\n }\n level = next;\n pyramid.levels[k] = level;\n }\n if (level.valid >= groups) return level;\n const prev = k > 1 ? rangeLevel(pyramid, values, n, k - 1) : null;\n const prevCount = k > 1 ? Math.ceil(n / (size / 2)) : n;\n const from = Math.max(0, Math.min(level.valid, groups - 1));\n for (let g = from; g < groups; g++) {\n const a = g * 2;\n const b = a + 1;\n const has = b < prevCount;\n const minA = prev ? prev.min[a] : values[a];\n const maxA = prev ? prev.max[a] : values[a];\n const lastA = prev ? prev.last[a] : values[a];\n const minB = has ? (prev ? prev.min[b] : values[b]) : NaN;\n const maxB = has ? (prev ? prev.max[b] : values[b]) : NaN;\n const lastB = has ? (prev ? prev.last[b] : values[b]) : NaN;\n level.min[g] = lower(minA, minB);\n level.max[g] = upper(maxA, maxB);\n level.last[g] = Number.isFinite(lastB) ? lastB : lastA;\n }\n level.valid = n % size === 0 ? groups : groups - 1;\n return level;\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("./indicators.cjs");var t=[`#f59e0b`,`#a855f7`,`#0ea5e9`,`#ec4899`,`#14b8a6`,`#6366f1`,`#84cc16`],n=`#a855f7`,r=`#0ea5e9`,i=`#f59e0b`,a=`#14b8a6`,o=`#6366f1`,s=`#ec4899`,c=`#2962ff`,l=e=>{switch(e.type){case`ma`:case`ema`:case`wma`:return`${e.type}:${e.period}${e.source&&e.source!==`close`?`:${e.source}`:``}`;case`boll`:return`boll:${e.period??20}:${e.multiplier??2}`;case`vwap`:return`vwap:${e.reset??`day`}`;case`volume`:return`volume`;case`macd`:return`macd:${e.fast??12}:${e.slow??26}:${e.signal??9}`;case`rsi`:return`rsi:${e.period??14}`;case`kdj`:return`kdj:${e.period??9}:${e.kPeriod??3}:${e.dPeriod??3}`;case`psar`:return`psar:${e.start??.02}:${e.increment??e.start??.02}:${e.maximum??.2}`;case`ichimoku`:return`ichimoku:${e.conversionPeriod??9}:${e.basePeriod??26}:${e.spanBPeriod??52}:${e.displacement??26}`;case`supertrend`:return`supertrend:${e.period??10}:${e.multiplier??3}`;case`keltner`:return`keltner:${e.period??20}:${e.multiplier??2}:${e.atrPeriod??10}`;case`donchian`:return`donchian:${e.period??20}`;case`obv`:return`obv`;case`cci`:return`cci:${e.period??20}`;case`stochRsi`:return`stochRsi:${e.rsiPeriod??14}:${e.stochPeriod??14}:${e.kPeriod??3}:${e.dPeriod??3}`;case`dmi`:return`dmi:${e.period??14}:${e.adxPeriod??14}`;case`williamsR`:return`williamsR:${e.period??14}`;case`mfi`:return`mfi:${e.period??14}`;default:return`atr:${e.period??14}`}},u=(e,t,n,r)=>{let{open:i,high:a,low:o,close:s}=e;for(let c=r;c<e.length;c++)switch(t){case`open`:n[c]=i[c];break;case`high`:n[c]=a[c];break;case`low`:n[c]=o[c];break;case`hl2`:n[c]=(a[c]+o[c])/2;break;case`hlc3`:n[c]=(a[c]+o[c]+s[c])/3;break;case`ohlc4`:n[c]=(i[c]+a[c]+o[c]+s[c])/4;break;default:n[c]=s[c]}},d=()=>{let e=new Map;return(t,n)=>{let r=e.get(t);if(r&&r.length>=n)return r;let i=new Float64Array(n).fill(NaN);return r&&i.set(r),e.set(t,i),i}},f=(e,t,n=`line`,r=1.5,i=0,a=1)=>({label:e,values:new Float64Array,color:t,kind:n,width:r,shift:i,alpha:a}),p=(l,p,m,h)=>{let g=d(),_=`height`in l&&l.height?l.height:110,v={id:p,type:l.type,config:l,height:_,compact:!1,fills:[]},y=(e,t,n)=>{e.outputs.forEach((e,r)=>{e.values=g(n[r]??`out${r}`,t.capacity)})};switch(l.type){case`ma`:case`ema`:case`wma`:{let n=Math.max(1,Math.floor(l.period)||1),r=l.source??`close`,i=`${l.type.toUpperCase()}${n}`,a=l.type===`ma`?e.smaInto:l.type===`ema`?e.emaInto:e.wmaInto,o={...v,overlay:!0,title:i,outputs:[f(i,l.color??t[m%t.length],`line`,l.lineWidth??1.5)],compute(e,t){y(o,e,[`value`]);let i=e.close;r!==`close`&&(i=g(`src`,e.capacity),u(e,r,i,t)),a(i,e.length,n,o.outputs[0].values,t)}};return o}case`boll`:{let t=l.period??20,n=l.multiplier??2,[a,o,s]=l.colors??[i,r,r],c={...v,overlay:!0,title:`BOLL ${t} ${n}`,plainLegend:!0,outputs:[f(`MID`,a??i,`line`,1.25),f(`UB`,o??r,`line`,1.25),f(`LB`,s??o??r,`line`,1.25)],fills:l.fill===!1?[]:[{a:1,b:2,color:o??r,opacity:.07}],compute(r,i){y(c,r,[`mid`,`up`,`low`]);let a=g(`dev`,r.capacity),[o,s,l]=c.outputs.map(e=>e.values);e.smaInto(r.close,r.length,t,o,i),e.stdevInto(r.close,r.length,t,a,i);for(let e=i;e<r.length;e++)s[e]=o[e]+n*a[e],l[e]=o[e]-n*a[e]}};return c}case`vwap`:{let t=l.reset??`day`,n={...v,overlay:!0,title:`VWAP`,outputs:[f(`VWAP`,l.color??`#ec4899`,`line`,1.5)],compute(r,i){y(n,r,[`value`]),e.vwapInto(r.high,r.low,r.close,r.volume,r.time,r.length,t,h,n.outputs[0].values,g(`pv`,r.capacity),g(`vol`,r.capacity),i)}};return n}case`volume`:{let t=l.maPeriod,n=[f(`VOL`,``,`volume`)];t&&n.push(f(`MA${t}`,r,`line`,1.25));let i={...v,overlay:!!l.overlay,compact:!0,title:`VOL`,outputs:n,compute(n,r){y(i,n,[`vol`,`ma`]);let a=i.outputs[0].values;a.set(n.volume.subarray(r,n.length),r),t&&e.smaInto(a,n.length,t,i.outputs[1].values,r)}};return i}case`macd`:{let t=l.fast??12,n=l.slow??26,a=l.signal??9,[o,s]=l.colors??[r,i],c={...v,overlay:!1,title:`MACD ${t} ${n} ${a}`,bands:[0],zero:!0,outputs:[f(`MACD`,``,`histogram`),f(`DIF`,o??r,`line`,1.25),f(`DEA`,s??i,`line`,1.25)],compute(r,i){y(c,r,[`hist`,`dif`,`dea`]);let o=r.length,s=g(`fast`,r.capacity),l=g(`slow`,r.capacity),[u,d,f]=c.outputs.map(e=>e.values);e.emaInto(r.close,o,t,s,i),e.emaInto(r.close,o,n,l,i);for(let e=i;e<o;e++)d[e]=s[e]-l[e];e.emaInto(d,o,a,f,i);for(let e=i;e<o;e++)u[e]=d[e]-f[e]}};return c}case`rsi`:{let t=l.period??14,r={...v,overlay:!1,title:`RSI ${t}`,range:[0,100],bands:[l.oversold??30,l.overbought??70],bandFill:!0,outputs:[f(`RSI${t}`,l.color??n,`line`,1.5)],compute(n,i){y(r,n,[`value`]),e.rsiInto(n.close,n.length,t,r.outputs[0].values,g(`gain`,n.capacity),g(`loss`,n.capacity),i)}};return r}case`kdj`:{let t=l.period??9,a=l.kPeriod??3,o=l.dPeriod??3,[s,c,u]=l.colors??[i,r,n],d={...v,overlay:!1,title:`KDJ ${t} ${a} ${o}`,bands:[20,80],outputs:[f(`K`,s??i,`line`,1.25),f(`D`,c??r,`line`,1.25),f(`J`,u??n,`line`,1.25)],compute(n,r){y(d,n,[`k`,`d`,`j`]);let[i,s,c]=d.outputs.map(e=>e.values);e.kdjInto(n.high,n.low,n.close,n.length,t,a,o,i,s,c,r)}};return d}case`psar`:{let t=l.start??.02,n=l.increment??t,r=l.maximum??.2,i={...v,overlay:!0,title:`SAR ${t} ${n} ${r}`,outputs:[f(`SAR`,l.color??``,`dots`,1.5)],compute(a,o){y(i,a,[`value`]),e.psarInto(a.high,a.low,a.length,t,n,r,i.outputs[0].values,{ep:g(`ep`,a.capacity),af:g(`af`,a.capacity),trend:g(`trend`,a.capacity)},o)}};return i}case`ichimoku`:{let t=l.conversionPeriod??9,n=l.basePeriod??26,r=l.spanBPeriod??52,i=Math.max(1,Math.floor(l.displacement??26))-1,[a,o,s,u,d]=l.colors??[],p={...v,overlay:!0,title:`${t} ${n} ${r} ${i+1}`,titleKey:`ichimoku`,plainLegend:!0,outputs:[f(`CONV`,a??c,`line`,1.25),f(`BASE`,o??`#e65100`,`line`,1.25),f(`LAG`,s??`#43a047`,`line`,1.25,-i),f(`A`,u??`up`,`line`,1,i,.55),f(`B`,d??`down`,`line`,1,i,.55)],fills:l.cloud===!1?[]:[{a:3,b:4,color:u??`up`,colorBelow:d??`down`,opacity:.12}],compute(i,a){y(p,i,[`conv`,`base`,`lag`,`a`,`b`]);let[o,s,c,l,u]=p.outputs.map(e=>e.values);e.ichimokuInto(i.high,i.low,i.length,t,n,r,o,s,l,u,{highest:g(`highest`,i.capacity),lowest:g(`lowest`,i.capacity)},a),c.set(i.close.subarray(a,i.length),a)}};return p}case`supertrend`:{let t=l.period??10,n=l.multiplier??3,r={...v,overlay:!0,title:`${t} ${n}`,titleKey:`supertrend`,mergeLegend:!0,outputs:[f(`UP`,l.upColor??`up`,`line`,2),f(`DOWN`,l.downColor??`down`,`line`,2)],compute(i,a){y(r,i,[`up`,`down`]);let o=g(`value`,i.capacity),s=g(`direction`,i.capacity);e.supertrendInto(i.high,i.low,i.close,i.length,t,n,o,s,{tr:g(`tr`,i.capacity),atr:g(`atr`,i.capacity),upper:g(`upper`,i.capacity),lower:g(`lower`,i.capacity)},a);let[c,l]=r.outputs.map(e=>e.values);for(let e=a;e<i.length;e++)c[e]=s[e]===1?o[e]:NaN,l[e]=s[e]===-1?o[e]:NaN}};return r}case`keltner`:case`donchian`:{let t=l.type===`keltner`,n=l.period??20,r=t?l.multiplier??2:0,s=t?l.atrPeriod??10:0,c=t?a:o,[u,d,p]=l.colors??[i,c,c],m={...v,overlay:!0,title:t?`KC ${n} ${r} ${s}`:`DC ${n}`,plainLegend:!0,outputs:[f(`MID`,u??i,`line`,1.25),f(`UB`,d??c,`line`,1.25),f(`LB`,p??d??c,`line`,1.25)],fills:l.fill===!1?[]:[{a:1,b:2,color:d??c,opacity:.07}],compute(i,a){y(m,i,[`mid`,`up`,`low`]);let[o,c,l]=m.outputs.map(e=>e.values);t?e.keltnerInto(i.high,i.low,i.close,i.length,n,r,s,o,c,l,{tr:g(`tr`,i.capacity),atr:g(`atr`,i.capacity)},a):e.donchianInto(i.high,i.low,i.length,n,c,l,o,a)}};return m}case`obv`:{let t=l.maPeriod,n=[f(`OBV`,l.color??r,`line`,1.5)];t&&n.push(f(`MA${t}`,i,`line`,1.25));let a={...v,overlay:!1,compact:!0,title:`OBV`,outputs:n,compute(n,r){y(a,n,[`obv`,`ma`]);let i=a.outputs[0].values;e.obvInto(n.close,n.volume,n.length,i,r),t&&e.smaInto(i,n.length,t,a.outputs[1].values,r)}};return a}case`cci`:{let t=l.period??20,n={...v,overlay:!1,title:`CCI ${t}`,bands:[-100,100],bandFill:!0,outputs:[f(`CCI${t}`,l.color??a,`line`,1.5)],compute(r,i){y(n,r,[`value`]),e.cciInto(r.high,r.low,r.close,r.length,t,n.outputs[0].values,g(`typical`,r.capacity),g(`mean`,r.capacity),i)}};return n}case`stochRsi`:{let t=l.rsiPeriod??14,n=l.stochPeriod??14,a=l.kPeriod??3,o=l.dPeriod??3,[s,c]=l.colors??[r,i],u={...v,overlay:!1,title:`Stoch RSI ${t} ${n} ${a} ${o}`,range:[0,100],bands:[20,80],bandFill:!0,outputs:[f(`K`,s??r,`line`,1.25),f(`D`,c??i,`line`,1.25)],compute(r,i){y(u,r,[`k`,`d`]);let[s,c]=u.outputs.map(e=>e.values);e.stochRsiInto(r.close,r.length,t,n,a,o,s,c,{rsi:g(`rsi`,r.capacity),gain:g(`gain`,r.capacity),loss:g(`loss`,r.capacity),highest:g(`highest`,r.capacity),lowest:g(`lowest`,r.capacity),raw:g(`raw`,r.capacity)},i)}};return u}case`dmi`:{let t=l.period??14,n=l.adxPeriod??14,[r,a,o]=l.colors??[`up`,`down`,i],s={...v,overlay:!1,title:`DMI ${t} ${n}`,bands:[25],outputs:[f(`+DI`,r??`up`,`line`,1.25),f(`−DI`,a??`down`,`line`,1.25),f(`ADX`,o??i,`line`,1.75)],compute(r,i){y(s,r,[`plus`,`minus`,`adx`]);let[a,o,c]=s.outputs.map(e=>e.values);e.dmiInto(r.high,r.low,r.close,r.length,t,n,a,o,c,{tr:g(`tr`,r.capacity),plusDm:g(`plusDm`,r.capacity),minusDm:g(`minusDm`,r.capacity),smoothTr:g(`smoothTr`,r.capacity),smoothPlus:g(`smoothPlus`,r.capacity),smoothMinus:g(`smoothMinus`,r.capacity),dx:g(`dx`,r.capacity)},i)}};return s}case`williamsR`:{let t=l.period??14,r={...v,overlay:!1,title:`%R ${t}`,range:[-100,0],bands:[-80,-20],bandFill:!0,outputs:[f(`%R${t}`,l.color??n,`line`,1.5)],compute(n,i){y(r,n,[`value`]),e.williamsRInto(n.high,n.low,n.close,n.length,t,r.outputs[0].values,g(`highest`,n.capacity),g(`lowest`,n.capacity),i)}};return r}case`mfi`:{let t=l.period??14,n={...v,overlay:!1,title:`MFI ${t}`,range:[0,100],bands:[20,80],bandFill:!0,outputs:[f(`MFI${t}`,l.color??s,`line`,1.5)],compute(r,i){y(n,r,[`value`]),e.mfiInto(r.high,r.low,r.close,r.volume,r.length,t,n.outputs[0].values,g(`typical`,r.capacity),i)}};return n}default:{let t=l.period??14,n={...v,overlay:!1,title:`ATR ${t}`,outputs:[f(`ATR${t}`,l.color??r,`line`,1.5)],compute(r,i){y(n,r,[`value`]);let a=g(`tr`,r.capacity);e.trueRangeInto(r.high,r.low,r.close,r.length,a,i),e.rmaInto(a,r.length,t,n.outputs[0].values,i)}};return n}}},m=(e,t,n)=>{let r=new Set,i=new Set,a=0;return{studies:e.map(e=>{let o=e.id??l(e);for(let t=2;r.has(o);t++)o=`${e.id??l(e)}#${t}`;r.add(o);let s=e.type===`ma`||e.type===`ema`||e.type===`wma`?a++:0,c=t.find(e=>e.id===o);return c&&h(c.config,e)?(c.config=e,i.add(c),c):p(e,o,s,n)}),reused:i}},h=(e,t)=>{if(e===t)return!0;let n=new Set([...Object.keys(e),...Object.keys(t)]);n.delete(`visible`);for(let r of n){let n=e[r],i=t[r];if(n!==i&&!(Array.isArray(n)&&Array.isArray(i)&&n.join()===i.join()))return!1}return!0};exports.LINE_COLORS=t,exports.buildStudies=m,exports.createStudy=p,exports.indicatorKey=l;
2
+ //# sourceMappingURL=studies.cjs.map