minerva-design 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1337) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +18546 -7329
  4. package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2809 -0
  7. package/dist/charts/canvas.d.cts +8 -3
  8. package/dist/charts/canvas.d.ts +8 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +10 -5
  11. package/dist/charts/core.d.ts +10 -5
  12. package/dist/charts/core.js +27 -8
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +43 -20
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +193 -116
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +486 -350
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +18 -0
  32. package/dist/charts/engine/color.d.ts +18 -0
  33. package/dist/charts/engine/color.js +47 -1
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +44 -4
  38. package/dist/charts/engine/controller.d.ts +44 -4
  39. package/dist/charts/engine/controller.js +421 -314
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/data.cjs +1 -1
  42. package/dist/charts/engine/data.cjs.map +1 -1
  43. package/dist/charts/engine/data.d.cts +9 -1
  44. package/dist/charts/engine/data.d.ts +9 -1
  45. package/dist/charts/engine/data.js +65 -49
  46. package/dist/charts/engine/data.js.map +1 -1
  47. package/dist/charts/engine/defaults.cjs +2 -0
  48. package/dist/charts/engine/defaults.cjs.map +1 -0
  49. package/dist/charts/engine/defaults.d.cts +20 -0
  50. package/dist/charts/engine/defaults.d.ts +20 -0
  51. package/dist/charts/engine/defaults.js +35 -0
  52. package/dist/charts/engine/defaults.js.map +1 -0
  53. package/dist/charts/engine/format.cjs +1 -1
  54. package/dist/charts/engine/format.cjs.map +1 -1
  55. package/dist/charts/engine/format.d.cts +27 -6
  56. package/dist/charts/engine/format.d.ts +27 -6
  57. package/dist/charts/engine/format.js +59 -21
  58. package/dist/charts/engine/format.js.map +1 -1
  59. package/dist/charts/engine/graph/chart.cjs +2 -0
  60. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  61. package/dist/charts/engine/graph/chart.d.cts +3 -0
  62. package/dist/charts/engine/graph/chart.d.ts +3 -0
  63. package/dist/charts/engine/graph/chart.js +1565 -0
  64. package/dist/charts/engine/graph/chart.js.map +1 -0
  65. package/dist/charts/engine/graph/circular.cjs +2 -0
  66. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  67. package/dist/charts/engine/graph/circular.d.cts +16 -0
  68. package/dist/charts/engine/graph/circular.d.ts +16 -0
  69. package/dist/charts/engine/graph/circular.js +62 -0
  70. package/dist/charts/engine/graph/circular.js.map +1 -0
  71. package/dist/charts/engine/graph/dag.cjs +2 -0
  72. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  73. package/dist/charts/engine/graph/dag.d.cts +34 -0
  74. package/dist/charts/engine/graph/dag.d.ts +34 -0
  75. package/dist/charts/engine/graph/dag.js +314 -0
  76. package/dist/charts/engine/graph/dag.js.map +1 -0
  77. package/dist/charts/engine/graph/dom.cjs +2 -0
  78. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  79. package/dist/charts/engine/graph/dom.d.cts +23 -0
  80. package/dist/charts/engine/graph/dom.d.ts +23 -0
  81. package/dist/charts/engine/graph/dom.js +158 -0
  82. package/dist/charts/engine/graph/dom.js.map +1 -0
  83. package/dist/charts/engine/graph/force.cjs +2 -0
  84. package/dist/charts/engine/graph/force.cjs.map +1 -0
  85. package/dist/charts/engine/graph/force.d.cts +67 -0
  86. package/dist/charts/engine/graph/force.d.ts +67 -0
  87. package/dist/charts/engine/graph/force.js +325 -0
  88. package/dist/charts/engine/graph/force.js.map +1 -0
  89. package/dist/charts/engine/graph/geometry.cjs +2 -0
  90. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  91. package/dist/charts/engine/graph/geometry.d.cts +37 -0
  92. package/dist/charts/engine/graph/geometry.d.ts +37 -0
  93. package/dist/charts/engine/graph/geometry.js +144 -0
  94. package/dist/charts/engine/graph/geometry.js.map +1 -0
  95. package/dist/charts/engine/graph/index.cjs +1 -0
  96. package/dist/charts/engine/graph/index.d.cts +6 -0
  97. package/dist/charts/engine/graph/index.d.ts +6 -0
  98. package/dist/charts/engine/graph/index.js +6 -0
  99. package/dist/charts/engine/graph/labels.cjs +2 -0
  100. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  101. package/dist/charts/engine/graph/labels.d.cts +12 -0
  102. package/dist/charts/engine/graph/labels.d.ts +12 -0
  103. package/dist/charts/engine/graph/labels.js +128 -0
  104. package/dist/charts/engine/graph/labels.js.map +1 -0
  105. package/dist/charts/engine/graph/model.cjs +2 -0
  106. package/dist/charts/engine/graph/model.cjs.map +1 -0
  107. package/dist/charts/engine/graph/model.d.cts +43 -0
  108. package/dist/charts/engine/graph/model.d.ts +43 -0
  109. package/dist/charts/engine/graph/model.js +88 -0
  110. package/dist/charts/engine/graph/model.js.map +1 -0
  111. package/dist/charts/engine/graph/sizing.cjs +2 -0
  112. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  113. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  114. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  115. package/dist/charts/engine/graph/sizing.js +60 -0
  116. package/dist/charts/engine/graph/sizing.js.map +1 -0
  117. package/dist/charts/engine/graph/tree.cjs +2 -0
  118. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  119. package/dist/charts/engine/graph/tree.d.cts +30 -0
  120. package/dist/charts/engine/graph/tree.d.ts +30 -0
  121. package/dist/charts/engine/graph/tree.js +218 -0
  122. package/dist/charts/engine/graph/tree.js.map +1 -0
  123. package/dist/charts/engine/graph/types.d.cts +626 -0
  124. package/dist/charts/engine/graph/types.d.ts +626 -0
  125. package/dist/charts/engine/graph/worker.cjs +46 -0
  126. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  127. package/dist/charts/engine/graph/worker.d.cts +36 -0
  128. package/dist/charts/engine/graph/worker.d.ts +36 -0
  129. package/dist/charts/engine/graph/worker.js +129 -0
  130. package/dist/charts/engine/graph/worker.js.map +1 -0
  131. package/dist/charts/engine/items.cjs +1 -1
  132. package/dist/charts/engine/items.cjs.map +1 -1
  133. package/dist/charts/engine/items.d.cts +15 -2
  134. package/dist/charts/engine/items.d.ts +15 -2
  135. package/dist/charts/engine/items.js +257 -81
  136. package/dist/charts/engine/items.js.map +1 -1
  137. package/dist/charts/engine/labels.cjs +2 -0
  138. package/dist/charts/engine/labels.cjs.map +1 -0
  139. package/dist/charts/engine/labels.d.cts +13 -0
  140. package/dist/charts/engine/labels.d.ts +13 -0
  141. package/dist/charts/engine/labels.js +98 -0
  142. package/dist/charts/engine/labels.js.map +1 -0
  143. package/dist/charts/engine/layout.cjs +1 -1
  144. package/dist/charts/engine/layout.cjs.map +1 -1
  145. package/dist/charts/engine/layout.d.cts +43 -2
  146. package/dist/charts/engine/layout.d.ts +43 -2
  147. package/dist/charts/engine/layout.js +62 -12
  148. package/dist/charts/engine/layout.js.map +1 -1
  149. package/dist/charts/engine/locale.cjs +2 -0
  150. package/dist/charts/engine/locale.cjs.map +1 -0
  151. package/dist/charts/engine/locale.d.cts +33 -0
  152. package/dist/charts/engine/locale.d.ts +33 -0
  153. package/dist/charts/engine/locale.js +68 -0
  154. package/dist/charts/engine/locale.js.map +1 -0
  155. package/dist/charts/engine/model.cjs +1 -1
  156. package/dist/charts/engine/model.cjs.map +1 -1
  157. package/dist/charts/engine/model.d.cts +77 -2
  158. package/dist/charts/engine/model.d.ts +77 -2
  159. package/dist/charts/engine/model.js +304 -116
  160. package/dist/charts/engine/model.js.map +1 -1
  161. package/dist/charts/engine/orderbook/book.cjs +2 -0
  162. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  163. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  164. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  165. package/dist/charts/engine/orderbook/book.js +134 -0
  166. package/dist/charts/engine/orderbook/book.js.map +1 -0
  167. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  168. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  169. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  170. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  171. package/dist/charts/engine/orderbook/depth.js +413 -0
  172. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  173. package/dist/charts/engine/orderbook/format.cjs +2 -0
  174. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  175. package/dist/charts/engine/orderbook/format.d.cts +49 -0
  176. package/dist/charts/engine/orderbook/format.d.ts +49 -0
  177. package/dist/charts/engine/orderbook/format.js +65 -0
  178. package/dist/charts/engine/orderbook/format.js.map +1 -0
  179. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  180. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  181. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  182. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  183. package/dist/charts/engine/orderbook/heatmap.js +822 -0
  184. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  185. package/dist/charts/engine/orderbook/host.cjs +2 -0
  186. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  187. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  188. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  189. package/dist/charts/engine/orderbook/host.js +161 -0
  190. package/dist/charts/engine/orderbook/host.js.map +1 -0
  191. package/dist/charts/engine/orderbook/index.cjs +1 -0
  192. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  193. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  194. package/dist/charts/engine/orderbook/index.js +6 -0
  195. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  196. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  197. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  198. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  199. package/dist/charts/engine/orderbook/ladder.js +341 -0
  200. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  201. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  202. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  203. package/dist/charts/engine/orderbook/layout.d.cts +37 -0
  204. package/dist/charts/engine/orderbook/layout.d.ts +37 -0
  205. package/dist/charts/engine/orderbook/layout.js +70 -0
  206. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  207. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  208. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  209. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  210. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  211. package/dist/charts/engine/orderbook/tape.js +450 -0
  212. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  213. package/dist/charts/engine/orderbook/types.d.cts +751 -0
  214. package/dist/charts/engine/orderbook/types.d.ts +751 -0
  215. package/dist/charts/engine/overlay.cjs +1 -1
  216. package/dist/charts/engine/overlay.cjs.map +1 -1
  217. package/dist/charts/engine/overlay.d.cts +28 -2
  218. package/dist/charts/engine/overlay.d.ts +28 -2
  219. package/dist/charts/engine/overlay.js +138 -96
  220. package/dist/charts/engine/overlay.js.map +1 -1
  221. package/dist/charts/engine/presets.cjs +2 -2
  222. package/dist/charts/engine/presets.cjs.map +1 -1
  223. package/dist/charts/engine/presets.d.cts +273 -3
  224. package/dist/charts/engine/presets.d.ts +273 -3
  225. package/dist/charts/engine/presets.js +390 -38
  226. package/dist/charts/engine/presets.js.map +1 -1
  227. package/dist/charts/engine/renderers/detect.cjs +1 -1
  228. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  230. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  231. package/dist/charts/engine/renderers/detect.js +24 -19
  232. package/dist/charts/engine/renderers/detect.js.map +1 -1
  233. package/dist/charts/engine/renderers/gl.cjs +2 -0
  234. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  235. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  236. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  237. package/dist/charts/engine/renderers/gl.js +56 -0
  238. package/dist/charts/engine/renderers/gl.js.map +1 -0
  239. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  240. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  241. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  242. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  243. package/dist/charts/engine/renderers/shaders.js +139 -1
  244. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  246. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  247. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  248. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  249. package/dist/charts/engine/renderers/webgl.js +133 -0
  250. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  251. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  252. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  253. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  254. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  255. package/dist/charts/engine/renderers/webgl2.js +59 -108
  256. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  257. package/dist/charts/engine/scale.cjs +1 -1
  258. package/dist/charts/engine/scale.cjs.map +1 -1
  259. package/dist/charts/engine/scale.js +1 -1
  260. package/dist/charts/engine/scale.js.map +1 -1
  261. package/dist/charts/engine/scene.cjs +1 -1
  262. package/dist/charts/engine/scene.cjs.map +1 -1
  263. package/dist/charts/engine/scene.d.cts +71 -8
  264. package/dist/charts/engine/scene.d.ts +71 -8
  265. package/dist/charts/engine/scene.js +465 -183
  266. package/dist/charts/engine/scene.js.map +1 -1
  267. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  268. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  269. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  270. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  271. package/dist/charts/engine/shapes/bullet.js +255 -0
  272. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  273. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  274. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  275. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  276. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  277. package/dist/charts/engine/shapes/calendar.js +369 -0
  278. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  279. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  280. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  281. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  282. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  283. package/dist/charts/engine/shapes/canvas.js +22 -13
  284. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  285. package/dist/charts/engine/shapes/chart.cjs +1 -1
  286. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  287. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  288. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  289. package/dist/charts/engine/shapes/chart.js +49 -27
  290. package/dist/charts/engine/shapes/chart.js.map +1 -1
  291. package/dist/charts/engine/shapes/chord.cjs +2 -0
  292. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  293. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  294. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  295. package/dist/charts/engine/shapes/chord.js +414 -0
  296. package/dist/charts/engine/shapes/chord.js.map +1 -0
  297. package/dist/charts/engine/shapes/draw.cjs +1 -1
  298. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  299. package/dist/charts/engine/shapes/draw.d.cts +7 -1
  300. package/dist/charts/engine/shapes/draw.d.ts +7 -1
  301. package/dist/charts/engine/shapes/draw.js +62 -19
  302. package/dist/charts/engine/shapes/draw.js.map +1 -1
  303. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  304. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  305. package/dist/charts/engine/shapes/funnel.js +3 -3
  306. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  307. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  308. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  309. package/dist/charts/engine/shapes/gauge.js +132 -95
  310. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  311. package/dist/charts/engine/shapes/hit.cjs +1 -1
  312. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  313. package/dist/charts/engine/shapes/hit.d.cts +5 -1
  314. package/dist/charts/engine/shapes/hit.d.ts +5 -1
  315. package/dist/charts/engine/shapes/hit.js +89 -39
  316. package/dist/charts/engine/shapes/hit.js.map +1 -1
  317. package/dist/charts/engine/shapes/index.d.cts +6 -2
  318. package/dist/charts/engine/shapes/index.d.ts +6 -2
  319. package/dist/charts/engine/shapes/labels.cjs +2 -0
  320. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  321. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  322. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  323. package/dist/charts/engine/shapes/labels.js +154 -0
  324. package/dist/charts/engine/shapes/labels.js.map +1 -0
  325. package/dist/charts/engine/shapes/layout.cjs +2 -2
  326. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  327. package/dist/charts/engine/shapes/layout.d.cts +10 -3
  328. package/dist/charts/engine/shapes/layout.d.ts +10 -3
  329. package/dist/charts/engine/shapes/layout.js +239 -124
  330. package/dist/charts/engine/shapes/layout.js.map +1 -1
  331. package/dist/charts/engine/shapes/pie.cjs +1 -1
  332. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  333. package/dist/charts/engine/shapes/pie.js +2 -2
  334. package/dist/charts/engine/shapes/pie.js.map +1 -1
  335. package/dist/charts/engine/shapes/radar.cjs +1 -1
  336. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  337. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  338. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  339. package/dist/charts/engine/shapes/radar.js +50 -49
  340. package/dist/charts/engine/shapes/radar.js.map +1 -1
  341. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  342. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  343. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  344. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  345. package/dist/charts/engine/shapes/radialBar.js +155 -0
  346. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  347. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  348. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  349. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  350. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  351. package/dist/charts/engine/shapes/runtime.js +61 -51
  352. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  353. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  354. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  355. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  356. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  357. package/dist/charts/engine/shapes/sankey.js +372 -0
  358. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  359. package/dist/charts/engine/shapes/scene.cjs +1 -1
  360. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  361. package/dist/charts/engine/shapes/scene.d.cts +92 -8
  362. package/dist/charts/engine/shapes/scene.d.ts +92 -8
  363. package/dist/charts/engine/shapes/scene.js +76 -31
  364. package/dist/charts/engine/shapes/scene.js.map +1 -1
  365. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  366. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  367. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  368. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  369. package/dist/charts/engine/shapes/sunburst.js +261 -0
  370. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  371. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  372. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  373. package/dist/charts/engine/shapes/treemap.js +2 -2
  374. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  375. package/dist/charts/engine/shapes/types.d.cts +550 -12
  376. package/dist/charts/engine/shapes/types.d.ts +550 -12
  377. package/dist/charts/engine/signature.cjs +1 -1
  378. package/dist/charts/engine/signature.cjs.map +1 -1
  379. package/dist/charts/engine/signature.js +1 -1
  380. package/dist/charts/engine/signature.js.map +1 -1
  381. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  382. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  383. package/dist/charts/engine/three-d/canvas2d.d.cts +7 -0
  384. package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
  385. package/dist/charts/engine/three-d/canvas2d.js +128 -0
  386. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  387. package/dist/charts/engine/three-d/chart.cjs +2 -0
  388. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  389. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  390. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  391. package/dist/charts/engine/three-d/chart.js +621 -0
  392. package/dist/charts/engine/three-d/chart.js.map +1 -0
  393. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  394. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  395. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  396. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  397. package/dist/charts/engine/three-d/colormap.js +166 -0
  398. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  399. package/dist/charts/engine/three-d/contours.cjs +2 -0
  400. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  401. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  402. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  403. package/dist/charts/engine/three-d/contours.js +47 -0
  404. package/dist/charts/engine/three-d/contours.js.map +1 -0
  405. package/dist/charts/engine/three-d/detect.cjs +2 -0
  406. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  407. package/dist/charts/engine/three-d/detect.d.cts +12 -0
  408. package/dist/charts/engine/three-d/detect.d.ts +12 -0
  409. package/dist/charts/engine/three-d/detect.js +37 -0
  410. package/dist/charts/engine/three-d/detect.js.map +1 -0
  411. package/dist/charts/engine/three-d/dom.cjs +2 -0
  412. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  413. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  414. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  415. package/dist/charts/engine/three-d/dom.js +98 -0
  416. package/dist/charts/engine/three-d/dom.js.map +1 -0
  417. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  418. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  419. package/dist/charts/engine/three-d/geometry.d.cts +82 -0
  420. package/dist/charts/engine/three-d/geometry.d.ts +82 -0
  421. package/dist/charts/engine/three-d/geometry.js +545 -0
  422. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  423. package/dist/charts/engine/three-d/hover.cjs +2 -0
  424. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  425. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  426. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  427. package/dist/charts/engine/three-d/hover.js +131 -0
  428. package/dist/charts/engine/three-d/hover.js.map +1 -0
  429. package/dist/charts/engine/three-d/index.cjs +1 -0
  430. package/dist/charts/engine/three-d/index.d.cts +2 -0
  431. package/dist/charts/engine/three-d/index.d.ts +2 -0
  432. package/dist/charts/engine/three-d/index.js +2 -0
  433. package/dist/charts/engine/three-d/labels.cjs +2 -0
  434. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  436. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  437. package/dist/charts/engine/three-d/labels.js +136 -0
  438. package/dist/charts/engine/three-d/labels.js.map +1 -0
  439. package/dist/charts/engine/three-d/math.cjs +2 -0
  440. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/math.d.cts +84 -0
  442. package/dist/charts/engine/three-d/math.d.ts +84 -0
  443. package/dist/charts/engine/three-d/math.js +150 -0
  444. package/dist/charts/engine/three-d/math.js.map +1 -0
  445. package/dist/charts/engine/three-d/model.cjs +2 -0
  446. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  447. package/dist/charts/engine/three-d/model.d.cts +132 -0
  448. package/dist/charts/engine/three-d/model.d.ts +132 -0
  449. package/dist/charts/engine/three-d/model.js +279 -0
  450. package/dist/charts/engine/three-d/model.js.map +1 -0
  451. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  452. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  453. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  454. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  455. package/dist/charts/engine/three-d/overlay.js +204 -0
  456. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  457. package/dist/charts/engine/three-d/pick.cjs +2 -0
  458. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  459. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  460. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  461. package/dist/charts/engine/three-d/pick.js +220 -0
  462. package/dist/charts/engine/three-d/pick.js.map +1 -0
  463. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  464. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  465. package/dist/charts/engine/three-d/render-types.d.cts +103 -0
  466. package/dist/charts/engine/three-d/render-types.d.ts +103 -0
  467. package/dist/charts/engine/three-d/render-types.js +12 -0
  468. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  469. package/dist/charts/engine/three-d/shaders.cjs +311 -0
  470. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  471. package/dist/charts/engine/three-d/shaders.d.cts +25 -0
  472. package/dist/charts/engine/three-d/shaders.d.ts +25 -0
  473. package/dist/charts/engine/three-d/shaders.js +210 -0
  474. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  475. package/dist/charts/engine/three-d/sort.cjs +2 -0
  476. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  477. package/dist/charts/engine/three-d/sort.d.cts +29 -0
  478. package/dist/charts/engine/three-d/sort.d.ts +29 -0
  479. package/dist/charts/engine/three-d/sort.js +145 -0
  480. package/dist/charts/engine/three-d/sort.js.map +1 -0
  481. package/dist/charts/engine/three-d/types.d.cts +615 -0
  482. package/dist/charts/engine/three-d/types.d.ts +615 -0
  483. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  484. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  485. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  486. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  487. package/dist/charts/engine/three-d/webgl.js +132 -0
  488. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  489. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  490. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  491. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  492. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  493. package/dist/charts/engine/three-d/webgpu.js +260 -0
  494. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  495. package/dist/charts/engine/time.cjs +1 -1
  496. package/dist/charts/engine/time.cjs.map +1 -1
  497. package/dist/charts/engine/time.d.cts +13 -4
  498. package/dist/charts/engine/time.d.ts +13 -4
  499. package/dist/charts/engine/time.js +156 -91
  500. package/dist/charts/engine/time.js.map +1 -1
  501. package/dist/charts/engine/trading/chart.cjs +2 -0
  502. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  503. package/dist/charts/engine/trading/chart.d.cts +13 -0
  504. package/dist/charts/engine/trading/chart.d.ts +13 -0
  505. package/dist/charts/engine/trading/chart.js +2206 -0
  506. package/dist/charts/engine/trading/chart.js.map +1 -0
  507. package/dist/charts/engine/trading/drawings.cjs +3 -0
  508. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  509. package/dist/charts/engine/trading/drawings.d.cts +95 -0
  510. package/dist/charts/engine/trading/drawings.d.ts +95 -0
  511. package/dist/charts/engine/trading/drawings.js +423 -0
  512. package/dist/charts/engine/trading/drawings.js.map +1 -0
  513. package/dist/charts/engine/trading/format.cjs +2 -0
  514. package/dist/charts/engine/trading/format.cjs.map +1 -0
  515. package/dist/charts/engine/trading/format.d.cts +73 -0
  516. package/dist/charts/engine/trading/format.d.ts +73 -0
  517. package/dist/charts/engine/trading/format.js +163 -0
  518. package/dist/charts/engine/trading/format.js.map +1 -0
  519. package/dist/charts/engine/trading/geometry.cjs +2 -0
  520. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  521. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  522. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  523. package/dist/charts/engine/trading/geometry.js +131 -0
  524. package/dist/charts/engine/trading/geometry.js.map +1 -0
  525. package/dist/charts/engine/trading/index.cjs +1 -0
  526. package/dist/charts/engine/trading/index.d.cts +4 -0
  527. package/dist/charts/engine/trading/index.d.ts +4 -0
  528. package/dist/charts/engine/trading/index.js +4 -0
  529. package/dist/charts/engine/trading/indicators.cjs +2 -0
  530. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  531. package/dist/charts/engine/trading/indicators.d.cts +275 -0
  532. package/dist/charts/engine/trading/indicators.d.ts +275 -0
  533. package/dist/charts/engine/trading/indicators.js +544 -0
  534. package/dist/charts/engine/trading/indicators.js.map +1 -0
  535. package/dist/charts/engine/trading/labels.cjs +2 -0
  536. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  537. package/dist/charts/engine/trading/labels.d.cts +7 -0
  538. package/dist/charts/engine/trading/labels.d.ts +7 -0
  539. package/dist/charts/engine/trading/labels.js +171 -0
  540. package/dist/charts/engine/trading/labels.js.map +1 -0
  541. package/dist/charts/engine/trading/scale.cjs +2 -0
  542. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  543. package/dist/charts/engine/trading/scale.d.cts +46 -0
  544. package/dist/charts/engine/trading/scale.d.ts +46 -0
  545. package/dist/charts/engine/trading/scale.js +100 -0
  546. package/dist/charts/engine/trading/scale.js.map +1 -0
  547. package/dist/charts/engine/trading/store.cjs +2 -0
  548. package/dist/charts/engine/trading/store.cjs.map +1 -0
  549. package/dist/charts/engine/trading/store.d.cts +83 -0
  550. package/dist/charts/engine/trading/store.d.ts +83 -0
  551. package/dist/charts/engine/trading/store.js +150 -0
  552. package/dist/charts/engine/trading/store.js.map +1 -0
  553. package/dist/charts/engine/trading/studies.cjs +2 -0
  554. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  555. package/dist/charts/engine/trading/studies.d.cts +85 -0
  556. package/dist/charts/engine/trading/studies.d.ts +85 -0
  557. package/dist/charts/engine/trading/studies.js +510 -0
  558. package/dist/charts/engine/trading/studies.js.map +1 -0
  559. package/dist/charts/engine/trading/sync.cjs +2 -0
  560. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  561. package/dist/charts/engine/trading/sync.d.cts +8 -0
  562. package/dist/charts/engine/trading/sync.d.ts +8 -0
  563. package/dist/charts/engine/trading/sync.js +25 -0
  564. package/dist/charts/engine/trading/sync.js.map +1 -0
  565. package/dist/charts/engine/trading/types.d.cts +1131 -0
  566. package/dist/charts/engine/trading/types.d.ts +1131 -0
  567. package/dist/charts/engine/types.d.cts +247 -22
  568. package/dist/charts/engine/types.d.ts +247 -22
  569. package/dist/charts/index.cjs +1 -1
  570. package/dist/charts/index.d.cts +8 -4
  571. package/dist/charts/index.d.ts +8 -4
  572. package/dist/charts/index.js +30 -11
  573. package/dist/charts/react/Chart.cjs +1 -1
  574. package/dist/charts/react/Chart.cjs.map +1 -1
  575. package/dist/charts/react/Chart.d.cts +4 -4
  576. package/dist/charts/react/Chart.d.ts +4 -4
  577. package/dist/charts/react/Chart.js +5 -1
  578. package/dist/charts/react/Chart.js.map +1 -1
  579. package/dist/charts/react/charts.cjs +1 -1
  580. package/dist/charts/react/charts.cjs.map +1 -1
  581. package/dist/charts/react/charts.d.cts +39 -1
  582. package/dist/charts/react/charts.d.ts +39 -1
  583. package/dist/charts/react/charts.js +312 -128
  584. package/dist/charts/react/charts.js.map +1 -1
  585. package/dist/charts/react/graph.cjs +2 -0
  586. package/dist/charts/react/graph.cjs.map +1 -0
  587. package/dist/charts/react/graph.d.cts +213 -0
  588. package/dist/charts/react/graph.d.ts +213 -0
  589. package/dist/charts/react/graph.js +159 -0
  590. package/dist/charts/react/graph.js.map +1 -0
  591. package/dist/charts/react/orderbook.cjs +2 -0
  592. package/dist/charts/react/orderbook.cjs.map +1 -0
  593. package/dist/charts/react/orderbook.d.cts +142 -0
  594. package/dist/charts/react/orderbook.d.ts +142 -0
  595. package/dist/charts/react/orderbook.js +182 -0
  596. package/dist/charts/react/orderbook.js.map +1 -0
  597. package/dist/charts/react/shapes.cjs +1 -1
  598. package/dist/charts/react/shapes.cjs.map +1 -1
  599. package/dist/charts/react/shapes.d.cts +374 -9
  600. package/dist/charts/react/shapes.d.ts +374 -9
  601. package/dist/charts/react/shapes.js +323 -93
  602. package/dist/charts/react/shapes.js.map +1 -1
  603. package/dist/charts/react/three-d.cjs +2 -0
  604. package/dist/charts/react/three-d.cjs.map +1 -0
  605. package/dist/charts/react/three-d.d.cts +151 -0
  606. package/dist/charts/react/three-d.d.ts +151 -0
  607. package/dist/charts/react/three-d.js +154 -0
  608. package/dist/charts/react/three-d.js.map +1 -0
  609. package/dist/charts/react/trading.cjs +2 -0
  610. package/dist/charts/react/trading.cjs.map +1 -0
  611. package/dist/charts/react/trading.d.cts +145 -0
  612. package/dist/charts/react/trading.d.ts +145 -0
  613. package/dist/charts/react/trading.js +126 -0
  614. package/dist/charts/react/trading.js.map +1 -0
  615. package/dist/charts/react/types.d.cts +143 -8
  616. package/dist/charts/react/types.d.ts +143 -8
  617. package/dist/core/contracts.cjs +1 -1
  618. package/dist/core/contracts.cjs.map +1 -1
  619. package/dist/core/contracts.js +1 -1
  620. package/dist/core/contracts.js.map +1 -1
  621. package/dist/native/charts/src/canvas.cjs +1 -1
  622. package/dist/native/charts/src/canvas.js +9 -3
  623. package/dist/native/charts/src/engine/axis.cjs +1 -1
  624. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  625. package/dist/native/charts/src/engine/axis.js +43 -20
  626. package/dist/native/charts/src/engine/axis.js.map +1 -1
  627. package/dist/native/charts/src/engine/color.cjs +1 -1
  628. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/color.js +47 -5
  630. package/dist/native/charts/src/engine/color.js.map +1 -1
  631. package/dist/native/charts/src/engine/controller.cjs +2 -2
  632. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  633. package/dist/native/charts/src/engine/controller.js +415 -308
  634. package/dist/native/charts/src/engine/controller.js.map +1 -1
  635. package/dist/native/charts/src/engine/data.cjs +1 -1
  636. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  637. package/dist/native/charts/src/engine/data.js +65 -49
  638. package/dist/native/charts/src/engine/data.js.map +1 -1
  639. package/dist/native/charts/src/engine/format.cjs +1 -1
  640. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  641. package/dist/native/charts/src/engine/format.js +59 -21
  642. package/dist/native/charts/src/engine/format.js.map +1 -1
  643. package/dist/native/charts/src/engine/labels.cjs +2 -0
  644. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  645. package/dist/native/charts/src/engine/labels.js +98 -0
  646. package/dist/native/charts/src/engine/labels.js.map +1 -0
  647. package/dist/native/charts/src/engine/layout.cjs +1 -1
  648. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  649. package/dist/native/charts/src/engine/layout.js +62 -12
  650. package/dist/native/charts/src/engine/layout.js.map +1 -1
  651. package/dist/native/charts/src/engine/locale.cjs +2 -0
  652. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  653. package/dist/native/charts/src/engine/locale.js +60 -0
  654. package/dist/native/charts/src/engine/locale.js.map +1 -0
  655. package/dist/native/charts/src/engine/model.cjs +1 -1
  656. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  657. package/dist/native/charts/src/engine/model.js +307 -119
  658. package/dist/native/charts/src/engine/model.js.map +1 -1
  659. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  660. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  661. package/dist/native/charts/src/engine/overlay.js +46 -23
  662. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  663. package/dist/native/charts/src/engine/presets.cjs +2 -2
  664. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  665. package/dist/native/charts/src/engine/presets.js +470 -41
  666. package/dist/native/charts/src/engine/presets.js.map +1 -1
  667. package/dist/native/charts/src/engine/scale.cjs +1 -1
  668. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  669. package/dist/native/charts/src/engine/scale.js +1 -1
  670. package/dist/native/charts/src/engine/scale.js.map +1 -1
  671. package/dist/native/charts/src/engine/scene.cjs +1 -1
  672. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  673. package/dist/native/charts/src/engine/scene.js +489 -207
  674. package/dist/native/charts/src/engine/scene.js.map +1 -1
  675. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  676. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  678. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  680. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/calendar.js +369 -0
  682. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  684. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  685. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  686. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  687. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  688. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  689. package/dist/native/charts/src/engine/shapes/chord.js +414 -0
  690. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  691. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  692. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  693. package/dist/native/charts/src/engine/shapes/draw.js +195 -0
  694. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  695. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  696. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  697. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  698. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  699. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  700. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  701. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  702. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  703. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  704. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  705. package/dist/native/charts/src/engine/shapes/hit.js +135 -0
  706. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  707. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  708. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  709. package/dist/native/charts/src/engine/shapes/labels.js +154 -0
  710. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  711. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  712. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  713. package/dist/native/charts/src/engine/shapes/layout.js +358 -0
  714. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  715. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  716. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  717. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  718. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  719. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  720. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  721. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  722. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  723. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  724. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  725. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  726. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  727. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  728. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  729. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  730. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  731. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  732. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  733. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  734. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  735. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  736. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  737. package/dist/native/charts/src/engine/shapes/scene.js +168 -0
  738. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  739. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  740. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  741. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  742. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  743. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  744. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  745. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  746. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  747. package/dist/native/charts/src/engine/time.cjs +1 -1
  748. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  749. package/dist/native/charts/src/engine/time.js +156 -91
  750. package/dist/native/charts/src/engine/time.js.map +1 -1
  751. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  752. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  753. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  754. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  755. package/dist/native/components/Chart/ChartBase.js +110 -107
  756. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  757. package/dist/native/components/Chart/charts.cjs +1 -1
  758. package/dist/native/components/Chart/charts.cjs.map +1 -1
  759. package/dist/native/components/Chart/charts.d.cts +6 -1
  760. package/dist/native/components/Chart/charts.d.ts +6 -1
  761. package/dist/native/components/Chart/charts.js +53 -29
  762. package/dist/native/components/Chart/charts.js.map +1 -1
  763. package/dist/native/components/Chart/index.cjs +1 -1
  764. package/dist/native/components/Chart/index.d.cts +1 -1
  765. package/dist/native/components/Chart/index.d.ts +1 -1
  766. package/dist/native/components/Chart/index.js +2 -2
  767. package/dist/native/components/Chart/scene.cjs +1 -1
  768. package/dist/native/components/Chart/scene.cjs.map +1 -1
  769. package/dist/native/components/Chart/scene.js +315 -229
  770. package/dist/native/components/Chart/scene.js.map +1 -1
  771. package/dist/native/components/Chart/types.d.cts +26 -3
  772. package/dist/native/components/Chart/types.d.ts +26 -3
  773. package/dist/native/components/Charts/charts.cjs +2 -0
  774. package/dist/native/components/Charts/charts.cjs.map +1 -0
  775. package/dist/native/components/Charts/charts.d.cts +41 -0
  776. package/dist/native/components/Charts/charts.d.ts +41 -0
  777. package/dist/native/components/Charts/charts.js +350 -0
  778. package/dist/native/components/Charts/charts.js.map +1 -0
  779. package/dist/native/components/Charts/index.cjs +1 -0
  780. package/dist/native/components/Charts/index.d.cts +2 -0
  781. package/dist/native/components/Charts/index.d.ts +2 -0
  782. package/dist/native/components/Charts/index.js +2 -0
  783. package/dist/native/components/Charts/types.d.cts +155 -0
  784. package/dist/native/components/Charts/types.d.ts +155 -0
  785. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  786. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  787. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  788. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  789. package/dist/native/components/ShapeChart/ShapeChartBase.js +272 -0
  790. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  791. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  792. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  793. package/dist/native/components/ShapeChart/charts.d.cts +43 -0
  794. package/dist/native/components/ShapeChart/charts.d.ts +43 -0
  795. package/dist/native/components/ShapeChart/charts.js +429 -0
  796. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  797. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  798. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  799. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  800. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  801. package/dist/native/components/ShapeChart/draw.js +113 -0
  802. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  803. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  804. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  805. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  806. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  807. package/dist/native/components/ShapeChart/geometry.js +681 -0
  808. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  809. package/dist/native/components/ShapeChart/index.cjs +1 -0
  810. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  811. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  812. package/dist/native/components/ShapeChart/index.js +2 -0
  813. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  814. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  815. package/dist/native/components/ShapeChart/recorder.d.cts +115 -0
  816. package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
  817. package/dist/native/components/ShapeChart/recorder.js +583 -0
  818. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  819. package/dist/native/components/ShapeChart/types.d.cts +594 -0
  820. package/dist/native/components/ShapeChart/types.d.ts +594 -0
  821. package/dist/native/index.cjs +1 -1
  822. package/dist/native/index.d.cts +2 -0
  823. package/dist/native/index.d.ts +2 -0
  824. package/dist/native/index.js +14 -10
  825. package/dist/native/manifest.d.cts +6 -4
  826. package/dist/native/manifest.d.ts +6 -4
  827. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  828. package/dist/native/source/components/Chart/charts.tsx +42 -6
  829. package/dist/native/source/components/Chart/index.ts +1 -0
  830. package/dist/native/source/components/Chart/scene.tsx +312 -98
  831. package/dist/native/source/components/Chart/types.ts +31 -1
  832. package/dist/native/source/components/Charts/charts.tsx +521 -0
  833. package/dist/native/source/components/Charts/index.ts +14 -0
  834. package/dist/native/source/components/Charts/types.ts +218 -0
  835. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
  836. package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
  837. package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
  838. package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
  839. package/dist/native/source/components/ShapeChart/index.ts +16 -0
  840. package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
  841. package/dist/native/source/components/ShapeChart/types.ts +655 -0
  842. package/dist/native/source/index.ts +2 -0
  843. package/dist/native/source/manifest.ts +31 -4
  844. package/dist/taro/charts.d.ts +229 -4
  845. package/dist/taro/index.d.ts +1 -0
  846. package/dist/taro/index.js +8818 -2093
  847. package/dist/taro/manifest.d.ts +1 -0
  848. package/dist/taro/shape-charts.d.ts +629 -0
  849. package/dist/uni/AreaChart.vue +68 -0
  850. package/dist/uni/AreaChart.vue.d.ts +124 -0
  851. package/dist/uni/Badge.vue.d.ts +1 -1
  852. package/dist/uni/BarChart.vue.d.ts +5 -1
  853. package/dist/uni/BoxPlotChart.vue +66 -0
  854. package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
  855. package/dist/uni/BubbleChart.vue +68 -0
  856. package/dist/uni/BubbleChart.vue.d.ts +110 -0
  857. package/dist/uni/BulletChart.vue +86 -0
  858. package/dist/uni/BulletChart.vue.d.ts +114 -0
  859. package/dist/uni/CalendarHeatmap.vue +92 -0
  860. package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
  861. package/dist/uni/CandlestickChart.vue +66 -0
  862. package/dist/uni/CandlestickChart.vue.d.ts +104 -0
  863. package/dist/uni/Chart.vue.d.ts +4 -0
  864. package/dist/uni/ChordChart.vue +93 -0
  865. package/dist/uni/ChordChart.vue.d.ts +136 -0
  866. package/dist/uni/DonutChart.vue +72 -0
  867. package/dist/uni/DonutChart.vue.d.ts +118 -0
  868. package/dist/uni/FunnelChart.vue +67 -0
  869. package/dist/uni/FunnelChart.vue.d.ts +108 -0
  870. package/dist/uni/GanttChart.vue +67 -0
  871. package/dist/uni/GanttChart.vue.d.ts +127 -0
  872. package/dist/uni/GaugeChart.vue +77 -0
  873. package/dist/uni/GaugeChart.vue.d.ts +127 -0
  874. package/dist/uni/HeatmapChart.vue +66 -0
  875. package/dist/uni/HeatmapChart.vue.d.ts +120 -0
  876. package/dist/uni/HistogramChart.vue +66 -0
  877. package/dist/uni/HistogramChart.vue.d.ts +125 -0
  878. package/dist/uni/HorizontalBarChart.vue +68 -0
  879. package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
  880. package/dist/uni/Input.vue.d.ts +1 -1
  881. package/dist/uni/LineChart.vue.d.ts +4 -0
  882. package/dist/uni/MixedChart.vue +68 -0
  883. package/dist/uni/MixedChart.vue.d.ts +110 -0
  884. package/dist/uni/NumberInput.vue.d.ts +1 -1
  885. package/dist/uni/PieChart.vue +72 -0
  886. package/dist/uni/PieChart.vue.d.ts +118 -0
  887. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  888. package/dist/uni/RadarChart.vue +67 -0
  889. package/dist/uni/RadarChart.vue.d.ts +114 -0
  890. package/dist/uni/RadialBarChart.vue +90 -0
  891. package/dist/uni/RadialBarChart.vue.d.ts +136 -0
  892. package/dist/uni/RangeAreaChart.vue +68 -0
  893. package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
  894. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  895. package/dist/uni/SankeyChart.vue +88 -0
  896. package/dist/uni/SankeyChart.vue.d.ts +125 -0
  897. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  898. package/dist/uni/ShapeChart.vue +73 -0
  899. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  900. package/dist/uni/Sparkline.vue +58 -0
  901. package/dist/uni/Sparkline.vue.d.ts +81 -0
  902. package/dist/uni/SunburstChart.vue +90 -0
  903. package/dist/uni/SunburstChart.vue.d.ts +118 -0
  904. package/dist/uni/Textarea.vue.d.ts +1 -1
  905. package/dist/uni/TimePicker.vue.d.ts +1 -1
  906. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  907. package/dist/uni/TreemapChart.vue +65 -0
  908. package/dist/uni/TreemapChart.vue.d.ts +104 -0
  909. package/dist/uni/WaterfallChart.vue +66 -0
  910. package/dist/uni/WaterfallChart.vue.d.ts +134 -0
  911. package/dist/uni/chart-canvas.d.ts +3 -0
  912. package/dist/uni/chart-canvas.js +4 -0
  913. package/dist/uni/chart-types.d.ts +240 -2
  914. package/dist/uni/chart-types.js +198 -0
  915. package/dist/uni/charts-canvas.js +8 -3
  916. package/dist/uni/index.d.ts +27 -1
  917. package/dist/uni/index.js +27 -1
  918. package/dist/uni/manifest.d.ts +279 -0
  919. package/dist/uni/manifest.js +397 -0
  920. package/dist/uni/named-chart-options.d.ts +95 -0
  921. package/dist/uni/named-chart-options.js +173 -0
  922. package/dist/uni/shape-chart-canvas.d.ts +53 -0
  923. package/dist/uni/shape-chart-canvas.js +333 -0
  924. package/dist/uni/shape-chart-types.d.ts +431 -0
  925. package/dist/uni/shape-chart-types.js +305 -0
  926. package/dist/vue/charts-global.d.ts +48 -0
  927. package/dist/vue/charts.d.ts +18 -0
  928. package/dist/vue/charts.js +56 -0
  929. package/dist/vue/charts.js.map +1 -0
  930. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  931. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  932. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  933. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  934. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  935. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  936. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  937. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  938. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  939. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  940. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  941. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  942. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  943. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  944. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  945. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +120 -0
  946. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  947. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  948. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +63 -0
  949. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  950. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  951. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  952. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  953. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  954. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  955. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  956. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  957. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  958. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  959. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  960. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  961. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  962. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  963. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  964. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  965. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  966. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  967. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  968. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  969. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  970. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  971. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  972. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  973. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  974. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  975. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  976. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  977. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  978. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  979. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  980. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
  981. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  982. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  983. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  984. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  985. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  986. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  987. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  988. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  989. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  990. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  991. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  992. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  993. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  994. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  995. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  996. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  997. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  998. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  999. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1000. package/dist/vue/components/Chart/GanttChart.vue.d.ts +136 -0
  1001. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  1002. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  1003. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1004. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1005. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  1006. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  1007. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  1008. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1009. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1010. package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
  1011. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  1012. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  1013. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  1014. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1015. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -0
  1016. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  1017. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  1018. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +67 -0
  1019. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1020. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  1021. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  1022. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  1023. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  1024. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1025. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  1026. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  1027. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  1028. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  1029. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1030. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  1031. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  1032. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  1033. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1034. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1035. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  1036. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  1037. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  1038. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  1039. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1040. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  1041. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  1042. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  1043. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1044. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1045. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  1046. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  1047. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  1048. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  1049. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1050. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +130 -0
  1051. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  1052. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  1053. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  1054. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1055. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  1056. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  1057. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  1058. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  1059. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1060. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  1061. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  1062. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  1063. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  1064. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1065. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  1066. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  1067. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  1068. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  1069. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1070. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  1071. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  1072. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  1073. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  1074. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1075. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  1076. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  1077. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  1078. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  1079. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1080. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  1081. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  1082. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  1083. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1084. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1085. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  1086. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  1087. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  1088. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1089. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1090. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1091. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1092. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1093. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1094. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1095. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1096. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1097. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1098. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1099. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1100. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1101. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1102. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1103. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1104. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1105. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1106. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1107. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1108. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1109. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1110. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1111. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1112. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1113. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1114. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1115. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +116 -0
  1116. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1117. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1118. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1119. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1120. package/dist/vue/components/Chart/TradingChart.vue.d.ts +208 -0
  1121. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1122. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1123. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1124. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1125. package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
  1126. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  1127. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  1128. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  1129. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1130. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1131. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1132. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1133. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1134. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1135. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +143 -0
  1136. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1137. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1138. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +74 -0
  1139. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1140. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1141. package/dist/vue/components/Chart/cartesian.js +56 -0
  1142. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1143. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1144. package/dist/vue/components/Chart/engine.js +35 -0
  1145. package/dist/vue/components/Chart/engine.js.map +1 -0
  1146. package/dist/vue/components/Chart/graph.d.ts +153 -0
  1147. package/dist/vue/components/Chart/graph.js +135 -0
  1148. package/dist/vue/components/Chart/graph.js.map +1 -0
  1149. package/dist/vue/components/Chart/index.d.ts +45 -0
  1150. package/dist/vue/components/Chart/index.js +44 -0
  1151. package/dist/vue/components/Chart/orderbook.d.ts +363 -0
  1152. package/dist/vue/components/Chart/orderbook.js +128 -0
  1153. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1154. package/dist/vue/components/Chart/props.d.ts +188 -0
  1155. package/dist/vue/components/Chart/props.js +92 -0
  1156. package/dist/vue/components/Chart/props.js.map +1 -0
  1157. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1158. package/dist/vue/components/Chart/shape.js +42 -0
  1159. package/dist/vue/components/Chart/shape.js.map +1 -0
  1160. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1161. package/dist/vue/components/Chart/three-d.js +88 -0
  1162. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1163. package/dist/vue/components/Chart/trading.d.ts +127 -0
  1164. package/dist/vue/components/Chart/trading.js +63 -0
  1165. package/dist/vue/components/Chart/trading.js.map +1 -0
  1166. package/dist/vue/components/Chart/types.d.ts +209 -0
  1167. package/dist/vue/global.d.ts +2 -0
  1168. package/dist/vue/groups/charts.d.ts +1 -0
  1169. package/dist/vue/groups/charts.js +95 -0
  1170. package/dist/vue/groups/charts.js.map +1 -0
  1171. package/dist/vue/index.d.ts +1 -0
  1172. package/dist/vue/index.js +67 -23
  1173. package/dist/vue/internal/register.d.ts +7 -0
  1174. package/dist/vue/internal/register.js +14 -0
  1175. package/dist/vue/internal/register.js.map +1 -0
  1176. package/dist/vue/plugin.d.ts +9 -4
  1177. package/dist/vue/plugin.js +7 -10
  1178. package/dist/vue/plugin.js.map +1 -1
  1179. package/dist/weapp/area-chart/index.js +1 -0
  1180. package/dist/weapp/area-chart/index.json +1 -0
  1181. package/dist/weapp/area-chart/index.wxml +1 -0
  1182. package/dist/weapp/area-chart/index.wxss +1 -0
  1183. package/dist/weapp/box-plot-chart/index.js +1 -0
  1184. package/dist/weapp/box-plot-chart/index.json +1 -0
  1185. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1186. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1187. package/dist/weapp/bubble-chart/index.js +1 -0
  1188. package/dist/weapp/bubble-chart/index.json +1 -0
  1189. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1190. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1191. package/dist/weapp/bullet-chart/index.js +1 -0
  1192. package/dist/weapp/bullet-chart/index.json +1 -0
  1193. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1194. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1195. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1196. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1197. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1198. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1199. package/dist/weapp/candlestick-chart/index.js +1 -0
  1200. package/dist/weapp/candlestick-chart/index.json +1 -0
  1201. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1202. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1203. package/dist/weapp/charts/canvas.js +12976 -0
  1204. package/dist/weapp/charts/core.d.ts +2 -0
  1205. package/dist/weapp/charts/core.js +42 -0
  1206. package/dist/weapp/chord-chart/index.js +1 -0
  1207. package/dist/weapp/chord-chart/index.json +1 -0
  1208. package/dist/weapp/chord-chart/index.wxml +1 -0
  1209. package/dist/weapp/chord-chart/index.wxss +1 -0
  1210. package/dist/weapp/controls.js +1495 -4480
  1211. package/dist/weapp/donut-chart/index.js +1 -0
  1212. package/dist/weapp/donut-chart/index.json +1 -0
  1213. package/dist/weapp/donut-chart/index.wxml +1 -0
  1214. package/dist/weapp/donut-chart/index.wxss +1 -0
  1215. package/dist/weapp/funnel-chart/index.js +1 -0
  1216. package/dist/weapp/funnel-chart/index.json +1 -0
  1217. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1218. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1219. package/dist/weapp/gantt-chart/index.js +1 -0
  1220. package/dist/weapp/gantt-chart/index.json +1 -0
  1221. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1222. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1223. package/dist/weapp/gauge-chart/index.js +1 -0
  1224. package/dist/weapp/gauge-chart/index.json +1 -0
  1225. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1226. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1227. package/dist/weapp/heatmap-chart/index.js +1 -0
  1228. package/dist/weapp/heatmap-chart/index.json +1 -0
  1229. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1230. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1231. package/dist/weapp/histogram-chart/index.js +1 -0
  1232. package/dist/weapp/histogram-chart/index.json +1 -0
  1233. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1234. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1235. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1236. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1237. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1238. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1239. package/dist/weapp/mixed-chart/index.js +1 -0
  1240. package/dist/weapp/mixed-chart/index.json +1 -0
  1241. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1242. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1243. package/dist/weapp/pie-chart/index.js +1 -0
  1244. package/dist/weapp/pie-chart/index.json +1 -0
  1245. package/dist/weapp/pie-chart/index.wxml +1 -0
  1246. package/dist/weapp/pie-chart/index.wxss +1 -0
  1247. package/dist/weapp/radar-chart/index.js +1 -0
  1248. package/dist/weapp/radar-chart/index.json +1 -0
  1249. package/dist/weapp/radar-chart/index.wxml +1 -0
  1250. package/dist/weapp/radar-chart/index.wxss +1 -0
  1251. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1252. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1253. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1254. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1255. package/dist/weapp/range-area-chart/index.js +1 -0
  1256. package/dist/weapp/range-area-chart/index.json +1 -0
  1257. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1258. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1259. package/dist/weapp/sankey-chart/index.js +1 -0
  1260. package/dist/weapp/sankey-chart/index.json +1 -0
  1261. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1262. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1263. package/dist/weapp/shape-chart/index.js +1 -0
  1264. package/dist/weapp/shape-chart/index.json +1 -0
  1265. package/dist/weapp/shape-chart/index.wxml +1 -0
  1266. package/dist/weapp/shape-chart/index.wxss +1 -0
  1267. package/dist/weapp/sparkline/index.js +1 -0
  1268. package/dist/weapp/sparkline/index.json +1 -0
  1269. package/dist/weapp/sparkline/index.wxml +1 -0
  1270. package/dist/weapp/sparkline/index.wxss +1 -0
  1271. package/dist/weapp/sunburst-chart/index.js +1 -0
  1272. package/dist/weapp/sunburst-chart/index.json +1 -0
  1273. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1274. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1275. package/dist/weapp/treemap-chart/index.js +1 -0
  1276. package/dist/weapp/treemap-chart/index.json +1 -0
  1277. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1278. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1279. package/dist/weapp/types.d.ts +549 -0
  1280. package/dist/weapp/waterfall-chart/index.js +1 -0
  1281. package/dist/weapp/waterfall-chart/index.json +1 -0
  1282. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1283. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1284. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1285. package/dist/web-components/components/chart/chart.js +55 -0
  1286. package/dist/web-components/components/chart/chart.js.map +1 -0
  1287. package/dist/web-components/components/chart/charts.d.ts +254 -0
  1288. package/dist/web-components/components/chart/charts.js +208 -0
  1289. package/dist/web-components/components/chart/charts.js.map +1 -0
  1290. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1291. package/dist/web-components/components/chart/engine-element.js +77 -0
  1292. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1293. package/dist/web-components/components/chart/extended.d.ts +234 -0
  1294. package/dist/web-components/components/chart/extended.js +197 -0
  1295. package/dist/web-components/components/chart/extended.js.map +1 -0
  1296. package/dist/web-components/components/chart/series.d.ts +7 -0
  1297. package/dist/web-components/components/chart/series.js +14 -0
  1298. package/dist/web-components/components/chart/series.js.map +1 -0
  1299. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1300. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1301. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1302. package/dist/web-components/components/chart/shapes-extended.d.ts +198 -0
  1303. package/dist/web-components/components/chart/shapes-extended.js +182 -0
  1304. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1305. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1306. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1307. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1308. package/dist/web-components/components/graph/graph.d.ts +154 -0
  1309. package/dist/web-components/components/graph/graph.js +149 -0
  1310. package/dist/web-components/components/graph/graph.js.map +1 -0
  1311. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1312. package/dist/web-components/components/order-book/order-book.js +174 -0
  1313. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1314. package/dist/web-components/components/trading-chart/trading-chart.d.ts +143 -0
  1315. package/dist/web-components/components/trading-chart/trading-chart.js +158 -0
  1316. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1317. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1318. package/dist/web-components/elements/chart-3d.js +13 -0
  1319. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1320. package/dist/web-components/elements/chart.d.ts +7 -0
  1321. package/dist/web-components/elements/chart.js +44 -0
  1322. package/dist/web-components/elements/chart.js.map +1 -0
  1323. package/dist/web-components/elements/graph.d.ts +2 -0
  1324. package/dist/web-components/elements/graph.js +12 -0
  1325. package/dist/web-components/elements/graph.js.map +1 -0
  1326. package/dist/web-components/elements/order-book.d.ts +2 -0
  1327. package/dist/web-components/elements/order-book.js +13 -0
  1328. package/dist/web-components/elements/order-book.js.map +1 -0
  1329. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1330. package/dist/web-components/elements/trading-chart.js +8 -0
  1331. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1332. package/dist/web-components/html-custom-data.json +1470 -38
  1333. package/dist/web-components/types/react.d.ts +494 -0
  1334. package/dist/web-components/types/solid.d.ts +368 -0
  1335. package/dist/web-components/types/svelte.d.ts +368 -0
  1336. package/dist/web-components/types/vue.d.ts +410 -0
  1337. package/package.json +128 -1
