minerva-design 1.4.0 → 1.6.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 (824) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +3072 -611
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +595 -5
  7. package/dist/charts/canvas.d.cts +4 -3
  8. package/dist/charts/canvas.d.ts +4 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +6 -4
  11. package/dist/charts/core.d.ts +6 -4
  12. package/dist/charts/core.js +24 -16
  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 +42 -19
  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.js +155 -127
  20. package/dist/charts/engine/canvas.js.map +1 -1
  21. package/dist/charts/engine/chart.cjs +1 -1
  22. package/dist/charts/engine/chart.cjs.map +1 -1
  23. package/dist/charts/engine/chart.js +370 -255
  24. package/dist/charts/engine/chart.js.map +1 -1
  25. package/dist/charts/engine/color.cjs +1 -1
  26. package/dist/charts/engine/color.cjs.map +1 -1
  27. package/dist/charts/engine/color.d.cts +18 -0
  28. package/dist/charts/engine/color.d.ts +18 -0
  29. package/dist/charts/engine/color.js +48 -2
  30. package/dist/charts/engine/color.js.map +1 -1
  31. package/dist/charts/engine/controller.cjs +2 -2
  32. package/dist/charts/engine/controller.cjs.map +1 -1
  33. package/dist/charts/engine/controller.d.cts +34 -1
  34. package/dist/charts/engine/controller.d.ts +34 -1
  35. package/dist/charts/engine/controller.js +318 -273
  36. package/dist/charts/engine/controller.js.map +1 -1
  37. package/dist/charts/engine/data.cjs +1 -1
  38. package/dist/charts/engine/data.cjs.map +1 -1
  39. package/dist/charts/engine/data.d.cts +3 -1
  40. package/dist/charts/engine/data.d.ts +3 -1
  41. package/dist/charts/engine/data.js +6 -4
  42. package/dist/charts/engine/data.js.map +1 -1
  43. package/dist/charts/engine/defaults.cjs +2 -0
  44. package/dist/charts/engine/defaults.cjs.map +1 -0
  45. package/dist/charts/engine/defaults.d.cts +20 -0
  46. package/dist/charts/engine/defaults.d.ts +20 -0
  47. package/dist/charts/engine/defaults.js +35 -0
  48. package/dist/charts/engine/defaults.js.map +1 -0
  49. package/dist/charts/engine/format.cjs +1 -1
  50. package/dist/charts/engine/format.cjs.map +1 -1
  51. package/dist/charts/engine/format.d.cts +6 -0
  52. package/dist/charts/engine/format.d.ts +6 -0
  53. package/dist/charts/engine/format.js +15 -2
  54. package/dist/charts/engine/format.js.map +1 -1
  55. package/dist/charts/engine/graph/chart.cjs +2 -0
  56. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  57. package/dist/charts/engine/graph/chart.d.cts +3 -0
  58. package/dist/charts/engine/graph/chart.d.ts +3 -0
  59. package/dist/charts/engine/graph/chart.js +1708 -0
  60. package/dist/charts/engine/graph/chart.js.map +1 -0
  61. package/dist/charts/engine/graph/circular.cjs +2 -0
  62. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  63. package/dist/charts/engine/graph/circular.d.cts +16 -0
  64. package/dist/charts/engine/graph/circular.d.ts +16 -0
  65. package/dist/charts/engine/graph/circular.js +62 -0
  66. package/dist/charts/engine/graph/circular.js.map +1 -0
  67. package/dist/charts/engine/graph/dag.cjs +2 -0
  68. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  69. package/dist/charts/engine/graph/dag.d.cts +34 -0
  70. package/dist/charts/engine/graph/dag.d.ts +34 -0
  71. package/dist/charts/engine/graph/dag.js +339 -0
  72. package/dist/charts/engine/graph/dag.js.map +1 -0
  73. package/dist/charts/engine/graph/dom.cjs +2 -0
  74. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  75. package/dist/charts/engine/graph/dom.d.cts +23 -0
  76. package/dist/charts/engine/graph/dom.d.ts +23 -0
  77. package/dist/charts/engine/graph/dom.js +158 -0
  78. package/dist/charts/engine/graph/dom.js.map +1 -0
  79. package/dist/charts/engine/graph/force.cjs +2 -0
  80. package/dist/charts/engine/graph/force.cjs.map +1 -0
  81. package/dist/charts/engine/graph/force.d.cts +76 -0
  82. package/dist/charts/engine/graph/force.d.ts +76 -0
  83. package/dist/charts/engine/graph/force.js +423 -0
  84. package/dist/charts/engine/graph/force.js.map +1 -0
  85. package/dist/charts/engine/graph/geometry.cjs +2 -0
  86. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  87. package/dist/charts/engine/graph/geometry.d.cts +50 -0
  88. package/dist/charts/engine/graph/geometry.d.ts +50 -0
  89. package/dist/charts/engine/graph/geometry.js +197 -0
  90. package/dist/charts/engine/graph/geometry.js.map +1 -0
  91. package/dist/charts/engine/graph/index.cjs +1 -0
  92. package/dist/charts/engine/graph/index.d.cts +6 -0
  93. package/dist/charts/engine/graph/index.d.ts +6 -0
  94. package/dist/charts/engine/graph/index.js +6 -0
  95. package/dist/charts/engine/graph/labels.cjs +2 -0
  96. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  97. package/dist/charts/engine/graph/labels.d.cts +12 -0
  98. package/dist/charts/engine/graph/labels.d.ts +12 -0
  99. package/dist/charts/engine/graph/labels.js +128 -0
  100. package/dist/charts/engine/graph/labels.js.map +1 -0
  101. package/dist/charts/engine/graph/model.cjs +2 -0
  102. package/dist/charts/engine/graph/model.cjs.map +1 -0
  103. package/dist/charts/engine/graph/model.d.cts +52 -0
  104. package/dist/charts/engine/graph/model.d.ts +52 -0
  105. package/dist/charts/engine/graph/model.js +108 -0
  106. package/dist/charts/engine/graph/model.js.map +1 -0
  107. package/dist/charts/engine/graph/sizing.cjs +2 -0
  108. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  109. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  110. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  111. package/dist/charts/engine/graph/sizing.js +60 -0
  112. package/dist/charts/engine/graph/sizing.js.map +1 -0
  113. package/dist/charts/engine/graph/tree.cjs +2 -0
  114. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  115. package/dist/charts/engine/graph/tree.d.cts +30 -0
  116. package/dist/charts/engine/graph/tree.d.ts +30 -0
  117. package/dist/charts/engine/graph/tree.js +218 -0
  118. package/dist/charts/engine/graph/tree.js.map +1 -0
  119. package/dist/charts/engine/graph/types.d.cts +640 -0
  120. package/dist/charts/engine/graph/types.d.ts +640 -0
  121. package/dist/charts/engine/graph/worker.cjs +52 -0
  122. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  123. package/dist/charts/engine/graph/worker.d.cts +36 -0
  124. package/dist/charts/engine/graph/worker.d.ts +36 -0
  125. package/dist/charts/engine/graph/worker.js +135 -0
  126. package/dist/charts/engine/graph/worker.js.map +1 -0
  127. package/dist/charts/engine/items.cjs +1 -1
  128. package/dist/charts/engine/items.cjs.map +1 -1
  129. package/dist/charts/engine/items.d.cts +15 -2
  130. package/dist/charts/engine/items.d.ts +15 -2
  131. package/dist/charts/engine/items.js +131 -112
  132. package/dist/charts/engine/items.js.map +1 -1
  133. package/dist/charts/engine/labels.cjs +1 -1
  134. package/dist/charts/engine/labels.cjs.map +1 -1
  135. package/dist/charts/engine/labels.d.cts +17 -0
  136. package/dist/charts/engine/labels.d.ts +17 -0
  137. package/dist/charts/engine/labels.js +28 -4
  138. package/dist/charts/engine/labels.js.map +1 -1
  139. package/dist/charts/engine/layout.cjs +1 -1
  140. package/dist/charts/engine/layout.cjs.map +1 -1
  141. package/dist/charts/engine/layout.d.cts +9 -0
  142. package/dist/charts/engine/layout.d.ts +9 -0
  143. package/dist/charts/engine/layout.js +11 -2
  144. package/dist/charts/engine/layout.js.map +1 -1
  145. package/dist/charts/engine/model.cjs +1 -1
  146. package/dist/charts/engine/model.cjs.map +1 -1
  147. package/dist/charts/engine/model.d.cts +73 -3
  148. package/dist/charts/engine/model.d.ts +73 -3
  149. package/dist/charts/engine/model.js +258 -154
  150. package/dist/charts/engine/model.js.map +1 -1
  151. package/dist/charts/engine/orderbook/field.cjs +37 -0
  152. package/dist/charts/engine/orderbook/field.cjs.map +1 -0
  153. package/dist/charts/engine/orderbook/field.d.cts +92 -0
  154. package/dist/charts/engine/orderbook/field.d.ts +92 -0
  155. package/dist/charts/engine/orderbook/field.js +297 -0
  156. package/dist/charts/engine/orderbook/field.js.map +1 -0
  157. package/dist/charts/engine/orderbook/format.cjs +1 -1
  158. package/dist/charts/engine/orderbook/format.cjs.map +1 -1
  159. package/dist/charts/engine/orderbook/format.d.cts +3 -2
  160. package/dist/charts/engine/orderbook/format.d.ts +3 -2
  161. package/dist/charts/engine/orderbook/format.js +5 -5
  162. package/dist/charts/engine/orderbook/format.js.map +1 -1
  163. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  164. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  165. package/dist/charts/engine/orderbook/heatmap.js +566 -475
  166. package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
  167. package/dist/charts/engine/orderbook/host.cjs +1 -1
  168. package/dist/charts/engine/orderbook/host.cjs.map +1 -1
  169. package/dist/charts/engine/orderbook/host.d.cts +8 -1
  170. package/dist/charts/engine/orderbook/host.d.ts +8 -1
  171. package/dist/charts/engine/orderbook/host.js +27 -5
  172. package/dist/charts/engine/orderbook/host.js.map +1 -1
  173. package/dist/charts/engine/orderbook/ladder.cjs +1 -1
  174. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
  175. package/dist/charts/engine/orderbook/ladder.js +1 -1
  176. package/dist/charts/engine/orderbook/ladder.js.map +1 -1
  177. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  178. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  179. package/dist/charts/engine/orderbook/layout.d.cts +42 -0
  180. package/dist/charts/engine/orderbook/layout.d.ts +42 -0
  181. package/dist/charts/engine/orderbook/layout.js +76 -0
  182. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  183. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  184. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  185. package/dist/charts/engine/orderbook/tape.js +4 -4
  186. package/dist/charts/engine/orderbook/tape.js.map +1 -1
  187. package/dist/charts/engine/orderbook/types.d.cts +27 -3
  188. package/dist/charts/engine/orderbook/types.d.ts +27 -3
  189. package/dist/charts/engine/overlay.cjs +1 -1
  190. package/dist/charts/engine/overlay.cjs.map +1 -1
  191. package/dist/charts/engine/overlay.d.cts +27 -0
  192. package/dist/charts/engine/overlay.d.ts +27 -0
  193. package/dist/charts/engine/overlay.js +34 -12
  194. package/dist/charts/engine/overlay.js.map +1 -1
  195. package/dist/charts/engine/presets.cjs +2 -2
  196. package/dist/charts/engine/presets.cjs.map +1 -1
  197. package/dist/charts/engine/presets.d.cts +35 -3
  198. package/dist/charts/engine/presets.d.ts +35 -3
  199. package/dist/charts/engine/presets.js +121 -101
  200. package/dist/charts/engine/presets.js.map +1 -1
  201. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  202. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  203. package/dist/charts/engine/renderers/canvas2d.js +13 -9
  204. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  205. package/dist/charts/engine/renderers/detect.cjs +1 -1
  206. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  207. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  208. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  209. package/dist/charts/engine/renderers/detect.js +23 -21
  210. package/dist/charts/engine/renderers/detect.js.map +1 -1
  211. package/dist/charts/engine/renderers/follow.cjs +2 -0
  212. package/dist/charts/engine/renderers/follow.cjs.map +1 -0
  213. package/dist/charts/engine/renderers/follow.d.cts +8 -0
  214. package/dist/charts/engine/renderers/follow.d.ts +8 -0
  215. package/dist/charts/engine/renderers/follow.js +10 -0
  216. package/dist/charts/engine/renderers/follow.js.map +1 -0
  217. package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
  218. package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
  219. package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
  220. package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
  221. package/dist/charts/engine/renderers/gl-budget.js +95 -0
  222. package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
  223. package/dist/charts/engine/renderers/gl.cjs +1 -1
  224. package/dist/charts/engine/renderers/gl.cjs.map +1 -1
  225. package/dist/charts/engine/renderers/gl.js +1 -1
  226. package/dist/charts/engine/renderers/gl.js.map +1 -1
  227. package/dist/charts/engine/renderers/shaders.cjs +9 -6
  228. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/shaders.d.cts +1 -1
  230. package/dist/charts/engine/renderers/shaders.d.ts +1 -1
  231. package/dist/charts/engine/renderers/shaders.js +9 -6
  232. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  233. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  234. package/dist/charts/engine/renderers/types.d.cts +2 -0
  235. package/dist/charts/engine/renderers/types.d.ts +2 -0
  236. package/dist/charts/engine/renderers/types.js.map +1 -1
  237. package/dist/charts/engine/renderers/webgl.cjs +1 -1
  238. package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
  239. package/dist/charts/engine/renderers/webgl.js +85 -64
  240. package/dist/charts/engine/renderers/webgl.js.map +1 -1
  241. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  242. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  243. package/dist/charts/engine/renderers/webgl2.js +72 -58
  244. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  246. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  247. package/dist/charts/engine/renderers/webgpu.js +1 -1
  248. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  249. package/dist/charts/engine/scene.cjs +1 -1
  250. package/dist/charts/engine/scene.cjs.map +1 -1
  251. package/dist/charts/engine/scene.d.cts +104 -4
  252. package/dist/charts/engine/scene.d.ts +104 -4
  253. package/dist/charts/engine/scene.js +412 -193
  254. package/dist/charts/engine/scene.js.map +1 -1
  255. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  256. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  257. package/dist/charts/engine/shapes/bullet.js +110 -110
  258. package/dist/charts/engine/shapes/bullet.js.map +1 -1
  259. package/dist/charts/engine/shapes/chart.cjs +1 -1
  260. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  261. package/dist/charts/engine/shapes/chart.js +4 -1
  262. package/dist/charts/engine/shapes/chart.js.map +1 -1
  263. package/dist/charts/engine/shapes/chord.cjs +2 -0
  264. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  266. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  267. package/dist/charts/engine/shapes/chord.js +419 -0
  268. package/dist/charts/engine/shapes/chord.js.map +1 -0
  269. package/dist/charts/engine/shapes/draw.cjs +1 -1
  270. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  271. package/dist/charts/engine/shapes/draw.d.cts +5 -1
  272. package/dist/charts/engine/shapes/draw.d.ts +5 -1
  273. package/dist/charts/engine/shapes/draw.js +47 -17
  274. package/dist/charts/engine/shapes/draw.js.map +1 -1
  275. package/dist/charts/engine/shapes/hit.cjs +1 -1
  276. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  278. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  279. package/dist/charts/engine/shapes/hit.js +75 -46
  280. package/dist/charts/engine/shapes/hit.js.map +1 -1
  281. package/dist/charts/engine/shapes/index.d.cts +3 -2
  282. package/dist/charts/engine/shapes/index.d.ts +3 -2
  283. package/dist/charts/engine/shapes/labels.cjs +1 -1
  284. package/dist/charts/engine/shapes/labels.cjs.map +1 -1
  285. package/dist/charts/engine/shapes/labels.js +12 -4
  286. package/dist/charts/engine/shapes/labels.js.map +1 -1
  287. package/dist/charts/engine/shapes/layout.cjs +2 -2
  288. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  289. package/dist/charts/engine/shapes/layout.d.cts +3 -1
  290. package/dist/charts/engine/shapes/layout.d.ts +3 -1
  291. package/dist/charts/engine/shapes/layout.js +106 -78
  292. package/dist/charts/engine/shapes/layout.js.map +1 -1
  293. package/dist/charts/engine/shapes/scene.cjs +1 -1
  294. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  295. package/dist/charts/engine/shapes/scene.d.cts +33 -3
  296. package/dist/charts/engine/shapes/scene.d.ts +33 -3
  297. package/dist/charts/engine/shapes/scene.js +62 -19
  298. package/dist/charts/engine/shapes/scene.js.map +1 -1
  299. package/dist/charts/engine/shapes/types.d.cts +121 -8
  300. package/dist/charts/engine/shapes/types.d.ts +121 -8
  301. package/dist/charts/engine/signature.cjs +1 -1
  302. package/dist/charts/engine/signature.cjs.map +1 -1
  303. package/dist/charts/engine/signature.js +1 -1
  304. package/dist/charts/engine/signature.js.map +1 -1
  305. package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
  306. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
  307. package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
  308. package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
  309. package/dist/charts/engine/three-d/canvas2d.js +166 -67
  310. package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
  311. package/dist/charts/engine/three-d/chart.cjs +1 -1
  312. package/dist/charts/engine/three-d/chart.cjs.map +1 -1
  313. package/dist/charts/engine/three-d/chart.js +219 -215
  314. package/dist/charts/engine/three-d/chart.js.map +1 -1
  315. package/dist/charts/engine/three-d/detect.cjs +1 -1
  316. package/dist/charts/engine/three-d/detect.cjs.map +1 -1
  317. package/dist/charts/engine/three-d/detect.d.cts +3 -2
  318. package/dist/charts/engine/three-d/detect.d.ts +3 -2
  319. package/dist/charts/engine/three-d/detect.js +22 -20
  320. package/dist/charts/engine/three-d/detect.js.map +1 -1
  321. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  322. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  323. package/dist/charts/engine/three-d/geometry.d.cts +6 -0
  324. package/dist/charts/engine/three-d/geometry.d.ts +6 -0
  325. package/dist/charts/engine/three-d/geometry.js +106 -90
  326. package/dist/charts/engine/three-d/geometry.js.map +1 -1
  327. package/dist/charts/engine/three-d/model.cjs +1 -1
  328. package/dist/charts/engine/three-d/model.cjs.map +1 -1
  329. package/dist/charts/engine/three-d/model.d.cts +2 -0
  330. package/dist/charts/engine/three-d/model.d.ts +2 -0
  331. package/dist/charts/engine/three-d/model.js +2 -0
  332. package/dist/charts/engine/three-d/model.js.map +1 -1
  333. package/dist/charts/engine/three-d/oit.cjs +109 -0
  334. package/dist/charts/engine/three-d/oit.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/oit.d.cts +34 -0
  336. package/dist/charts/engine/three-d/oit.d.ts +34 -0
  337. package/dist/charts/engine/three-d/oit.js +111 -0
  338. package/dist/charts/engine/three-d/oit.js.map +1 -0
  339. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  340. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  341. package/dist/charts/engine/three-d/overlay.js +43 -36
  342. package/dist/charts/engine/three-d/overlay.js.map +1 -1
  343. package/dist/charts/engine/three-d/render-types.cjs +1 -1
  344. package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
  345. package/dist/charts/engine/three-d/render-types.d.cts +37 -3
  346. package/dist/charts/engine/three-d/render-types.d.ts +37 -3
  347. package/dist/charts/engine/three-d/render-types.js +6 -10
  348. package/dist/charts/engine/three-d/render-types.js.map +1 -1
  349. package/dist/charts/engine/three-d/shaders.cjs +109 -48
  350. package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
  351. package/dist/charts/engine/three-d/shaders.d.cts +12 -5
  352. package/dist/charts/engine/three-d/shaders.d.ts +12 -5
  353. package/dist/charts/engine/three-d/shaders.js +118 -55
  354. package/dist/charts/engine/three-d/shaders.js.map +1 -1
  355. package/dist/charts/engine/three-d/sort.cjs +1 -1
  356. package/dist/charts/engine/three-d/sort.cjs.map +1 -1
  357. package/dist/charts/engine/three-d/sort.d.cts +18 -5
  358. package/dist/charts/engine/three-d/sort.d.ts +18 -5
  359. package/dist/charts/engine/three-d/sort.js +129 -43
  360. package/dist/charts/engine/three-d/sort.js.map +1 -1
  361. package/dist/charts/engine/three-d/types.d.cts +36 -0
  362. package/dist/charts/engine/three-d/types.d.ts +36 -0
  363. package/dist/charts/engine/three-d/webgl.cjs +1 -1
  364. package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
  365. package/dist/charts/engine/three-d/webgl.d.cts +9 -0
  366. package/dist/charts/engine/three-d/webgl.d.ts +9 -0
  367. package/dist/charts/engine/three-d/webgl.js +199 -74
  368. package/dist/charts/engine/three-d/webgl.js.map +1 -1
  369. package/dist/charts/engine/three-d/webgpu.cjs +1 -1
  370. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
  371. package/dist/charts/engine/three-d/webgpu.js +231 -94
  372. package/dist/charts/engine/three-d/webgpu.js.map +1 -1
  373. package/dist/charts/engine/trading/chart.cjs +1 -1
  374. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  375. package/dist/charts/engine/trading/chart.d.cts +10 -1
  376. package/dist/charts/engine/trading/chart.d.ts +10 -1
  377. package/dist/charts/engine/trading/chart.js +1677 -813
  378. package/dist/charts/engine/trading/chart.js.map +1 -1
  379. package/dist/charts/engine/trading/drawings.cjs +2 -1
  380. package/dist/charts/engine/trading/drawings.cjs.map +1 -1
  381. package/dist/charts/engine/trading/drawings.d.cts +53 -9
  382. package/dist/charts/engine/trading/drawings.d.ts +53 -9
  383. package/dist/charts/engine/trading/drawings.js +346 -71
  384. package/dist/charts/engine/trading/drawings.js.map +1 -1
  385. package/dist/charts/engine/trading/format.cjs +1 -1
  386. package/dist/charts/engine/trading/format.cjs.map +1 -1
  387. package/dist/charts/engine/trading/format.d.cts +19 -0
  388. package/dist/charts/engine/trading/format.d.ts +19 -0
  389. package/dist/charts/engine/trading/format.js +65 -21
  390. package/dist/charts/engine/trading/format.js.map +1 -1
  391. package/dist/charts/engine/trading/geometry.cjs +1 -1
  392. package/dist/charts/engine/trading/geometry.cjs.map +1 -1
  393. package/dist/charts/engine/trading/geometry.d.cts +16 -0
  394. package/dist/charts/engine/trading/geometry.d.ts +16 -0
  395. package/dist/charts/engine/trading/geometry.js +19 -4
  396. package/dist/charts/engine/trading/geometry.js.map +1 -1
  397. package/dist/charts/engine/trading/index.cjs +1 -1
  398. package/dist/charts/engine/trading/index.d.cts +2 -1
  399. package/dist/charts/engine/trading/index.d.ts +2 -1
  400. package/dist/charts/engine/trading/index.js +4 -3
  401. package/dist/charts/engine/trading/indicators.cjs +1 -1
  402. package/dist/charts/engine/trading/indicators.cjs.map +1 -1
  403. package/dist/charts/engine/trading/indicators.d.cts +180 -10
  404. package/dist/charts/engine/trading/indicators.d.ts +180 -10
  405. package/dist/charts/engine/trading/indicators.js +449 -173
  406. package/dist/charts/engine/trading/indicators.js.map +1 -1
  407. package/dist/charts/engine/trading/labels.cjs +1 -1
  408. package/dist/charts/engine/trading/labels.cjs.map +1 -1
  409. package/dist/charts/engine/trading/labels.js +104 -4
  410. package/dist/charts/engine/trading/labels.js.map +1 -1
  411. package/dist/charts/engine/trading/store.cjs +1 -1
  412. package/dist/charts/engine/trading/store.cjs.map +1 -1
  413. package/dist/charts/engine/trading/store.d.cts +21 -0
  414. package/dist/charts/engine/trading/store.d.ts +21 -0
  415. package/dist/charts/engine/trading/store.js +22 -1
  416. package/dist/charts/engine/trading/store.js.map +1 -1
  417. package/dist/charts/engine/trading/studies.cjs +1 -1
  418. package/dist/charts/engine/trading/studies.cjs.map +1 -1
  419. package/dist/charts/engine/trading/studies.d.cts +49 -8
  420. package/dist/charts/engine/trading/studies.d.ts +49 -8
  421. package/dist/charts/engine/trading/studies.js +352 -93
  422. package/dist/charts/engine/trading/studies.js.map +1 -1
  423. package/dist/charts/engine/trading/sync.cjs +2 -0
  424. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  425. package/dist/charts/engine/trading/sync.d.cts +8 -0
  426. package/dist/charts/engine/trading/sync.d.ts +8 -0
  427. package/dist/charts/engine/trading/sync.js +25 -0
  428. package/dist/charts/engine/trading/sync.js.map +1 -0
  429. package/dist/charts/engine/trading/types.d.cts +514 -16
  430. package/dist/charts/engine/trading/types.d.ts +514 -16
  431. package/dist/charts/engine/types.d.cts +106 -11
  432. package/dist/charts/engine/types.d.ts +106 -11
  433. package/dist/charts/index.cjs +1 -1
  434. package/dist/charts/index.d.cts +3 -2
  435. package/dist/charts/index.d.ts +3 -2
  436. package/dist/charts/index.js +30 -22
  437. package/dist/charts/react/charts.cjs +1 -1
  438. package/dist/charts/react/charts.cjs.map +1 -1
  439. package/dist/charts/react/charts.js +51 -34
  440. package/dist/charts/react/charts.js.map +1 -1
  441. package/dist/charts/react/graph.cjs +2 -0
  442. package/dist/charts/react/graph.cjs.map +1 -0
  443. package/dist/charts/react/graph.d.cts +219 -0
  444. package/dist/charts/react/graph.d.ts +219 -0
  445. package/dist/charts/react/graph.js +160 -0
  446. package/dist/charts/react/graph.js.map +1 -0
  447. package/dist/charts/react/orderbook.cjs +1 -1
  448. package/dist/charts/react/orderbook.cjs.map +1 -1
  449. package/dist/charts/react/orderbook.d.cts +3 -1
  450. package/dist/charts/react/orderbook.d.ts +3 -1
  451. package/dist/charts/react/orderbook.js +1 -0
  452. package/dist/charts/react/orderbook.js.map +1 -1
  453. package/dist/charts/react/shapes.cjs +1 -1
  454. package/dist/charts/react/shapes.cjs.map +1 -1
  455. package/dist/charts/react/shapes.d.cts +88 -4
  456. package/dist/charts/react/shapes.d.ts +88 -4
  457. package/dist/charts/react/shapes.js +55 -12
  458. package/dist/charts/react/shapes.js.map +1 -1
  459. package/dist/charts/react/three-d.cjs +1 -1
  460. package/dist/charts/react/three-d.cjs.map +1 -1
  461. package/dist/charts/react/three-d.d.cts +7 -0
  462. package/dist/charts/react/three-d.d.ts +7 -0
  463. package/dist/charts/react/three-d.js +14 -13
  464. package/dist/charts/react/three-d.js.map +1 -1
  465. package/dist/charts/react/trading.cjs +1 -1
  466. package/dist/charts/react/trading.cjs.map +1 -1
  467. package/dist/charts/react/trading.d.cts +54 -2
  468. package/dist/charts/react/trading.d.ts +54 -2
  469. package/dist/charts/react/trading.js +68 -37
  470. package/dist/charts/react/trading.js.map +1 -1
  471. package/dist/charts/react/types.d.cts +11 -0
  472. package/dist/charts/react/types.d.ts +11 -0
  473. package/dist/core/contracts.cjs +1 -1
  474. package/dist/core/contracts.cjs.map +1 -1
  475. package/dist/core/contracts.js +1 -1
  476. package/dist/core/contracts.js.map +1 -1
  477. package/dist/native/charts/src/canvas.cjs +1 -1
  478. package/dist/native/charts/src/canvas.js +5 -4
  479. package/dist/native/charts/src/engine/axis.cjs +1 -1
  480. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  481. package/dist/native/charts/src/engine/axis.js +42 -19
  482. package/dist/native/charts/src/engine/axis.js.map +1 -1
  483. package/dist/native/charts/src/engine/color.cjs +1 -1
  484. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  485. package/dist/native/charts/src/engine/color.js +47 -5
  486. package/dist/native/charts/src/engine/color.js.map +1 -1
  487. package/dist/native/charts/src/engine/controller.cjs +2 -2
  488. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  489. package/dist/native/charts/src/engine/controller.js +296 -251
  490. package/dist/native/charts/src/engine/controller.js.map +1 -1
  491. package/dist/native/charts/src/engine/data.cjs +1 -1
  492. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  493. package/dist/native/charts/src/engine/data.js +6 -4
  494. package/dist/native/charts/src/engine/data.js.map +1 -1
  495. package/dist/native/charts/src/engine/format.cjs +1 -1
  496. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  497. package/dist/native/charts/src/engine/format.js +15 -2
  498. package/dist/native/charts/src/engine/format.js.map +1 -1
  499. package/dist/native/charts/src/engine/labels.cjs +1 -1
  500. package/dist/native/charts/src/engine/labels.cjs.map +1 -1
  501. package/dist/native/charts/src/engine/labels.js +42 -5
  502. package/dist/native/charts/src/engine/labels.js.map +1 -1
  503. package/dist/native/charts/src/engine/layout.cjs +1 -1
  504. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  505. package/dist/native/charts/src/engine/layout.js +11 -2
  506. package/dist/native/charts/src/engine/layout.js.map +1 -1
  507. package/dist/native/charts/src/engine/model.cjs +1 -1
  508. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  509. package/dist/native/charts/src/engine/model.js +278 -174
  510. package/dist/native/charts/src/engine/model.js.map +1 -1
  511. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  512. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  513. package/dist/native/charts/src/engine/presets.cjs +2 -2
  514. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  515. package/dist/native/charts/src/engine/presets.js +110 -90
  516. package/dist/native/charts/src/engine/presets.js.map +1 -1
  517. package/dist/native/charts/src/engine/scene.cjs +1 -1
  518. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  519. package/dist/native/charts/src/engine/scene.js +421 -202
  520. package/dist/native/charts/src/engine/scene.js.map +1 -1
  521. package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
  522. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
  523. package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
  524. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
  525. package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
  526. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
  527. package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
  528. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
  529. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  530. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  531. package/dist/native/charts/src/engine/shapes/chord.js +419 -0
  532. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  533. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  534. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  535. package/dist/native/charts/src/engine/shapes/draw.js +47 -17
  536. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  537. package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
  538. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
  539. package/dist/native/charts/src/engine/shapes/hit.js +73 -44
  540. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
  541. package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
  542. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
  543. package/dist/native/charts/src/engine/shapes/labels.js +12 -4
  544. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
  545. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  546. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  547. package/dist/native/charts/src/engine/shapes/layout.js +136 -94
  548. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  549. package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
  550. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
  551. package/dist/native/charts/src/engine/shapes/scene.js +62 -19
  552. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
  553. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  554. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  555. package/dist/native/components/Chart/ChartBase.js +127 -115
  556. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  557. package/dist/native/components/Chart/charts.cjs +1 -1
  558. package/dist/native/components/Chart/charts.cjs.map +1 -1
  559. package/dist/native/components/Chart/charts.js +8 -5
  560. package/dist/native/components/Chart/charts.js.map +1 -1
  561. package/dist/native/components/Chart/scene.cjs +1 -1
  562. package/dist/native/components/Chart/scene.cjs.map +1 -1
  563. package/dist/native/components/Chart/scene.d.cts +6 -1
  564. package/dist/native/components/Chart/scene.d.ts +6 -1
  565. package/dist/native/components/Chart/scene.js +226 -108
  566. package/dist/native/components/Chart/scene.js.map +1 -1
  567. package/dist/native/components/Chart/types.d.cts +7 -1
  568. package/dist/native/components/Chart/types.d.ts +7 -1
  569. package/dist/native/components/Charts/charts.cjs +1 -1
  570. package/dist/native/components/Charts/charts.cjs.map +1 -1
  571. package/dist/native/components/Charts/charts.js +60 -43
  572. package/dist/native/components/Charts/charts.js.map +1 -1
  573. package/dist/native/components/Charts/types.d.cts +11 -0
  574. package/dist/native/components/Charts/types.d.ts +11 -0
  575. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
  576. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
  577. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
  578. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
  579. package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
  580. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
  581. package/dist/native/components/ShapeChart/charts.cjs +1 -1
  582. package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
  583. package/dist/native/components/ShapeChart/charts.d.cts +6 -1
  584. package/dist/native/components/ShapeChart/charts.d.ts +6 -1
  585. package/dist/native/components/ShapeChart/charts.js +138 -96
  586. package/dist/native/components/ShapeChart/charts.js.map +1 -1
  587. package/dist/native/components/ShapeChart/draw.cjs +1 -1
  588. package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
  589. package/dist/native/components/ShapeChart/draw.d.cts +1 -1
  590. package/dist/native/components/ShapeChart/draw.d.ts +1 -1
  591. package/dist/native/components/ShapeChart/draw.js +26 -17
  592. package/dist/native/components/ShapeChart/draw.js.map +1 -1
  593. package/dist/native/components/ShapeChart/geometry.cjs +1 -1
  594. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
  595. package/dist/native/components/ShapeChart/geometry.js +233 -70
  596. package/dist/native/components/ShapeChart/geometry.js.map +1 -1
  597. package/dist/native/components/ShapeChart/index.cjs +1 -1
  598. package/dist/native/components/ShapeChart/index.d.cts +1 -1
  599. package/dist/native/components/ShapeChart/index.d.ts +1 -1
  600. package/dist/native/components/ShapeChart/index.js +2 -2
  601. package/dist/native/components/ShapeChart/recorder.cjs +1 -1
  602. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
  603. package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
  604. package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
  605. package/dist/native/components/ShapeChart/recorder.js +19 -10
  606. package/dist/native/components/ShapeChart/recorder.js.map +1 -1
  607. package/dist/native/components/ShapeChart/types.d.cts +95 -8
  608. package/dist/native/components/ShapeChart/types.d.ts +95 -8
  609. package/dist/native/index.cjs +1 -1
  610. package/dist/native/index.js +2 -2
  611. package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
  612. package/dist/native/source/components/Chart/charts.tsx +10 -3
  613. package/dist/native/source/components/Chart/scene.tsx +243 -14
  614. package/dist/native/source/components/Chart/types.ts +7 -0
  615. package/dist/native/source/components/Charts/charts.tsx +37 -2
  616. package/dist/native/source/components/Charts/types.ts +11 -0
  617. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
  618. package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
  619. package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
  620. package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
  621. package/dist/native/source/components/ShapeChart/index.ts +1 -0
  622. package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
  623. package/dist/native/source/components/ShapeChart/types.ts +99 -6
  624. package/dist/native/source/manifest.ts +1 -0
  625. package/dist/taro/chart-a11y.d.ts +7 -0
  626. package/dist/taro/charts.d.ts +29 -6
  627. package/dist/taro/index.js +3129 -1902
  628. package/dist/taro/shape-charts.d.ts +99 -5
  629. package/dist/uni/AreaChart.vue +2 -1
  630. package/dist/uni/AreaChart.vue.d.ts +5 -1
  631. package/dist/uni/Badge.vue.d.ts +1 -1
  632. package/dist/uni/BarChart.vue +2 -1
  633. package/dist/uni/BarChart.vue.d.ts +5 -1
  634. package/dist/uni/BoxPlotChart.vue +2 -1
  635. package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
  636. package/dist/uni/BubbleChart.vue +2 -1
  637. package/dist/uni/BubbleChart.vue.d.ts +4 -0
  638. package/dist/uni/BulletChart.vue.d.ts +4 -0
  639. package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
  640. package/dist/uni/CandlestickChart.vue +2 -1
  641. package/dist/uni/CandlestickChart.vue.d.ts +4 -0
  642. package/dist/uni/Chart.vue +2 -1
  643. package/dist/uni/Chart.vue.d.ts +4 -0
  644. package/dist/uni/ChordChart.vue +93 -0
  645. package/dist/uni/ChordChart.vue.d.ts +136 -0
  646. package/dist/uni/Divider.vue.d.ts +1 -1
  647. package/dist/uni/DonutChart.vue.d.ts +5 -1
  648. package/dist/uni/FunnelChart.vue.d.ts +4 -0
  649. package/dist/uni/GanttChart.vue +2 -1
  650. package/dist/uni/GanttChart.vue.d.ts +15 -0
  651. package/dist/uni/GaugeChart.vue.d.ts +5 -1
  652. package/dist/uni/HeatmapChart.vue +2 -1
  653. package/dist/uni/HeatmapChart.vue.d.ts +8 -2
  654. package/dist/uni/HistogramChart.vue +2 -1
  655. package/dist/uni/HistogramChart.vue.d.ts +4 -0
  656. package/dist/uni/HorizontalBarChart.vue +2 -1
  657. package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
  658. package/dist/uni/LineChart.vue +2 -1
  659. package/dist/uni/LineChart.vue.d.ts +4 -0
  660. package/dist/uni/MixedChart.vue +2 -1
  661. package/dist/uni/MixedChart.vue.d.ts +4 -0
  662. package/dist/uni/PieChart.vue.d.ts +5 -1
  663. package/dist/uni/QuadrantChart.vue +2 -1
  664. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  665. package/dist/uni/RadarChart.vue.d.ts +4 -0
  666. package/dist/uni/RadialBarChart.vue.d.ts +4 -0
  667. package/dist/uni/RangeAreaChart.vue +2 -1
  668. package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
  669. package/dist/uni/SankeyChart.vue.d.ts +4 -0
  670. package/dist/uni/ScatterChart.vue +2 -1
  671. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  672. package/dist/uni/Sparkline.vue +2 -1
  673. package/dist/uni/Sparkline.vue.d.ts +4 -0
  674. package/dist/uni/SunburstChart.vue.d.ts +4 -0
  675. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  676. package/dist/uni/TreemapChart.vue.d.ts +4 -0
  677. package/dist/uni/WaterfallChart.vue +2 -1
  678. package/dist/uni/WaterfallChart.vue.d.ts +9 -0
  679. package/dist/uni/chart-a11y.d.ts +7 -0
  680. package/dist/uni/chart-a11y.js +29 -0
  681. package/dist/uni/chart-canvas.d.ts +12 -0
  682. package/dist/uni/chart-canvas.js +15 -1
  683. package/dist/uni/chart-types.d.ts +36 -5
  684. package/dist/uni/chart-types.js +31 -3
  685. package/dist/uni/charts-canvas.js +3 -2
  686. package/dist/uni/index.d.ts +2 -1
  687. package/dist/uni/index.js +1 -0
  688. package/dist/uni/manifest.d.ts +7 -0
  689. package/dist/uni/manifest.js +10 -0
  690. package/dist/uni/named-chart-options.d.ts +11 -2
  691. package/dist/uni/named-chart-options.js +21 -1
  692. package/dist/uni/shape-chart-canvas.d.ts +3 -3
  693. package/dist/uni/shape-chart-canvas.js +17 -58
  694. package/dist/uni/shape-chart-types.d.ts +53 -3
  695. package/dist/uni/shape-chart-types.js +45 -1
  696. package/dist/vue/charts-global.d.ts +48 -0
  697. package/dist/vue/charts.d.ts +18 -0
  698. package/dist/vue/charts.js +56 -0
  699. package/dist/vue/charts.js.map +1 -0
  700. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +2 -0
  701. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
  702. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
  703. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
  704. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  705. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  706. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  707. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  708. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  709. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  710. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +181 -0
  711. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  712. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  713. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  714. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  715. package/dist/vue/components/Chart/GanttChart.vue.d.ts +19 -0
  716. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
  717. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
  718. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  719. package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -0
  720. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  721. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  722. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  723. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  724. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
  725. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
  726. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
  727. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  728. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
  729. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
  730. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
  731. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
  732. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
  733. package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
  734. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
  735. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
  736. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  737. package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -0
  738. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  739. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  740. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  741. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  742. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
  743. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
  744. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
  745. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  746. package/dist/vue/components/Chart/graph.d.ts +156 -0
  747. package/dist/vue/components/Chart/graph.js +137 -0
  748. package/dist/vue/components/Chart/graph.js.map +1 -0
  749. package/dist/vue/components/Chart/index.d.ts +5 -1
  750. package/dist/vue/components/Chart/index.js +5 -1
  751. package/dist/vue/components/Chart/orderbook.d.ts +5 -1
  752. package/dist/vue/components/Chart/orderbook.js +2 -0
  753. package/dist/vue/components/Chart/orderbook.js.map +1 -1
  754. package/dist/vue/components/Chart/three-d.d.ts +3 -0
  755. package/dist/vue/components/Chart/three-d.js +2 -0
  756. package/dist/vue/components/Chart/three-d.js.map +1 -1
  757. package/dist/vue/components/Chart/trading.d.ts +30 -3
  758. package/dist/vue/components/Chart/trading.js +9 -0
  759. package/dist/vue/components/Chart/trading.js.map +1 -1
  760. package/dist/vue/components/Chart/types.d.ts +74 -2
  761. package/dist/vue/global.d.ts +2 -38
  762. package/dist/vue/groups/charts.js +10 -2
  763. package/dist/vue/groups/charts.js.map +1 -1
  764. package/dist/vue/index.js +6 -2
  765. package/dist/vue/internal/register.d.ts +7 -0
  766. package/dist/vue/internal/register.js +14 -0
  767. package/dist/vue/internal/register.js.map +1 -0
  768. package/dist/vue/plugin.d.ts +9 -4
  769. package/dist/vue/plugin.js +6 -11
  770. package/dist/vue/plugin.js.map +1 -1
  771. package/dist/weapp/area-chart/index.wxml +1 -1
  772. package/dist/weapp/bar-chart/index.wxml +1 -1
  773. package/dist/weapp/box-plot-chart/index.wxml +1 -1
  774. package/dist/weapp/bubble-chart/index.wxml +1 -1
  775. package/dist/weapp/candlestick-chart/index.wxml +1 -1
  776. package/dist/weapp/chart/index.wxml +1 -1
  777. package/dist/weapp/charts/canvas.js +1987 -175
  778. package/dist/weapp/charts/core.js +3 -0
  779. package/dist/weapp/chord-chart/index.js +1 -0
  780. package/dist/weapp/chord-chart/index.json +1 -0
  781. package/dist/weapp/chord-chart/index.wxml +1 -0
  782. package/dist/weapp/chord-chart/index.wxss +1 -0
  783. package/dist/weapp/controls.js +148 -57
  784. package/dist/weapp/gantt-chart/index.wxml +1 -1
  785. package/dist/weapp/heatmap-chart/index.wxml +1 -1
  786. package/dist/weapp/histogram-chart/index.wxml +1 -1
  787. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
  788. package/dist/weapp/line-chart/index.wxml +1 -1
  789. package/dist/weapp/mixed-chart/index.wxml +1 -1
  790. package/dist/weapp/quadrant-chart/index.wxml +1 -1
  791. package/dist/weapp/range-area-chart/index.wxml +1 -1
  792. package/dist/weapp/scatter-chart/index.wxml +1 -1
  793. package/dist/weapp/sparkline/index.wxml +1 -1
  794. package/dist/weapp/types.d.ts +96 -4
  795. package/dist/weapp/waterfall-chart/index.wxml +1 -1
  796. package/dist/web-components/components/chart/charts.d.ts +4 -2
  797. package/dist/web-components/components/chart/charts.js +8 -1
  798. package/dist/web-components/components/chart/charts.js.map +1 -1
  799. package/dist/web-components/components/chart/extended.d.ts +21 -7
  800. package/dist/web-components/components/chart/extended.js +29 -9
  801. package/dist/web-components/components/chart/extended.js.map +1 -1
  802. package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
  803. package/dist/web-components/components/chart/shapes-extended.js +27 -1
  804. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  805. package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
  806. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
  807. package/dist/web-components/components/graph/graph.d.ts +156 -0
  808. package/dist/web-components/components/graph/graph.js +150 -0
  809. package/dist/web-components/components/graph/graph.js.map +1 -0
  810. package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
  811. package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
  812. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
  813. package/dist/web-components/elements/chart.d.ts +1 -1
  814. package/dist/web-components/elements/chart.js +6 -5
  815. package/dist/web-components/elements/chart.js.map +1 -1
  816. package/dist/web-components/elements/graph.d.ts +2 -0
  817. package/dist/web-components/elements/graph.js +12 -0
  818. package/dist/web-components/elements/graph.js.map +1 -0
  819. package/dist/web-components/html-custom-data.json +318 -4
  820. package/dist/web-components/types/react.d.ts +63 -4
  821. package/dist/web-components/types/solid.d.ts +55 -8
  822. package/dist/web-components/types/svelte.d.ts +55 -8
  823. package/dist/web-components/types/vue.d.ts +55 -4
  824. package/package.json +16 -1
