minerva-design 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1226) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +10 -2
  8. package/dist/charts/canvas.d.ts +10 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +9 -3
  11. package/dist/charts/core.d.ts +9 -3
  12. package/dist/charts/core.js +19 -6
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +161 -99
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -2
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +390 -349
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +17 -0
  32. package/dist/charts/engine/color.d.ts +17 -0
  33. package/dist/charts/engine/color.js +27 -3
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +17 -2
  38. package/dist/charts/engine/controller.d.ts +17 -2
  39. package/dist/charts/engine/controller.js +404 -280
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/curve.cjs +2 -0
  42. package/dist/charts/engine/curve.cjs.map +1 -0
  43. package/dist/charts/engine/curve.d.cts +15 -0
  44. package/dist/charts/engine/curve.d.ts +15 -0
  45. package/dist/charts/engine/curve.js +56 -0
  46. package/dist/charts/engine/curve.js.map +1 -0
  47. package/dist/charts/engine/data.cjs +1 -1
  48. package/dist/charts/engine/data.cjs.map +1 -1
  49. package/dist/charts/engine/data.d.cts +21 -2
  50. package/dist/charts/engine/data.d.ts +21 -2
  51. package/dist/charts/engine/data.js +117 -43
  52. package/dist/charts/engine/data.js.map +1 -1
  53. package/dist/charts/engine/dom.cjs +1 -1
  54. package/dist/charts/engine/dom.cjs.map +1 -1
  55. package/dist/charts/engine/dom.d.cts +5 -3
  56. package/dist/charts/engine/dom.d.ts +5 -3
  57. package/dist/charts/engine/dom.js +27 -22
  58. package/dist/charts/engine/dom.js.map +1 -1
  59. package/dist/charts/engine/format.cjs +1 -1
  60. package/dist/charts/engine/format.cjs.map +1 -1
  61. package/dist/charts/engine/format.d.cts +21 -6
  62. package/dist/charts/engine/format.d.ts +21 -6
  63. package/dist/charts/engine/format.js +46 -21
  64. package/dist/charts/engine/format.js.map +1 -1
  65. package/dist/charts/engine/items.cjs +1 -1
  66. package/dist/charts/engine/items.cjs.map +1 -1
  67. package/dist/charts/engine/items.js +290 -62
  68. package/dist/charts/engine/items.js.map +1 -1
  69. package/dist/charts/engine/labels.cjs +2 -0
  70. package/dist/charts/engine/labels.cjs.map +1 -0
  71. package/dist/charts/engine/labels.d.cts +13 -0
  72. package/dist/charts/engine/labels.d.ts +13 -0
  73. package/dist/charts/engine/labels.js +74 -0
  74. package/dist/charts/engine/labels.js.map +1 -0
  75. package/dist/charts/engine/layout.cjs +1 -1
  76. package/dist/charts/engine/layout.cjs.map +1 -1
  77. package/dist/charts/engine/layout.d.cts +34 -2
  78. package/dist/charts/engine/layout.d.ts +34 -2
  79. package/dist/charts/engine/layout.js +53 -12
  80. package/dist/charts/engine/layout.js.map +1 -1
  81. package/dist/charts/engine/locale.cjs +2 -0
  82. package/dist/charts/engine/locale.cjs.map +1 -0
  83. package/dist/charts/engine/locale.d.cts +33 -0
  84. package/dist/charts/engine/locale.d.ts +33 -0
  85. package/dist/charts/engine/locale.js +68 -0
  86. package/dist/charts/engine/locale.js.map +1 -0
  87. package/dist/charts/engine/model.cjs +1 -1
  88. package/dist/charts/engine/model.cjs.map +1 -1
  89. package/dist/charts/engine/model.d.cts +68 -3
  90. package/dist/charts/engine/model.d.ts +68 -3
  91. package/dist/charts/engine/model.js +332 -108
  92. package/dist/charts/engine/model.js.map +1 -1
  93. package/dist/charts/engine/orderbook/book.cjs +2 -0
  94. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  95. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  96. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  97. package/dist/charts/engine/orderbook/book.js +134 -0
  98. package/dist/charts/engine/orderbook/book.js.map +1 -0
  99. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  100. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  101. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  102. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  103. package/dist/charts/engine/orderbook/depth.js +413 -0
  104. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  105. package/dist/charts/engine/orderbook/format.cjs +2 -0
  106. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  107. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  108. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  109. package/dist/charts/engine/orderbook/format.js +65 -0
  110. package/dist/charts/engine/orderbook/format.js.map +1 -0
  111. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  112. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  113. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  114. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  115. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  116. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  117. package/dist/charts/engine/orderbook/host.cjs +2 -0
  118. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  119. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  120. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  121. package/dist/charts/engine/orderbook/host.js +161 -0
  122. package/dist/charts/engine/orderbook/host.js.map +1 -0
  123. package/dist/charts/engine/orderbook/index.cjs +1 -0
  124. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  125. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  126. package/dist/charts/engine/orderbook/index.js +6 -0
  127. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  128. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  129. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  130. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  131. package/dist/charts/engine/orderbook/ladder.js +341 -0
  132. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  133. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  134. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  135. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  136. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  137. package/dist/charts/engine/orderbook/tape.js +450 -0
  138. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  139. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  140. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  141. package/dist/charts/engine/overlay.cjs +1 -1
  142. package/dist/charts/engine/overlay.cjs.map +1 -1
  143. package/dist/charts/engine/overlay.d.cts +18 -0
  144. package/dist/charts/engine/overlay.d.ts +18 -0
  145. package/dist/charts/engine/overlay.js +138 -102
  146. package/dist/charts/engine/overlay.js.map +1 -1
  147. package/dist/charts/engine/presets.cjs +2 -2
  148. package/dist/charts/engine/presets.cjs.map +1 -1
  149. package/dist/charts/engine/presets.d.cts +319 -5
  150. package/dist/charts/engine/presets.d.ts +319 -5
  151. package/dist/charts/engine/presets.js +463 -38
  152. package/dist/charts/engine/presets.js.map +1 -1
  153. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  154. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  155. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  156. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  157. package/dist/charts/engine/renderers/detect.cjs +1 -1
  158. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  159. package/dist/charts/engine/renderers/detect.js +18 -15
  160. package/dist/charts/engine/renderers/detect.js.map +1 -1
  161. package/dist/charts/engine/renderers/gl.cjs +2 -0
  162. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  163. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  164. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  165. package/dist/charts/engine/renderers/gl.js +56 -0
  166. package/dist/charts/engine/renderers/gl.js.map +1 -0
  167. package/dist/charts/engine/renderers/range.cjs +1 -1
  168. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  169. package/dist/charts/engine/renderers/range.js +4 -4
  170. package/dist/charts/engine/renderers/range.js.map +1 -1
  171. package/dist/charts/engine/renderers/shaders.cjs +180 -20
  172. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  173. package/dist/charts/engine/renderers/shaders.d.cts +18 -2
  174. package/dist/charts/engine/renderers/shaders.d.ts +18 -2
  175. package/dist/charts/engine/renderers/shaders.js +176 -20
  176. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  177. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  178. package/dist/charts/engine/renderers/types.d.cts +11 -4
  179. package/dist/charts/engine/renderers/types.d.ts +11 -4
  180. package/dist/charts/engine/renderers/types.js.map +1 -1
  181. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  182. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  183. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  184. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  185. package/dist/charts/engine/renderers/webgl.js +133 -0
  186. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  187. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  188. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  189. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  190. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  191. package/dist/charts/engine/renderers/webgl2.js +62 -90
  192. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  193. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  194. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  195. package/dist/charts/engine/renderers/webgpu.js +18 -15
  196. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  197. package/dist/charts/engine/scale.cjs +1 -1
  198. package/dist/charts/engine/scale.cjs.map +1 -1
  199. package/dist/charts/engine/scale.js +1 -1
  200. package/dist/charts/engine/scale.js.map +1 -1
  201. package/dist/charts/engine/scene.cjs +1 -1
  202. package/dist/charts/engine/scene.cjs.map +1 -1
  203. package/dist/charts/engine/scene.d.cts +32 -9
  204. package/dist/charts/engine/scene.d.ts +32 -9
  205. package/dist/charts/engine/scene.js +363 -122
  206. package/dist/charts/engine/scene.js.map +1 -1
  207. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  208. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  209. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  210. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  211. package/dist/charts/engine/shapes/bullet.js +255 -0
  212. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  213. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  214. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  215. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  216. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  217. package/dist/charts/engine/shapes/calendar.js +369 -0
  218. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  219. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  220. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  221. package/dist/charts/engine/shapes/canvas.d.cts +65 -0
  222. package/dist/charts/engine/shapes/canvas.d.ts +65 -0
  223. package/dist/charts/engine/shapes/canvas.js +168 -0
  224. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  225. package/dist/charts/engine/shapes/chart.cjs +2 -0
  226. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  227. package/dist/charts/engine/shapes/chart.d.cts +7 -0
  228. package/dist/charts/engine/shapes/chart.d.ts +7 -0
  229. package/dist/charts/engine/shapes/chart.js +292 -0
  230. package/dist/charts/engine/shapes/chart.js.map +1 -0
  231. package/dist/charts/engine/shapes/draw.cjs +2 -0
  232. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  233. package/dist/charts/engine/shapes/draw.d.cts +22 -0
  234. package/dist/charts/engine/shapes/draw.d.ts +22 -0
  235. package/dist/charts/engine/shapes/draw.js +165 -0
  236. package/dist/charts/engine/shapes/draw.js.map +1 -0
  237. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  238. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  239. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  240. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  241. package/dist/charts/engine/shapes/funnel.js +149 -0
  242. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  243. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  244. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  245. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  246. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  247. package/dist/charts/engine/shapes/gauge.js +210 -0
  248. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  249. package/dist/charts/engine/shapes/hit.cjs +2 -0
  250. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  251. package/dist/charts/engine/shapes/hit.d.cts +30 -0
  252. package/dist/charts/engine/shapes/hit.d.ts +30 -0
  253. package/dist/charts/engine/shapes/hit.js +145 -0
  254. package/dist/charts/engine/shapes/hit.js.map +1 -0
  255. package/dist/charts/engine/shapes/index.d.cts +12 -0
  256. package/dist/charts/engine/shapes/index.d.ts +12 -0
  257. package/dist/charts/engine/shapes/labels.cjs +2 -0
  258. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  260. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  261. package/dist/charts/engine/shapes/labels.js +146 -0
  262. package/dist/charts/engine/shapes/labels.js.map +1 -0
  263. package/dist/charts/engine/shapes/layout.cjs +3 -0
  264. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/layout.d.cts +93 -0
  266. package/dist/charts/engine/shapes/layout.d.ts +93 -0
  267. package/dist/charts/engine/shapes/layout.js +353 -0
  268. package/dist/charts/engine/shapes/layout.js.map +1 -0
  269. package/dist/charts/engine/shapes/pie.cjs +2 -0
  270. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  272. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  273. package/dist/charts/engine/shapes/pie.js +302 -0
  274. package/dist/charts/engine/shapes/pie.js.map +1 -0
  275. package/dist/charts/engine/shapes/radar.cjs +2 -0
  276. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  277. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  278. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  279. package/dist/charts/engine/shapes/radar.js +198 -0
  280. package/dist/charts/engine/shapes/radar.js.map +1 -0
  281. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  282. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  283. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  284. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  285. package/dist/charts/engine/shapes/radialBar.js +155 -0
  286. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  287. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  288. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  289. package/dist/charts/engine/shapes/runtime.d.cts +36 -0
  290. package/dist/charts/engine/shapes/runtime.d.ts +36 -0
  291. package/dist/charts/engine/shapes/runtime.js +107 -0
  292. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  293. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  294. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  295. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  296. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  297. package/dist/charts/engine/shapes/sankey.js +372 -0
  298. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  299. package/dist/charts/engine/shapes/scene.cjs +2 -0
  300. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  301. package/dist/charts/engine/shapes/scene.d.cts +311 -0
  302. package/dist/charts/engine/shapes/scene.d.ts +311 -0
  303. package/dist/charts/engine/shapes/scene.js +125 -0
  304. package/dist/charts/engine/shapes/scene.js.map +1 -0
  305. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  306. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  307. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  308. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  309. package/dist/charts/engine/shapes/sunburst.js +261 -0
  310. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  311. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  312. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  313. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  314. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  315. package/dist/charts/engine/shapes/treemap.js +213 -0
  316. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  317. package/dist/charts/engine/shapes/types.d.cts +719 -0
  318. package/dist/charts/engine/shapes/types.d.ts +719 -0
  319. package/dist/charts/engine/signature.cjs +2 -0
  320. package/dist/charts/engine/signature.cjs.map +1 -0
  321. package/dist/charts/engine/signature.d.cts +9 -0
  322. package/dist/charts/engine/signature.d.ts +9 -0
  323. package/dist/charts/engine/signature.js +13 -0
  324. package/dist/charts/engine/signature.js.map +1 -0
  325. package/dist/charts/engine/theme.cjs +1 -1
  326. package/dist/charts/engine/theme.cjs.map +1 -1
  327. package/dist/charts/engine/theme.d.cts +10 -1
  328. package/dist/charts/engine/theme.d.ts +10 -1
  329. package/dist/charts/engine/theme.js +40 -16
  330. package/dist/charts/engine/theme.js.map +1 -1
  331. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  332. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  333. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  334. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  335. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  336. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  337. package/dist/charts/engine/three-d/chart.cjs +2 -0
  338. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  339. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  340. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  341. package/dist/charts/engine/three-d/chart.js +621 -0
  342. package/dist/charts/engine/three-d/chart.js.map +1 -0
  343. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  344. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  345. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  346. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  347. package/dist/charts/engine/three-d/colormap.js +166 -0
  348. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  349. package/dist/charts/engine/three-d/contours.cjs +2 -0
  350. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  351. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  352. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  353. package/dist/charts/engine/three-d/contours.js +47 -0
  354. package/dist/charts/engine/three-d/contours.js.map +1 -0
  355. package/dist/charts/engine/three-d/detect.cjs +2 -0
  356. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  357. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  358. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  359. package/dist/charts/engine/three-d/detect.js +35 -0
  360. package/dist/charts/engine/three-d/detect.js.map +1 -0
  361. package/dist/charts/engine/three-d/dom.cjs +2 -0
  362. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  363. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  364. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  365. package/dist/charts/engine/three-d/dom.js +98 -0
  366. package/dist/charts/engine/three-d/dom.js.map +1 -0
  367. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  368. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  369. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  370. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  371. package/dist/charts/engine/three-d/geometry.js +529 -0
  372. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  373. package/dist/charts/engine/three-d/hover.cjs +2 -0
  374. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  375. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  376. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  377. package/dist/charts/engine/three-d/hover.js +131 -0
  378. package/dist/charts/engine/three-d/hover.js.map +1 -0
  379. package/dist/charts/engine/three-d/index.cjs +1 -0
  380. package/dist/charts/engine/three-d/index.d.cts +2 -0
  381. package/dist/charts/engine/three-d/index.d.ts +2 -0
  382. package/dist/charts/engine/three-d/index.js +2 -0
  383. package/dist/charts/engine/three-d/labels.cjs +2 -0
  384. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  386. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  387. package/dist/charts/engine/three-d/labels.js +136 -0
  388. package/dist/charts/engine/three-d/labels.js.map +1 -0
  389. package/dist/charts/engine/three-d/math.cjs +2 -0
  390. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/math.d.cts +84 -0
  392. package/dist/charts/engine/three-d/math.d.ts +84 -0
  393. package/dist/charts/engine/three-d/math.js +150 -0
  394. package/dist/charts/engine/three-d/math.js.map +1 -0
  395. package/dist/charts/engine/three-d/model.cjs +2 -0
  396. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  397. package/dist/charts/engine/three-d/model.d.cts +130 -0
  398. package/dist/charts/engine/three-d/model.d.ts +130 -0
  399. package/dist/charts/engine/three-d/model.js +277 -0
  400. package/dist/charts/engine/three-d/model.js.map +1 -0
  401. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  402. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  403. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  404. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  405. package/dist/charts/engine/three-d/overlay.js +197 -0
  406. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  407. package/dist/charts/engine/three-d/pick.cjs +2 -0
  408. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  409. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  410. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  411. package/dist/charts/engine/three-d/pick.js +220 -0
  412. package/dist/charts/engine/three-d/pick.js.map +1 -0
  413. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  414. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  415. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  416. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  417. package/dist/charts/engine/three-d/render-types.js +13 -0
  418. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  419. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  420. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  421. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  422. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  423. package/dist/charts/engine/three-d/shaders.js +191 -0
  424. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  425. package/dist/charts/engine/three-d/sort.cjs +2 -0
  426. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  427. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  428. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  429. package/dist/charts/engine/three-d/sort.js +71 -0
  430. package/dist/charts/engine/three-d/sort.js.map +1 -0
  431. package/dist/charts/engine/three-d/types.d.cts +588 -0
  432. package/dist/charts/engine/three-d/types.d.ts +588 -0
  433. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  434. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  436. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  437. package/dist/charts/engine/three-d/webgl.js +130 -0
  438. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  439. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  440. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  442. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  443. package/dist/charts/engine/three-d/webgpu.js +249 -0
  444. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  445. package/dist/charts/engine/time.cjs +1 -1
  446. package/dist/charts/engine/time.cjs.map +1 -1
  447. package/dist/charts/engine/time.d.cts +13 -4
  448. package/dist/charts/engine/time.d.ts +13 -4
  449. package/dist/charts/engine/time.js +156 -91
  450. package/dist/charts/engine/time.js.map +1 -1
  451. package/dist/charts/engine/trading/chart.cjs +2 -0
  452. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  453. package/dist/charts/engine/trading/chart.d.cts +3 -0
  454. package/dist/charts/engine/trading/chart.d.ts +3 -0
  455. package/dist/charts/engine/trading/chart.js +1507 -0
  456. package/dist/charts/engine/trading/chart.js.map +1 -0
  457. package/dist/charts/engine/trading/drawings.cjs +2 -0
  458. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  459. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  460. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  461. package/dist/charts/engine/trading/drawings.js +160 -0
  462. package/dist/charts/engine/trading/drawings.js.map +1 -0
  463. package/dist/charts/engine/trading/format.cjs +2 -0
  464. package/dist/charts/engine/trading/format.cjs.map +1 -0
  465. package/dist/charts/engine/trading/format.d.cts +60 -0
  466. package/dist/charts/engine/trading/format.d.ts +60 -0
  467. package/dist/charts/engine/trading/format.js +131 -0
  468. package/dist/charts/engine/trading/format.js.map +1 -0
  469. package/dist/charts/engine/trading/geometry.cjs +2 -0
  470. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  471. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  472. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  473. package/dist/charts/engine/trading/geometry.js +131 -0
  474. package/dist/charts/engine/trading/geometry.js.map +1 -0
  475. package/dist/charts/engine/trading/index.cjs +1 -0
  476. package/dist/charts/engine/trading/index.d.cts +3 -0
  477. package/dist/charts/engine/trading/index.d.ts +3 -0
  478. package/dist/charts/engine/trading/index.js +3 -0
  479. package/dist/charts/engine/trading/indicators.cjs +2 -0
  480. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  481. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  482. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  483. package/dist/charts/engine/trading/indicators.js +268 -0
  484. package/dist/charts/engine/trading/indicators.js.map +1 -0
  485. package/dist/charts/engine/trading/labels.cjs +2 -0
  486. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  487. package/dist/charts/engine/trading/labels.d.cts +7 -0
  488. package/dist/charts/engine/trading/labels.d.ts +7 -0
  489. package/dist/charts/engine/trading/labels.js +91 -0
  490. package/dist/charts/engine/trading/labels.js.map +1 -0
  491. package/dist/charts/engine/trading/scale.cjs +2 -0
  492. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  493. package/dist/charts/engine/trading/scale.d.cts +46 -0
  494. package/dist/charts/engine/trading/scale.d.ts +46 -0
  495. package/dist/charts/engine/trading/scale.js +100 -0
  496. package/dist/charts/engine/trading/scale.js.map +1 -0
  497. package/dist/charts/engine/trading/store.cjs +2 -0
  498. package/dist/charts/engine/trading/store.cjs.map +1 -0
  499. package/dist/charts/engine/trading/store.d.cts +62 -0
  500. package/dist/charts/engine/trading/store.d.ts +62 -0
  501. package/dist/charts/engine/trading/store.js +129 -0
  502. package/dist/charts/engine/trading/store.js.map +1 -0
  503. package/dist/charts/engine/trading/studies.cjs +2 -0
  504. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  505. package/dist/charts/engine/trading/studies.d.cts +52 -0
  506. package/dist/charts/engine/trading/studies.d.ts +52 -0
  507. package/dist/charts/engine/trading/studies.js +254 -0
  508. package/dist/charts/engine/trading/studies.js.map +1 -0
  509. package/dist/charts/engine/trading/types.d.cts +656 -0
  510. package/dist/charts/engine/trading/types.d.ts +656 -0
  511. package/dist/charts/engine/types.d.cts +227 -15
  512. package/dist/charts/engine/types.d.ts +227 -15
  513. package/dist/charts/index.cjs +1 -1
  514. package/dist/charts/index.d.cts +7 -2
  515. package/dist/charts/index.d.ts +7 -2
  516. package/dist/charts/index.js +22 -8
  517. package/dist/charts/react/Chart.cjs +1 -1
  518. package/dist/charts/react/Chart.cjs.map +1 -1
  519. package/dist/charts/react/Chart.d.cts +11 -4
  520. package/dist/charts/react/Chart.d.ts +11 -4
  521. package/dist/charts/react/Chart.js +70 -47
  522. package/dist/charts/react/Chart.js.map +1 -1
  523. package/dist/charts/react/charts.cjs +1 -1
  524. package/dist/charts/react/charts.cjs.map +1 -1
  525. package/dist/charts/react/charts.d.cts +48 -2
  526. package/dist/charts/react/charts.d.ts +48 -2
  527. package/dist/charts/react/charts.js +371 -76
  528. package/dist/charts/react/charts.js.map +1 -1
  529. package/dist/charts/react/orderbook.cjs +2 -0
  530. package/dist/charts/react/orderbook.cjs.map +1 -0
  531. package/dist/charts/react/orderbook.d.cts +142 -0
  532. package/dist/charts/react/orderbook.d.ts +142 -0
  533. package/dist/charts/react/orderbook.js +182 -0
  534. package/dist/charts/react/orderbook.js.map +1 -0
  535. package/dist/charts/react/shapes.cjs +2 -0
  536. package/dist/charts/react/shapes.cjs.map +1 -0
  537. package/dist/charts/react/shapes.d.cts +537 -0
  538. package/dist/charts/react/shapes.d.ts +537 -0
  539. package/dist/charts/react/shapes.js +429 -0
  540. package/dist/charts/react/shapes.js.map +1 -0
  541. package/dist/charts/react/three-d.cjs +2 -0
  542. package/dist/charts/react/three-d.cjs.map +1 -0
  543. package/dist/charts/react/three-d.d.cts +151 -0
  544. package/dist/charts/react/three-d.d.ts +151 -0
  545. package/dist/charts/react/three-d.js +154 -0
  546. package/dist/charts/react/three-d.js.map +1 -0
  547. package/dist/charts/react/trading.cjs +2 -0
  548. package/dist/charts/react/trading.cjs.map +1 -0
  549. package/dist/charts/react/trading.d.cts +93 -0
  550. package/dist/charts/react/trading.d.ts +93 -0
  551. package/dist/charts/react/trading.js +95 -0
  552. package/dist/charts/react/trading.js.map +1 -0
  553. package/dist/charts/react/types.d.cts +200 -7
  554. package/dist/charts/react/types.d.ts +200 -7
  555. package/dist/core/contracts.cjs +1 -1
  556. package/dist/core/contracts.cjs.map +1 -1
  557. package/dist/core/contracts.js +1 -1
  558. package/dist/core/contracts.js.map +1 -1
  559. package/dist/native/charts/src/canvas.cjs +1 -1
  560. package/dist/native/charts/src/canvas.js +9 -3
  561. package/dist/native/charts/src/engine/axis.cjs +1 -1
  562. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  563. package/dist/native/charts/src/engine/axis.js +6 -6
  564. package/dist/native/charts/src/engine/axis.js.map +1 -1
  565. package/dist/native/charts/src/engine/color.cjs +1 -1
  566. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  567. package/dist/native/charts/src/engine/color.js +12 -3
  568. package/dist/native/charts/src/engine/color.js.map +1 -1
  569. package/dist/native/charts/src/engine/controller.cjs +2 -2
  570. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  571. package/dist/native/charts/src/engine/controller.js +418 -294
  572. package/dist/native/charts/src/engine/controller.js.map +1 -1
  573. package/dist/native/charts/src/engine/curve.cjs +2 -0
  574. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  575. package/dist/native/charts/src/engine/curve.js +56 -0
  576. package/dist/native/charts/src/engine/curve.js.map +1 -0
  577. package/dist/native/charts/src/engine/data.cjs +1 -1
  578. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  579. package/dist/native/charts/src/engine/data.js +117 -43
  580. package/dist/native/charts/src/engine/data.js.map +1 -1
  581. package/dist/native/charts/src/engine/format.cjs +1 -1
  582. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  583. package/dist/native/charts/src/engine/format.js +46 -21
  584. package/dist/native/charts/src/engine/format.js.map +1 -1
  585. package/dist/native/charts/src/engine/labels.cjs +2 -0
  586. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  587. package/dist/native/charts/src/engine/labels.js +74 -0
  588. package/dist/native/charts/src/engine/labels.js.map +1 -0
  589. package/dist/native/charts/src/engine/layout.cjs +1 -1
  590. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  591. package/dist/native/charts/src/engine/layout.js +53 -12
  592. package/dist/native/charts/src/engine/layout.js.map +1 -1
  593. package/dist/native/charts/src/engine/locale.cjs +2 -0
  594. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  595. package/dist/native/charts/src/engine/locale.js +60 -0
  596. package/dist/native/charts/src/engine/locale.js.map +1 -0
  597. package/dist/native/charts/src/engine/model.cjs +1 -1
  598. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  599. package/dist/native/charts/src/engine/model.js +335 -111
  600. package/dist/native/charts/src/engine/model.js.map +1 -1
  601. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  602. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  603. package/dist/native/charts/src/engine/overlay.js +54 -31
  604. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  605. package/dist/native/charts/src/engine/presets.cjs +2 -2
  606. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  607. package/dist/native/charts/src/engine/presets.js +456 -34
  608. package/dist/native/charts/src/engine/presets.js.map +1 -1
  609. package/dist/native/charts/src/engine/scale.cjs +1 -1
  610. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  611. package/dist/native/charts/src/engine/scale.js +1 -1
  612. package/dist/native/charts/src/engine/scale.js.map +1 -1
  613. package/dist/native/charts/src/engine/scene.cjs +1 -1
  614. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  615. package/dist/native/charts/src/engine/scene.js +369 -128
  616. package/dist/native/charts/src/engine/scene.js.map +1 -1
  617. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  618. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  620. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  622. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  624. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  626. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  627. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  628. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  629. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  630. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  631. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  632. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  633. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  634. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  635. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  636. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  637. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  638. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  639. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  640. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  641. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  642. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  643. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  644. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  645. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  646. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  647. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  648. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  649. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  650. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  651. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  652. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  653. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  654. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  655. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  656. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  657. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  658. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  659. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  660. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  661. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  662. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  663. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  664. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  665. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  666. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  667. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  668. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  669. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  670. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  671. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  672. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  673. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  674. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  675. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  676. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  678. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  680. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  682. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  684. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  685. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  686. package/dist/native/charts/src/engine/theme.js.map +1 -1
  687. package/dist/native/charts/src/engine/time.cjs +1 -1
  688. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  689. package/dist/native/charts/src/engine/time.js +156 -91
  690. package/dist/native/charts/src/engine/time.js.map +1 -1
  691. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  692. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  693. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  694. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  695. package/dist/native/components/Chart/ChartBase.js +110 -107
  696. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  697. package/dist/native/components/Chart/charts.cjs +1 -1
  698. package/dist/native/components/Chart/charts.cjs.map +1 -1
  699. package/dist/native/components/Chart/charts.d.cts +6 -1
  700. package/dist/native/components/Chart/charts.d.ts +6 -1
  701. package/dist/native/components/Chart/charts.js +53 -29
  702. package/dist/native/components/Chart/charts.js.map +1 -1
  703. package/dist/native/components/Chart/index.cjs +1 -1
  704. package/dist/native/components/Chart/index.d.cts +1 -1
  705. package/dist/native/components/Chart/index.d.ts +1 -1
  706. package/dist/native/components/Chart/index.js +2 -2
  707. package/dist/native/components/Chart/scene.cjs +1 -1
  708. package/dist/native/components/Chart/scene.cjs.map +1 -1
  709. package/dist/native/components/Chart/scene.js +244 -215
  710. package/dist/native/components/Chart/scene.js.map +1 -1
  711. package/dist/native/components/Chart/types.d.cts +26 -3
  712. package/dist/native/components/Chart/types.d.ts +26 -3
  713. package/dist/native/components/Charts/charts.cjs +2 -0
  714. package/dist/native/components/Charts/charts.cjs.map +1 -0
  715. package/dist/native/components/Charts/charts.d.cts +41 -0
  716. package/dist/native/components/Charts/charts.d.ts +41 -0
  717. package/dist/native/components/Charts/charts.js +338 -0
  718. package/dist/native/components/Charts/charts.js.map +1 -0
  719. package/dist/native/components/Charts/index.cjs +1 -0
  720. package/dist/native/components/Charts/index.d.cts +2 -0
  721. package/dist/native/components/Charts/index.d.ts +2 -0
  722. package/dist/native/components/Charts/index.js +2 -0
  723. package/dist/native/components/Charts/types.d.cts +144 -0
  724. package/dist/native/components/Charts/types.d.ts +144 -0
  725. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  726. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  727. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  728. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  729. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  730. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  731. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  732. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  733. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  734. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  735. package/dist/native/components/ShapeChart/charts.js +387 -0
  736. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  737. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  738. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  739. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  740. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  741. package/dist/native/components/ShapeChart/draw.js +104 -0
  742. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  743. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  744. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  745. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  746. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  747. package/dist/native/components/ShapeChart/geometry.js +602 -0
  748. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  749. package/dist/native/components/ShapeChart/index.cjs +1 -0
  750. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  751. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  752. package/dist/native/components/ShapeChart/index.js +2 -0
  753. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  754. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  755. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  756. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  757. package/dist/native/components/ShapeChart/recorder.js +574 -0
  758. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  759. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  760. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  761. package/dist/native/index.cjs +1 -1
  762. package/dist/native/index.d.cts +2 -0
  763. package/dist/native/index.d.ts +2 -0
  764. package/dist/native/index.js +14 -10
  765. package/dist/native/manifest.d.cts +6 -4
  766. package/dist/native/manifest.d.ts +6 -4
  767. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  768. package/dist/native/source/components/Chart/charts.tsx +42 -6
  769. package/dist/native/source/components/Chart/index.ts +1 -0
  770. package/dist/native/source/components/Chart/scene.tsx +204 -100
  771. package/dist/native/source/components/Chart/types.ts +31 -1
  772. package/dist/native/source/components/Charts/charts.tsx +493 -0
  773. package/dist/native/source/components/Charts/index.ts +14 -0
  774. package/dist/native/source/components/Charts/types.ts +207 -0
  775. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  776. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  777. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  778. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  779. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  780. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  781. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  782. package/dist/native/source/index.ts +2 -0
  783. package/dist/native/source/manifest.ts +30 -4
  784. package/dist/taro/charts.d.ts +209 -4
  785. package/dist/taro/index.d.ts +1 -0
  786. package/dist/taro/index.js +8032 -1891
  787. package/dist/taro/manifest.d.ts +1 -0
  788. package/dist/taro/shape-charts.d.ts +537 -0
  789. package/dist/uni/AreaChart.vue +68 -0
  790. package/dist/uni/AreaChart.vue.d.ts +120 -0
  791. package/dist/uni/Badge.vue.d.ts +1 -1
  792. package/dist/uni/BoxPlotChart.vue +66 -0
  793. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  794. package/dist/uni/BubbleChart.vue +68 -0
  795. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  796. package/dist/uni/BulletChart.vue +86 -0
  797. package/dist/uni/BulletChart.vue.d.ts +110 -0
  798. package/dist/uni/CalendarHeatmap.vue +92 -0
  799. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  800. package/dist/uni/CandlestickChart.vue +66 -0
  801. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  802. package/dist/uni/DonutChart.vue +72 -0
  803. package/dist/uni/DonutChart.vue.d.ts +114 -0
  804. package/dist/uni/FunnelChart.vue +67 -0
  805. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  806. package/dist/uni/GanttChart.vue +67 -0
  807. package/dist/uni/GanttChart.vue.d.ts +123 -0
  808. package/dist/uni/GaugeChart.vue +77 -0
  809. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  810. package/dist/uni/HeatmapChart.vue +66 -0
  811. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  812. package/dist/uni/HistogramChart.vue +66 -0
  813. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  814. package/dist/uni/HorizontalBarChart.vue +68 -0
  815. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  816. package/dist/uni/Input.vue.d.ts +1 -1
  817. package/dist/uni/MixedChart.vue +68 -0
  818. package/dist/uni/MixedChart.vue.d.ts +106 -0
  819. package/dist/uni/NumberInput.vue.d.ts +1 -1
  820. package/dist/uni/PieChart.vue +72 -0
  821. package/dist/uni/PieChart.vue.d.ts +114 -0
  822. package/dist/uni/RadarChart.vue +67 -0
  823. package/dist/uni/RadarChart.vue.d.ts +110 -0
  824. package/dist/uni/RadialBarChart.vue +90 -0
  825. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  826. package/dist/uni/RangeAreaChart.vue +68 -0
  827. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  828. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  829. package/dist/uni/SankeyChart.vue +88 -0
  830. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  831. package/dist/uni/ShapeChart.vue +73 -0
  832. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  833. package/dist/uni/Sparkline.vue +58 -0
  834. package/dist/uni/Sparkline.vue.d.ts +77 -0
  835. package/dist/uni/SunburstChart.vue +90 -0
  836. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  837. package/dist/uni/Textarea.vue.d.ts +1 -1
  838. package/dist/uni/TimePicker.vue.d.ts +1 -1
  839. package/dist/uni/TreemapChart.vue +65 -0
  840. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  841. package/dist/uni/WaterfallChart.vue +66 -0
  842. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  843. package/dist/uni/chart-types.d.ts +216 -2
  844. package/dist/uni/chart-types.js +174 -0
  845. package/dist/uni/charts-canvas.js +10 -3
  846. package/dist/uni/index.d.ts +26 -1
  847. package/dist/uni/index.js +26 -1
  848. package/dist/uni/manifest.d.ts +272 -0
  849. package/dist/uni/manifest.js +387 -0
  850. package/dist/uni/named-chart-options.d.ts +88 -0
  851. package/dist/uni/named-chart-options.js +156 -0
  852. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  853. package/dist/uni/shape-chart-canvas.js +342 -0
  854. package/dist/uni/shape-chart-types.d.ts +381 -0
  855. package/dist/uni/shape-chart-types.js +261 -0
  856. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  857. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  860. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  865. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  867. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  870. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  872. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  875. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  877. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  880. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  882. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  885. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  887. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  888. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  890. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  892. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  895. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  897. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  898. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  900. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  902. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  903. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  905. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  912. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  915. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  917. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  920. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  922. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  925. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  927. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  930. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  935. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  940. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  942. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  945. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  947. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  950. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  952. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  953. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  955. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  957. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  958. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  960. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  962. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  963. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  965. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  967. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  968. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  970. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  972. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  975. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  977. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  980. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  982. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  985. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  987. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  988. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  989. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  990. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  991. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  992. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  993. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  994. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  995. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  996. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  997. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  998. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  999. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1000. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1001. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1002. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1003. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1004. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1005. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1006. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1007. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1008. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1009. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1010. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1011. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1012. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1013. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1014. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1015. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1016. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1017. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1018. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1019. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1020. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1021. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1022. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1023. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1024. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1025. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1026. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  1027. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1028. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1029. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1030. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1031. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  1032. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1033. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1034. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  1035. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1036. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1037. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1038. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1039. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1040. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1041. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  1042. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1043. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1044. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1045. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1046. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1047. package/dist/vue/components/Chart/cartesian.js +56 -0
  1048. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1049. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1050. package/dist/vue/components/Chart/engine.js +35 -0
  1051. package/dist/vue/components/Chart/engine.js.map +1 -0
  1052. package/dist/vue/components/Chart/index.d.ts +41 -0
  1053. package/dist/vue/components/Chart/index.js +40 -0
  1054. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  1055. package/dist/vue/components/Chart/orderbook.js +126 -0
  1056. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1057. package/dist/vue/components/Chart/props.d.ts +188 -0
  1058. package/dist/vue/components/Chart/props.js +92 -0
  1059. package/dist/vue/components/Chart/props.js.map +1 -0
  1060. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1061. package/dist/vue/components/Chart/shape.js +42 -0
  1062. package/dist/vue/components/Chart/shape.js.map +1 -0
  1063. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1064. package/dist/vue/components/Chart/three-d.js +88 -0
  1065. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1066. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1067. package/dist/vue/components/Chart/trading.js +55 -0
  1068. package/dist/vue/components/Chart/trading.js.map +1 -0
  1069. package/dist/vue/components/Chart/types.d.ts +137 -0
  1070. package/dist/vue/global.d.ts +38 -0
  1071. package/dist/vue/groups/charts.d.ts +1 -0
  1072. package/dist/vue/groups/charts.js +87 -0
  1073. package/dist/vue/groups/charts.js.map +1 -0
  1074. package/dist/vue/index.d.ts +1 -0
  1075. package/dist/vue/index.js +63 -23
  1076. package/dist/vue/plugin.js +12 -10
  1077. package/dist/vue/plugin.js.map +1 -1
  1078. package/dist/weapp/area-chart/index.js +1 -0
  1079. package/dist/weapp/area-chart/index.json +1 -0
  1080. package/dist/weapp/area-chart/index.wxml +1 -0
  1081. package/dist/weapp/area-chart/index.wxss +1 -0
  1082. package/dist/weapp/box-plot-chart/index.js +1 -0
  1083. package/dist/weapp/box-plot-chart/index.json +1 -0
  1084. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1085. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1086. package/dist/weapp/bubble-chart/index.js +1 -0
  1087. package/dist/weapp/bubble-chart/index.json +1 -0
  1088. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1089. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1090. package/dist/weapp/bullet-chart/index.js +1 -0
  1091. package/dist/weapp/bullet-chart/index.json +1 -0
  1092. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1093. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1094. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1095. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1096. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1097. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1098. package/dist/weapp/candlestick-chart/index.js +1 -0
  1099. package/dist/weapp/candlestick-chart/index.json +1 -0
  1100. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1101. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1102. package/dist/weapp/charts/canvas.js +11436 -0
  1103. package/dist/weapp/charts/core.d.ts +2 -0
  1104. package/dist/weapp/charts/core.js +41 -0
  1105. package/dist/weapp/controls.js +1428 -3732
  1106. package/dist/weapp/donut-chart/index.js +1 -0
  1107. package/dist/weapp/donut-chart/index.json +1 -0
  1108. package/dist/weapp/donut-chart/index.wxml +1 -0
  1109. package/dist/weapp/donut-chart/index.wxss +1 -0
  1110. package/dist/weapp/funnel-chart/index.js +1 -0
  1111. package/dist/weapp/funnel-chart/index.json +1 -0
  1112. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1113. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1114. package/dist/weapp/gantt-chart/index.js +1 -0
  1115. package/dist/weapp/gantt-chart/index.json +1 -0
  1116. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1117. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1118. package/dist/weapp/gauge-chart/index.js +1 -0
  1119. package/dist/weapp/gauge-chart/index.json +1 -0
  1120. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1121. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1122. package/dist/weapp/heatmap-chart/index.js +1 -0
  1123. package/dist/weapp/heatmap-chart/index.json +1 -0
  1124. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1125. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1126. package/dist/weapp/histogram-chart/index.js +1 -0
  1127. package/dist/weapp/histogram-chart/index.json +1 -0
  1128. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1129. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1130. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1131. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1132. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1133. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1134. package/dist/weapp/mixed-chart/index.js +1 -0
  1135. package/dist/weapp/mixed-chart/index.json +1 -0
  1136. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1137. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1138. package/dist/weapp/pie-chart/index.js +1 -0
  1139. package/dist/weapp/pie-chart/index.json +1 -0
  1140. package/dist/weapp/pie-chart/index.wxml +1 -0
  1141. package/dist/weapp/pie-chart/index.wxss +1 -0
  1142. package/dist/weapp/radar-chart/index.js +1 -0
  1143. package/dist/weapp/radar-chart/index.json +1 -0
  1144. package/dist/weapp/radar-chart/index.wxml +1 -0
  1145. package/dist/weapp/radar-chart/index.wxss +1 -0
  1146. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1147. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1148. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1149. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1150. package/dist/weapp/range-area-chart/index.js +1 -0
  1151. package/dist/weapp/range-area-chart/index.json +1 -0
  1152. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1153. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1154. package/dist/weapp/sankey-chart/index.js +1 -0
  1155. package/dist/weapp/sankey-chart/index.json +1 -0
  1156. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1157. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1158. package/dist/weapp/shape-chart/index.js +1 -0
  1159. package/dist/weapp/shape-chart/index.json +1 -0
  1160. package/dist/weapp/shape-chart/index.wxml +1 -0
  1161. package/dist/weapp/shape-chart/index.wxss +1 -0
  1162. package/dist/weapp/sparkline/index.js +1 -0
  1163. package/dist/weapp/sparkline/index.json +1 -0
  1164. package/dist/weapp/sparkline/index.wxml +1 -0
  1165. package/dist/weapp/sparkline/index.wxss +1 -0
  1166. package/dist/weapp/sunburst-chart/index.js +1 -0
  1167. package/dist/weapp/sunburst-chart/index.json +1 -0
  1168. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1169. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1170. package/dist/weapp/treemap-chart/index.js +1 -0
  1171. package/dist/weapp/treemap-chart/index.json +1 -0
  1172. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1173. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1174. package/dist/weapp/types.d.ts +466 -0
  1175. package/dist/weapp/waterfall-chart/index.js +1 -0
  1176. package/dist/weapp/waterfall-chart/index.json +1 -0
  1177. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1178. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1179. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1180. package/dist/web-components/components/chart/chart.js +55 -0
  1181. package/dist/web-components/components/chart/chart.js.map +1 -0
  1182. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1183. package/dist/web-components/components/chart/charts.js +201 -0
  1184. package/dist/web-components/components/chart/charts.js.map +1 -0
  1185. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1186. package/dist/web-components/components/chart/engine-element.js +77 -0
  1187. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1188. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1189. package/dist/web-components/components/chart/extended.js +183 -0
  1190. package/dist/web-components/components/chart/extended.js.map +1 -0
  1191. package/dist/web-components/components/chart/series.d.ts +7 -0
  1192. package/dist/web-components/components/chart/series.js +14 -0
  1193. package/dist/web-components/components/chart/series.js.map +1 -0
  1194. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1195. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1196. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1197. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1198. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1199. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1200. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1201. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1202. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1203. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1204. package/dist/web-components/components/order-book/order-book.js +174 -0
  1205. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1206. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1207. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1208. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1209. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1210. package/dist/web-components/elements/chart-3d.js +13 -0
  1211. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1212. package/dist/web-components/elements/chart.d.ts +7 -0
  1213. package/dist/web-components/elements/chart.js +43 -0
  1214. package/dist/web-components/elements/chart.js.map +1 -0
  1215. package/dist/web-components/elements/order-book.d.ts +2 -0
  1216. package/dist/web-components/elements/order-book.js +13 -0
  1217. package/dist/web-components/elements/order-book.js.map +1 -0
  1218. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1219. package/dist/web-components/elements/trading-chart.js +8 -0
  1220. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1221. package/dist/web-components/html-custom-data.json +1192 -29
  1222. package/dist/web-components/types/react.d.ts +435 -0
  1223. package/dist/web-components/types/solid.d.ts +321 -0
  1224. package/dist/web-components/types/svelte.d.ts +321 -0
  1225. package/dist/web-components/types/vue.d.ts +359 -0
  1226. package/package.json +113 -1
