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
@@ -0,0 +1,30 @@
1
+ import { GraphDirection, GraphEdge, GraphNode, GraphTreeLayoutOptions, GraphTreeLayoutResult } from './types.js';
2
+ export type TreeType = "tree" | "radial" | "mindmap" | "org";
3
+ export interface TreeInput {
4
+ n: number;
5
+ source: ArrayLike<number>;
6
+ target: ArrayLike<number>;
7
+ width: ArrayLike<number>;
8
+ height: ArrayLike<number>;
9
+ type: TreeType;
10
+ direction: GraphDirection;
11
+ /** Index of the root, -1 = nodes without a parent */
12
+ root: number;
13
+ levelGap: number;
14
+ siblingGap: number;
15
+ collapsed: ReadonlySet<number>;
16
+ /** Org charts: leaf children are stacked in a column under their parent */
17
+ compact?: boolean;
18
+ }
19
+ /** Shift of stacked org chart cards to the right of their parent (room for the connector) */
20
+ export declare const STACK_SHIFT = 18;
21
+ /** Default gap between levels of each tree type */
22
+ export declare const TREE_LEVEL_GAP: Record<TreeType, number>;
23
+ /** Tree layouts on index data */
24
+ export declare const tidyTreeLayout: (input: TreeInput) => GraphTreeLayoutResult;
25
+ /**
26
+ * Tree layouts of a hierarchy given as parent → child edges: tidy tree,
27
+ * radial tree, two-sided mind map or org chart. Edges that would make a
28
+ * cycle or give a second parent are ignored.
29
+ */
30
+ export declare const treeLayout: (nodes: readonly GraphNode[], edges: readonly GraphEdge[], options?: GraphTreeLayoutOptions) => GraphTreeLayoutResult;
@@ -0,0 +1,218 @@
1
+ import { indexGraph as e } from "./force.js";
2
+ var t = {
3
+ tree: 56,
4
+ radial: 90,
5
+ mindmap: 40,
6
+ org: 44
7
+ }, n = (e, t) => {
8
+ let n = {
9
+ i: e,
10
+ parent: null,
11
+ children: [],
12
+ A: null,
13
+ z: 0,
14
+ m: 0,
15
+ c: 0,
16
+ s: 0,
17
+ t: null,
18
+ idx: 0,
19
+ depth: t
20
+ };
21
+ return n.a = n, n;
22
+ }, r = (e) => e.children.length ? e.children[0] : e.t, i = (e) => e.children.length ? e.children[e.children.length - 1] : e.t, a = (e, t, n) => {
23
+ let r = n / (t.idx - e.idx);
24
+ t.c -= r, t.s += n, e.c += r, t.z += n, t.m += n;
25
+ }, o = (e) => {
26
+ let t = 0, n = 0;
27
+ for (let r = e.children.length - 1; r >= 0; r--) {
28
+ let i = e.children[r];
29
+ i.z += t, i.m += t, t += i.s + (n += i.c);
30
+ }
31
+ }, s = (e, t, n) => e.a.parent === t.parent ? e.a : n, c = (e, t, n) => {
32
+ let c = (e, n, o) => {
33
+ if (!n) return o;
34
+ let c = e, l = e, u = n, d = c.parent.children[0], f = c.m, p = l.m, m = u.m, h = d.m;
35
+ for (; u = i(u), c = r(c), u && c;) {
36
+ d = r(d), l = i(l), l.a = e;
37
+ let n = u.z + m - c.z - f + t(u, c);
38
+ n > 0 && (a(s(u, e, o), e, n), f += n, p += n), m += u.m, f += c.m, h += d.m, p += l.m;
39
+ }
40
+ return u && !i(l) && (l.t = u, l.m += m - p), c && !r(d) && (d.t = c, d.m += f - h, o = e), o;
41
+ }, l = (e) => {
42
+ let n = e.parent.children, r = e.idx ? n[e.idx - 1] : null;
43
+ if (e.children.length) {
44
+ o(e);
45
+ let n = (e.children[0].z + e.children[e.children.length - 1].z) / 2;
46
+ r ? (e.z = r.z + t(e, r), e.m = e.z - n) : e.z = n;
47
+ } else r && (e.z = r.z + t(e, r));
48
+ e.parent.A = c(e, r, e.parent.A || n[0]);
49
+ }, u = [], d = [e];
50
+ for (; d.length;) {
51
+ let e = d.pop();
52
+ u.push(e);
53
+ for (let t of e.children) d.push(t);
54
+ }
55
+ for (let e = u.length - 1; e >= 0; e--) l(u[e]);
56
+ e.parent.m = -e.z;
57
+ let f = [e];
58
+ for (let e = 0; e < f.length; e++) {
59
+ let t = f[e];
60
+ t.i >= 0 && (n[t.i] = t.z + t.parent.m), t.m += t.parent.m;
61
+ for (let e of t.children) f.push(e);
62
+ }
63
+ }, l = (e) => {
64
+ let { n: t, type: r } = e, i = Array.from({ length: t }, () => []), a = new Uint8Array(t);
65
+ for (let n = 0; n < e.source.length; n++) {
66
+ let r = e.source[n], o = e.target[n];
67
+ r === o || r < 0 || o < 0 || r >= t || o >= t || (i[r].push(o), a[o] = 1);
68
+ }
69
+ let o = new Int32Array(t).fill(-1), s = new Int32Array(t), l = Array.from({ length: t }, () => []), u = new Uint8Array(t), d = [], f = (e) => {
70
+ if (u[e]) return;
71
+ u[e] = 1, d.push(e);
72
+ let t = [e];
73
+ for (let e = 0; e < t.length; e++) {
74
+ let n = t[e];
75
+ for (let e of i[n]) u[e] || (u[e] = 1, o[e] = n, s[e] = s[n] + 1, l[n].push(e), t.push(e));
76
+ }
77
+ };
78
+ e.root >= 0 && e.root < t && f(e.root);
79
+ for (let e = 0; e < t; e++) a[e] || f(e);
80
+ for (let e = 0; e < t; e++) f(e);
81
+ let p = new Uint8Array(t), m = [];
82
+ for (let t of d) {
83
+ let n = [t];
84
+ p[t] = 1;
85
+ for (let t = 0; t < n.length; t++) {
86
+ let r = n[t];
87
+ if (m.push(r), !e.collapsed.has(r)) for (let e of l[r]) p[e] = 1, n.push(e);
88
+ }
89
+ }
90
+ let h = new Uint8Array(t), g = new Uint8Array(t), _ = Int32Array.from(s);
91
+ if (r === "org" && e.compact !== !1) for (let t of m) {
92
+ if (e.collapsed.has(t)) continue;
93
+ let n = l[t];
94
+ n.length >= 2 && n.every((t) => e.collapsed.has(t) || !l[t].length) && (h[t] = 1, n.forEach((e) => g[e] = 1));
95
+ }
96
+ for (let e of m) {
97
+ let t = o[e];
98
+ t < 0 || (_[e] = _[t] + 1 + (g[e] ? l[t].indexOf(e) : 0));
99
+ }
100
+ let v = r === "mindmap" || r === "tree" && (e.direction === "LR" || e.direction === "RL"), y = (t) => r === "radial" ? Math.max(e.width[t], e.height[t]) : v ? e.height[t] : e.width[t] + (g[t] ? 36 : 0), b = (t) => r === "radial" ? Math.max(e.width[t], e.height[t]) : v ? e.width[t] : e.height[t], x = e.siblingGap, S = (e, t) => {
101
+ let n = (y(e.i) + y(t.i)) / 2 + x * (e.parent === t.parent ? 1 : 1.5);
102
+ return r === "radial" ? n / Math.max(1, e.depth) : n;
103
+ }, C = (t, r, i = 0) => {
104
+ let a = n(t, _[t] + i), o = [[a, r ?? (e.collapsed.has(t) ? [] : l[t])]];
105
+ for (; o.length;) {
106
+ let [t, s] = o.pop();
107
+ if ((!r || t !== a) && h[t.i] && s.length) {
108
+ let e = t;
109
+ for (let t of s) {
110
+ let r = n(t, _[t] + i);
111
+ r.parent = e, e.children.push(r), e = r;
112
+ }
113
+ continue;
114
+ }
115
+ s.forEach((r, a) => {
116
+ let s = n(r, _[r] + i);
117
+ s.parent = t, s.idx = a, t.children.push(s), o.push([s, e.collapsed.has(r) ? [] : l[r]]);
118
+ });
119
+ }
120
+ return a;
121
+ }, w = (e) => {
122
+ let t = n(-1, -1);
123
+ return t.children = [e], e.parent = t, t;
124
+ }, T = new Float64Array(t), E = new Float64Array(t), D = new Float64Array(t), O = new Float64Array(t), k = e.levelGap;
125
+ if (r === "mindmap" && d.length) {
126
+ let n = d[0], r = [...e.collapsed.has(n) ? [] : l[n], ...d.slice(1)], i = r.map((t) => {
127
+ let n = 0, r = [t];
128
+ for (; r.length;) {
129
+ let t = r.pop(), i = e.collapsed.has(t) ? [] : l[t];
130
+ i.length ? r.push(...i) : n++;
131
+ }
132
+ return n;
133
+ }), a = i.reduce((e, t) => e + t, 0), o = 0, s = 0;
134
+ for (; s < r.length && (o < a / 2 || s === 0);) o += i[s++];
135
+ let u = [[r.slice(0, s), 1], [r.slice(s), -1]], f = new Float64Array(t);
136
+ for (let [e, t] of u) {
137
+ if (!e.length) continue;
138
+ let r = C(n, e);
139
+ w(r), c(r, S, T);
140
+ let i = T[n], a = [r];
141
+ for (let e = 0; e < a.length; e++) {
142
+ let n = a[e];
143
+ for (let e of n.children) f[e.i] = f[n.i] + (b(n.i) + b(e.i)) / 2 + k, E[e.i] = t * f[e.i], D[e.i] = T[e.i] - i, O[e.i] = t, a.push(e);
144
+ }
145
+ }
146
+ E[n] = 0, D[n] = 0;
147
+ } else if (d.length) {
148
+ let t = d.length > 1, i;
149
+ if (t ? (i = n(-1, -1), d.forEach((e, t) => {
150
+ let n = C(e);
151
+ n.parent = i, n.idx = t, i.children.push(n);
152
+ })) : i = C(d[0]), w(i), c(i, S, T), r === "radial") {
153
+ let e = Infinity, n = -Infinity, r = 0;
154
+ for (let t of m) e = Math.min(e, T[t]), n = Math.max(n, T[t]), r = Math.max(r, s[t]);
155
+ let i = 0;
156
+ for (let e of m) i = Math.max(i, y(e));
157
+ let a = n - e + (i + x) / Math.max(1, r), o = Math.max(k, a / (2 * Math.PI));
158
+ for (let n of m) {
159
+ let r = a > 0 ? (T[n] - e) / a * Math.PI * 2 : 0, i = (s[n] + +!!t) * o;
160
+ O[n] = r - Math.PI / 2, E[n] = i * Math.cos(O[n]), D[n] = i * Math.sin(O[n]);
161
+ }
162
+ } else {
163
+ let t = [], n = [];
164
+ for (let e of m) {
165
+ let r = _[e];
166
+ t[r] = Math.max(t[r] ?? 0, b(e));
167
+ let i = !!g[e] && l[o[e]].indexOf(e) > 0;
168
+ n[r] = (n[r] ?? !0) && i;
169
+ }
170
+ let i = [0];
171
+ for (let e = 1; e < t.length; e++) i[e] = i[e - 1] + ((t[e - 1] ?? 0) + (t[e] ?? 0)) / 2 + (n[e] ? Math.max(10, x) : k);
172
+ let a = r === "org" ? "TB" : e.direction;
173
+ for (let e of m) {
174
+ let t = T[e] + (g[e] ? 18 : 0), n = i[_[e]];
175
+ a === "LR" ? (E[e] = n, D[e] = t) : a === "RL" ? (E[e] = -n, D[e] = t) : a === "BT" ? (E[e] = t, D[e] = -n) : (E[e] = t, D[e] = n);
176
+ }
177
+ }
178
+ }
179
+ for (let e = 0; e < t; e++) {
180
+ if (p[e]) continue;
181
+ let t = o[e];
182
+ for (; t >= 0 && !p[t];) t = o[t];
183
+ t >= 0 && (E[e] = E[t], D[e] = D[t], O[e] = O[t]);
184
+ }
185
+ return {
186
+ x: E,
187
+ y: D,
188
+ parent: o,
189
+ depth: s,
190
+ visible: p,
191
+ side: O,
192
+ children: l,
193
+ stacked: g
194
+ };
195
+ }, u = (n, r, i = {}) => {
196
+ let { index: a, source: o, target: s } = e(n, r), c = i.type ?? "tree", u = new Float64Array(n.length), d = new Float64Array(n.length), f = i.cardSize ?? [168, 60];
197
+ return n.forEach((e, t) => {
198
+ let [n, r] = i.size?.(e, t) ?? (c === "org" ? f : [16, 16]);
199
+ u[t] = n, d[t] = r;
200
+ }), l({
201
+ n: n.length,
202
+ source: o,
203
+ target: s,
204
+ width: u,
205
+ height: d,
206
+ type: c,
207
+ direction: i.direction ?? "LR",
208
+ root: i.root === void 0 ? -1 : a.get(i.root) ?? -1,
209
+ levelGap: i.levelGap ?? t[c],
210
+ siblingGap: i.siblingGap ?? 12,
211
+ collapsed: i.collapsed ?? /* @__PURE__ */ new Set(),
212
+ compact: i.compact
213
+ });
214
+ };
215
+ //#endregion
216
+ export { t as TREE_LEVEL_GAP, l as tidyTreeLayout, u as treeLayout };
217
+
218
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","names":["TREE_LEVEL_GAP","tn","node","nextLeft","v","nextRight","moveSubtree","change","shift","wp","wm","executeShifts","i","w","nextAncestor","vim","ancestor","tidy","apportion","vip","vop","vom","sip","sop","sim","som","separation","firstWalk","siblings","midpoint","pre","stack","root","c","k","order","tidyTreeLayout","input","out","n","hasParent","e","s","t","parent","depth","children","visited","roots","grow","r","queue","visible","shown","stackedParent","stacked","ldepth","type","kids","p","horizontal","breadth","along","gap","base","a","b","build","top","depthOffset","list","prev","child","holder","h","X","x","y","side","levelGap","center","weights","count","total","acc","split","sides","dpos","dir","multi","sub","min","max","maxDepth","typical","span","ring","levels","tight","d","rest","levelPos","treeLayout","indexGraph","nodes","edges","options","width","height","card","index"],"sources":["../../../../../charts/src/engine/graph/tree.ts"],"sourcesContent":["// Tree layouts: tidy tree (Buchheim / Walker, linear time, d3-hierarchy's\n// formulation with size-aware separation), radial tree, two-sided mind map\n// and org chart. Collapsed nodes hide their descendants. No DOM.\n\nimport { indexGraph } from \"./force\";\nimport type {\n GraphDirection,\n GraphEdge,\n GraphNode,\n GraphTreeLayoutOptions,\n GraphTreeLayoutResult,\n} from \"./types\";\n\nexport type TreeType = \"tree\" | \"radial\" | \"mindmap\" | \"org\";\n\nexport interface TreeInput {\n n: number;\n source: ArrayLike<number>;\n target: ArrayLike<number>;\n width: ArrayLike<number>;\n height: ArrayLike<number>;\n type: TreeType;\n direction: GraphDirection;\n /** Index of the root, -1 = nodes without a parent */\n root: number;\n levelGap: number;\n siblingGap: number;\n collapsed: ReadonlySet<number>;\n /** Org charts: leaf children are stacked in a column under their parent */\n compact?: boolean;\n}\n\n/** Shift of stacked org chart cards to the right of their parent (room for the connector) */\nexport const STACK_SHIFT = 18;\n\n/** Default gap between levels of each tree type */\nexport const TREE_LEVEL_GAP: Record<TreeType, number> = {\n tree: 56,\n radial: 90,\n mindmap: 40,\n org: 44,\n};\n\ninterface TN {\n i: number;\n parent: TN | null;\n children: TN[];\n A: TN | null;\n a: TN;\n z: number;\n m: number;\n c: number;\n s: number;\n t: TN | null;\n idx: number;\n depth: number;\n}\n\nconst tn = (i: number, depth: number): TN => {\n const node = {\n i,\n parent: null,\n children: [],\n A: null,\n z: 0,\n m: 0,\n c: 0,\n s: 0,\n t: null,\n idx: 0,\n depth,\n } as unknown as TN;\n node.a = node;\n return node;\n};\n\nconst nextLeft = (v: TN) => (v.children.length ? v.children[0] : v.t);\nconst nextRight = (v: TN) =>\n v.children.length ? v.children[v.children.length - 1] : v.t;\n\nconst moveSubtree = (wm: TN, wp: TN, shift: number) => {\n const change = shift / (wp.idx - wm.idx);\n wp.c -= change;\n wp.s += shift;\n wm.c += change;\n wp.z += shift;\n wp.m += shift;\n};\n\nconst executeShifts = (v: TN) => {\n let shift = 0;\n let change = 0;\n for (let i = v.children.length - 1; i >= 0; i--) {\n const w = v.children[i];\n w.z += shift;\n w.m += shift;\n shift += w.s + (change += w.c);\n }\n};\n\nconst nextAncestor = (vim: TN, v: TN, ancestor: TN) =>\n vim.a.parent === v.parent ? vim.a : ancestor;\n\n/**\n * Tidy layout of the tree below `root` (whose `parent` must be set to a\n * holder node): writes the breadth coordinate of every node in `out`\n */\nconst tidy = (\n root: TN,\n separation: (a: TN, b: TN) => number,\n out: Float64Array,\n) => {\n const apportion = (v: TN, w: TN | null, ancestor: TN): TN => {\n if (!w) return ancestor;\n let vip: TN | null = v;\n let vop: TN = v;\n let vim: TN | null = w;\n let vom: TN = vip.parent!.children[0];\n let sip = vip.m;\n let sop = vop.m;\n let sim = vim.m;\n let som = vom.m;\n for (;;) {\n vim = nextRight(vim);\n vip = nextLeft(vip);\n if (!vim || !vip) break;\n vom = nextLeft(vom)!;\n vop = nextRight(vop)!;\n vop.a = v;\n const shift = vim.z + sim - vip.z - sip + separation(vim, vip);\n if (shift > 0) {\n moveSubtree(nextAncestor(vim, v, ancestor), v, shift);\n sip += shift;\n sop += shift;\n }\n sim += vim.m;\n sip += vip.m;\n som += vom.m;\n sop += vop.m;\n }\n if (vim && !nextRight(vop)) {\n vop.t = vim;\n vop.m += sim - sop;\n }\n if (vip && !nextLeft(vom)) {\n vom.t = vip;\n vom.m += sip - som;\n ancestor = v;\n }\n return ancestor;\n };\n\n const firstWalk = (v: TN) => {\n const siblings = v.parent!.children;\n const w = v.idx ? siblings[v.idx - 1] : null;\n if (v.children.length) {\n executeShifts(v);\n const midpoint =\n (v.children[0].z + v.children[v.children.length - 1].z) / 2;\n if (w) {\n v.z = w.z + separation(v, w);\n v.m = v.z - midpoint;\n } else {\n v.z = midpoint;\n }\n } else if (w) {\n v.z = w.z + separation(v, w);\n }\n v.parent!.A = apportion(v, w, v.parent!.A || siblings[0]);\n };\n\n // pre-order (right to left); reversed it is the post-order (left to right)\n const pre: TN[] = [];\n const stack = [root];\n while (stack.length) {\n const v = stack.pop()!;\n pre.push(v);\n for (const c of v.children) stack.push(c);\n }\n for (let k = pre.length - 1; k >= 0; k--) firstWalk(pre[k]);\n root.parent!.m = -root.z;\n // parents before children\n const order: TN[] = [root];\n for (let k = 0; k < order.length; k++) {\n const v = order[k];\n if (v.i >= 0) out[v.i] = v.z + v.parent!.m;\n v.m += v.parent!.m;\n for (const c of v.children) order.push(c);\n }\n};\n\n/** Tree layouts on index data */\nexport const tidyTreeLayout = (input: TreeInput): GraphTreeLayoutResult => {\n const { n, type } = input;\n const out: number[][] = Array.from({ length: n }, () => []);\n const hasParent = new Uint8Array(n);\n for (let e = 0; e < input.source.length; e++) {\n const s = input.source[e];\n const t = input.target[e];\n if (s === t || s < 0 || t < 0 || s >= n || t >= n) continue;\n out[s].push(t);\n hasParent[t] = 1;\n }\n const parent = new Int32Array(n).fill(-1);\n const depth = new Int32Array(n);\n const children: number[][] = Array.from({ length: n }, () => []);\n const visited = new Uint8Array(n);\n const roots: number[] = [];\n const grow = (r: number) => {\n if (visited[r]) return;\n visited[r] = 1;\n roots.push(r);\n const queue = [r];\n for (let k = 0; k < queue.length; k++) {\n const v = queue[k];\n for (const w of out[v]) {\n if (visited[w]) continue;\n visited[w] = 1;\n parent[w] = v;\n depth[w] = depth[v] + 1;\n children[v].push(w);\n queue.push(w);\n }\n }\n };\n if (input.root >= 0 && input.root < n) grow(input.root);\n for (let v = 0; v < n; v++) if (!hasParent[v]) grow(v);\n for (let v = 0; v < n; v++) grow(v);\n\n // visible nodes (descendants of collapsed nodes are hidden)\n const visible = new Uint8Array(n);\n const shown: number[] = [];\n for (const r of roots) {\n const queue = [r];\n visible[r] = 1;\n for (let k = 0; k < queue.length; k++) {\n const v = queue[k];\n shown.push(v);\n if (input.collapsed.has(v)) continue;\n for (const c of children[v]) {\n visible[c] = 1;\n queue.push(c);\n }\n }\n }\n\n // org charts: the leaf children of a node form a column (compact)\n const stackedParent = new Uint8Array(n);\n const stacked = new Uint8Array(n);\n const ldepth = Int32Array.from(depth);\n if (type === \"org\" && input.compact !== false) {\n for (const v of shown) {\n if (input.collapsed.has(v)) continue;\n const kids = children[v];\n if (\n kids.length >= 2 &&\n kids.every((c) => input.collapsed.has(c) || !children[c].length)\n ) {\n stackedParent[v] = 1;\n kids.forEach((c) => (stacked[c] = 1));\n }\n }\n }\n for (const v of shown) {\n const p = parent[v];\n if (p < 0) continue;\n ldepth[v] = ldepth[p] + 1 + (stacked[v] ? children[p].indexOf(v) : 0);\n }\n\n const horizontal =\n type === \"mindmap\" ||\n (type === \"tree\" && (input.direction === \"LR\" || input.direction === \"RL\"));\n const breadth = (i: number) =>\n type === \"radial\"\n ? Math.max(input.width[i], input.height[i])\n : horizontal\n ? input.height[i]\n : input.width[i] + (stacked[i] ? STACK_SHIFT * 2 : 0);\n const along = (i: number) =>\n type === \"radial\"\n ? Math.max(input.width[i], input.height[i])\n : horizontal\n ? input.width[i]\n : input.height[i];\n const gap = input.siblingGap;\n const separation = (a: TN, b: TN) => {\n const base =\n (breadth(a.i) + breadth(b.i)) / 2 +\n gap * (a.parent === b.parent ? 1 : 1.5);\n return type === \"radial\" ? base / Math.max(1, a.depth) : base;\n };\n\n /** Builds the visible subtree of `i` (with `kids` as its children when given) */\n const build = (i: number, kids?: number[], depthOffset = 0): TN => {\n const top = tn(i, ldepth[i] + depthOffset);\n const stack: [TN, number[]][] = [\n [top, kids ?? (input.collapsed.has(i) ? [] : children[i])],\n ];\n while (stack.length) {\n const [node, list] = stack.pop()!;\n if (!kids || node !== top) {\n if (stackedParent[node.i] && list.length) {\n // a chain: every card is the only child of the previous one\n let prev = node;\n for (const c of list) {\n const child = tn(c, ldepth[c] + depthOffset);\n child.parent = prev;\n prev.children.push(child);\n prev = child;\n }\n continue;\n }\n }\n list.forEach((c, k) => {\n const child = tn(c, ldepth[c] + depthOffset);\n child.parent = node;\n child.idx = k;\n node.children.push(child);\n stack.push([child, input.collapsed.has(c) ? [] : children[c]]);\n });\n }\n return top;\n };\n const holder = (root: TN) => {\n const h = tn(-1, -1);\n h.children = [root];\n root.parent = h;\n return h;\n };\n\n const X = new Float64Array(n);\n const x = new Float64Array(n);\n const y = new Float64Array(n);\n const side = new Float64Array(n);\n const levelGap = input.levelGap;\n\n if (type === \"mindmap\" && roots.length) {\n const center = roots[0];\n const kids = [\n ...(input.collapsed.has(center) ? [] : children[center]),\n ...roots.slice(1),\n ];\n const leaves = (i: number): number => {\n let count = 0;\n const stack = [i];\n while (stack.length) {\n const v = stack.pop()!;\n const list = input.collapsed.has(v) ? [] : children[v];\n if (!list.length) count++;\n else stack.push(...list);\n }\n return count;\n };\n const weights = kids.map(leaves);\n const total = weights.reduce((a, b) => a + b, 0);\n let acc = 0;\n let split = 0;\n while (split < kids.length && (acc < total / 2 || split === 0)) {\n acc += weights[split++];\n }\n const sides: [number[], number][] = [\n [kids.slice(0, split), 1],\n [kids.slice(split), -1],\n ];\n const dpos = new Float64Array(n);\n for (const [list, dir] of sides) {\n if (!list.length) continue;\n const root = build(center, list);\n holder(root);\n tidy(root, separation, X);\n const base = X[center];\n // the extra roots hang below the center\n const order: TN[] = [root];\n for (let k = 0; k < order.length; k++) {\n const v = order[k];\n for (const c of v.children) {\n dpos[c.i] = dpos[v.i] + (along(v.i) + along(c.i)) / 2 + levelGap;\n x[c.i] = dir * dpos[c.i];\n y[c.i] = X[c.i] - base;\n side[c.i] = dir;\n order.push(c);\n }\n }\n }\n x[center] = 0;\n y[center] = 0;\n } else if (roots.length) {\n // several roots: a virtual parent keeps them side by side\n const multi = roots.length > 1;\n let top: TN;\n if (multi) {\n top = tn(-1, -1);\n roots.forEach((r, k) => {\n const sub = build(r);\n sub.parent = top;\n sub.idx = k;\n top.children.push(sub);\n });\n } else {\n top = build(roots[0]);\n }\n holder(top);\n tidy(top, separation, X);\n\n if (type === \"radial\") {\n let min = Infinity;\n let max = -Infinity;\n let maxDepth = 0;\n for (const v of shown) {\n min = Math.min(min, X[v]);\n max = Math.max(max, X[v]);\n maxDepth = Math.max(maxDepth, depth[v]);\n }\n let typical = 0;\n for (const v of shown) typical = Math.max(typical, breadth(v));\n const span = max - min + (typical + gap) / Math.max(1, maxDepth);\n const ring = Math.max(levelGap, span / (2 * Math.PI));\n for (const v of shown) {\n const a = span > 0 ? ((X[v] - min) / span) * Math.PI * 2 : 0;\n const r = (depth[v] + (multi ? 1 : 0)) * ring;\n side[v] = a - Math.PI / 2;\n x[v] = r * Math.cos(side[v]);\n y[v] = r * Math.sin(side[v]);\n }\n } else {\n const levels: number[] = [];\n // levels holding only the rest of card columns are packed tighter\n const tight: boolean[] = [];\n for (const v of shown) {\n const d = ldepth[v];\n levels[d] = Math.max(levels[d] ?? 0, along(v));\n const rest = !!stacked[v] && children[parent[v]].indexOf(v) > 0;\n tight[d] = (tight[d] ?? true) && rest;\n }\n const levelPos = [0];\n for (let d = 1; d < levels.length; d++) {\n levelPos[d] =\n levelPos[d - 1] +\n ((levels[d - 1] ?? 0) + (levels[d] ?? 0)) / 2 +\n (tight[d] ? Math.max(10, gap) : levelGap);\n }\n const dir = type === \"org\" ? \"TB\" : input.direction;\n for (const v of shown) {\n const b = X[v] + (stacked[v] ? STACK_SHIFT : 0);\n const d = levelPos[ldepth[v]];\n if (dir === \"LR\") {\n x[v] = d;\n y[v] = b;\n } else if (dir === \"RL\") {\n x[v] = -d;\n y[v] = b;\n } else if (dir === \"BT\") {\n x[v] = b;\n y[v] = -d;\n } else {\n x[v] = b;\n y[v] = d;\n }\n }\n }\n }\n\n // hidden nodes sit on their closest visible ancestor (collapse animations)\n for (let v = 0; v < n; v++) {\n if (visible[v]) continue;\n let a = parent[v];\n while (a >= 0 && !visible[a]) a = parent[a];\n if (a >= 0) {\n x[v] = x[a];\n y[v] = y[a];\n side[v] = side[a];\n }\n }\n return { x, y, parent, depth, visible, side, children, stacked };\n};\n\n/**\n * Tree layouts of a hierarchy given as parent → child edges: tidy tree,\n * radial tree, two-sided mind map or org chart. Edges that would make a\n * cycle or give a second parent are ignored.\n */\nexport const treeLayout = (\n nodes: readonly GraphNode[],\n edges: readonly GraphEdge[],\n options: GraphTreeLayoutOptions = {},\n): GraphTreeLayoutResult => {\n const { index, source, target } = indexGraph(nodes, edges);\n const type = options.type ?? \"tree\";\n const width = new Float64Array(nodes.length);\n const height = new Float64Array(nodes.length);\n const card = options.cardSize ?? [168, 60];\n nodes.forEach((node, i) => {\n const [w, h] =\n options.size?.(node, i) ?? (type === \"org\" ? card : [16, 16]);\n width[i] = w;\n height[i] = h;\n });\n return tidyTreeLayout({\n n: nodes.length,\n source,\n target,\n width,\n height,\n type,\n direction: options.direction ?? \"LR\",\n root: options.root !== undefined ? (index.get(options.root) ?? -1) : -1,\n levelGap: options.levelGap ?? TREE_LEVEL_GAP[type],\n siblingGap: options.siblingGap ?? 12,\n collapsed: options.collapsed ?? new Set(),\n compact: options.compact,\n });\n};\n"],"mappings":"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"}