minerva-design 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1226) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +10 -2
  8. package/dist/charts/canvas.d.ts +10 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +9 -3
  11. package/dist/charts/core.d.ts +9 -3
  12. package/dist/charts/core.js +19 -6
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +161 -99
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -2
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +390 -349
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +17 -0
  32. package/dist/charts/engine/color.d.ts +17 -0
  33. package/dist/charts/engine/color.js +27 -3
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +17 -2
  38. package/dist/charts/engine/controller.d.ts +17 -2
  39. package/dist/charts/engine/controller.js +404 -280
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/curve.cjs +2 -0
  42. package/dist/charts/engine/curve.cjs.map +1 -0
  43. package/dist/charts/engine/curve.d.cts +15 -0
  44. package/dist/charts/engine/curve.d.ts +15 -0
  45. package/dist/charts/engine/curve.js +56 -0
  46. package/dist/charts/engine/curve.js.map +1 -0
  47. package/dist/charts/engine/data.cjs +1 -1
  48. package/dist/charts/engine/data.cjs.map +1 -1
  49. package/dist/charts/engine/data.d.cts +21 -2
  50. package/dist/charts/engine/data.d.ts +21 -2
  51. package/dist/charts/engine/data.js +117 -43
  52. package/dist/charts/engine/data.js.map +1 -1
  53. package/dist/charts/engine/dom.cjs +1 -1
  54. package/dist/charts/engine/dom.cjs.map +1 -1
  55. package/dist/charts/engine/dom.d.cts +5 -3
  56. package/dist/charts/engine/dom.d.ts +5 -3
  57. package/dist/charts/engine/dom.js +27 -22
  58. package/dist/charts/engine/dom.js.map +1 -1
  59. package/dist/charts/engine/format.cjs +1 -1
  60. package/dist/charts/engine/format.cjs.map +1 -1
  61. package/dist/charts/engine/format.d.cts +21 -6
  62. package/dist/charts/engine/format.d.ts +21 -6
  63. package/dist/charts/engine/format.js +46 -21
  64. package/dist/charts/engine/format.js.map +1 -1
  65. package/dist/charts/engine/items.cjs +1 -1
  66. package/dist/charts/engine/items.cjs.map +1 -1
  67. package/dist/charts/engine/items.js +290 -62
  68. package/dist/charts/engine/items.js.map +1 -1
  69. package/dist/charts/engine/labels.cjs +2 -0
  70. package/dist/charts/engine/labels.cjs.map +1 -0
  71. package/dist/charts/engine/labels.d.cts +13 -0
  72. package/dist/charts/engine/labels.d.ts +13 -0
  73. package/dist/charts/engine/labels.js +74 -0
  74. package/dist/charts/engine/labels.js.map +1 -0
  75. package/dist/charts/engine/layout.cjs +1 -1
  76. package/dist/charts/engine/layout.cjs.map +1 -1
  77. package/dist/charts/engine/layout.d.cts +34 -2
  78. package/dist/charts/engine/layout.d.ts +34 -2
  79. package/dist/charts/engine/layout.js +53 -12
  80. package/dist/charts/engine/layout.js.map +1 -1
  81. package/dist/charts/engine/locale.cjs +2 -0
  82. package/dist/charts/engine/locale.cjs.map +1 -0
  83. package/dist/charts/engine/locale.d.cts +33 -0
  84. package/dist/charts/engine/locale.d.ts +33 -0
  85. package/dist/charts/engine/locale.js +68 -0
  86. package/dist/charts/engine/locale.js.map +1 -0
  87. package/dist/charts/engine/model.cjs +1 -1
  88. package/dist/charts/engine/model.cjs.map +1 -1
  89. package/dist/charts/engine/model.d.cts +68 -3
  90. package/dist/charts/engine/model.d.ts +68 -3
  91. package/dist/charts/engine/model.js +332 -108
  92. package/dist/charts/engine/model.js.map +1 -1
  93. package/dist/charts/engine/orderbook/book.cjs +2 -0
  94. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  95. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  96. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  97. package/dist/charts/engine/orderbook/book.js +134 -0
  98. package/dist/charts/engine/orderbook/book.js.map +1 -0
  99. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  100. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  101. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  102. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  103. package/dist/charts/engine/orderbook/depth.js +413 -0
  104. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  105. package/dist/charts/engine/orderbook/format.cjs +2 -0
  106. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  107. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  108. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  109. package/dist/charts/engine/orderbook/format.js +65 -0
  110. package/dist/charts/engine/orderbook/format.js.map +1 -0
  111. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  112. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  113. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  114. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  115. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  116. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  117. package/dist/charts/engine/orderbook/host.cjs +2 -0
  118. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  119. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  120. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  121. package/dist/charts/engine/orderbook/host.js +161 -0
  122. package/dist/charts/engine/orderbook/host.js.map +1 -0
  123. package/dist/charts/engine/orderbook/index.cjs +1 -0
  124. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  125. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  126. package/dist/charts/engine/orderbook/index.js +6 -0
  127. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  128. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  129. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  130. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  131. package/dist/charts/engine/orderbook/ladder.js +341 -0
  132. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  133. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  134. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  135. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  136. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  137. package/dist/charts/engine/orderbook/tape.js +450 -0
  138. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  139. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  140. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  141. package/dist/charts/engine/overlay.cjs +1 -1
  142. package/dist/charts/engine/overlay.cjs.map +1 -1
  143. package/dist/charts/engine/overlay.d.cts +18 -0
  144. package/dist/charts/engine/overlay.d.ts +18 -0
  145. package/dist/charts/engine/overlay.js +138 -102
  146. package/dist/charts/engine/overlay.js.map +1 -1
  147. package/dist/charts/engine/presets.cjs +2 -2
  148. package/dist/charts/engine/presets.cjs.map +1 -1
  149. package/dist/charts/engine/presets.d.cts +319 -5
  150. package/dist/charts/engine/presets.d.ts +319 -5
  151. package/dist/charts/engine/presets.js +463 -38
  152. package/dist/charts/engine/presets.js.map +1 -1
  153. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  154. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  155. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  156. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  157. package/dist/charts/engine/renderers/detect.cjs +1 -1
  158. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  159. package/dist/charts/engine/renderers/detect.js +18 -15
  160. package/dist/charts/engine/renderers/detect.js.map +1 -1
  161. package/dist/charts/engine/renderers/gl.cjs +2 -0
  162. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  163. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  164. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  165. package/dist/charts/engine/renderers/gl.js +56 -0
  166. package/dist/charts/engine/renderers/gl.js.map +1 -0
  167. package/dist/charts/engine/renderers/range.cjs +1 -1
  168. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  169. package/dist/charts/engine/renderers/range.js +4 -4
  170. package/dist/charts/engine/renderers/range.js.map +1 -1
  171. package/dist/charts/engine/renderers/shaders.cjs +180 -20
  172. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  173. package/dist/charts/engine/renderers/shaders.d.cts +18 -2
  174. package/dist/charts/engine/renderers/shaders.d.ts +18 -2
  175. package/dist/charts/engine/renderers/shaders.js +176 -20
  176. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  177. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  178. package/dist/charts/engine/renderers/types.d.cts +11 -4
  179. package/dist/charts/engine/renderers/types.d.ts +11 -4
  180. package/dist/charts/engine/renderers/types.js.map +1 -1
  181. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  182. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  183. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  184. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  185. package/dist/charts/engine/renderers/webgl.js +133 -0
  186. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  187. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  188. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  189. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  190. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  191. package/dist/charts/engine/renderers/webgl2.js +62 -90
  192. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  193. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  194. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  195. package/dist/charts/engine/renderers/webgpu.js +18 -15
  196. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  197. package/dist/charts/engine/scale.cjs +1 -1
  198. package/dist/charts/engine/scale.cjs.map +1 -1
  199. package/dist/charts/engine/scale.js +1 -1
  200. package/dist/charts/engine/scale.js.map +1 -1
  201. package/dist/charts/engine/scene.cjs +1 -1
  202. package/dist/charts/engine/scene.cjs.map +1 -1
  203. package/dist/charts/engine/scene.d.cts +32 -9
  204. package/dist/charts/engine/scene.d.ts +32 -9
  205. package/dist/charts/engine/scene.js +363 -122
  206. package/dist/charts/engine/scene.js.map +1 -1
  207. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  208. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  209. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  210. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  211. package/dist/charts/engine/shapes/bullet.js +255 -0
  212. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  213. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  214. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  215. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  216. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  217. package/dist/charts/engine/shapes/calendar.js +369 -0
  218. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  219. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  220. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  221. package/dist/charts/engine/shapes/canvas.d.cts +65 -0
  222. package/dist/charts/engine/shapes/canvas.d.ts +65 -0
  223. package/dist/charts/engine/shapes/canvas.js +168 -0
  224. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  225. package/dist/charts/engine/shapes/chart.cjs +2 -0
  226. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  227. package/dist/charts/engine/shapes/chart.d.cts +7 -0
  228. package/dist/charts/engine/shapes/chart.d.ts +7 -0
  229. package/dist/charts/engine/shapes/chart.js +292 -0
  230. package/dist/charts/engine/shapes/chart.js.map +1 -0
  231. package/dist/charts/engine/shapes/draw.cjs +2 -0
  232. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  233. package/dist/charts/engine/shapes/draw.d.cts +22 -0
  234. package/dist/charts/engine/shapes/draw.d.ts +22 -0
  235. package/dist/charts/engine/shapes/draw.js +165 -0
  236. package/dist/charts/engine/shapes/draw.js.map +1 -0
  237. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  238. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  239. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  240. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  241. package/dist/charts/engine/shapes/funnel.js +149 -0
  242. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  243. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  244. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  245. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  246. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  247. package/dist/charts/engine/shapes/gauge.js +210 -0
  248. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  249. package/dist/charts/engine/shapes/hit.cjs +2 -0
  250. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  251. package/dist/charts/engine/shapes/hit.d.cts +30 -0
  252. package/dist/charts/engine/shapes/hit.d.ts +30 -0
  253. package/dist/charts/engine/shapes/hit.js +145 -0
  254. package/dist/charts/engine/shapes/hit.js.map +1 -0
  255. package/dist/charts/engine/shapes/index.d.cts +12 -0
  256. package/dist/charts/engine/shapes/index.d.ts +12 -0
  257. package/dist/charts/engine/shapes/labels.cjs +2 -0
  258. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  260. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  261. package/dist/charts/engine/shapes/labels.js +146 -0
  262. package/dist/charts/engine/shapes/labels.js.map +1 -0
  263. package/dist/charts/engine/shapes/layout.cjs +3 -0
  264. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/layout.d.cts +93 -0
  266. package/dist/charts/engine/shapes/layout.d.ts +93 -0
  267. package/dist/charts/engine/shapes/layout.js +353 -0
  268. package/dist/charts/engine/shapes/layout.js.map +1 -0
  269. package/dist/charts/engine/shapes/pie.cjs +2 -0
  270. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  272. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  273. package/dist/charts/engine/shapes/pie.js +302 -0
  274. package/dist/charts/engine/shapes/pie.js.map +1 -0
  275. package/dist/charts/engine/shapes/radar.cjs +2 -0
  276. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  277. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  278. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  279. package/dist/charts/engine/shapes/radar.js +198 -0
  280. package/dist/charts/engine/shapes/radar.js.map +1 -0
  281. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  282. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  283. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  284. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  285. package/dist/charts/engine/shapes/radialBar.js +155 -0
  286. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  287. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  288. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  289. package/dist/charts/engine/shapes/runtime.d.cts +36 -0
  290. package/dist/charts/engine/shapes/runtime.d.ts +36 -0
  291. package/dist/charts/engine/shapes/runtime.js +107 -0
  292. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  293. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  294. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  295. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  296. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  297. package/dist/charts/engine/shapes/sankey.js +372 -0
  298. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  299. package/dist/charts/engine/shapes/scene.cjs +2 -0
  300. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  301. package/dist/charts/engine/shapes/scene.d.cts +311 -0
  302. package/dist/charts/engine/shapes/scene.d.ts +311 -0
  303. package/dist/charts/engine/shapes/scene.js +125 -0
  304. package/dist/charts/engine/shapes/scene.js.map +1 -0
  305. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  306. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  307. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  308. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  309. package/dist/charts/engine/shapes/sunburst.js +261 -0
  310. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  311. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  312. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  313. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  314. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  315. package/dist/charts/engine/shapes/treemap.js +213 -0
  316. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  317. package/dist/charts/engine/shapes/types.d.cts +719 -0
  318. package/dist/charts/engine/shapes/types.d.ts +719 -0
  319. package/dist/charts/engine/signature.cjs +2 -0
  320. package/dist/charts/engine/signature.cjs.map +1 -0
  321. package/dist/charts/engine/signature.d.cts +9 -0
  322. package/dist/charts/engine/signature.d.ts +9 -0
  323. package/dist/charts/engine/signature.js +13 -0
  324. package/dist/charts/engine/signature.js.map +1 -0
  325. package/dist/charts/engine/theme.cjs +1 -1
  326. package/dist/charts/engine/theme.cjs.map +1 -1
  327. package/dist/charts/engine/theme.d.cts +10 -1
  328. package/dist/charts/engine/theme.d.ts +10 -1
  329. package/dist/charts/engine/theme.js +40 -16
  330. package/dist/charts/engine/theme.js.map +1 -1
  331. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  332. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  333. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  334. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  335. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  336. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  337. package/dist/charts/engine/three-d/chart.cjs +2 -0
  338. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  339. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  340. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  341. package/dist/charts/engine/three-d/chart.js +621 -0
  342. package/dist/charts/engine/three-d/chart.js.map +1 -0
  343. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  344. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  345. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  346. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  347. package/dist/charts/engine/three-d/colormap.js +166 -0
  348. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  349. package/dist/charts/engine/three-d/contours.cjs +2 -0
  350. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  351. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  352. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  353. package/dist/charts/engine/three-d/contours.js +47 -0
  354. package/dist/charts/engine/three-d/contours.js.map +1 -0
  355. package/dist/charts/engine/three-d/detect.cjs +2 -0
  356. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  357. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  358. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  359. package/dist/charts/engine/three-d/detect.js +35 -0
  360. package/dist/charts/engine/three-d/detect.js.map +1 -0
  361. package/dist/charts/engine/three-d/dom.cjs +2 -0
  362. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  363. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  364. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  365. package/dist/charts/engine/three-d/dom.js +98 -0
  366. package/dist/charts/engine/three-d/dom.js.map +1 -0
  367. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  368. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  369. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  370. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  371. package/dist/charts/engine/three-d/geometry.js +529 -0
  372. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  373. package/dist/charts/engine/three-d/hover.cjs +2 -0
  374. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  375. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  376. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  377. package/dist/charts/engine/three-d/hover.js +131 -0
  378. package/dist/charts/engine/three-d/hover.js.map +1 -0
  379. package/dist/charts/engine/three-d/index.cjs +1 -0
  380. package/dist/charts/engine/three-d/index.d.cts +2 -0
  381. package/dist/charts/engine/three-d/index.d.ts +2 -0
  382. package/dist/charts/engine/three-d/index.js +2 -0
  383. package/dist/charts/engine/three-d/labels.cjs +2 -0
  384. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  386. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  387. package/dist/charts/engine/three-d/labels.js +136 -0
  388. package/dist/charts/engine/three-d/labels.js.map +1 -0
  389. package/dist/charts/engine/three-d/math.cjs +2 -0
  390. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/math.d.cts +84 -0
  392. package/dist/charts/engine/three-d/math.d.ts +84 -0
  393. package/dist/charts/engine/three-d/math.js +150 -0
  394. package/dist/charts/engine/three-d/math.js.map +1 -0
  395. package/dist/charts/engine/three-d/model.cjs +2 -0
  396. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  397. package/dist/charts/engine/three-d/model.d.cts +130 -0
  398. package/dist/charts/engine/three-d/model.d.ts +130 -0
  399. package/dist/charts/engine/three-d/model.js +277 -0
  400. package/dist/charts/engine/three-d/model.js.map +1 -0
  401. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  402. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  403. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  404. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  405. package/dist/charts/engine/three-d/overlay.js +197 -0
  406. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  407. package/dist/charts/engine/three-d/pick.cjs +2 -0
  408. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  409. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  410. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  411. package/dist/charts/engine/three-d/pick.js +220 -0
  412. package/dist/charts/engine/three-d/pick.js.map +1 -0
  413. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  414. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  415. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  416. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  417. package/dist/charts/engine/three-d/render-types.js +13 -0
  418. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  419. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  420. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  421. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  422. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  423. package/dist/charts/engine/three-d/shaders.js +191 -0
  424. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  425. package/dist/charts/engine/three-d/sort.cjs +2 -0
  426. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  427. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  428. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  429. package/dist/charts/engine/three-d/sort.js +71 -0
  430. package/dist/charts/engine/three-d/sort.js.map +1 -0
  431. package/dist/charts/engine/three-d/types.d.cts +588 -0
  432. package/dist/charts/engine/three-d/types.d.ts +588 -0
  433. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  434. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  436. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  437. package/dist/charts/engine/three-d/webgl.js +130 -0
  438. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  439. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  440. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  442. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  443. package/dist/charts/engine/three-d/webgpu.js +249 -0
  444. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  445. package/dist/charts/engine/time.cjs +1 -1
  446. package/dist/charts/engine/time.cjs.map +1 -1
  447. package/dist/charts/engine/time.d.cts +13 -4
  448. package/dist/charts/engine/time.d.ts +13 -4
  449. package/dist/charts/engine/time.js +156 -91
  450. package/dist/charts/engine/time.js.map +1 -1
  451. package/dist/charts/engine/trading/chart.cjs +2 -0
  452. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  453. package/dist/charts/engine/trading/chart.d.cts +3 -0
  454. package/dist/charts/engine/trading/chart.d.ts +3 -0
  455. package/dist/charts/engine/trading/chart.js +1507 -0
  456. package/dist/charts/engine/trading/chart.js.map +1 -0
  457. package/dist/charts/engine/trading/drawings.cjs +2 -0
  458. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  459. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  460. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  461. package/dist/charts/engine/trading/drawings.js +160 -0
  462. package/dist/charts/engine/trading/drawings.js.map +1 -0
  463. package/dist/charts/engine/trading/format.cjs +2 -0
  464. package/dist/charts/engine/trading/format.cjs.map +1 -0
  465. package/dist/charts/engine/trading/format.d.cts +60 -0
  466. package/dist/charts/engine/trading/format.d.ts +60 -0
  467. package/dist/charts/engine/trading/format.js +131 -0
  468. package/dist/charts/engine/trading/format.js.map +1 -0
  469. package/dist/charts/engine/trading/geometry.cjs +2 -0
  470. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  471. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  472. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  473. package/dist/charts/engine/trading/geometry.js +131 -0
  474. package/dist/charts/engine/trading/geometry.js.map +1 -0
  475. package/dist/charts/engine/trading/index.cjs +1 -0
  476. package/dist/charts/engine/trading/index.d.cts +3 -0
  477. package/dist/charts/engine/trading/index.d.ts +3 -0
  478. package/dist/charts/engine/trading/index.js +3 -0
  479. package/dist/charts/engine/trading/indicators.cjs +2 -0
  480. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  481. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  482. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  483. package/dist/charts/engine/trading/indicators.js +268 -0
  484. package/dist/charts/engine/trading/indicators.js.map +1 -0
  485. package/dist/charts/engine/trading/labels.cjs +2 -0
  486. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  487. package/dist/charts/engine/trading/labels.d.cts +7 -0
  488. package/dist/charts/engine/trading/labels.d.ts +7 -0
  489. package/dist/charts/engine/trading/labels.js +91 -0
  490. package/dist/charts/engine/trading/labels.js.map +1 -0
  491. package/dist/charts/engine/trading/scale.cjs +2 -0
  492. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  493. package/dist/charts/engine/trading/scale.d.cts +46 -0
  494. package/dist/charts/engine/trading/scale.d.ts +46 -0
  495. package/dist/charts/engine/trading/scale.js +100 -0
  496. package/dist/charts/engine/trading/scale.js.map +1 -0
  497. package/dist/charts/engine/trading/store.cjs +2 -0
  498. package/dist/charts/engine/trading/store.cjs.map +1 -0
  499. package/dist/charts/engine/trading/store.d.cts +62 -0
  500. package/dist/charts/engine/trading/store.d.ts +62 -0
  501. package/dist/charts/engine/trading/store.js +129 -0
  502. package/dist/charts/engine/trading/store.js.map +1 -0
  503. package/dist/charts/engine/trading/studies.cjs +2 -0
  504. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  505. package/dist/charts/engine/trading/studies.d.cts +52 -0
  506. package/dist/charts/engine/trading/studies.d.ts +52 -0
  507. package/dist/charts/engine/trading/studies.js +254 -0
  508. package/dist/charts/engine/trading/studies.js.map +1 -0
  509. package/dist/charts/engine/trading/types.d.cts +656 -0
  510. package/dist/charts/engine/trading/types.d.ts +656 -0
  511. package/dist/charts/engine/types.d.cts +227 -15
  512. package/dist/charts/engine/types.d.ts +227 -15
  513. package/dist/charts/index.cjs +1 -1
  514. package/dist/charts/index.d.cts +7 -2
  515. package/dist/charts/index.d.ts +7 -2
  516. package/dist/charts/index.js +22 -8
  517. package/dist/charts/react/Chart.cjs +1 -1
  518. package/dist/charts/react/Chart.cjs.map +1 -1
  519. package/dist/charts/react/Chart.d.cts +11 -4
  520. package/dist/charts/react/Chart.d.ts +11 -4
  521. package/dist/charts/react/Chart.js +70 -47
  522. package/dist/charts/react/Chart.js.map +1 -1
  523. package/dist/charts/react/charts.cjs +1 -1
  524. package/dist/charts/react/charts.cjs.map +1 -1
  525. package/dist/charts/react/charts.d.cts +48 -2
  526. package/dist/charts/react/charts.d.ts +48 -2
  527. package/dist/charts/react/charts.js +371 -76
  528. package/dist/charts/react/charts.js.map +1 -1
  529. package/dist/charts/react/orderbook.cjs +2 -0
  530. package/dist/charts/react/orderbook.cjs.map +1 -0
  531. package/dist/charts/react/orderbook.d.cts +142 -0
  532. package/dist/charts/react/orderbook.d.ts +142 -0
  533. package/dist/charts/react/orderbook.js +182 -0
  534. package/dist/charts/react/orderbook.js.map +1 -0
  535. package/dist/charts/react/shapes.cjs +2 -0
  536. package/dist/charts/react/shapes.cjs.map +1 -0
  537. package/dist/charts/react/shapes.d.cts +537 -0
  538. package/dist/charts/react/shapes.d.ts +537 -0
  539. package/dist/charts/react/shapes.js +429 -0
  540. package/dist/charts/react/shapes.js.map +1 -0
  541. package/dist/charts/react/three-d.cjs +2 -0
  542. package/dist/charts/react/three-d.cjs.map +1 -0
  543. package/dist/charts/react/three-d.d.cts +151 -0
  544. package/dist/charts/react/three-d.d.ts +151 -0
  545. package/dist/charts/react/three-d.js +154 -0
  546. package/dist/charts/react/three-d.js.map +1 -0
  547. package/dist/charts/react/trading.cjs +2 -0
  548. package/dist/charts/react/trading.cjs.map +1 -0
  549. package/dist/charts/react/trading.d.cts +93 -0
  550. package/dist/charts/react/trading.d.ts +93 -0
  551. package/dist/charts/react/trading.js +95 -0
  552. package/dist/charts/react/trading.js.map +1 -0
  553. package/dist/charts/react/types.d.cts +200 -7
  554. package/dist/charts/react/types.d.ts +200 -7
  555. package/dist/core/contracts.cjs +1 -1
  556. package/dist/core/contracts.cjs.map +1 -1
  557. package/dist/core/contracts.js +1 -1
  558. package/dist/core/contracts.js.map +1 -1
  559. package/dist/native/charts/src/canvas.cjs +1 -1
  560. package/dist/native/charts/src/canvas.js +9 -3
  561. package/dist/native/charts/src/engine/axis.cjs +1 -1
  562. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  563. package/dist/native/charts/src/engine/axis.js +6 -6
  564. package/dist/native/charts/src/engine/axis.js.map +1 -1
  565. package/dist/native/charts/src/engine/color.cjs +1 -1
  566. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  567. package/dist/native/charts/src/engine/color.js +12 -3
  568. package/dist/native/charts/src/engine/color.js.map +1 -1
  569. package/dist/native/charts/src/engine/controller.cjs +2 -2
  570. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  571. package/dist/native/charts/src/engine/controller.js +418 -294
  572. package/dist/native/charts/src/engine/controller.js.map +1 -1
  573. package/dist/native/charts/src/engine/curve.cjs +2 -0
  574. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  575. package/dist/native/charts/src/engine/curve.js +56 -0
  576. package/dist/native/charts/src/engine/curve.js.map +1 -0
  577. package/dist/native/charts/src/engine/data.cjs +1 -1
  578. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  579. package/dist/native/charts/src/engine/data.js +117 -43
  580. package/dist/native/charts/src/engine/data.js.map +1 -1
  581. package/dist/native/charts/src/engine/format.cjs +1 -1
  582. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  583. package/dist/native/charts/src/engine/format.js +46 -21
  584. package/dist/native/charts/src/engine/format.js.map +1 -1
  585. package/dist/native/charts/src/engine/labels.cjs +2 -0
  586. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  587. package/dist/native/charts/src/engine/labels.js +74 -0
  588. package/dist/native/charts/src/engine/labels.js.map +1 -0
  589. package/dist/native/charts/src/engine/layout.cjs +1 -1
  590. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  591. package/dist/native/charts/src/engine/layout.js +53 -12
  592. package/dist/native/charts/src/engine/layout.js.map +1 -1
  593. package/dist/native/charts/src/engine/locale.cjs +2 -0
  594. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  595. package/dist/native/charts/src/engine/locale.js +60 -0
  596. package/dist/native/charts/src/engine/locale.js.map +1 -0
  597. package/dist/native/charts/src/engine/model.cjs +1 -1
  598. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  599. package/dist/native/charts/src/engine/model.js +335 -111
  600. package/dist/native/charts/src/engine/model.js.map +1 -1
  601. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  602. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  603. package/dist/native/charts/src/engine/overlay.js +54 -31
  604. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  605. package/dist/native/charts/src/engine/presets.cjs +2 -2
  606. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  607. package/dist/native/charts/src/engine/presets.js +456 -34
  608. package/dist/native/charts/src/engine/presets.js.map +1 -1
  609. package/dist/native/charts/src/engine/scale.cjs +1 -1
  610. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  611. package/dist/native/charts/src/engine/scale.js +1 -1
  612. package/dist/native/charts/src/engine/scale.js.map +1 -1
  613. package/dist/native/charts/src/engine/scene.cjs +1 -1
  614. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  615. package/dist/native/charts/src/engine/scene.js +369 -128
  616. package/dist/native/charts/src/engine/scene.js.map +1 -1
  617. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  618. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  620. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  622. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  624. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  626. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  627. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  628. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  629. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  630. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  631. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  632. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  633. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  634. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  635. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  636. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  637. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  638. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  639. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  640. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  641. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  642. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  643. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  644. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  645. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  646. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  647. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  648. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  649. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  650. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  651. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  652. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  653. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  654. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  655. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  656. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  657. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  658. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  659. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  660. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  661. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  662. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  663. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  664. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  665. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  666. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  667. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  668. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  669. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  670. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  671. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  672. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  673. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  674. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  675. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  676. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  678. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  680. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  682. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  684. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  685. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  686. package/dist/native/charts/src/engine/theme.js.map +1 -1
  687. package/dist/native/charts/src/engine/time.cjs +1 -1
  688. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  689. package/dist/native/charts/src/engine/time.js +156 -91
  690. package/dist/native/charts/src/engine/time.js.map +1 -1
  691. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  692. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  693. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  694. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  695. package/dist/native/components/Chart/ChartBase.js +110 -107
  696. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  697. package/dist/native/components/Chart/charts.cjs +1 -1
  698. package/dist/native/components/Chart/charts.cjs.map +1 -1
  699. package/dist/native/components/Chart/charts.d.cts +6 -1
  700. package/dist/native/components/Chart/charts.d.ts +6 -1
  701. package/dist/native/components/Chart/charts.js +53 -29
  702. package/dist/native/components/Chart/charts.js.map +1 -1
  703. package/dist/native/components/Chart/index.cjs +1 -1
  704. package/dist/native/components/Chart/index.d.cts +1 -1
  705. package/dist/native/components/Chart/index.d.ts +1 -1
  706. package/dist/native/components/Chart/index.js +2 -2
  707. package/dist/native/components/Chart/scene.cjs +1 -1
  708. package/dist/native/components/Chart/scene.cjs.map +1 -1
  709. package/dist/native/components/Chart/scene.js +244 -215
  710. package/dist/native/components/Chart/scene.js.map +1 -1
  711. package/dist/native/components/Chart/types.d.cts +26 -3
  712. package/dist/native/components/Chart/types.d.ts +26 -3
  713. package/dist/native/components/Charts/charts.cjs +2 -0
  714. package/dist/native/components/Charts/charts.cjs.map +1 -0
  715. package/dist/native/components/Charts/charts.d.cts +41 -0
  716. package/dist/native/components/Charts/charts.d.ts +41 -0
  717. package/dist/native/components/Charts/charts.js +338 -0
  718. package/dist/native/components/Charts/charts.js.map +1 -0
  719. package/dist/native/components/Charts/index.cjs +1 -0
  720. package/dist/native/components/Charts/index.d.cts +2 -0
  721. package/dist/native/components/Charts/index.d.ts +2 -0
  722. package/dist/native/components/Charts/index.js +2 -0
  723. package/dist/native/components/Charts/types.d.cts +144 -0
  724. package/dist/native/components/Charts/types.d.ts +144 -0
  725. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  726. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  727. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  728. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  729. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  730. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  731. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  732. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  733. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  734. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  735. package/dist/native/components/ShapeChart/charts.js +387 -0
  736. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  737. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  738. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  739. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  740. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  741. package/dist/native/components/ShapeChart/draw.js +104 -0
  742. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  743. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  744. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  745. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  746. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  747. package/dist/native/components/ShapeChart/geometry.js +602 -0
  748. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  749. package/dist/native/components/ShapeChart/index.cjs +1 -0
  750. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  751. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  752. package/dist/native/components/ShapeChart/index.js +2 -0
  753. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  754. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  755. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  756. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  757. package/dist/native/components/ShapeChart/recorder.js +574 -0
  758. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  759. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  760. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  761. package/dist/native/index.cjs +1 -1
  762. package/dist/native/index.d.cts +2 -0
  763. package/dist/native/index.d.ts +2 -0
  764. package/dist/native/index.js +14 -10
  765. package/dist/native/manifest.d.cts +6 -4
  766. package/dist/native/manifest.d.ts +6 -4
  767. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  768. package/dist/native/source/components/Chart/charts.tsx +42 -6
  769. package/dist/native/source/components/Chart/index.ts +1 -0
  770. package/dist/native/source/components/Chart/scene.tsx +204 -100
  771. package/dist/native/source/components/Chart/types.ts +31 -1
  772. package/dist/native/source/components/Charts/charts.tsx +493 -0
  773. package/dist/native/source/components/Charts/index.ts +14 -0
  774. package/dist/native/source/components/Charts/types.ts +207 -0
  775. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  776. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  777. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  778. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  779. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  780. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  781. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  782. package/dist/native/source/index.ts +2 -0
  783. package/dist/native/source/manifest.ts +30 -4
  784. package/dist/taro/charts.d.ts +209 -4
  785. package/dist/taro/index.d.ts +1 -0
  786. package/dist/taro/index.js +8032 -1891
  787. package/dist/taro/manifest.d.ts +1 -0
  788. package/dist/taro/shape-charts.d.ts +537 -0
  789. package/dist/uni/AreaChart.vue +68 -0
  790. package/dist/uni/AreaChart.vue.d.ts +120 -0
  791. package/dist/uni/Badge.vue.d.ts +1 -1
  792. package/dist/uni/BoxPlotChart.vue +66 -0
  793. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  794. package/dist/uni/BubbleChart.vue +68 -0
  795. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  796. package/dist/uni/BulletChart.vue +86 -0
  797. package/dist/uni/BulletChart.vue.d.ts +110 -0
  798. package/dist/uni/CalendarHeatmap.vue +92 -0
  799. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  800. package/dist/uni/CandlestickChart.vue +66 -0
  801. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  802. package/dist/uni/DonutChart.vue +72 -0
  803. package/dist/uni/DonutChart.vue.d.ts +114 -0
  804. package/dist/uni/FunnelChart.vue +67 -0
  805. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  806. package/dist/uni/GanttChart.vue +67 -0
  807. package/dist/uni/GanttChart.vue.d.ts +123 -0
  808. package/dist/uni/GaugeChart.vue +77 -0
  809. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  810. package/dist/uni/HeatmapChart.vue +66 -0
  811. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  812. package/dist/uni/HistogramChart.vue +66 -0
  813. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  814. package/dist/uni/HorizontalBarChart.vue +68 -0
  815. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  816. package/dist/uni/Input.vue.d.ts +1 -1
  817. package/dist/uni/MixedChart.vue +68 -0
  818. package/dist/uni/MixedChart.vue.d.ts +106 -0
  819. package/dist/uni/NumberInput.vue.d.ts +1 -1
  820. package/dist/uni/PieChart.vue +72 -0
  821. package/dist/uni/PieChart.vue.d.ts +114 -0
  822. package/dist/uni/RadarChart.vue +67 -0
  823. package/dist/uni/RadarChart.vue.d.ts +110 -0
  824. package/dist/uni/RadialBarChart.vue +90 -0
  825. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  826. package/dist/uni/RangeAreaChart.vue +68 -0
  827. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  828. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  829. package/dist/uni/SankeyChart.vue +88 -0
  830. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  831. package/dist/uni/ShapeChart.vue +73 -0
  832. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  833. package/dist/uni/Sparkline.vue +58 -0
  834. package/dist/uni/Sparkline.vue.d.ts +77 -0
  835. package/dist/uni/SunburstChart.vue +90 -0
  836. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  837. package/dist/uni/Textarea.vue.d.ts +1 -1
  838. package/dist/uni/TimePicker.vue.d.ts +1 -1
  839. package/dist/uni/TreemapChart.vue +65 -0
  840. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  841. package/dist/uni/WaterfallChart.vue +66 -0
  842. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  843. package/dist/uni/chart-types.d.ts +216 -2
  844. package/dist/uni/chart-types.js +174 -0
  845. package/dist/uni/charts-canvas.js +10 -3
  846. package/dist/uni/index.d.ts +26 -1
  847. package/dist/uni/index.js +26 -1
  848. package/dist/uni/manifest.d.ts +272 -0
  849. package/dist/uni/manifest.js +387 -0
  850. package/dist/uni/named-chart-options.d.ts +88 -0
  851. package/dist/uni/named-chart-options.js +156 -0
  852. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  853. package/dist/uni/shape-chart-canvas.js +342 -0
  854. package/dist/uni/shape-chart-types.d.ts +381 -0
  855. package/dist/uni/shape-chart-types.js +261 -0
  856. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  857. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  860. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  865. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  867. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  870. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  872. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  875. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  877. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  880. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  882. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  885. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  887. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  888. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  890. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  892. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  895. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  897. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  898. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  900. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  902. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  903. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  905. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  912. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  915. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  917. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  920. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  922. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  925. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  927. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  930. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  935. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  940. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  942. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  945. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  947. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  950. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  952. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  953. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  955. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  957. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  958. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  960. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  962. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  963. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  965. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  967. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  968. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  970. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  972. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  975. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  977. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  980. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  982. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  985. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  987. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  988. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  989. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  990. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  991. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  992. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  993. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  994. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  995. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  996. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  997. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  998. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  999. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1000. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1001. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1002. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1003. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1004. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1005. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1006. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1007. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1008. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1009. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1010. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1011. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1012. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1013. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1014. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1015. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1016. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1017. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1018. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1019. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1020. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1021. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1022. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1023. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1024. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1025. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1026. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  1027. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1028. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1029. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1030. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1031. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  1032. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1033. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1034. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  1035. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1036. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1037. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1038. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1039. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1040. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1041. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  1042. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1043. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1044. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1045. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1046. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1047. package/dist/vue/components/Chart/cartesian.js +56 -0
  1048. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1049. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1050. package/dist/vue/components/Chart/engine.js +35 -0
  1051. package/dist/vue/components/Chart/engine.js.map +1 -0
  1052. package/dist/vue/components/Chart/index.d.ts +41 -0
  1053. package/dist/vue/components/Chart/index.js +40 -0
  1054. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  1055. package/dist/vue/components/Chart/orderbook.js +126 -0
  1056. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1057. package/dist/vue/components/Chart/props.d.ts +188 -0
  1058. package/dist/vue/components/Chart/props.js +92 -0
  1059. package/dist/vue/components/Chart/props.js.map +1 -0
  1060. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1061. package/dist/vue/components/Chart/shape.js +42 -0
  1062. package/dist/vue/components/Chart/shape.js.map +1 -0
  1063. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1064. package/dist/vue/components/Chart/three-d.js +88 -0
  1065. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1066. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1067. package/dist/vue/components/Chart/trading.js +55 -0
  1068. package/dist/vue/components/Chart/trading.js.map +1 -0
  1069. package/dist/vue/components/Chart/types.d.ts +137 -0
  1070. package/dist/vue/global.d.ts +38 -0
  1071. package/dist/vue/groups/charts.d.ts +1 -0
  1072. package/dist/vue/groups/charts.js +87 -0
  1073. package/dist/vue/groups/charts.js.map +1 -0
  1074. package/dist/vue/index.d.ts +1 -0
  1075. package/dist/vue/index.js +63 -23
  1076. package/dist/vue/plugin.js +12 -10
  1077. package/dist/vue/plugin.js.map +1 -1
  1078. package/dist/weapp/area-chart/index.js +1 -0
  1079. package/dist/weapp/area-chart/index.json +1 -0
  1080. package/dist/weapp/area-chart/index.wxml +1 -0
  1081. package/dist/weapp/area-chart/index.wxss +1 -0
  1082. package/dist/weapp/box-plot-chart/index.js +1 -0
  1083. package/dist/weapp/box-plot-chart/index.json +1 -0
  1084. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1085. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1086. package/dist/weapp/bubble-chart/index.js +1 -0
  1087. package/dist/weapp/bubble-chart/index.json +1 -0
  1088. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1089. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1090. package/dist/weapp/bullet-chart/index.js +1 -0
  1091. package/dist/weapp/bullet-chart/index.json +1 -0
  1092. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1093. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1094. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1095. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1096. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1097. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1098. package/dist/weapp/candlestick-chart/index.js +1 -0
  1099. package/dist/weapp/candlestick-chart/index.json +1 -0
  1100. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1101. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1102. package/dist/weapp/charts/canvas.js +11436 -0
  1103. package/dist/weapp/charts/core.d.ts +2 -0
  1104. package/dist/weapp/charts/core.js +41 -0
  1105. package/dist/weapp/controls.js +1428 -3732
  1106. package/dist/weapp/donut-chart/index.js +1 -0
  1107. package/dist/weapp/donut-chart/index.json +1 -0
  1108. package/dist/weapp/donut-chart/index.wxml +1 -0
  1109. package/dist/weapp/donut-chart/index.wxss +1 -0
  1110. package/dist/weapp/funnel-chart/index.js +1 -0
  1111. package/dist/weapp/funnel-chart/index.json +1 -0
  1112. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1113. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1114. package/dist/weapp/gantt-chart/index.js +1 -0
  1115. package/dist/weapp/gantt-chart/index.json +1 -0
  1116. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1117. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1118. package/dist/weapp/gauge-chart/index.js +1 -0
  1119. package/dist/weapp/gauge-chart/index.json +1 -0
  1120. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1121. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1122. package/dist/weapp/heatmap-chart/index.js +1 -0
  1123. package/dist/weapp/heatmap-chart/index.json +1 -0
  1124. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1125. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1126. package/dist/weapp/histogram-chart/index.js +1 -0
  1127. package/dist/weapp/histogram-chart/index.json +1 -0
  1128. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1129. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1130. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1131. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1132. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1133. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1134. package/dist/weapp/mixed-chart/index.js +1 -0
  1135. package/dist/weapp/mixed-chart/index.json +1 -0
  1136. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1137. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1138. package/dist/weapp/pie-chart/index.js +1 -0
  1139. package/dist/weapp/pie-chart/index.json +1 -0
  1140. package/dist/weapp/pie-chart/index.wxml +1 -0
  1141. package/dist/weapp/pie-chart/index.wxss +1 -0
  1142. package/dist/weapp/radar-chart/index.js +1 -0
  1143. package/dist/weapp/radar-chart/index.json +1 -0
  1144. package/dist/weapp/radar-chart/index.wxml +1 -0
  1145. package/dist/weapp/radar-chart/index.wxss +1 -0
  1146. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1147. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1148. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1149. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1150. package/dist/weapp/range-area-chart/index.js +1 -0
  1151. package/dist/weapp/range-area-chart/index.json +1 -0
  1152. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1153. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1154. package/dist/weapp/sankey-chart/index.js +1 -0
  1155. package/dist/weapp/sankey-chart/index.json +1 -0
  1156. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1157. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1158. package/dist/weapp/shape-chart/index.js +1 -0
  1159. package/dist/weapp/shape-chart/index.json +1 -0
  1160. package/dist/weapp/shape-chart/index.wxml +1 -0
  1161. package/dist/weapp/shape-chart/index.wxss +1 -0
  1162. package/dist/weapp/sparkline/index.js +1 -0
  1163. package/dist/weapp/sparkline/index.json +1 -0
  1164. package/dist/weapp/sparkline/index.wxml +1 -0
  1165. package/dist/weapp/sparkline/index.wxss +1 -0
  1166. package/dist/weapp/sunburst-chart/index.js +1 -0
  1167. package/dist/weapp/sunburst-chart/index.json +1 -0
  1168. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1169. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1170. package/dist/weapp/treemap-chart/index.js +1 -0
  1171. package/dist/weapp/treemap-chart/index.json +1 -0
  1172. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1173. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1174. package/dist/weapp/types.d.ts +466 -0
  1175. package/dist/weapp/waterfall-chart/index.js +1 -0
  1176. package/dist/weapp/waterfall-chart/index.json +1 -0
  1177. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1178. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1179. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1180. package/dist/web-components/components/chart/chart.js +55 -0
  1181. package/dist/web-components/components/chart/chart.js.map +1 -0
  1182. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1183. package/dist/web-components/components/chart/charts.js +201 -0
  1184. package/dist/web-components/components/chart/charts.js.map +1 -0
  1185. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1186. package/dist/web-components/components/chart/engine-element.js +77 -0
  1187. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1188. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1189. package/dist/web-components/components/chart/extended.js +183 -0
  1190. package/dist/web-components/components/chart/extended.js.map +1 -0
  1191. package/dist/web-components/components/chart/series.d.ts +7 -0
  1192. package/dist/web-components/components/chart/series.js +14 -0
  1193. package/dist/web-components/components/chart/series.js.map +1 -0
  1194. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1195. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1196. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1197. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1198. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1199. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1200. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1201. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1202. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1203. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1204. package/dist/web-components/components/order-book/order-book.js +174 -0
  1205. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1206. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1207. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1208. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1209. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1210. package/dist/web-components/elements/chart-3d.js +13 -0
  1211. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1212. package/dist/web-components/elements/chart.d.ts +7 -0
  1213. package/dist/web-components/elements/chart.js +43 -0
  1214. package/dist/web-components/elements/chart.js.map +1 -0
  1215. package/dist/web-components/elements/order-book.d.ts +2 -0
  1216. package/dist/web-components/elements/order-book.js +13 -0
  1217. package/dist/web-components/elements/order-book.js.map +1 -0
  1218. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1219. package/dist/web-components/elements/trading-chart.js +8 -0
  1220. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1221. package/dist/web-components/html-custom-data.json +1192 -29
  1222. package/dist/web-components/types/react.d.ts +435 -0
  1223. package/dist/web-components/types/solid.d.ts +321 -0
  1224. package/dist/web-components/types/svelte.d.ts +321 -0
  1225. package/dist/web-components/types/vue.d.ts +359 -0
  1226. package/package.json +113 -1