@@ -1,31 +1,36 @@
1
- import { luminance as e, packColor as t, rampColor as n, toCss as r } from "../color.js";
2
- import { GAP as i } from "../renderers/types.js";
3
- import { localeLabels as a } from "../locale.js";
4
- import { linearTicks as o } from "../scale.js";
5
- import { createRenderer as s } from "../renderers/detect.js";
6
- import { timeTicks as c } from "../time.js";
7
- import { createOrderBookStore as l, decimalsOf as u, inferPriceDecimals as d, inferSizeDecimals as f, inferTickSize as ee, roundToStep as te } from "./book.js";
8
- import { clamp as p, createFormatters as m, ease as ne, fontOf as re, formatClock as ie, roundRect as ae, sideColors as h } from "./format.js";
9
- import { createEmitter as g, createHost as _, localPoint as v, tooltipHtml as oe } from "./host.js";
1
+ import { luminance as e, mixOklab as t, oklabRamp as n, toCss as r } from "../color.js";
2
+ import { localeLabels as i } from "../locale.js";
3
+ import { linearTicks as a } from "../scale.js";
4
+ import { followDefaultRenderer as o } from "../renderers/follow.js";
5
+ import { timeTicks as s } from "../time.js";
6
+ import { createOrderBookStore as c, decimalsOf as l, inferPriceDecimals as u, inferSizeDecimals as d, inferTickSize as f, roundToStep as p } from "./book.js";
7
+ import { clamp as m, createFormatters as h, ease as g, fontOf as ee, formatClock as te, roundRect as _, sideColors as ne } from "./format.js";
8
+ import { createEmitter as v, createHost as re, localPoint as ie, tooltipHtml as ae } from "./host.js";
9
+ import { HEAT_TABLE_SIZE as y, buildHeatGrid as oe, createHeatFieldRenderer as b, heatTable as x, paintHeatGrid as S, percentile as se } from "./field.js";
10
+ import { fineCeil as ce, fitPriceRange as le, fitTimeRange as ue, layoutAxisLabels as de } from "./layout.js";
10
11
  //#region src/engine/orderbook/heatmap.ts