@@ -1,10 +1,19 @@
1
1
  export type TimeUnit = "millisecond" | "second" | "minute" | "hour" | "day" | "month" | "year";
2
+ /** Time zone of the calendar of a time axis */
3
+ export type TimeZone = "local" | "utc";
2
4
  export interface TimeTicks {
3
5
  values: number[];
4
6
  unit: TimeUnit;
5
7
  format: (value: number) => string;
6
8
  }
7
- /** Calendar-aligned ticks between two timestamps */
8
- export declare const timeTicks: (min: number, max: number, count: number) => TimeTicks;
9
- /** Full label (tooltips): precision follows the unit of the ticks */
10
- export declare const formatTime: (value: number, unit?: TimeUnit) => string;
9
+ /**
10
+ * Calendar-aligned ticks between two timestamps
11
+ * @param locale labels in this locale (ISO-like labels without it)
12
+ * @param timeZone calendar of the steps and labels
13
+ */
14
+ export declare const timeTicks: (min: number, max: number, count: number, locale?: string, timeZone?: TimeZone) => TimeTicks;
15
+ /**
16
+ * Full label (tooltips): precision follows the unit of the ticks; dates
17
+ * show the weekday with a `locale`
18
+ */
19
+ export declare const formatTime: (value: number, unit?: TimeUnit, locale?: string, timeZone?: TimeZone) => string;
@@ -1,10 +1,19 @@
1
1
  export type TimeUnit = "millisecond" | "second" | "minute" | "hour" | "day" | "month" | "year";