@@ -0,0 +1,268 @@
1
+ //#region src/engine/trading/indicators.ts
2
+ var e = Number.isFinite, t = (e) => new Float64Array(e).fill(NaN), n = (e) => Math.max(1, Math.floor(e) || 1), r = (t, r, i, a, o = 0) => {
3
+ let s = n(i), c = 0, l = 0;
4
+ for (let n = Math.max(0, o - s); n < o; n++) {
5
+ let r = t[n];
6
+ e(r) && (c += r, l++);
7
+ }
8
+ for (let n = o; n < r; n++) {
9
+ let r = t[n];
10
+ if (e(r) && (c += r, l++), n >= s) {
11
+ let r = t[n - s];
12
+ e(r) && (c -= r, l--);
13
+ }
14
+ a[n] = l === s ? c / s : NaN;
15
+ }
16
+ }, i = (t, n, r) => {
17
+ if (n < r - 1) return NaN;
18
+ let i = 0;
19
+ for (let a = n - r + 1; a <= n; a++) {
20
+ let n = t[a];
21
+ if (!e(n)) return NaN;
22
+ i += n;
23
+ }
24
+ return i / r;
25
+ }, a = (t, n, r, a, o, s) => {
26
+ for (let c = s; c < n; c++) {
27
+ let n = t[c], s = c > 0 ? o[c - 1] : NaN;
28
+ e(n) ? e(s) ? o[c] = s + a * (n - s) : o[c] = i(t, c, r) : o[c] = NaN;
29
+ }
30
+ }, o = (e, t, r, i, o = 0) => {
31
+ let s = n(r);
32
+ a(e, t, s, 2 / (s + 1), i, o);
33
+ }, s = (e, t, r, i, o = 0) => {
34
+ let s = n(r);
35
+ a(e, t, s, 1 / s, i, o);
36
+ }, c = (t, r, a, o, s = 0) => {
37
+ let c = n(a), l = c * (c + 1) / 2, u = (n) => {
38
+ if (n < c - 1) return NaN;
39
+ let r = 0;
40
+ for (let i = 0; i < c; i++) {
41
+ let a = t[n - i];
42
+ if (!e(a)) return NaN;
43
+ r += (c - i) * a;
44
+ }
45
+ return r;
46
+ }, d = s > 0 ? u(s - 1) : NaN, f = s > 0 ? i(t, s - 1, c) * c : NaN;
47
+ for (let n = s; n < r; n++) {
48
+ let r = t[n];
49
+ e(d) && e(f) && e(r) ? (d = d - f + c * r, f = f + r - (n >= c ? t[n - c] : 0)) : (d = u(n), f = i(t, n, c) * c), o[n] = e(d) ? d / l : NaN;
50
+ }
51
+ }, l = (t, r, a, o, s = 0) => {
52
+ let c = n(a);
53
+ for (let n = s; n < r; n++) {
54
+ let r = i(t, n, c);
55
+ if (!e(r)) {
56
+ o[n] = NaN;
57
+ continue;
58
+ }
59
+ let a = 0;
60
+ for (let e = n - c + 1; e <= n; e++) {
61
+ let n = t[e] - r;
62
+ a += n * n;
63
+ }
64
+ o[n] = Math.sqrt(a / c);
65
+ }
66
+ }, u = (t, r, i, a, o, s, c = 0) => {
67
+ let l = n(i);
68
+ for (let n = c; n < r; n++) {
69
+ if (o[n] = s[n] = NaN, a[n] = NaN, n === 0) continue;
70
+ let r = t[n] - t[n - 1];
71
+ if (e(r)) {
72
+ if (e(o[n - 1]) && e(s[n - 1])) o[n] = (o[n - 1] * (l - 1) + Math.max(r, 0)) / l, s[n] = (s[n - 1] * (l - 1) + Math.max(-r, 0)) / l;
73
+ else if (n >= l) {
74
+ let r = 0, i = 0, a = !0;
75
+ for (let o = n - l + 1; o <= n; o++) {
76
+ let n = t[o] - t[o - 1];
77
+ if (!e(n)) {
78
+ a = !1;
79
+ break;
80
+ }
81
+ n > 0 ? r += n : i -= n;
82
+ }
83
+ if (!a) continue;
84
+ o[n] = r / l, s[n] = i / l;
85
+ } else continue;
86
+ a[n] = s[n] === 0 ? o[n] === 0 ? 50 : 100 : 100 - 100 / (1 + o[n] / s[n]);
87
+ }
88
+ }
89
+ }, d = (t, n, r, i, a, o = 0) => {
90
+ for (let s = o; s < i; s++) {
91
+ let i = t[s] - n[s];
92
+ if (s === 0 || !e(r[s - 1])) {
93
+ a[s] = i;
94
+ continue;
95
+ }
96
+ let o = r[s - 1];
97
+ a[s] = Math.max(i, Math.abs(t[s] - o), Math.abs(n[s] - o));
98
+ }
99
+ }, f = (t, r, i, a, o, s, c, l, u, d, f = 0) => {
100
+ let p = n(o), m = n(s), h = n(c);
101
+ for (let n = f; n < a; n++) {
102
+ if (l[n] = u[n] = d[n] = NaN, n < p - 1) continue;
103
+ let a = -Infinity, o = Infinity;
104
+ for (let e = n - p + 1; e <= n; e++) t[e] > a && (a = t[e]), r[e] < o && (o = r[e]);
105
+ let s = i[n];
106
+ if (!e(a) || !e(o) || !e(s)) continue;
107
+ let c = a === o ? 50 : (s - o) / (a - o) * 100, f = n > 0 && e(l[n - 1]) ? l[n - 1] : 50, g = n > 0 && e(u[n - 1]) ? u[n - 1] : 50;
108
+ l[n] = ((m - 1) * f + c) / m, u[n] = ((h - 1) * g + l[n]) / h, d[n] = 3 * l[n] - 2 * u[n];
109
+ }
110
+ }, p = 864e5, m = (e, t, n = 0) => {
111
+ if (t === "none") return 0;
112
+ let r = e + n * 6e4, i = Math.floor(r / p);
113
+ if (t === "day") return i;
114
+ if (t === "week") return Math.floor((i + 3) / 7);
115
+ let a = new Date(r);
116
+ return a.getUTCFullYear() * 12 + a.getUTCMonth();
117
+ }, h = (t, n, r, i, a, o, s, c, l, u, d, f = 0) => {
118
+ for (let p = f; p < o; p++) {
119
+ let o = (t[p] + n[p] + r[p]) / 3, f = e(i[p]) ? i[p] : 0, h = p > 0 && (!a || m(a[p], s, c) === m(a[p - 1], s, c)), g = h && e(u[p - 1]) ? u[p - 1] : 0, _ = h && e(d[p - 1]) ? d[p - 1] : 0;
120
+ u[p] = g + (e(o) ? o * f : 0), d[p] = _ + f, l[p] = d[p] > 0 ? u[p] / d[p] : e(o) ? o : NaN;
121
+ }
122
+ }, g = (t, n, r, i, a, o, s = 0) => {
123
+ for (let c = s; c < a; c++) {
124
+ let a = (t[c] + n[c] + r[c] + i[c]) / 4, s = c > 0 ? o.open[c - 1] : NaN, l = c > 0 ? o.close[c - 1] : NaN, u = e(s) && e(l) ? (s + l) / 2 : (t[c] + i[c]) / 2;
125
+ o.open[c] = u, o.close[c] = a, o.high[c] = Math.max(n[c], u, a), o.low[c] = Math.min(r[c], u, a);
126
+ }
127
+ }, _ = (e, n) => {
128
+ let i = t(e.length);
129
+ return r(e, e.length, n, i), i;
130
+ }, v = (e, n) => {
131
+ let r = t(e.length);
132
+ return o(e, e.length, n, r), r;
133
+ }, y = (e, n) => {
134
+ let r = t(e.length);
135
+ return c(e, e.length, n, r), r;
136
+ }, b = (e, n = 20, i = 2) => {
137
+ let a = e.length, o = t(a), s = t(a), c = t(a), u = t(a);
138
+ r(e, a, n, o), l(e, a, n, u);
139
+ for (let e = 0; e < a; e++) s[e] = o[e] + i * u[e], c[e] = o[e] - i * u[e];
140
+ return {
141
+ middle: o,
142
+ upper: s,
143
+ lower: c
144
+ };
145
+ }, x = (e, n = 12, r = 26, i = 9) => {
146
+ let a = e.length, s = t(a), c = t(a);
147
+ o(e, a, n, s), o(e, a, r, c);
148
+ let l = t(a);
149
+ for (let e = 0; e < a; e++) l[e] = s[e] - c[e];
150
+ let u = t(a);
151
+ o(l, a, i, u);
152
+ let d = t(a);
153
+ for (let e = 0; e < a; e++) d[e] = l[e] - u[e];
154
+ return {
155
+ macd: l,
156
+ signal: u,
157
+ histogram: d
158
+ };
159
+ }, S = (e, n = 14) => {
160
+ let r = e.length, i = t(r);
161
+ return u(e, r, n, i, t(r), t(r)), i;
162
+ }, C = (e, n, r, i = 9, a = 3, o = 3) => {
163
+ let s = r.length, c = t(s), l = t(s), u = t(s);
164
+ return f(e, n, r, s, i, a, o, c, l, u), {
165
+ k: c,
166
+ d: l,
167
+ j: u
168
+ };
169
+ }, w = (e, n, r, i = 14) => {
170
+ let a = r.length, o = t(a);
171
+ d(e, n, r, a, o);
172
+ let c = t(a);
173
+ return s(o, a, i, c), c;
174
+ }, T = (e, n, r, i, a = {}) => {
175
+ let o = r.length, s = t(o);
176
+ return h(e, n, r, i, a.time ?? null, o, a.reset ?? "day", a.utcOffset ?? 0, s, t(o), t(o)), s;
177
+ }, E = (e) => {
178
+ let n = e.close.length, r = {
179
+ open: t(n),
180
+ high: t(n),
181
+ low: t(n),
182
+ close: t(n)
183
+ };
184
+ return g(e.open, e.high, e.low, e.close, n, r), r;
185
+ }, D = {
186
+ s: 1e3,
187
+ m: 6e4,
188
+ h: 36e5,
189
+ H: 36e5,
190
+ d: p,
191
+ D: p,
192
+ w: 7 * p,
193
+ W: 7 * p
194
+ }, O = (e) => {
195
+ if (typeof e == "number") return e > 0 ? {
196
+ unit: "ms",
197
+ count: e,
198
+ ms: e
199
+ } : null;
200
+ let t = /^(\d+(?:\.\d+)?)([smhHdDwWM])$/.exec(e.trim());
201
+ if (!t) return null;
202
+ let n = Number(t[1]);
203
+ if (!(n > 0)) return null;
204
+ let r = t[2];
205
+ return r === "M" ? {
206
+ unit: "month",
207
+ count: n,
208
+ ms: n * 30 * p
209
+ } : {
210
+ unit: "ms",
211
+ count: n * D[r],
212
+ ms: n * D[r]
213
+ };
214
+ }, k = (e, t, n = 0) => {
215
+ let r = n * 6e4, i = e + r;
216
+ if (t.unit === "month") {
217
+ let e = new Date(i), n = e.getUTCFullYear() * 12 + e.getUTCMonth(), a = n - n % t.count;
218
+ return Date.UTC(Math.floor(a / 12), a % 12, 1) - r;
219
+ }
220
+ if (t.count % (7 * p) == 0) {
221
+ let e = 4 * p;
222
+ return Math.floor((i - e) / t.count) * t.count + e - r;
223
+ }
224
+ return Math.floor(i / t.count) * t.count - r;
225
+ }, A = (e) => !Array.isArray(e);
226
+ function j(e, t, n = 0) {
227
+ let r = O(t);
228
+ if (!r) throw Error(`Invalid timeframe: ${String(t)}`);
229
+ let i = A(e), a = i ? e.close.length : e.length, o = (t) => {
230
+ if (!i) return e[t];
231
+ let n = e;
232
+ return {
233
+ time: n.time[t],
234
+ open: n.open[t],
235
+ high: n.high[t],
236
+ low: n.low[t],
237
+ close: n.close[t],
238
+ volume: n.volume ? n.volume[t] : void 0
239
+ };
240
+ }, s = [], c = null;
241
+ for (let e = 0; e < a; e++) {
242
+ let t = o(e), i = k(t.time, r, n);
243
+ !c || i !== c.time ? (c && s.push(c), c = {
244
+ time: i,
245
+ open: t.open,
246
+ high: t.high,
247
+ low: t.low,
248
+ close: t.close,
249
+ volume: t.volume ?? 0
250
+ }) : (t.high > c.high && (c.high = t.high), t.low < c.low && (c.low = t.low), c.close = t.close, c.volume = (c.volume ?? 0) + (t.volume ?? 0));
251
+ }
252
+ if (c && s.push(c), !i) return s;
253
+ let l = s.length, u = {
254
+ time: new Float64Array(l),
255
+ open: new Float64Array(l),
256
+ high: new Float64Array(l),
257
+ low: new Float64Array(l),
258
+ close: new Float64Array(l),
259
+ volume: new Float64Array(l)
260
+ };
261
+ return s.forEach((e, t) => {
262
+ u.time[t] = e.time, u.open[t] = e.open, u.high[t] = e.high, u.low[t] = e.low, u.close[t] = e.close, u.volume[t] = e.volume ?? 0;
263
+ }), u;
264
+ }
265
+ //#endregion
266
+ export { w as atr, b as bollinger, k as bucketStart, v as ema, o as emaInto, E as heikinAshi, g as heikinAshiInto, C as kdj, f as kdjInto, x as macd, O as parseTimeframe, j as resampleBars, s as rmaInto, S as rsi, u as rsiInto, m as sessionKey, _ as sma, r as smaInto, l as stdevInto, d as trueRangeInto, T as vwap, h as vwapInto, y as wma, c as wmaInto };
267
+
268
+ //# sourceMappingURL=indicators.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"indicators.js","names":["finite","nanArray","n","periodOf","period","smaInto","p","sum","valid","j","from","v","src","i","old","windowMean","k","smoothInto","prev","out","alpha","emaInto","rmaInto","wmaInto","denominator","direct","num","stdevInto","mean","sq","d","rsiInto","change","close","gain","loss","g","l","ok","c","trueRangeInto","range","high","low","pc","kdjInto","m1","kPeriod","m2","dPeriod","hh","ll","q","rsv","pk","pd","DAY","sessionKey","reset","t","time","utcOffset","day","date","vwapInto","tp","volume","same","basePv","pv","baseV","vol","heikinAshiInto","open","prevOpen","prevClose","o","sma","values","ema","wma","bollinger","middle","upper","lower","dev","multiplier","macd","f","s","fast","slow","line","sig","signal","histogram","rsi","kdj","atr","tr","vwap","options","heikinAshi","bars","UNIT_MS","parseTimeframe","timeframe","match","count","unit","bucketStart","shift","tf","months","start","monday","isColumns","resampleBars","columns","get","current","bar","m","result"],"sources":["../../../../../charts/src/engine/trading/indicators.ts"],"sourcesContent":["// Technical indicators on columns of numbers (Float64Array out, NaN while\n// an indicator warms up). Every kernel computes the outputs from index\n// `from` on, assuming the outputs before it are up to date: the chart\n// recomputes only the last bar on each tick, even with a million bars.\n\nimport type {\n TradingBar,\n TradingBarColumns,\n TradingBarsInput,\n TradingTimeframe,\n} from \"./types\";\n\ntype Values = ArrayLike<number>;\n\nconst finite = Number.isFinite;\n\n/** Output array of `n` values, NaN-filled */\nconst nanArray = (n: number) => new Float64Array(n).fill(NaN);\n\nconst periodOf = (period: number) => Math.max(1, Math.floor(period) || 1);\n\n// ---------------------------------------------------------------- kernels\n\n/** Simple moving average of `src[0..n)` into `out`, from index `from` */\nexport const smaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n let sum = 0;\n let valid = 0;\n // the window ending just before `from` (the loop below drops its oldest value)\n for (let j = Math.max(0, from - p); j < from; j++) {\n const v = src[j];\n if (finite(v)) {\n sum += v;\n valid++;\n }\n }\n for (let i = from; i < n; i++) {\n const v = src[i];\n if (finite(v)) {\n sum += v;\n valid++;\n }\n if (i >= p) {\n const old = src[i - p];\n if (finite(old)) {\n sum -= old;\n valid--;\n }\n }\n out[i] = valid === p ? sum / p : NaN;\n }\n};\n\n/** Mean of `src[i-p+1..i]`, NaN unless the window is complete */\nconst windowMean = (src: Values, i: number, p: number) => {\n if (i < p - 1) return NaN;\n let sum = 0;\n for (let k = i - p + 1; k <= i; k++) {\n const v = src[k];\n if (!finite(v)) return NaN;\n sum += v;\n }\n return sum / p;\n};\n\n/**\n * Exponential smoothing with factor `alpha`, seeded with the simple\n * average of the first complete window (the TradingView convention)\n */\nconst smoothInto = (\n src: Values,\n n: number,\n p: number,\n alpha: number,\n out: Float64Array,\n from: number,\n) => {\n for (let i = from; i < n; i++) {\n const v = src[i];\n const prev = i > 0 ? out[i - 1] : NaN;\n if (!finite(v)) out[i] = NaN;\n else if (finite(prev)) out[i] = prev + alpha * (v - prev);\n else out[i] = windowMean(src, i, p);\n }\n};\n\n/** Exponential moving average (alpha = 2 / (period + 1)) */\nexport const emaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n smoothInto(src, n, p, 2 / (p + 1), out, from);\n};\n\n/** Wilder's moving average (alpha = 1 / period), used by RSI and ATR */\nexport const rmaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n smoothInto(src, n, p, 1 / p, out, from);\n};\n\n/** Linearly weighted moving average (the newest bar weighs `period`) */\nexport const wmaInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n const denominator = (p * (p + 1)) / 2;\n const direct = (i: number) => {\n if (i < p - 1) return NaN;\n let num = 0;\n for (let k = 0; k < p; k++) {\n const v = src[i - k];\n if (!finite(v)) return NaN;\n num += (p - k) * v;\n }\n return num;\n };\n // numerator of the previous index and the sum of its window\n let num = from > 0 ? direct(from - 1) : NaN;\n let sum = from > 0 ? windowMean(src, from - 1, p) * p : NaN;\n for (let i = from; i < n; i++) {\n const v = src[i];\n if (finite(num) && finite(sum) && finite(v)) {\n num = num - sum + p * v;\n sum = sum + v - (i >= p ? src[i - p] : 0);\n } else {\n num = direct(i);\n sum = windowMean(src, i, p) * p;\n }\n out[i] = finite(num) ? num / denominator : NaN;\n }\n};\n\n/** Population standard deviation over the window (two passes: exact) */\nexport const stdevInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n for (let i = from; i < n; i++) {\n const mean = windowMean(src, i, p);\n if (!finite(mean)) {\n out[i] = NaN;\n continue;\n }\n let sq = 0;\n for (let k = i - p + 1; k <= i; k++) {\n const d = src[k] - mean;\n sq += d * d;\n }\n out[i] = Math.sqrt(sq / p);\n }\n};\n\n/** Highest value of the window ending at each index */\nconst extremeInto = (\n src: Values,\n n: number,\n p: number,\n out: Float64Array,\n from: number,\n highest: boolean,\n) => {\n for (let i = from; i < n; i++) {\n if (i < p - 1) {\n out[i] = NaN;\n continue;\n }\n let m = highest ? -Infinity : Infinity;\n for (let k = i - p + 1; k <= i; k++) {\n const v = src[k];\n if (!finite(v)) {\n m = NaN;\n break;\n }\n if (highest ? v > m : v < m) m = v;\n }\n out[i] = m;\n }\n};\n\n/** RSI with Wilder smoothing; `gain` / `loss` hold the running averages */\nexport const rsiInto = (\n close: Values,\n n: number,\n period: number,\n out: Float64Array,\n gain: Float64Array,\n loss: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n for (let i = from; i < n; i++) {\n gain[i] = loss[i] = NaN;\n out[i] = NaN;\n if (i === 0) continue;\n const change = close[i] - close[i - 1];\n if (!finite(change)) continue;\n if (finite(gain[i - 1]) && finite(loss[i - 1])) {\n gain[i] = (gain[i - 1] * (p - 1) + Math.max(change, 0)) / p;\n loss[i] = (loss[i - 1] * (p - 1) + Math.max(-change, 0)) / p;\n } else if (i >= p) {\n let g = 0;\n let l = 0;\n let ok = true;\n for (let k = i - p + 1; k <= i; k++) {\n const c = close[k] - close[k - 1];\n if (!finite(c)) {\n ok = false;\n break;\n }\n if (c > 0) g += c;\n else l -= c;\n }\n if (!ok) continue;\n gain[i] = g / p;\n loss[i] = l / p;\n } else {\n continue;\n }\n out[i] =\n loss[i] === 0\n ? gain[i] === 0\n ? 50\n : 100\n : 100 - 100 / (1 + gain[i] / loss[i]);\n }\n};\n\n/** True range of each bar */\nexport const trueRangeInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n out: Float64Array,\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n const range = high[i] - low[i];\n if (i === 0 || !finite(close[i - 1])) {\n out[i] = range;\n continue;\n }\n const pc = close[i - 1];\n out[i] = Math.max(range, Math.abs(high[i] - pc), Math.abs(low[i] - pc));\n }\n};\n\n/** KDJ: K and D smoothed from the raw stochastic value (seeded at 50), J = 3K − 2D */\nexport const kdjInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n kPeriod: number,\n dPeriod: number,\n k: Float64Array,\n d: Float64Array,\n j: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n const m1 = periodOf(kPeriod);\n const m2 = periodOf(dPeriod);\n for (let i = from; i < n; i++) {\n k[i] = d[i] = j[i] = NaN;\n if (i < p - 1) continue;\n let hh = -Infinity;\n let ll = Infinity;\n for (let q = i - p + 1; q <= i; q++) {\n if (high[q] > hh) hh = high[q];\n if (low[q] < ll) ll = low[q];\n }\n const c = close[i];\n if (!finite(hh) || !finite(ll) || !finite(c)) continue;\n const rsv = hh === ll ? 50 : ((c - ll) / (hh - ll)) * 100;\n const pk = i > 0 && finite(k[i - 1]) ? k[i - 1] : 50;\n const pd = i > 0 && finite(d[i - 1]) ? d[i - 1] : 50;\n k[i] = ((m1 - 1) * pk + rsv) / m1;\n d[i] = ((m2 - 1) * pd + k[i]) / m2;\n j[i] = 3 * k[i] - 2 * d[i];\n }\n};\n\nconst DAY = 86_400_000;\n\n/** Session key of a time: bars with the same key are in the same VWAP period */\nexport const sessionKey = (\n time: number,\n reset: \"day\" | \"week\" | \"month\" | \"none\",\n utcOffset = 0,\n): number => {\n if (reset === \"none\") return 0;\n const t = time + utcOffset * 60_000;\n const day = Math.floor(t / DAY);\n if (reset === \"day\") return day;\n // 1970-01-01 is a Thursday: weeks start on Monday\n if (reset === \"week\") return Math.floor((day + 3) / 7);\n const date = new Date(t);\n return date.getUTCFullYear() * 12 + date.getUTCMonth();\n};\n\n/** VWAP; `pv` / `vol` hold the cumulative sums of the period */\nexport const vwapInto = (\n high: Values,\n low: Values,\n close: Values,\n volume: Values,\n time: Values | null,\n n: number,\n reset: \"day\" | \"week\" | \"month\" | \"none\",\n utcOffset: number,\n out: Float64Array,\n pv: Float64Array,\n vol: Float64Array,\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n const tp = (high[i] + low[i] + close[i]) / 3;\n const v = finite(volume[i]) ? volume[i] : 0;\n const same =\n i > 0 &&\n (!time ||\n sessionKey(time[i], reset, utcOffset) ===\n sessionKey(time[i - 1], reset, utcOffset));\n const basePv = same && finite(pv[i - 1]) ? pv[i - 1] : 0;\n const baseV = same && finite(vol[i - 1]) ? vol[i - 1] : 0;\n pv[i] = basePv + (finite(tp) ? tp * v : 0);\n vol[i] = baseV + v;\n out[i] = vol[i] > 0 ? pv[i] / vol[i] : finite(tp) ? tp : NaN;\n }\n};\n\n/** Heikin-Ashi bars from regular bars */\nexport const heikinAshiInto = (\n open: Values,\n high: Values,\n low: Values,\n close: Values,\n n: number,\n out: {\n open: Float64Array;\n high: Float64Array;\n low: Float64Array;\n close: Float64Array;\n },\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n const c = (open[i] + high[i] + low[i] + close[i]) / 4;\n const prevOpen = i > 0 ? out.open[i - 1] : NaN;\n const prevClose = i > 0 ? out.close[i - 1] : NaN;\n const o =\n finite(prevOpen) && finite(prevClose)\n ? (prevOpen + prevClose) / 2\n : (open[i] + close[i]) / 2;\n out.open[i] = o;\n out.close[i] = c;\n out.high[i] = Math.max(high[i], o, c);\n out.low[i] = Math.min(low[i], o, c);\n }\n};\n\n// ------------------------------------------------------- public functions\n\n/**\n * Simple moving average: the mean of the last `period` values (NaN until\n * `period` values are available)\n */\nexport const sma = (values: Values, period: number): Float64Array => {\n const out = nanArray(values.length);\n smaInto(values, values.length, period, out);\n return out;\n};\n\n/** Exponential moving average, seeded with the simple average of the first `period` values */\nexport const ema = (values: Values, period: number): Float64Array => {\n const out = nanArray(values.length);\n emaInto(values, values.length, period, out);\n return out;\n};\n\n/** Linearly weighted moving average: the newest value weighs `period`, the oldest 1 */\nexport const wma = (values: Values, period: number): Float64Array => {\n const out = nanArray(values.length);\n wmaInto(values, values.length, period, out);\n return out;\n};\n\n/** Bollinger bands: simple average ± `multiplier` population standard deviations */\nexport const bollinger = (\n values: Values,\n period = 20,\n multiplier = 2,\n): { middle: Float64Array; upper: Float64Array; lower: Float64Array } => {\n const n = values.length;\n const middle = nanArray(n);\n const upper = nanArray(n);\n const lower = nanArray(n);\n const dev = nanArray(n);\n smaInto(values, n, period, middle);\n stdevInto(values, n, period, dev);\n for (let i = 0; i < n; i++) {\n upper[i] = middle[i] + multiplier * dev[i];\n lower[i] = middle[i] - multiplier * dev[i];\n }\n return { middle, upper, lower };\n};\n\n/** MACD line (fast EMA − slow EMA), its signal EMA and their difference */\nexport const macd = (\n values: Values,\n fast = 12,\n slow = 26,\n signal = 9,\n): { macd: Float64Array; signal: Float64Array; histogram: Float64Array } => {\n const n = values.length;\n const f = nanArray(n);\n const s = nanArray(n);\n emaInto(values, n, fast, f);\n emaInto(values, n, slow, s);\n const line = nanArray(n);\n for (let i = 0; i < n; i++) line[i] = f[i] - s[i];\n const sig = nanArray(n);\n emaInto(line, n, signal, sig);\n const histogram = nanArray(n);\n for (let i = 0; i < n; i++) histogram[i] = line[i] - sig[i];\n return { macd: line, signal: sig, histogram };\n};\n\n/** Relative strength index (0-100) with Wilder smoothing */\nexport const rsi = (values: Values, period = 14): Float64Array => {\n const n = values.length;\n const out = nanArray(n);\n rsiInto(values, n, period, out, nanArray(n), nanArray(n));\n return out;\n};\n\n/** KDJ stochastic: K and D smoothed (seeded at 50), J = 3K − 2D */\nexport const kdj = (\n high: Values,\n low: Values,\n close: Values,\n period = 9,\n kPeriod = 3,\n dPeriod = 3,\n): { k: Float64Array; d: Float64Array; j: Float64Array } => {\n const n = close.length;\n const k = nanArray(n);\n const d = nanArray(n);\n const j = nanArray(n);\n kdjInto(high, low, close, n, period, kPeriod, dPeriod, k, d, j);\n return { k, d, j };\n};\n\n/** Average true range with Wilder smoothing */\nexport const atr = (\n high: Values,\n low: Values,\n close: Values,\n period = 14,\n): Float64Array => {\n const n = close.length;\n const tr = nanArray(n);\n trueRangeInto(high, low, close, n, tr);\n const out = nanArray(n);\n rmaInto(tr, n, period, out);\n return out;\n};\n\n/**\n * Volume-weighted average of the typical price (high + low + close) / 3,\n * restarting each `reset` period (UTC, or shifted by `utcOffset` minutes);\n * without `time`, a single cumulative average\n */\nexport const vwap = (\n high: Values,\n low: Values,\n close: Values,\n volume: Values,\n options: {\n time?: Values;\n reset?: \"day\" | \"week\" | \"month\" | \"none\";\n utcOffset?: number;\n } = {},\n): Float64Array => {\n const n = close.length;\n const out = nanArray(n);\n vwapInto(\n high,\n low,\n close,\n volume,\n options.time ?? null,\n n,\n options.reset ?? \"day\",\n options.utcOffset ?? 0,\n out,\n nanArray(n),\n nanArray(n),\n );\n return out;\n};\n\n/** Heikin-Ashi bars: averaged bars that smooth out the noise of trends */\nexport const heikinAshi = (bars: {\n open: Values;\n high: Values;\n low: Values;\n close: Values;\n}): {\n open: Float64Array;\n high: Float64Array;\n low: Float64Array;\n close: Float64Array;\n} => {\n const n = bars.close.length;\n const out = {\n open: nanArray(n),\n high: nanArray(n),\n low: nanArray(n),\n close: nanArray(n),\n };\n heikinAshiInto(bars.open, bars.high, bars.low, bars.close, n, out);\n return out;\n};\n\n// -------------------------------------------------------------- timeframes\n\n/** A parsed timeframe: a count of a unit, with its approximate duration */\nexport interface ParsedTimeframe {\n unit: \"ms\" | \"month\";\n count: number;\n /** Approximate duration in ms (30 days per month) */\n ms: number;\n}\n\nconst UNIT_MS: Record<string, number> = {\n s: 1000,\n m: 60_000,\n h: 3_600_000,\n H: 3_600_000,\n d: DAY,\n D: DAY,\n w: 7 * DAY,\n W: 7 * DAY,\n};\n\n/** `\"15m\"` -> 15 minutes, `\"1M\"` -> 1 month; `null` when invalid */\nexport const parseTimeframe = (\n timeframe: TradingTimeframe,\n): ParsedTimeframe | null => {\n if (typeof timeframe === \"number\") {\n return timeframe > 0\n ? { unit: \"ms\", count: timeframe, ms: timeframe }\n : null;\n }\n const match = /^(\\d+(?:\\.\\d+)?)([smhHdDwWM])$/.exec(timeframe.trim());\n if (!match) return null;\n const count = Number(match[1]);\n if (!(count > 0)) return null;\n const unit = match[2];\n if (unit === \"M\") return { unit: \"month\", count, ms: count * 30 * DAY };\n return {\n unit: \"ms\",\n count: count * UNIT_MS[unit],\n ms: count * UNIT_MS[unit],\n };\n};\n\n/** Start of the bucket of `time` (weeks start on Monday, months on the 1st) */\nexport const bucketStart = (\n time: number,\n tf: ParsedTimeframe,\n utcOffset = 0,\n): number => {\n const shift = utcOffset * 60_000;\n const t = time + shift;\n if (tf.unit === \"month\") {\n const date = new Date(t);\n const months = date.getUTCFullYear() * 12 + date.getUTCMonth();\n const start = months - (months % tf.count);\n return Date.UTC(Math.floor(start / 12), start % 12, 1) - shift;\n }\n if (tf.count % (7 * DAY) === 0) {\n // Monday-aligned weeks (the epoch is a Thursday)\n const monday = 4 * DAY;\n return Math.floor((t - monday) / tf.count) * tf.count + monday - shift;\n }\n return Math.floor(t / tf.count) * tf.count - shift;\n};\n\nconst isColumns = (bars: TradingBarsInput): bars is TradingBarColumns =>\n !Array.isArray(bars);\n\n/**\n * Aggregates bars into a longer timeframe (`\"5m\"` bars into `\"1H\"`, ...):\n * first open, highest high, lowest low, last close, summed volume. Buckets\n * are aligned on UTC (or shifted by `utcOffset` minutes); weeks start on\n * Monday. Columns in, columns out (Float64Array).\n */\nexport function resampleBars(\n bars: readonly TradingBar[],\n timeframe: TradingTimeframe,\n utcOffset?: number,\n): TradingBar[];\nexport function resampleBars(\n bars: TradingBarColumns,\n timeframe: TradingTimeframe,\n utcOffset?: number,\n): TradingBarColumns;\nexport function resampleBars(\n bars: TradingBarsInput,\n timeframe: TradingTimeframe,\n utcOffset = 0,\n): TradingBar[] | TradingBarColumns {\n const tf = parseTimeframe(timeframe);\n if (!tf) throw new Error(`Invalid timeframe: ${String(timeframe)}`);\n const columns = isColumns(bars);\n const n = columns ? bars.close.length : bars.length;\n const get = (i: number): TradingBar => {\n if (!columns) return (bars as readonly TradingBar[])[i];\n const c = bars as TradingBarColumns;\n return {\n time: c.time[i],\n open: c.open[i],\n high: c.high[i],\n low: c.low[i],\n close: c.close[i],\n volume: c.volume ? c.volume[i] : undefined,\n };\n };\n const out: TradingBar[] = [];\n let current: TradingBar | null = null;\n for (let i = 0; i < n; i++) {\n const bar = get(i);\n const start = bucketStart(bar.time, tf, utcOffset);\n if (!current || start !== current.time) {\n if (current) out.push(current);\n current = {\n time: start,\n open: bar.open,\n high: bar.high,\n low: bar.low,\n close: bar.close,\n volume: bar.volume ?? 0,\n };\n } else {\n if (bar.high > current.high) current.high = bar.high;\n if (bar.low < current.low) current.low = bar.low;\n current.close = bar.close;\n current.volume = (current.volume ?? 0) + (bar.volume ?? 0);\n }\n }\n if (current) out.push(current);\n if (!columns) return out;\n const m = out.length;\n const result = {\n time: new Float64Array(m),\n open: new Float64Array(m),\n high: new Float64Array(m),\n low: new Float64Array(m),\n close: new Float64Array(m),\n volume: new Float64Array(m),\n };\n out.forEach((bar, i) => {\n result.time[i] = bar.time;\n result.open[i] = bar.open;\n result.high[i] = bar.high;\n result.low[i] = bar.low;\n result.close[i] = bar.close;\n result.volume[i] = bar.volume ?? 0;\n });\n return result;\n}\n\n/** Highest / lowest of a window: exported for the KDJ-like studies of the chart */\nexport const highestInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => extremeInto(src, n, periodOf(period), out, from, true);\n\nexport const lowestInto = (\n src: Values,\n n: number,\n period: number,\n out: Float64Array,\n from = 0,\n): void => extremeInto(src, n, periodOf(period), out, from, false);\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e={en:{open:`O`,high:`H`,low:`L`,close:`C`,change:``,volume:`Vol`,limit:`Limit`,position:`Position`,takeProfit:`TP`,stopLoss:`SL`,alert:`Alert`,scrollToRealtime:`Scroll to the latest bar`,toggleIndicator:`Show or hide {name}`,bars:`{count} bars`,days:`{count}d`,hours:`{count}h`,minutes:`{count}m`,chart:`{symbol} price chart`,announcement:`{time}: open {open}, high {high}, low {low}, close {close}`},zh:{open:`开`,high:`高`,low:`低`,close:`收`,change:`涨跌幅`,volume:`成交量`,limit:`限价`,position:`持仓`,takeProfit:`止盈`,stopLoss:`止损`,alert:`预警`,scrollToRealtime:`回到最新 K 线`,toggleIndicator:`显示或隐藏 {name}`,bars:`{count} 根 K 线`,days:`{count}天`,hours:`{count}小时`,minutes:`{count}分`,chart:`{symbol} 价格图表`,announcement:`{time}:开盘 {open},最高 {high},最低 {low},收盘 {close}`},ja:{open:`始`,high:`高`,low:`安`,close:`終`,change:`騰落率`,volume:`出来高`,limit:`指値`,position:`建玉`,takeProfit:`利確`,stopLoss:`損切`,alert:`アラート`,scrollToRealtime:`最新の足へ移動`,toggleIndicator:`{name} の表示を切り替え`,bars:`{count} 本`,days:`{count}日`,hours:`{count}時間`,minutes:`{count}分`,chart:`{symbol} 価格チャート`,announcement:`{time}:始値 {open}、高値 {high}、安値 {low}、終値 {close}`},fr:{open:`O`,high:`H`,low:`B`,close:`C`,change:`Var.`,volume:`Vol`,limit:`Limite`,position:`Position`,takeProfit:`TP`,stopLoss:`SL`,alert:`Alerte`,scrollToRealtime:`Revenir à la dernière bougie`,toggleIndicator:`Afficher ou masquer {name}`,bars:`{count} barres`,days:`{count} j`,hours:`{count} h`,minutes:`{count} min`,chart:`Graphique de cours {symbol}`,announcement:`{time} : ouverture {open}, plus haut {high}, plus bas {low}, clôture {close}`}},t=(e,t)=>e.replace(/\{(\w+)\}/g,(e,n)=>n in t?String(t[n]):e);exports.TRADING_LABELS=e,exports.fill=t;
2
+ //# sourceMappingURL=labels.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.cjs","names":["TRADING_LABELS","fill","template","key","values","match"],"sources":["../../../../../charts/src/engine/trading/labels.ts"],"sourcesContent":["// Built-in texts of the trading chart, per language (see ../locale.ts).\n\nimport type { LabelDictionary } from \"../locale\";\nimport type { TradingChartLabels } from \"./types\";\n\n/** Every text of the chart but the timeframe (taken from the options) */\nexport type TradingTexts = Required<Omit<TradingChartLabels, \"timeframe\">>;\n\nexport const TRADING_LABELS: LabelDictionary<TradingTexts> = {\n en: {\n open: \"O\",\n high: \"H\",\n low: \"L\",\n close: \"C\",\n change: \"\",\n volume: \"Vol\",\n limit: \"Limit\",\n position: \"Position\",\n takeProfit: \"TP\",\n stopLoss: \"SL\",\n alert: \"Alert\",\n scrollToRealtime: \"Scroll to the latest bar\",\n toggleIndicator: \"Show or hide {name}\",\n bars: \"{count} bars\",\n days: \"{count}d\",\n hours: \"{count}h\",\n minutes: \"{count}m\",\n chart: \"{symbol} price chart\",\n announcement: \"{time}: open {open}, high {high}, low {low}, close {close}\",\n },\n zh: {\n open: \"开\",\n high: \"高\",\n low: \"低\",\n close: \"收\",\n change: \"涨跌幅\",\n volume: \"成交量\",\n limit: \"限价\",\n position: \"持仓\",\n takeProfit: \"止盈\",\n stopLoss: \"止损\",\n alert: \"预警\",\n scrollToRealtime: \"回到最新 K 线\",\n toggleIndicator: \"显示或隐藏 {name}\",\n bars: \"{count} 根 K 线\",\n days: \"{count}天\",\n hours: \"{count}小时\",\n minutes: \"{count}分\",\n chart: \"{symbol} 价格图表\",\n announcement: \"{time}:开盘 {open},最高 {high},最低 {low},收盘 {close}\",\n },\n ja: {\n open: \"始\",\n high: \"高\",\n low: \"安\",\n close: \"終\",\n change: \"騰落率\",\n volume: \"出来高\",\n limit: \"指値\",\n position: \"建玉\",\n takeProfit: \"利確\",\n stopLoss: \"損切\",\n alert: \"アラート\",\n scrollToRealtime: \"最新の足へ移動\",\n toggleIndicator: \"{name} の表示を切り替え\",\n bars: \"{count} 本\",\n days: \"{count}日\",\n hours: \"{count}時間\",\n minutes: \"{count}分\",\n chart: \"{symbol} 価格チャート\",\n announcement: \"{time}:始値 {open}、高値 {high}、安値 {low}、終値 {close}\",\n },\n fr: {\n open: \"O\",\n high: \"H\",\n low: \"B\",\n close: \"C\",\n change: \"Var.\",\n volume: \"Vol\",\n limit: \"Limite\",\n position: \"Position\",\n takeProfit: \"TP\",\n stopLoss: \"SL\",\n alert: \"Alerte\",\n scrollToRealtime: \"Revenir à la dernière bougie\",\n toggleIndicator: \"Afficher ou masquer {name}\",\n bars: \"{count} barres\",\n days: \"{count} j\",\n hours: \"{count} h\",\n minutes: \"{count} min\",\n chart: \"Graphique de cours {symbol}\",\n announcement:\n \"{time} : ouverture {open}, plus haut {high}, plus bas {low}, clôture {close}\",\n },\n};\n\n/** `\"{count} bars\"` -> `\"24 bars\"` */\nexport const fill = (\n template: string,\n values: Record<string, string | number>,\n): string =>\n template.replace(/\\{(\\w+)\\}/g, (match, key: string) =>\n key in values ? String(values[key]) : match,\n );\n"],"mappings":"AAQA,IAAaA,EAAgD,CAC3D,GAAI,CACF,KAAM,IACN,KAAM,IACN,IAAK,IACL,MAAO,IACP,OAAQ,GACR,OAAQ,MACR,MAAO,QACP,SAAU,WACV,WAAY,KACZ,SAAU,KACV,MAAO,QACP,iBAAkB,2BAClB,gBAAiB,sBACjB,KAAM,eACN,KAAM,WACN,MAAO,WACP,QAAS,WACT,MAAO,uBACP,aAAc,4DAChB,EACA,GAAI,CACF,KAAM,IACN,KAAM,IACN,IAAK,IACL,MAAO,IACP,OAAQ,MACR,OAAQ,MACR,MAAO,KACP,SAAU,KACV,WAAY,KACZ,SAAU,KACV,MAAO,KACP,iBAAkB,WAClB,gBAAiB,eACjB,KAAM,gBACN,KAAM,WACN,MAAO,YACP,QAAS,WACT,MAAO,gBACP,aAAc,gDAChB,EACA,GAAI,CACF,KAAM,IACN,KAAM,IACN,IAAK,IACL,MAAO,IACP,OAAQ,MACR,OAAQ,MACR,MAAO,KACP,SAAU,KACV,WAAY,KACZ,SAAU,KACV,MAAO,OACP,iBAAkB,UAClB,gBAAiB,kBACjB,KAAM,YACN,KAAM,WACN,MAAO,YACP,QAAS,WACT,MAAO,kBACP,aAAc,gDAChB,EACA,GAAI,CACF,KAAM,IACN,KAAM,IACN,IAAK,IACL,MAAO,IACP,OAAQ,OACR,OAAQ,MACR,MAAO,SACP,SAAU,WACV,WAAY,KACZ,SAAU,KACV,MAAO,SACP,iBAAkB,+BAClB,gBAAiB,6BACjB,KAAM,iBACN,KAAM,YACN,MAAO,YACP,QAAS,cACT,MAAO,8BACP,aACE,8EACJ,CACF,EAGaC,GACX,EACA,IAEAC,EAAS,QAAQ,cAAe,EAAO,IACrCC,KAAOC,EAAS,OAAOA,EAAOD,EAAI,EAAIE,CACxC"}
@@ -0,0 +1,7 @@
1
+ import { LabelDictionary } from '../locale.cjs';
2
+ import { TradingChartLabels } from './types.cjs';
3
+ /** Every text of the chart but the timeframe (taken from the options) */
4
+ export type TradingTexts = Required<Omit<TradingChartLabels, "timeframe">>;
5
+ export declare const TRADING_LABELS: LabelDictionary<TradingTexts>;
6
+ /** `"{count} bars"` -> `"24 bars"` */
7
+ export declare const fill: (template: string, values: Record<string, string | number>) => string;
@@ -0,0 +1,7 @@
1
+ import { LabelDictionary } from '../locale.js';
2
+ import { TradingChartLabels } from './types.js';
3
+ /** Every text of the chart but the timeframe (taken from the options) */
4
+ export type TradingTexts = Required<Omit<TradingChartLabels, "timeframe">>;
5
+ export declare const TRADING_LABELS: LabelDictionary<TradingTexts>;
6
+ /** `"{count} bars"` -> `"24 bars"` */
7
+ export declare const fill: (template: string, values: Record<string, string | number>) => string;
@@ -0,0 +1,91 @@
1
+ //#region src/engine/trading/labels.ts
2
+ var e = {
3
+ en: {
4
+ open: "O",
5
+ high: "H",
6
+ low: "L",
7
+ close: "C",
8
+ change: "",
9
+ volume: "Vol",
10
+ limit: "Limit",
11
+ position: "Position",
12
+ takeProfit: "TP",
13
+ stopLoss: "SL",
14
+ alert: "Alert",
15
+ scrollToRealtime: "Scroll to the latest bar",
16
+ toggleIndicator: "Show or hide {name}",
17
+ bars: "{count} bars",
18
+ days: "{count}d",
19
+ hours: "{count}h",
20
+ minutes: "{count}m",
21
+ chart: "{symbol} price chart",
22
+ announcement: "{time}: open {open}, high {high}, low {low}, close {close}"
23
+ },
24
+ zh: {
25
+ open: "开",
26
+ high: "高",
27
+ low: "低",
28
+ close: "收",
29
+ change: "涨跌幅",
30
+ volume: "成交量",
31
+ limit: "限价",
32
+ position: "持仓",
33
+ takeProfit: "止盈",
34
+ stopLoss: "止损",
35
+ alert: "预警",
36
+ scrollToRealtime: "回到最新 K 线",
37
+ toggleIndicator: "显示或隐藏 {name}",
38
+ bars: "{count} 根 K 线",
39
+ days: "{count}天",
40
+ hours: "{count}小时",
41
+ minutes: "{count}分",
42
+ chart: "{symbol} 价格图表",
43
+ announcement: "{time}:开盘 {open},最高 {high},最低 {low},收盘 {close}"
44
+ },
45
+ ja: {
46
+ open: "始",
47
+ high: "高",
48
+ low: "安",
49
+ close: "終",
50
+ change: "騰落率",
51
+ volume: "出来高",
52
+ limit: "指値",
53
+ position: "建玉",
54
+ takeProfit: "利確",
55
+ stopLoss: "損切",
56
+ alert: "アラート",
57
+ scrollToRealtime: "最新の足へ移動",
58
+ toggleIndicator: "{name} の表示を切り替え",
59
+ bars: "{count} 本",
60
+ days: "{count}日",
61
+ hours: "{count}時間",
62
+ minutes: "{count}分",
63
+ chart: "{symbol} 価格チャート",
64
+ announcement: "{time}:始値 {open}、高値 {high}、安値 {low}、終値 {close}"
65
+ },
66
+ fr: {
67
+ open: "O",
68
+ high: "H",
69
+ low: "B",
70
+ close: "C",
71
+ change: "Var.",
72
+ volume: "Vol",
73
+ limit: "Limite",
74
+ position: "Position",
75
+ takeProfit: "TP",
76
+ stopLoss: "SL",
77
+ alert: "Alerte",
78
+ scrollToRealtime: "Revenir à la dernière bougie",
79
+ toggleIndicator: "Afficher ou masquer {name}",
80
+ bars: "{count} barres",
81
+ days: "{count} j",
82
+ hours: "{count} h",
83
+ minutes: "{count} min",
84
+ chart: "Graphique de cours {symbol}",
85
+ announcement: "{time} : ouverture {open}, plus haut {high}, plus bas {low}, clôture {close}"
86
+ }
87
+ }, t = (e, t) => e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : e);
88
+ //#endregion
89
+ export { e as TRADING_LABELS, t as fill };
90
+
91
+ //# sourceMappingURL=labels.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labels.js","names":["TRADING_LABELS","fill","template","key","values","match"],"sources":["../../../../../charts/src/engine/trading/labels.ts"],"sourcesContent":["// Built-in texts of the trading chart, per language (see ../locale.ts).\n\nimport type { LabelDictionary } from \"../locale\";\nimport type { TradingChartLabels } from \"./types\";\n\n/** Every text of the chart but the timeframe (taken from the options) */\nexport type TradingTexts = Required<Omit<TradingChartLabels, \"timeframe\">>;\n\nexport const TRADING_LABELS: LabelDictionary<TradingTexts> = {\n en: {\n open: \"O\",\n high: \"H\",\n low: \"L\",\n close: \"C\",\n change: \"\",\n volume: \"Vol\",\n limit: \"Limit\",\n position: \"Position\",\n takeProfit: \"TP\",\n stopLoss: \"SL\",\n alert: \"Alert\",\n scrollToRealtime: \"Scroll to the latest bar\",\n toggleIndicator: \"Show or hide {name}\",\n bars: \"{count} bars\",\n days: \"{count}d\",\n hours: \"{count}h\",\n minutes: \"{count}m\",\n chart: \"{symbol} price chart\",\n announcement: \"{time}: open {open}, high {high}, low {low}, close {close}\",\n },\n zh: {\n open: \"开\",\n high: \"高\",\n low: \"低\",\n close: \"收\",\n change: \"涨跌幅\",\n volume: \"成交量\",\n limit: \"限价\",\n position: \"持仓\",\n takeProfit: \"止盈\",\n stopLoss: \"止损\",\n alert: \"预警\",\n scrollToRealtime: \"回到最新 K 线\",\n toggleIndicator: \"显示或隐藏 {name}\",\n bars: \"{count} 根 K 线\",\n days: \"{count}天\",\n hours: \"{count}小时\",\n minutes: \"{count}分\",\n chart: \"{symbol} 价格图表\",\n announcement: \"{time}:开盘 {open},最高 {high},最低 {low},收盘 {close}\",\n },\n ja: {\n open: \"始\",\n high: \"高\",\n low: \"安\",\n close: \"終\",\n change: \"騰落率\",\n volume: \"出来高\",\n limit: \"指値\",\n position: \"建玉\",\n takeProfit: \"利確\",\n stopLoss: \"損切\",\n alert: \"アラート\",\n scrollToRealtime: \"最新の足へ移動\",\n toggleIndicator: \"{name} の表示を切り替え\",\n bars: \"{count} 本\",\n days: \"{count}日\",\n hours: \"{count}時間\",\n minutes: \"{count}分\",\n chart: \"{symbol} 価格チャート\",\n announcement: \"{time}:始値 {open}、高値 {high}、安値 {low}、終値 {close}\",\n },\n fr: {\n open: \"O\",\n high: \"H\",\n low: \"B\",\n close: \"C\",\n change: \"Var.\",\n volume: \"Vol\",\n limit: \"Limite\",\n position: \"Position\",\n takeProfit: \"TP\",\n stopLoss: \"SL\",\n alert: \"Alerte\",\n scrollToRealtime: \"Revenir à la dernière bougie\",\n toggleIndicator: \"Afficher ou masquer {name}\",\n bars: \"{count} barres\",\n days: \"{count} j\",\n hours: \"{count} h\",\n minutes: \"{count} min\",\n chart: \"Graphique de cours {symbol}\",\n announcement:\n \"{time} : ouverture {open}, plus haut {high}, plus bas {low}, clôture {close}\",\n },\n};\n\n/** `\"{count} bars\"` -> `\"24 bars\"` */\nexport const fill = (\n template: string,\n values: Record<string, string | number>,\n): string =>\n template.replace(/\\{(\\w+)\\}/g, (match, key: string) =>\n key in values ? String(values[key]) : match,\n );\n"],"mappings":";AAQA,IAAaA,IAAgD;CAC3D,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,UAAU;EACV,YAAY;EACZ,UAAU;EACV,OAAO;EACP,kBAAkB;EAClB,iBAAiB;EACjB,MAAM;EACN,MAAM;EACN,OAAO;EACP,SAAS;EACT,OAAO;EACP,cAAc;CAChB;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,UAAU;EACV,YAAY;EACZ,UAAU;EACV,OAAO;EACP,kBAAkB;EAClB,iBAAiB;EACjB,MAAM;EACN,MAAM;EACN,OAAO;EACP,SAAS;EACT,OAAO;EACP,cAAc;CAChB;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,UAAU;EACV,YAAY;EACZ,UAAU;EACV,OAAO;EACP,kBAAkB;EAClB,iBAAiB;EACjB,MAAM;EACN,MAAM;EACN,OAAO;EACP,SAAS;EACT,OAAO;EACP,cAAc;CAChB;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,QAAQ;EACR,QAAQ;EACR,OAAO;EACP,UAAU;EACV,YAAY;EACZ,UAAU;EACV,OAAO;EACP,kBAAkB;EAClB,iBAAiB;EACjB,MAAM;EACN,MAAM;EACN,OAAO;EACP,SAAS;EACT,OAAO;EACP,cACE;CACJ;AACF,GAGaC,KACX,GACA,MAEAC,EAAS,QAAQ,eAAe,GAAO,MACrCC,KAAOC,IAAS,OAAOA,EAAOD,EAAI,IAAIE,CACxC"}
@@ -0,0 +1,2 @@
1
+ const e=require("../scale.cjs");var t=(e=`linear`)=>({mode:e,auto:!0,min:0,max:1,base:1,top:0,height:1,marginTop:.1,marginBottom:.1}),n=(e,t)=>{switch(e.mode){case`log`:return t>0?Math.log10(t):NaN;case`percent`:return e.base?(t/e.base-1)*100:NaN;default:return t}},r=(e,t)=>{switch(e.mode){case`log`:return 10**t;case`percent`:return(t/100+1)*e.base;default:return t}},i=e=>{let t=e.top+e.height*e.marginTop,n=e.height*(1-e.marginTop-e.marginBottom);return{top:t,h:Math.max(1,n)}},a=(e,t)=>{let{top:n,h:r}=i(e),a=e.max-e.min||1;return n+(e.max-t)/a*r},o=(e,t)=>a(e,n(e,t)),s=(e,t)=>{let{top:n,h:r}=i(e);return e.max-(t-n)/r*(e.max-e.min||1)},c=(e,t)=>r(e,s(e,t)),l=(e,t,n)=>{let r=t,i=n;if(!Number.isFinite(r)||!Number.isFinite(i)){(!Number.isFinite(e.min)||!Number.isFinite(e.max))&&(e.min=0,e.max=1);return}if(r>i&&([r,i]=[i,r]),i-r<1e-12*Math.max(1,Math.abs(r))){let t=e.mode===`log`?.01:Math.max(Math.abs(r)*.01,1e-8)||1;r-=t,i+=t}e.min=r,e.max=i},u=(e,t)=>{let n=(e.min+e.max)/2,r=(e.max-e.min)/2*t;r>0&&Number.isFinite(r)&&(e.min=n-r,e.max=n+r,e.auto=!1)},d=(e,t)=>{let{h:n}=i(e),r=t/n*(e.max-e.min);e.min+=r,e.max+=r,e.auto=!1},f=e=>{if(!(e>0))return e;let t=10**Math.floor(Math.log10(e)),n=e/t,r=[1,1.2,1.5,2,2.5,3,4,5,6,7,8,10],i=r[0];for(let e of r)Math.abs(e-n)<Math.abs(i-n)&&(i=e);return i*t},p=(t,n=36)=>{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.tickStep(o,s,c);if(!(l>0))return{scaled:[],step:0};let u=[];if(t.mode===`log`){let e=NaN;for(let r=Math.ceil(o/l)*l;r<=s;r+=l){let i=f(10**r),c=Math.log10(i);c===e||c<o||c>s||u.length&&(c-u[u.length-1])/a*t.height<n*.5||(u.push(c),e=c)}return{scaled:u,step:l}}let d=Math.ceil(o/l-1e-9),p=Math.floor(s/l+1e-9);for(let e=d;e<=p&&u.length<200;e++)u.push(e*l);return{scaled:u,step:l}};exports.createScale=t,exports.fitScale=l,exports.fromScaled=r,exports.panScale=d,exports.scaleTicks=p,exports.scaledAt=s,exports.toScaled=n,exports.valueAt=c,exports.yOf=o,exports.yOfScaled=a,exports.zoomScale=u;
2
+ //# sourceMappingURL=scale.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scale.cjs","names":["tickStep","require_scale","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","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":"gCAwBA,IAAaE,GAAe,EAAyB,YAAyB,CAC5E,OACA,KAAM,GACN,IAAK,EACL,IAAK,EACL,KAAM,EACN,IAAK,EACL,OAAQ,EACR,UAAW,GACX,aAAc,EAChB,GAGaC,GAAY,EAAkB,IAA0B,CACnE,OAAQC,EAAM,KAAd,CACE,IAAK,MACH,OAAOC,EAAQ,EAAI,KAAK,MAAMA,CAAK,EAAI,IACzC,IAAK,UACH,OAAOD,EAAM,MAAQC,EAAQD,EAAM,KAAO,GAAK,IAAM,IACvD,QACE,OAAOC,CACX,CACF,EAEaC,GAAc,EAAkB,IAA2B,CACtE,OAAQF,EAAM,KAAd,CACE,IAAK,MACH,MAAO,KAAMG,EACf,IAAK,UACH,OAAQA,EAAS,IAAM,GAAKH,EAAM,KACpC,QACE,OAAOG,CACX,CACF,EAGMC,EAAQ,GAAqB,CACjC,IAAMC,EAAML,EAAM,IAAMA,EAAM,OAASA,EAAM,UACvCM,EAAIN,EAAM,QAAU,EAAIA,EAAM,UAAYA,EAAM,cACtD,MAAO,CAAE,MAAK,EAAG,KAAK,IAAI,EAAGM,CAAC,CAAE,CAClC,EAGaC,GAAa,EAAkB,IAA2B,CACrE,GAAM,CAAE,MAAK,KAAMH,EAAKJ,CAAK,EACvBQ,EAAOR,EAAM,IAAMA,EAAM,KAAO,EACtC,OAAOK,GAAQL,EAAM,IAAMG,GAAUK,EAAQF,CAC/C,EAGaG,GAAO,EAAkB,IACpCF,EAAUP,EAAOD,EAASC,EAAOC,CAAK,CAAC,EAG5BS,GAAY,EAAkB,IAAsB,CAC/D,GAAM,CAAE,MAAK,KAAMN,EAAKJ,CAAK,EAC7B,OAAOA,EAAM,KAAQW,EAAIN,GAAOC,GAAMN,EAAM,IAAMA,EAAM,KAAO,EACjE,EAGaY,GAAW,EAAkB,IACxCV,EAAWF,EAAOU,EAASV,EAAOW,CAAC,CAAC,EAMzBE,GAAY,EAAkB,EAAY,IAAqB,CAC1E,IAAIC,EAAIC,EACJC,EAAIC,EACR,GAAI,CAAC,OAAO,SAASH,CAAC,GAAK,CAAC,OAAO,SAASE,CAAC,EAAG,EAC1C,CAAC,OAAO,SAAShB,EAAM,GAAG,GAAK,CAAC,OAAO,SAASA,EAAM,GAAG,KAC3D,EAAM,IAAM,EACZ,EAAM,IAAM,GAEd,MACF,CAEA,GADIc,EAAIE,IAAG,CAACF,EAAGE,GAAK,CAACA,EAAGF,CAAC,GACrBE,EAAIF,EAAI,MAAQ,KAAK,IAAI,EAAG,KAAK,IAAIA,CAAC,CAAC,EAAG,CAC5C,IAAMI,EACJlB,EAAM,OAAS,MAAQ,IAAO,KAAK,IAAI,KAAK,IAAIc,CAAC,EAAI,IAAM,IAAI,GAAK,EACtE,GAAKI,EACL,GAAKA,CACP,CACA,EAAM,IAAMJ,EACZ,EAAM,IAAME,CACd,EAGaG,GAAa,EAAkB,IAAyB,CACnE,IAAMC,GAAOpB,EAAM,IAAMA,EAAM,KAAO,EAChCqB,GAASrB,EAAM,IAAMA,EAAM,KAAO,EAAKsB,EACvCD,EAAO,GAAO,OAAO,SAASA,CAAI,IACxC,EAAM,IAAMD,EAAMC,EAClB,EAAM,IAAMD,EAAMC,EAClB,EAAM,KAAO,GACf,EAGaE,GAAY,EAAkB,IAAqB,CAC9D,GAAM,CAAE,KAAMnB,EAAKJ,CAAK,EAClBwB,EAASC,EAAKnB,GAAMN,EAAM,IAAMA,EAAM,KAC5C,EAAM,KAAOwB,EACb,EAAM,KAAOA,EACb,EAAM,KAAO,EACf,EAGME,EAAa,GAA0B,CAC3C,GAAI,EAAEzB,EAAQ,GAAI,OAAOA,EACzB,IAAM0B,EAAQ,IAAM,KAAK,MAAM,KAAK,MAAM1B,CAAK,CAAC,EAC1C2B,EAAI3B,EAAQ0B,EACZE,EAAQ,CAAC,EAAG,IAAK,IAAK,EAAG,IAAK,EAAG,EAAG,EAAG,EAAG,EAAG,EAAG,EAAE,EACpDC,EAAOD,EAAM,GACjB,IAAK,IAAME,KAAKF,EAAW,KAAK,IAAIE,EAAIH,CAAC,EAAI,KAAK,IAAIE,EAAOF,CAAC,IAAG,EAAOG,GACxE,OAAOD,EAAOH,CAChB,EAMaK,GACX,EACA,EAAS,KAC8B,CACvC,GAAM,CAAE,KAAM5B,EAAKJ,CAAK,EAGlBiC,GADOjC,EAAM,IAAMA,EAAM,KACTA,EAAM,OAAUM,EAChCS,EAAKf,EAAM,IAAMiC,GAAS,EAAIjC,EAAM,WAAa,MACjDiB,EAAKjB,EAAM,IAAMiC,EAAQjC,EAAM,UAAY,MAC3CkC,EAAQ,KAAK,IAAI,EAAG,KAAK,MAAMlC,EAAM,OAASmC,CAAM,CAAC,EACrDC,EAAOxC,EAAAA,SAASmB,EAAIE,EAAIiB,CAAK,EACnC,GAAI,EAAEE,EAAO,GAAI,MAAO,CAAE,OAAQ,CAAC,EAAG,KAAM,CAAE,EAC9C,IAAMjC,EAAmB,CAAC,EAC1B,GAAIH,EAAM,OAAS,MAAO,CACxB,IAAIqC,EAAW,IACf,IAAK,IAAIC,EAAI,KAAK,KAAKvB,EAAKqB,CAAI,EAAIA,EAAME,GAAKrB,EAAI,GAAKmB,EAAM,CAC5D,IAAMG,EAAQb,EAAU,IAAMY,CAAC,EACzBP,EAAI,KAAK,MAAMQ,CAAK,EACtBR,IAAMM,GAAYN,EAAIhB,GAAMgB,EAAId,GAGlCd,EAAO,SACL4B,EAAI5B,EAAOA,EAAO,OAAS,IAAM8B,EAASjC,EAAM,OAASmC,EAAS,KAGtEhC,EAAO,KAAK4B,CAAC,EACb,EAAWA,EACb,CACA,MAAO,CAAE,SAAQ,MAAK,CACxB,CACA,IAAMS,EAAQ,KAAK,KAAKzB,EAAKqB,EAAO,IAAI,EAClCK,EAAM,KAAK,MAAMxB,EAAKmB,EAAO,IAAI,EACvC,IAAK,IAAIM,EAAIF,EAAOE,GAAKD,GAAOtC,EAAO,OAAS,IAAK,IACnDA,EAAO,KAAKuC,EAAIN,CAAI,EACtB,MAAO,CAAE,SAAQ,MAAK,CACxB"}
@@ -0,0 +1,46 @@
1
+ import { TradingScaleMode } from './types.cjs';
2
+ export interface PaneScale {
3
+ mode: TradingScaleMode;
4
+ /** Fits the visible values (off after the user zoomed the scale) */
5
+ auto: boolean;
6
+ /** Visible range in scaled space */
7
+ min: number;
8
+ max: number;
9
+ /** Base price of the percent mode */
10
+ base: number;
11
+ /** Pane position in CSS pixels */
12
+ top: number;
13
+ height: number;
14
+ /** Empty space above / below the values, as fractions of the height */
15
+ marginTop: number;
16
+ marginBottom: number;
17
+ }
18
+ export declare const createScale: (mode?: TradingScaleMode) => PaneScale;
19
+ /** Value -> scaled space (NaN when it has no place, e.g. log of <= 0) */
20
+ export declare const toScaled: (scale: PaneScale, value: number) => number;
21
+ export declare const fromScaled: (scale: PaneScale, scaled: number) => number;
22
+ /** CSS y of a scaled value */
23
+ export declare const yOfScaled: (scale: PaneScale, scaled: number) => number;
24
+ /** CSS y of a value */
25
+ export declare const yOf: (scale: PaneScale, value: number) => number;
26
+ /** Scaled value at a CSS y */
27
+ export declare const scaledAt: (scale: PaneScale, y: number) => number;
28
+ /** Value at a CSS y */
29
+ export declare const valueAt: (scale: PaneScale, y: number) => number;
30
+ /**
31
+ * Fits the scale to a range of scaled values; a flat range gets some room
32
+ * around it, a missing one keeps the current range
33
+ */
34
+ export declare const fitScale: (scale: PaneScale, lo: number, hi: number) => void;
35
+ /** Zooms the range around its center (factor > 1 shows more) */
36
+ export declare const zoomScale: (scale: PaneScale, factor: number) => void;
37
+ /** Moves the range by a number of CSS pixels (positive: content goes down) */
38
+ export declare const panScale: (scale: PaneScale, dy: number) => void;
39
+ /**
40
+ * Ticks of the scale in scaled space, about `minGap` CSS pixels apart.
41
+ * Log ticks are rounded prices; percent ticks are round percents.
42
+ */
43
+ export declare const scaleTicks: (scale: PaneScale, minGap?: number) => {
44
+ scaled: number[];
45
+ step: number;
46
+ };
@@ -0,0 +1,46 @@
1
+ import { TradingScaleMode } from './types.js';
2
+ export interface PaneScale {
3
+ mode: TradingScaleMode;
4
+ /** Fits the visible values (off after the user zoomed the scale) */
5
+ auto: boolean;
6
+ /** Visible range in scaled space */
7
+ min: number;
8
+ max: number;
9
+ /** Base price of the percent mode */
10
+ base: number;
11
+ /** Pane position in CSS pixels */
12
+ top: number;
13
+ height: number;
14
+ /** Empty space above / below the values, as fractions of the height */
15
+ marginTop: number;
16
+ marginBottom: number;
17
+ }
18
+ export declare const createScale: (mode?: TradingScaleMode) => PaneScale;
19
+ /** Value -> scaled space (NaN when it has no place, e.g. log of <= 0) */
20
+ export declare const toScaled: (scale: PaneScale, value: number) => number;
21
+ export declare const fromScaled: (scale: PaneScale, scaled: number) => number;
22
+ /** CSS y of a scaled value */
23
+ export declare const yOfScaled: (scale: PaneScale, scaled: number) => number;
24
+ /** CSS y of a value */
25
+ export declare const yOf: (scale: PaneScale, value: number) => number;
26
+ /** Scaled value at a CSS y */
27
+ export declare const scaledAt: (scale: PaneScale, y: number) => number;
28
+ /** Value at a CSS y */
29
+ export declare const valueAt: (scale: PaneScale, y: number) => number;
30
+ /**
31
+ * Fits the scale to a range of scaled values; a flat range gets some room
32
+ * around it, a missing one keeps the current range
33
+ */
34
+ export declare const fitScale: (scale: PaneScale, lo: number, hi: number) => void;
35
+ /** Zooms the range around its center (factor > 1 shows more) */
36
+ export declare const zoomScale: (scale: PaneScale, factor: number) => void;
37
+ /** Moves the range by a number of CSS pixels (positive: content goes down) */
38
+ export declare const panScale: (scale: PaneScale, dy: number) => void;
39
+ /**
40
+ * Ticks of the scale in scaled space, about `minGap` CSS pixels apart.
41
+ * Log ticks are rounded prices; percent ticks are round percents.
42
+ */
43
+ export declare const scaleTicks: (scale: PaneScale, minGap?: number) => {
44
+ scaled: number[];
45
+ step: number;
46
+ };