11
- var y = 32, b = 128, x = [
12
- "#0b2a4f",
13
- "#12508f",
14
- "#1c7fd0",
15
- "#25b3d6",
16
- "#4fd6a0",
17
- "#e9e35a",
18
- "#ffa23d",
19
- "#ff5533"
20
- ], S = [
21
- "#dbeafe",
22
- "#93c5fd",
23
- "#3b82f6",
24
- "#4338ca",
25
- "#9333ea",
26
- "#db2777",
27
- "#f97316"
28
- ], C = {
12
+ var fe = 256, C = 4096, w = .98, pe = 1.4, me = [
13
+ "#0a1830",
14
+ "#0f2c57",
15
+ "#134a8a",
16
+ "#1670b4",
17
+ "#1aa0bf",
18
+ "#2fc3a0",
19
+ "#8ad65a",
20
+ "#e8dc3f",
21
+ "#ffa733",
22
+ "#ff5a2e"
23
+ ], he = [
24
+ "#eef4fb",
25
+ "#cfe1f6",
26
+ "#9fc2ee",
27
+ "#679ee2",
28
+ "#3a73cf",
29
+ "#3f4bb0",
30
+ "#62309a",
31
+ "#9c2783",
32
+ "#d12c52"
33
+ ], ge = 16, _e = 6, ve = {
29
34
  en: {
30
35
  time: "Time",
31
36
  price: "Price",
@@ -34,6 +39,8 @@ var y = 32, b = 128, x = [
34
39
  sells: "Sells",
35
40
  bid: "Bid",
36
41
  ask: "Ask",
42
+ bidSide: "Bid side",
43
+ askSide: "Ask side",
37
44
  name: "Liquidity heatmap"
38
45
  },
39
46
  zh: {
@@ -44,6 +51,8 @@ var y = 32, b = 128, x = [
44
51
  sells: "主动卖出",
45
52
  bid: "买一",
46
53
  ask: "卖一",
54
+ bidSide: "买盘",
55
+ askSide: "卖盘",
47
56
  name: "订单簿热力图"
48
57
  },
49
58
  ja: {
@@ -54,6 +63,8 @@ var y = 32, b = 128, x = [
54
63
  sells: "売り約定",
55
64
  bid: "最良買気配",
56
65
  ask: "最良売気配",
66
+ bidSide: "買い板",
67
+ askSide: "売り板",
57
68
  name: "板ヒートマップ"
58
69
  },
59
70
  fr: {
@@ -64,9 +75,11 @@ var y = 32, b = 128, x = [
64
75
  sells: "Ventes",
65
76
  bid: "Meilleur achat",
66
77
  ask: "Meilleure vente",
78
+ bidSide: "Côté achat",
79
+ askSide: "Côté vente",
67
80
  name: "Carte de chaleur de la liquidité"
68
81
  }
69
- }, w = (e, t, n, r) => {
82
+ }, ye = (e, t, n, r) => {
70
83
  if (!(e > 0) || !(t > 0)) return 0;
71
84
  let i = Math.min(1, e * r / t);
72
85
  switch (n) {
@@ -74,8 +87,8 @@ var y = 32, b = 128, x = [
74
87
  case "sqrt": return Math.sqrt(i);
75
88
  default: return Math.log10(1 + 9 * i);
76
89
  }
77
- }, T = (T, E = {}) => {
78
- let D = E, O = l(), k = g(), A = m(D, 2, 4), j = {
90
+ }, T = (T, be = {}) => {
91
+ let E = be, D = c(), xe = v(), O = h(E, 2, 4), k = {
79
92
  up: [
80
93
  0,
81
94
  0,
@@ -88,65 +101,69 @@ var y = 32, b = 128, x = [
88
101
  0,
89
102
  1
90
103
  ]
91
- }, M = new Uint32Array(b), N = 0, P = [], se = 0, F = NaN, I = {
104
+ }, A = new Uint32Array(fe), Se = new Uint32Array(y + 1), j = [
105
+ 0,
106
+ 0,
107
+ 0,
108
+ 1
109
+ ], Ce = !1, M = 0, N = [], we = 0, P = NaN, F = {
92
110
  buyVolume: 0,
93
111
  buyNotional: 0,
94
112
  sellVolume: 0,
95
113
  sellNotional: 0
96
- }, L = null, R = NaN, ce = 0, le = 0, ue = 0, z = /* @__PURE__ */ new Map(), B = /* @__PURE__ */ new Set(), de = 0, fe = null, pe = -1, V = {
97
- x: NaN,
98
- y: NaN
99
- }, H = null, me = 0, he = !1, ge = () => {}, _e = new Promise((e) => {
100
- ge = e;
101
- }), U = !0, W = NaN, G = [0, 1], K = [0, 1], q = NaN, J = NaN, ve = !1, ye = 0, Y = {
114
+ }, Te = null, I = NaN, Ee = 0, L = 0, R = 0, De = -Infinity, Oe = 0, z = 0, B = null, ke = "", Ae = "", V = null, H = null, je = 0, Me = !1, Ne = () => {}, Pe = new Promise((e) => {
115
+ Ne = e;
116
+ }), Fe = !0, U = NaN, W = [0, 1], G = [0, 1], Ie = !1, K = null, q = NaN, J = NaN, Le = 0, Y = {
102
117
  x: 0,
103
118
  y: 0,
104
119
  w: 0,
105
120
  h: 0
106
- }, be = null, xe = "", X = null, Z = _(T, {
121
+ }, Re = null, ze = "", X = null, Z = re(T, {
107
122
  className: "minerva-orderbook-heatmap",
108
- draw: Je,
123
+ draw: pt,
109
124
  onTheme: () => {
110
- Ae(), Me();
125
+ Je(), Z.invalidate();
111
126
  }
112
- }), { root: Q, doc: Se } = Z;
127
+ }), { root: Q, doc: Be } = Z;
113
128
  Q.tabIndex = 0, Q.setAttribute("role", "figure"), Q.style.touchAction = "none";
114
- let Ce = a(C, D.locale, D.labels), we = () => Ce, Te = () => {
115
- Ce = a(C, D.locale, D.labels), Q.setAttribute("aria-label", D.ariaLabel ?? Ce.name);
116
- }, $ = () => Math.max(10, D.interval ?? 100), Ee = () => Math.max($() * 4, D.history ?? 3e5), De = () => Math.max(4, Math.round(D.depth ?? 160)), Oe = () => {
117
- if (!Number.isFinite(R)) return Date.now();
118
- let e = ke() - ce;
119
- return R + Math.min(Math.max(0, e), $() * 3);
120
- }, ke = () => typeof performance < "u" ? performance.now() : Date.now();
121
- function Ae() {
122
- let r = Z.theme;
123
- j = h(r, D);
124
- let i = (e) => r.resolve ? r.resolve(e, r.primary) : r.primary, a = e(r.background) < .4, o = [r.background, ...(D.colors?.length ? D.colors : a ? x : S).map(i)];
125
- M = new Uint32Array(b);
126
- for (let e = 0; e < b; e++) {
127
- let r = n(o, e / 127);
128
- M[e] = t([
129
- r[0],
130
- r[1],
131
- r[2],
129
+ let Ve = i(ve, E.locale, E.labels), He = () => Ve, Ue = () => {
130
+ Ve = i(ve, E.locale, E.labels), Q.setAttribute("aria-label", E.ariaLabel ?? Ve.name);
131
+ }, $ = () => Math.max(10, E.interval ?? 100), We = () => Math.max($() * 4, E.history ?? 3e5), Ge = () => Math.max(4, Math.round(E.depth ?? 160)), Ke = () => {
132
+ if (!Number.isFinite(I)) return Date.now();
133
+ let e = qe() - Ee;
134
+ return I + Math.min(Math.max(0, e), $() * 3);
135
+ }, qe = () => typeof performance < "u" ? performance.now() : Date.now();
136
+ function Je() {
137
+ let t = Z.theme;
138
+ k = ne(t, E);
139
+ let r = (e) => {
140
+ let n = t.resolve ? t.resolve(e, t.primary) : t.primary;
141
+ return [
142
+ n[0],
143
+ n[1],
144
+ n[2],
132
145
  1
133
- ]);
134
- }
146
+ ];
147
+ }, i = [
148
+ t.background[0],
149
+ t.background[1],
150
+ t.background[2],
151
+ 1
152
+ ];
153
+ Ce = t.background[3] > 0 && e(i) < .4;
154
+ let a = (E.colors?.length ? E.colors : Ce ? me : he).map(r);
155
+ j = a[0] ?? i, A = n(a.length > 1 ? a : [j, j], fe);
156
+ let o = E.colorScale ?? "log";
157
+ Se = x(A, (e) => ye(e, 1, o, 1) ** pe), Ae = "";
135
158
  }
136
- let je = () => {
137
- A = m(D, N > 0 ? Math.max(u(N), d(O)) : d(O), f(O));
138
- }, Me = () => {
139
- for (let e of z.keys()) B.add(e);
140
- pe = -1, Z.invalidate();
141
- }, Ne = () => {
142
- P = [], z.clear(), B.clear(), fe = null, pe = -1, F = NaN, V = {
143
- x: NaN,
144
- y: NaN
145
- }, le = 0, ue = 0, I.buyVolume = I.buyNotional = I.sellVolume = I.sellNotional = 0;
146
- }, Pe = () => {
147
- if (N > 0) return;
148
- let e = ee(O), t = O.mid();
149
- if (D.tickSize && D.tickSize > 0) N = D.tickSize;
159
+ let Ye = () => {
160
+ O = h(E, M > 0 ? Math.max(l(M), u(D)) : u(D), d(D));
161
+ }, Xe = () => {
162
+ N = [], B = null, ke = Ae = "", V = null, P = NaN, L = R = 0, De = -Infinity, Oe = 0, z = 0, J = NaN, F.buyVolume = F.buyNotional = F.sellVolume = F.sellNotional = 0;
163
+ }, Ze = () => {
164
+ if (M > 0) return;
165
+ let e = f(D), t = D.mid();
166
+ if (E.tickSize && E.tickSize > 0) M = E.tickSize;
150
167
  else if (e > 0 && Number.isFinite(t)) {
151
168
  let n = t * 1e-5 / e, r = 1;
152
169
  for (let e = 1; e <= 1e9 && r < n * .75; e *= 10) for (let t of [
@@ -154,20 +171,15 @@ var y = 32, b = 128, x = [
154
171
  2,
155
172
  5
156
173
  ]) if (r = t * e, r >= n * .75) break;
157
- N = te(e * r, e);
158
- } else N = Number.isFinite(t) ? Math.max(1e-8, t * 1e-5) : 0;
159
- N > 0 && je();
160
- }, Fe = () => {
161
- let e = De(), t = new Float64Array(e * 2), n = new Float32Array(e * 2), r = 0, i = [
162
- 0,
163
- 0,
164
- 0,
165
- 0
166
- ];
174
+ M = p(e * r, e);
175
+ } else M = Number.isFinite(t) ? Math.max(1e-8, t * 1e-5) : 0;
176
+ M > 0 && Ye();
177
+ }, Qe = () => {
178
+ let e = Ge(), t = new Float64Array(e * 2), n = new Float32Array(e * 2), r = 0;
167
179
  for (let i of ["bid", "ask"]) {
168
- let a = O.count(i), o = 0;
180
+ let a = D.count(i), o = 0;
169
181
  for (let s = 0; s < a; s++) {
170
- let a = Math.round(O.priceAt(i, s) / N), c = O.sizeAt(i, s);
182
+ let a = Math.round(D.priceAt(i, s) / M), c = D.sizeAt(i, s);
171
183
  if (r > 0 && t[r - 1] === a && o > 0) {
172
184
  n[r - 1] += c;
173
185
  continue;
@@ -176,381 +188,455 @@ var y = 32, b = 128, x = [
176
188
  t[r] = a, n[r] = c, r++, o++;
177
189
  }
178
190
  }
179
- for (let e = 0; e < r; e++) {
180
- let t = n[e];
181
- t > i[3] && (i[3] = t, i.sort((e, t) => t - e));
182
- }
183
191
  return {
184
- bins: t.subarray(0, r),
185
- sizes: n.subarray(0, r),
186
- reference: i[3] || i[0]
192
+ bins: t.slice(0, r),
193
+ sizes: n.slice(0, r)
187
194
  };
188
- }, Ie = (e) => {
189
- if (!(N > 0)) return;
190
- let { bins: t, sizes: n, reference: r } = Fe(), i = {
191
- seq: se++,
195
+ }, $e = (e) => {
196
+ if (!(M > 0)) return;
197
+ let { bins: t, sizes: n } = Qe(), r = {
198
+ seq: we++,
192
199
  time: e,
193
200
  bins: t,
194
201
  sizes: n,
195
- bestBid: O.bestBid(),
196
- bestAsk: O.bestAsk(),
197
- buyVolume: I.buyVolume,
198
- buyNotional: I.buyNotional,
199
- sellVolume: I.sellVolume,
200
- sellNotional: I.sellNotional,
201
- reference: r
202
+ bestBid: D.bestBid(),
203
+ bestAsk: D.bestAsk(),
204
+ buyVolume: F.buyVolume,
205
+ buyNotional: F.buyNotional,
206
+ sellVolume: F.sellVolume,
207
+ sellNotional: F.sellNotional
202
208
  };
203
- if (I.buyVolume = I.buyNotional = I.sellVolume = I.sellNotional = 0, P.push(i), B.add(Math.floor(i.seq / y)), D.maxSize === void 0) {
204
- let e = P.slice(-100), t = 0;
205
- for (let n of e) t += n.reference;
206
- let n = t / e.length * 1.6;
207
- if (!(le > 0) || Math.abs(n / le - 1) > .3) {
208
- le = n;
209
- for (let e of z.keys()) B.add(e);
210
- pe = -1;
211
- }
212
- }
213
- let a = e - Ee(), o = 0;
214
- for (; o < P.length && P[o].time < a;) o++;
215
- if (o) {
216
- P = P.slice(o);
217
- let e = P[0] ? Math.floor(P[0].seq / y) : Infinity;
218
- for (let t of [...z.keys()]) t < e && z.delete(t);
219
- }
220
- }, Le = (e) => {
209
+ F.buyVolume = F.buyNotional = F.sellVolume = F.sellNotional = 0, N.push(r);
210
+ let i = e - We(), a = 0;
211
+ for (; a < N.length && N[a].time < i;) a++;
212
+ a && (N = N.slice(a));
213
+ }, et = (e) => {
221
214
  if (!Number.isFinite(e)) return;
222
215
  let t = $();
223
- if (!Number.isFinite(F)) {
224
- F = Math.floor(e / t) * t;
216
+ if (!Number.isFinite(P)) {
217
+ P = Math.floor(e / t) * t;
225
218
  return;
226
219
  }
227
- if (e - F > Ee()) {
228
- Ie(F), F = Math.floor(e / t) * t;
220
+ if (e - P > We()) {
221
+ $e(P), P = Math.floor(e / t) * t;
229
222
  return;
230
223
  }
231
- for (; e >= F + t;) Ie(F), F += t;
232
- }, Re = (e) => e === void 0 || !Number.isFinite(e) ? Date.now() : ((!Number.isFinite(R) || e >= R) && (R = e, ce = ke()), e), ze = (e) => {
233
- let t = 0, n = P.length - 1, r = $();
234
- for (; t <= n;) {
235
- let i = t + n >>> 1, a = P[i];
236
- if (e < a.time) n = i - 1;
237
- else if (e >= a.time + r) t = i + 1;
238
- else return a;
224
+ for (; e >= P + t;) $e(P), P += t;
225
+ }, tt = (e) => e === void 0 || !Number.isFinite(e) ? Date.now() : ((!Number.isFinite(I) || e >= I) && (I = e, Ee = qe()), e), nt = (e) => {
226
+ if (Number.isFinite(P) && e >= P) return null;
227
+ let t = 0, n = N.length;
228
+ for (; t < n;) {
229
+ let r = t + n >>> 1;
230
+ N[r].time <= e ? t = r + 1 : n = r;
239
231
  }
240
- return null;
241
- }, Be = () => {
242
- if (Number.isFinite(V.x)) return;
243
- let e = O.mid();
244
- V = {
245
- x: Number.isFinite(F) ? F : 0,
246
- y: Number.isFinite(e) ? e : 0
232
+ return t > 0 ? N[t - 1] : null;
233
+ }, rt = () => {
234
+ if (!Number.isFinite(P) || !(M > 0)) return null;
235
+ let e = D.version();
236
+ return (!V || V.version !== e) && (V = {
237
+ version: e,
238
+ ...Qe()
239
+ }), {
240
+ time: P,
241
+ bins: V.bins,
242
+ sizes: V.sizes
247
243
  };
248
- }, Ve = (e) => {
249
- let t = w(e, D.maxSize ?? le, D.colorScale ?? "log", Math.max(.01, D.contrast ?? 1));
250
- return Math.round(t * 127);
251
- }, He = (e, t) => {
252
- let n = $(), r = 0;
253
- for (let e of t) for (let t = 0; t < e.sizes.length; t++) Ve(e.sizes[t]) > 0 && r++;
254
- let i = /* @__PURE__ */ new ArrayBuffer(Math.max(1, r) * 16), a = new Float32Array(i), o = new Uint32Array(i), s = 0, c = N / 2 * 1.06;
255
- for (let e of t) {
256
- let t = e.time + n / 2 - V.x;
257
- for (let n = 0; n < e.sizes.length; n++) {
258
- let r = Ve(e.sizes[n]);
259
- if (r <= 0) continue;
260
- let i = e.bins[n] * N - V.y;
261
- a[s * 4] = t, a[s * 4 + 1] = i - c, a[s * 4 + 2] = i + c, o[s * 4 + 3] = M[r], s++;
262
- }
244
+ }, it = (e, t, n, r, i, a) => {
245
+ let o = $(), s = rt(), c = Math.min(C, Math.ceil(Y.w)), l = Math.min(C, Math.ceil(Y.h)), u = N.length ? N[N.length - 1].seq : -1, d = [
246
+ e,
247
+ t,
248
+ n,
249
+ r,
250
+ Math.floor(i / o),
251
+ N.length,
252
+ u,
253
+ V?.version ?? -1,
254
+ c,
255
+ l,
256
+ M
257
+ ].join("|");
258
+ if (d !== ke) {
259
+ let a = s ? [...N, s] : N;
260
+ B = oe({
261
+ sources: a,
262
+ step: o,
263
+ tick: M,
264
+ x0: e,
265
+ x1: t,
266
+ y0: n,
267
+ y1: r,
268
+ end: i,
269
+ maxWidth: c,
270
+ maxHeight: l
271
+ }, B), ke = d, Ae = "";
263
272
  }
264
- return {
265
- kind: "bar",
266
- key: e,
267
- version: ++de,
268
- color: [
269
- 1,
270
- 1,
271
- 1,
272
- 1
273
- ],
274
- instances: i,
275
- count: r,
276
- halfWidth: n / 2 * 1.06,
277
- radius: 0,
278
- inset: .01,
279
- minHalf: 0,
280
- sorted: !0
281
- };
282
- }, Ue = () => {
283
- if (B.size) {
284
- let e = /* @__PURE__ */ new Map();
285
- for (let t of P) {
286
- let n = Math.floor(t.seq / y);
287
- if (!B.has(n)) continue;
288
- let r = e.get(n);
289
- r || e.set(n, r = []), r.push(t);
273
+ if (!B) return null;
274
+ let f = E.maxSize;
275
+ if (f !== void 0 && f > 0) L = f;
276
+ else {
277
+ let e = qe();
278
+ if (e - De > 250 || !(R > 0)) {
279
+ let t = se(B.cells, w);
280
+ t > 0 && (R = t), De = e;
290
281
  }
291
- for (let t of B) {
292
- let n = e.get(t);
293
- n ? z.set(t, He(`heat:${t}`, n)) : z.delete(t);
294
- }
295
- B.clear();
282
+ L > 0 ? R > 0 && Math.abs(R / L - 1) > .001 && (L += (R - L) * g(a, 700)) : L = R;
296
283
  }
297
- return [...z.values()];
298
- }, We = () => {
299
- let e = $(), t = [], n = 0, r = P.length;
284
+ let p = Math.max(.01, E.contrast ?? 1), m = L > 0 ? y * p / L : 0;
285
+ return `${B.version}|${m}` !== Ae && (S(B, Se, m), Ae = `${B.version}|${m}`), B;
286
+ }, at = () => {
287
+ let e = $(), t = [], n = 0, r = N.length;
300
288
  for (; n < r;) {
301
289
  let t = n + r >>> 1;
302
- P[t].time + e < G[0] ? n = t + 1 : r = t;
290
+ N[t].time + e < W[0] ? n = t + 1 : r = t;
303
291
  }
304
- for (let e = n; e < P.length; e++) {
305
- let n = P[e];
306
- if (n.time > G[1]) break;
292
+ for (let e = n; e < N.length; e++) {
293
+ let n = N[e];
294
+ if (n.time > W[1]) break;
307
295
  t.push(n);
308
296
  }
309
297
  return t;
310
- }, Ge = (e) => {
311
- if (D.bubbles === !1) return null;
312
- let n = $(), r = [], i = (e, t, i, a) => {
313
- t > 0 && r.push([
314
- e + n / 2,
315
- i / t,
316
- t,
317
- a
318
- ]);
298
+ }, ot = (e, t) => {
299
+ let n = $(), r = Math.max(1, Math.ceil(_e / Math.max(1e-6, t))), i = [], a = NaN, o = 0, s = 0, c = {
300
+ bv: 0,
301
+ bn: 0,
302
+ sv: 0,
303
+ sn: 0
304
+ }, l = () => {
305
+ let e = (o + s) / 2;
306
+ c.sv > 0 && i.push({
307
+ time: e,
308
+ price: c.sn / c.sv,
309
+ volume: c.sv,
310
+ buy: !1
311
+ }), c.bv > 0 && i.push({
312
+ time: e,
313
+ price: c.bn / c.bv,
314
+ volume: c.bv,
315
+ buy: !0
316
+ }), c.bv = c.bn = c.sv = c.sn = 0;
317
+ }, u = (e, t, i) => {
318
+ let u = Math.floor(e / r);
319
+ u !== a && (Number.isFinite(a) && l(), a = u, o = t), s = t + n, c.bv += i.buyVolume, c.bn += i.buyNotional, c.sv += i.sellVolume, c.sn += i.sellNotional;
319
320
  };
320
- for (let t of e) i(t.time, t.sellVolume, t.sellNotional, !1), i(t.time, t.buyVolume, t.buyNotional, !0);
321
- if (Number.isFinite(F) && (i(F, I.sellVolume, I.sellNotional, !1), i(F, I.buyVolume, I.buyNotional, !0)), !r.length) return null;
322
- let a = 0;
323
- for (let e of r) a = Math.max(a, e[2]);
324
- ue = ue > 0 ? Math.max(a, ue * .995) : a;
325
- let o = D.bubbleVolume ?? ue, s = Math.max(4, D.bubbleSize ?? 28), c = /* @__PURE__ */ new ArrayBuffer(r.length * 16), l = new Float32Array(c), u = new Uint32Array(c), d = t([
326
- j.up[0],
327
- j.up[1],
328
- j.up[2],
329
- .78
330
- ]), f = t([
331
- j.down[0],
332
- j.down[1],
333
- j.down[2],
334
- .78
321
+ for (let t of e) u(t.seq, t.time, t);
322
+ return Number.isFinite(P) && P <= W[1] && u(we, P, F), Number.isFinite(a) && l(), i;
323
+ }, st = (e) => {
324
+ e.save(), e.beginPath(), e.rect(Y.x, Y.y, Y.w, Y.h), e.clip();
325
+ }, ct = (e, t, n, i, a) => {
326
+ if (E.bestLines === !1) return;
327
+ let o = $(), s = t.map((e) => [
328
+ e.time,
329
+ e.time + o,
330
+ e.bestBid,
331
+ e.bestAsk
335
332
  ]);
336
- return r.forEach(([e, t, n, r], i) => {
337
- l[i * 4] = e - V.x, l[i * 4 + 1] = t - V.y, l[i * 4 + 2] = p(Math.sqrt(n / o) * s, 3, s), u[i * 4 + 3] = r ? d : f;
338
- }), {
339
- kind: "scatter",
340
- key: "trades",
341
- version: ++de,
342
- color: j.up,
343
- instances: c,
344
- count: r.length,
345
- opacity: 1,
346
- stroke: 1.25
333
+ if (Number.isFinite(P) && s.push([
334
+ P,
335
+ P + o,
336
+ D.bestBid(),
337
+ D.bestAsk()
338
+ ]), !s.length) return;
339
+ for (let e = 0; e + 1 < s.length; e++) s[e][1] = s[e + 1][0];
340
+ let c = a >= 2, l = (e) => {
341
+ let t = n(e[0]), r = n(e[1]);
342
+ return c ? [t, r] : [(t + r) / 2, (t + r) / 2];
347
343
  };
348
- }, Ke = (e) => {
349
- if (D.bestLines === !1) return [];
350
- let t = $(), n = (n, r, a) => {
351
- let o = e.length + +!!Number.isFinite(F), s = new Float32Array(o * 4), c = (e, n, r) => {
352
- let a = Number.isFinite(r) ? r - V.y : i;
353
- s[e * 4] = n - V.x, s[e * 4 + 1] = a, s[e * 4 + 2] = n + t - V.x, s[e * 4 + 3] = a;
354
- };
355
- if (e.forEach((e, t) => c(t, e.time, r(e))), Number.isFinite(F)) {
356
- let t = n === "bid" ? O.bestBid() : O.bestAsk();
357
- c(e.length, F, t);
344
+ st(e), e.beginPath();
345
+ let u = [], d = () => {
346
+ if (u.length) {
347
+ u.forEach((t, n) => {
348
+ let [r, a] = l(t), o = i(t[3]);
349
+ n ? e.lineTo(r, o) : e.moveTo(r, o), e.lineTo(a, o);
350
+ });
351
+ for (let t = u.length - 1; t >= 0; t--) {
352
+ let [n, r] = l(u[t]), a = i(u[t][2]);
353
+ e.lineTo(r, a), e.lineTo(n, a);
354
+ }
355
+ e.closePath(), u = [];
356
+ }
357
+ };
358
+ for (let e of s) {
359
+ let [, , t, n] = e;
360
+ Number.isFinite(t) && Number.isFinite(n) && n > t ? u.push(e) : d();
361
+ }
362
+ d(), e.fillStyle = r(Z.theme.text, Ce ? .08 : .07), e.fill(), e.lineJoin = "round";
363
+ for (let [t, n] of [[2, k.up], [3, k.down]]) {
364
+ e.beginPath();
365
+ let a = !1;
366
+ for (let n of s) {
367
+ let r = n[t];
368
+ if (!Number.isFinite(r)) {
369
+ a = !1;
370
+ continue;
371
+ }
372
+ let o = i(r), [s, u] = l(n);
373
+ a ? e.lineTo(s, o) : e.moveTo(s, o), c && e.lineTo(u, o), a = !0;
374
+ }
375
+ e.strokeStyle = r(j, .55), e.lineWidth = 3.5, e.stroke(), e.strokeStyle = r(n), e.lineWidth = 1.5, e.stroke();
376
+ }
377
+ e.restore();
378
+ }, lt = (e, n, i, a, o) => {
379
+ if (!n.length) return;
380
+ let s = 0;
381
+ for (let e of n) s = Math.max(s, e.volume);
382
+ Oe = Oe > 0 ? Math.max(s, Oe * .995) : s;
383
+ let c = E.bubbleVolume ?? Oe, l = Math.max(4, E.bubbleSize ?? 28), u = n.map((e) => ({
384
+ ...e,
385
+ d: m(Math.sqrt(e.volume / c) * l, 3, l)
386
+ })).sort((e, t) => e.d - t.d);
387
+ st(e), e.lineWidth = 1.25, e.textAlign = "center", e.textBaseline = "middle", e.font = ee(Z.theme, E, 600, Math.max(8, o - 1));
388
+ for (let n of u) {
389
+ let o = i(n.time), s = a(n.price), c = n.d / 2;
390
+ if (o < Y.x - c || o > Y.x + Y.w + c || s < Y.y - c || s > Y.y + Y.h + c) continue;
391
+ let l = n.buy ? k.up : k.down;
392
+ if (e.beginPath(), e.arc(o, s, c, 0, Math.PI * 2), e.fillStyle = r(l, .62), e.fill(), e.strokeStyle = r(t(l, [
393
+ 1,
394
+ 1,
395
+ 1,
396
+ 1
397
+ ], .25)), e.stroke(), n.d >= 26) {
398
+ let t = O.compact(n.volume);
399
+ e.measureText(t).width <= n.d - 6 && (e.fillStyle = "#fff", e.fillText(t, o, s + .5));
400
+ }
401
+ }
402
+ e.restore();
403
+ }, ut = (e, t, n, i, a) => {
404
+ let o = Z.theme, [s, c] = G, l = Math.max(1, M / (c - s) * Y.h), u = 0, d = ["bid", "ask"].map((e) => {
405
+ let t = D.levels(e, {
406
+ step: M,
407
+ limit: Ge()
408
+ });
409
+ for (let e = 0; e < t.count; e++) {
410
+ let n = t.price[e];
411
+ n >= s && n <= c && (u = Math.max(u, t.size[e]));
358
412
  }
359
413
  return {
360
- kind: "line",
361
- key: `best:${n}`,
362
- version: ++de,
363
- color: a,
364
- points: s,
365
- count: o * 2,
366
- width: 1.5,
367
- sorted: !0
414
+ side: e,
415
+ ...t
368
416
  };
417
+ });
418
+ if ((u > z || u < z * .6 || !(z > 0)) && (z = ce(u)), !(z > 0)) return;
419
+ let f = t + 2, p = Math.max(4, n - 6);
420
+ e.strokeStyle = r(o.text, .07), e.lineWidth = 1, e.setLineDash([2, 3]), e.beginPath();
421
+ for (let t of [.5, 1]) {
422
+ let n = Math.round(f + p * t) - .5;
423
+ e.moveTo(n, Y.y), e.lineTo(n, Y.y + Y.h);
424
+ }
425
+ e.stroke(), e.setLineDash([]), e.save(), e.beginPath(), e.rect(t, Y.y, n, Y.h), e.clip();
426
+ let m = +(l >= 4), h = (t, n) => {
427
+ let r = Math.round(i(t + M / 2)), a = Math.max(r + 1, Math.round(i(t - M / 2)) - m), o = Math.max(1, Math.min(p, n / z * p));
428
+ e.rect(f, r, o, a - r);
369
429
  };
370
- return [n("bid", (e) => e.bestBid, j.up), n("ask", (e) => e.bestAsk, j.down)];
371
- }, qe = () => {
372
- if (!Number.isFinite(F) || !(N > 0)) return null;
373
- let e = O.version();
374
- if (fe && pe === e) return fe;
375
- let { bins: t, sizes: n } = Fe();
376
- return fe = He("heat:head", [{
377
- time: F,
378
- bins: t,
379
- sizes: n
380
- }]), pe = e, fe;
430
+ for (let { side: t, price: n, size: i, count: a } of d) {
431
+ let o = t === "bid" ? k.up : k.down;
432
+ e.beginPath();
433
+ for (let e = 1; e < a; e++) {
434
+ let t = n[e];
435
+ t >= s - M && t <= c + M && h(t, i[e]);
436
+ }
437
+ e.fillStyle = r(o, Ce ? .62 : .55), e.fill();
438
+ let l = n[0];
439
+ a && l !== void 0 && l >= s && l <= c && (e.beginPath(), h(l, i[0]), e.fillStyle = r(o), e.fill());
440
+ }
441
+ e.restore();
442
+ let g = Math.round(Y.y + Y.h + 4) + .5;
443
+ e.strokeStyle = r(o.textMuted, .7), e.beginPath(), e.moveTo(f, g), e.lineTo(f + p, g);
444
+ for (let t of [
445
+ 0,
446
+ .5,
447
+ 1
448
+ ]) {
449
+ let n = Math.round(f + p * t) + .5;
450
+ e.moveTo(n, g), e.lineTo(n, g + 3);
451
+ }
452
+ e.stroke(), e.font = ee(o, E, 400, Math.max(8, a - 1)), e.fillStyle = r(o.textMuted), e.textBaseline = "top";
453
+ let te = O.compact(z), _ = e.measureText(te).width;
454
+ e.textAlign = "right", e.fillText(te, f + p + 2, g + 4), _ + e.measureText("0").width + 8 < p && (e.textAlign = "left", e.fillText("0", f - 1, g + 4));
455
+ }, dt = () => {
456
+ if (!Re || E.tooltip === !1 || !(M > 0) || X || !Ie) return null;
457
+ let [e, t] = Re;
458
+ if (e < Y.x || e > Y.x + Y.w || t < Y.y || t > Y.y + Y.h) return null;
459
+ let [n, r] = W, [i, a] = G, o = n + (e - Y.x) / Y.w * (r - n), s = i + (Y.y + Y.h - t) / Y.h * (a - i), c = Math.round(s / M), u = +(c * M).toFixed(Math.min(12, l(M) + 2)), d = nt(o);
460
+ return {
461
+ hx: e,
462
+ hy: t,
463
+ time: o,
464
+ start: d ? d.time : Number.isFinite(P) && o >= P ? P : NaN,
465
+ column: d,
466
+ bin: c,
467
+ rowPrice: u
468
+ };
469
+ }, ft = (t, n, i, a, o, s, c, l = "left") => {
470
+ let u = Math.min(t.measureText(n).width + 10, o), d = l === "center" ? i - u / 2 : i;
471
+ t.fillStyle = r(c ? s : j), _(t, d, a - ge / 2, u, ge, 3), t.fill(), c || (t.strokeStyle = r(s), t.lineWidth = 1, t.stroke()), t.fillStyle = c ? e(s) > .6 ? "#111" : "#fff" : r(s), t.textAlign = l, t.textBaseline = "middle", t.fillText(n, l === "center" ? i : d + 5, a + .5);
381
472
  };
382
- function Je(e) {
473
+ function pt(e) {
383
474
  let t = Z.ctx;
384
475
  if (!t) return !1;
385
- let { width: n, height: i, dpr: a, theme: s } = Z, l = ye ? e - ye : 0;
386
- ye = e;
387
- let u = we(), d = D.fontSize ?? (n < 420 ? 10 : 11), f = $(), ee = !Number.isFinite(R);
388
- ee && O.count("bid") + O.count("ask") > 0 && Le(Date.now());
389
- let te = Oe();
390
- t.setTransform(a, 0, 0, a, 0, 0), t.clearRect(0, 0, n, i), t.font = re(s, D, 400, d);
391
- let m = O.mid(), ie = A.price(Number.isFinite(m) ? m * 1.0001 : 0), h = Math.ceil(t.measureText(ie).width) + 16, g = D.profile === !1 ? 0 : Math.round(p(n * .1, 36, 84)), _ = d + 12;
392
- if (Y = {
476
+ let { width: n, height: i, dpr: o, theme: c } = Z, l = Le ? e - Le : 0;
477
+ Le = e;
478
+ let u = He(), d = E.fontSize ?? (n < 420 ? 10 : 11), f = ee(c, E, 400, d), p = ee(c, E, 600, d), h = $(), _ = !Number.isFinite(I);
479
+ _ && D.count("bid") + D.count("ask") > 0 && et(Date.now());
480
+ let ne = Ke();
481
+ J = Number.isFinite(J) && ne > J - h * 4 ? Math.max(J, ne) : ne;
482
+ let v = J;
483
+ t.setTransform(o, 0, 0, o, 0, 0), t.clearRect(0, 0, n, i), Ze();
484
+ let re = D.mid();
485
+ t.font = p;
486
+ let ie = O.price(Number.isFinite(re) ? re * 1.0001 : 0), ae = Math.ceil(t.measureText(ie).width) + 18;
487
+ t.font = f;
488
+ let y = E.profile === !1 ? 0 : Math.round(m(n * .12, 56, 120)), oe = d + 12;
489
+ Y = {
393
490
  x: 0,
394
491
  y: 0,
395
- w: Math.max(10, n - h - g),
396
- h: Math.max(10, i - _)
397
- }, Number.isFinite(W) || (W = Math.max(f * 10, D.window ?? 6e4)), (!Number.isFinite(J) || J <= 0) && (Pe(), J = D.priceSpan ?? (N > 0 ? N * 60 : NaN)), U) {
398
- let e = te + f * 1.5;
399
- G = [e - W, e];
400
- let t = O.bestBid(), n = O.bestAsk();
492
+ w: Math.max(10, n - ae - y),
493
+ h: Math.max(10, i - oe)
494
+ };
495
+ let b = Y.x + Y.w, x = b + y;
496
+ if (Number.isFinite(U) || (U = Math.max(h * 10, E.window ?? 6e4)), Fe) {
497
+ let e = N.length ? N[0].time : P;
498
+ W = ue(e, v, U, Math.min(U, h * 60));
499
+ let t = D.bestBid(), n = D.bestAsk();
500
+ for (let e of at()) Number.isFinite(e.bestBid) && !(e.bestBid >= t) && (t = e.bestBid), Number.isFinite(e.bestAsk) && !(e.bestAsk <= n) && (n = e.bestAsk);
401
501
  Number.isFinite(t) || (t = n), Number.isFinite(n) || (n = t);
402
- for (let e of We()) e.bestBid < t && (t = e.bestBid), e.bestAsk > n && (n = e.bestAsk);
403
- if (Number.isFinite(t) && Number.isFinite(n)) {
404
- let e = Number.isFinite(q) ? ne(l, 260) : 1, r = (t + n) / 2;
405
- if (q = Number.isFinite(q) ? q + (r - q) * e : r, !ve && D.priceSpan === void 0 && N > 0) {
406
- let r = Math.max(N * 60, (n - t) * 1.5);
407
- J += (r - J) * e;
502
+ let r = M > 0 ? M * Math.max(40, Y.h / 6) : 0, i = E.priceSpan ?? (Number.isFinite(q) ? q : void 0);
503
+ if (r > 0 || i !== void 0) {
504
+ K = le(K, t, n, r, i);
505
+ let [e, a] = K;
506
+ if (Number.isFinite(e) && Number.isFinite(a)) {
507
+ if (!Ie) G = [e, a], Ie = !0;
508
+ else {
509
+ let t = g(l, 280);
510
+ G = [G[0] + (e - G[0]) * t, G[1] + (a - G[1]) * t];
511
+ }
408
512
  }
409
- } else Number.isFinite(m) && (q = Number.isFinite(q) ? q + (m - q) * ne(l, 220) : m);
410
- Number.isFinite(q) && Number.isFinite(J) && (K = [q - J / 2, q + J / 2]);
513
+ }
411
514
  }
412
- let [v, oe] = G, [y, b] = K, x = (e) => Y.x + (e - v) / (oe - v) * Y.w, S = (e) => Y.y + Y.h - (e - y) / (b - y) * Y.h, C = We();
413
- if (H && N > 0) {
414
- Be();
515
+ let [S, se] = W, [ce, fe] = G, C = (e) => Y.x + (e - S) / (se - S) * Y.w, w = (e) => Y.y + Y.h - (e - ce) / (fe - ce) * Y.h, pe = Ie && M > 0, me = at(), he = h / (se - S) * Y.w, _e = r(j);
516
+ if (H) {
415
517
  let e = H.canvas;
416
518
  e.style.left = `${Y.x}px`, e.style.top = `${Y.y}px`, e.style.width = `${Y.w}px`, e.style.height = `${Y.h}px`;
417
- let t = Math.max(1, Math.round(Y.w * a)), n = Math.max(1, Math.round(Y.h * a));
519
+ let t = Math.max(1, Math.round(Y.w * o)), n = Math.max(1, Math.round(Y.h * o));
418
520
  (e.width !== t || e.height !== n) && H.resize(t, n);
419
- let r = Ue(), i = qe();
420
- i && r.push(i), r.push(...Ke(C));
421
- let o = Ge(C);
422
- o && r.push(o);
423
- let s = 2 / (oe - v), c = 2 / (b - y);
424
- H.render(r, {
425
- transform: {
426
- xScale: s,
427
- xOffset: (V.x - v) * s - 1,
428
- yScale: c,
429
- yOffset: (V.y - y) * c - 1
430
- },
431
- width: t,
432
- height: n,
433
- dpr: a
434
- });
435
- }
436
- let w = Y.x + Y.w + g, T = Number.isFinite(y) ? o(y, b, Math.max(2, Math.floor(Y.h / 44))) : [];
437
- t.strokeStyle = r(s.text, .07), t.lineWidth = 1, t.beginPath();
438
- for (let e of T) {
439
- let n = Math.round(S(e)) + .5;
440
- t.moveTo(Y.x, n), t.lineTo(w, n);
521
+ let r = pe && Number.isFinite(P) ? it(S, se, ce, fe, v, l) : null, i = t / Y.w, a = n / Y.h, s = r ? [
522
+ (C(r.t0) - Y.x) * i,
523
+ (w(r.p1) - Y.y) * a,
524
+ (C(r.t1) - Y.x) * i,
525
+ (w(r.p0) - Y.y) * a
526
+ ] : [
527
+ 0,
528
+ 0,
529
+ 0,
530
+ 0
531
+ ];
532
+ H.render(r, s, j);
533
+ } else t.fillStyle = _e, t.fillRect(Y.x, Y.y, Y.w, Y.h);
534
+ let ve = pe ? a(ce, fe, Math.max(2, Math.floor(Y.h / 44))) : [], ye = s(S, se, Math.max(2, Math.floor(Y.w / 75)), void 0, E.timeZone ?? "local");
535
+ t.strokeStyle = r(c.text, Ce ? .07 : .09), t.lineWidth = 1, t.beginPath();
536
+ for (let e of ve) {
537
+ let n = Math.round(w(e)) + .5;
538
+ t.moveTo(Y.x, n), t.lineTo(x, n);
441
539
  }
442
- t.stroke(), t.fillStyle = r(s.textMuted), t.textAlign = "left", t.textBaseline = "middle";
443
- for (let e of T) {
444
- let n = S(e);
445
- n < 6 || n > Y.h - 6 || t.fillText(A.price(e), w + 6, n);
540
+ for (let e of ye.values) {
541
+ let n = Math.round(C(e)) + .5;
542
+ n <= Y.x + 1 || n >= b - 1 || (t.moveTo(n, Y.y), t.lineTo(n, Y.y + Y.h));
446
543
  }
447
- let E = c(v, oe, Math.max(2, Math.floor(Y.w / 90)));
448
- t.textAlign = "center", t.textBaseline = "top";
449
- for (let e of E.values) {
450
- let n = x(e);
451
- n < 20 || n > Y.x + Y.w - 20 || t.fillText(E.format(e), n, Y.y + Y.h + 6);
544
+ t.stroke(), pe && (ct(t, me, C, w, he), E.bubbles !== !1 && lt(t, ot(me, he), C, w, d), y && ut(t, b, y, w, d)), t.strokeStyle = r(c.axis), t.lineWidth = 1, t.beginPath(), t.moveTo(0, Math.round(Y.y + Y.h) + .5), t.lineTo(n, Math.round(Y.y + Y.h) + .5), y && (t.moveTo(Math.round(b) + .5, Y.y), t.lineTo(Math.round(b) + .5, Y.y + Y.h)), t.moveTo(Math.round(x) + .5, Y.y), t.lineTo(Math.round(x) + .5, Y.y + Y.h), t.stroke();
545
+ let T = pe ? dt() : null;
546
+ t.font = f;
547
+ let be = T ? te(Number.isFinite(T.start) ? T.start : T.time, h < 1e3, E.timeZone) : "", xe = T ? t.measureText(be).width / 2 + 8 : 0;
548
+ t.fillStyle = r(c.textMuted), t.textAlign = "center", t.textBaseline = "top";
549
+ for (let e of ye.values) {
550
+ let n = C(e), r = ye.format(e), i = t.measureText(r).width / 2;
551
+ n - i < Y.x + 2 || n + i > b - 2 || T && Math.abs(n - T.hx) < xe + i || t.fillText(r, n, Y.y + Y.h + 6);
452
552
  }
453
- if (t.strokeStyle = r(s.axis), t.beginPath(), t.moveTo(0, Math.round(Y.y + Y.h) + .5), t.lineTo(n, Math.round(Y.y + Y.h) + .5), t.moveTo(Math.round(w) + .5, 0), t.lineTo(Math.round(w) + .5, Y.y + Y.h), t.stroke(), g && N > 0 && Number.isFinite(y)) {
454
- let e = Y.x + Y.w;
455
- t.fillStyle = r(s.background, .85), t.fillRect(e, Y.y, g, Y.h);
456
- let n = Math.max(1, N / (b - y) * Y.h), i = 0, a = ["bid", "ask"].map((e) => {
457
- let { price: t, size: n, count: r } = O.levels(e, {
458
- step: N,
459
- limit: De()
460
- });
461
- for (let e = 0; e < r; e++) t[e] >= y && t[e] <= b && (i = Math.max(i, n[e]));
462
- return {
463
- side: e,
464
- price: t,
465
- size: n,
466
- count: r
467
- };
468
- });
469
- for (let { side: o, price: s, size: c, count: l } of a) {
470
- t.fillStyle = r(o === "bid" ? j.up : j.down, .6);
471
- for (let r = 0; r < l; r++) {
472
- let a = s[r];
473
- if (a < y || a > b || i <= 0) continue;
474
- let o = c[r] / i * (g - 4), l = S(a) - n / 2;
475
- t.fillRect(e + 2, l + (n > 3 ? .5 : 0), o, Math.max(1, n - +(n > 3)));
476
- }
477
- }
478
- }
479
- let k = (e, i, a) => {
480
- if (!Number.isFinite(e) || e < y || e > b) return;
481
- let o = p(S(e), 8, Y.h - 8), c = A.price(e);
482
- t.font = re(s, D, 600, d);
483
- let l = t.measureText(c).width + 10;
484
- t.fillStyle = r(a ? i : s.background), ae(t, w + 1, o - 8, Math.min(l, n - w - 2), 16, 3), t.fill(), a || (t.strokeStyle = r(i), t.stroke()), t.fillStyle = a ? "#fff" : r(i), t.textAlign = "left", t.textBaseline = "middle", t.fillText(c, w + 6, o + .5), t.font = re(s, D, 400, d);
485
- };
486
- k(O.bestBid(), j.up, !0), k(O.bestAsk(), j.down, !0);
487
- let M = (e) => !Number.isFinite(e) || Math.abs(S(e) - S(L?.price ?? NaN)) >= 17;
488
- L && M(O.bestBid()) && M(O.bestAsk()) && k(L.price, L.side === "buy" ? j.up : j.down, !1), Ye(t, x, S, d, w, u), !H && Z.root.dataset.renderer, Z.describe(`${D.ariaLabel ?? u.name}. ${u.bid} ${A.price(O.bestBid())}, ${u.ask} ${A.price(O.bestAsk())}.`);
489
- let P = ee || ke() - ce < 2e3;
490
- return U && P && Number.isFinite(F);
553
+ let A = Te, Se = [{
554
+ price: D.bestAsk(),
555
+ color: k.down,
556
+ filled: !0
557
+ }, {
558
+ price: D.bestBid(),
559
+ color: k.up,
560
+ filled: !0
561
+ }];
562
+ A && A.price !== D.bestBid() && A.price !== D.bestAsk() && Se.push({
563
+ price: A.price,
564
+ color: A.side === "buy" ? k.up : k.down,
565
+ filled: !1
566
+ });
567
+ let we = pe ? Se.filter((e) => Number.isFinite(e.price) && e.price >= ce && e.price <= fe) : [], F = T ? Math.round(w(T.rowPrice)) + .5 : NaN, L = de(we.map((e) => ({
568
+ y: w(e.price),
569
+ h: ge
570
+ })), T ? {
571
+ y: F,
572
+ h: ge
573
+ } : null, ve.map(w), d + 2, [Y.y, Y.y + Y.h]);
574
+ t.fillStyle = r(c.textMuted), t.textAlign = "left", t.textBaseline = "middle", ve.forEach((e, n) => {
575
+ L.ticks[n] && t.fillText(O.price(e), x + 6, w(e));
576
+ }), t.font = p, we.forEach((e, i) => {
577
+ let a = L.pinned[i];
578
+ if (a == null) return;
579
+ let o = w(e.price);
580
+ Math.abs(a - o) > 1 && (t.strokeStyle = r(e.color), t.lineWidth = 1, t.beginPath(), t.moveTo(x - 4, o), t.lineTo(x + 1, a), t.stroke()), ft(t, O.price(e.price), x + 1, a, n - x - 2, e.color, e.filled);
581
+ }), mt(t, C, w, x, u, T, F, be), t.font = f, Z.describe(`${E.ariaLabel ?? u.name}. ${u.bid} ${O.price(D.bestBid())}, ${u.ask} ${O.price(D.bestAsk())}.`);
582
+ let R = _ || qe() - Ee < 2e3;
583
+ return Fe && R && Number.isFinite(P) || Ie && K !== null && Math.abs(G[0] - K[0]) > 1e-9;
491
584
  }
492
- function Ye(e, t, n, i, a, o) {
493
- let { theme: s } = Z, c = () => {
494
- Z.tooltip.style.display = "none", xe && (xe = "", k.emit("hover", null));
495
- };
496
- if (!be || D.tooltip === !1 || !(N > 0) || X) {
497
- c();
498
- return;
499
- }
500
- let [l, d] = be;
501
- if (l < Y.x || l > Y.x + Y.w || d < Y.y || d > Y.y + Y.h) {
502
- c();
585
+ function mt(e, t, n, i, a, o, s, c) {
586
+ let { theme: l } = Z;
587
+ if (!o) {
588
+ Z.tooltip.style.display = "none", ze && (ze = "", xe.emit("hover", null));
503
589
  return;
504
590
  }
505
- let [f, ee] = G, [te, p] = K, m = f + (l - Y.x) / Y.w * (ee - f), ne = te + (Y.y + Y.h - d) / Y.h * (p - te), h = Math.round(ne / N), g = +(h * N).toFixed(Math.min(12, u(N) + 2)), _ = ze(m), v = $(), y = 0, b = NaN, x = NaN, S = 0, C = 0, w = NaN;
506
- if (_) {
507
- for (let e = 0; e < _.bins.length; e++) _.bins[e] === h && (y += _.sizes[e]);
508
- ({bestBid: b, bestAsk: x, buyVolume: S, sellVolume: C} = _), w = _.time;
509
- } else if (Number.isFinite(F) && m >= F) {
510
- let e = ["bid", "ask"].map((e) => O.levels(e, {
511
- step: N,
512
- limit: De()
591
+ let { hx: u, hy: d, time: f, start: p, column: h, bin: g, rowPrice: _ } = o, ne = $(), v = 0, re = NaN, ie = NaN, y = 0, oe = 0;
592
+ if (h) {
593
+ for (let e = 0; e < h.bins.length; e++) h.bins[e] === g && (v += h.sizes[e]);
594
+ ({bestBid: re, bestAsk: ie, buyVolume: y, sellVolume: oe} = h);
595
+ } else if (Number.isFinite(p)) {
596
+ let e = ["bid", "ask"].map((e) => D.levels(e, {
597
+ step: M,
598
+ limit: Ge()
513
599
  }));
514
- for (let t of e) for (let e = 0; e < t.count; e++) Math.round(t.price[e] / N) === h && (y += t.size[e]);
515
- b = O.bestBid(), x = O.bestAsk(), S = I.buyVolume, C = I.sellVolume, w = F;
600
+ for (let t of e) for (let e = 0; e < t.count; e++) Math.round(t.price[e] / M) === g && (v += t.size[e]);
601
+ re = D.bestBid(), ie = D.bestAsk(), y = F.buyVolume, oe = F.sellVolume;
516
602
  }
517
- let T = g <= b ? "bid" : g >= x ? "ask" : null;
518
- e.strokeStyle = r(s.text, .45), e.setLineDash([3, 3]), e.beginPath(), e.moveTo(Math.round(l) + .5, Y.y), e.lineTo(Math.round(l) + .5, Y.y + Y.h);
519
- let E = Math.round(n(g)) + .5;
520
- if (e.moveTo(Y.x, E), e.lineTo(a, E), e.stroke(), e.setLineDash([]), Number.isFinite(w)) {
521
- let i = t(w), a = t(w + v), o = n(g + N / 2), c = n(g - N / 2);
522
- e.strokeStyle = r(s.text, .85), e.strokeRect(i, o, Math.max(2, a - i), Math.max(2, c - o));
603
+ let b = _ <= re ? "bid" : _ >= ie ? "ask" : null;
604
+ if (e.strokeStyle = r(l.text, .5), e.lineWidth = 1, e.setLineDash([3, 3]), e.beginPath(), e.moveTo(Math.round(u) + .5, Y.y), e.lineTo(Math.round(u) + .5, Y.y + Y.h), e.moveTo(Y.x, s), e.lineTo(i, s), e.stroke(), e.setLineDash([]), Number.isFinite(p)) {
605
+ let i = t(p), a = t(p + ne), o = n(_ + M / 2), s = n(_ - M / 2);
606
+ e.strokeStyle = r(l.text, .85), e.strokeRect(i, o, Math.max(2, a - i), Math.max(2, s - o));
523
607
  }
524
- e.font = re(s, D, 600, i);
525
- let M = A.price(g), P = Math.min(e.measureText(M).width + 10, Z.width - a - 2);
526
- e.fillStyle = r(s.text), ae(e, a + 1, E - 8, P, 16, 3), e.fill(), e.fillStyle = r(s.background), e.textAlign = "left", e.textBaseline = "middle", e.fillText(M, a + 6, E + .5), e.font = re(s, D, 400, i);
527
- let se = T === "bid" ? j.up : T === "ask" ? j.down : s.text;
528
- oe(Se, Z.tooltip, {
529
- text: ie(Number.isFinite(w) ? w : m),
530
- color: void 0
608
+ e.font = ee(l, E, 600, E.fontSize ?? (Z.width < 420 ? 10 : 11)), ft(e, O.price(_), i + 1, s, Z.width - i - 2, l.text, !0), ft(e, c, m(u, Y.x + 40, Y.x + Y.w - 40), Y.y + Y.h + ge / 2 + 2, Y.w, l.text, !0, "center");
609
+ let x = b === "bid" ? k.up : b === "ask" ? k.down : null;
610
+ ae(Be, Z.tooltip, {
611
+ text: te(Number.isFinite(p) ? p : f, !0, E.timeZone),
612
+ color: void 0,
613
+ badge: b && x ? {
614
+ text: b === "bid" ? a.bidSide : a.askSide,
615
+ color: r(x)
616
+ } : void 0
531
617
  }, [
532
- [o.price, A.price(g)],
533
- [o.liquidity, A.size(y)],
534
- [o.buys, A.size(S)],
535
- [o.sells, A.size(C)]
536
- ]), Z.tooltip.style.display = "block", Z.tooltip.style.borderLeft = `3px solid ${r(se)}`, Z.placeTooltip(Z.tooltip, l, d, l > Y.w * .6 ? "left" : "right");
537
- let L = `${w}|${h}|${y}|${S}|${C}`;
538
- if (L !== xe) {
539
- xe = L;
618
+ [a.price, O.price(_)],
619
+ [a.liquidity, O.size(v)],
620
+ [a.buys, O.size(y)],
621
+ [a.sells, O.size(oe)]
622
+ ]), Z.tooltip.style.display = "block", Z.placeTooltip(Z.tooltip, u, d, u > Y.w * .6 ? "left" : "right");
623
+ let S = `${p}|${g}|${v}|${y}|${oe}`;
624
+ if (S !== ze) {
625
+ ze = S;
540
626
  let e = {
541
- time: Number.isFinite(w) ? w : m,
542
- price: g,
543
- size: y,
544
- side: T,
545
- buyVolume: S,
546
- sellVolume: C
627
+ time: Number.isFinite(p) ? p : f,
628
+ price: _,
629
+ size: v,
630
+ side: b,
631
+ buyVolume: y,
632
+ sellVolume: oe
547
633
  };
548
- k.emit("hover", e);
634
+ xe.emit("hover", e);
549
635
  }
550
636
  }
551
- let Xe = async (e = /* @__PURE__ */ new Set()) => {
552
- let t = ++me, n = await s(D.renderer ?? "auto", () => {
553
- let e = Se.createElement("canvas");
637
+ let ht = async (e = /* @__PURE__ */ new Set()) => {
638
+ let t = ++je, n = await b(E.renderer ?? "auto", () => {
639
+ let e = Be.createElement("canvas");
554
640
  return Object.assign(e.style, {
555
641
  position: "absolute",
556
642
  left: "0",
@@ -558,146 +644,151 @@ var y = 32, b = 128, x = [
558
644
  pointerEvents: "none"
559
645
  }), e.setAttribute("aria-hidden", "true"), e;
560
646
  }, (t) => {
561
- he || H?.kind !== t || (H.destroy(), H.canvas.remove(), H = null, Xe(/* @__PURE__ */ new Set([...e, t])));
647
+ Me || H?.kind !== t || (H.destroy(), H.canvas.remove(), H = null, ht(/* @__PURE__ */ new Set([...e, t])));
562
648
  }, e);
563
- if (he || t !== me) {
649
+ if (Me || t !== je) {
564
650
  n?.destroy();
565
651
  return;
566
652
  }
567
- H && (H.destroy(), H.canvas.remove()), H = n, n && (Q.dataset.renderer = n.kind, Q.insertBefore(n.canvas, Z.canvas), k.emit("renderer", n.kind)), ge(n?.kind ?? null), Z.invalidate();
568
- }, Ze = (e) => {
569
- U !== e && (U = e, k.emit("follow", e));
570
- }, Qe = (e) => {
571
- if (D.interactive === !1) return;
572
- let [t, n] = v(Q, e);
653
+ H && (H.destroy(), H.canvas.remove()), H = n, n ? (Q.dataset.renderer = n.kind, Q.insertBefore(n.canvas, Z.canvas), xe.emit("renderer", n.kind)) : delete Q.dataset.renderer, Ne(n?.kind ?? null), Z.invalidate();
654
+ }, gt = o(() => E.renderer, () => void ht()), _t = (e) => {
655
+ Fe !== e && (Fe = e, xe.emit("follow", e));
656
+ }, vt = (e) => {
657
+ let t = N.length ? N[0].time : P;
658
+ if (!Number.isFinite(t)) return e;
659
+ let n = e[1] - e[0], r = (Number.isFinite(J) ? J : Ke()) + $() + n / 2, i = Math.max(t - n / 2, Math.min(e[0], r - n));
660
+ return [i, i + n];
661
+ }, yt = (e) => {
662
+ if (E.interactive === !1) return;
663
+ let [t, n] = ie(Q, e);
573
664
  Q.setPointerCapture?.(e.pointerId), X = {
574
665
  x: t,
575
666
  y: n,
576
- viewX: [...G],
577
- viewY: [...K],
667
+ viewX: [...W],
668
+ viewY: [...G],
578
669
  axis: t > Y.x + Y.w,
579
- span: K[1] - K[0]
670
+ span: G[1] - G[0]
580
671
  };
581
- }, $e = (e) => {
582
- let [t, n] = v(Q, e);
583
- if (be = [t, n], X) {
672
+ }, bt = (e) => {
673
+ let [t, n] = ie(Q, e);
674
+ if (Re = [t, n], X) {
584
675
  let e = t - X.x, r = n - X.y;
585
676
  if (X.axis) {
586
677
  let e = X.span * Math.exp(r * .006), t = (X.viewY[0] + X.viewY[1]) / 2;
587
- J = e, ve = !0, K = [t - e / 2, t + e / 2], U && (q = t);
678
+ q = e, G = [t - e / 2, t + e / 2], K = [G[0], G[1]];
588
679
  } else if (Math.abs(e) + Math.abs(r) > 3) {
589
- Ze(!1);
680
+ _t(!1);
590
681
  let t = (X.viewX[1] - X.viewX[0]) / Y.w * e, n = (X.viewY[1] - X.viewY[0]) / Y.h * r;
591
- G = [X.viewX[0] - t, X.viewX[1] - t], K = [X.viewY[0] + n, X.viewY[1] + n];
682
+ W = vt([X.viewX[0] - t, X.viewX[1] - t]), G = [X.viewY[0] + n, X.viewY[1] + n];
592
683
  }
593
684
  }
594
685
  Z.invalidate();
595
- }, et = (e) => {
686
+ }, xt = (e) => {
596
687
  Q.releasePointerCapture?.(e.pointerId), X = null, Z.invalidate();
597
- }, tt = () => {
598
- X || (be = null, Z.invalidate());
599
- }, nt = (e, t) => {
600
- let [n, r] = G, i = p((r - n) * e, $() * 10, Ee());
601
- if (W = i, !U) {
688
+ }, St = () => {
689
+ X || (Re = null, Z.invalidate());
690
+ }, Ct = (e, t) => {
691
+ let [n, r] = W, i = m((Fe ? U : r - n) * e, $() * 10, We());
692
+ if (U = i, !Fe) {
602
693
  let e = n + (t - Y.x) / Y.w * (r - n), a = (e - n) / (r - n);
603
- G = [e - i * a, e + i * (1 - a)];
694
+ W = vt([e - i * a, e + i * (1 - a)]);
604
695
  }
605
696
  Z.invalidate();
606
- }, rt = (e) => {
607
- let t = p((K[1] - K[0]) * e, N * 6 || 1e-9, Infinity), n = (K[0] + K[1]) / 2;
608
- J = t, ve = !0, K = [n - t / 2, n + t / 2], Z.invalidate();
609
- }, it = (e) => {
610
- if (D.interactive === !1 || !(e.ctrlKey || e.metaKey)) return;
697
+ }, wt = (e) => {
698
+ let t = m((G[1] - G[0]) * e, M * 6 || 1e-9, Infinity), n = (G[0] + G[1]) / 2;
699
+ q = t, G = [n - t / 2, n + t / 2], K = [G[0], G[1]], Z.invalidate();
700
+ }, Tt = (e) => {
701
+ if (E.interactive === !1 || !(e.ctrlKey || e.metaKey)) return;
611
702
  e.preventDefault();
612
- let [t] = v(Q, e), n = Math.exp(e.deltaY * .002);
613
- e.shiftKey || t > Y.x + Y.w ? rt(n) : nt(n, t);
614
- }, at = () => {
615
- D.interactive !== !1 && ct.resetView();
616
- }, ot = (e) => {
617
- if (D.interactive !== !1) {
703
+ let [t] = ie(Q, e), n = Math.exp(e.deltaY * .002);
704
+ e.shiftKey || t > Y.x + Y.w ? wt(n) : Ct(n, t);
705
+ }, Et = () => {
706
+ E.interactive !== !1 && kt.resetView();
707
+ }, Dt = (e) => {
708
+ if (E.interactive !== !1) {
618
709
  switch (e.key) {
619
710
  case "+":
620
711
  case "=":
621
- nt(.8, Y.x + Y.w);
712
+ Ct(.8, Y.x + Y.w);
622
713
  break;
623
714
  case "-":
624
- nt(1.25, Y.x + Y.w);
715
+ Ct(1.25, Y.x + Y.w);
625
716
  break;
626
717
  case "ArrowUp":
627
718
  case "ArrowDown": {
628
719
  if (e.shiftKey) {
629
- rt(e.key === "ArrowUp" ? .8 : 1.25);
720
+ wt(e.key === "ArrowUp" ? .8 : 1.25);
630
721
  break;
631
722
  }
632
- Ze(!1);
633
- let t = (K[1] - K[0]) * .1 * (e.key === "ArrowUp" ? 1 : -1);
634
- K = [K[0] + t, K[1] + t], Z.invalidate();
723
+ _t(!1);
724
+ let t = (G[1] - G[0]) * .1 * (e.key === "ArrowUp" ? 1 : -1);
725
+ G = [G[0] + t, G[1] + t], Z.invalidate();
635
726
  break;
636
727
  }
637
728
  case "ArrowLeft":
638
729
  case "ArrowRight": {
639
- Ze(!1);
640
- let t = (G[1] - G[0]) * .1 * (e.key === "ArrowLeft" ? -1 : 1);
641
- G = [G[0] + t, G[1] + t], Z.invalidate();
730
+ _t(!1);
731
+ let t = (W[1] - W[0]) * .1 * (e.key === "ArrowLeft" ? -1 : 1);
732
+ W = vt([W[0] + t, W[1] + t]), Z.invalidate();
642
733
  break;
643
734
  }
644
735
  case "0":
645
736
  case "Home":
646
- ct.resetView();
737
+ kt.resetView();
647
738
  break;
648
739
  default: return;
649
740
  }
650
741
  e.preventDefault();
651
742
  }
652
743
  };
653
- Q.addEventListener("pointerdown", Qe), Q.addEventListener("pointermove", $e), Q.addEventListener("pointerup", et), Q.addEventListener("pointercancel", et), Q.addEventListener("pointerleave", tt), Q.addEventListener("wheel", it, { passive: !1 }), Q.addEventListener("dblclick", at), Q.addEventListener("keydown", ot);
654
- let st = (e) => {
655
- let t = Re(e.time);
656
- O.count("bid") + O.count("ask") > 0 && (Pe(), Le(t)), O.applyDelta(e);
657
- }, ct = {
744
+ Q.addEventListener("pointerdown", yt), Q.addEventListener("pointermove", bt), Q.addEventListener("pointerup", xt), Q.addEventListener("pointercancel", xt), Q.addEventListener("pointerleave", St), Q.addEventListener("wheel", Tt, { passive: !1 }), Q.addEventListener("dblclick", Et), Q.addEventListener("keydown", Dt);
745
+ let Ot = (e) => {
746
+ let t = tt(e.time);
747
+ D.count("bid") + D.count("ask") > 0 && (Ze(), et(t)), D.applyDelta(e);
748
+ }, kt = {
658
749
  setBook(e) {
659
- let t = Re(e.time);
660
- O.count("bid") + O.count("ask") > 0 && Le(t), O.setSnapshot(e), Pe(), je(), Number.isFinite(F) || Le(t), Z.invalidate();
750
+ let t = tt(e.time);
751
+ D.count("bid") + D.count("ask") > 0 && et(t), D.setSnapshot(e), Ze(), Ye(), Number.isFinite(P) || et(t), Z.invalidate();
661
752
  },
662
753
  applyDeltas(e) {
663
- if (Array.isArray(e)) for (let t of e) st(t);
664
- else st(e);
665
- !Number.isFinite(F) && N > 0 && Le(Oe()), Z.invalidate();
754
+ if (Array.isArray(e)) for (let t of e) Ot(t);
755
+ else Ot(e);
756
+ !Number.isFinite(P) && M > 0 && et(Ke()), Z.invalidate();
666
757
  },
667
758
  addTrades(e) {
668
759
  let t = Array.isArray(e) ? e : [e];
669
760
  for (let e of t) {
670
761
  if (!(e.size > 0) || !Number.isFinite(e.price)) continue;
671
- Number.isFinite(R) && (Re(e.time), Le(e.time));
672
- let t = !Number.isFinite(F) || e.time >= F ? I : ze(e.time);
673
- t && (e.side === "buy" ? (t.buyVolume += e.size, t.buyNotional += e.size * e.price) : (t.sellVolume += e.size, t.sellNotional += e.size * e.price)), (!L || e.time >= L.time) && (L = e);
762
+ Number.isFinite(I) && (tt(e.time), et(e.time));
763
+ let t = !Number.isFinite(P) || e.time >= P ? F : nt(e.time);
764
+ t && (e.side === "buy" ? (t.buyVolume += e.size, t.buyNotional += e.size * e.price) : (t.sellVolume += e.size, t.sellNotional += e.size * e.price)), (!Te || e.time >= Te.time) && (Te = e);
674
765
  }
675
766
  Z.invalidate();
676
767
  },
677
768
  clear() {
678
- O.clear(), Ne(), L = null, R = NaN, N = 0, q = NaN, J = NaN, ve = !1, Z.invalidate();
769
+ D.clear(), Xe(), Te = null, I = NaN, M = 0, q = NaN, K = null, Ie = !1, Z.invalidate();
679
770
  },
680
771
  setOptions(e) {
681
- let t = D;
682
- D = e, Te(), (e.tickSize !== t.tickSize || (e.interval ?? 100) !== (t.interval ?? 100)) && (Ne(), N = 0, J = NaN, Pe()), e.window !== t.window && (W = NaN), e.priceSpan !== t.priceSpan && (J = NaN), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && Xe(), Ae(), je(), Me();
772
+ let t = E;
773
+ E = e, Ue(), (e.tickSize !== t.tickSize || (e.interval ?? 100) !== (t.interval ?? 100)) && (Xe(), M = 0, q = NaN, Ze()), e.window !== t.window && (U = NaN), e.priceSpan !== t.priceSpan && (q = NaN), (e.renderer ?? "auto") !== (t.renderer ?? "auto") && ht(), Je(), Ye(), Z.invalidate();
683
774
  },
684
775
  resetView() {
685
- W = NaN, J = NaN, ve = !1, q = NaN, Ze(!0), Z.invalidate();
776
+ U = NaN, q = NaN, K = null, _t(!0), Z.invalidate();
686
777
  },
687
778
  getRenderer: () => H?.kind ?? null,
688
- ready: _e,
689
- getStore: () => O,
690
- on: (e, t) => k.on(e, t),
779
+ ready: Pe,
780
+ getStore: () => D,
781
+ on: (e, t) => xe.on(e, t),
691
782
  resize() {
692
783
  Z.invalidate();
693
784
  },
694
785
  destroy() {
695
- he = !0, Q.removeEventListener("pointerdown", Qe), Q.removeEventListener("pointermove", $e), Q.removeEventListener("pointerup", et), Q.removeEventListener("pointercancel", et), Q.removeEventListener("pointerleave", tt), Q.removeEventListener("wheel", it), Q.removeEventListener("dblclick", at), Q.removeEventListener("keydown", ot), H?.destroy(), H = null, k.clear(), Z.destroy(), ge(null);
786
+ Me = !0, gt(), Q.removeEventListener("pointerdown", yt), Q.removeEventListener("pointermove", bt), Q.removeEventListener("pointerup", xt), Q.removeEventListener("pointercancel", xt), Q.removeEventListener("pointerleave", St), Q.removeEventListener("wheel", Tt), Q.removeEventListener("dblclick", Et), Q.removeEventListener("keydown", Dt), H?.destroy(), H = null, xe.clear(), Z.destroy(), Ne(null);
696
787
  }
697
788
  };
698
- return Te(), Ae(), Xe(), ct;
789
+ return Ue(), Je(), ht(), kt;
699
790
  };
700
791
  //#endregion
701
- export { T as createOrderBookHeatmap, w as heatIntensity };
792
+ export { T as createOrderBookHeatmap, ye as heatIntensity };
702
793
 
703
794
  //# sourceMappingURL=heatmap.js.map