2
+ /** Time zone of the calendar of a time axis */
3
+ export type TimeZone = "local" | "utc";
2
4
  export interface TimeTicks {
3
5
  values: number[];
4
6
  unit: TimeUnit;
5
7
  format: (value: number) => string;
6
8
  }
7
- /** Calendar-aligned ticks between two timestamps */
8
- export declare const timeTicks: (min: number, max: number, count: number) => TimeTicks;
9
- /** Full label (tooltips): precision follows the unit of the ticks */
10
- export declare const formatTime: (value: number, unit?: TimeUnit) => string;
9
+ /**
10
+ * Calendar-aligned ticks between two timestamps
11
+ * @param locale labels in this locale (ISO-like labels without it)
12
+ * @param timeZone calendar of the steps and labels
13
+ */
14
+ export declare const timeTicks: (min: number, max: number, count: number, locale?: string, timeZone?: TimeZone) => TimeTicks;
15
+ /**
16
+ * Full label (tooltips): precision follows the unit of the ticks; dates
17
+ * show the weekday with a `locale`
18
+ */
19
+ export declare const formatTime: (value: number, unit?: TimeUnit, locale?: string, timeZone?: TimeZone) => string;
@@ -1,189 +1,254 @@
1
- import { linearTicks as e, tickStep as t } from "./scale.js";
1
+ import { dateFormat as e } from "./locale.js";
2
+ import { linearTicks as t, tickStep as n } from "./scale.js";
2
3
  //#region src/engine/time.ts
