minerva-design 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1337) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +18546 -7329
  4. package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2809 -0
  7. package/dist/charts/canvas.d.cts +8 -3
  8. package/dist/charts/canvas.d.ts +8 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +10 -5
  11. package/dist/charts/core.d.ts +10 -5
  12. package/dist/charts/core.js +27 -8
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +43 -20
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +193 -116
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +486 -350
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +18 -0
  32. package/dist/charts/engine/color.d.ts +18 -0
  33. package/dist/charts/engine/color.js +47 -1
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +44 -4
  38. package/dist/charts/engine/controller.d.ts +44 -4
  39. package/dist/charts/engine/controller.js +421 -314
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/data.cjs +1 -1
  42. package/dist/charts/engine/data.cjs.map +1 -1
  43. package/dist/charts/engine/data.d.cts +9 -1
  44. package/dist/charts/engine/data.d.ts +9 -1
  45. package/dist/charts/engine/data.js +65 -49
  46. package/dist/charts/engine/data.js.map +1 -1
  47. package/dist/charts/engine/defaults.cjs +2 -0
  48. package/dist/charts/engine/defaults.cjs.map +1 -0
  49. package/dist/charts/engine/defaults.d.cts +20 -0
  50. package/dist/charts/engine/defaults.d.ts +20 -0
  51. package/dist/charts/engine/defaults.js +35 -0
  52. package/dist/charts/engine/defaults.js.map +1 -0
  53. package/dist/charts/engine/format.cjs +1 -1
  54. package/dist/charts/engine/format.cjs.map +1 -1
  55. package/dist/charts/engine/format.d.cts +27 -6
  56. package/dist/charts/engine/format.d.ts +27 -6
  57. package/dist/charts/engine/format.js +59 -21
  58. package/dist/charts/engine/format.js.map +1 -1
  59. package/dist/charts/engine/graph/chart.cjs +2 -0
  60. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  61. package/dist/charts/engine/graph/chart.d.cts +3 -0
  62. package/dist/charts/engine/graph/chart.d.ts +3 -0
  63. package/dist/charts/engine/graph/chart.js +1565 -0
  64. package/dist/charts/engine/graph/chart.js.map +1 -0
  65. package/dist/charts/engine/graph/circular.cjs +2 -0
  66. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  67. package/dist/charts/engine/graph/circular.d.cts +16 -0
  68. package/dist/charts/engine/graph/circular.d.ts +16 -0
  69. package/dist/charts/engine/graph/circular.js +62 -0
  70. package/dist/charts/engine/graph/circular.js.map +1 -0
  71. package/dist/charts/engine/graph/dag.cjs +2 -0
  72. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  73. package/dist/charts/engine/graph/dag.d.cts +34 -0
  74. package/dist/charts/engine/graph/dag.d.ts +34 -0
  75. package/dist/charts/engine/graph/dag.js +314 -0
  76. package/dist/charts/engine/graph/dag.js.map +1 -0
  77. package/dist/charts/engine/graph/dom.cjs +2 -0
  78. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  79. package/dist/charts/engine/graph/dom.d.cts +23 -0
  80. package/dist/charts/engine/graph/dom.d.ts +23 -0
  81. package/dist/charts/engine/graph/dom.js +158 -0
  82. package/dist/charts/engine/graph/dom.js.map +1 -0
  83. package/dist/charts/engine/graph/force.cjs +2 -0
  84. package/dist/charts/engine/graph/force.cjs.map +1 -0
  85. package/dist/charts/engine/graph/force.d.cts +67 -0
  86. package/dist/charts/engine/graph/force.d.ts +67 -0
  87. package/dist/charts/engine/graph/force.js +325 -0
  88. package/dist/charts/engine/graph/force.js.map +1 -0
  89. package/dist/charts/engine/graph/geometry.cjs +2 -0
  90. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  91. package/dist/charts/engine/graph/geometry.d.cts +37 -0
  92. package/dist/charts/engine/graph/geometry.d.ts +37 -0
  93. package/dist/charts/engine/graph/geometry.js +144 -0
  94. package/dist/charts/engine/graph/geometry.js.map +1 -0
  95. package/dist/charts/engine/graph/index.cjs +1 -0
  96. package/dist/charts/engine/graph/index.d.cts +6 -0
  97. package/dist/charts/engine/graph/index.d.ts +6 -0
  98. package/dist/charts/engine/graph/index.js +6 -0
  99. package/dist/charts/engine/graph/labels.cjs +2 -0
  100. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  101. package/dist/charts/engine/graph/labels.d.cts +12 -0
  102. package/dist/charts/engine/graph/labels.d.ts +12 -0
  103. package/dist/charts/engine/graph/labels.js +128 -0
  104. package/dist/charts/engine/graph/labels.js.map +1 -0
  105. package/dist/charts/engine/graph/model.cjs +2 -0
  106. package/dist/charts/engine/graph/model.cjs.map +1 -0
  107. package/dist/charts/engine/graph/model.d.cts +43 -0
  108. package/dist/charts/engine/graph/model.d.ts +43 -0
  109. package/dist/charts/engine/graph/model.js +88 -0
  110. package/dist/charts/engine/graph/model.js.map +1 -0
  111. package/dist/charts/engine/graph/sizing.cjs +2 -0
  112. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  113. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  114. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  115. package/dist/charts/engine/graph/sizing.js +60 -0
  116. package/dist/charts/engine/graph/sizing.js.map +1 -0
  117. package/dist/charts/engine/graph/tree.cjs +2 -0
  118. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  119. package/dist/charts/engine/graph/tree.d.cts +30 -0
  120. package/dist/charts/engine/graph/tree.d.ts +30 -0
  121. package/dist/charts/engine/graph/tree.js +218 -0
  122. package/dist/charts/engine/graph/tree.js.map +1 -0
  123. package/dist/charts/engine/graph/types.d.cts +626 -0
  124. package/dist/charts/engine/graph/types.d.ts +626 -0
  125. package/dist/charts/engine/graph/worker.cjs +46 -0
  126. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  127. package/dist/charts/engine/graph/worker.d.cts +36 -0
  128. package/dist/charts/engine/graph/worker.d.ts +36 -0
  129. package/dist/charts/engine/graph/worker.js +129 -0
  130. package/dist/charts/engine/graph/worker.js.map +1 -0
  131. package/dist/charts/engine/items.cjs +1 -1
  132. package/dist/charts/engine/items.cjs.map +1 -1
  133. package/dist/charts/engine/items.d.cts +15 -2
  134. package/dist/charts/engine/items.d.ts +15 -2
  135. package/dist/charts/engine/items.js +257 -81
  136. package/dist/charts/engine/items.js.map +1 -1
  137. package/dist/charts/engine/labels.cjs +2 -0
  138. package/dist/charts/engine/labels.cjs.map +1 -0
  139. package/dist/charts/engine/labels.d.cts +13 -0
  140. package/dist/charts/engine/labels.d.ts +13 -0
  141. package/dist/charts/engine/labels.js +98 -0
  142. package/dist/charts/engine/labels.js.map +1 -0
  143. package/dist/charts/engine/layout.cjs +1 -1
  144. package/dist/charts/engine/layout.cjs.map +1 -1
  145. package/dist/charts/engine/layout.d.cts +43 -2
  146. package/dist/charts/engine/layout.d.ts +43 -2
  147. package/dist/charts/engine/layout.js +62 -12
  148. package/dist/charts/engine/layout.js.map +1 -1
  149. package/dist/charts/engine/locale.cjs +2 -0
  150. package/dist/charts/engine/locale.cjs.map +1 -0
  151. package/dist/charts/engine/locale.d.cts +33 -0
  152. package/dist/charts/engine/locale.d.ts +33 -0
  153. package/dist/charts/engine/locale.js +68 -0
  154. package/dist/charts/engine/locale.js.map +1 -0
  155. package/dist/charts/engine/model.cjs +1 -1
  156. package/dist/charts/engine/model.cjs.map +1 -1
  157. package/dist/charts/engine/model.d.cts +77 -2
  158. package/dist/charts/engine/model.d.ts +77 -2
  159. package/dist/charts/engine/model.js +304 -116
  160. package/dist/charts/engine/model.js.map +1 -1
  161. package/dist/charts/engine/orderbook/book.cjs +2 -0
  162. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  163. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  164. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  165. package/dist/charts/engine/orderbook/book.js +134 -0
  166. package/dist/charts/engine/orderbook/book.js.map +1 -0
  167. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  168. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  169. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  170. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  171. package/dist/charts/engine/orderbook/depth.js +413 -0
  172. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  173. package/dist/charts/engine/orderbook/format.cjs +2 -0
  174. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  175. package/dist/charts/engine/orderbook/format.d.cts +49 -0
  176. package/dist/charts/engine/orderbook/format.d.ts +49 -0
  177. package/dist/charts/engine/orderbook/format.js +65 -0
  178. package/dist/charts/engine/orderbook/format.js.map +1 -0
  179. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  180. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  181. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  182. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  183. package/dist/charts/engine/orderbook/heatmap.js +822 -0
  184. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  185. package/dist/charts/engine/orderbook/host.cjs +2 -0
  186. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  187. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  188. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  189. package/dist/charts/engine/orderbook/host.js +161 -0
  190. package/dist/charts/engine/orderbook/host.js.map +1 -0
  191. package/dist/charts/engine/orderbook/index.cjs +1 -0
  192. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  193. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  194. package/dist/charts/engine/orderbook/index.js +6 -0
  195. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  196. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  197. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  198. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  199. package/dist/charts/engine/orderbook/ladder.js +341 -0
  200. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  201. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  202. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  203. package/dist/charts/engine/orderbook/layout.d.cts +37 -0
  204. package/dist/charts/engine/orderbook/layout.d.ts +37 -0
  205. package/dist/charts/engine/orderbook/layout.js +70 -0
  206. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  207. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  208. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  209. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  210. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  211. package/dist/charts/engine/orderbook/tape.js +450 -0
  212. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  213. package/dist/charts/engine/orderbook/types.d.cts +751 -0
  214. package/dist/charts/engine/orderbook/types.d.ts +751 -0
  215. package/dist/charts/engine/overlay.cjs +1 -1
  216. package/dist/charts/engine/overlay.cjs.map +1 -1
  217. package/dist/charts/engine/overlay.d.cts +28 -2
  218. package/dist/charts/engine/overlay.d.ts +28 -2
  219. package/dist/charts/engine/overlay.js +138 -96
  220. package/dist/charts/engine/overlay.js.map +1 -1
  221. package/dist/charts/engine/presets.cjs +2 -2
  222. package/dist/charts/engine/presets.cjs.map +1 -1
  223. package/dist/charts/engine/presets.d.cts +273 -3
  224. package/dist/charts/engine/presets.d.ts +273 -3
  225. package/dist/charts/engine/presets.js +390 -38
  226. package/dist/charts/engine/presets.js.map +1 -1
  227. package/dist/charts/engine/renderers/detect.cjs +1 -1
  228. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  230. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  231. package/dist/charts/engine/renderers/detect.js +24 -19
  232. package/dist/charts/engine/renderers/detect.js.map +1 -1
  233. package/dist/charts/engine/renderers/gl.cjs +2 -0
  234. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  235. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  236. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  237. package/dist/charts/engine/renderers/gl.js +56 -0
  238. package/dist/charts/engine/renderers/gl.js.map +1 -0
  239. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  240. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  241. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  242. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  243. package/dist/charts/engine/renderers/shaders.js +139 -1
  244. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  246. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  247. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  248. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  249. package/dist/charts/engine/renderers/webgl.js +133 -0
  250. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  251. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  252. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  253. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  254. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  255. package/dist/charts/engine/renderers/webgl2.js +59 -108
  256. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  257. package/dist/charts/engine/scale.cjs +1 -1
  258. package/dist/charts/engine/scale.cjs.map +1 -1
  259. package/dist/charts/engine/scale.js +1 -1
  260. package/dist/charts/engine/scale.js.map +1 -1
  261. package/dist/charts/engine/scene.cjs +1 -1
  262. package/dist/charts/engine/scene.cjs.map +1 -1
  263. package/dist/charts/engine/scene.d.cts +71 -8
  264. package/dist/charts/engine/scene.d.ts +71 -8
  265. package/dist/charts/engine/scene.js +465 -183
  266. package/dist/charts/engine/scene.js.map +1 -1
  267. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  268. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  269. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  270. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  271. package/dist/charts/engine/shapes/bullet.js +255 -0
  272. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  273. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  274. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  275. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  276. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  277. package/dist/charts/engine/shapes/calendar.js +369 -0
  278. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  279. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  280. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  281. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  282. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  283. package/dist/charts/engine/shapes/canvas.js +22 -13
  284. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  285. package/dist/charts/engine/shapes/chart.cjs +1 -1
  286. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  287. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  288. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  289. package/dist/charts/engine/shapes/chart.js +49 -27
  290. package/dist/charts/engine/shapes/chart.js.map +1 -1
  291. package/dist/charts/engine/shapes/chord.cjs +2 -0
  292. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  293. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  294. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  295. package/dist/charts/engine/shapes/chord.js +414 -0
  296. package/dist/charts/engine/shapes/chord.js.map +1 -0
  297. package/dist/charts/engine/shapes/draw.cjs +1 -1
  298. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  299. package/dist/charts/engine/shapes/draw.d.cts +7 -1
  300. package/dist/charts/engine/shapes/draw.d.ts +7 -1
  301. package/dist/charts/engine/shapes/draw.js +62 -19
  302. package/dist/charts/engine/shapes/draw.js.map +1 -1
  303. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  304. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  305. package/dist/charts/engine/shapes/funnel.js +3 -3
  306. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  307. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  308. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  309. package/dist/charts/engine/shapes/gauge.js +132 -95
  310. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  311. package/dist/charts/engine/shapes/hit.cjs +1 -1
  312. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  313. package/dist/charts/engine/shapes/hit.d.cts +5 -1
  314. package/dist/charts/engine/shapes/hit.d.ts +5 -1
  315. package/dist/charts/engine/shapes/hit.js +89 -39
  316. package/dist/charts/engine/shapes/hit.js.map +1 -1
  317. package/dist/charts/engine/shapes/index.d.cts +6 -2
  318. package/dist/charts/engine/shapes/index.d.ts +6 -2
  319. package/dist/charts/engine/shapes/labels.cjs +2 -0
  320. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  321. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  322. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  323. package/dist/charts/engine/shapes/labels.js +154 -0
  324. package/dist/charts/engine/shapes/labels.js.map +1 -0
  325. package/dist/charts/engine/shapes/layout.cjs +2 -2
  326. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  327. package/dist/charts/engine/shapes/layout.d.cts +10 -3
  328. package/dist/charts/engine/shapes/layout.d.ts +10 -3
  329. package/dist/charts/engine/shapes/layout.js +239 -124
  330. package/dist/charts/engine/shapes/layout.js.map +1 -1
  331. package/dist/charts/engine/shapes/pie.cjs +1 -1
  332. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  333. package/dist/charts/engine/shapes/pie.js +2 -2
  334. package/dist/charts/engine/shapes/pie.js.map +1 -1
  335. package/dist/charts/engine/shapes/radar.cjs +1 -1
  336. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  337. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  338. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  339. package/dist/charts/engine/shapes/radar.js +50 -49
  340. package/dist/charts/engine/shapes/radar.js.map +1 -1
  341. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  342. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  343. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  344. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  345. package/dist/charts/engine/shapes/radialBar.js +155 -0
  346. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  347. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  348. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  349. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  350. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  351. package/dist/charts/engine/shapes/runtime.js +61 -51
  352. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  353. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  354. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  355. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  356. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  357. package/dist/charts/engine/shapes/sankey.js +372 -0
  358. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  359. package/dist/charts/engine/shapes/scene.cjs +1 -1
  360. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  361. package/dist/charts/engine/shapes/scene.d.cts +92 -8
  362. package/dist/charts/engine/shapes/scene.d.ts +92 -8
  363. package/dist/charts/engine/shapes/scene.js +76 -31
  364. package/dist/charts/engine/shapes/scene.js.map +1 -1
  365. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  366. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  367. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  368. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  369. package/dist/charts/engine/shapes/sunburst.js +261 -0
  370. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  371. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  372. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  373. package/dist/charts/engine/shapes/treemap.js +2 -2
  374. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  375. package/dist/charts/engine/shapes/types.d.cts +550 -12
  376. package/dist/charts/engine/shapes/types.d.ts +550 -12
  377. package/dist/charts/engine/signature.cjs +1 -1
  378. package/dist/charts/engine/signature.cjs.map +1 -1
  379. package/dist/charts/engine/signature.js +1 -1
  380. package/dist/charts/engine/signature.js.map +1 -1
  381. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  382. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  383. package/dist/charts/engine/three-d/canvas2d.d.cts +7 -0
  384. package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
  385. package/dist/charts/engine/three-d/canvas2d.js +128 -0
  386. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  387. package/dist/charts/engine/three-d/chart.cjs +2 -0
  388. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  389. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  390. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  391. package/dist/charts/engine/three-d/chart.js +621 -0
  392. package/dist/charts/engine/three-d/chart.js.map +1 -0
  393. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  394. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  395. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  396. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  397. package/dist/charts/engine/three-d/colormap.js +166 -0
  398. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  399. package/dist/charts/engine/three-d/contours.cjs +2 -0
  400. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  401. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  402. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  403. package/dist/charts/engine/three-d/contours.js +47 -0
  404. package/dist/charts/engine/three-d/contours.js.map +1 -0
  405. package/dist/charts/engine/three-d/detect.cjs +2 -0
  406. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  407. package/dist/charts/engine/three-d/detect.d.cts +12 -0
  408. package/dist/charts/engine/three-d/detect.d.ts +12 -0
  409. package/dist/charts/engine/three-d/detect.js +37 -0
  410. package/dist/charts/engine/three-d/detect.js.map +1 -0
  411. package/dist/charts/engine/three-d/dom.cjs +2 -0
  412. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  413. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  414. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  415. package/dist/charts/engine/three-d/dom.js +98 -0
  416. package/dist/charts/engine/three-d/dom.js.map +1 -0
  417. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  418. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  419. package/dist/charts/engine/three-d/geometry.d.cts +82 -0
  420. package/dist/charts/engine/three-d/geometry.d.ts +82 -0
  421. package/dist/charts/engine/three-d/geometry.js +545 -0
  422. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  423. package/dist/charts/engine/three-d/hover.cjs +2 -0
  424. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  425. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  426. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  427. package/dist/charts/engine/three-d/hover.js +131 -0
  428. package/dist/charts/engine/three-d/hover.js.map +1 -0
  429. package/dist/charts/engine/three-d/index.cjs +1 -0
  430. package/dist/charts/engine/three-d/index.d.cts +2 -0
  431. package/dist/charts/engine/three-d/index.d.ts +2 -0
  432. package/dist/charts/engine/three-d/index.js +2 -0
  433. package/dist/charts/engine/three-d/labels.cjs +2 -0
  434. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  436. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  437. package/dist/charts/engine/three-d/labels.js +136 -0
  438. package/dist/charts/engine/three-d/labels.js.map +1 -0
  439. package/dist/charts/engine/three-d/math.cjs +2 -0
  440. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/math.d.cts +84 -0
  442. package/dist/charts/engine/three-d/math.d.ts +84 -0
  443. package/dist/charts/engine/three-d/math.js +150 -0
  444. package/dist/charts/engine/three-d/math.js.map +1 -0
  445. package/dist/charts/engine/three-d/model.cjs +2 -0
  446. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  447. package/dist/charts/engine/three-d/model.d.cts +132 -0
  448. package/dist/charts/engine/three-d/model.d.ts +132 -0
  449. package/dist/charts/engine/three-d/model.js +279 -0
  450. package/dist/charts/engine/three-d/model.js.map +1 -0
  451. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  452. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  453. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  454. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  455. package/dist/charts/engine/three-d/overlay.js +204 -0
  456. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  457. package/dist/charts/engine/three-d/pick.cjs +2 -0
  458. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  459. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  460. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  461. package/dist/charts/engine/three-d/pick.js +220 -0
  462. package/dist/charts/engine/three-d/pick.js.map +1 -0
  463. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  464. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  465. package/dist/charts/engine/three-d/render-types.d.cts +103 -0
  466. package/dist/charts/engine/three-d/render-types.d.ts +103 -0
  467. package/dist/charts/engine/three-d/render-types.js +12 -0
  468. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  469. package/dist/charts/engine/three-d/shaders.cjs +311 -0
  470. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  471. package/dist/charts/engine/three-d/shaders.d.cts +25 -0
  472. package/dist/charts/engine/three-d/shaders.d.ts +25 -0
  473. package/dist/charts/engine/three-d/shaders.js +210 -0
  474. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  475. package/dist/charts/engine/three-d/sort.cjs +2 -0
  476. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  477. package/dist/charts/engine/three-d/sort.d.cts +29 -0
  478. package/dist/charts/engine/three-d/sort.d.ts +29 -0
  479. package/dist/charts/engine/three-d/sort.js +145 -0
  480. package/dist/charts/engine/three-d/sort.js.map +1 -0
  481. package/dist/charts/engine/three-d/types.d.cts +615 -0
  482. package/dist/charts/engine/three-d/types.d.ts +615 -0
  483. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  484. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  485. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  486. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  487. package/dist/charts/engine/three-d/webgl.js +132 -0
  488. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  489. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  490. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  491. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  492. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  493. package/dist/charts/engine/three-d/webgpu.js +260 -0
  494. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  495. package/dist/charts/engine/time.cjs +1 -1
  496. package/dist/charts/engine/time.cjs.map +1 -1
  497. package/dist/charts/engine/time.d.cts +13 -4
  498. package/dist/charts/engine/time.d.ts +13 -4
  499. package/dist/charts/engine/time.js +156 -91
  500. package/dist/charts/engine/time.js.map +1 -1
  501. package/dist/charts/engine/trading/chart.cjs +2 -0
  502. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  503. package/dist/charts/engine/trading/chart.d.cts +13 -0
  504. package/dist/charts/engine/trading/chart.d.ts +13 -0
  505. package/dist/charts/engine/trading/chart.js +2206 -0
  506. package/dist/charts/engine/trading/chart.js.map +1 -0
  507. package/dist/charts/engine/trading/drawings.cjs +3 -0
  508. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  509. package/dist/charts/engine/trading/drawings.d.cts +95 -0
  510. package/dist/charts/engine/trading/drawings.d.ts +95 -0
  511. package/dist/charts/engine/trading/drawings.js +423 -0
  512. package/dist/charts/engine/trading/drawings.js.map +1 -0
  513. package/dist/charts/engine/trading/format.cjs +2 -0
  514. package/dist/charts/engine/trading/format.cjs.map +1 -0
  515. package/dist/charts/engine/trading/format.d.cts +73 -0
  516. package/dist/charts/engine/trading/format.d.ts +73 -0
  517. package/dist/charts/engine/trading/format.js +163 -0
  518. package/dist/charts/engine/trading/format.js.map +1 -0
  519. package/dist/charts/engine/trading/geometry.cjs +2 -0
  520. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  521. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  522. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  523. package/dist/charts/engine/trading/geometry.js +131 -0
  524. package/dist/charts/engine/trading/geometry.js.map +1 -0
  525. package/dist/charts/engine/trading/index.cjs +1 -0
  526. package/dist/charts/engine/trading/index.d.cts +4 -0
  527. package/dist/charts/engine/trading/index.d.ts +4 -0
  528. package/dist/charts/engine/trading/index.js +4 -0
  529. package/dist/charts/engine/trading/indicators.cjs +2 -0
  530. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  531. package/dist/charts/engine/trading/indicators.d.cts +275 -0
  532. package/dist/charts/engine/trading/indicators.d.ts +275 -0
  533. package/dist/charts/engine/trading/indicators.js +544 -0
  534. package/dist/charts/engine/trading/indicators.js.map +1 -0
  535. package/dist/charts/engine/trading/labels.cjs +2 -0
  536. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  537. package/dist/charts/engine/trading/labels.d.cts +7 -0
  538. package/dist/charts/engine/trading/labels.d.ts +7 -0
  539. package/dist/charts/engine/trading/labels.js +171 -0
  540. package/dist/charts/engine/trading/labels.js.map +1 -0
  541. package/dist/charts/engine/trading/scale.cjs +2 -0
  542. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  543. package/dist/charts/engine/trading/scale.d.cts +46 -0
  544. package/dist/charts/engine/trading/scale.d.ts +46 -0
  545. package/dist/charts/engine/trading/scale.js +100 -0
  546. package/dist/charts/engine/trading/scale.js.map +1 -0
  547. package/dist/charts/engine/trading/store.cjs +2 -0
  548. package/dist/charts/engine/trading/store.cjs.map +1 -0
  549. package/dist/charts/engine/trading/store.d.cts +83 -0
  550. package/dist/charts/engine/trading/store.d.ts +83 -0
  551. package/dist/charts/engine/trading/store.js +150 -0
  552. package/dist/charts/engine/trading/store.js.map +1 -0
  553. package/dist/charts/engine/trading/studies.cjs +2 -0
  554. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  555. package/dist/charts/engine/trading/studies.d.cts +85 -0
  556. package/dist/charts/engine/trading/studies.d.ts +85 -0
  557. package/dist/charts/engine/trading/studies.js +510 -0
  558. package/dist/charts/engine/trading/studies.js.map +1 -0
  559. package/dist/charts/engine/trading/sync.cjs +2 -0
  560. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  561. package/dist/charts/engine/trading/sync.d.cts +8 -0
  562. package/dist/charts/engine/trading/sync.d.ts +8 -0
  563. package/dist/charts/engine/trading/sync.js +25 -0
  564. package/dist/charts/engine/trading/sync.js.map +1 -0
  565. package/dist/charts/engine/trading/types.d.cts +1131 -0
  566. package/dist/charts/engine/trading/types.d.ts +1131 -0
  567. package/dist/charts/engine/types.d.cts +247 -22
  568. package/dist/charts/engine/types.d.ts +247 -22
  569. package/dist/charts/index.cjs +1 -1
  570. package/dist/charts/index.d.cts +8 -4
  571. package/dist/charts/index.d.ts +8 -4
  572. package/dist/charts/index.js +30 -11
  573. package/dist/charts/react/Chart.cjs +1 -1
  574. package/dist/charts/react/Chart.cjs.map +1 -1
  575. package/dist/charts/react/Chart.d.cts +4 -4
  576. package/dist/charts/react/Chart.d.ts +4 -4
  577. package/dist/charts/react/Chart.js +5 -1
  578. package/dist/charts/react/Chart.js.map +1 -1
  579. package/dist/charts/react/charts.cjs +1 -1
  580. package/dist/charts/react/charts.cjs.map +1 -1
  581. package/dist/charts/react/charts.d.cts +39 -1
  582. package/dist/charts/react/charts.d.ts +39 -1
  583. package/dist/charts/react/charts.js +312 -128
  584. package/dist/charts/react/charts.js.map +1 -1
  585. package/dist/charts/react/graph.cjs +2 -0
  586. package/dist/charts/react/graph.cjs.map +1 -0
  587. package/dist/charts/react/graph.d.cts +213 -0
  588. package/dist/charts/react/graph.d.ts +213 -0
  589. package/dist/charts/react/graph.js +159 -0
  590. package/dist/charts/react/graph.js.map +1 -0
  591. package/dist/charts/react/orderbook.cjs +2 -0
  592. package/dist/charts/react/orderbook.cjs.map +1 -0
  593. package/dist/charts/react/orderbook.d.cts +142 -0
  594. package/dist/charts/react/orderbook.d.ts +142 -0
  595. package/dist/charts/react/orderbook.js +182 -0
  596. package/dist/charts/react/orderbook.js.map +1 -0
  597. package/dist/charts/react/shapes.cjs +1 -1
  598. package/dist/charts/react/shapes.cjs.map +1 -1
  599. package/dist/charts/react/shapes.d.cts +374 -9
  600. package/dist/charts/react/shapes.d.ts +374 -9
  601. package/dist/charts/react/shapes.js +323 -93
  602. package/dist/charts/react/shapes.js.map +1 -1
  603. package/dist/charts/react/three-d.cjs +2 -0
  604. package/dist/charts/react/three-d.cjs.map +1 -0
  605. package/dist/charts/react/three-d.d.cts +151 -0
  606. package/dist/charts/react/three-d.d.ts +151 -0
  607. package/dist/charts/react/three-d.js +154 -0
  608. package/dist/charts/react/three-d.js.map +1 -0
  609. package/dist/charts/react/trading.cjs +2 -0
  610. package/dist/charts/react/trading.cjs.map +1 -0
  611. package/dist/charts/react/trading.d.cts +145 -0
  612. package/dist/charts/react/trading.d.ts +145 -0
  613. package/dist/charts/react/trading.js +126 -0
  614. package/dist/charts/react/trading.js.map +1 -0
  615. package/dist/charts/react/types.d.cts +143 -8
  616. package/dist/charts/react/types.d.ts +143 -8
  617. package/dist/core/contracts.cjs +1 -1
  618. package/dist/core/contracts.cjs.map +1 -1
  619. package/dist/core/contracts.js +1 -1
  620. package/dist/core/contracts.js.map +1 -1
  621. package/dist/native/charts/src/canvas.cjs +1 -1
  622. package/dist/native/charts/src/canvas.js +9 -3
  623. package/dist/native/charts/src/engine/axis.cjs +1 -1
  624. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  625. package/dist/native/charts/src/engine/axis.js +43 -20
  626. package/dist/native/charts/src/engine/axis.js.map +1 -1
  627. package/dist/native/charts/src/engine/color.cjs +1 -1
  628. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/color.js +47 -5
  630. package/dist/native/charts/src/engine/color.js.map +1 -1
  631. package/dist/native/charts/src/engine/controller.cjs +2 -2
  632. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  633. package/dist/native/charts/src/engine/controller.js +415 -308
  634. package/dist/native/charts/src/engine/controller.js.map +1 -1
  635. package/dist/native/charts/src/engine/data.cjs +1 -1
  636. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  637. package/dist/native/charts/src/engine/data.js +65 -49
  638. package/dist/native/charts/src/engine/data.js.map +1 -1
  639. package/dist/native/charts/src/engine/format.cjs +1 -1
  640. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  641. package/dist/native/charts/src/engine/format.js +59 -21
  642. package/dist/native/charts/src/engine/format.js.map +1 -1
  643. package/dist/native/charts/src/engine/labels.cjs +2 -0
  644. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  645. package/dist/native/charts/src/engine/labels.js +98 -0
  646. package/dist/native/charts/src/engine/labels.js.map +1 -0
  647. package/dist/native/charts/src/engine/layout.cjs +1 -1
  648. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  649. package/dist/native/charts/src/engine/layout.js +62 -12
  650. package/dist/native/charts/src/engine/layout.js.map +1 -1
  651. package/dist/native/charts/src/engine/locale.cjs +2 -0
  652. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  653. package/dist/native/charts/src/engine/locale.js +60 -0
  654. package/dist/native/charts/src/engine/locale.js.map +1 -0
  655. package/dist/native/charts/src/engine/model.cjs +1 -1
  656. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  657. package/dist/native/charts/src/engine/model.js +307 -119
  658. package/dist/native/charts/src/engine/model.js.map +1 -1
  659. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  660. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  661. package/dist/native/charts/src/engine/overlay.js +46 -23
  662. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  663. package/dist/native/charts/src/engine/presets.cjs +2 -2
  664. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  665. package/dist/native/charts/src/engine/presets.js +470 -41
  666. package/dist/native/charts/src/engine/presets.js.map +1 -1
  667. package/dist/native/charts/src/engine/scale.cjs +1 -1
  668. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  669. package/dist/native/charts/src/engine/scale.js +1 -1
  670. package/dist/native/charts/src/engine/scale.js.map +1 -1
  671. package/dist/native/charts/src/engine/scene.cjs +1 -1
  672. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  673. package/dist/native/charts/src/engine/scene.js +489 -207
  674. package/dist/native/charts/src/engine/scene.js.map +1 -1
  675. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  676. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  678. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  680. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/calendar.js +369 -0
  682. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  684. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  685. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  686. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  687. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  688. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  689. package/dist/native/charts/src/engine/shapes/chord.js +414 -0
  690. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  691. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  692. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  693. package/dist/native/charts/src/engine/shapes/draw.js +195 -0
  694. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  695. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  696. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  697. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  698. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  699. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  700. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  701. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  702. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  703. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  704. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  705. package/dist/native/charts/src/engine/shapes/hit.js +135 -0
  706. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  707. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  708. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  709. package/dist/native/charts/src/engine/shapes/labels.js +154 -0
  710. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  711. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  712. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  713. package/dist/native/charts/src/engine/shapes/layout.js +358 -0
  714. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  715. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  716. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  717. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  718. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  719. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  720. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  721. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  722. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  723. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  724. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  725. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  726. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  727. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  728. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  729. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  730. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  731. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  732. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  733. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  734. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  735. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  736. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  737. package/dist/native/charts/src/engine/shapes/scene.js +168 -0
  738. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  739. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  740. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  741. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  742. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  743. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  744. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  745. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  746. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  747. package/dist/native/charts/src/engine/time.cjs +1 -1
  748. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  749. package/dist/native/charts/src/engine/time.js +156 -91
  750. package/dist/native/charts/src/engine/time.js.map +1 -1
  751. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  752. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  753. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  754. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  755. package/dist/native/components/Chart/ChartBase.js +110 -107
  756. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  757. package/dist/native/components/Chart/charts.cjs +1 -1
  758. package/dist/native/components/Chart/charts.cjs.map +1 -1
  759. package/dist/native/components/Chart/charts.d.cts +6 -1
  760. package/dist/native/components/Chart/charts.d.ts +6 -1
  761. package/dist/native/components/Chart/charts.js +53 -29
  762. package/dist/native/components/Chart/charts.js.map +1 -1
  763. package/dist/native/components/Chart/index.cjs +1 -1
  764. package/dist/native/components/Chart/index.d.cts +1 -1
  765. package/dist/native/components/Chart/index.d.ts +1 -1
  766. package/dist/native/components/Chart/index.js +2 -2
  767. package/dist/native/components/Chart/scene.cjs +1 -1
  768. package/dist/native/components/Chart/scene.cjs.map +1 -1
  769. package/dist/native/components/Chart/scene.js +315 -229
  770. package/dist/native/components/Chart/scene.js.map +1 -1
  771. package/dist/native/components/Chart/types.d.cts +26 -3
  772. package/dist/native/components/Chart/types.d.ts +26 -3
  773. package/dist/native/components/Charts/charts.cjs +2 -0
  774. package/dist/native/components/Charts/charts.cjs.map +1 -0
  775. package/dist/native/components/Charts/charts.d.cts +41 -0
  776. package/dist/native/components/Charts/charts.d.ts +41 -0
  777. package/dist/native/components/Charts/charts.js +350 -0
  778. package/dist/native/components/Charts/charts.js.map +1 -0
  779. package/dist/native/components/Charts/index.cjs +1 -0
  780. package/dist/native/components/Charts/index.d.cts +2 -0
  781. package/dist/native/components/Charts/index.d.ts +2 -0
  782. package/dist/native/components/Charts/index.js +2 -0
  783. package/dist/native/components/Charts/types.d.cts +155 -0
  784. package/dist/native/components/Charts/types.d.ts +155 -0
  785. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  786. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  787. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  788. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  789. package/dist/native/components/ShapeChart/ShapeChartBase.js +272 -0
  790. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  791. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  792. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  793. package/dist/native/components/ShapeChart/charts.d.cts +43 -0
  794. package/dist/native/components/ShapeChart/charts.d.ts +43 -0
  795. package/dist/native/components/ShapeChart/charts.js +429 -0
  796. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  797. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  798. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  799. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  800. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  801. package/dist/native/components/ShapeChart/draw.js +113 -0
  802. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  803. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  804. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  805. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  806. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  807. package/dist/native/components/ShapeChart/geometry.js +681 -0
  808. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  809. package/dist/native/components/ShapeChart/index.cjs +1 -0
  810. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  811. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  812. package/dist/native/components/ShapeChart/index.js +2 -0
  813. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  814. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  815. package/dist/native/components/ShapeChart/recorder.d.cts +115 -0
  816. package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
  817. package/dist/native/components/ShapeChart/recorder.js +583 -0
  818. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  819. package/dist/native/components/ShapeChart/types.d.cts +594 -0
  820. package/dist/native/components/ShapeChart/types.d.ts +594 -0
  821. package/dist/native/index.cjs +1 -1
  822. package/dist/native/index.d.cts +2 -0
  823. package/dist/native/index.d.ts +2 -0
  824. package/dist/native/index.js +14 -10
  825. package/dist/native/manifest.d.cts +6 -4
  826. package/dist/native/manifest.d.ts +6 -4
  827. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  828. package/dist/native/source/components/Chart/charts.tsx +42 -6
  829. package/dist/native/source/components/Chart/index.ts +1 -0
  830. package/dist/native/source/components/Chart/scene.tsx +312 -98
  831. package/dist/native/source/components/Chart/types.ts +31 -1
  832. package/dist/native/source/components/Charts/charts.tsx +521 -0
  833. package/dist/native/source/components/Charts/index.ts +14 -0
  834. package/dist/native/source/components/Charts/types.ts +218 -0
  835. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
  836. package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
  837. package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
  838. package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
  839. package/dist/native/source/components/ShapeChart/index.ts +16 -0
  840. package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
  841. package/dist/native/source/components/ShapeChart/types.ts +655 -0
  842. package/dist/native/source/index.ts +2 -0
  843. package/dist/native/source/manifest.ts +31 -4
  844. package/dist/taro/charts.d.ts +229 -4
  845. package/dist/taro/index.d.ts +1 -0
  846. package/dist/taro/index.js +8818 -2093
  847. package/dist/taro/manifest.d.ts +1 -0
  848. package/dist/taro/shape-charts.d.ts +629 -0
  849. package/dist/uni/AreaChart.vue +68 -0
  850. package/dist/uni/AreaChart.vue.d.ts +124 -0
  851. package/dist/uni/Badge.vue.d.ts +1 -1
  852. package/dist/uni/BarChart.vue.d.ts +5 -1
  853. package/dist/uni/BoxPlotChart.vue +66 -0
  854. package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
  855. package/dist/uni/BubbleChart.vue +68 -0
  856. package/dist/uni/BubbleChart.vue.d.ts +110 -0
  857. package/dist/uni/BulletChart.vue +86 -0
  858. package/dist/uni/BulletChart.vue.d.ts +114 -0
  859. package/dist/uni/CalendarHeatmap.vue +92 -0
  860. package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
  861. package/dist/uni/CandlestickChart.vue +66 -0
  862. package/dist/uni/CandlestickChart.vue.d.ts +104 -0
  863. package/dist/uni/Chart.vue.d.ts +4 -0
  864. package/dist/uni/ChordChart.vue +93 -0
  865. package/dist/uni/ChordChart.vue.d.ts +136 -0
  866. package/dist/uni/DonutChart.vue +72 -0
  867. package/dist/uni/DonutChart.vue.d.ts +118 -0
  868. package/dist/uni/FunnelChart.vue +67 -0
  869. package/dist/uni/FunnelChart.vue.d.ts +108 -0
  870. package/dist/uni/GanttChart.vue +67 -0
  871. package/dist/uni/GanttChart.vue.d.ts +127 -0
  872. package/dist/uni/GaugeChart.vue +77 -0
  873. package/dist/uni/GaugeChart.vue.d.ts +127 -0
  874. package/dist/uni/HeatmapChart.vue +66 -0
  875. package/dist/uni/HeatmapChart.vue.d.ts +120 -0
  876. package/dist/uni/HistogramChart.vue +66 -0
  877. package/dist/uni/HistogramChart.vue.d.ts +125 -0
  878. package/dist/uni/HorizontalBarChart.vue +68 -0
  879. package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
  880. package/dist/uni/Input.vue.d.ts +1 -1
  881. package/dist/uni/LineChart.vue.d.ts +4 -0
  882. package/dist/uni/MixedChart.vue +68 -0
  883. package/dist/uni/MixedChart.vue.d.ts +110 -0
  884. package/dist/uni/NumberInput.vue.d.ts +1 -1
  885. package/dist/uni/PieChart.vue +72 -0
  886. package/dist/uni/PieChart.vue.d.ts +118 -0
  887. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  888. package/dist/uni/RadarChart.vue +67 -0
  889. package/dist/uni/RadarChart.vue.d.ts +114 -0
  890. package/dist/uni/RadialBarChart.vue +90 -0
  891. package/dist/uni/RadialBarChart.vue.d.ts +136 -0
  892. package/dist/uni/RangeAreaChart.vue +68 -0
  893. package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
  894. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  895. package/dist/uni/SankeyChart.vue +88 -0
  896. package/dist/uni/SankeyChart.vue.d.ts +125 -0
  897. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  898. package/dist/uni/ShapeChart.vue +73 -0
  899. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  900. package/dist/uni/Sparkline.vue +58 -0
  901. package/dist/uni/Sparkline.vue.d.ts +81 -0
  902. package/dist/uni/SunburstChart.vue +90 -0
  903. package/dist/uni/SunburstChart.vue.d.ts +118 -0
  904. package/dist/uni/Textarea.vue.d.ts +1 -1
  905. package/dist/uni/TimePicker.vue.d.ts +1 -1
  906. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  907. package/dist/uni/TreemapChart.vue +65 -0
  908. package/dist/uni/TreemapChart.vue.d.ts +104 -0
  909. package/dist/uni/WaterfallChart.vue +66 -0
  910. package/dist/uni/WaterfallChart.vue.d.ts +134 -0
  911. package/dist/uni/chart-canvas.d.ts +3 -0
  912. package/dist/uni/chart-canvas.js +4 -0
  913. package/dist/uni/chart-types.d.ts +240 -2
  914. package/dist/uni/chart-types.js +198 -0
  915. package/dist/uni/charts-canvas.js +8 -3
  916. package/dist/uni/index.d.ts +27 -1
  917. package/dist/uni/index.js +27 -1
  918. package/dist/uni/manifest.d.ts +279 -0
  919. package/dist/uni/manifest.js +397 -0
  920. package/dist/uni/named-chart-options.d.ts +95 -0
  921. package/dist/uni/named-chart-options.js +173 -0
  922. package/dist/uni/shape-chart-canvas.d.ts +53 -0
  923. package/dist/uni/shape-chart-canvas.js +333 -0
  924. package/dist/uni/shape-chart-types.d.ts +431 -0
  925. package/dist/uni/shape-chart-types.js +305 -0
  926. package/dist/vue/charts-global.d.ts +48 -0
  927. package/dist/vue/charts.d.ts +18 -0
  928. package/dist/vue/charts.js +56 -0
  929. package/dist/vue/charts.js.map +1 -0
  930. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  931. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  932. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  933. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  934. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  935. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  936. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  937. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  938. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  939. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  940. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  941. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  942. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  943. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  944. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  945. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +120 -0
  946. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  947. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  948. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +63 -0
  949. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  950. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  951. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  952. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  953. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  954. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  955. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  956. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  957. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  958. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  959. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  960. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  961. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  962. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  963. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  964. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  965. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  966. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  967. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  968. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  969. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  970. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  971. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  972. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  973. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  974. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  975. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  976. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  977. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  978. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  979. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  980. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
  981. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  982. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  983. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  984. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  985. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  986. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  987. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  988. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  989. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  990. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  991. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  992. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  993. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  994. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  995. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  996. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  997. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  998. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  999. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1000. package/dist/vue/components/Chart/GanttChart.vue.d.ts +136 -0
  1001. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  1002. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  1003. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1004. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1005. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  1006. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  1007. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  1008. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1009. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1010. package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
  1011. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  1012. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  1013. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  1014. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1015. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -0
  1016. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  1017. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  1018. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +67 -0
  1019. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1020. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  1021. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  1022. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  1023. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  1024. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1025. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  1026. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  1027. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  1028. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  1029. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1030. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  1031. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  1032. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  1033. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1034. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1035. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  1036. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  1037. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  1038. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  1039. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1040. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  1041. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  1042. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  1043. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1044. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1045. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  1046. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  1047. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  1048. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  1049. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1050. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +130 -0
  1051. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  1052. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  1053. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  1054. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1055. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  1056. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  1057. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  1058. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  1059. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1060. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  1061. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  1062. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  1063. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  1064. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1065. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  1066. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  1067. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  1068. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  1069. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1070. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  1071. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  1072. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  1073. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  1074. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1075. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  1076. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  1077. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  1078. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  1079. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1080. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  1081. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  1082. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  1083. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1084. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1085. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  1086. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  1087. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  1088. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1089. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1090. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1091. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1092. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1093. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1094. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1095. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1096. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1097. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1098. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1099. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1100. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1101. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1102. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1103. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1104. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1105. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1106. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1107. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1108. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1109. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1110. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1111. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1112. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1113. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1114. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1115. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +116 -0
  1116. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1117. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1118. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1119. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1120. package/dist/vue/components/Chart/TradingChart.vue.d.ts +208 -0
  1121. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1122. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1123. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1124. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1125. package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
  1126. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  1127. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  1128. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  1129. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1130. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1131. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1132. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1133. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1134. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1135. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +143 -0
  1136. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1137. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1138. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +74 -0
  1139. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1140. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1141. package/dist/vue/components/Chart/cartesian.js +56 -0
  1142. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1143. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1144. package/dist/vue/components/Chart/engine.js +35 -0
  1145. package/dist/vue/components/Chart/engine.js.map +1 -0
  1146. package/dist/vue/components/Chart/graph.d.ts +153 -0
  1147. package/dist/vue/components/Chart/graph.js +135 -0
  1148. package/dist/vue/components/Chart/graph.js.map +1 -0
  1149. package/dist/vue/components/Chart/index.d.ts +45 -0
  1150. package/dist/vue/components/Chart/index.js +44 -0
  1151. package/dist/vue/components/Chart/orderbook.d.ts +363 -0
  1152. package/dist/vue/components/Chart/orderbook.js +128 -0
  1153. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1154. package/dist/vue/components/Chart/props.d.ts +188 -0
  1155. package/dist/vue/components/Chart/props.js +92 -0
  1156. package/dist/vue/components/Chart/props.js.map +1 -0
  1157. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1158. package/dist/vue/components/Chart/shape.js +42 -0
  1159. package/dist/vue/components/Chart/shape.js.map +1 -0
  1160. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1161. package/dist/vue/components/Chart/three-d.js +88 -0
  1162. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1163. package/dist/vue/components/Chart/trading.d.ts +127 -0
  1164. package/dist/vue/components/Chart/trading.js +63 -0
  1165. package/dist/vue/components/Chart/trading.js.map +1 -0
  1166. package/dist/vue/components/Chart/types.d.ts +209 -0
  1167. package/dist/vue/global.d.ts +2 -0
  1168. package/dist/vue/groups/charts.d.ts +1 -0
  1169. package/dist/vue/groups/charts.js +95 -0
  1170. package/dist/vue/groups/charts.js.map +1 -0
  1171. package/dist/vue/index.d.ts +1 -0
  1172. package/dist/vue/index.js +67 -23
  1173. package/dist/vue/internal/register.d.ts +7 -0
  1174. package/dist/vue/internal/register.js +14 -0
  1175. package/dist/vue/internal/register.js.map +1 -0
  1176. package/dist/vue/plugin.d.ts +9 -4
  1177. package/dist/vue/plugin.js +7 -10
  1178. package/dist/vue/plugin.js.map +1 -1
  1179. package/dist/weapp/area-chart/index.js +1 -0
  1180. package/dist/weapp/area-chart/index.json +1 -0
  1181. package/dist/weapp/area-chart/index.wxml +1 -0
  1182. package/dist/weapp/area-chart/index.wxss +1 -0
  1183. package/dist/weapp/box-plot-chart/index.js +1 -0
  1184. package/dist/weapp/box-plot-chart/index.json +1 -0
  1185. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1186. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1187. package/dist/weapp/bubble-chart/index.js +1 -0
  1188. package/dist/weapp/bubble-chart/index.json +1 -0
  1189. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1190. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1191. package/dist/weapp/bullet-chart/index.js +1 -0
  1192. package/dist/weapp/bullet-chart/index.json +1 -0
  1193. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1194. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1195. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1196. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1197. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1198. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1199. package/dist/weapp/candlestick-chart/index.js +1 -0
  1200. package/dist/weapp/candlestick-chart/index.json +1 -0
  1201. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1202. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1203. package/dist/weapp/charts/canvas.js +12976 -0
  1204. package/dist/weapp/charts/core.d.ts +2 -0
  1205. package/dist/weapp/charts/core.js +42 -0
  1206. package/dist/weapp/chord-chart/index.js +1 -0
  1207. package/dist/weapp/chord-chart/index.json +1 -0
  1208. package/dist/weapp/chord-chart/index.wxml +1 -0
  1209. package/dist/weapp/chord-chart/index.wxss +1 -0
  1210. package/dist/weapp/controls.js +1495 -4480
  1211. package/dist/weapp/donut-chart/index.js +1 -0
  1212. package/dist/weapp/donut-chart/index.json +1 -0
  1213. package/dist/weapp/donut-chart/index.wxml +1 -0
  1214. package/dist/weapp/donut-chart/index.wxss +1 -0
  1215. package/dist/weapp/funnel-chart/index.js +1 -0
  1216. package/dist/weapp/funnel-chart/index.json +1 -0
  1217. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1218. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1219. package/dist/weapp/gantt-chart/index.js +1 -0
  1220. package/dist/weapp/gantt-chart/index.json +1 -0
  1221. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1222. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1223. package/dist/weapp/gauge-chart/index.js +1 -0
  1224. package/dist/weapp/gauge-chart/index.json +1 -0
  1225. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1226. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1227. package/dist/weapp/heatmap-chart/index.js +1 -0
  1228. package/dist/weapp/heatmap-chart/index.json +1 -0
  1229. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1230. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1231. package/dist/weapp/histogram-chart/index.js +1 -0
  1232. package/dist/weapp/histogram-chart/index.json +1 -0
  1233. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1234. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1235. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1236. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1237. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1238. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1239. package/dist/weapp/mixed-chart/index.js +1 -0
  1240. package/dist/weapp/mixed-chart/index.json +1 -0
  1241. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1242. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1243. package/dist/weapp/pie-chart/index.js +1 -0
  1244. package/dist/weapp/pie-chart/index.json +1 -0
  1245. package/dist/weapp/pie-chart/index.wxml +1 -0
  1246. package/dist/weapp/pie-chart/index.wxss +1 -0
  1247. package/dist/weapp/radar-chart/index.js +1 -0
  1248. package/dist/weapp/radar-chart/index.json +1 -0
  1249. package/dist/weapp/radar-chart/index.wxml +1 -0
  1250. package/dist/weapp/radar-chart/index.wxss +1 -0
  1251. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1252. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1253. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1254. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1255. package/dist/weapp/range-area-chart/index.js +1 -0
  1256. package/dist/weapp/range-area-chart/index.json +1 -0
  1257. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1258. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1259. package/dist/weapp/sankey-chart/index.js +1 -0
  1260. package/dist/weapp/sankey-chart/index.json +1 -0
  1261. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1262. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1263. package/dist/weapp/shape-chart/index.js +1 -0
  1264. package/dist/weapp/shape-chart/index.json +1 -0
  1265. package/dist/weapp/shape-chart/index.wxml +1 -0
  1266. package/dist/weapp/shape-chart/index.wxss +1 -0
  1267. package/dist/weapp/sparkline/index.js +1 -0
  1268. package/dist/weapp/sparkline/index.json +1 -0
  1269. package/dist/weapp/sparkline/index.wxml +1 -0
  1270. package/dist/weapp/sparkline/index.wxss +1 -0
  1271. package/dist/weapp/sunburst-chart/index.js +1 -0
  1272. package/dist/weapp/sunburst-chart/index.json +1 -0
  1273. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1274. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1275. package/dist/weapp/treemap-chart/index.js +1 -0
  1276. package/dist/weapp/treemap-chart/index.json +1 -0
  1277. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1278. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1279. package/dist/weapp/types.d.ts +549 -0
  1280. package/dist/weapp/waterfall-chart/index.js +1 -0
  1281. package/dist/weapp/waterfall-chart/index.json +1 -0
  1282. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1283. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1284. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1285. package/dist/web-components/components/chart/chart.js +55 -0
  1286. package/dist/web-components/components/chart/chart.js.map +1 -0
  1287. package/dist/web-components/components/chart/charts.d.ts +254 -0
  1288. package/dist/web-components/components/chart/charts.js +208 -0
  1289. package/dist/web-components/components/chart/charts.js.map +1 -0
  1290. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1291. package/dist/web-components/components/chart/engine-element.js +77 -0
  1292. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1293. package/dist/web-components/components/chart/extended.d.ts +234 -0
  1294. package/dist/web-components/components/chart/extended.js +197 -0
  1295. package/dist/web-components/components/chart/extended.js.map +1 -0
  1296. package/dist/web-components/components/chart/series.d.ts +7 -0
  1297. package/dist/web-components/components/chart/series.js +14 -0
  1298. package/dist/web-components/components/chart/series.js.map +1 -0
  1299. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1300. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1301. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1302. package/dist/web-components/components/chart/shapes-extended.d.ts +198 -0
  1303. package/dist/web-components/components/chart/shapes-extended.js +182 -0
  1304. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1305. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1306. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1307. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1308. package/dist/web-components/components/graph/graph.d.ts +154 -0
  1309. package/dist/web-components/components/graph/graph.js +149 -0
  1310. package/dist/web-components/components/graph/graph.js.map +1 -0
  1311. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1312. package/dist/web-components/components/order-book/order-book.js +174 -0
  1313. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1314. package/dist/web-components/components/trading-chart/trading-chart.d.ts +143 -0
  1315. package/dist/web-components/components/trading-chart/trading-chart.js +158 -0
  1316. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1317. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1318. package/dist/web-components/elements/chart-3d.js +13 -0
  1319. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1320. package/dist/web-components/elements/chart.d.ts +7 -0
  1321. package/dist/web-components/elements/chart.js +44 -0
  1322. package/dist/web-components/elements/chart.js.map +1 -0
  1323. package/dist/web-components/elements/graph.d.ts +2 -0
  1324. package/dist/web-components/elements/graph.js +12 -0
  1325. package/dist/web-components/elements/graph.js.map +1 -0
  1326. package/dist/web-components/elements/order-book.d.ts +2 -0
  1327. package/dist/web-components/elements/order-book.js +13 -0
  1328. package/dist/web-components/elements/order-book.js.map +1 -0
  1329. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1330. package/dist/web-components/elements/trading-chart.js +8 -0
  1331. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1332. package/dist/web-components/html-custom-data.json +1470 -38
  1333. package/dist/web-components/types/react.d.ts +494 -0
  1334. package/dist/web-components/types/solid.d.ts +368 -0
  1335. package/dist/web-components/types/svelte.d.ts +368 -0
  1336. package/dist/web-components/types/vue.d.ts +410 -0
  1337. package/package.json +128 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"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","extremeInto","queue","head","tail","lastNaN","better","highest","a","b","push","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","offsetOf","utcOffset","day","date","vwapInto","tp","volume","same","basePv","pv","baseV","vol","heikinAshiInto","open","prevOpen","prevClose","o","obvInto","typicalInto","cciInto","typical","m","deviation","williamsRInto","lowest","mfiInto","positive","negative","flow","stochRsiInto","stochPeriod","rsiPeriod","work","dmiInto","up","down","tr","plus","minus","adxPeriod","adx","psarInto","trend","start","prevEp","ep","prevAf","af","sar","before","increment","maximum","supertrendInto","mid","multiplier","pu","upper","pl","lower","direction","midpointInto","ichimokuInto","conversionPeriod","conversion","basePeriod","base","spanBPeriod","spanB","donchianInto","keltnerInto","middle","atrPeriod","sma","values","ema","wma","bollinger","dev","macd","f","fast","slow","line","sig","signal","histogram","rsi","kdj","atr","vwap","zone","options","zoneOffset","heikinAshi","bars","obv","cci","williamsR","mfi","stochRsi","dmi","psar","supertrend","value","ichimoku","keltner","donchian","volumeProfile","count","to","rows","lo","hi","empty","step","total","h","target","r0","r1","span","r","bottom","overlap","poc","wanted","inside","below","UNIT_MS","parseTimeframe","timeframe","match","unit","bucketKey","tf","months","bucketStart","key","shifted","guess","isColumns","resampleBars","offset","timeZone","columns","get","current","currentKey","bar","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 { offsetOf, zoneOffset, type UtcOffset } from \"./format\";\nimport type {\n TradingBar,\n TradingBarColumns,\n TradingBarsInput,\n TradingTimeframe,\n TradingVolumeProfile,\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/**\n * Highest (or lowest) value of the window ending at each index, NaN while\n * the window is incomplete or holds a NaN. A monotonic queue of indices\n * makes it O(1) per bar whatever the period (Ichimoku uses 52 bars).\n */\nconst extremeInto = (\n src: Values,\n n: number,\n p: number,\n out: Float64Array,\n from: number,\n highest: boolean,\n) => {\n const queue = new Int32Array(p + 1);\n let head = 0;\n let tail = 0;\n let lastNaN = -1;\n const better = (a: number, b: number) => (highest ? a >= b : a <= b);\n const push = (i: number) => {\n const v = src[i];\n if (!finite(v)) {\n lastNaN = i;\n head = tail = 0;\n return;\n }\n while (tail > head && better(v, src[queue[(tail - 1) % (p + 1)]])) tail--;\n queue[tail % (p + 1)] = i;\n tail++;\n while (queue[head % (p + 1)] <= i - p) head++;\n };\n // the window ending just before `from`\n for (let i = Math.max(0, from - p + 1); i < from; i++) push(i);\n for (let i = from; i < n; i++) {\n push(i);\n out[i] =\n i < p - 1 || lastNaN > i - p || tail === head\n ? NaN\n : src[queue[head % (p + 1)]];\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: UtcOffset = 0,\n): number => {\n if (reset === \"none\") return 0;\n const t = time + offsetOf(utcOffset, time) * 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: UtcOffset,\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/** On-balance volume: the volume added on up closes, subtracted on down closes */\nexport const obvInto = (\n close: Values,\n volume: Values,\n n: number,\n out: Float64Array,\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n if (i === 0) {\n out[i] = 0;\n continue;\n }\n const v = finite(volume[i]) ? volume[i] : 0;\n const prev = finite(out[i - 1]) ? out[i - 1] : 0;\n const change = close[i] - close[i - 1];\n out[i] = prev + (change > 0 ? v : change < 0 ? -v : 0);\n }\n};\n\n/** Typical price (high + low + close) / 3 */\nconst typicalInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n out: Float64Array,\n from: number,\n) => {\n for (let i = from; i < n; i++) out[i] = (high[i] + low[i] + close[i]) / 3;\n};\n\n/** Commodity channel index: distance of the typical price from its average, in mean deviations / 0.015 */\nexport const cciInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n out: Float64Array,\n typical: Float64Array,\n mean: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n typicalInto(high, low, close, n, typical, from);\n smaInto(typical, n, p, mean, from);\n for (let i = from; i < n; i++) {\n const m = mean[i];\n if (!finite(m)) {\n out[i] = NaN;\n continue;\n }\n let deviation = 0;\n for (let k = i - p + 1; k <= i; k++) deviation += Math.abs(typical[k] - m);\n deviation /= p;\n out[i] = deviation === 0 ? 0 : (typical[i] - m) / (0.015 * deviation);\n }\n};\n\n/** Williams %R (−100 to 0): the close within the range of the window, from its high */\nexport const williamsRInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n out: Float64Array,\n highest: Float64Array,\n lowest: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n extremeInto(high, n, p, highest, from, true);\n extremeInto(low, n, p, lowest, from, false);\n for (let i = from; i < n; i++) {\n const hh = highest[i];\n const ll = lowest[i];\n out[i] =\n !finite(hh) || !finite(ll)\n ? NaN\n : hh === ll\n ? -50\n : ((hh - close[i]) / (hh - ll)) * -100;\n }\n};\n\n/** Money flow index (0-100): an RSI of the typical price weighted by the volume */\nexport const mfiInto = (\n high: Values,\n low: Values,\n close: Values,\n volume: Values,\n n: number,\n period: number,\n out: Float64Array,\n typical: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n typicalInto(high, low, close, n, typical, Math.max(0, from - p - 1));\n for (let i = from; i < n; i++) {\n if (i < p) {\n out[i] = NaN;\n continue;\n }\n let positive = 0;\n let negative = 0;\n let ok = true;\n for (let k = i - p + 1; k <= i; k++) {\n const flow = typical[k] * (finite(volume[k]) ? volume[k] : 0);\n if (!finite(flow) || !finite(typical[k - 1])) {\n ok = false;\n break;\n }\n if (typical[k] > typical[k - 1]) positive += flow;\n else if (typical[k] < typical[k - 1]) negative += flow;\n }\n out[i] = !ok\n ? NaN\n : negative === 0\n ? positive === 0\n ? 50\n : 100\n : 100 - 100 / (1 + positive / negative);\n }\n};\n\n/** Working columns of the stochastic RSI */\nexport interface StochRsiWork {\n rsi: Float64Array;\n gain: Float64Array;\n loss: Float64Array;\n highest: Float64Array;\n lowest: Float64Array;\n raw: Float64Array;\n}\n\n/** Stochastic RSI: the stochastic of the RSI, smoothed into K and D */\nexport const stochRsiInto = (\n close: Values,\n n: number,\n rsiPeriod: number,\n stochPeriod: number,\n kPeriod: number,\n dPeriod: number,\n k: Float64Array,\n d: Float64Array,\n work: StochRsiWork,\n from = 0,\n): void => {\n const p = periodOf(stochPeriod);\n rsiInto(close, n, rsiPeriod, work.rsi, work.gain, work.loss, from);\n extremeInto(work.rsi, n, p, work.highest, from, true);\n extremeInto(work.rsi, n, p, work.lowest, from, false);\n for (let i = from; i < n; i++) {\n const hh = work.highest[i];\n const ll = work.lowest[i];\n work.raw[i] =\n !finite(hh) || !finite(ll)\n ? NaN\n : hh === ll\n ? 50\n : ((work.rsi[i] - ll) / (hh - ll)) * 100;\n }\n smaInto(work.raw, n, kPeriod, k, from);\n smaInto(k, n, dPeriod, d, from);\n};\n\n/** Working columns of the DMI */\nexport interface DmiWork {\n tr: Float64Array;\n plusDm: Float64Array;\n minusDm: Float64Array;\n smoothTr: Float64Array;\n smoothPlus: Float64Array;\n smoothMinus: Float64Array;\n dx: Float64Array;\n}\n\n/** Directional movement index (Wilder): +DI, −DI and the ADX */\nexport const dmiInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n adxPeriod: number,\n plus: Float64Array,\n minus: Float64Array,\n adx: Float64Array,\n work: DmiWork,\n from = 0,\n): void => {\n for (let i = from; i < n; i++) {\n if (i === 0) {\n work.tr[i] = work.plusDm[i] = work.minusDm[i] = NaN;\n continue;\n }\n const up = high[i] - high[i - 1];\n const down = low[i - 1] - low[i];\n work.plusDm[i] = up > down && up > 0 ? up : 0;\n work.minusDm[i] = down > up && down > 0 ? down : 0;\n const pc = close[i - 1];\n work.tr[i] = Math.max(\n high[i] - low[i],\n Math.abs(high[i] - pc),\n Math.abs(low[i] - pc),\n );\n }\n rmaInto(work.tr, n, period, work.smoothTr, from);\n rmaInto(work.plusDm, n, period, work.smoothPlus, from);\n rmaInto(work.minusDm, n, period, work.smoothMinus, from);\n for (let i = from; i < n; i++) {\n const tr = work.smoothTr[i];\n plus[i] = tr ? (100 * work.smoothPlus[i]) / tr : NaN;\n minus[i] = tr ? (100 * work.smoothMinus[i]) / tr : NaN;\n const sum = plus[i] + minus[i];\n work.dx[i] = !finite(sum)\n ? NaN\n : sum === 0\n ? 0\n : (100 * Math.abs(plus[i] - minus[i])) / sum;\n }\n rmaInto(work.dx, n, adxPeriod, adx, from);\n};\n\n/** Working columns of the parabolic SAR */\nexport interface PsarWork {\n /** Extreme point of the trend */\n ep: Float64Array;\n /** Acceleration factor */\n af: Float64Array;\n /** 1 rising, −1 falling */\n trend: Float64Array;\n}\n\n/** Parabolic stop and reverse (Wilder) */\nexport const psarInto = (\n high: Values,\n low: Values,\n n: number,\n start: number,\n increment: number,\n maximum: number,\n out: Float64Array,\n work: PsarWork,\n from = 0,\n): void => {\n const { ep, af, trend } = work;\n for (let i = from; i < n; i++) {\n if (i === 0) {\n out[i] = ep[i] = af[i] = trend[i] = NaN;\n continue;\n }\n if (!finite(trend[i - 1])) {\n // the first two bars set the direction\n const up = high[i] + low[i] >= high[i - 1] + low[i - 1];\n out[i] = up\n ? Math.min(low[i - 1], low[i])\n : Math.max(high[i - 1], high[i]);\n ep[i] = up\n ? Math.max(high[i - 1], high[i])\n : Math.min(low[i - 1], low[i]);\n af[i] = start;\n trend[i] = finite(out[i]) ? (up ? 1 : -1) : NaN;\n continue;\n }\n const prevEp = ep[i - 1];\n const prevAf = af[i - 1];\n let sar = out[i - 1] + prevAf * (prevEp - out[i - 1]);\n const before = i >= 2 ? i - 2 : i - 1;\n if (trend[i - 1] === 1) {\n sar = Math.min(sar, low[i - 1], low[before]);\n if (low[i] < sar) {\n trend[i] = -1;\n sar = Math.max(prevEp, high[i]);\n ep[i] = low[i];\n af[i] = start;\n } else {\n trend[i] = 1;\n ep[i] = Math.max(prevEp, high[i]);\n af[i] =\n high[i] > prevEp ? Math.min(prevAf + increment, maximum) : prevAf;\n }\n } else {\n sar = Math.max(sar, high[i - 1], high[before]);\n if (high[i] > sar) {\n trend[i] = 1;\n sar = Math.min(prevEp, low[i]);\n ep[i] = high[i];\n af[i] = start;\n } else {\n trend[i] = -1;\n ep[i] = Math.min(prevEp, low[i]);\n af[i] =\n low[i] < prevEp ? Math.min(prevAf + increment, maximum) : prevAf;\n }\n }\n out[i] = sar;\n }\n};\n\n/** Working columns of the SuperTrend */\nexport interface SupertrendWork {\n tr: Float64Array;\n atr: Float64Array;\n upper: Float64Array;\n lower: Float64Array;\n}\n\n/**\n * SuperTrend: a trailing band `multiplier` ATRs from the median price,\n * below the bars in an uptrend (`direction` 1), above them in a downtrend (−1)\n */\nexport const supertrendInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n multiplier: number,\n out: Float64Array,\n direction: Float64Array,\n work: SupertrendWork,\n from = 0,\n): void => {\n const { tr, atr: range, upper, lower } = work;\n trueRangeInto(high, low, close, n, tr, from);\n rmaInto(tr, n, period, range, from);\n for (let i = from; i < n; i++) {\n const a = range[i];\n if (!finite(a)) {\n out[i] = direction[i] = upper[i] = lower[i] = NaN;\n continue;\n }\n const mid = (high[i] + low[i]) / 2;\n let up = mid + multiplier * a;\n let down = mid - multiplier * a;\n const pu = i > 0 ? upper[i - 1] : NaN;\n const pl = i > 0 ? lower[i - 1] : NaN;\n const pc = i > 0 ? close[i - 1] : NaN;\n // the bands only tighten while the trend holds\n if (finite(pl) && !(down > pl || pc < pl)) down = pl;\n if (finite(pu) && !(up < pu || pc > pu)) up = pu;\n upper[i] = up;\n lower[i] = down;\n const pd = i > 0 ? direction[i - 1] : NaN;\n const d = !finite(pd)\n ? -1\n : pd === -1\n ? close[i] > up\n ? 1\n : -1\n : close[i] < down\n ? -1\n : 1;\n direction[i] = d;\n out[i] = d === 1 ? down : up;\n }\n};\n\n/** Midpoint of the highest high and the lowest low of a window */\nconst midpointInto = (\n high: Values,\n low: Values,\n n: number,\n period: number,\n out: Float64Array,\n highest: Float64Array,\n lowest: Float64Array,\n from: number,\n) => {\n const p = periodOf(period);\n extremeInto(high, n, p, highest, from, true);\n extremeInto(low, n, p, lowest, from, false);\n for (let i = from; i < n; i++) out[i] = (highest[i] + lowest[i]) / 2;\n};\n\n/** Working columns of Ichimoku */\nexport interface IchimokuWork {\n highest: Float64Array;\n lowest: Float64Array;\n}\n\n/**\n * Ichimoku lines at each bar (unshifted): conversion (Tenkan), base\n * (Kijun), leading span A and B (drawn `displacement − 1` bars ahead)\n */\nexport const ichimokuInto = (\n high: Values,\n low: Values,\n n: number,\n conversionPeriod: number,\n basePeriod: number,\n spanBPeriod: number,\n conversion: Float64Array,\n base: Float64Array,\n spanA: Float64Array,\n spanB: Float64Array,\n work: IchimokuWork,\n from = 0,\n): void => {\n const { highest, lowest } = work;\n midpointInto(\n high,\n low,\n n,\n conversionPeriod,\n conversion,\n highest,\n lowest,\n from,\n );\n midpointInto(high, low, n, basePeriod, base, highest, lowest, from);\n midpointInto(high, low, n, spanBPeriod, spanB, highest, lowest, from);\n for (let i = from; i < n; i++) spanA[i] = (conversion[i] + base[i]) / 2;\n};\n\n/** Donchian channel: highest high, lowest low and their midpoint */\nexport const donchianInto = (\n high: Values,\n low: Values,\n n: number,\n period: number,\n upper: Float64Array,\n lower: Float64Array,\n middle: Float64Array,\n from = 0,\n): void => {\n const p = periodOf(period);\n extremeInto(high, n, p, upper, from, true);\n extremeInto(low, n, p, lower, from, false);\n for (let i = from; i < n; i++) middle[i] = (upper[i] + lower[i]) / 2;\n};\n\n/** Keltner channel: an EMA of the close ± `multiplier` ATRs */\nexport const keltnerInto = (\n high: Values,\n low: Values,\n close: Values,\n n: number,\n period: number,\n multiplier: number,\n atrPeriod: number,\n middle: Float64Array,\n upper: Float64Array,\n lower: Float64Array,\n work: { tr: Float64Array; atr: Float64Array },\n from = 0,\n): void => {\n emaInto(close, n, period, middle, from);\n trueRangeInto(high, low, close, n, work.tr, from);\n rmaInto(work.tr, n, atrPeriod, work.atr, from);\n for (let i = from; i < n; i++) {\n upper[i] = middle[i] + multiplier * work.atr[i];\n lower[i] = middle[i] - multiplier * work.atr[i];\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 * or in the IANA `timeZone`); 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 timeZone?: string;\n } = {},\n): Float64Array => {\n const n = close.length;\n const out = nanArray(n);\n const zone = options.timeZone;\n vwapInto(\n high,\n low,\n close,\n volume,\n options.time ?? null,\n n,\n options.reset ?? \"day\",\n options.utcOffset ?? (zone ? (time: number) => zoneOffset(time, zone) : 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/** On-balance volume: the running sum of the volume, signed by the close change */\nexport const obv = (close: Values, volume: Values): Float64Array => {\n const out = nanArray(close.length);\n obvInto(close, volume, close.length, out);\n return out;\n};\n\n/** Commodity channel index (typically between −100 and +100 in a range) */\nexport const cci = (\n high: Values,\n low: Values,\n close: Values,\n period = 20,\n): Float64Array => {\n const n = close.length;\n const out = nanArray(n);\n cciInto(high, low, close, n, period, out, nanArray(n), nanArray(n));\n return out;\n};\n\n/** Williams %R, from −100 (close at the lowest low) to 0 (at the highest high) */\nexport const williamsR = (\n high: Values,\n low: Values,\n close: Values,\n period = 14,\n): Float64Array => {\n const n = close.length;\n const out = nanArray(n);\n williamsRInto(high, low, close, n, period, out, nanArray(n), nanArray(n));\n return out;\n};\n\n/** Money flow index (0-100): a volume-weighted RSI of the typical price */\nexport const mfi = (\n high: Values,\n low: Values,\n close: Values,\n volume: Values,\n period = 14,\n): Float64Array => {\n const n = close.length;\n const out = nanArray(n);\n mfiInto(high, low, close, volume, n, period, out, nanArray(n));\n return out;\n};\n\n/** Stochastic RSI (0-100): the stochastic of the RSI, smoothed into K and D */\nexport const stochRsi = (\n close: Values,\n options: {\n rsiPeriod?: number;\n stochPeriod?: number;\n kPeriod?: number;\n dPeriod?: number;\n } = {},\n): { k: Float64Array; d: Float64Array } => {\n const n = close.length;\n const k = nanArray(n);\n const d = nanArray(n);\n stochRsiInto(\n close,\n n,\n options.rsiPeriod ?? 14,\n options.stochPeriod ?? 14,\n options.kPeriod ?? 3,\n options.dPeriod ?? 3,\n k,\n d,\n {\n rsi: nanArray(n),\n gain: nanArray(n),\n loss: nanArray(n),\n highest: nanArray(n),\n lowest: nanArray(n),\n raw: nanArray(n),\n },\n );\n return { k, d };\n};\n\n/** Directional movement (Wilder): +DI, −DI and the average directional index */\nexport const dmi = (\n high: Values,\n low: Values,\n close: Values,\n period = 14,\n adxPeriod = 14,\n): { plus: Float64Array; minus: Float64Array; adx: Float64Array } => {\n const n = close.length;\n const plus = nanArray(n);\n const minus = nanArray(n);\n const adx = nanArray(n);\n dmiInto(high, low, close, n, period, adxPeriod, plus, minus, adx, {\n tr: nanArray(n),\n plusDm: nanArray(n),\n minusDm: nanArray(n),\n smoothTr: nanArray(n),\n smoothPlus: nanArray(n),\n smoothMinus: nanArray(n),\n dx: nanArray(n),\n });\n return { plus, minus, adx };\n};\n\n/**\n * Parabolic SAR (Wilder): a trailing stop below the bars in an uptrend,\n * above them in a downtrend, accelerating with each new extreme\n */\nexport const psar = (\n high: Values,\n low: Values,\n options: { start?: number; increment?: number; maximum?: number } = {},\n): Float64Array => {\n const n = high.length;\n const out = nanArray(n);\n const start = options.start ?? 0.02;\n psarInto(\n high,\n low,\n n,\n start,\n options.increment ?? start,\n options.maximum ?? 0.2,\n out,\n { ep: nanArray(n), af: nanArray(n), trend: nanArray(n) },\n );\n return out;\n};\n\n/**\n * SuperTrend: the trailing band (`value`) and the trend (`direction`: 1 up,\n * −1 down)\n */\nexport const supertrend = (\n high: Values,\n low: Values,\n close: Values,\n period = 10,\n multiplier = 3,\n): { value: Float64Array; direction: Float64Array } => {\n const n = close.length;\n const value = nanArray(n);\n const direction = nanArray(n);\n supertrendInto(high, low, close, n, period, multiplier, value, direction, {\n tr: nanArray(n),\n atr: nanArray(n),\n upper: nanArray(n),\n lower: nanArray(n),\n });\n return { value, direction };\n};\n\n/**\n * Ichimoku Kinkō Hyō, aligned on the bars that compute them: the leading\n * spans are plotted `displacement − 1` bars ahead and the lagging span is\n * the close plotted `displacement − 1` bars back\n */\nexport const ichimoku = (\n high: Values,\n low: Values,\n options: {\n conversionPeriod?: number;\n basePeriod?: number;\n spanBPeriod?: number;\n } = {},\n): {\n conversion: Float64Array;\n base: Float64Array;\n spanA: Float64Array;\n spanB: Float64Array;\n} => {\n const n = high.length;\n const out = {\n conversion: nanArray(n),\n base: nanArray(n),\n spanA: nanArray(n),\n spanB: nanArray(n),\n };\n ichimokuInto(\n high,\n low,\n n,\n options.conversionPeriod ?? 9,\n options.basePeriod ?? 26,\n options.spanBPeriod ?? 52,\n out.conversion,\n out.base,\n out.spanA,\n out.spanB,\n { highest: nanArray(n), lowest: nanArray(n) },\n );\n return out;\n};\n\n/** Keltner channel: EMA of the close ± `multiplier` average true ranges */\nexport const keltner = (\n high: Values,\n low: Values,\n close: Values,\n options: { period?: number; multiplier?: number; atrPeriod?: number } = {},\n): { middle: Float64Array; upper: Float64Array; lower: Float64Array } => {\n const n = close.length;\n const out = { middle: nanArray(n), upper: nanArray(n), lower: nanArray(n) };\n keltnerInto(\n high,\n low,\n close,\n n,\n options.period ?? 20,\n options.multiplier ?? 2,\n options.atrPeriod ?? 10,\n out.middle,\n out.upper,\n out.lower,\n { tr: nanArray(n), atr: nanArray(n) },\n );\n return out;\n};\n\n/** Donchian channel: highest high, lowest low and their midpoint over `period` bars */\nexport const donchian = (\n high: Values,\n low: Values,\n period = 20,\n): { upper: Float64Array; lower: Float64Array; middle: Float64Array } => {\n const n = high.length;\n const out = { upper: nanArray(n), lower: nanArray(n), middle: nanArray(n) };\n donchianInto(high, low, n, period, out.upper, out.lower, out.middle);\n return out;\n};\n\n/**\n * Volume profile: the volume of bars `from..to` (inclusive) spread over\n * `rows` price rows (each bar evenly over its low-high range), split by\n * rising / falling bars, with the point of control and the value area\n * (the rows around it holding `valueArea` of the volume, 70% by default)\n */\nexport const volumeProfile = (\n bars: {\n open: Values;\n high: Values;\n low: Values;\n close: Values;\n volume: Values;\n },\n options: {\n from?: number;\n to?: number;\n rows?: number;\n valueArea?: number;\n } = {},\n): TradingVolumeProfile => {\n const count = bars.close.length;\n const from = Math.max(0, Math.floor(options.from ?? 0));\n const to = Math.min(count - 1, Math.floor(options.to ?? count - 1));\n const rows = Math.max(1, Math.floor(options.rows ?? 24));\n let lo = Infinity;\n let hi = -Infinity;\n for (let i = from; i <= to; i++) {\n if (bars.low[i] < lo) lo = bars.low[i];\n if (bars.high[i] > hi) hi = bars.high[i];\n }\n const up = new Float64Array(rows);\n const down = new Float64Array(rows);\n const empty = {\n low: lo,\n high: hi,\n step: 0,\n up,\n down,\n total: 0,\n poc: -1,\n valueAreaFrom: -1,\n valueAreaTo: -1,\n };\n if (!finite(lo) || !finite(hi)) return empty;\n if (hi === lo) {\n hi += Math.abs(lo) * 1e-6 || 1e-6;\n lo -= Math.abs(lo) * 1e-6 || 1e-6;\n }\n const step = (hi - lo) / rows;\n let total = 0;\n for (let i = from; i <= to; i++) {\n const v = bars.volume[i];\n const l = bars.low[i];\n const h = bars.high[i];\n if (!(v > 0) || !finite(l) || !finite(h)) continue;\n const target = bars.close[i] >= bars.open[i] ? up : down;\n total += v;\n const r0 = Math.min(rows - 1, Math.max(0, Math.floor((l - lo) / step)));\n const r1 = Math.min(rows - 1, Math.max(0, Math.floor((h - lo) / step)));\n if (r0 === r1 || h <= l) {\n target[r0] += v;\n continue;\n }\n const span = h - l;\n for (let r = r0; r <= r1; r++) {\n const bottom = lo + r * step;\n const overlap = Math.min(h, bottom + step) - Math.max(l, bottom);\n if (overlap > 0) target[r] += (v * overlap) / span;\n }\n }\n if (!(total > 0)) return { ...empty, low: lo, high: hi, step };\n let poc = 0;\n for (let r = 1; r < rows; r++)\n if (up[r] + down[r] > up[poc] + down[poc]) poc = r;\n // grow the value area from the point of control toward the larger side\n const wanted = total * Math.min(1, Math.max(0, options.valueArea ?? 0.7));\n let a = poc;\n let b = poc;\n let inside = up[poc] + down[poc];\n while (inside < wanted && (a > 0 || b < rows - 1)) {\n const below = a > 0 ? up[a - 1] + down[a - 1] : -1;\n const above = b < rows - 1 ? up[b + 1] + down[b + 1] : -1;\n if (above >= below) {\n b++;\n inside += up[b] + down[b];\n } else {\n a--;\n inside += up[a] + down[a];\n }\n }\n return {\n low: lo,\n high: hi,\n step,\n up,\n down,\n total,\n poc,\n valueAreaFrom: a,\n valueAreaTo: b,\n };\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/**\n * Key of the bucket of `time` in the shifted (displayed) time: weeks start\n * on Monday, months on the 1st. Comparing keys rather than UTC starts keeps\n * a day whole when its offset changes (daylight saving).\n */\nexport const bucketKey = (\n time: number,\n tf: ParsedTimeframe,\n utcOffset: UtcOffset = 0,\n): number => {\n const t = time + offsetOf(utcOffset, time) * 60_000;\n if (tf.unit === \"month\") {\n const date = new Date(t);\n const months = date.getUTCFullYear() * 12 + date.getUTCMonth();\n return months - (months % tf.count);\n }\n if (tf.count % (7 * DAY) === 0) {\n // Monday-aligned weeks (the epoch is a Thursday)\n return Math.floor((t - 4 * DAY) / tf.count);\n }\n return Math.floor(t / tf.count);\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: UtcOffset = 0,\n): number => {\n const key = bucketKey(time, tf, utcOffset);\n const shifted =\n tf.unit === \"month\"\n ? Date.UTC(Math.floor(key / 12), key % 12, 1)\n : tf.count % (7 * DAY) === 0\n ? key * tf.count + 4 * DAY\n : key * tf.count;\n // the offset at the start itself (it may differ from the one at `time`)\n const guess = shifted - offsetOf(utcOffset, time) * 60_000;\n return shifted - offsetOf(utcOffset, guess) * 60_000;\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 `timeZone` (minutes from UTC, or an\n * IANA time zone such as `\"America/New_York\"`); weeks start on Monday.\n * Columns in, columns out (Float64Array).\n */\nexport function resampleBars(\n bars: readonly TradingBar[],\n timeframe: TradingTimeframe,\n timeZone?: number | string,\n): TradingBar[];\nexport function resampleBars(\n bars: TradingBarColumns,\n timeframe: TradingTimeframe,\n timeZone?: number | string,\n): TradingBarColumns;\nexport function resampleBars(\n bars: TradingBarsInput,\n timeframe: TradingTimeframe,\n timeZone: number | string = 0,\n): TradingBar[] | TradingBarColumns {\n const tf = parseTimeframe(timeframe);\n if (!tf) throw new Error(`Invalid timeframe: ${String(timeframe)}`);\n const offset: UtcOffset =\n typeof timeZone === \"string\"\n ? (time: number) => zoneOffset(time, timeZone)\n : timeZone;\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 let currentKey = NaN;\n for (let i = 0; i < n; i++) {\n const bar = get(i);\n const key = bucketKey(bar.time, tf, offset);\n if (!current || key !== currentKey) {\n if (current) out.push(current);\n currentKey = key;\n current = {\n time: bucketStart(bar.time, tf, offset),\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}`,ichimoku:`Ichimoku`,supertrend:`SuperTrend`,text:`Text`,color:`Color`,lineWidth:`Line width`,lineStyle:`Line style`,fill:`Fill`,editText:`Edit text`,lock:`Lock`,remove:`Delete`,target:`Target {price} ({change})`,stop:`Stop {price} ({change})`,riskReward:`R:R {ratio}`,profit:`P&L {value}`,long:`Long`,short:`Short`,replay:`Replay · {time}`,replayHint:`Click a bar to start the replay`,buyLimit:`Buy limit {price}`,sellLimit:`Sell limit {price}`},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}`,ichimoku:`一目均衡表`,supertrend:`超级趋势`,text:`文本`,color:`颜色`,lineWidth:`线宽`,lineStyle:`线型`,fill:`填充`,editText:`编辑文本`,lock:`锁定`,remove:`删除`,target:`止盈 {price}({change})`,stop:`止损 {price}({change})`,riskReward:`盈亏比 {ratio}`,profit:`盈亏 {value}`,long:`做多`,short:`做空`,replay:`回放 · {time}`,replayHint:`点击一根 K 线开始回放`,buyLimit:`限价买入 {price}`,sellLimit:`限价卖出 {price}`},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}`,ichimoku:`一目均衡表`,supertrend:`スーパートレンド`,text:`テキスト`,color:`色`,lineWidth:`線の太さ`,lineStyle:`線の種類`,fill:`塗りつぶし`,editText:`テキストを編集`,lock:`ロック`,remove:`削除`,target:`利確 {price}({change})`,stop:`損切 {price}({change})`,riskReward:`リスクリワード {ratio}`,profit:`損益 {value}`,long:`ロング`,short:`ショート`,replay:`リプレイ · {time}`,replayHint:`足をクリックしてリプレイを開始`,buyLimit:`指値買い {price}`,sellLimit:`指値売り {price}`},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}`,ichimoku:`Ichimoku`,supertrend:`SuperTrend`,text:`Texte`,color:`Couleur`,lineWidth:`Épaisseur`,lineStyle:`Style de trait`,fill:`Remplissage`,editText:`Modifier le texte`,lock:`Verrouiller`,remove:`Supprimer`,target:`Objectif {price} ({change})`,stop:`Stop {price} ({change})`,riskReward:`R/R {ratio}`,profit:`P&L {value}`,long:`Achat`,short:`Vente`,replay:`Relecture · {time}`,replayHint:`Cliquez sur une barre pour lancer la relecture`,buyLimit:`Achat limite {price}`,sellLimit:`Vente limite {price}`}},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 ichimoku: \"Ichimoku\",\n supertrend: \"SuperTrend\",\n text: \"Text\",\n color: \"Color\",\n lineWidth: \"Line width\",\n lineStyle: \"Line style\",\n fill: \"Fill\",\n editText: \"Edit text\",\n lock: \"Lock\",\n remove: \"Delete\",\n target: \"Target {price} ({change})\",\n stop: \"Stop {price} ({change})\",\n riskReward: \"R:R {ratio}\",\n profit: \"P&L {value}\",\n long: \"Long\",\n short: \"Short\",\n replay: \"Replay · {time}\",\n replayHint: \"Click a bar to start the replay\",\n buyLimit: \"Buy limit {price}\",\n sellLimit: \"Sell limit {price}\",\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 ichimoku: \"一目均衡表\",\n supertrend: \"超级趋势\",\n text: \"文本\",\n color: \"颜色\",\n lineWidth: \"线宽\",\n lineStyle: \"线型\",\n fill: \"填充\",\n editText: \"编辑文本\",\n lock: \"锁定\",\n remove: \"删除\",\n target: \"止盈 {price}({change})\",\n stop: \"止损 {price}({change})\",\n riskReward: \"盈亏比 {ratio}\",\n profit: \"盈亏 {value}\",\n long: \"做多\",\n short: \"做空\",\n replay: \"回放 · {time}\",\n replayHint: \"点击一根 K 线开始回放\",\n buyLimit: \"限价买入 {price}\",\n sellLimit: \"限价卖出 {price}\",\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 ichimoku: \"一目均衡表\",\n supertrend: \"スーパートレンド\",\n text: \"テキスト\",\n color: \"色\",\n lineWidth: \"線の太さ\",\n lineStyle: \"線の種類\",\n fill: \"塗りつぶし\",\n editText: \"テキストを編集\",\n lock: \"ロック\",\n remove: \"削除\",\n target: \"利確 {price}({change})\",\n stop: \"損切 {price}({change})\",\n riskReward: \"リスクリワード {ratio}\",\n profit: \"損益 {value}\",\n long: \"ロング\",\n short: \"ショート\",\n replay: \"リプレイ · {time}\",\n replayHint: \"足をクリックしてリプレイを開始\",\n buyLimit: \"指値買い {price}\",\n sellLimit: \"指値売り {price}\",\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 ichimoku: \"Ichimoku\",\n supertrend: \"SuperTrend\",\n text: \"Texte\",\n color: \"Couleur\",\n lineWidth: \"Épaisseur\",\n lineStyle: \"Style de trait\",\n fill: \"Remplissage\",\n editText: \"Modifier le texte\",\n lock: \"Verrouiller\",\n remove: \"Supprimer\",\n target: \"Objectif {price} ({change})\",\n stop: \"Stop {price} ({change})\",\n riskReward: \"R/R {ratio}\",\n profit: \"P&L {value}\",\n long: \"Achat\",\n short: \"Vente\",\n replay: \"Relecture · {time}\",\n replayHint: \"Cliquez sur une barre pour lancer la relecture\",\n buyLimit: \"Achat limite {price}\",\n sellLimit: \"Vente limite {price}\",\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,6DACd,SAAU,WACV,WAAY,aACZ,KAAM,OACN,MAAO,QACP,UAAW,aACX,UAAW,aACX,KAAM,OACN,SAAU,YACV,KAAM,OACN,OAAQ,SACR,OAAQ,4BACR,KAAM,0BACN,WAAY,cACZ,OAAQ,cACR,KAAM,OACN,MAAO,QACP,OAAQ,kBACR,WAAY,kCACZ,SAAU,oBACV,UAAW,oBACb,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,iDACd,SAAU,QACV,WAAY,OACZ,KAAM,KACN,MAAO,KACP,UAAW,KACX,UAAW,KACX,KAAM,KACN,SAAU,OACV,KAAM,KACN,OAAQ,KACR,OAAQ,uBACR,KAAM,uBACN,WAAY,cACZ,OAAQ,aACR,KAAM,KACN,MAAO,KACP,OAAQ,cACR,WAAY,eACZ,SAAU,eACV,UAAW,cACb,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,iDACd,SAAU,QACV,WAAY,WACZ,KAAM,OACN,MAAO,IACP,UAAW,OACX,UAAW,OACX,KAAM,QACN,SAAU,UACV,KAAM,MACN,OAAQ,KACR,OAAQ,uBACR,KAAM,uBACN,WAAY,kBACZ,OAAQ,aACR,KAAM,MACN,MAAO,OACP,OAAQ,gBACR,WAAY,kBACZ,SAAU,eACV,UAAW,cACb,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,+EACF,SAAU,WACV,WAAY,aACZ,KAAM,QACN,MAAO,UACP,UAAW,YACX,UAAW,iBACX,KAAM,cACN,SAAU,oBACV,KAAM,cACN,OAAQ,YACR,OAAQ,8BACR,KAAM,0BACN,WAAY,cACZ,OAAQ,cACR,KAAM,QACN,MAAO,QACP,OAAQ,qBACR,WAAY,iDACZ,SAAU,uBACV,UAAW,sBACb,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,171 @@
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
+ ichimoku: "Ichimoku",
24
+ supertrend: "SuperTrend",
25
+ text: "Text",
26
+ color: "Color",
27
+ lineWidth: "Line width",
28
+ lineStyle: "Line style",
29
+ fill: "Fill",
30
+ editText: "Edit text",
31
+ lock: "Lock",
32
+ remove: "Delete",
33
+ target: "Target {price} ({change})",
34
+ stop: "Stop {price} ({change})",
35
+ riskReward: "R:R {ratio}",
36
+ profit: "P&L {value}",
37
+ long: "Long",
38
+ short: "Short",
39
+ replay: "Replay · {time}",
40
+ replayHint: "Click a bar to start the replay",
41
+ buyLimit: "Buy limit {price}",
42
+ sellLimit: "Sell limit {price}"
43
+ },
44
+ zh: {
45
+ open: "开",
46
+ high: "高",
47
+ low: "低",
48
+ close: "收",
49
+ change: "涨跌幅",
50
+ volume: "成交量",
51
+ limit: "限价",
52
+ position: "持仓",
53
+ takeProfit: "止盈",
54
+ stopLoss: "止损",
55
+ alert: "预警",
56
+ scrollToRealtime: "回到最新 K 线",
57
+ toggleIndicator: "显示或隐藏 {name}",
58
+ bars: "{count} 根 K 线",
59
+ days: "{count}天",
60
+ hours: "{count}小时",
61
+ minutes: "{count}分",
62
+ chart: "{symbol} 价格图表",
63
+ announcement: "{time}:开盘 {open},最高 {high},最低 {low},收盘 {close}",
64
+ ichimoku: "一目均衡表",
65
+ supertrend: "超级趋势",
66
+ text: "文本",
67
+ color: "颜色",
68
+ lineWidth: "线宽",
69
+ lineStyle: "线型",
70
+ fill: "填充",
71
+ editText: "编辑文本",
72
+ lock: "锁定",
73
+ remove: "删除",
74
+ target: "止盈 {price}({change})",
75
+ stop: "止损 {price}({change})",
76
+ riskReward: "盈亏比 {ratio}",
77
+ profit: "盈亏 {value}",
78
+ long: "做多",
79
+ short: "做空",
80
+ replay: "回放 · {time}",
81
+ replayHint: "点击一根 K 线开始回放",
82
+ buyLimit: "限价买入 {price}",
83
+ sellLimit: "限价卖出 {price}"
84
+ },
85
+ ja: {
86
+ open: "始",
87
+ high: "高",
88
+ low: "安",
89
+ close: "終",
90
+ change: "騰落率",
91
+ volume: "出来高",
92
+ limit: "指値",
93
+ position: "建玉",
94
+ takeProfit: "利確",
95
+ stopLoss: "損切",
96
+ alert: "アラート",
97
+ scrollToRealtime: "最新の足へ移動",
98
+ toggleIndicator: "{name} の表示を切り替え",
99
+ bars: "{count} 本",
100
+ days: "{count}日",
101
+ hours: "{count}時間",
102
+ minutes: "{count}分",
103
+ chart: "{symbol} 価格チャート",
104
+ announcement: "{time}:始値 {open}、高値 {high}、安値 {low}、終値 {close}",
105
+ ichimoku: "一目均衡表",
106
+ supertrend: "スーパートレンド",
107
+ text: "テキスト",
108
+ color: "色",
109
+ lineWidth: "線の太さ",
110
+ lineStyle: "線の種類",
111
+ fill: "塗りつぶし",
112
+ editText: "テキストを編集",
113
+ lock: "ロック",
114
+ remove: "削除",
115
+ target: "利確 {price}({change})",
116
+ stop: "損切 {price}({change})",
117
+ riskReward: "リスクリワード {ratio}",
118
+ profit: "損益 {value}",
119
+ long: "ロング",
120
+ short: "ショート",
121
+ replay: "リプレイ · {time}",
122
+ replayHint: "足をクリックしてリプレイを開始",
123
+ buyLimit: "指値買い {price}",
124
+ sellLimit: "指値売り {price}"
125
+ },
126
+ fr: {
127
+ open: "O",
128
+ high: "H",
129
+ low: "B",
130
+ close: "C",
131
+ change: "Var.",
132
+ volume: "Vol",
133
+ limit: "Limite",
134
+ position: "Position",
135
+ takeProfit: "TP",
136
+ stopLoss: "SL",
137
+ alert: "Alerte",
138
+ scrollToRealtime: "Revenir à la dernière bougie",
139
+ toggleIndicator: "Afficher ou masquer {name}",
140
+ bars: "{count} barres",
141
+ days: "{count} j",
142
+ hours: "{count} h",
143
+ minutes: "{count} min",
144
+ chart: "Graphique de cours {symbol}",
145
+ announcement: "{time} : ouverture {open}, plus haut {high}, plus bas {low}, clôture {close}",
146
+ ichimoku: "Ichimoku",
147
+ supertrend: "SuperTrend",
148
+ text: "Texte",
149
+ color: "Couleur",
150
+ lineWidth: "Épaisseur",
151
+ lineStyle: "Style de trait",
152
+ fill: "Remplissage",
153
+ editText: "Modifier le texte",
154
+ lock: "Verrouiller",
155
+ remove: "Supprimer",
156
+ target: "Objectif {price} ({change})",
157
+ stop: "Stop {price} ({change})",
158
+ riskReward: "R/R {ratio}",
159
+ profit: "P&L {value}",
160
+ long: "Achat",
161
+ short: "Vente",
162
+ replay: "Relecture · {time}",
163
+ replayHint: "Cliquez sur une barre pour lancer la relecture",
164
+ buyLimit: "Achat limite {price}",
165
+ sellLimit: "Vente limite {price}"
166
+ }
167
+ }, t = (e, t) => e.replace(/\{(\w+)\}/g, (e, n) => n in t ? String(t[n]) : e);
168
+ //#endregion
169
+ export { e as TRADING_LABELS, t as fill };
170
+
171
+ //# 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 ichimoku: \"Ichimoku\",\n supertrend: \"SuperTrend\",\n text: \"Text\",\n color: \"Color\",\n lineWidth: \"Line width\",\n lineStyle: \"Line style\",\n fill: \"Fill\",\n editText: \"Edit text\",\n lock: \"Lock\",\n remove: \"Delete\",\n target: \"Target {price} ({change})\",\n stop: \"Stop {price} ({change})\",\n riskReward: \"R:R {ratio}\",\n profit: \"P&L {value}\",\n long: \"Long\",\n short: \"Short\",\n replay: \"Replay · {time}\",\n replayHint: \"Click a bar to start the replay\",\n buyLimit: \"Buy limit {price}\",\n sellLimit: \"Sell limit {price}\",\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 ichimoku: \"一目均衡表\",\n supertrend: \"超级趋势\",\n text: \"文本\",\n color: \"颜色\",\n lineWidth: \"线宽\",\n lineStyle: \"线型\",\n fill: \"填充\",\n editText: \"编辑文本\",\n lock: \"锁定\",\n remove: \"删除\",\n target: \"止盈 {price}({change})\",\n stop: \"止损 {price}({change})\",\n riskReward: \"盈亏比 {ratio}\",\n profit: \"盈亏 {value}\",\n long: \"做多\",\n short: \"做空\",\n replay: \"回放 · {time}\",\n replayHint: \"点击一根 K 线开始回放\",\n buyLimit: \"限价买入 {price}\",\n sellLimit: \"限价卖出 {price}\",\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 ichimoku: \"一目均衡表\",\n supertrend: \"スーパートレンド\",\n text: \"テキスト\",\n color: \"色\",\n lineWidth: \"線の太さ\",\n lineStyle: \"線の種類\",\n fill: \"塗りつぶし\",\n editText: \"テキストを編集\",\n lock: \"ロック\",\n remove: \"削除\",\n target: \"利確 {price}({change})\",\n stop: \"損切 {price}({change})\",\n riskReward: \"リスクリワード {ratio}\",\n profit: \"損益 {value}\",\n long: \"ロング\",\n short: \"ショート\",\n replay: \"リプレイ · {time}\",\n replayHint: \"足をクリックしてリプレイを開始\",\n buyLimit: \"指値買い {price}\",\n sellLimit: \"指値売り {price}\",\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 ichimoku: \"Ichimoku\",\n supertrend: \"SuperTrend\",\n text: \"Texte\",\n color: \"Couleur\",\n lineWidth: \"Épaisseur\",\n lineStyle: \"Style de trait\",\n fill: \"Remplissage\",\n editText: \"Modifier le texte\",\n lock: \"Verrouiller\",\n remove: \"Supprimer\",\n target: \"Objectif {price} ({change})\",\n stop: \"Stop {price} ({change})\",\n riskReward: \"R/R {ratio}\",\n profit: \"P&L {value}\",\n long: \"Achat\",\n short: \"Vente\",\n replay: \"Relecture · {time}\",\n replayHint: \"Cliquez sur une barre pour lancer la relecture\",\n buyLimit: \"Achat limite {price}\",\n sellLimit: \"Vente limite {price}\",\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;EACd,UAAU;EACV,YAAY;EACZ,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,MAAM;EACN,UAAU;EACV,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,QAAQ;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;CACb;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;EACd,UAAU;EACV,YAAY;EACZ,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,MAAM;EACN,UAAU;EACV,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,QAAQ;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;CACb;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;EACd,UAAU;EACV,YAAY;EACZ,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,MAAM;EACN,UAAU;EACV,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,QAAQ;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;CACb;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;EACF,UAAU;EACV,YAAY;EACZ,MAAM;EACN,OAAO;EACP,WAAW;EACX,WAAW;EACX,MAAM;EACN,UAAU;EACV,MAAM;EACN,QAAQ;EACR,QAAQ;EACR,MAAM;EACN,YAAY;EACZ,QAAQ;EACR,MAAM;EACN,OAAO;EACP,QAAQ;EACR,YAAY;EACZ,UAAU;EACV,WAAW;CACb;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":"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"}
@@ -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
+ };