@@ -0,0 +1,2 @@
1
+ const e=require("./force.cjs");var t=(e,t)=>{if(e.length<2)return 0;e.sort((e,t)=>e[0]-t[0]||e[1]-t[1]);let n=new Int32Array(t+1),r=0,i=0;for(let[,a]of e){let e=0;for(let t=a+1;t>0;t-=t&-t)e+=n[t];r+=i-e;for(let e=a+1;e<=t;e+=e&-e)n[e]++;i++}return r},n=(e,n)=>{let r=new Map,i=new Map;e.forEach((e,t)=>e.forEach((e,n)=>{r.set(e,t),i.set(e,n)}));let a=e.map(()=>[]);for(let[e,t]of n){let n=r.get(e),o=r.get(t);n!==void 0&&o!==void 0&&(o===n+1?a[n].push([i.get(e),i.get(t)]):n===o+1&&a[o].push([i.get(t),i.get(e)]))}let o=0;return a.forEach((n,r)=>{r+1<e.length&&(o+=t(n,e[r+1].length))}),o},r=(e,t,n)=>{let r=new Float64Array(n),i=new Float64Array(n),a=new Int32Array(n),o=0;for(let s=0;s<n;s++)for(r[o]=t[s],i[o]=e[s],a[o]=1,o++;o>1&&i[o-2]>i[o-1];){let e=r[o-2]+r[o-1];i[o-2]=(i[o-2]*r[o-2]+i[o-1]*r[o-1])/e,r[o-2]=e,a[o-2]+=a[o-1],o--}let s=0;for(let t=0;t<o;t++)for(let n=0;n<a[t];n++)e[s++]=i[t]},i=e=>{let{n,direction:i}=e,a=i===`LR`||i===`RL`,o=a?e.height:e.width,s=a?e.width:e.height,c=e.source.length,l=Array.from({length:n},()=>[]),u=new Int32Array(n);for(let t=0;t<c;t++){let r=e.source[t],i=e.target[t];r===i||r<0||i<0||r>=n||i>=n||(l[r].push(t),u[i]++)}let d=new Uint8Array(c),f=new Uint8Array(n),p=t=>{let n=[[t,0]];for(f[t]=1;n.length;){let t=n[n.length-1],[r,i]=t;if(i>=l[r].length){f[r]=2,n.pop();continue}t[1]++;let a=l[r][i],o=e.target[a];f[o]===1?d[a]=1:f[o]===0&&(f[o]=1,n.push([o,0]))}};for(let e=0;e<n;e++)!u[e]&&!f[e]&&p(e);for(let e=0;e<n;e++)f[e]||p(e);let m=new Map,h=[],g=[],_=new Int32Array(c).fill(-1);for(let t=0;t<c;t++){let r=e.source[t],i=e.target[t];if(r===i||r<0||i<0||r>=n||i>=n)continue;let a=d[t]?i:r,o=d[t]?r:i,s=a*n+o,c=m.get(s);c===void 0&&(c=h.length,m.set(s,c),h.push(a),g.push(o)),_[t]=c}let v=h.length,y=Array.from({length:n},()=>[]),b=Array.from({length:n},()=>[]);for(let e=0;e<v;e++)y[h[e]].push(g[e]),b[g[e]].push(h[e]);let x=[],ee=Int32Array.from(b,e=>e.length);for(let e=0;e<n;e++)ee[e]||x.push(e);for(let e=0;e<x.length;e++)for(let t of y[x[e]])--ee[t]===0&&x.push(t);let S=new Int32Array(n);for(let e of x)for(let t of b[e])S[e]=Math.max(S[e],S[t]+1);let C=0;for(let e=0;e<n;e++)C=Math.max(C,S[e]);let w=new Int32Array(C+1);for(let e=0;e<n;e++)w[S[e]]++;for(let e=x.length-1;e>=0;e--){let t=x[e],n=0;for(let e of b[t])n=Math.max(n,S[e]+1);let r=C;for(let e of y[t])r=Math.min(r,S[e]-1);if(y[t].length||(r=S[t]),r<=n)continue;let i=b[t].length,a=y[t].length,o=S[t];if(a>i)o=r;else if(i>a)o=n;else for(let e=n;e<=r;e++)w[e]<w[o]-1&&(o=e);o!==S[t]&&(w[S[t]]--,w[o]++,S[t]=o)}let T=Array.from(S),E=Array.from({length:n},()=>[]),D=Array.from({length:n},()=>[]),O=Array.from({length:n},()=>[]),te=[],ne=(e,t,n)=>{D[e].push(t),E[t].push(e),O[t].push(n)};for(let e=0;e<v;e++){let t=h[e],r=g[e],i=[t],a=t;for(let e=S[t]+1;e<S[r];e++){let t=T.length;T.push(e),E.push([]),D.push([]),O.push([]),ne(a,t,a>=n?8:2),i.push(t),a=t}ne(a,r,a>=n?2:1),i.push(r),te.push(i)}let k=T.length,A=C+1,j=Array.from({length:A},()=>[]),M=new Uint8Array(k),N=e=>{M[e]||(M[e]=1,j[T[e]].push(e))},P=[],F=new Uint8Array(k),re=x.filter(e=>!E[e].length);for(let e of re.length?re:[0]){if(e>=k||F[e])continue;let t=[e];for(;t.length;){let e=t.pop();if(!F[e]){F[e]=1,P.push(e);for(let n=D[e].length-1;n>=0;n--)t.push(D[e][n])}}}for(let e of P)N(e);for(let e=0;e<k;e++)N(e);let I=new Float64Array(k),L=e=>e.forEach((e,t)=>I[e]=t);j.forEach(L);let R=()=>{let e=0;for(let n=0;n+1<A;n++){let r=[];for(let e of j[n])for(let t of D[e])r.push([I[e],I[t]]);e+=t(r,j[n+1].length)}return e},ie=R(),z=ie,B=j.map(e=>e.slice()),V=new Float64Array(k),H=(e,t,n)=>{let r=j[e];for(let e of r){let r=n?D[e]:E[e];if(!r.length){V[e]=-1;continue}if(t){let t=r.map(e=>I[e]).sort((e,t)=>e-t),n=t.length>>1;V[e]=t.length%2?t[n]:(t[n-1]+t[n])/2}else{let t=0;for(let e of r)t+=I[e];V[e]=t/r.length}}let i=r.map(e=>V[e]<0),a=r.filter(e=>V[e]>=0).sort((e,t)=>V[e]-V[t]||I[e]-I[t]),o=0;for(let e=0;e<r.length;e++)i[e]||(r[e]=a[o++]);L(r)},ae=Math.max(0,Math.floor(e.sweeps));for(let e=0;e<ae&&z>0;e++){let t=e%4>=2;if(e%2==0)for(let e=1;e<A;e++)H(e,t,!1);else for(let e=A-2;e>=0;e--)H(e,t,!0);let n=R();n<z&&(z=n,B=j.map(e=>e.slice()))}if(B.forEach((e,t)=>{j[t]=e,L(e)}),k<=3e3&&z>0){let e=(e,t)=>{let n=0;for(let r of[E,D])for(let i of r[e])for(let e of r[t])I[i]>I[e]&&n++;return n};for(let t=0,n=!0;n&&t<8;t++){n=!1;for(let t of j)for(let r=0;r+1<t.length;r++){let i=t[r],a=t[r+1];e(a,i)<e(i,a)&&(t[r]=a,t[r+1]=i,I[i]=r+1,I[a]=r,n=!0)}}z=R()}let U=e=>e<n?o[e]:0,W=(t,r)=>t<n&&r<n?e.nodeGap:e.nodeGap*.5,G=new Float64Array(k);for(let e of j){let t=0;e.forEach((n,r)=>{r&&(t+=(U(e[r-1])+U(n))/2+W(e[r-1],n)),G[n]=t});let n=t/2;for(let t of e)G[t]-=n}let K=new Float64Array(k),q=new Float64Array(k),J=new Float64Array(k),oe=Array.from({length:k},()=>[]);for(let e=0;e<k;e++)E[e].forEach((t,n)=>{oe[t][D[t].indexOf(e)]=O[e][n]});let Y=(e,t)=>{let n=e.length;if(n){for(let r=0;r<n;r++){let n=e[r],i=0,a=0;t!==`up`&&E[n].forEach((e,t)=>{i+=O[n][t],a+=O[n][t]*G[e]}),t!==`down`&&D[n].forEach((e,t)=>{let r=oe[n][t]??1;i+=r,a+=r*G[e]}),J[r]=r?J[r-1]+(U(e[r-1])+U(n))/2+W(e[r-1],n):0,K[r]=(i?a/i:G[n])-J[r],q[r]=i||.05}r(K,q,n);for(let t=0;t<n;t++)G[e[t]]=K[t]+J[t]}};for(let e=0;e<10;e++)if(e%2==0)for(let e=1;e<A;e++)Y(j[e],`down`);else for(let e=A-2;e>=0;e--)Y(j[e],`up`);for(let e=0;e<A;e++)Y(j[e],`both`);let X=new Float64Array(A);for(let e=0;e<n;e++)X[S[e]]=Math.max(X[S[e]],s[e]);let Z=new Float64Array(A);for(let t=1;t<A;t++)Z[t]=Z[t-1]+X[t-1]/2+e.layerGap+X[t]/2;let se=(e,t)=>{switch(i){case`BT`:return[e,-t];case`LR`:return[t,e];case`RL`:return[-t,e];default:return[e,t]}},ce=new Float64Array(n),le=new Float64Array(n);for(let e=0;e<n;e++){let[t,n]=se(G[e],Z[S[e]]);ce[e]=t,le[e]=n}let Q=[],$=[];for(let e=0;e<c;e++){let t=_[e];if(t<0){Q.push([]);continue}d[e]&&$.push(e);let n=te[t],r=[];if(n.forEach((e,t)=>{let i=Z[T[e]],a=i;t===0?a=i+s[e]/2:t===n.length-1&&(a=i-s[e]/2);let[o,c]=se(G[e],a);r.push(o,c)}),d[e]){let e=[];for(let t=r.length-2;t>=0;t-=2)e.push(r[t],r[t+1]);Q.push(e)}else Q.push(r)}return{x:ce,y:le,layer:S,order:j.map(e=>e.map(e=>e<n?e:-1-(e-n))),routes:Q,reversed:$,crossings:{initial:ie,final:z}}},a=(t,n,r={})=>{let{source:a,target:o,edge:s}=e.indexGraph(t,n),c=new Float64Array(t.length),l=new Float64Array(t.length);t.forEach((e,t)=>{let[n,i]=r.size?.(e,t)??[24,24];c[t]=n,l[t]=i});let u=i({n:t.length,source:a,target:o,width:c,height:l,direction:r.direction??`TB`,layerGap:r.layerGap??56,nodeGap:r.nodeGap??24,sweeps:r.sweeps??8}),d=n.map(()=>[]);return s.forEach((e,t)=>d[e]=u.routes[t]),{...u,routes:d,reversed:u.reversed.map(e=>s[e])}},o=(e,t,n,r)=>{let i=t.length,a=Array.from({length:e},()=>[]),o=new Int32Array(e);for(let e=0;e<i;e++)t[e]!==n[e]&&(a[t[e]].push(e),o[n[e]]++);let s=[];for(let t=0;t<e;t++)o[t]||s.push(t);for(let e=0;e<s.length;e++)for(let t of a[s[e]])--o[n[t]]===0&&s.push(n[t]);let c=new Float64Array(e),l=new Int32Array(e).fill(-1),u=new Uint8Array(e);for(let e of s){u[e]=1,c[e]+=r(e);for(let t of a[e]){let r=n[t];c[e]>c[r]&&(c[r]=c[e],l[r]=t)}}let d=-1;for(let e of s)(d<0||c[e]>c[d])&&(d=e);if(d<0)return{nodes:[],edges:[],length:0};let f=[d],p=[];for(let e=d;l[e]>=0&&u[t[l[e]]];)p.push(l[e]),e=t[l[e]],f.push(e);return{nodes:f.reverse(),edges:p.reverse(),length:c[d]}},s=(t,n)=>{let{source:r,target:i,edge:a}=e.indexGraph(t,n),s=o(t.length,r,i,e=>{let n=t[e].value;return Number.isFinite(n)&&n>=0?n:1});return{nodes:s.nodes.map(e=>t[e].id),edges:s.edges.map(e=>a[e]),length:s.length}};exports.countCrossings=n,exports.criticalPath=s,exports.dagLayout=a,exports.layeredLayout=i,exports.longestPath=o;
2
+ //# sourceMappingURL=dag.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dag.cjs","names":["indexGraph","require_force","bilayerCrossings","edges","a","b","tree","lowerSize","crossings","seen","q","le","i","countCrossings","layerOf","pos","order","layer","v","l","between","la","lb","total","list","isotonic","blockW","count","blockV","blockN","top","weight","target","w","k","layeredLayout","input","horizontal","direction","breadth","depth","E","out","indeg","e","s","t","reversedEdge","color","visit","stack","start","pairKey","accA","accB","chainOf","key","id","A","succ","pred","topo","remaining","p","u","maxLayer","layerCount","lo","hi","ins","outs","best","vLayer","vPred","vSucc","vWeight","chains","link","chain","prev","d","N","L","layers","placed","place","firstOrder","roots","r","updatePos","totalCrossings","pairs","initial","bestLayers","reorder","nb","up","useMedian","mid","fixedSlots","movable","sweeps","median","c","pairCrossings","pass","improved","size","gapOf","bx","cursor","shift","offset","succWeight","align","sw","sx","mode","iter","layerDepth","layerPos","toOut","x","y","px","py","routes","reversed","pts","dd","flipped","dagLayout","nodes","width","height","h","options","node","result","edge","longestPath","source","n","dist","via","inOrder","duration","end","criticalPath"],"sources":["../../../../../charts/src/engine/graph/dag.ts"],"sourcesContent":["// Layered (Sugiyama) layout of directed graphs: cycle breaking (DFS),\n// longest-path layering with a balancing pass, dummy nodes on long edges,\n// barycenter / median crossing reduction with transposition, and\n// coordinate assignment by weighted isotonic regression (long edges stay\n// straight). Index-based core + id-based public wrappers, no DOM.\n\nimport { indexGraph } from \"./force\";\nimport type {\n GraphDagLayoutOptions,\n GraphDagLayoutResult,\n GraphCriticalPath,\n GraphDirection,\n GraphEdge,\n GraphNode,\n} from \"./types\";\n\nexport interface LayeredInput {\n n: number;\n source: ArrayLike<number>;\n target: ArrayLike<number>;\n /** Width / height of each node */\n width: ArrayLike<number>;\n height: ArrayLike<number>;\n direction: GraphDirection;\n layerGap: number;\n nodeGap: number;\n sweeps: number;\n}\n\n/** Crossings between two consecutive layers (Fenwick tree, O(E log V)) */\nconst bilayerCrossings = (\n edges: [number, number][],\n lowerSize: number,\n): number => {\n if (edges.length < 2) return 0;\n edges.sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n const tree = new Int32Array(lowerSize + 1);\n let crossings = 0;\n let seen = 0;\n for (const [, q] of edges) {\n // edges already inserted that end to the right of q\n let le = 0;\n for (let i = q + 1; i > 0; i -= i & -i) le += tree[i];\n crossings += seen - le;\n for (let i = q + 1; i <= lowerSize; i += i & -i) tree[i]++;\n seen++;\n }\n return crossings;\n};\n\n/**\n * Edge crossings of a layered drawing: `order[l]` lists the nodes of layer\n * `l` from left to right, `edges` are `[a, b]` pairs between consecutive\n * layers (other pairs are ignored)\n */\nexport const countCrossings = (\n order: readonly (readonly number[])[],\n edges: readonly (readonly [number, number])[],\n): number => {\n const layerOf = new Map<number, number>();\n const pos = new Map<number, number>();\n order.forEach((layer, l) =>\n layer.forEach((v, i) => {\n layerOf.set(v, l);\n pos.set(v, i);\n }),\n );\n const between: [number, number][][] = order.map(() => []);\n for (const [a, b] of edges) {\n const la = layerOf.get(a);\n const lb = layerOf.get(b);\n if (la === undefined || lb === undefined) continue;\n if (lb === la + 1) between[la].push([pos.get(a)!, pos.get(b)!]);\n else if (la === lb + 1) between[lb].push([pos.get(b)!, pos.get(a)!]);\n }\n let total = 0;\n between.forEach((list, l) => {\n if (l + 1 < order.length)\n total += bilayerCrossings(list, order[l + 1].length);\n });\n return total;\n};\n\n/** Weighted isotonic regression (pool adjacent violators), in place */\nconst isotonic = (\n target: Float64Array,\n weight: Float64Array,\n count: number,\n): void => {\n const blockW = new Float64Array(count);\n const blockV = new Float64Array(count);\n const blockN = new Int32Array(count);\n let top = 0;\n for (let i = 0; i < count; i++) {\n blockW[top] = weight[i];\n blockV[top] = target[i];\n blockN[top] = 1;\n top++;\n while (top > 1 && blockV[top - 2] > blockV[top - 1]) {\n const w = blockW[top - 2] + blockW[top - 1];\n blockV[top - 2] =\n (blockV[top - 2] * blockW[top - 2] +\n blockV[top - 1] * blockW[top - 1]) /\n w;\n blockW[top - 2] = w;\n blockN[top - 2] += blockN[top - 1];\n top--;\n }\n }\n let i = 0;\n for (let b = 0; b < top; b++) {\n for (let k = 0; k < blockN[b]; k++) target[i++] = blockV[b];\n }\n};\n\n/** The layered layout on index data */\nexport const layeredLayout = (input: LayeredInput): GraphDagLayoutResult => {\n const { n, direction } = input;\n const horizontal = direction === \"LR\" || direction === \"RL\";\n const breadth = horizontal ? input.height : input.width;\n const depth = horizontal ? input.width : input.height;\n const E = input.source.length;\n\n // ---------------------------------------------------- 1. cycles\n const out: number[][] = Array.from({ length: n }, () => []);\n const indeg = new Int32Array(n);\n for (let e = 0; e < E; 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(e);\n indeg[t]++;\n }\n const reversedEdge = new Uint8Array(E);\n const color = new Uint8Array(n);\n const visit = (start: number) => {\n const stack: [number, number][] = [[start, 0]];\n color[start] = 1;\n while (stack.length) {\n const top = stack[stack.length - 1];\n const [v, k] = top;\n if (k >= out[v].length) {\n color[v] = 2;\n stack.pop();\n continue;\n }\n top[1]++;\n const e = out[v][k];\n const w = input.target[e];\n if (color[w] === 1) reversedEdge[e] = 1;\n else if (color[w] === 0) {\n color[w] = 1;\n stack.push([w, 0]);\n }\n }\n };\n for (let v = 0; v < n; v++) if (!indeg[v] && !color[v]) visit(v);\n for (let v = 0; v < n; v++) if (!color[v]) visit(v);\n\n // acyclic, deduplicated edges\n const pairKey = new Map<number, number>();\n const accA: number[] = [];\n const accB: number[] = [];\n const chainOf = new Int32Array(E).fill(-1);\n for (let e = 0; e < E; 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 const a = reversedEdge[e] ? t : s;\n const b = reversedEdge[e] ? s : t;\n const key = a * n + b;\n let id = pairKey.get(key);\n if (id === undefined) {\n id = accA.length;\n pairKey.set(key, id);\n accA.push(a);\n accB.push(b);\n }\n chainOf[e] = id;\n }\n const A = accA.length;\n\n // ---------------------------------------------------- 2. layers\n const succ: number[][] = Array.from({ length: n }, () => []);\n const pred: number[][] = Array.from({ length: n }, () => []);\n for (let k = 0; k < A; k++) {\n succ[accA[k]].push(accB[k]);\n pred[accB[k]].push(accA[k]);\n }\n const topo: number[] = [];\n const remaining = Int32Array.from(pred, (p) => p.length);\n for (let v = 0; v < n; v++) if (!remaining[v]) topo.push(v);\n for (let i = 0; i < topo.length; i++) {\n for (const w of succ[topo[i]]) if (--remaining[w] === 0) topo.push(w);\n }\n const layer = new Int32Array(n);\n for (const v of topo) {\n for (const u of pred[v]) layer[v] = Math.max(layer[v], layer[u] + 1);\n }\n let maxLayer = 0;\n for (let v = 0; v < n; v++) maxLayer = Math.max(maxLayer, layer[v]);\n const layerCount = new Int32Array(maxLayer + 1);\n for (let v = 0; v < n; v++) layerCount[layer[v]]++;\n // balancing: move nodes within their feasible range (shorter edges, then emptier layers)\n for (let i = topo.length - 1; i >= 0; i--) {\n const v = topo[i];\n let lo = 0;\n for (const u of pred[v]) lo = Math.max(lo, layer[u] + 1);\n let hi = maxLayer;\n for (const w of succ[v]) hi = Math.min(hi, layer[w] - 1);\n if (!succ[v].length) hi = layer[v];\n if (hi <= lo) continue;\n const ins = pred[v].length;\n const outs = succ[v].length;\n let best = layer[v];\n if (outs > ins) best = hi;\n else if (ins > outs) best = lo;\n else {\n for (let l = lo; l <= hi; l++) {\n if (layerCount[l] < layerCount[best] - 1) best = l;\n }\n }\n if (best !== layer[v]) {\n layerCount[layer[v]]--;\n layerCount[best]++;\n layer[v] = best;\n }\n }\n\n // ---------------------------------------------------- 3. dummies\n // virtual nodes: 0..n-1 real, n.. dummies\n const vLayer: number[] = Array.from(layer);\n const vPred: number[][] = Array.from({ length: n }, () => []);\n const vSucc: number[][] = Array.from({ length: n }, () => []);\n const vWeight: number[][] = Array.from({ length: n }, () => []);\n const chains: number[][] = [];\n const link = (p: number, q: number, w: number) => {\n vSucc[p].push(q);\n vPred[q].push(p);\n vWeight[q].push(w);\n };\n for (let k = 0; k < A; k++) {\n const a = accA[k];\n const b = accB[k];\n const chain: number[] = [a];\n let prev = a;\n for (let l = layer[a] + 1; l < layer[b]; l++) {\n const d = vLayer.length;\n vLayer.push(l);\n vPred.push([]);\n vSucc.push([]);\n vWeight.push([]);\n link(prev, d, prev >= n ? 8 : 2);\n chain.push(d);\n prev = d;\n }\n link(prev, b, prev >= n ? 2 : 1);\n chain.push(b);\n chains.push(chain);\n }\n const N = vLayer.length;\n const L = maxLayer + 1;\n\n // ---------------------------------------------------- 4. ordering\n const layers: number[][] = Array.from({ length: L }, () => []);\n const placed = new Uint8Array(N);\n const place = (v: number) => {\n if (placed[v]) return;\n placed[v] = 1;\n layers[vLayer[v]].push(v);\n };\n // depth-first from the sources keeps related nodes together\n const firstOrder: number[] = [];\n const seen = new Uint8Array(N);\n const roots = topo.filter((v) => !vPred[v].length);\n for (const r of roots.length ? roots : [0]) {\n if (r >= N || seen[r]) continue;\n const stack = [r];\n while (stack.length) {\n const v = stack.pop()!;\n if (seen[v]) continue;\n seen[v] = 1;\n firstOrder.push(v);\n for (let k = vSucc[v].length - 1; k >= 0; k--) stack.push(vSucc[v][k]);\n }\n }\n for (const v of firstOrder) place(v);\n for (let v = 0; v < N; v++) place(v);\n\n const pos = new Float64Array(N);\n const updatePos = (list: number[]) => list.forEach((v, i) => (pos[v] = i));\n layers.forEach(updatePos);\n\n const totalCrossings = () => {\n let total = 0;\n for (let l = 0; l + 1 < L; l++) {\n const pairs: [number, number][] = [];\n for (const v of layers[l])\n for (const w of vSucc[v]) pairs.push([pos[v], pos[w]]);\n total += bilayerCrossings(pairs, layers[l + 1].length);\n }\n return total;\n };\n\n const initial = totalCrossings();\n let best = initial;\n let bestLayers = layers.map((l) => l.slice());\n const key = new Float64Array(N);\n const reorder = (l: number, useMedian: boolean, up: boolean) => {\n const list = layers[l];\n for (const v of list) {\n const nb = up ? vSucc[v] : vPred[v];\n if (!nb.length) {\n key[v] = -1;\n continue;\n }\n if (useMedian) {\n const p = nb.map((w) => pos[w]).sort((a, b) => a - b);\n const mid = p.length >> 1;\n key[v] = p.length % 2 ? p[mid] : (p[mid - 1] + p[mid]) / 2;\n } else {\n let s = 0;\n for (const w of nb) s += pos[w];\n key[v] = s / nb.length;\n }\n }\n // nodes without neighbors keep their slot\n const fixedSlots = list.map((v) => key[v] < 0);\n const movable = list\n .filter((v) => key[v] >= 0)\n .sort((a, b) => key[a] - key[b] || pos[a] - pos[b]);\n let k = 0;\n for (let i = 0; i < list.length; i++) {\n if (!fixedSlots[i]) list[i] = movable[k++];\n }\n updatePos(list);\n };\n\n const sweeps = Math.max(0, Math.floor(input.sweeps));\n for (let s = 0; s < sweeps && best > 0; s++) {\n const median = s % 4 >= 2;\n if (s % 2 === 0) for (let l = 1; l < L; l++) reorder(l, median, false);\n else for (let l = L - 2; l >= 0; l--) reorder(l, median, true);\n const c = totalCrossings();\n if (c < best) {\n best = c;\n bestLayers = layers.map((l) => l.slice());\n }\n }\n bestLayers.forEach((list, l) => {\n layers[l] = list;\n updatePos(list);\n });\n\n // transposition of neighbors while it helps (small graphs)\n if (N <= 3000 && best > 0) {\n const pairCrossings = (u: number, v: number) => {\n let c = 0;\n for (const nb of [vPred, vSucc]) {\n for (const a of nb[u]) for (const b of nb[v]) if (pos[a] > pos[b]) c++;\n }\n return c;\n };\n for (let pass = 0, improved = true; improved && pass < 8; pass++) {\n improved = false;\n for (const list of layers) {\n for (let i = 0; i + 1 < list.length; i++) {\n const u = list[i];\n const v = list[i + 1];\n if (pairCrossings(v, u) < pairCrossings(u, v)) {\n list[i] = v;\n list[i + 1] = u;\n pos[u] = i + 1;\n pos[v] = i;\n improved = true;\n }\n }\n }\n }\n best = totalCrossings();\n }\n\n // ---------------------------------------------------- 5. coordinates\n const size = (v: number) => (v < n ? breadth[v] : 0);\n const gapOf = (a: number, b: number) =>\n a < n && b < n ? input.nodeGap : input.nodeGap * 0.5;\n const bx = new Float64Array(N);\n for (const list of layers) {\n let cursor = 0;\n list.forEach((v, i) => {\n if (i)\n cursor += (size(list[i - 1]) + size(v)) / 2 + gapOf(list[i - 1], v);\n bx[v] = cursor;\n });\n const shift = cursor / 2;\n for (const v of list) bx[v] -= shift;\n }\n const target = new Float64Array(N);\n const weight = new Float64Array(N);\n const offset = new Float64Array(N);\n // weights of the edges seen from both ends\n const succWeight: number[][] = Array.from({ length: N }, () => []);\n for (let q = 0; q < N; q++) {\n vPred[q].forEach((p, k) => {\n succWeight[p][vSucc[p].indexOf(q)] = vWeight[q][k];\n });\n }\n const align = (list: number[], mode: \"down\" | \"up\" | \"both\") => {\n const count = list.length;\n if (!count) return;\n for (let i = 0; i < count; i++) {\n const v = list[i];\n let sw = 0;\n let sx = 0;\n if (mode !== \"up\") {\n vPred[v].forEach((p, k) => {\n sw += vWeight[v][k];\n sx += vWeight[v][k] * bx[p];\n });\n }\n if (mode !== \"down\") {\n vSucc[v].forEach((q, k) => {\n const w = succWeight[v][k] ?? 1;\n sw += w;\n sx += w * bx[q];\n });\n }\n offset[i] = i\n ? offset[i - 1] +\n (size(list[i - 1]) + size(v)) / 2 +\n gapOf(list[i - 1], v)\n : 0;\n target[i] = (sw ? sx / sw : bx[v]) - offset[i];\n weight[i] = sw || 0.05;\n }\n isotonic(target, weight, count);\n for (let i = 0; i < count; i++) bx[list[i]] = target[i] + offset[i];\n };\n for (let iter = 0; iter < 10; iter++) {\n if (iter % 2 === 0) for (let l = 1; l < L; l++) align(layers[l], \"down\");\n else for (let l = L - 2; l >= 0; l--) align(layers[l], \"up\");\n }\n for (let l = 0; l < L; l++) align(layers[l], \"both\");\n\n // layer depths\n const layerDepth = new Float64Array(L);\n for (let v = 0; v < n; v++)\n layerDepth[layer[v]] = Math.max(layerDepth[layer[v]], depth[v]);\n const layerPos = new Float64Array(L);\n for (let l = 1; l < L; l++) {\n layerPos[l] =\n layerPos[l - 1] +\n layerDepth[l - 1] / 2 +\n input.layerGap +\n layerDepth[l] / 2;\n }\n\n // ---------------------------------------------------- 6. output\n const toOut = (b: number, d: number): [number, number] => {\n switch (direction) {\n case \"BT\":\n return [b, -d];\n case \"LR\":\n return [d, b];\n case \"RL\":\n return [-d, b];\n default:\n return [b, d];\n }\n };\n const x = new Float64Array(n);\n const y = new Float64Array(n);\n for (let v = 0; v < n; v++) {\n const [px, py] = toOut(bx[v], layerPos[layer[v]]);\n x[v] = px;\n y[v] = py;\n }\n const routes: number[][] = [];\n const reversed: number[] = [];\n for (let e = 0; e < E; e++) {\n const id = chainOf[e];\n if (id < 0) {\n routes.push([]);\n continue;\n }\n if (reversedEdge[e]) reversed.push(e);\n const chain = chains[id];\n const pts: number[] = [];\n chain.forEach((v, i) => {\n const d = layerPos[vLayer[v]];\n let dd = d;\n if (i === 0) dd = d + depth[v] / 2;\n else if (i === chain.length - 1) dd = d - depth[v] / 2;\n const [px, py] = toOut(bx[v], dd);\n pts.push(px, py);\n });\n if (reversedEdge[e]) {\n const flipped: number[] = [];\n for (let i = pts.length - 2; i >= 0; i -= 2)\n flipped.push(pts[i], pts[i + 1]);\n routes.push(flipped);\n } else {\n routes.push(pts);\n }\n }\n const order = layers.map((list) =>\n list.map((v) => (v < n ? v : -1 - (v - n))),\n );\n return {\n x,\n y,\n layer,\n order,\n routes,\n reversed,\n crossings: { initial, final: best },\n };\n};\n\n/** Layered (Sugiyama) layout of a directed graph */\nexport const dagLayout = (\n nodes: readonly GraphNode[],\n edges: readonly GraphEdge[],\n options: GraphDagLayoutOptions = {},\n): GraphDagLayoutResult => {\n const { source, target, edge } = indexGraph(nodes, edges);\n const width = new Float64Array(nodes.length);\n const height = new Float64Array(nodes.length);\n nodes.forEach((node, i) => {\n const [w, h] = options.size?.(node, i) ?? [24, 24];\n width[i] = w;\n height[i] = h;\n });\n const result = layeredLayout({\n n: nodes.length,\n source,\n target,\n width,\n height,\n direction: options.direction ?? \"TB\",\n layerGap: options.layerGap ?? 56,\n nodeGap: options.nodeGap ?? 24,\n sweeps: options.sweeps ?? 8,\n });\n // routes / reversed indices of the input edges\n const routes: number[][] = edges.map(() => []);\n edge.forEach((k, i) => (routes[k] = result.routes[i]));\n return {\n ...result,\n routes,\n reversed: result.reversed.map((i) => edge[i]),\n };\n};\n\n/** Index version of `criticalPath` */\nexport const longestPath = (\n n: number,\n source: ArrayLike<number>,\n target: ArrayLike<number>,\n duration: (i: number) => number,\n): { nodes: number[]; edges: number[]; length: number } => {\n const E = source.length;\n const out: number[][] = Array.from({ length: n }, () => []);\n const indeg = new Int32Array(n);\n for (let e = 0; e < E; e++) {\n if (source[e] === target[e]) continue;\n out[source[e]].push(e);\n indeg[target[e]]++;\n }\n const order: number[] = [];\n for (let v = 0; v < n; v++) if (!indeg[v]) order.push(v);\n for (let i = 0; i < order.length; i++) {\n for (const e of out[order[i]])\n if (--indeg[target[e]] === 0) order.push(target[e]);\n }\n const dist = new Float64Array(n);\n const via = new Int32Array(n).fill(-1);\n const inOrder = new Uint8Array(n);\n for (const v of order) {\n inOrder[v] = 1;\n dist[v] += duration(v);\n for (const e of out[v]) {\n const w = target[e];\n if (dist[v] > dist[w]) {\n dist[w] = dist[v];\n via[w] = e;\n }\n }\n }\n let end = -1;\n for (const v of order) if (end < 0 || dist[v] > dist[end]) end = v;\n if (end < 0) return { nodes: [], edges: [], length: 0 };\n const nodes: number[] = [end];\n const edges: number[] = [];\n for (let v = end; via[v] >= 0 && inOrder[source[via[v]]];) {\n edges.push(via[v]);\n v = source[via[v]];\n nodes.push(v);\n }\n return { nodes: nodes.reverse(), edges: edges.reverse(), length: dist[end] };\n};\n\n/**\n * Critical path of a DAG: the chain of tasks with the largest total\n * duration (node `value`, 1 when omitted). Nodes on cycles are ignored.\n */\nexport const criticalPath = (\n nodes: readonly GraphNode[],\n edges: readonly GraphEdge[],\n): GraphCriticalPath => {\n const { source, target, edge } = indexGraph(nodes, edges);\n const result = longestPath(nodes.length, source, target, (i) => {\n const v = nodes[i].value;\n return Number.isFinite(v) && v! >= 0 ? v! : 1;\n });\n return {\n nodes: result.nodes.map((i) => nodes[i].id),\n edges: result.edges.map((i) => edge[i]),\n length: result.length,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,34 @@
1
+ import { GraphDagLayoutOptions, GraphDagLayoutResult, GraphCriticalPath, GraphDirection, GraphEdge, GraphNode } from './types.cjs';
2
+ export interface LayeredInput {
3
+ n: number;
4
+ source: ArrayLike<number>;
5
+ target: ArrayLike<number>;
6
+ /** Width / height of each node */
7
+ width: ArrayLike<number>;
8
+ height: ArrayLike<number>;
9
+ direction: GraphDirection;
10
+ layerGap: number;
11
+ nodeGap: number;
12
+ sweeps: number;
13
+ }
14
+ /**
15
+ * Edge crossings of a layered drawing: `order[l]` lists the nodes of layer
16
+ * `l` from left to right, `edges` are `[a, b]` pairs between consecutive
17
+ * layers (other pairs are ignored)
18
+ */
19
+ export declare const countCrossings: (order: readonly (readonly number[])[], edges: readonly (readonly [number, number])[]) => number;
20
+ /** The layered layout on index data */
21
+ export declare const layeredLayout: (input: LayeredInput) => GraphDagLayoutResult;
22
+ /** Layered (Sugiyama) layout of a directed graph */
23
+ export declare const dagLayout: (nodes: readonly GraphNode[], edges: readonly GraphEdge[], options?: GraphDagLayoutOptions) => GraphDagLayoutResult;
24
+ /** Index version of `criticalPath` */
25
+ export declare const longestPath: (n: number, source: ArrayLike<number>, target: ArrayLike<number>, duration: (i: number) => number) => {
26
+ nodes: number[];
27
+ edges: number[];
28
+ length: number;
29
+ };
30
+ /**
31
+ * Critical path of a DAG: the chain of tasks with the largest total
32
+ * duration (node `value`, 1 when omitted). Nodes on cycles are ignored.
33
+ */
34
+ export declare const criticalPath: (nodes: readonly GraphNode[], edges: readonly GraphEdge[]) => GraphCriticalPath;
@@ -0,0 +1,34 @@
1
+ import { GraphDagLayoutOptions, GraphDagLayoutResult, GraphCriticalPath, GraphDirection, GraphEdge, GraphNode } from './types.js';
2
+ export interface LayeredInput {
3
+ n: number;
4
+ source: ArrayLike<number>;
5
+ target: ArrayLike<number>;
6
+ /** Width / height of each node */
7
+ width: ArrayLike<number>;
8
+ height: ArrayLike<number>;
9
+ direction: GraphDirection;
10
+ layerGap: number;
11
+ nodeGap: number;
12
+ sweeps: number;
13
+ }
14
+ /**
15
+ * Edge crossings of a layered drawing: `order[l]` lists the nodes of layer
16
+ * `l` from left to right, `edges` are `[a, b]` pairs between consecutive
17
+ * layers (other pairs are ignored)
18
+ */
19
+ export declare const countCrossings: (order: readonly (readonly number[])[], edges: readonly (readonly [number, number])[]) => number;
20
+ /** The layered layout on index data */
21
+ export declare const layeredLayout: (input: LayeredInput) => GraphDagLayoutResult;
22
+ /** Layered (Sugiyama) layout of a directed graph */
23
+ export declare const dagLayout: (nodes: readonly GraphNode[], edges: readonly GraphEdge[], options?: GraphDagLayoutOptions) => GraphDagLayoutResult;
24
+ /** Index version of `criticalPath` */
25
+ export declare const longestPath: (n: number, source: ArrayLike<number>, target: ArrayLike<number>, duration: (i: number) => number) => {
26
+ nodes: number[];
27
+ edges: number[];
28
+ length: number;
29
+ };
30
+ /**
31
+ * Critical path of a DAG: the chain of tasks with the largest total
32
+ * duration (node `value`, 1 when omitted). Nodes on cycles are ignored.
33
+ */
34
+ export declare const criticalPath: (nodes: readonly GraphNode[], edges: readonly GraphEdge[]) => GraphCriticalPath;
@@ -0,0 +1,314 @@
1
+ import { indexGraph as e } from "./force.js";
2
+ //#region src/engine/graph/dag.ts
3
+ var t = (e, t) => {
4
+ if (e.length < 2) return 0;
5
+ e.sort((e, t) => e[0] - t[0] || e[1] - t[1]);
6
+ let n = new Int32Array(t + 1), r = 0, i = 0;
7
+ for (let [, a] of e) {
8
+ let e = 0;
9
+ for (let t = a + 1; t > 0; t -= t & -t) e += n[t];
10
+ r += i - e;
11
+ for (let e = a + 1; e <= t; e += e & -e) n[e]++;
12
+ i++;
13
+ }
14
+ return r;
15
+ }, n = (e, n) => {
16
+ let r = /* @__PURE__ */ new Map(), i = /* @__PURE__ */ new Map();
17
+ e.forEach((e, t) => e.forEach((e, n) => {
18
+ r.set(e, t), i.set(e, n);
19
+ }));
20
+ let a = e.map(() => []);
21
+ for (let [e, t] of n) {
22
+ let n = r.get(e), o = r.get(t);
23
+ n !== void 0 && o !== void 0 && (o === n + 1 ? a[n].push([i.get(e), i.get(t)]) : n === o + 1 && a[o].push([i.get(t), i.get(e)]));
24
+ }
25
+ let o = 0;
26
+ return a.forEach((n, r) => {
27
+ r + 1 < e.length && (o += t(n, e[r + 1].length));
28
+ }), o;
29
+ }, r = (e, t, n) => {
30
+ let r = new Float64Array(n), i = new Float64Array(n), a = new Int32Array(n), o = 0;
31
+ for (let s = 0; s < n; s++) for (r[o] = t[s], i[o] = e[s], a[o] = 1, o++; o > 1 && i[o - 2] > i[o - 1];) {
32
+ let e = r[o - 2] + r[o - 1];
33
+ i[o - 2] = (i[o - 2] * r[o - 2] + i[o - 1] * r[o - 1]) / e, r[o - 2] = e, a[o - 2] += a[o - 1], o--;
34
+ }
35
+ let s = 0;
36
+ for (let t = 0; t < o; t++) for (let n = 0; n < a[t]; n++) e[s++] = i[t];
37
+ }, i = (e) => {
38
+ let { n, direction: i } = e, a = i === "LR" || i === "RL", o = a ? e.height : e.width, s = a ? e.width : e.height, c = e.source.length, l = Array.from({ length: n }, () => []), u = new Int32Array(n);
39
+ for (let t = 0; t < c; t++) {
40
+ let r = e.source[t], i = e.target[t];
41
+ r === i || r < 0 || i < 0 || r >= n || i >= n || (l[r].push(t), u[i]++);
42
+ }
43
+ let d = new Uint8Array(c), f = new Uint8Array(n), p = (t) => {
44
+ let n = [[t, 0]];
45
+ for (f[t] = 1; n.length;) {
46
+ let t = n[n.length - 1], [r, i] = t;
47
+ if (i >= l[r].length) {
48
+ f[r] = 2, n.pop();
49
+ continue;
50
+ }
51
+ t[1]++;
52
+ let a = l[r][i], o = e.target[a];
53
+ f[o] === 1 ? d[a] = 1 : f[o] === 0 && (f[o] = 1, n.push([o, 0]));
54
+ }
55
+ };
56
+ for (let e = 0; e < n; e++) !u[e] && !f[e] && p(e);
57
+ for (let e = 0; e < n; e++) f[e] || p(e);
58
+ let m = /* @__PURE__ */ new Map(), h = [], g = [], _ = new Int32Array(c).fill(-1);
59
+ for (let t = 0; t < c; t++) {
60
+ let r = e.source[t], i = e.target[t];
61
+ if (r === i || r < 0 || i < 0 || r >= n || i >= n) continue;
62
+ let a = d[t] ? i : r, o = d[t] ? r : i, s = a * n + o, c = m.get(s);
63
+ c === void 0 && (c = h.length, m.set(s, c), h.push(a), g.push(o)), _[t] = c;
64
+ }
65
+ let v = h.length, y = Array.from({ length: n }, () => []), b = Array.from({ length: n }, () => []);
66
+ for (let e = 0; e < v; e++) y[h[e]].push(g[e]), b[g[e]].push(h[e]);
67
+ let x = [], ee = Int32Array.from(b, (e) => e.length);
68
+ for (let e = 0; e < n; e++) ee[e] || x.push(e);
69
+ for (let e = 0; e < x.length; e++) for (let t of y[x[e]]) --ee[t] === 0 && x.push(t);
70
+ let S = new Int32Array(n);
71
+ for (let e of x) for (let t of b[e]) S[e] = Math.max(S[e], S[t] + 1);
72
+ let C = 0;
73
+ for (let e = 0; e < n; e++) C = Math.max(C, S[e]);
74
+ let w = new Int32Array(C + 1);
75
+ for (let e = 0; e < n; e++) w[S[e]]++;
76
+ for (let e = x.length - 1; e >= 0; e--) {
77
+ let t = x[e], n = 0;
78
+ for (let e of b[t]) n = Math.max(n, S[e] + 1);
79
+ let r = C;
80
+ for (let e of y[t]) r = Math.min(r, S[e] - 1);
81
+ if (y[t].length || (r = S[t]), r <= n) continue;
82
+ let i = b[t].length, a = y[t].length, o = S[t];
83
+ if (a > i) o = r;
84
+ else if (i > a) o = n;
85
+ else for (let e = n; e <= r; e++) w[e] < w[o] - 1 && (o = e);
86
+ o !== S[t] && (w[S[t]]--, w[o]++, S[t] = o);
87
+ }
88
+ let T = Array.from(S), E = Array.from({ length: n }, () => []), D = Array.from({ length: n }, () => []), O = Array.from({ length: n }, () => []), te = [], ne = (e, t, n) => {
89
+ D[e].push(t), E[t].push(e), O[t].push(n);
90
+ };
91
+ for (let e = 0; e < v; e++) {
92
+ let t = h[e], r = g[e], i = [t], a = t;
93
+ for (let e = S[t] + 1; e < S[r]; e++) {
94
+ let t = T.length;
95
+ T.push(e), E.push([]), D.push([]), O.push([]), ne(a, t, a >= n ? 8 : 2), i.push(t), a = t;
96
+ }
97
+ ne(a, r, a >= n ? 2 : 1), i.push(r), te.push(i);
98
+ }
99
+ let k = T.length, A = C + 1, j = Array.from({ length: A }, () => []), M = new Uint8Array(k), N = (e) => {
100
+ M[e] || (M[e] = 1, j[T[e]].push(e));
101
+ }, P = [], F = new Uint8Array(k), re = x.filter((e) => !E[e].length);
102
+ for (let e of re.length ? re : [0]) {
103
+ if (e >= k || F[e]) continue;
104
+ let t = [e];
105
+ for (; t.length;) {
106
+ let e = t.pop();
107
+ if (!F[e]) {
108
+ F[e] = 1, P.push(e);
109
+ for (let n = D[e].length - 1; n >= 0; n--) t.push(D[e][n]);
110
+ }
111
+ }
112
+ }
113
+ for (let e of P) N(e);
114
+ for (let e = 0; e < k; e++) N(e);
115
+ let I = new Float64Array(k), L = (e) => e.forEach((e, t) => I[e] = t);
116
+ j.forEach(L);
117
+ let R = () => {
118
+ let e = 0;
119
+ for (let n = 0; n + 1 < A; n++) {
120
+ let r = [];
121
+ for (let e of j[n]) for (let t of D[e]) r.push([I[e], I[t]]);
122
+ e += t(r, j[n + 1].length);
123
+ }
124
+ return e;
125
+ }, ie = R(), z = ie, B = j.map((e) => e.slice()), V = new Float64Array(k), H = (e, t, n) => {
126
+ let r = j[e];
127
+ for (let e of r) {
128
+ let r = n ? D[e] : E[e];
129
+ if (!r.length) {
130
+ V[e] = -1;
131
+ continue;
132
+ }
133
+ if (t) {
134
+ let t = r.map((e) => I[e]).sort((e, t) => e - t), n = t.length >> 1;
135
+ V[e] = t.length % 2 ? t[n] : (t[n - 1] + t[n]) / 2;
136
+ } else {
137
+ let t = 0;
138
+ for (let e of r) t += I[e];
139
+ V[e] = t / r.length;
140
+ }
141
+ }
142
+ let i = r.map((e) => V[e] < 0), a = r.filter((e) => V[e] >= 0).sort((e, t) => V[e] - V[t] || I[e] - I[t]), o = 0;
143
+ for (let e = 0; e < r.length; e++) i[e] || (r[e] = a[o++]);
144
+ L(r);
145
+ }, ae = Math.max(0, Math.floor(e.sweeps));
146
+ for (let e = 0; e < ae && z > 0; e++) {
147
+ let t = e % 4 >= 2;
148
+ if (e % 2 == 0) for (let e = 1; e < A; e++) H(e, t, !1);
149
+ else for (let e = A - 2; e >= 0; e--) H(e, t, !0);
150
+ let n = R();
151
+ n < z && (z = n, B = j.map((e) => e.slice()));
152
+ }
153
+ if (B.forEach((e, t) => {
154
+ j[t] = e, L(e);
155
+ }), k <= 3e3 && z > 0) {
156
+ let e = (e, t) => {
157
+ let n = 0;
158
+ for (let r of [E, D]) for (let i of r[e]) for (let e of r[t]) I[i] > I[e] && n++;
159
+ return n;
160
+ };
161
+ for (let t = 0, n = !0; n && t < 8; t++) {
162
+ n = !1;
163
+ for (let t of j) for (let r = 0; r + 1 < t.length; r++) {
164
+ let i = t[r], a = t[r + 1];
165
+ e(a, i) < e(i, a) && (t[r] = a, t[r + 1] = i, I[i] = r + 1, I[a] = r, n = !0);
166
+ }
167
+ }
168
+ z = R();
169
+ }
170
+ let U = (e) => e < n ? o[e] : 0, W = (t, r) => t < n && r < n ? e.nodeGap : e.nodeGap * .5, G = new Float64Array(k);
171
+ for (let e of j) {
172
+ let t = 0;
173
+ e.forEach((n, r) => {
174
+ r && (t += (U(e[r - 1]) + U(n)) / 2 + W(e[r - 1], n)), G[n] = t;
175
+ });
176
+ let n = t / 2;
177
+ for (let t of e) G[t] -= n;
178
+ }
179
+ let K = new Float64Array(k), q = new Float64Array(k), J = new Float64Array(k), oe = Array.from({ length: k }, () => []);
180
+ for (let e = 0; e < k; e++) E[e].forEach((t, n) => {
181
+ oe[t][D[t].indexOf(e)] = O[e][n];
182
+ });
183
+ let Y = (e, t) => {
184
+ let n = e.length;
185
+ if (n) {
186
+ for (let r = 0; r < n; r++) {
187
+ let n = e[r], i = 0, a = 0;
188
+ t !== "up" && E[n].forEach((e, t) => {
189
+ i += O[n][t], a += O[n][t] * G[e];
190
+ }), t !== "down" && D[n].forEach((e, t) => {
191
+ let r = oe[n][t] ?? 1;
192
+ i += r, a += r * G[e];
193
+ }), J[r] = r ? J[r - 1] + (U(e[r - 1]) + U(n)) / 2 + W(e[r - 1], n) : 0, K[r] = (i ? a / i : G[n]) - J[r], q[r] = i || .05;
194
+ }
195
+ r(K, q, n);
196
+ for (let t = 0; t < n; t++) G[e[t]] = K[t] + J[t];
197
+ }
198
+ };
199
+ for (let e = 0; e < 10; e++) if (e % 2 == 0) for (let e = 1; e < A; e++) Y(j[e], "down");
200
+ else for (let e = A - 2; e >= 0; e--) Y(j[e], "up");
201
+ for (let e = 0; e < A; e++) Y(j[e], "both");
202
+ let X = new Float64Array(A);
203
+ for (let e = 0; e < n; e++) X[S[e]] = Math.max(X[S[e]], s[e]);
204
+ let Z = new Float64Array(A);
205
+ for (let t = 1; t < A; t++) Z[t] = Z[t - 1] + X[t - 1] / 2 + e.layerGap + X[t] / 2;
206
+ let se = (e, t) => {
207
+ switch (i) {
208
+ case "BT": return [e, -t];
209
+ case "LR": return [t, e];
210
+ case "RL": return [-t, e];
211
+ default: return [e, t];
212
+ }
213
+ }, ce = new Float64Array(n), le = new Float64Array(n);
214
+ for (let e = 0; e < n; e++) {
215
+ let [t, n] = se(G[e], Z[S[e]]);
216
+ ce[e] = t, le[e] = n;
217
+ }
218
+ let Q = [], $ = [];
219
+ for (let e = 0; e < c; e++) {
220
+ let t = _[e];
221
+ if (t < 0) {
222
+ Q.push([]);
223
+ continue;
224
+ }
225
+ d[e] && $.push(e);
226
+ let n = te[t], r = [];
227
+ if (n.forEach((e, t) => {
228
+ let i = Z[T[e]], a = i;
229
+ t === 0 ? a = i + s[e] / 2 : t === n.length - 1 && (a = i - s[e] / 2);
230
+ let [o, c] = se(G[e], a);
231
+ r.push(o, c);
232
+ }), d[e]) {
233
+ let e = [];
234
+ for (let t = r.length - 2; t >= 0; t -= 2) e.push(r[t], r[t + 1]);
235
+ Q.push(e);
236
+ } else Q.push(r);
237
+ }
238
+ return {
239
+ x: ce,
240
+ y: le,
241
+ layer: S,
242
+ order: j.map((e) => e.map((e) => e < n ? e : -1 - (e - n))),
243
+ routes: Q,
244
+ reversed: $,
245
+ crossings: {
246
+ initial: ie,
247
+ final: z
248
+ }
249
+ };
250
+ }, a = (t, n, r = {}) => {
251
+ let { source: a, target: o, edge: s } = e(t, n), c = new Float64Array(t.length), l = new Float64Array(t.length);
252
+ t.forEach((e, t) => {
253
+ let [n, i] = r.size?.(e, t) ?? [24, 24];
254
+ c[t] = n, l[t] = i;
255
+ });
256
+ let u = i({
257
+ n: t.length,
258
+ source: a,
259
+ target: o,
260
+ width: c,
261
+ height: l,
262
+ direction: r.direction ?? "TB",
263
+ layerGap: r.layerGap ?? 56,
264
+ nodeGap: r.nodeGap ?? 24,
265
+ sweeps: r.sweeps ?? 8
266
+ }), d = n.map(() => []);
267
+ return s.forEach((e, t) => d[e] = u.routes[t]), {
268
+ ...u,
269
+ routes: d,
270
+ reversed: u.reversed.map((e) => s[e])
271
+ };
272
+ }, o = (e, t, n, r) => {
273
+ let i = t.length, a = Array.from({ length: e }, () => []), o = new Int32Array(e);
274
+ for (let e = 0; e < i; e++) t[e] !== n[e] && (a[t[e]].push(e), o[n[e]]++);
275
+ let s = [];
276
+ for (let t = 0; t < e; t++) o[t] || s.push(t);
277
+ for (let e = 0; e < s.length; e++) for (let t of a[s[e]]) --o[n[t]] === 0 && s.push(n[t]);
278
+ let c = new Float64Array(e), l = new Int32Array(e).fill(-1), u = new Uint8Array(e);
279
+ for (let e of s) {
280
+ u[e] = 1, c[e] += r(e);
281
+ for (let t of a[e]) {
282
+ let r = n[t];
283
+ c[e] > c[r] && (c[r] = c[e], l[r] = t);
284
+ }
285
+ }
286
+ let d = -1;
287
+ for (let e of s) (d < 0 || c[e] > c[d]) && (d = e);
288
+ if (d < 0) return {
289
+ nodes: [],
290
+ edges: [],
291
+ length: 0
292
+ };
293
+ let f = [d], p = [];
294
+ for (let e = d; l[e] >= 0 && u[t[l[e]]];) p.push(l[e]), e = t[l[e]], f.push(e);
295
+ return {
296
+ nodes: f.reverse(),
297
+ edges: p.reverse(),
298
+ length: c[d]
299
+ };
300
+ }, s = (t, n) => {
301
+ let { source: r, target: i, edge: a } = e(t, n), s = o(t.length, r, i, (e) => {
302
+ let n = t[e].value;
303
+ return Number.isFinite(n) && n >= 0 ? n : 1;
304
+ });
305
+ return {
306
+ nodes: s.nodes.map((e) => t[e].id),
307
+ edges: s.edges.map((e) => a[e]),
308
+ length: s.length
309
+ };
310
+ };
311
+ //#endregion
312
+ export { n as countCrossings, s as criticalPath, a as dagLayout, i as layeredLayout, o as longestPath };
313
+
314
+ //# sourceMappingURL=dag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dag.js","names":["bilayerCrossings","edges","a","b","tree","lowerSize","crossings","seen","q","le","i","countCrossings","layerOf","pos","layer","v","l","between","order","la","lb","total","list","isotonic","blockW","count","blockV","blockN","top","weight","target","w","k","layeredLayout","input","horizontal","direction","breadth","depth","E","out","indeg","e","s","t","reversedEdge","color","visit","stack","start","pairKey","accA","accB","chainOf","key","id","A","succ","pred","topo","remaining","p","u","maxLayer","layerCount","lo","hi","ins","outs","best","vLayer","vPred","vSucc","vWeight","chains","link","chain","prev","d","N","L","layers","placed","place","firstOrder","roots","r","updatePos","totalCrossings","pairs","initial","bestLayers","reorder","nb","up","useMedian","mid","fixedSlots","movable","sweeps","median","c","pairCrossings","pass","improved","size","gapOf","bx","cursor","shift","offset","succWeight","align","sw","sx","mode","iter","layerDepth","layerPos","toOut","x","y","px","py","routes","reversed","pts","dd","flipped","dagLayout","indexGraph","nodes","width","height","h","options","node","result","edge","longestPath","source","n","dist","via","inOrder","duration","end","criticalPath"],"sources":["../../../../../charts/src/engine/graph/dag.ts"],"sourcesContent":["// Layered (Sugiyama) layout of directed graphs: cycle breaking (DFS),\n// longest-path layering with a balancing pass, dummy nodes on long edges,\n// barycenter / median crossing reduction with transposition, and\n// coordinate assignment by weighted isotonic regression (long edges stay\n// straight). Index-based core + id-based public wrappers, no DOM.\n\nimport { indexGraph } from \"./force\";\nimport type {\n GraphDagLayoutOptions,\n GraphDagLayoutResult,\n GraphCriticalPath,\n GraphDirection,\n GraphEdge,\n GraphNode,\n} from \"./types\";\n\nexport interface LayeredInput {\n n: number;\n source: ArrayLike<number>;\n target: ArrayLike<number>;\n /** Width / height of each node */\n width: ArrayLike<number>;\n height: ArrayLike<number>;\n direction: GraphDirection;\n layerGap: number;\n nodeGap: number;\n sweeps: number;\n}\n\n/** Crossings between two consecutive layers (Fenwick tree, O(E log V)) */\nconst bilayerCrossings = (\n edges: [number, number][],\n lowerSize: number,\n): number => {\n if (edges.length < 2) return 0;\n edges.sort((a, b) => a[0] - b[0] || a[1] - b[1]);\n const tree = new Int32Array(lowerSize + 1);\n let crossings = 0;\n let seen = 0;\n for (const [, q] of edges) {\n // edges already inserted that end to the right of q\n let le = 0;\n for (let i = q + 1; i > 0; i -= i & -i) le += tree[i];\n crossings += seen - le;\n for (let i = q + 1; i <= lowerSize; i += i & -i) tree[i]++;\n seen++;\n }\n return crossings;\n};\n\n/**\n * Edge crossings of a layered drawing: `order[l]` lists the nodes of layer\n * `l` from left to right, `edges` are `[a, b]` pairs between consecutive\n * layers (other pairs are ignored)\n */\nexport const countCrossings = (\n order: readonly (readonly number[])[],\n edges: readonly (readonly [number, number])[],\n): number => {\n const layerOf = new Map<number, number>();\n const pos = new Map<number, number>();\n order.forEach((layer, l) =>\n layer.forEach((v, i) => {\n layerOf.set(v, l);\n pos.set(v, i);\n }),\n );\n const between: [number, number][][] = order.map(() => []);\n for (const [a, b] of edges) {\n const la = layerOf.get(a);\n const lb = layerOf.get(b);\n if (la === undefined || lb === undefined) continue;\n if (lb === la + 1) between[la].push([pos.get(a)!, pos.get(b)!]);\n else if (la === lb + 1) between[lb].push([pos.get(b)!, pos.get(a)!]);\n }\n let total = 0;\n between.forEach((list, l) => {\n if (l + 1 < order.length)\n total += bilayerCrossings(list, order[l + 1].length);\n });\n return total;\n};\n\n/** Weighted isotonic regression (pool adjacent violators), in place */\nconst isotonic = (\n target: Float64Array,\n weight: Float64Array,\n count: number,\n): void => {\n const blockW = new Float64Array(count);\n const blockV = new Float64Array(count);\n const blockN = new Int32Array(count);\n let top = 0;\n for (let i = 0; i < count; i++) {\n blockW[top] = weight[i];\n blockV[top] = target[i];\n blockN[top] = 1;\n top++;\n while (top > 1 && blockV[top - 2] > blockV[top - 1]) {\n const w = blockW[top - 2] + blockW[top - 1];\n blockV[top - 2] =\n (blockV[top - 2] * blockW[top - 2] +\n blockV[top - 1] * blockW[top - 1]) /\n w;\n blockW[top - 2] = w;\n blockN[top - 2] += blockN[top - 1];\n top--;\n }\n }\n let i = 0;\n for (let b = 0; b < top; b++) {\n for (let k = 0; k < blockN[b]; k++) target[i++] = blockV[b];\n }\n};\n\n/** The layered layout on index data */\nexport const layeredLayout = (input: LayeredInput): GraphDagLayoutResult => {\n const { n, direction } = input;\n const horizontal = direction === \"LR\" || direction === \"RL\";\n const breadth = horizontal ? input.height : input.width;\n const depth = horizontal ? input.width : input.height;\n const E = input.source.length;\n\n // ---------------------------------------------------- 1. cycles\n const out: number[][] = Array.from({ length: n }, () => []);\n const indeg = new Int32Array(n);\n for (let e = 0; e < E; 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(e);\n indeg[t]++;\n }\n const reversedEdge = new Uint8Array(E);\n const color = new Uint8Array(n);\n const visit = (start: number) => {\n const stack: [number, number][] = [[start, 0]];\n color[start] = 1;\n while (stack.length) {\n const top = stack[stack.length - 1];\n const [v, k] = top;\n if (k >= out[v].length) {\n color[v] = 2;\n stack.pop();\n continue;\n }\n top[1]++;\n const e = out[v][k];\n const w = input.target[e];\n if (color[w] === 1) reversedEdge[e] = 1;\n else if (color[w] === 0) {\n color[w] = 1;\n stack.push([w, 0]);\n }\n }\n };\n for (let v = 0; v < n; v++) if (!indeg[v] && !color[v]) visit(v);\n for (let v = 0; v < n; v++) if (!color[v]) visit(v);\n\n // acyclic, deduplicated edges\n const pairKey = new Map<number, number>();\n const accA: number[] = [];\n const accB: number[] = [];\n const chainOf = new Int32Array(E).fill(-1);\n for (let e = 0; e < E; 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 const a = reversedEdge[e] ? t : s;\n const b = reversedEdge[e] ? s : t;\n const key = a * n + b;\n let id = pairKey.get(key);\n if (id === undefined) {\n id = accA.length;\n pairKey.set(key, id);\n accA.push(a);\n accB.push(b);\n }\n chainOf[e] = id;\n }\n const A = accA.length;\n\n // ---------------------------------------------------- 2. layers\n const succ: number[][] = Array.from({ length: n }, () => []);\n const pred: number[][] = Array.from({ length: n }, () => []);\n for (let k = 0; k < A; k++) {\n succ[accA[k]].push(accB[k]);\n pred[accB[k]].push(accA[k]);\n }\n const topo: number[] = [];\n const remaining = Int32Array.from(pred, (p) => p.length);\n for (let v = 0; v < n; v++) if (!remaining[v]) topo.push(v);\n for (let i = 0; i < topo.length; i++) {\n for (const w of succ[topo[i]]) if (--remaining[w] === 0) topo.push(w);\n }\n const layer = new Int32Array(n);\n for (const v of topo) {\n for (const u of pred[v]) layer[v] = Math.max(layer[v], layer[u] + 1);\n }\n let maxLayer = 0;\n for (let v = 0; v < n; v++) maxLayer = Math.max(maxLayer, layer[v]);\n const layerCount = new Int32Array(maxLayer + 1);\n for (let v = 0; v < n; v++) layerCount[layer[v]]++;\n // balancing: move nodes within their feasible range (shorter edges, then emptier layers)\n for (let i = topo.length - 1; i >= 0; i--) {\n const v = topo[i];\n let lo = 0;\n for (const u of pred[v]) lo = Math.max(lo, layer[u] + 1);\n let hi = maxLayer;\n for (const w of succ[v]) hi = Math.min(hi, layer[w] - 1);\n if (!succ[v].length) hi = layer[v];\n if (hi <= lo) continue;\n const ins = pred[v].length;\n const outs = succ[v].length;\n let best = layer[v];\n if (outs > ins) best = hi;\n else if (ins > outs) best = lo;\n else {\n for (let l = lo; l <= hi; l++) {\n if (layerCount[l] < layerCount[best] - 1) best = l;\n }\n }\n if (best !== layer[v]) {\n layerCount[layer[v]]--;\n layerCount[best]++;\n layer[v] = best;\n }\n }\n\n // ---------------------------------------------------- 3. dummies\n // virtual nodes: 0..n-1 real, n.. dummies\n const vLayer: number[] = Array.from(layer);\n const vPred: number[][] = Array.from({ length: n }, () => []);\n const vSucc: number[][] = Array.from({ length: n }, () => []);\n const vWeight: number[][] = Array.from({ length: n }, () => []);\n const chains: number[][] = [];\n const link = (p: number, q: number, w: number) => {\n vSucc[p].push(q);\n vPred[q].push(p);\n vWeight[q].push(w);\n };\n for (let k = 0; k < A; k++) {\n const a = accA[k];\n const b = accB[k];\n const chain: number[] = [a];\n let prev = a;\n for (let l = layer[a] + 1; l < layer[b]; l++) {\n const d = vLayer.length;\n vLayer.push(l);\n vPred.push([]);\n vSucc.push([]);\n vWeight.push([]);\n link(prev, d, prev >= n ? 8 : 2);\n chain.push(d);\n prev = d;\n }\n link(prev, b, prev >= n ? 2 : 1);\n chain.push(b);\n chains.push(chain);\n }\n const N = vLayer.length;\n const L = maxLayer + 1;\n\n // ---------------------------------------------------- 4. ordering\n const layers: number[][] = Array.from({ length: L }, () => []);\n const placed = new Uint8Array(N);\n const place = (v: number) => {\n if (placed[v]) return;\n placed[v] = 1;\n layers[vLayer[v]].push(v);\n };\n // depth-first from the sources keeps related nodes together\n const firstOrder: number[] = [];\n const seen = new Uint8Array(N);\n const roots = topo.filter((v) => !vPred[v].length);\n for (const r of roots.length ? roots : [0]) {\n if (r >= N || seen[r]) continue;\n const stack = [r];\n while (stack.length) {\n const v = stack.pop()!;\n if (seen[v]) continue;\n seen[v] = 1;\n firstOrder.push(v);\n for (let k = vSucc[v].length - 1; k >= 0; k--) stack.push(vSucc[v][k]);\n }\n }\n for (const v of firstOrder) place(v);\n for (let v = 0; v < N; v++) place(v);\n\n const pos = new Float64Array(N);\n const updatePos = (list: number[]) => list.forEach((v, i) => (pos[v] = i));\n layers.forEach(updatePos);\n\n const totalCrossings = () => {\n let total = 0;\n for (let l = 0; l + 1 < L; l++) {\n const pairs: [number, number][] = [];\n for (const v of layers[l])\n for (const w of vSucc[v]) pairs.push([pos[v], pos[w]]);\n total += bilayerCrossings(pairs, layers[l + 1].length);\n }\n return total;\n };\n\n const initial = totalCrossings();\n let best = initial;\n let bestLayers = layers.map((l) => l.slice());\n const key = new Float64Array(N);\n const reorder = (l: number, useMedian: boolean, up: boolean) => {\n const list = layers[l];\n for (const v of list) {\n const nb = up ? vSucc[v] : vPred[v];\n if (!nb.length) {\n key[v] = -1;\n continue;\n }\n if (useMedian) {\n const p = nb.map((w) => pos[w]).sort((a, b) => a - b);\n const mid = p.length >> 1;\n key[v] = p.length % 2 ? p[mid] : (p[mid - 1] + p[mid]) / 2;\n } else {\n let s = 0;\n for (const w of nb) s += pos[w];\n key[v] = s / nb.length;\n }\n }\n // nodes without neighbors keep their slot\n const fixedSlots = list.map((v) => key[v] < 0);\n const movable = list\n .filter((v) => key[v] >= 0)\n .sort((a, b) => key[a] - key[b] || pos[a] - pos[b]);\n let k = 0;\n for (let i = 0; i < list.length; i++) {\n if (!fixedSlots[i]) list[i] = movable[k++];\n }\n updatePos(list);\n };\n\n const sweeps = Math.max(0, Math.floor(input.sweeps));\n for (let s = 0; s < sweeps && best > 0; s++) {\n const median = s % 4 >= 2;\n if (s % 2 === 0) for (let l = 1; l < L; l++) reorder(l, median, false);\n else for (let l = L - 2; l >= 0; l--) reorder(l, median, true);\n const c = totalCrossings();\n if (c < best) {\n best = c;\n bestLayers = layers.map((l) => l.slice());\n }\n }\n bestLayers.forEach((list, l) => {\n layers[l] = list;\n updatePos(list);\n });\n\n // transposition of neighbors while it helps (small graphs)\n if (N <= 3000 && best > 0) {\n const pairCrossings = (u: number, v: number) => {\n let c = 0;\n for (const nb of [vPred, vSucc]) {\n for (const a of nb[u]) for (const b of nb[v]) if (pos[a] > pos[b]) c++;\n }\n return c;\n };\n for (let pass = 0, improved = true; improved && pass < 8; pass++) {\n improved = false;\n for (const list of layers) {\n for (let i = 0; i + 1 < list.length; i++) {\n const u = list[i];\n const v = list[i + 1];\n if (pairCrossings(v, u) < pairCrossings(u, v)) {\n list[i] = v;\n list[i + 1] = u;\n pos[u] = i + 1;\n pos[v] = i;\n improved = true;\n }\n }\n }\n }\n best = totalCrossings();\n }\n\n // ---------------------------------------------------- 5. coordinates\n const size = (v: number) => (v < n ? breadth[v] : 0);\n const gapOf = (a: number, b: number) =>\n a < n && b < n ? input.nodeGap : input.nodeGap * 0.5;\n const bx = new Float64Array(N);\n for (const list of layers) {\n let cursor = 0;\n list.forEach((v, i) => {\n if (i)\n cursor += (size(list[i - 1]) + size(v)) / 2 + gapOf(list[i - 1], v);\n bx[v] = cursor;\n });\n const shift = cursor / 2;\n for (const v of list) bx[v] -= shift;\n }\n const target = new Float64Array(N);\n const weight = new Float64Array(N);\n const offset = new Float64Array(N);\n // weights of the edges seen from both ends\n const succWeight: number[][] = Array.from({ length: N }, () => []);\n for (let q = 0; q < N; q++) {\n vPred[q].forEach((p, k) => {\n succWeight[p][vSucc[p].indexOf(q)] = vWeight[q][k];\n });\n }\n const align = (list: number[], mode: \"down\" | \"up\" | \"both\") => {\n const count = list.length;\n if (!count) return;\n for (let i = 0; i < count; i++) {\n const v = list[i];\n let sw = 0;\n let sx = 0;\n if (mode !== \"up\") {\n vPred[v].forEach((p, k) => {\n sw += vWeight[v][k];\n sx += vWeight[v][k] * bx[p];\n });\n }\n if (mode !== \"down\") {\n vSucc[v].forEach((q, k) => {\n const w = succWeight[v][k] ?? 1;\n sw += w;\n sx += w * bx[q];\n });\n }\n offset[i] = i\n ? offset[i - 1] +\n (size(list[i - 1]) + size(v)) / 2 +\n gapOf(list[i - 1], v)\n : 0;\n target[i] = (sw ? sx / sw : bx[v]) - offset[i];\n weight[i] = sw || 0.05;\n }\n isotonic(target, weight, count);\n for (let i = 0; i < count; i++) bx[list[i]] = target[i] + offset[i];\n };\n for (let iter = 0; iter < 10; iter++) {\n if (iter % 2 === 0) for (let l = 1; l < L; l++) align(layers[l], \"down\");\n else for (let l = L - 2; l >= 0; l--) align(layers[l], \"up\");\n }\n for (let l = 0; l < L; l++) align(layers[l], \"both\");\n\n // layer depths\n const layerDepth = new Float64Array(L);\n for (let v = 0; v < n; v++)\n layerDepth[layer[v]] = Math.max(layerDepth[layer[v]], depth[v]);\n const layerPos = new Float64Array(L);\n for (let l = 1; l < L; l++) {\n layerPos[l] =\n layerPos[l - 1] +\n layerDepth[l - 1] / 2 +\n input.layerGap +\n layerDepth[l] / 2;\n }\n\n // ---------------------------------------------------- 6. output\n const toOut = (b: number, d: number): [number, number] => {\n switch (direction) {\n case \"BT\":\n return [b, -d];\n case \"LR\":\n return [d, b];\n case \"RL\":\n return [-d, b];\n default:\n return [b, d];\n }\n };\n const x = new Float64Array(n);\n const y = new Float64Array(n);\n for (let v = 0; v < n; v++) {\n const [px, py] = toOut(bx[v], layerPos[layer[v]]);\n x[v] = px;\n y[v] = py;\n }\n const routes: number[][] = [];\n const reversed: number[] = [];\n for (let e = 0; e < E; e++) {\n const id = chainOf[e];\n if (id < 0) {\n routes.push([]);\n continue;\n }\n if (reversedEdge[e]) reversed.push(e);\n const chain = chains[id];\n const pts: number[] = [];\n chain.forEach((v, i) => {\n const d = layerPos[vLayer[v]];\n let dd = d;\n if (i === 0) dd = d + depth[v] / 2;\n else if (i === chain.length - 1) dd = d - depth[v] / 2;\n const [px, py] = toOut(bx[v], dd);\n pts.push(px, py);\n });\n if (reversedEdge[e]) {\n const flipped: number[] = [];\n for (let i = pts.length - 2; i >= 0; i -= 2)\n flipped.push(pts[i], pts[i + 1]);\n routes.push(flipped);\n } else {\n routes.push(pts);\n }\n }\n const order = layers.map((list) =>\n list.map((v) => (v < n ? v : -1 - (v - n))),\n );\n return {\n x,\n y,\n layer,\n order,\n routes,\n reversed,\n crossings: { initial, final: best },\n };\n};\n\n/** Layered (Sugiyama) layout of a directed graph */\nexport const dagLayout = (\n nodes: readonly GraphNode[],\n edges: readonly GraphEdge[],\n options: GraphDagLayoutOptions = {},\n): GraphDagLayoutResult => {\n const { source, target, edge } = indexGraph(nodes, edges);\n const width = new Float64Array(nodes.length);\n const height = new Float64Array(nodes.length);\n nodes.forEach((node, i) => {\n const [w, h] = options.size?.(node, i) ?? [24, 24];\n width[i] = w;\n height[i] = h;\n });\n const result = layeredLayout({\n n: nodes.length,\n source,\n target,\n width,\n height,\n direction: options.direction ?? \"TB\",\n layerGap: options.layerGap ?? 56,\n nodeGap: options.nodeGap ?? 24,\n sweeps: options.sweeps ?? 8,\n });\n // routes / reversed indices of the input edges\n const routes: number[][] = edges.map(() => []);\n edge.forEach((k, i) => (routes[k] = result.routes[i]));\n return {\n ...result,\n routes,\n reversed: result.reversed.map((i) => edge[i]),\n };\n};\n\n/** Index version of `criticalPath` */\nexport const longestPath = (\n n: number,\n source: ArrayLike<number>,\n target: ArrayLike<number>,\n duration: (i: number) => number,\n): { nodes: number[]; edges: number[]; length: number } => {\n const E = source.length;\n const out: number[][] = Array.from({ length: n }, () => []);\n const indeg = new Int32Array(n);\n for (let e = 0; e < E; e++) {\n if (source[e] === target[e]) continue;\n out[source[e]].push(e);\n indeg[target[e]]++;\n }\n const order: number[] = [];\n for (let v = 0; v < n; v++) if (!indeg[v]) order.push(v);\n for (let i = 0; i < order.length; i++) {\n for (const e of out[order[i]])\n if (--indeg[target[e]] === 0) order.push(target[e]);\n }\n const dist = new Float64Array(n);\n const via = new Int32Array(n).fill(-1);\n const inOrder = new Uint8Array(n);\n for (const v of order) {\n inOrder[v] = 1;\n dist[v] += duration(v);\n for (const e of out[v]) {\n const w = target[e];\n if (dist[v] > dist[w]) {\n dist[w] = dist[v];\n via[w] = e;\n }\n }\n }\n let end = -1;\n for (const v of order) if (end < 0 || dist[v] > dist[end]) end = v;\n if (end < 0) return { nodes: [], edges: [], length: 0 };\n const nodes: number[] = [end];\n const edges: number[] = [];\n for (let v = end; via[v] >= 0 && inOrder[source[via[v]]];) {\n edges.push(via[v]);\n v = source[via[v]];\n nodes.push(v);\n }\n return { nodes: nodes.reverse(), edges: edges.reverse(), length: dist[end] };\n};\n\n/**\n * Critical path of a DAG: the chain of tasks with the largest total\n * duration (node `value`, 1 when omitted). Nodes on cycles are ignored.\n */\nexport const criticalPath = (\n nodes: readonly GraphNode[],\n edges: readonly GraphEdge[],\n): GraphCriticalPath => {\n const { source, target, edge } = indexGraph(nodes, edges);\n const result = longestPath(nodes.length, source, target, (i) => {\n const v = nodes[i].value;\n return Number.isFinite(v) && v! >= 0 ? v! : 1;\n });\n return {\n nodes: result.nodes.map((i) => nodes[i].id),\n edges: result.edges.map((i) => edge[i]),\n length: result.length,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ var e=(e,t)=>(Object.assign(e.style,t),e),t={position:`absolute`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`},n=0,r=t=>{let n=e(t.createElement(`canvas`),{position:`absolute`,left:`0`,top:`0`,pointerEvents:`none`});return n.setAttribute(`aria-hidden`,`true`),n},i={zoomIn:`<path d="M8 3.5v9M3.5 8h9"/>`,zoomOut:`<path d="M3.5 8h9"/>`,fit:`<path d="M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10"/>`},a=(t,n)=>{let r=e(t.createElement(`button`),{display:`inline-flex`,alignItems:`center`,justifyContent:`center`,width:`28px`,height:`28px`,padding:`0`,margin:`0`,border:`0`,borderRadius:`6px`,background:`transparent`,color:`var(--text-secondary-color, #6b7280)`,cursor:`pointer`});return r.type=`button`,r.innerHTML=`<svg width="16" height="16" viewBox="0 0 16 16" fill="none" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true">${i[n]}</svg>`,r},o=i=>{let o=i.ownerDocument,s=e(o.createElement(`div`),{position:`relative`,display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`,minHeight:`0`,fontFamily:`var(--font-family-sans, system-ui, sans-serif)`,color:`var(--text-color, #1f2937)`});s.className=`minerva-chart minerva-chart-graph`;let c=e(o.createElement(`div`),{display:`none`,flexWrap:`wrap`,alignItems:`center`,gap:`4px 12px`,padding:`0 4px 8px`,fontSize:`12px`,lineHeight:`18px`});c.className=`minerva-chart-legend`;let l=e(o.createElement(`div`),{position:`relative`,flex:`1 1 auto`,minHeight:`0`,overflow:`hidden`,outline:`none`,touchAction:`none`,userSelect:`none`,borderRadius:`6px`,cursor:`grab`});l.className=`minerva-chart-stage`,l.setAttribute(`role`,`figure`);let u=r(o);u.className=`minerva-chart-labels`;let d=e(o.createElement(`div`),{position:`absolute`,right:`8px`,bottom:`8px`,zIndex:`1`,display:`flex`,flexDirection:`column`,gap:`2px`,padding:`2px`,borderRadius:`8px`,border:`1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 80%, transparent)`,background:`color-mix(in srgb, var(--surface-elevated-color, var(--background-color, #fff)) 92%, transparent)`,boxShadow:`0 2px 8px -2px rgba(15, 23, 42, 0.12)`});d.className=`minerva-chart-controls`;let f=a(o,`zoomIn`),p=a(o,`zoomOut`),m=a(o,`fit`);d.append(f,p,m);let h=e(o.createElement(`div`),{position:`absolute`,inset:`0`,zIndex:`2`,display:`flex`,alignItems:`center`,justifyContent:`center`,pointerEvents:`none`,opacity:`0`,transition:`opacity 160ms ease-out`,background:`color-mix(in srgb, var(--text-color, #1f2937) 32%, transparent)`,color:`#fff`,fontSize:`14px`,fontWeight:`500`});h.className=`minerva-chart-hint`,h.setAttribute(`aria-hidden`,`true`);let g=e(o.createElement(`div`),{position:`absolute`,left:`0`,top:`0`,zIndex:`3`,display:`none`,pointerEvents:`none`,minWidth:`120px`,maxWidth:`320px`,padding:`8px 12px`,borderRadius:`10px`,border:`1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 60%, transparent)`,background:`var(--surface-elevated-color, var(--background-color, #fff))`,color:`var(--text-color, #1f2937)`,boxShadow:`0 12px 32px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08)`,fontSize:`12px`,lineHeight:`20px`,whiteSpace:`nowrap`});g.className=`minerva-chart-tooltip`,g.setAttribute(`role`,`tooltip`);let _=e(o.createElement(`div`),t);_.id=`minerva-chart-graph-summary-${++n}`,l.setAttribute(`aria-describedby`,_.id);let v=e(o.createElement(`div`),t);return v.setAttribute(`aria-live`,`polite`),l.append(u,d,h,g,_,v),s.append(c,l),i.appendChild(s),{root:s,legend:c,stage:l,foreground:u,controls:d,zoomIn:f,zoomOut:p,fit:m,hint:h,tooltip:g,summary:_,live:v}},s=(t,n)=>e(t.createElement(`span`),{display:`inline-block`,flex:`none`,width:`9px`,height:`9px`,borderRadius:`50%`,background:n}),c=(e,t,n,r)=>{let i=Math.max(1,Math.round(t*r)),a=Math.max(1,Math.round(n*r));e.width!==i&&(e.width=i),e.height!==a&&(e.height=a),e.style.width=`${t}px`,e.style.height=`${n}px`};exports.createGraphDom=o,exports.layerCanvas=r,exports.sizeCanvas=c,exports.style=e,exports.swatch=s;
2
+ //# sourceMappingURL=dom.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.cjs","names":["style","el","css","VISUALLY_HIDDEN","nextId","layerCanvas","canvas","doc","ICONS","controlButton","button","icon","createGraphDom","container","root","legend","stage","foreground","controls","zoomIn","zoomOut","fit","hint","tooltip","summary","live","swatch","color","sizeCanvas","w","width","dpr","h","height"],"sources":["../../../../../charts/src/engine/graph/dom.ts"],"sourcesContent":["// DOM of a graph chart: legend, focusable stage with the data canvas (added\n// by the renderer) and the label canvas, zoom buttons, wheel hint,\n// tooltip, a visually hidden summary and a live region. Styled inline with\n// the Minerva CSS variables.\n\nexport interface GraphDom {\n root: HTMLDivElement;\n legend: HTMLDivElement;\n stage: HTMLDivElement;\n /** Labels, badges, focus ring (above the data) */\n foreground: HTMLCanvasElement;\n controls: HTMLDivElement;\n zoomIn: HTMLButtonElement;\n zoomOut: HTMLButtonElement;\n fit: HTMLButtonElement;\n hint: HTMLDivElement;\n tooltip: HTMLDivElement;\n summary: HTMLDivElement;\n live: HTMLDivElement;\n}\n\nexport const style = <T extends HTMLElement>(\n el: T,\n css: Partial<CSSStyleDeclaration>,\n): T => {\n Object.assign(el.style, css);\n return el;\n};\n\nconst VISUALLY_HIDDEN: Partial<CSSStyleDeclaration> = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n whiteSpace: \"nowrap\",\n};\n\nlet nextId = 0;\n\n/** Canvas layer covering the stage */\nexport const layerCanvas = (doc: Document): HTMLCanvasElement => {\n const canvas = style(doc.createElement(\"canvas\"), {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n pointerEvents: \"none\",\n });\n canvas.setAttribute(\"aria-hidden\", \"true\");\n return canvas;\n};\n\nconst ICONS = {\n zoomIn: '<path d=\"M8 3.5v9M3.5 8h9\"/>',\n zoomOut: '<path d=\"M3.5 8h9\"/>',\n fit: '<path d=\"M2.5 6V2.5H6M10 2.5h3.5V6M13.5 10v3.5H10M6 13.5H2.5V10\"/>',\n};\n\nconst controlButton = (doc: Document, icon: keyof typeof ICONS) => {\n const button = style(doc.createElement(\"button\"), {\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"28px\",\n height: \"28px\",\n padding: \"0\",\n margin: \"0\",\n border: \"0\",\n borderRadius: \"6px\",\n background: \"transparent\",\n color: \"var(--text-secondary-color, #6b7280)\",\n cursor: \"pointer\",\n });\n button.type = \"button\";\n button.innerHTML = `<svg width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\">${ICONS[icon]}</svg>`;\n return button;\n};\n\nexport const createGraphDom = (container: HTMLElement): GraphDom => {\n const doc = container.ownerDocument;\n const root = style(doc.createElement(\"div\"), {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n height: \"100%\",\n minHeight: \"0\",\n fontFamily: \"var(--font-family-sans, system-ui, sans-serif)\",\n color: \"var(--text-color, #1f2937)\",\n });\n root.className = \"minerva-chart minerva-chart-graph\";\n\n const legend = style(doc.createElement(\"div\"), {\n display: \"none\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n gap: \"4px 12px\",\n padding: \"0 4px 8px\",\n fontSize: \"12px\",\n lineHeight: \"18px\",\n });\n legend.className = \"minerva-chart-legend\";\n\n const stage = style(doc.createElement(\"div\"), {\n position: \"relative\",\n flex: \"1 1 auto\",\n minHeight: \"0\",\n overflow: \"hidden\",\n outline: \"none\",\n touchAction: \"none\",\n userSelect: \"none\",\n borderRadius: \"6px\",\n cursor: \"grab\",\n });\n stage.className = \"minerva-chart-stage\";\n stage.setAttribute(\"role\", \"figure\");\n\n const foreground = layerCanvas(doc);\n foreground.className = \"minerva-chart-labels\";\n\n const controls = style(doc.createElement(\"div\"), {\n position: \"absolute\",\n right: \"8px\",\n bottom: \"8px\",\n zIndex: \"1\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: \"2px\",\n padding: \"2px\",\n borderRadius: \"8px\",\n border:\n \"1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 80%, transparent)\",\n background:\n \"color-mix(in srgb, var(--surface-elevated-color, var(--background-color, #fff)) 92%, transparent)\",\n boxShadow: \"0 2px 8px -2px rgba(15, 23, 42, 0.12)\",\n });\n controls.className = \"minerva-chart-controls\";\n const zoomIn = controlButton(doc, \"zoomIn\");\n const zoomOut = controlButton(doc, \"zoomOut\");\n const fit = controlButton(doc, \"fit\");\n controls.append(zoomIn, zoomOut, fit);\n\n const hint = style(doc.createElement(\"div\"), {\n position: \"absolute\",\n inset: \"0\",\n zIndex: \"2\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n opacity: \"0\",\n transition: \"opacity 160ms ease-out\",\n background:\n \"color-mix(in srgb, var(--text-color, #1f2937) 32%, transparent)\",\n color: \"#fff\",\n fontSize: \"14px\",\n fontWeight: \"500\",\n });\n hint.className = \"minerva-chart-hint\";\n hint.setAttribute(\"aria-hidden\", \"true\");\n\n const tooltip = style(doc.createElement(\"div\"), {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n zIndex: \"3\",\n display: \"none\",\n pointerEvents: \"none\",\n minWidth: \"120px\",\n maxWidth: \"320px\",\n padding: \"8px 12px\",\n borderRadius: \"10px\",\n border:\n \"1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 60%, transparent)\",\n background: \"var(--surface-elevated-color, var(--background-color, #fff))\",\n color: \"var(--text-color, #1f2937)\",\n boxShadow:\n \"0 12px 32px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08)\",\n fontSize: \"12px\",\n lineHeight: \"20px\",\n whiteSpace: \"nowrap\",\n });\n tooltip.className = \"minerva-chart-tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n\n const summary = style(doc.createElement(\"div\"), VISUALLY_HIDDEN);\n summary.id = `minerva-chart-graph-summary-${++nextId}`;\n stage.setAttribute(\"aria-describedby\", summary.id);\n\n const live = style(doc.createElement(\"div\"), VISUALLY_HIDDEN);\n live.setAttribute(\"aria-live\", \"polite\");\n\n stage.append(foreground, controls, hint, tooltip, summary, live);\n root.append(legend, stage);\n container.appendChild(root);\n return {\n root,\n legend,\n stage,\n foreground,\n controls,\n zoomIn,\n zoomOut,\n fit,\n hint,\n tooltip,\n summary,\n live,\n };\n};\n\n/** Color dot of the legend and the tooltip */\nexport const swatch = (doc: Document, color: string) =>\n style(doc.createElement(\"span\"), {\n display: \"inline-block\",\n flex: \"none\",\n width: \"9px\",\n height: \"9px\",\n borderRadius: \"50%\",\n background: color,\n });\n\n/** Sizes a canvas to the stage (CSS pixels × device pixel ratio) */\nexport const sizeCanvas = (\n canvas: HTMLCanvasElement,\n width: number,\n height: number,\n dpr: number,\n): void => {\n const w = Math.max(1, Math.round(width * dpr));\n const h = Math.max(1, Math.round(height * dpr));\n if (canvas.width !== w) canvas.width = w;\n if (canvas.height !== h) canvas.height = h;\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n};\n"],"mappings":"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"}