3
- var n = 1e3, r = 60 * n, i = 60 * r, a = 24 * i, o = 30 * a, s = 365 * a, c = [
4
+ var r = 1e3, i = 60 * r, a = 60 * i, o = 24 * a, s = 30 * o, c = 365 * o, l = [
4
5
  {
5
6
  unit: "second",
6
7
  step: 1,
7
- ms: n
8
+ ms: r
8
9
  },
9
10
  {
10
11
  unit: "second",
11
12
  step: 5,
12
- ms: 5 * n
13
+ ms: 5 * r
13
14
  },
14
15
  {
15
16
  unit: "second",
16
17
  step: 15,
17
- ms: 15 * n
18
+ ms: 15 * r
18
19
  },
19
20
  {
20
21
  unit: "second",
21
22
  step: 30,
22
- ms: 30 * n
23
+ ms: 30 * r
23
24
  },
24
25
  {
25
26
  unit: "minute",
26
27
  step: 1,
27
- ms: r
28
+ ms: i
28
29
  },
29
30
  {
30
31
  unit: "minute",
31
32
  step: 5,
32
- ms: 5 * r
33
+ ms: 5 * i
33
34
  },
34
35
  {
35
36
  unit: "minute",
36
37
  step: 15,
37
- ms: 15 * r
38
+ ms: 15 * i
38
39
  },
39
40
  {
40
41
  unit: "minute",
41
42
  step: 30,
42
- ms: 30 * r
43
+ ms: 30 * i
43
44
  },
44
45
  {
45
46
  unit: "hour",
46
47
  step: 1,
47
- ms: i
48
+ ms: a
48
49
  },
49
50
  {
50
51
  unit: "hour",
51
52
  step: 3,
52
- ms: 3 * i
53
+ ms: 3 * a
53
54
  },
54
55
  {
55
56
  unit: "hour",
56
57
  step: 6,
57
- ms: 6 * i
58
+ ms: 6 * a
58
59
  },
59
60
  {
60
61
  unit: "hour",
61
62
  step: 12,
62
- ms: 12 * i
63
+ ms: 12 * a
63
64
  },
64
65
  {
65
66
  unit: "day",
66
67
  step: 1,
67
- ms: a
68
+ ms: o
68
69
  },
69
70
  {
70
71
  unit: "day",
71
72
  step: 2,
72
- ms: 2 * a
73
+ ms: 2 * o
73
74
  },
74
75
  {
75
76
  unit: "day",
76
77
  step: 7,
77
- ms: 7 * a
78
+ ms: 7 * o
78
79
  },
79
80
  {
80
81
  unit: "month",
81
82
  step: 1,
82
- ms: o
83
+ ms: s
83
84
  },
84
85
  {
85
86
  unit: "month",
86
87
  step: 3,
87
- ms: 3 * o
88
+ ms: 3 * s
88
89
  },
89
90
  {
90
91
  unit: "month",
91
92
  step: 6,
92
- ms: 6 * o
93
+ ms: 6 * s
94
+ }
95
+ ], u = (e, t = 2) => String(e).padStart(t, "0"), d = (e, t) => {
96
+ let n = new Date(e);
97
+ return t ? {
98
+ year: n.getUTCFullYear(),
99
+ month: n.getUTCMonth(),
100
+ date: n.getUTCDate(),
101
+ day: n.getUTCDay(),
102
+ hours: n.getUTCHours(),
103
+ minutes: n.getUTCMinutes(),
104
+ seconds: n.getUTCSeconds(),
105
+ ms: n.getUTCMilliseconds()
106
+ } : {
107
+ year: n.getFullYear(),
108
+ month: n.getMonth(),
109
+ date: n.getDate(),
110
+ day: n.getDay(),
111
+ hours: n.getHours(),
112
+ minutes: n.getMinutes(),
113
+ seconds: n.getSeconds(),
114
+ ms: n.getMilliseconds()
115
+ };
116
+ }, f = (e, t, n, r = 1, i = 0, a = 0, o = 0) => {
117
+ if (e) {
118
+ let e = Date.UTC(t, n, r, i, a, o);
119
+ if (t >= 0 && t < 100) {
120
+ let t = new Date(e);
121
+ return t.setUTCFullYear(t.getUTCFullYear() - 1900), t.getTime();
122
+ }
123
+ return e;
93
124
  }
94
- ], l = (e, t = 2) => String(e).padStart(t, "0"), u = (e, r) => {
95
- let i = e / Math.max(1, r);
96
- if (i < n * .75) return {
125
+ let s = new Date(t, n, r, i, a, o);
126
+ return t >= 0 && t < 100 && s.setFullYear(s.getFullYear() - 1900), s.getTime();
127
+ }, p = (e, t) => {
128
+ let i = e / Math.max(1, t);
129
+ if (i < r * .75) return {
97
130
  unit: "millisecond",
98
- step: t(0, e, r),
131
+ step: n(0, e, t),
99
132
  ms: 1
100
133
  };
101
- for (let e of c) if (e.ms >= i * .75) return e;
102
- let a = Math.max(1, t(0, e / s, r));
134
+ for (let e of l) if (e.ms >= i * .75) return e;
135
+ let a = Math.max(1, n(0, e / c, t));
103
136
  return {
104
137
  unit: "year",
105
138
  step: Math.round(a),
106
- ms: Math.round(a) * s
139
+ ms: Math.round(a) * c
107
140
  };
108
- }, d = (e, { unit: t, step: n }) => {
109
- let r = new Date(e);
141
+ }, m = (e, { unit: t, step: n }, r) => {
142
+ let i = d(e, r);
110
143
  switch (t) {
111
- case "second":
112
- r.setMilliseconds(0), r.setSeconds(r.getSeconds() - r.getSeconds() % n);
113
- break;
114
- case "minute":
115
- r.setSeconds(0, 0), r.setMinutes(r.getMinutes() - r.getMinutes() % n);
116
- break;
117
- case "hour":
118
- r.setMinutes(0, 0, 0), r.setHours(r.getHours() - r.getHours() % n);
119
- break;
120
- case "day":
121
- r.setHours(0, 0, 0, 0), n === 7 && r.setDate(r.getDate() - (r.getDay() + 6) % 7);
122
- break;
123
- case "month":
124
- r.setHours(0, 0, 0, 0), r.setDate(1), r.setMonth(r.getMonth() - r.getMonth() % n);
125
- break;
126
- case "year": r.setHours(0, 0, 0, 0), r.setMonth(0, 1), r.setFullYear(r.getFullYear() - r.getFullYear() % n);
144
+ case "second": return f(r, i.year, i.month, i.date, i.hours, i.minutes, i.seconds - i.seconds % n);
145
+ case "minute": return f(r, i.year, i.month, i.date, i.hours, i.minutes - i.minutes % n);
146
+ case "hour": return f(r, i.year, i.month, i.date, i.hours - i.hours % n);
147
+ case "day": return f(r, i.year, i.month, i.date - (n === 7 ? (i.day + 6) % 7 : 0));
148
+ case "month": return f(r, i.year, i.month - i.month % n);
149
+ case "year": return f(r, i.year - i.year % n, 0);
150
+ default: return e;
127
151
  }
128
- return r;
129
- }, f = (e, { unit: t, step: n }) => {
152
+ }, h = (e, { unit: t, step: n }, r) => {
153
+ let { year: i, month: a, date: o, hours: s, minutes: c, seconds: l } = d(e, r);
130
154
  switch (t) {
131
- case "second":
132
- e.setSeconds(e.getSeconds() + n);
133
- break;
134
- case "minute":
135
- e.setMinutes(e.getMinutes() + n);
136
- break;
137
- case "hour":
138
- e.setHours(e.getHours() + n);
139
- break;
140
- case "day":
141
- e.setDate(e.getDate() + n);
142
- break;
143
- case "month":
144
- e.setMonth(e.getMonth() + n);
145
- break;
146
- case "year": e.setFullYear(e.getFullYear() + n);
155
+ case "second": return f(r, i, a, o, s, c, l + n);
156
+ case "minute": return f(r, i, a, o, s, c + n, l);
157
+ case "hour": return f(r, i, a, o, s + n, c, l);
158
+ case "day": return f(r, i, a, o + n, s, c, l);
159
+ case "month": return f(r, i, a + n, o, s, c, l);
160
+ case "year": return f(r, i + n, a, o, s, c, l);
161
+ default: return e + n;
147
162
  }
148
- }, p = (t, n, r) => {
149
- t > n && ([t, n] = [n, t]);
150
- let i = u(n - t, r);
151
- if (i.unit === "millisecond") return {
152
- values: e(t, n, r),
163
+ }, g = (e, n, r, i, a = "local") => {
164
+ e > n && ([e, n] = [n, e]);
165
+ let o = p(n - e, r);
166
+ if (o.unit === "millisecond") return {
167
+ values: t(e, n, r),
153
168
  unit: "millisecond",
154
- format: (e) => _(e, "millisecond")
169
+ format: (e) => T(e, "millisecond", i, a)
155
170
  };
156
- let a = [], o = d(t, i);
157
- for (; o.getTime() < t;) f(o, i);
158
- for (; o.getTime() <= n && a.length < 500;) a.push(o.getTime()), f(o, i);
159
- let { unit: s } = i;
171
+ let s = a === "utc", c = [], l = m(e, o, s);
172
+ for (; l < e;) l = h(l, o, s);
173
+ for (; l <= n && c.length < 500;) c.push(l), l = h(l, o, s);
174
+ let { unit: u } = o;
160
175
  return {
161
- values: a,
162
- unit: s,
163
- format: (e) => g(e, s)
176
+ values: c,
177
+ unit: u,
178
+ format: (e) => w(e, u, i, a)
164
179
  };
165
- }, m = (e) => `${e.getFullYear()}-${l(e.getMonth() + 1)}-${l(e.getDate())}`, h = (e) => `${l(e.getHours())}:${l(e.getMinutes())}`, g = (e, t) => {
166
- let n = new Date(e), r = n.getHours() === 0 && n.getMinutes() === 0 && n.getSeconds() === 0;
180
+ }, _ = (e) => `${e.year}-${u(e.month + 1)}-${u(e.date)}`, v = (e) => `${u(e.hours)}:${u(e.minutes)}`, y = {
181
+ hour: "2-digit",
182
+ minute: "2-digit",
183
+ hourCycle: "h23"
184
+ }, b = {
185
+ ...y,
186
+ second: "2-digit"
187
+ }, x = {
188
+ month: "short",
189
+ day: "numeric"
190
+ }, S = {
191
+ year: "numeric",
192
+ month: "short",
193
+ day: "numeric"
194
+ }, C = (t, n, r) => e(t, n === "utc" ? {
195
+ ...r,
196
+ timeZone: "UTC"
197
+ } : r), w = (e, t, n, r) => {
198
+ let i = d(e, r === "utc"), a = i.hours === 0 && i.minutes === 0 && i.seconds === 0, o = i.month === 0 && i.date === 1;
199
+ if (n) {
200
+ let s = (t) => C(n, r, t).format(e);
201
+ switch (t) {
202
+ case "second": return s(b);
203
+ case "minute":
204
+ case "hour": return s(a ? x : y);
205
+ case "day": return s(o ? { year: "numeric" } : x);
206
+ case "month": return s(i.month === 0 ? { year: "numeric" } : { month: "short" });
207
+ default: return s({ year: "numeric" });
208
+ }
209
+ }
167
210
  switch (t) {
168
- case "second": return `${h(n)}:${l(n.getSeconds())}`;
211
+ case "second": return `${v(i)}:${u(i.seconds)}`;
169
212
  case "minute":
170
- case "hour": return r ? `${l(n.getMonth() + 1)}-${l(n.getDate())}` : h(n);
171
- case "day": return n.getMonth() === 0 && n.getDate() === 1 ? String(n.getFullYear()) : `${l(n.getMonth() + 1)}-${l(n.getDate())}`;
172
- case "month": return n.getMonth() === 0 ? String(n.getFullYear()) : `${n.getFullYear()}-${l(n.getMonth() + 1)}`;
173
- default: return String(n.getFullYear());
213
+ case "hour": return a ? `${u(i.month + 1)}-${u(i.date)}` : v(i);
214
+ case "day": return o ? String(i.year) : `${u(i.month + 1)}-${u(i.date)}`;
215
+ case "month": return i.month === 0 ? String(i.year) : `${i.year}-${u(i.month + 1)}`;
216
+ default: return String(i.year);
217
+ }
218
+ }, T = (e, t = "minute", n, r = "local") => {
219
+ if (!Number.isFinite(e) || Number.isNaN(new Date(e).getTime())) return "–";
220
+ let i = d(e, r === "utc");
221
+ if (n) {
222
+ let a = (t) => C(n, r, t).format(e);
223
+ switch (t) {
224
+ case "millisecond": return `${a({
225
+ ...S,
226
+ ...b
227
+ })}.${u(i.ms, 3)}`;
228
+ case "second": return a({
229
+ ...S,
230
+ ...b
231
+ });
232
+ case "minute":
233
+ case "hour": return a({
234
+ ...S,
235
+ ...y
236
+ });
237
+ default: return a({
238
+ ...S,
239
+ weekday: "short"
240
+ });
241
+ }
174
242
  }
175
- }, _ = (e, t = "minute") => {
176
- let n = new Date(e);
177
- if (Number.isNaN(n.getTime())) return "–";
178
243
  switch (t) {
179
- case "millisecond": return `${m(n)} ${h(n)}:${l(n.getSeconds())}.${l(n.getMilliseconds(), 3)}`;
180
- case "second": return `${m(n)} ${h(n)}:${l(n.getSeconds())}`;
244
+ case "millisecond": return `${_(i)} ${v(i)}:${u(i.seconds)}.${u(i.ms, 3)}`;
245
+ case "second": return `${_(i)} ${v(i)}:${u(i.seconds)}`;
181
246
  case "minute":
182
- case "hour": return `${m(n)} ${h(n)}`;
183
- default: return m(n);
247
+ case "hour": return `${_(i)} ${v(i)}`;
248
+ default: return _(i);
184
249
  }
185
250
  };
186
251
  //#endregion
187
- export { _ as formatTime, p as timeTicks };
252
+ export { T as formatTime, g as timeTicks };
188
253
 
189
254
  //# sourceMappingURL=time.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"time.js","names":["SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","INTERVALS","pad","n","width","chooseInterval","target","span","count","tickStep","interval","years","floorTo","d","t","unit","step","advance","timeTicks","min","max","linearTicks","formatTime","v","values","formatTick","ymd","hm","value","midnight"],"sources":["../../../../charts/src/engine/time.ts"],"sourcesContent":["// Ticks and labels of time axes (timestamps in ms, local time).\n\nimport { linearTicks, tickStep } from \"./scale\";\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nexport type TimeUnit =\n \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"month\" | \"year\";\n\ninterface Interval {\n unit: TimeUnit;\n step: number;\n /** Approximate duration (ms) */\n ms: number;\n}\n\nconst INTERVALS: Interval[] = [\n { unit: \"second\", step: 1, ms: SECOND },\n { unit: \"second\", step: 5, ms: 5 * SECOND },\n { unit: \"second\", step: 15, ms: 15 * SECOND },\n { unit: \"second\", step: 30, ms: 30 * SECOND },\n { unit: \"minute\", step: 1, ms: MINUTE },\n { unit: \"minute\", step: 5, ms: 5 * MINUTE },\n { unit: \"minute\", step: 15, ms: 15 * MINUTE },\n { unit: \"minute\", step: 30, ms: 30 * MINUTE },\n { unit: \"hour\", step: 1, ms: HOUR },\n { unit: \"hour\", step: 3, ms: 3 * HOUR },\n { unit: \"hour\", step: 6, ms: 6 * HOUR },\n { unit: \"hour\", step: 12, ms: 12 * HOUR },\n { unit: \"day\", step: 1, ms: DAY },\n { unit: \"day\", step: 2, ms: 2 * DAY },\n { unit: \"day\", step: 7, ms: 7 * DAY },\n { unit: \"month\", step: 1, ms: MONTH },\n { unit: \"month\", step: 3, ms: 3 * MONTH },\n { unit: \"month\", step: 6, ms: 6 * MONTH },\n];\n\nconst pad = (n: number, width = 2) => String(n).padStart(width, \"0\");\n\nconst chooseInterval = (span: number, count: number): Interval => {\n const target = span / Math.max(1, count);\n if (target < SECOND * 0.75) {\n return { unit: \"millisecond\", step: tickStep(0, span, count), ms: 1 };\n }\n for (const interval of INTERVALS) {\n if (interval.ms >= target * 0.75) return interval;\n }\n const years = Math.max(1, tickStep(0, span / YEAR, count));\n return {\n unit: \"year\",\n step: Math.round(years),\n ms: Math.round(years) * YEAR,\n };\n};\n\n/** Start of the tick sequence: `t` floored to the unit, aligned on the step */\nconst floorTo = (t: number, { unit, step }: Interval): Date => {\n const d = new Date(t);\n switch (unit) {\n case \"second\":\n d.setMilliseconds(0);\n d.setSeconds(d.getSeconds() - (d.getSeconds() % step));\n break;\n case \"minute\":\n d.setSeconds(0, 0);\n d.setMinutes(d.getMinutes() - (d.getMinutes() % step));\n break;\n case \"hour\":\n d.setMinutes(0, 0, 0);\n d.setHours(d.getHours() - (d.getHours() % step));\n break;\n case \"day\":\n d.setHours(0, 0, 0, 0);\n // weeks start on Monday\n if (step === 7) d.setDate(d.getDate() - ((d.getDay() + 6) % 7));\n break;\n case \"month\":\n d.setHours(0, 0, 0, 0);\n d.setDate(1);\n d.setMonth(d.getMonth() - (d.getMonth() % step));\n break;\n case \"year\":\n d.setHours(0, 0, 0, 0);\n d.setMonth(0, 1);\n d.setFullYear(d.getFullYear() - (d.getFullYear() % step));\n break;\n default:\n break;\n }\n return d;\n};\n\nconst advance = (d: Date, { unit, step }: Interval) => {\n switch (unit) {\n case \"second\":\n d.setSeconds(d.getSeconds() + step);\n break;\n case \"minute\":\n d.setMinutes(d.getMinutes() + step);\n break;\n case \"hour\":\n d.setHours(d.getHours() + step);\n break;\n case \"day\":\n d.setDate(d.getDate() + step);\n break;\n case \"month\":\n d.setMonth(d.getMonth() + step);\n break;\n case \"year\":\n d.setFullYear(d.getFullYear() + step);\n break;\n default:\n break;\n }\n};\n\nexport interface TimeTicks {\n values: number[];\n unit: TimeUnit;\n format: (value: number) => string;\n}\n\n/** Calendar-aligned ticks between two timestamps */\nexport const timeTicks = (\n min: number,\n max: number,\n count: number,\n): TimeTicks => {\n if (min > max) [min, max] = [max, min];\n const interval = chooseInterval(max - min, count);\n if (interval.unit === \"millisecond\") {\n return {\n values: linearTicks(min, max, count),\n unit: \"millisecond\",\n format: (v) => formatTime(v, \"millisecond\"),\n };\n }\n const values: number[] = [];\n const d = floorTo(min, interval);\n while (d.getTime() < min) advance(d, interval);\n while (d.getTime() <= max && values.length < 500) {\n values.push(d.getTime());\n advance(d, interval);\n }\n const { unit } = interval;\n return { values, unit, format: (v) => formatTick(v, unit) };\n};\n\nconst ymd = (d: Date) =>\n `${d.getFullYear()}-${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\nconst hm = (d: Date) => `${pad(d.getHours())}:${pad(d.getMinutes())}`;\n\n/** Short tick label; day boundaries show the date, year boundaries the year */\nconst formatTick = (value: number, unit: TimeUnit): string => {\n const d = new Date(value);\n const midnight =\n d.getHours() === 0 && d.getMinutes() === 0 && d.getSeconds() === 0;\n switch (unit) {\n case \"second\":\n return `${hm(d)}:${pad(d.getSeconds())}`;\n case \"minute\":\n case \"hour\":\n return midnight ? `${pad(d.getMonth() + 1)}-${pad(d.getDate())}` : hm(d);\n case \"day\":\n return d.getMonth() === 0 && d.getDate() === 1\n ? String(d.getFullYear())\n : `${pad(d.getMonth() + 1)}-${pad(d.getDate())}`;\n case \"month\":\n return d.getMonth() === 0\n ? String(d.getFullYear())\n : `${d.getFullYear()}-${pad(d.getMonth() + 1)}`;\n default:\n return String(d.getFullYear());\n }\n};\n\n/** Full label (tooltips): precision follows the unit of the ticks */\nexport const formatTime = (\n value: number,\n unit: TimeUnit = \"minute\",\n): string => {\n const d = new Date(value);\n if (Number.isNaN(d.getTime())) return \"–\";\n switch (unit) {\n case \"millisecond\":\n return `${ymd(d)} ${hm(d)}:${pad(d.getSeconds())}.${pad(d.getMilliseconds(), 3)}`;\n case \"second\":\n return `${ymd(d)} ${hm(d)}:${pad(d.getSeconds())}`;\n case \"minute\":\n case \"hour\":\n return `${ymd(d)} ${hm(d)}`;\n default:\n return ymd(d);\n }\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"time.js","names":["SECOND","MINUTE","HOUR","DAY","MONTH","YEAR","INTERVALS","pad","n","width","partsOf","d","t","utc","timeOf","year","month","date","hours","minutes","seconds","chooseInterval","target","span","count","tickStep","interval","years","floorTo","p","unit","step","advance","timeTicks","min","max","linearTicks","formatTime","v","locale","timeZone","values","formatTick","ymd","hm","HM","HMS","MONTH_DAY","DATE","intl","dateFormat","options","value","midnight","newYear","f"],"sources":["../../../../charts/src/engine/time.ts"],"sourcesContent":["// Ticks and labels of time axes (timestamps in ms). Calendar steps follow\n// the local time or UTC (`timeZone`); labels use `Intl.DateTimeFormat` of a\n// locale (month / weekday names), or ISO-like texts without a locale.\n\nimport { dateFormat } from \"./locale\";\nimport { linearTicks, tickStep } from \"./scale\";\n\nconst SECOND = 1000;\nconst MINUTE = 60 * SECOND;\nconst HOUR = 60 * MINUTE;\nconst DAY = 24 * HOUR;\nconst MONTH = 30 * DAY;\nconst YEAR = 365 * DAY;\n\nexport type TimeUnit =\n \"millisecond\" | \"second\" | \"minute\" | \"hour\" | \"day\" | \"month\" | \"year\";\n\n/** Time zone of the calendar of a time axis */\nexport type TimeZone = \"local\" | \"utc\";\n\ninterface Interval {\n unit: TimeUnit;\n step: number;\n /** Approximate duration (ms) */\n ms: number;\n}\n\nconst INTERVALS: Interval[] = [\n { unit: \"second\", step: 1, ms: SECOND },\n { unit: \"second\", step: 5, ms: 5 * SECOND },\n { unit: \"second\", step: 15, ms: 15 * SECOND },\n { unit: \"second\", step: 30, ms: 30 * SECOND },\n { unit: \"minute\", step: 1, ms: MINUTE },\n { unit: \"minute\", step: 5, ms: 5 * MINUTE },\n { unit: \"minute\", step: 15, ms: 15 * MINUTE },\n { unit: \"minute\", step: 30, ms: 30 * MINUTE },\n { unit: \"hour\", step: 1, ms: HOUR },\n { unit: \"hour\", step: 3, ms: 3 * HOUR },\n { unit: \"hour\", step: 6, ms: 6 * HOUR },\n { unit: \"hour\", step: 12, ms: 12 * HOUR },\n { unit: \"day\", step: 1, ms: DAY },\n { unit: \"day\", step: 2, ms: 2 * DAY },\n { unit: \"day\", step: 7, ms: 7 * DAY },\n { unit: \"month\", step: 1, ms: MONTH },\n { unit: \"month\", step: 3, ms: 3 * MONTH },\n { unit: \"month\", step: 6, ms: 6 * MONTH },\n];\n\nconst pad = (n: number, width = 2) => String(n).padStart(width, \"0\");\n\n/** Calendar fields of a timestamp */\ninterface Parts {\n year: number;\n /** 0-11 */\n month: number;\n date: number;\n /** 0 = Sunday */\n day: number;\n hours: number;\n minutes: number;\n seconds: number;\n ms: number;\n}\n\nconst partsOf = (t: number, utc: boolean): Parts => {\n const d = new Date(t);\n return utc\n ? {\n year: d.getUTCFullYear(),\n month: d.getUTCMonth(),\n date: d.getUTCDate(),\n day: d.getUTCDay(),\n hours: d.getUTCHours(),\n minutes: d.getUTCMinutes(),\n seconds: d.getUTCSeconds(),\n ms: d.getUTCMilliseconds(),\n }\n : {\n year: d.getFullYear(),\n month: d.getMonth(),\n date: d.getDate(),\n day: d.getDay(),\n hours: d.getHours(),\n minutes: d.getMinutes(),\n seconds: d.getSeconds(),\n ms: d.getMilliseconds(),\n };\n};\n\n/** Timestamp of calendar fields (out of range fields carry over) */\nconst timeOf = (\n utc: boolean,\n year: number,\n month: number,\n date = 1,\n hours = 0,\n minutes = 0,\n seconds = 0,\n): number => {\n if (utc) {\n const t = Date.UTC(year, month, date, hours, minutes, seconds);\n // years 0-99 are mapped to 1900-1999 by Date.UTC\n if (year >= 0 && year < 100) {\n const d = new Date(t);\n d.setUTCFullYear(d.getUTCFullYear() - 1900);\n return d.getTime();\n }\n return t;\n }\n const d = new Date(year, month, date, hours, minutes, seconds);\n if (year >= 0 && year < 100) d.setFullYear(d.getFullYear() - 1900);\n return d.getTime();\n};\n\nconst chooseInterval = (span: number, count: number): Interval => {\n const target = span / Math.max(1, count);\n if (target < SECOND * 0.75) {\n return { unit: \"millisecond\", step: tickStep(0, span, count), ms: 1 };\n }\n for (const interval of INTERVALS) {\n if (interval.ms >= target * 0.75) return interval;\n }\n const years = Math.max(1, tickStep(0, span / YEAR, count));\n return {\n unit: \"year\",\n step: Math.round(years),\n ms: Math.round(years) * YEAR,\n };\n};\n\n/** Start of the tick sequence: `t` floored to the unit, aligned on the step */\nconst floorTo = (t: number, { unit, step }: Interval, utc: boolean): number => {\n const p = partsOf(t, utc);\n switch (unit) {\n case \"second\":\n return timeOf(\n utc,\n p.year,\n p.month,\n p.date,\n p.hours,\n p.minutes,\n p.seconds - (p.seconds % step),\n );\n case \"minute\":\n return timeOf(\n utc,\n p.year,\n p.month,\n p.date,\n p.hours,\n p.minutes - (p.minutes % step),\n );\n case \"hour\":\n return timeOf(utc, p.year, p.month, p.date, p.hours - (p.hours % step));\n case \"day\":\n // weeks start on Monday\n return timeOf(\n utc,\n p.year,\n p.month,\n p.date - (step === 7 ? (p.day + 6) % 7 : 0),\n );\n case \"month\":\n return timeOf(utc, p.year, p.month - (p.month % step));\n case \"year\":\n return timeOf(utc, p.year - (p.year % step), 0);\n default:\n return t;\n }\n};\n\nconst advance = (t: number, { unit, step }: Interval, utc: boolean): number => {\n const p = partsOf(t, utc);\n const { year, month, date, hours, minutes, seconds } = p;\n switch (unit) {\n case \"second\":\n return timeOf(utc, year, month, date, hours, minutes, seconds + step);\n case \"minute\":\n return timeOf(utc, year, month, date, hours, minutes + step, seconds);\n case \"hour\":\n return timeOf(utc, year, month, date, hours + step, minutes, seconds);\n case \"day\":\n return timeOf(utc, year, month, date + step, hours, minutes, seconds);\n case \"month\":\n return timeOf(utc, year, month + step, date, hours, minutes, seconds);\n case \"year\":\n return timeOf(utc, year + step, month, date, hours, minutes, seconds);\n default:\n return t + step;\n }\n};\n\nexport interface TimeTicks {\n values: number[];\n unit: TimeUnit;\n format: (value: number) => string;\n}\n\n/**\n * Calendar-aligned ticks between two timestamps\n * @param locale labels in this locale (ISO-like labels without it)\n * @param timeZone calendar of the steps and labels\n */\nexport const timeTicks = (\n min: number,\n max: number,\n count: number,\n locale?: string,\n timeZone: TimeZone = \"local\",\n): TimeTicks => {\n if (min > max) [min, max] = [max, min];\n const interval = chooseInterval(max - min, count);\n if (interval.unit === \"millisecond\") {\n return {\n values: linearTicks(min, max, count),\n unit: \"millisecond\",\n format: (v) => formatTime(v, \"millisecond\", locale, timeZone),\n };\n }\n const utc = timeZone === \"utc\";\n const values: number[] = [];\n let t = floorTo(min, interval, utc);\n while (t < min) t = advance(t, interval, utc);\n while (t <= max && values.length < 500) {\n values.push(t);\n t = advance(t, interval, utc);\n }\n const { unit } = interval;\n return {\n values,\n unit,\n format: (v) => formatTick(v, unit, locale, timeZone),\n };\n};\n\nconst ymd = (p: Parts) => `${p.year}-${pad(p.month + 1)}-${pad(p.date)}`;\nconst hm = (p: Parts) => `${pad(p.hours)}:${pad(p.minutes)}`;\n\nconst HM: Intl.DateTimeFormatOptions = {\n hour: \"2-digit\",\n minute: \"2-digit\",\n hourCycle: \"h23\",\n};\nconst HMS: Intl.DateTimeFormatOptions = { ...HM, second: \"2-digit\" };\nconst MONTH_DAY: Intl.DateTimeFormatOptions = {\n month: \"short\",\n day: \"numeric\",\n};\nconst DATE: Intl.DateTimeFormatOptions = {\n year: \"numeric\",\n month: \"short\",\n day: \"numeric\",\n};\n\n/** Cached formatter of a locale and time zone */\nconst intl = (\n locale: string,\n timeZone: TimeZone,\n options: Intl.DateTimeFormatOptions,\n) =>\n dateFormat(\n locale,\n timeZone === \"utc\" ? { ...options, timeZone: \"UTC\" } : options,\n );\n\n/** Short tick label; day boundaries show the date, year boundaries the year */\nconst formatTick = (\n value: number,\n unit: TimeUnit,\n locale: string | undefined,\n timeZone: TimeZone,\n): string => {\n const p = partsOf(value, timeZone === \"utc\");\n const midnight = p.hours === 0 && p.minutes === 0 && p.seconds === 0;\n const newYear = p.month === 0 && p.date === 1;\n if (locale) {\n const f = (options: Intl.DateTimeFormatOptions) =>\n intl(locale, timeZone, options).format(value);\n switch (unit) {\n case \"second\":\n return f(HMS);\n case \"minute\":\n case \"hour\":\n return f(midnight ? MONTH_DAY : HM);\n case \"day\":\n return f(newYear ? { year: \"numeric\" } : MONTH_DAY);\n case \"month\":\n return f(p.month === 0 ? { year: \"numeric\" } : { month: \"short\" });\n default:\n return f({ year: \"numeric\" });\n }\n }\n switch (unit) {\n case \"second\":\n return `${hm(p)}:${pad(p.seconds)}`;\n case \"minute\":\n case \"hour\":\n return midnight ? `${pad(p.month + 1)}-${pad(p.date)}` : hm(p);\n case \"day\":\n return newYear ? String(p.year) : `${pad(p.month + 1)}-${pad(p.date)}`;\n case \"month\":\n return p.month === 0 ? String(p.year) : `${p.year}-${pad(p.month + 1)}`;\n default:\n return String(p.year);\n }\n};\n\n/**\n * Full label (tooltips): precision follows the unit of the ticks; dates\n * show the weekday with a `locale`\n */\nexport const formatTime = (\n value: number,\n unit: TimeUnit = \"minute\",\n locale?: string,\n timeZone: TimeZone = \"local\",\n): string => {\n if (!Number.isFinite(value) || Number.isNaN(new Date(value).getTime()))\n return \"–\";\n const p = partsOf(value, timeZone === \"utc\");\n if (locale) {\n const f = (options: Intl.DateTimeFormatOptions) =>\n intl(locale, timeZone, options).format(value);\n switch (unit) {\n case \"millisecond\":\n return `${f({ ...DATE, ...HMS })}.${pad(p.ms, 3)}`;\n case \"second\":\n return f({ ...DATE, ...HMS });\n case \"minute\":\n case \"hour\":\n return f({ ...DATE, ...HM });\n default:\n return f({ ...DATE, weekday: \"short\" });\n }\n }\n switch (unit) {\n case \"millisecond\":\n return `${ymd(p)} ${hm(p)}:${pad(p.seconds)}.${pad(p.ms, 3)}`;\n case \"second\":\n return `${ymd(p)} ${hm(p)}:${pad(p.seconds)}`;\n case \"minute\":\n case \"hour\":\n return `${ymd(p)} ${hm(p)}`;\n default:\n return ymd(p);\n }\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("../dom.cjs"),t=require("../color.cjs"),n=require("../locale.cjs"),r=require("../scale.cjs"),i=require("../renderers/detect.cjs"),a=require("../theme.cjs"),o=require("./drawings.cjs"),s=require("./format.cjs"),c=require("./geometry.cjs"),l=require("./indicators.cjs"),u=require("./labels.cjs"),d=require("./scale.cjs"),f=require("./store.cjs"),p=require("./studies.cjs");var m=28,h=60,g=60,_=48,v=`price`,y=`var(--success-color, #089981)`,b=`var(--danger-color, #f23645)`,x=`var(--warning-color, #f59e0b)`,S=`var(--primary-color, #2962ff)`,C={order:`limit`,position:`position`,takeProfit:`takeProfit`,stopLoss:`stopLoss`,alert:`alert`},w=(e,t,n)=>e<t?t:e>n?n:e,T=e=>{let n=t.parseColor(e);return n&&t.luminance(n)>.5?`#0b0e11`:`#fff`},E=Number.isFinite,ee=(ee,te={})=>{let ne=ee.ownerDocument,re=ne.defaultView,D={...te},ie=!1,ae=(t,n)=>e.styleElement(ne.createElement(t),n),O=ae(`div`,{position:`relative`,width:`100%`,height:`100%`,minHeight:`0`,overflow:`hidden`,outline:`none`,userSelect:`none`,touchAction:`pan-y`,fontFamily:`var(--font-family-sans, system-ui, sans-serif)`,color:`var(--text-color, #1f2937)`,cursor:`crosshair`});O.className=`minerva-trading-chart`,O.tabIndex=0,O.setAttribute(`role`,`figure`),O.setAttribute(`aria-roledescription`,`chart`);let oe=e=>ae(e,{position:`absolute`,left:`0`,top:`0`,pointerEvents:`none`}),se=oe(`canvas`),ce=oe(`canvas`);se.setAttribute(`aria-hidden`,`true`),ce.setAttribute(`aria-hidden`,`true`);let le=oe(`div`);le.style.right=`0`,le.style.bottom=`0`;let k=ae(`button`,{position:`absolute`,display:`none`,alignItems:`center`,justifyContent:`center`,width:`28px`,height:`28px`,padding:`0`,borderRadius:`50%`,border:`1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 80%, transparent)`,background:`var(--surface-elevated-color, var(--surface-color, #fff))`,color:`var(--text-color, #1f2937)`,boxShadow:`0 4px 14px -4px rgba(15, 23, 42, 0.25)`,cursor:`pointer`});k.type=`button`,k.innerHTML=`<svg width="14" height="14" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.8" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M3 3l5 5-5 5M9 3l5 5-5 5"/></svg>`;let ue=ae(`div`,{position:`absolute`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`});ue.setAttribute(`aria-live`,`polite`),O.append(se,ce,le,k,ue),ee.appendChild(O);let A=f.createStore(),de=f.createPyramid(),fe={time:A.time,open:new Float64Array,high:new Float64Array,low:new Float64Array,close:new Float64Array,volume:A.volume},pe=0,me=f.createPyramid(),j=[],he=new Map,ge=new Map,_e=[],ve=0,ye=0,be=2,xe=s.DAY,M=D.barSpacing??8,N=NaN,P=0,F=0,Se=h,Ce=0,we=0,I=[],Te=new Map,Ee=new Map,De=null,Oe=0,L=a.readTheme(O),ke=0,Ae=0,R=null,je=0,Me=0,Ne=[],Pe=``,Fe=-1,Ie=0,Le,Re=new Promise(e=>{Le=e}),z=null,B=null,V=null,ze=new Map,Be=null,H=null,U=null,Ve=null,W=D.drawings??[],He=null,Ue=D.drawingMode??`cursor`,We=null,Ge=null,G=null,Ke=0,qe=new Map,Je=null,Ye=null,Xe=``,Ze=NaN,Qe=null,$e=new Map,et=(e,t)=>{$e.get(e)?.forEach(e=>e(t))},K=n.resolveLocale(D.locale),tt=n.localeLabels(u.TRADING_LABELS,K,D.labels),nt=()=>{K=n.resolveLocale(D.locale),tt=n.localeLabels(u.TRADING_LABELS,K,D.labels)},rt=()=>tt,q=()=>A.length,it=()=>D.chartStyle??`candles`,at=()=>D.colorConvention===`redUp`,ot=()=>D.upColor??(at()?b:y),st=()=>D.downColor??(at()?y:b),ct=(e,t=L.primary)=>L.resolve?L.resolve(e,t):t,J=(e,n=1)=>t.toCss(ct(e),n),lt=()=>D.precision??be,ut=s.priceFormatter(2,void 0),dt=``,Y=e=>{if(D.formatPrice)return D.formatPrice(e);let t=`${lt()}|${K}`;return t!==dt&&(ut=s.priceFormatter(lt(),K),dt=t),ut(e)},ft=()=>(D.timeframe===void 0?null:l.parseTimeframe(D.timeframe))??{unit:`ms`,count:xe,ms:xe},pt=()=>ft().ms,X=(e,t=400)=>`${t} ${e}px ${L.fontFamily}`,mt=e=>ge.get(e.id)??e.config.visible??!0,Z=e=>P+(e-N)*M,ht=e=>N-(P-e)/M,gt=e=>{let t=q();if(!t)return 0;let n=Math.round(e);return n<0?A.time[0]+n*pt():n>=t?A.time[t-1]+(n-t+1)*pt():A.time[n]},_t=e=>{let t=q();if(!t)return 0;let n=A.time[t-1];return e>n?t-1+(e-n)/pt():e<A.time[0]?(e-A.time[0])/pt():f.indexOfTime(A.time,t,e)},vt=()=>it()===`heikinAshi`?fe:A,yt=e=>{for(let t of j)he.set(t,Math.min(he.get(t)??0,e));pe=Math.min(pe,e);for(let t of _e)t.valid=Math.min(t.valid,e);let t=t=>{for(let n of t.levels)n&&(n.valid=Math.min(n.valid,Math.floor(e/n.size)))};t(de),t(me)},bt=()=>{let e=q();for(let t of j){let n=he.get(t)??0;n<e&&(t.compute(A,n),he.set(t,e))}if(fe.time=A.time,fe.volume=A.volume,it()===`heikinAshi`&&pe<e){if(fe.open.length<A.capacity)for(let e of[`open`,`high`,`low`,`close`]){let t=new Float64Array(A.capacity);t.set(fe[e].subarray(0,pe)),fe[e]=t}l.heikinAshiInto(A.open,A.high,A.low,A.close,e,fe,pe),pe=e}for(let t of _e)if(!(t.valid>=e)){if(t.values.length<A.capacity){let e=new Float64Array(A.capacity).fill(NaN);e.set(t.values.subarray(0,t.valid)),t.values=e}for(let n=t.valid;n<e;n++){let e=f.lowerBoundTime(t.times,t.times.length,A.time[n]+.5)-1;t.values[n]=e>=0?t.data[e]:NaN}t.valid=e}},xt=e=>{yt(e);let t=q();e<t-1&&ve++,ye++,t&&(be=Math.max(e===0?0:be,s.detectPrecision(A.close,e,t),s.detectPrecision(A.open,Math.max(e,t-50),t)),(e===0||t<80)&&(xe=s.inferTimeframe(A.time,t))),$()},St=()=>{let{studies:e,reused:t}=p.buildStudies(D.indicators??[],j,D.utcOffset??-new Date().getTimezoneOffset());for(let e of j)t.has(e)||he.delete(e);for(let n of e)t.has(n)||he.set(n,0);j=e;for(let e of[...ge.keys()])j.some(t=>t.id===e)||ge.delete(e)},Ct=()=>{_e=(D.compare??[]).map((e,t)=>{let n=[...e.data].sort((e,t)=>e.time-t.time);return{id:e.id??e.name,name:e.name,color:e.color??p.LINE_COLORS[(t+2)%p.LINE_COLORS.length],times:Float64Array.from(n,e=>e.time),data:Float64Array.from(n,e=>e.value),values:new Float64Array,valid:0}})},wt=()=>{let e=q();if(!e||!E(N))return!0;let t=Z(e-1);return t>=0&&t<=P+M*.5},Tt=e=>{f.setBars(A,e),de=f.createPyramid(),me=f.createPyramid(),pe=0,Ze=NaN;for(let e of Te.values())e.auto=!0;N=q()-1+(D.rightOffset??8),H=null,U=null,xt(0)},Et=e=>{let t=q(),n=f.inputLength(e);if(t>=2&&n>=t){let r=f.barAt(e,0).time,i=A.time[t-1];if(r===A.time[0]&&f.barAt(e,t-2).time===A.time[t-2]){let r=wt(),i=t,a=t;for(let r=t-1;r<n;r++){let t=f.updateBar(A,f.barAt(e,r));t>=0&&(a=Math.min(a,t))}r&&(N+=q()-i),a<q()&&xt(a);return}if(f.barAt(e,n-1).time===i&&n>t){let r=n-t;f.setBars(A,e),de=f.createPyramid(),me=f.createPyramid(),pe=0,N+=r,xt(0);return}}Tt(e)},Dt=()=>{let e=j.filter(e=>!e.overlay),t=F,n=e.map(e=>Ee.get(e.id)??e.height),r=n.reduce((e,t)=>e+t,0),i=Math.max(0,t*.62),a=r>i&&r>0?i/r:1,o=n.map(e=>Math.max(_*Math.min(1,a*2),e*a)),s=Math.max(40,t-o.reduce((e,t)=>e+t,0)),c=[],l=(e,t)=>{let n=Te.get(e);return n||(n=d.createScale(t),Te.set(e,n)),n.mode!==t&&(n.mode=t,n.auto=!0),n},u=l(v,D.scaleMode??`linear`);u.top=0,u.height=s,u.marginTop=.1,u.marginBottom=.08,c.push({id:v,study:null,scale:u,top:0,height:s,ticks:[],step:0});let f=s;e.forEach((e,t)=>{let n=l(e.id,`linear`);n.top=f,n.height=o[t],n.marginTop=e.type===`volume`?.18:.14,n.marginBottom=e.type===`volume`?0:.1,e.range&&(n.marginTop=n.marginBottom=.06),c.push({id:e.id,study:e,scale:n,top:f,height:o[t],ticks:[],step:0}),f+=o[t]});for(let e of[...Te.keys()])c.some(t=>t.id===e)||Te.delete(e);I=c},Ot=e=>I.find(t=>e>=t.top&&e<t.top+t.height)??null,Q=()=>{let e=q(),t=Math.min(1,P*.8/Math.max(1,e));M=w(M,Math.max(1e-4,t),g);let n=P/M;E(N)||(N=e-1+(D.rightOffset??8));let r=Math.max(0,e-1)+Math.max(D.rightOffset??8,n*.75),i=Math.min(n*.25,r);N=w(N,i,r)},kt=()=>{let e=q();if(!e)return null;let t=N-P/M,n=M>=2?0:Math.ceil(Math.log2(2/M)),r=2**n,i=vt(),a=n?f.pyramidLevel(it()===`heikinAshi`?me:de,i,e,n):i,o=Math.floor((e-1)/r),s=w(Math.floor(t)-1,0,e-1),c=w(Math.ceil(N)+1,0,e-1),l=w(Math.ceil(t-.5),0,e-1),u=w(Math.floor(N+.5),0,e-1);return{left:t,level:n,size:r,cols:a,g0:Math.floor(s/r),g1:Math.floor(c/r),s0:Math.floor(l/r),s1:Math.floor(u/r),last:o}},At=(e,t)=>t*e.size+(e.size-1)/2,jt=(e,t,n)=>t[Math.min(q()-1,n*e.size+e.size-1)],Mt=(e,t)=>Math.min(e.size,q()-t*e.size),Nt=()=>w(Math.ceil(N-P/M-.5),0,Math.max(0,q()-1)),Pt=e=>{let t=q();for(let n=Nt();n<t;n++){let t=e.values[n];if(E(t)&&t!==0)return t}return NaN},Ft=(e,t,n)=>e.mode===`percent`?(t/n-1)*100:d.toScaled(e,t),It=()=>D.baselinePrice??vt().close[Nt()],Lt=e=>{Oe=0;for(let t of I){let n=t.scale;if(!e)continue;if(t.id===v){n.base=A.close[Nt()]||1;let{cols:t}=e,r=it(),i=r===`line`||r===`area`||r===`baseline`,a=1/0,o=-1/0;for(let n=e.s0;n<=e.s1;n++){let e=i?t.close[n]:t.low[n],r=i?t.close[n]:t.high[n];e<a&&(a=e),r>o&&(o=r)}for(let n of j)if(n.overlay&&mt(n)){if(n.type===`volume`){for(let n=e.s0;n<=e.s1;n++){let r=t.volume[n]/Mt(e,n);r>Oe&&(Oe=r)}continue}for(let t of n.outputs)for(let n=e.s0;n<=e.s1;n++){let r=jt(e,t.values,n);r<a&&(a=r),r>o&&(o=r)}}if(r===`baseline`){let e=It();e<a&&(a=e),e>o&&(o=e)}if(!n.auto)continue;let s=d.toScaled(n,a),c=d.toScaled(n,o);n.mode===`log`&&!(a>0)&&(s=d.toScaled(n,Math.max(o*.001,1e-12)));for(let t of _e){let r=Pt(t);for(let i=e.s0;i<=e.s1;i++){let a=Ft(n,jt(e,t.values,i),r);a<s&&(s=a),a>c&&(c=a)}}d.fitScale(n,s,c);continue}let r=t.study;if(!r||!n.auto)continue;if(r.range){d.fitScale(n,r.range[0],r.range[1]);continue}let i=1/0,a=-1/0;r.type===`volume`&&(i=0);for(let t of r.outputs)for(let n=e.s0;n<=e.s1;n++){let r=t.kind===`volume`?e.cols.volume[n]/Mt(e,n):jt(e,t.values,n);r<i&&(i=r),r>a&&(a=r)}r.type===`macd`&&E(i)&&E(a)&&(i=Math.min(i,0),a=Math.max(a,0)),d.fitScale(n,i,a)}},Rt=(e,t)=>{let n=q();if(!n||!e)return[];let r=pt(),i=r<s.DAY,a=D.utcOffset,o=Math.floor(Math.max(0,Math.ceil(N))/e.size),c=t=>t<=e.last?e.cols.time[t]:A.time[n-1]+(t*e.size-(n-1))*r,l=[],u=e.g0>0?s.shiftTime(c(e.g0-1),a):NaN;for(let t=e.g0;t<=o;t++){let n=s.shiftTime(c(t),a),r=Z(At(e,t)),i=s.boundaryWeight(u,n);r>=-20&&r<=P+20&&i>10&&l.push({x:r,weight:i,time:n}),u=n}t.font=X(L.fontSize);let d=i?`00:00`:`Sep 30`,f=Math.max(t.measureText(d).width,t.measureText(`2024`).width)+34;return s.pickTicks(l,f).filter(e=>e.x>8&&e.x<P-8).map(e=>({x:e.x,text:s.tickText(e.time,e.weight,K,i),bold:e.weight>=(i?50:60)}))},zt=(e,t)=>e.id===v?e.scale.mode===`percent`?s.formatPercent(t,K,Math.min(2,r.stepDecimals(e.step))):Y(d.fromScaled(e.scale,t)):e.study?.compact?s.formatVolume(t,K):s.formatFixed(t,Math.min(4,r.stepDecimals(e.step)),K),Bt=(e,t)=>e.overlay&&e.type!==`volume`?Y(t):e.compact?s.formatVolume(t,K):s.formatFixed(t,e.range?2:Math.max(2,Math.min(6,lt())),K),Vt=(e,n)=>{let r=[],i=e.cols,a=ct(ot()),o=ct(st()),s=t.packColor(a),l=t.packColor(o),u=L.background,f=c.candleMetrics(M*e.size*n,n),p=t=>Z(At(e,t))*n,m=it(),h=Math.max(.5,f.body/2),g={up:t.packColor([a[0],a[1],a[2],.5]),down:t.packColor([o[0],o[1],o[2],.5])};for(let _ of I){let y=_.top*n,b=(_.top+_.height)*n,x=_.scale,C=e=>d.yOf(x,e)*n,w=(t,n,r,i=C)=>(a,o,s)=>{let l=new c.LineBuffer(y,b);for(let n=s?Math.max(e.g0,a-1):a;n<=o;n++)l.push(p(n),i(t(n)));return l.count>1?[l.item(``,0,n,r)]:[]};if(_.id===v){if(j.find(e=>e.overlay&&e.type===`volume`&&mt(e))&&Oe>0){let t=(b-y)*.2;r.push((n,r)=>{let a=new c.BarBuffer;for(let o=n;o<=r;o++){let n=i.volume[o]/Mt(e,o);if(!(n>0))continue;let r=b-n/Oe*t,[s,l]=c.pixelRange(r,b);a.push(f.snap(p(o)),s,l,i.close[o]>=i.open[o]?g.up:g.down)}return[a.item(``,0,h)]})}for(let t of _e){let i=Pt(t),a=ct(t.color);r.push(w(n=>jt(e,t.values,n),a,1.5,e=>d.yOfScaled(x,Ft(x,e,i))*n))}if(m===`line`||m===`area`||m===`baseline`){let t=ct(S);if(m===`area`&&r.push((n,r,a)=>{let o=new c.AreaBuffer(y,b);for(let t=a?Math.max(e.g0,n-1):n;t<=r;t++)o.push(p(t),C(i.close[t]),b);return o.count>1?[o.item(``,0,t,.28)]:[]}),m===`baseline`){let t=C(It());r.push((n,r,s)=>{let l=new c.AreaBuffer(y,b),u=new c.AreaBuffer(y,b),d=new c.LineBuffer(y,b),f=new c.LineBuffer(y,b),m=NaN,h=NaN,g=(e,n)=>{l.push(e,Math.min(n,t),t),u.push(e,Math.max(n,t),t),n<=t?d.push(e,n):d.break(),n>=t?f.push(e,n):f.break()};for(let a=s?Math.max(e.g0,n-1):n;a<=r;a++){let e=p(a),n=C(i.close[a]);if(E(h)&&(h-t)*(n-t)<0){let r=(t-h)/(n-h);g(m+(e-m)*r,t)}g(e,n),m=e,h=n}let _=[];return l.count>1&&_.push(l.item(`u`,0,a,.22),u.item(`d`,0,o,.22)),d.count>1&&_.push(d.item(`ul`,0,a,2)),f.count>1&&_.push(f.item(`dl`,0,o,2)),_})}else r.push(w(e=>i.close[e],t,2))}else{let e=m===`hollowCandles`,t=m===`bars`,n=f.wick,a=f.body;r.push((r,o)=>{let u=new c.BarBuffer,d=new c.BarBuffer,m=new c.BarBuffer,h=new c.BarBuffer,g=Math.max(n,Math.round((a-n)/2));for(let _=r;_<=o;_++){let r=i.open[_],o=i.high[_],v=i.low[_],x=i.close[_];if(!E(r)||!E(x))continue;let S=(e?x>=(_>0?i.close[_-1]:r):x>=r)?s:l,w=f.snap(p(_)),[T,ee]=c.pixelRange(C(o),C(v));if(t){let e=c.clampRange(T,ee,y,b);e&&u.push(w,e[0],e[1],S);for(let[e,t]of[[r,-1],[x,1]]){let r=Math.round(C(e)-n/2);r<y||r+n>b||h.push(w+t*(n/2+g/2),r,r+n,S)}continue}let[te,ne]=c.pixelRange(C(r),C(x));if(a<=n){let e=c.clampRange(T,ee,y,b);e&&u.push(w,e[0],e[1],S);continue}if(e&&x>r){let e=[[T,te],[ne,ee]];for(let[t,n]of e){let e=n>t?c.clampRange(t,n,y,b):null;e&&u.push(w,e[0],e[1],S)}let t=c.clampRange(te,ne,y,b);t&&(u.push(w-a/2+n/2,t[0],t[1],S),u.push(w+a/2-n/2,t[0],t[1],S));for(let e of[te,ne-n])e>=y&&e+n<=b&&m.push(w,e,e+n,S);continue}let re=c.clampRange(T,ee,y,b);re&&u.push(w,re[0],re[1],S);let D=c.clampRange(te,ne,y,b);D&&d.push(w,D[0],D[1],S)}let _=[u.item(`w`,0,n/2)];return d.count&&_.push(d.item(`b`,0,a/2)),m.count&&_.push(m.item(`c`,0,a/2)),h.count&&_.push(h.item(`t`,0,g/2)),_})}}let T=_.id===v?j.filter(e=>e.overlay&&e.type!==`volume`):_.study?[_.study]:[];for(let n of T)if(mt(n))for(let d of n.outputs)if(d.kind===`volume`){let t=C(0);r.push((n,r)=>{let a=new c.BarBuffer;for(let o=n;o<=r;o++){let n=i.volume[o]/Mt(e,o);if(!(n>0))continue;let r=c.clampRange(...c.pixelRange(C(n),t),y,b);r&&a.push(f.snap(p(o)),r[0],r[1],i.close[o]>=i.open[o]?g.up:g.down)}return[a.item(``,0,h)]})}else if(d.kind===`histogram`){let n=C(0),i={up:s,down:l},m={up:t.packColor(t.mix(u,a,.45)),down:t.packColor(t.mix(u,o,.45))};r.push((t,r)=>{let a=new c.BarBuffer;for(let o=t;o<=r;o++){let t=jt(e,d.values,o);if(!E(t))continue;let r=o>0?jt(e,d.values,o-1):t,s=t>=0?t>=r?i.up:m.up:t<=r?i.down:m.down,l=c.clampRange(...c.pixelRange(C(t),n),y,b);l&&a.push(f.snap(p(o)),l[0],l[1],s)}return[a.item(``,0,h)]})}else r.push(w(t=>jt(e,d.values,t),ct(d.color),d.width))}return r},Ht=(e,t,n,r)=>{let i=Math.min(n.g1,n.last-1),a=r?n.last>=n.g0&&n.last<=n.g1?e(n.last,n.last,!0):[]:i>=n.g0?e(n.g0,i,!1):[],o=++Ie;return a.map((e,n)=>({...e,key:`L${t}:${n}:${e.kind}:${e.key}${r?`:live`:``}`,version:o}))},Ut=(t,n)=>{if(!R)return;let r=R.canvas;e.styleElement(r,{left:`0px`,top:`0px`,width:`${P}px`,height:`${F}px`});let i=Math.max(1,Math.round(P*n)),a=Math.max(1,Math.round(F*n));if((r.width!==i||r.height!==a)&&R.resize(i,a),t){let e=[i,a,n,M,N,t.level,it(),ve,ke,Ae,Oe,it()===`baseline`?It():0,...I.map(e=>`${e.id}:${e.top}:${e.height}:${e.scale.min}:${e.scale.max}:${e.scale.base}:${e.scale.mode}`),...j.map(e=>`${e.id}:${mt(e)}`)].join(`|`);e===Pe?Fe!==ye&&(Fe=ye,Ne.forEach((e,n)=>{e.live=Ht(e.fn,n,t,!0)})):(Pe=e,Fe=ye,Ne=Vt(t,n).map(e=>({fn:e,main:[],live:[]})),Ne.forEach((e,n)=>{e.main=Ht(e.fn,n,t,!1),e.live=Ht(e.fn,n,t,!0)}))}else Ne=[],Pe=``;let o=Ne.flatMap(e=>[...e.main,...e.live]);R.render(o,{transform:{xScale:2/i,xOffset:-1,yScale:-2/a,yOffset:1},width:i,height:a,dpr:n})},Wt=(e,t)=>{let n=Math.max(1,Math.round(Ce*t)),r=Math.max(1,Math.round(we*t));e.width!==n&&(e.width=n),e.height!==r&&(e.height=r),e.style.width=`${Ce}px`,e.style.height=`${we}px`},Gt=(e,t,n,r,i,a)=>{e.beginPath(),typeof e.roundRect==`function`?e.roundRect(t,n,r,i,a):e.rect(t,n,r,i)},Kt=(e,n,r)=>{let i=t.toCss(L.grid),a=D.grid!==!1;if(e.lineWidth=1,a){e.strokeStyle=i,e.beginPath();for(let t of r){let n=Math.round(t.x)+.5;e.moveTo(n,0),e.lineTo(n,F)}for(let t of I)for(let n of t.ticks){let r=Math.round(d.yOfScaled(t.scale,n))+.5;r<t.top+2||r>t.top+t.height-2||(e.moveTo(0,r),e.lineTo(P,r))}e.stroke()}if(D.watermark){let n=I[0];e.save(),e.font=X(Math.min(56,Math.max(22,P/14)),700),e.fillStyle=t.toCss(L.text,.07),e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(D.watermark,P/2,n.top+n.height/2),e.restore()}for(let n of I){let r=n.study;if(r?.bands&&mt(r)){let i=ct(r.outputs[0]?.color??S),a=r.bands.map(e=>Math.round(d.yOf(n.scale,e))+.5);r.type===`rsi`&&a.length===2&&(e.fillStyle=t.toCss(i,.07),e.fillRect(0,Math.min(a[0],a[1]),P,Math.abs(a[1]-a[0]))),e.save(),e.setLineDash([4,4]),e.strokeStyle=t.toCss(L.textMuted,.45),e.beginPath();for(let t of a)t<n.top||t>n.top+n.height||(e.moveTo(0,t),e.lineTo(P,t));e.stroke(),e.restore()}}if(n){let t=I[0];for(let r of j){if(r.type!==`boll`||!r.fill||!mt(r))continue;let[i,a]=r.fill,o=r.outputs[i].values,s=r.outputs[a].values;e.save(),e.beginPath(),e.rect(0,t.top,P,t.height),e.clip(),e.fillStyle=J(r.outputs[i].color,.07),e.beginPath();let c=!1,l=[],u=()=>{for(let t=l.length-1;t>=0;t--)e.lineTo(l[t][0],l[t][1]);c&&e.closePath(),l.length=0,c=!1};for(let r=n.g0;r<=n.g1;r++){let i=jt(n,o,r),a=jt(n,s,r);if(!E(i)||!E(a)){u();continue}let f=Z(At(n,r)),p=d.yOf(t.scale,i);c?e.lineTo(f,p):e.moveTo(f,p),c=!0,l.push([f,d.yOf(t.scale,a)])}u(),e.fill(),e.restore()}}e.strokeStyle=t.toCss(L.axis),e.beginPath();for(let t of I.slice(1)){let n=Math.round(t.top)+.5;e.moveTo(0,n),e.lineTo(Ce,n)}e.moveTo(Math.round(P)+.5,0),e.lineTo(Math.round(P)+.5,we),e.moveTo(0,Math.round(F)+.5),e.lineTo(Ce,Math.round(F)+.5),e.stroke()},qt=(e,t,n,r,i,a)=>{let o=a?32:18,s=w(Math.round(t-9),0,F-o);Gt(e,P+1,s,Se-2,o,3),e.fillStyle=r,e.fill(),e.fillStyle=i,e.textAlign=`left`,e.textBaseline=`middle`,e.font=X(L.fontSize,500),e.fillText(n,P+7,s+9.5),a&&(e.font=X(L.fontSize-1),e.fillText(a,P+7,s+24))},Jt=e=>I[0]?.scale.mode===`percent`?s.formatPercent(d.toScaled(I[0].scale,e),K):Y(e),Yt=e=>{if(e.color)return J(e.color);let t=e.kind??`line`;return J(t===`takeProfit`?ot():t===`stopLoss`?st():t===`alert`?x:t===`line`?S:e.side===`sell`?st():ot())},Xt=e=>qe.get(e.id)??e.price,Zt=()=>{if(!De||!I.length)return null;if(B!==null){let e=B,t=e>=0&&e<q()?vt().close[e]:NaN;return{index:e,pane:I[0],y:d.yOf(I[0].scale,t),price:t}}if(!z||z.x>P||z.y>F)return null;let e=Ot(z.y);if(!e)return null;let t=Math.round(ht(z.x)),n=z.y,r=d.valueAt(e.scale,n);if(e.id===v&&D.crosshair!==`free`&&t>=0&&t<q()&&Ue===`cursor`){let i=vt(),a=1/0;for(let o of[i.open[t],i.high[t],i.low[t],i.close[t]]){let t=d.yOf(e.scale,o);Math.abs(t-z.y)<a&&(a=Math.abs(t-z.y),n=t,r=o)}}return{index:t,pane:e,y:n,price:r}},Qt=()=>{let e=I[0];return e?{x:Z,y:t=>d.yOf(e.scale,t),index:_t,left:0,right:P,top:e.top,bottom:e.top+e.height}:null},$t=(e,t)=>{let n=rt(),r=Math.abs(t),i=[],a=Math.floor(r/s.DAY),o=Math.floor(r%s.DAY/s.HOUR),c=Math.floor(r%s.HOUR/s.MINUTE);return a&&i.push(u.fill(n.days,{count:a})),o&&i.push(u.fill(n.hours,{count:o})),c&&!a&&i.push(u.fill(n.minutes,{count:c})),`${u.fill(rt().bars,{count:e})}, ${i.join(` `)||u.fill(n.minutes,{count:0})}`},en=(e,n,r)=>{let i=I[0];if(!i)return;let a=q(),c=t.toCss(L.text),l=t.toCss(L.textMuted),u=t.toCss(L.background),f=J(ot()),p=J(st());if(e.save(),e.beginPath(),e.rect(0,i.top,P,i.height),e.clip(),n&&D.highLowMarkers!==!1&&it()!==`line`&&it()!==`area`&&it()!==`baseline`){let t=-1/0,r=1/0,a=-1,o=-1;for(let e=n.s0;e<=n.s1;e++)n.cols.high[e]>t&&(t=n.cols.high[e],a=e),n.cols.low[e]<r&&(r=n.cols.low[e],o=e);e.font=X(L.fontSize),e.fillStyle=l,e.strokeStyle=l,e.lineWidth=1;for(let[s,c,l]of[[a,t,!1],[o,r,!0]]){if(s<0||!E(c))continue;let t=Z(At(n,s)),r=d.yOf(i.scale,c)+(l?9:-9),a=t>P*.6,o=Y(c);e.textBaseline=`middle`,e.textAlign=a?`right`:`left`,e.beginPath(),e.moveTo(t,r),e.lineTo(t+(a?-14:14),r),e.stroke(),e.fillText(o,t+(a?-17:17),r)}}if(n&&D.markers?.length){let t=new Map;e.font=X(L.fontSize,600),e.textAlign=`center`;let r=D.markers.length>400;for(let o of D.markers){let s=_t(o.time);if(s<0||s>a-1)continue;let c=Math.floor(s/n.size);if(c<n.g0||c>n.g1)continue;let l=Math.round(Z(At(n,c))),m=o.side===`sell`,h=o.color?J(o.color):m?p:f,g=`${c}:${m}`,_=t.get(g)??0;t.set(g,_+(o.text&&!r?30:16));let v=d.yOf(i.scale,m?n.cols.high[c]:n.cols.low[c]),y=m?-1:1,b=v+y*(6+_);e.fillStyle=h,e.beginPath(),e.moveTo(l,b),e.lineTo(l-5.5,b+y*7),e.lineTo(l-2,b+y*7),e.lineTo(l-2,b+y*12),e.lineTo(l+2,b+y*12),e.lineTo(l+2,b+y*7),e.lineTo(l+5.5,b+y*7),e.closePath(),e.fill(),o.text&&!r&&(e.textBaseline=m?`bottom`:`top`,e.fillText(o.text,l,b+y*14)),o.price!==void 0&&E(o.price)&&(e.beginPath(),e.arc(l,d.yOf(i.scale,o.price),3,0,Math.PI*2),e.fill(),e.lineWidth=1.5,e.strokeStyle=u,e.stroke())}}let h=Qt();if(h){let t=e=>({color:J(e.color??S),text:c,background:u,up:f,down:p,font:X(L.fontSize,500),formatPrice:Y,formatPercent:e=>s.formatPercent(e,K),formatSpan:$t,textOn:T});for(let n of W)o.paintDrawing(e,n,h,t(n),{selected:n.id===We,hovered:n.id===Ge});G&&o.paintDrawing(e,G,h,t(G),{selected:!0,hovered:!1})}let g=a?A.close[a-1]:NaN;for(let t of D.priceLines??[]){let n=Xt(t),r=Math.round(d.yOf(i.scale,n))+.5;if(!E(r)||r<i.top||r>i.top+i.height)continue;let a=Yt(t),s=t.kind??`line`,c=t.lineStyle??(s===`position`||s===`line`?`solid`:`dashed`);e.save(),e.strokeStyle=a,e.lineWidth=Je===t.id||V?.kind===`order`&&V.line.id===t.id?1.5:1,o.setDash(e,c,1),e.beginPath(),e.moveTo(0,r),e.lineTo(P,r),e.stroke(),e.restore();let l=C[s],m=t.title??(l?rt()[l]:``),h=[];if(m&&h.push({text:m,fill:a,color:T(a)}),t.quantity!==void 0&&t.quantity!==``&&h.push({text:String(t.quantity),fill:u,color:a}),s===`position`&&typeof t.quantity==`number`&&E(g)){let e=(g-n)*t.quantity*(t.side===`sell`?-1:1),r=e>=0?f:p;h.push({text:`${e>=0?`+`:`−`}${Y(Math.abs(e))}`,fill:r,color:T(r)})}if(!h.length&&!t.draggable)continue;e.font=X(L.fontSize,600);let _=h.map(t=>e.measureText(t.text).width+12),v=t.draggable?14:0,y=_.reduce((e,t)=>e+t,0)+v,b=Math.round(P-y-56),x=Math.round(r-9.5);if(Gt(e,b-.5,x-.5,y+1,19,3),e.fillStyle=u,e.fill(),e.strokeStyle=a,e.lineWidth=1,e.setLineDash([]),e.stroke(),v){e.fillStyle=a;for(let t=0;t<3;t++)e.fillRect(b+4,x+5+t*3.5,6,1.5);b+=v}e.textBaseline=`middle`,e.textAlign=`center`,h.forEach((t,n)=>{t.fill!==u&&(e.fillStyle=t.fill,e.fillRect(b,x,_[n],18)),e.fillStyle=t.color,e.fillText(t.text,b+_[n]/2,x+9.5),b+=_[n]})}let _=D.lastPriceLine!==!1&&a>0,y=a>0&&A.close[a-1]>=A.open[a-1]?f:p;if(_){let t=Math.round(d.yOf(i.scale,g))+.5;e.save(),e.strokeStyle=y,e.setLineDash([1,2]),e.beginPath(),e.moveTo(0,t),e.lineTo(P,t),e.stroke(),e.restore()}e.restore();let b=[];for(let e of D.priceLines??[])b.push(d.yOf(i.scale,Xt(e)));for(let e of W)e.type===`horizontalLine`&&e.points[0]&&b.push(d.yOf(i.scale,e.points[0].price));_&&b.push(d.yOf(i.scale,g)+(D.countdown?7:0)),e.font=X(L.fontSize),e.textAlign=`left`,e.textBaseline=`middle`,e.fillStyle=l;for(let t of I)for(let n of t.ticks){let r=d.yOfScaled(t.scale,n);if(r<t.top+8||r>t.top+t.height-8)continue;let i=D.countdown?18:14;t.id===v&&b.some(e=>Math.abs(e-r)<i)||e.fillText(zt(t,n),P+8,r)}e.textAlign=`center`;for(let t of r)e.font=X(L.fontSize,t.bold?600:400),e.fillStyle=t.bold?c:l,e.fillText(t.text,t.x,F+m/2);for(let t of D.priceLines??[]){let n=Xt(t),r=d.yOf(i.scale,n);if(!E(r)||r<i.top||r>i.top+i.height)continue;let a=Yt(t);qt(e,r,Jt(n),a,T(a))}for(let t of W){if(t.type!==`horizontalLine`||!t.points[0])continue;let n=t.points[0].price,r=d.yOf(i.scale,n);if(r<i.top||r>i.top+i.height)continue;let a=J(t.color??S);qt(e,r,Jt(n),a,T(a))}if(_){let t;if(D.countdown){let e=ft(),n=A.time[a-1],r=n+e.ms;if(e.unit===`month`){let t=new Date(n);r=Date.UTC(t.getUTCFullYear(),t.getUTCMonth()+e.count,t.getUTCDate(),t.getUTCHours(),t.getUTCMinutes())}t=s.formatCountdown(r-Date.now(),rt())}qt(e,d.yOf(i.scale,g),Jt(g),y,T(y),t)}let x=Zt();if(x&&n){let n=Math.round(Z(x.index))+.5;e.save(),e.strokeStyle=t.toCss(L.textMuted,.75),e.lineWidth=1,e.setLineDash([4,3]),e.beginPath(),n>=0&&n<=P&&(e.moveTo(n,0),e.lineTo(n,F));let r=Math.round(x.y)+.5;E(r)&&r>=x.pane.top&&r<=x.pane.top+x.pane.height&&(e.moveTo(0,r),e.lineTo(P,r)),e.stroke(),e.restore();let i=t.toCss(L.text);if(E(x.y)&&x.y>=x.pane.top&&x.y<=x.pane.top+x.pane.height){let t=d.scaledAt(x.pane.scale,x.y),n=x.pane.id===v?Jt(d.fromScaled(x.pane.scale,t)):zt(x.pane,t);qt(e,x.y,n,i,u)}if(n>=0&&n<=P&&a){let t=s.formatCrosshairTime(s.shiftTime(gt(x.index),D.utcOffset),pt(),K);e.font=X(L.fontSize,500);let r=e.measureText(t).width+16,a=w(n-r/2,0,Ce-r);Gt(e,a,F+3,r,21,3),e.fillStyle=i,e.fill(),e.fillStyle=u,e.textAlign=`center`,e.textBaseline=`middle`,e.fillText(t,a+r/2,F+14)}}},tn=``,nn=new Map,rn=new Map,an=e=>{let t=rn.get(e);return t||(t=ae(`div`,{position:`absolute`,left:`8px`,display:`flex`,flexDirection:`column`,alignItems:`flex-start`,gap:`1px`,maxWidth:`calc(100% - 16px)`,fontSize:`12px`,lineHeight:`18px`,fontVariantNumeric:`tabular-nums`,whiteSpace:`nowrap`,pointerEvents:`none`}),le.appendChild(t),rn.set(e,t)),t},on=(e,t,n,r)=>{let i=ae(`div`,{display:`flex`,alignItems:`center`,gap:`6px`,padding:`0 4px`,marginLeft:`-4px`,borderRadius:`4px`,background:`color-mix(in srgb, var(--surface-color, var(--background-color, #fff)) 86%, transparent)`}),a=null;if(n)a=ae(`button`,{all:`unset`,cursor:`pointer`,pointerEvents:`auto`,color:`var(--text-color, #1f2937)`,fontWeight:`500`,borderRadius:`3px`}),a.type=`button`,a.textContent=t,a.setAttribute(`aria-label`,u.fill(rt().toggleIndicator,{name:t})),a.addEventListener(`click`,e=>{e.stopPropagation();let t=!mt(n);ge.set(n.id,t),et(`indicatorToggle`,{id:n.id,visible:t}),un(),$()}),a.addEventListener(`pointerdown`,e=>e.stopPropagation()),i.appendChild(a);else if(t){let e=ae(`span`,{fontWeight:`600`});e.textContent=t,i.appendChild(e)}let o=[];for(let e=0;e<r;e++){let e=ae(`span`,{});i.appendChild(e),o.push(e)}return e.appendChild(i),{row:i,values:o,button:a}},sn=()=>{nn.clear();for(let e of rn.values())e.remove();if(rn.clear(),D.legend===!1)return;let e=an(v),t=[D.symbol,D.labels?.timeframe??(typeof D.timeframe==`string`?D.timeframe:``)].filter(Boolean).join(` · `);nn.set(`ohlc`,on(e,t,null,1));for(let t of j)t.overlay&&t.type===`volume`?nn.set(t.id,on(e,cn(t),t,1)):t.overlay&&nn.set(t.id,on(e,cn(t),t,t.outputs.length));for(let t of _e)nn.set(`compare:${t.id}`,on(e,``,null,1));for(let e of j)e.overlay||nn.set(e.id,on(an(e.id),cn(e),e,e.outputs.length))},cn=e=>e.type===`volume`?rt().volume:e.title,ln=(e,t,n)=>{if(!e)return;e.textContent!==t&&(e.textContent=t);let r=n??``;e.style.color!==r&&(e.style.color=r)},un=()=>{let e=[D.legend!==!1,D.symbol,D.timeframe,...j.map(e=>`${e.id}:${cn(e)}:${e.outputs.length}`),..._e.map(e=>e.id),tt.toggleIndicator,D.labels?.timeframe].join(`|`);if(e!==tn&&(tn=e,sn()),D.legend===!1)return;for(let e of I){let t=rn.get(e.id);t&&(t.style.top=`${e.top+6}px`)}let t=q(),n=Zt(),r=w(n&&n.index>=0&&n.index<t?n.index:t-1,0,Math.max(0,t-1)),i=rt(),a=nn.get(`ohlc`),o=J(ot()),c=J(st());if(a&&t){let e=vt(),t=e.open[r],n=e.close[r],l=r>0?e.close[r-1]:t,u=n-l,d=n>=t?o:c,f=a.values[0],p=[[i.open,e.open[r]],[i.high,e.high[r]],[i.low,e.low[r]],[i.close,n]].map(([e,t])=>`<span style="color:var(--text-secondary-color,#6b7280)">${dn(String(e))}</span><span style="color:${d}">${dn(Y(t))}</span>`).join(` `),m=l?u/l*100:NaN,h=`${p} ${`${i.change?`<span style="color:var(--text-secondary-color,#6b7280)">${dn(i.change)}</span>`:``}<span style="color:${u>=0?o:c}">${u>=0?`+`:`−`}${dn(Y(Math.abs(u)))} (${dn(s.formatPercent(m,K))})</span>`}${A.hasVolume?` <span style="color:var(--text-secondary-color,#6b7280)">${dn(i.volume)}</span>${dn(s.formatVolume(A.volume[r],K))}`:``}`;f&&f.dataset.html!==h&&(f.innerHTML=h,f.dataset.html=h,f.style.display=`inline-flex`,f.style.gap=`4px`,f.style.flexWrap=`wrap`)}for(let e of j){let n=nn.get(e.id);if(!n)continue;let i=mt(e);n.row.style.opacity=i?`1`:`0.5`,n.button&&(n.button.setAttribute(`aria-pressed`,String(i)),n.button.style.textDecoration=i?`none`:`line-through`);let a=e.outputs.length;e.outputs.forEach((l,u)=>{let d=n.values[e.type===`macd`?(u+a-1)%a:u];if(!i||!t){ln(d,``);return}if(l.kind===`volume`){let e=A.close[r]>=A.open[r]?o:c;ln(d,s.formatVolume(A.volume[r],K),e);return}let f=l.values[r],p=l.color?J(l.color):void 0;l.kind===`histogram`&&(p=f>=0?o:c);let m=e.outputs.length>1&&e.type!==`boll`?`${l.label} `:``;ln(d,`${m}${Bt(e,f)}`,p)})}for(let e of _e){let t=nn.get(`compare:${e.id}`);if(!t)continue;let n=e.values[r],i=Pt(e),a=E(i)?(n/i-1)*100:NaN;ln(t.values[0],`${e.name} ${Y(n)} ${s.formatPercent(a,K)}`,J(e.color))}},dn=e=>e.replace(/[&<>"]/g,e=>e===`&`?`&amp;`:e===`<`?`&lt;`:e===`>`?`&gt;`:`&quot;`),$=()=>{ie||Me||(Me=re?.requestAnimationFrame?re.requestAnimationFrame(mn):setTimeout(()=>mn(Date.now()),16))},fn=e=>{let t=!1;if(U){let n=Math.min(1,(e-U.start)/320),r=1-(1-n)**3;N=U.from+(U.to-U.from)*r,n>=1?U=null:t=!0}if(H){let n=Math.min(64,e-H.t);H.t=e;let r=N;N-=H.v*n/M,H.v*=Math.exp(-n/320),Q(),Math.abs(H.v)<.02||N===r?H=null:t=!0}return t},pn=e=>{e.font=X(L.fontSize,500);let t=0;for(let n of I)for(let r of n.ticks)t=Math.max(t,e.measureText(zt(n,r)).width);let n=q();n&&(t=Math.max(t,e.measureText(Jt(A.close[n-1])).width),D.countdown&&(t=Math.max(t,e.measureText(`00:00:00`).width)));let r=Math.max(h,Math.ceil(t+18));(r>Se||r<Se-12)&&(Se=r)};function mn(e){if(Me=0,ie||(Ce=O.clientWidth,we=O.clientHeight,Ce<=0||we<=0))return;let t=fn(typeof performance<`u`?performance.now():e??Date.now()),n=re?.devicePixelRatio||1;bt(),Wt(se,n),Wt(ce,n);let r=se.getContext(`2d`),i=ce.getContext(`2d`);F=Math.max(1,we-m);for(let e=0;e<2;e++){P=Math.max(1,Ce-Se),Dt(),Ve&&yn(Ve),Q(),De=kt(),Lt(De);for(let e of I){let t=d.scaleTicks(e.scale,e.id===v?44:30),n=e.study?.range,r=e.study?.bands;e.ticks=n&&r?[...r,(n[0]+n[1])/2].sort((e,t)=>e-t):t.scaled,e.step=t.step}let e=Se;if(i&&pn(i),Se===e)break}let a=De;Ve=null;let o=i?Rt(a,i):[];Ut(a,n),r&&(r.setTransform(n,0,0,n,0,0),r.clearRect(0,0,Ce,we),Kt(r,a,o)),i&&(i.setTransform(n,0,0,n,0,0),i.clearRect(0,0,Ce,we),en(i,a,o)),un(),hn(),_n(),t&&$()}let hn=()=>{let e=q(),t=I[0],n=e>0&&t&&Z(e-1)>P+M*.5;if(k.style.display=n?`flex`:`none`,n&&t){k.style.left=`${P-40}px`,k.style.top=`${t.top+t.height-40}px`;let e=rt().scrollToRealtime;k.getAttribute(`aria-label`)!==e&&(k.setAttribute(`aria-label`,e),k.title=e)}},gn=()=>{let e=N-P/M;return{from:e,to:N,fromTime:gt(e),toTime:gt(N)}},_n=()=>{let e=q();if(!e)return;let t=gn();(!Ye||Math.abs(Ye.from-t.from)>1e-6||Math.abs(Ye.to-t.to)>1e-6)&&(Ye=t,et(`visibleRangeChange`,t)),t.from<10&&Ze!==A.time[0]&&(Ze=A.time[0],et(`historyRequest`,{firstTime:A.time[0],count:e}));let n=Zt(),r=n?`${n.index}|${n.price}|${n.pane.id}`:``;if(r!==Xe){if(Xe=r,!n)et(`crosshairMove`,null);else{let t={index:n.index,time:gt(n.index),bar:n.index>=0&&n.index<e?f.readBar(A,n.index):null,price:n.price,pane:n.pane.id,x:Z(n.index),y:n.y};et(`crosshairMove`,t)}}},vn=e=>{let t=O.getBoundingClientRect();return{x:e.clientX-t.left,y:e.clientY-t.top}},yn=e=>{M=P/(e.to-e.from),N=e.to,Q()},bn=(e,t)=>{let n=q();n&&wt()&&(e=Math.min(P,Z(n-1)));let r=ht(e);M*=t,Q(),N=r+(P-e)/M,Q(),H=null,U=null,$()},xn=(e,t)=>{let n=Math.round(ht(e));return{time:gt(n),price:d.valueAt(I[0].scale,t)}},Sn=(e,t)=>{e!==Ue&&(Ue=e,G=null,t&&et(`drawingToolChange`,e),$())},Cn=e=>{e!==We&&(We=e,et(`drawingSelect`,e),$())},wn=e=>{W=e,He=e,et(`drawingsChange`,e),$()},Tn=()=>{if(!G)return;let e=G;G=null,wn([...W,e]),Cn(e.id),D.keepDrawingMode||Sn(`cursor`,!0)},En=(e,t)=>{let n=I[0];if(!n||e>P)return null;for(let e of D.priceLines??[])if(e.draggable&&Math.abs(d.yOf(n.scale,Xt(e))-t)<=5)return e;return null},Dn=(e,t)=>{let n=Qt();if(!n||t<n.top||t>n.bottom||e>P)return null;for(let r=W.length-1;r>=0;r--){let i=o.hitDrawing(W[r],n,{x:e,y:t});if(i)return{drawing:W[r],hit:i}}return null},On=e=>{for(let t=1;t<I.length;t++)if(Math.abs(I[t].top-e)<=4)return t;return-1},kn=(e,t)=>{let n=`crosshair`;Je=null;let r=null;if(V?.kind===`pan`&&V.moved)n=`grabbing`;else if(On(t)>0)n=`row-resize`;else if(e>P&&t<F)n=`ns-resize`;else if(t>F)n=`ew-resize`;else if(Ue===`cursor`){let i=En(e,t);if(i)n=`ns-resize`,Je=i.id;else{let i=Dn(e,t);i&&(r=i.drawing.id,n=i.drawing.locked?`pointer`:i.hit.part===`handle`?`move`:`pointer`)}}r!==Ge&&(Ge=r),O.style.cursor!==n&&(O.style.cursor=n)},An=e=>{if(e.button!==0&&e.pointerType===`mouse`)return;let{x:t,y:n}=vn(e);if(z={x:t,y:n},B=null,H=null,U=null,e.pointerType===`touch`&&(ze.set(e.pointerId,{x:t,y:n}),ze.size===2)){let[e,t]=[...ze.values()];Be={distance:Math.hypot(e.x-t.x,e.y-t.y),spacing:M},V=null;return}try{O.setPointerCapture(e.pointerId)}catch{}let r=On(n);if(r>0){let e=I[r-1],t=I[r];V={kind:`separator`,index:r,y:n,above:e.height,below:t.height};return}if(t>P&&n<F){let e=Ot(n);e&&(V={kind:`axisY`,pane:e,y:n,min:e.scale.min,max:e.scale.max});return}if(n>F){V={kind:`axisX`,x:t,spacing:M};return}let i=Ot(n);if(Ue!==`cursor`&&i?.id===v&&q()){let e=xn(t,n);if(G){G={...G,points:[G.points[0],e]},Tn(),V=null;return}let r=Ue;if(G={id:`drawing-${Date.now().toString(36)}-${++Ke}`,type:r,points:o.anchorCount(r)===1?[e]:[e,e]},o.anchorCount(r)===1){Tn();return}V={kind:`create`,x:t,y:n,moved:!1},$();return}if(Ue===`cursor`){let e=En(t,n);if(e){V={kind:`order`,line:e,startPrice:e.price};return}let r=Dn(t,n);if(r){Cn(r.drawing.id),r.drawing.locked||(V={kind:`drawing`,id:r.drawing.id,handle:r.hit.part===`handle`?r.hit.index:-1,x:t,y:n,original:r.drawing,moved:!1});return}}V={kind:`pan`,x:t,y:n,right:N,pane:i,moved:!1,lastX:t,lastY:n,lastT:e.timeStamp,velocity:0}},jn=e=>{let{x:t,y:n}=vn(e);if(z={x:t,y:n},e.pointerType===`touch`&&ze.has(e.pointerId)&&(ze.set(e.pointerId,{x:t,y:n}),Be&&ze.size===2)){let[e,t]=[...ze.values()],n=Math.hypot(e.x-t.x,e.y-t.y),r=q(),i=r&&wt()?Math.min(P,Z(r-1)):(e.x+t.x)/2,a=ht(i);M=Be.spacing*n/Math.max(1,Be.distance),Q(),N=a+(P-i)/M,Q(),$();return}let r=V;if(!r){kn(t,n),$();return}switch(r.kind){case`pan`:{let i=t-r.x;if(!r.moved&&Math.hypot(i,n-r.y)<3)break;r.moved=!0,N=r.right-i/M,r.pane&&!r.pane.scale.auto&&d.panScale(r.pane.scale,n-r.lastY),r.lastY=n;let a=Math.max(1,e.timeStamp-r.lastT);r.velocity=.6*((t-r.lastX)/a)+.4*r.velocity,r.lastX=t,r.lastT=e.timeStamp,Q(),O.style.cursor=`grabbing`;break}case`axisY`:{let e=r.pane.scale;e.min=r.min,e.max=r.max,d.zoomScale(e,Math.exp((n-r.y)*.006));break}case`axisX`:{let e=N;M=r.spacing*Math.exp((t-r.x)*.006),Q(),N=e,Q();break}case`separator`:{let e=n-r.y,t=I[r.index-1],i=I[r.index];if(!t||!i)break;let a=r.above+r.below,o=w(r.below-e,_,a-_);Ee.set(i.id,o),t.id!==v&&Ee.set(t.id,a-o);break}case`order`:{let e=d.valueAt(I[0].scale,n),t=10**-lt();qe.set(r.line.id,Math.round(e/t)*t);break}case`drawing`:{if(!r.moved&&Math.hypot(t-r.x,n-r.y)<3)break;r.moved=!0;let e=I[0].scale,i=Math.round(ht(t)-ht(r.x)),a=d.scaledAt(e,n)-d.scaledAt(e,r.y),o=r.original.points.map((o,s)=>r.handle>=0&&s!==r.handle?o:r.handle>=0?xn(t,n):{time:gt(Math.round(_t(o.time))+i),price:d.fromScaled(e,d.toScaled(e,o.price)+a)});W=W.map(e=>e.id===r.id?{...e,points:o}:e);break}case`create`:G&&(Math.hypot(t-r.x,n-r.y)>=4&&(r.moved=!0),G={...G,points:[G.points[0],xn(t,n)]})}$()},Mn=e=>{ze.delete(e.pointerId),ze.size<2&&(Be=null);let t=V;V=null;let{x:n,y:r}=vn(e);if(e.pointerType===`touch`&&(z=null),!t){$();return}switch(t.kind){case`pan`:if(t.moved)D.kineticScroll!==!1&&e.timeStamp-t.lastT<60&&Math.abs(t.velocity)>.25&&(H={v:t.velocity,t:typeof performance<`u`?performance.now():Date.now()});else{We&&Cn(null);let e=Ot(r);e&&n<=P&&et(`click`,{index:Math.round(ht(n)),time:gt(Math.round(ht(n))),price:d.valueAt(e.scale,r),pane:e.id})}break;case`order`:{let e=qe.get(t.line.id);e!==void 0&&e!==t.startPrice?et(`orderMove`,{id:t.line.id,price:e,previousPrice:t.startPrice,line:t.line}):qe.delete(t.line.id);break}case`drawing`:t.moved&&wn(W);break;case`create`:t.moved&&Tn()}kn(n,r),$()},Nn=e=>{V||e.pointerType===`touch`||(z=null,Ge=null,Je=null,$())},Pn=e=>{let t=D.wheel??`zoom`;if(t===`none`)return;let{x:n}=vn(e),r=e.deltaMode===1?16:e.deltaMode===2?P:1,i=e.deltaX*r,a=e.deltaY*r,o=e.ctrlKey||e.metaKey;if(t===`modifier`&&!o&&Math.abs(i)<=Math.abs(a))return;if(e.preventDefault(),B=null,Math.abs(i)>Math.abs(a)||e.shiftKey){N+=(Math.abs(i)>Math.abs(a)?i:a)/M,Q(),H=null,$();return}let s=Math.exp(-a*(e.ctrlKey?.01:.0015));bn(Math.min(n,P),s)},Fn=e=>{let{x:t,y:n}=vn(e);if(t>P&&n<F){let e=Ot(n);e&&(e.scale.auto=!0)}else if(n>F)M=D.barSpacing??8,Wn.scrollToRealtime(!0);else for(let e of Te.values())e.auto=!0;$()},In=e=>{if(e<0||e>=q())return;let t=vt(),n=rt();ue.textContent=u.fill(n.announcement,{time:s.formatCrosshairTime(s.shiftTime(A.time[e],D.utcOffset),pt(),K),open:Y(t.open[e]),high:Y(t.high[e]),low:Y(t.low[e]),close:Y(t.close[e])})};O.addEventListener(`pointerdown`,An),O.addEventListener(`pointermove`,jn),O.addEventListener(`pointerup`,Mn),O.addEventListener(`pointercancel`,Mn),O.addEventListener(`pointerleave`,Nn),O.addEventListener(`wheel`,Pn,{passive:!1}),O.addEventListener(`dblclick`,Fn),O.addEventListener(`keydown`,e=>{let t=q(),n=Math.max(1,Math.floor(P/M/2)),r=e=>{B=w(e,0,Math.max(0,t-1));let n=Z(B);n<M&&(N+=(M-n)/M+1),n>P-M&&(N-=(n-P+M)/M-1),Q(),In(B)},i=B??Math.min(t-1,Math.round(N));switch(e.key){case`ArrowLeft`:r(i-(e.shiftKey?10:1));break;case`ArrowRight`:r(i+(e.shiftKey?10:1));break;case`PageUp`:r(i-n);break;case`PageDown`:r(i+n);break;case`Home`:r(0);break;case`End`:r(t-1),Wn.scrollToRealtime(!0);break;case`+`:case`=`:case`ArrowUp`:bn(B===null?P:Z(B),1.2);break;case`-`:case`_`:case`ArrowDown`:bn(B===null?P:Z(B),1/1.2);break;case`Escape`:G?G=null:Ue===`cursor`?We?Cn(null):B=null:Sn(`cursor`,!0);break;case`Delete`:case`Backspace`:{let e=W.find(e=>e.id===We);if(!e||e.locked)return;Cn(null),wn(W.filter(t=>t.id!==e.id));break}default:return}e.preventDefault(),$()}),O.addEventListener(`focus`,()=>{let e=!0;try{e=O.matches(`:focus-visible`)}catch{}e&&(O.style.boxShadow=`inset 0 0 0 2px ${t.toCss(L.primary,.6)}`)}),O.addEventListener(`blur`,()=>{O.style.boxShadow=``,B!==null&&(B=null,$())}),k.addEventListener(`pointerdown`,e=>e.stopPropagation()),k.addEventListener(`click`,()=>Wn.scrollToRealtime(!0));let Ln=typeof ResizeObserver==`function`?new ResizeObserver(()=>$()):null;Ln?.observe(O);let Rn=()=>{if(ie)return;let e=a.readTheme(O);a.themeColorsChanged(L,e)&&ke++,L=e,tn=``,$()},zn=a.watchTheme(Rn),Bn=null;typeof MutationObserver==`function`&&O.ownerDocument&&(Bn=new MutationObserver(()=>{if(D.locale)return;let e=K;nt(),K!==e&&(tn=``,Ae++,Hn(),$())}),Bn.observe(O.ownerDocument.documentElement,{attributes:!0,attributeFilter:[`lang`]}));let Vn=async(t=new Set)=>{let n=++je,r=await i.createRenderer(D.renderer??`auto`,()=>e.createDataCanvas(ne),e=>{ie||R?.kind!==e||(R.destroy(),R.canvas.remove(),R=null,Vn(new Set([...t,e])))},t);if(ie||n!==je){r?.destroy();return}R&&(R.destroy(),R.canvas.remove()),R=r,Pe=``,r&&(O.dataset.renderer=r.kind,O.insertBefore(r.canvas,ce),et(`renderer`,r.kind)),Le(r?.kind??null),$()},Hn=()=>{let e=D.symbol??``;O.setAttribute(`aria-label`,D.ariaLabel??u.fill(rt().chart,{symbol:e}).trim());let t=!!D.countdown&&D.lastPriceLine!==!1;t&&!Qe&&(Qe=setInterval($,1e3)),!t&&Qe&&(clearInterval(Qe),Qe=null)},Un=e=>{let t=D;if(nt(),(!e||t.indicators!==e.indicators||t.utcOffset!==e.utcOffset)&&St(),(!e||t.compare!==e.compare)&&Ct(),t.bars&&(!e||t.bars!==e.bars)?e?Et(t.bars):Tt(t.bars):!t.bars&&e?.bars&&Tt([]),e&&t.barSpacing!==e.barSpacing&&t.barSpacing&&(M=t.barSpacing),e&&t.scaleMode!==e.scaleMode){let e=Te.get(v);e&&(e.auto=!0)}t.drawings&&t.drawings!==He&&(!e||t.drawings!==e.drawings)&&(W=t.drawings,We&&!W.some(e=>e.id===We)&&Cn(null)),e&&(t.drawingMode??`cursor`)!==(e.drawingMode??`cursor`)&&Sn(t.drawingMode??`cursor`,!1),e&&t.priceLines!==e.priceLines&&qe.clear(),e&&t.chartStyle!==e.chartStyle&&(pe=Math.min(pe,0)),Ae++,Hn(),$()};Un(null),Vn();let Wn={setOptions(e){if(ie)return;let t=D;D={...e},Un(t),(e.renderer??`auto`)!==(t.renderer??`auto`)&&Vn()},setBars(e){Tt(e)},update(e){let t=q(),n=wt(),r=f.updateBar(A,e);r<0||(q()>t&&n&&(N+=q()-t),xt(r))},appendBars(e){let t=q(),n=wt(),r=f.appendBars(A,e);r<0||(n&&(N+=q()-t),xt(r))},prependBars(e){let t=f.prependBars(A,e);t&&(de=f.createPyramid(),me=f.createPyramid(),pe=0,N+=t,B!==null&&(B+=t),xt(0))},getBarCount:()=>q(),getBar:e=>e>=0&&e<q()?f.readBar(A,Math.floor(e)):null,scrollToRealtime(e=!0){let t=q()-1+(D.rightOffset??8);H=null,e&&E(N)&&Math.abs(t-N)*M<P*6?U={from:N,to:t,start:typeof performance<`u`?performance.now():Date.now()}:N=t,$()},fitContent(){let e=q();e&&Wn.setVisibleRange({from:-.5,to:e-1+(D.rightOffset??8)})},getVisibleRange:()=>gn(),setVisibleRange({from:e,to:t}){t>e&&(H=null,U=null,Ve={from:e,to:t},yn(Ve),$())},setScaleMode(e){D={...D,scaleMode:e};let t=Te.get(v);t&&(t.auto=!0),$()},resetPriceScales(){for(let e of Te.values())e.auto=!0;$()},setDrawingTool:e=>Sn(e,!0),getDrawingTool:()=>Ue,getDrawings:()=>W,setDrawings(e){W=e,We&&!W.some(e=>e.id===We)&&Cn(null),$()},removeDrawing(e){W.some(t=>t.id===e)&&(We===e&&Cn(null),wn(W.filter(t=>t.id!==e)))},selectDrawing:e=>Cn(e),setIndicatorVisible(e,t){ge.set(e,t),$()},getRenderer:()=>R?.kind??null,ready:Re,refreshTheme:Rn,resize:()=>$(),on(e,t){let n=$e.get(e);return n||$e.set(e,n=new Set),n.add(t),()=>n.delete(t)},destroy(){ie||(ie=!0,Me&&(re?.cancelAnimationFrame?re.cancelAnimationFrame(Me):clearTimeout(Me)),Qe&&clearInterval(Qe),Ln?.disconnect(),zn(),Bn?.disconnect(),O.removeEventListener(`wheel`,Pn),R?.destroy(),R=null,Le(null),$e.clear(),O.remove())}};return Wn};exports.createTradingChart=ee;
2
+ //# sourceMappingURL=chart.cjs.map