minerva-design 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1166) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +7 -2
  8. package/dist/charts/canvas.d.ts +7 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +7 -4
  11. package/dist/charts/core.d.ts +7 -4
  12. package/dist/charts/core.js +19 -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 +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +118 -68
  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 +307 -285
  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.js +2 -2
  32. package/dist/charts/engine/color.js.map +1 -1
  33. package/dist/charts/engine/controller.cjs +1 -1
  34. package/dist/charts/engine/controller.cjs.map +1 -1
  35. package/dist/charts/engine/controller.d.cts +12 -3
  36. package/dist/charts/engine/controller.d.ts +12 -3
  37. package/dist/charts/engine/controller.js +359 -299
  38. package/dist/charts/engine/controller.js.map +1 -1
  39. package/dist/charts/engine/data.cjs +1 -1
  40. package/dist/charts/engine/data.cjs.map +1 -1
  41. package/dist/charts/engine/data.d.cts +6 -0
  42. package/dist/charts/engine/data.d.ts +6 -0
  43. package/dist/charts/engine/data.js +63 -49
  44. package/dist/charts/engine/data.js.map +1 -1
  45. package/dist/charts/engine/format.cjs +1 -1
  46. package/dist/charts/engine/format.cjs.map +1 -1
  47. package/dist/charts/engine/format.d.cts +21 -6
  48. package/dist/charts/engine/format.d.ts +21 -6
  49. package/dist/charts/engine/format.js +46 -21
  50. package/dist/charts/engine/format.js.map +1 -1
  51. package/dist/charts/engine/items.cjs +1 -1
  52. package/dist/charts/engine/items.cjs.map +1 -1
  53. package/dist/charts/engine/items.js +211 -54
  54. package/dist/charts/engine/items.js.map +1 -1
  55. package/dist/charts/engine/labels.cjs +2 -0
  56. package/dist/charts/engine/labels.cjs.map +1 -0
  57. package/dist/charts/engine/labels.d.cts +13 -0
  58. package/dist/charts/engine/labels.d.ts +13 -0
  59. package/dist/charts/engine/labels.js +74 -0
  60. package/dist/charts/engine/labels.js.map +1 -0
  61. package/dist/charts/engine/layout.cjs +1 -1
  62. package/dist/charts/engine/layout.cjs.map +1 -1
  63. package/dist/charts/engine/layout.d.cts +34 -2
  64. package/dist/charts/engine/layout.d.ts +34 -2
  65. package/dist/charts/engine/layout.js +53 -12
  66. package/dist/charts/engine/layout.js.map +1 -1
  67. package/dist/charts/engine/locale.cjs +2 -0
  68. package/dist/charts/engine/locale.cjs.map +1 -0
  69. package/dist/charts/engine/locale.d.cts +33 -0
  70. package/dist/charts/engine/locale.d.ts +33 -0
  71. package/dist/charts/engine/locale.js +68 -0
  72. package/dist/charts/engine/locale.js.map +1 -0
  73. package/dist/charts/engine/model.cjs +1 -1
  74. package/dist/charts/engine/model.cjs.map +1 -1
  75. package/dist/charts/engine/model.d.cts +39 -1
  76. package/dist/charts/engine/model.d.ts +39 -1
  77. package/dist/charts/engine/model.js +212 -105
  78. package/dist/charts/engine/model.js.map +1 -1
  79. package/dist/charts/engine/orderbook/book.cjs +2 -0
  80. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  81. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  82. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  83. package/dist/charts/engine/orderbook/book.js +134 -0
  84. package/dist/charts/engine/orderbook/book.js.map +1 -0
  85. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  86. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  87. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  88. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  89. package/dist/charts/engine/orderbook/depth.js +413 -0
  90. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  91. package/dist/charts/engine/orderbook/format.cjs +2 -0
  92. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  93. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  94. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  95. package/dist/charts/engine/orderbook/format.js +65 -0
  96. package/dist/charts/engine/orderbook/format.js.map +1 -0
  97. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  98. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  99. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  100. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  101. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  102. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  103. package/dist/charts/engine/orderbook/host.cjs +2 -0
  104. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  105. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  106. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  107. package/dist/charts/engine/orderbook/host.js +161 -0
  108. package/dist/charts/engine/orderbook/host.js.map +1 -0
  109. package/dist/charts/engine/orderbook/index.cjs +1 -0
  110. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  111. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  112. package/dist/charts/engine/orderbook/index.js +6 -0
  113. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  114. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  115. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  116. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  117. package/dist/charts/engine/orderbook/ladder.js +341 -0
  118. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  119. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  120. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  121. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  122. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  123. package/dist/charts/engine/orderbook/tape.js +450 -0
  124. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  125. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  126. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  127. package/dist/charts/engine/overlay.cjs +1 -1
  128. package/dist/charts/engine/overlay.cjs.map +1 -1
  129. package/dist/charts/engine/overlay.d.cts +18 -2
  130. package/dist/charts/engine/overlay.d.ts +18 -2
  131. package/dist/charts/engine/overlay.js +132 -96
  132. package/dist/charts/engine/overlay.js.map +1 -1
  133. package/dist/charts/engine/presets.cjs +2 -2
  134. package/dist/charts/engine/presets.cjs.map +1 -1
  135. package/dist/charts/engine/presets.d.cts +249 -1
  136. package/dist/charts/engine/presets.d.ts +249 -1
  137. package/dist/charts/engine/presets.js +367 -29
  138. package/dist/charts/engine/presets.js.map +1 -1
  139. package/dist/charts/engine/renderers/detect.cjs +1 -1
  140. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  141. package/dist/charts/engine/renderers/detect.js +18 -15
  142. package/dist/charts/engine/renderers/detect.js.map +1 -1
  143. package/dist/charts/engine/renderers/gl.cjs +2 -0
  144. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  145. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  146. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  147. package/dist/charts/engine/renderers/gl.js +56 -0
  148. package/dist/charts/engine/renderers/gl.js.map +1 -0
  149. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  150. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  151. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  152. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  153. package/dist/charts/engine/renderers/shaders.js +139 -1
  154. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  155. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  156. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  157. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  158. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  159. package/dist/charts/engine/renderers/webgl.js +133 -0
  160. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  161. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  162. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  163. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  164. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  165. package/dist/charts/engine/renderers/webgl2.js +59 -108
  166. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  167. package/dist/charts/engine/scale.cjs +1 -1
  168. package/dist/charts/engine/scale.cjs.map +1 -1
  169. package/dist/charts/engine/scale.js +1 -1
  170. package/dist/charts/engine/scale.js.map +1 -1
  171. package/dist/charts/engine/scene.cjs +1 -1
  172. package/dist/charts/engine/scene.cjs.map +1 -1
  173. package/dist/charts/engine/scene.d.cts +14 -4
  174. package/dist/charts/engine/scene.d.ts +14 -4
  175. package/dist/charts/engine/scene.js +292 -163
  176. package/dist/charts/engine/scene.js.map +1 -1
  177. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  178. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  179. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  180. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  181. package/dist/charts/engine/shapes/bullet.js +255 -0
  182. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  183. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  184. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  185. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  186. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  187. package/dist/charts/engine/shapes/calendar.js +369 -0
  188. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  189. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  190. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  191. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  192. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  193. package/dist/charts/engine/shapes/canvas.js +22 -13
  194. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  195. package/dist/charts/engine/shapes/chart.cjs +1 -1
  196. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  197. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  198. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  199. package/dist/charts/engine/shapes/chart.js +45 -26
  200. package/dist/charts/engine/shapes/chart.js.map +1 -1
  201. package/dist/charts/engine/shapes/draw.cjs +1 -1
  202. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  203. package/dist/charts/engine/shapes/draw.d.cts +3 -1
  204. package/dist/charts/engine/shapes/draw.d.ts +3 -1
  205. package/dist/charts/engine/shapes/draw.js +31 -18
  206. package/dist/charts/engine/shapes/draw.js.map +1 -1
  207. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  208. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  209. package/dist/charts/engine/shapes/funnel.js +3 -3
  210. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  211. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  212. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  213. package/dist/charts/engine/shapes/gauge.js +132 -95
  214. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  215. package/dist/charts/engine/shapes/hit.cjs +1 -1
  216. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  217. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  218. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  219. package/dist/charts/engine/shapes/hit.js +29 -8
  220. package/dist/charts/engine/shapes/hit.js.map +1 -1
  221. package/dist/charts/engine/shapes/index.d.cts +4 -1
  222. package/dist/charts/engine/shapes/index.d.ts +4 -1
  223. package/dist/charts/engine/shapes/labels.cjs +2 -0
  224. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  225. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  226. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  227. package/dist/charts/engine/shapes/labels.js +146 -0
  228. package/dist/charts/engine/shapes/labels.js.map +1 -0
  229. package/dist/charts/engine/shapes/layout.cjs +2 -2
  230. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  231. package/dist/charts/engine/shapes/layout.d.cts +8 -3
  232. package/dist/charts/engine/shapes/layout.d.ts +8 -3
  233. package/dist/charts/engine/shapes/layout.js +200 -113
  234. package/dist/charts/engine/shapes/layout.js.map +1 -1
  235. package/dist/charts/engine/shapes/pie.cjs +1 -1
  236. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  237. package/dist/charts/engine/shapes/pie.js +2 -2
  238. package/dist/charts/engine/shapes/pie.js.map +1 -1
  239. package/dist/charts/engine/shapes/radar.cjs +1 -1
  240. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  241. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  242. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  243. package/dist/charts/engine/shapes/radar.js +50 -49
  244. package/dist/charts/engine/shapes/radar.js.map +1 -1
  245. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  246. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  247. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  248. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  249. package/dist/charts/engine/shapes/radialBar.js +155 -0
  250. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  251. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  252. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  253. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  254. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  255. package/dist/charts/engine/shapes/runtime.js +61 -51
  256. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  257. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  258. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  260. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  261. package/dist/charts/engine/shapes/sankey.js +372 -0
  262. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  263. package/dist/charts/engine/shapes/scene.cjs +1 -1
  264. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  265. package/dist/charts/engine/shapes/scene.d.cts +62 -8
  266. package/dist/charts/engine/shapes/scene.d.ts +62 -8
  267. package/dist/charts/engine/shapes/scene.js +33 -31
  268. package/dist/charts/engine/shapes/scene.js.map +1 -1
  269. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  270. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  272. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  273. package/dist/charts/engine/shapes/sunburst.js +261 -0
  274. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  275. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  276. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/treemap.js +2 -2
  278. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  279. package/dist/charts/engine/shapes/types.d.cts +439 -12
  280. package/dist/charts/engine/shapes/types.d.ts +439 -12
  281. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  282. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  283. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  284. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  285. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  286. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  287. package/dist/charts/engine/three-d/chart.cjs +2 -0
  288. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  289. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  290. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  291. package/dist/charts/engine/three-d/chart.js +621 -0
  292. package/dist/charts/engine/three-d/chart.js.map +1 -0
  293. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  294. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  295. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  296. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  297. package/dist/charts/engine/three-d/colormap.js +166 -0
  298. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  299. package/dist/charts/engine/three-d/contours.cjs +2 -0
  300. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  301. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  302. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  303. package/dist/charts/engine/three-d/contours.js +47 -0
  304. package/dist/charts/engine/three-d/contours.js.map +1 -0
  305. package/dist/charts/engine/three-d/detect.cjs +2 -0
  306. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  307. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  308. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  309. package/dist/charts/engine/three-d/detect.js +35 -0
  310. package/dist/charts/engine/three-d/detect.js.map +1 -0
  311. package/dist/charts/engine/three-d/dom.cjs +2 -0
  312. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  313. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  314. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  315. package/dist/charts/engine/three-d/dom.js +98 -0
  316. package/dist/charts/engine/three-d/dom.js.map +1 -0
  317. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  318. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  319. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  320. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  321. package/dist/charts/engine/three-d/geometry.js +529 -0
  322. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  323. package/dist/charts/engine/three-d/hover.cjs +2 -0
  324. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  325. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  326. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  327. package/dist/charts/engine/three-d/hover.js +131 -0
  328. package/dist/charts/engine/three-d/hover.js.map +1 -0
  329. package/dist/charts/engine/three-d/index.cjs +1 -0
  330. package/dist/charts/engine/three-d/index.d.cts +2 -0
  331. package/dist/charts/engine/three-d/index.d.ts +2 -0
  332. package/dist/charts/engine/three-d/index.js +2 -0
  333. package/dist/charts/engine/three-d/labels.cjs +2 -0
  334. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  336. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  337. package/dist/charts/engine/three-d/labels.js +136 -0
  338. package/dist/charts/engine/three-d/labels.js.map +1 -0
  339. package/dist/charts/engine/three-d/math.cjs +2 -0
  340. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  341. package/dist/charts/engine/three-d/math.d.cts +84 -0
  342. package/dist/charts/engine/three-d/math.d.ts +84 -0
  343. package/dist/charts/engine/three-d/math.js +150 -0
  344. package/dist/charts/engine/three-d/math.js.map +1 -0
  345. package/dist/charts/engine/three-d/model.cjs +2 -0
  346. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  347. package/dist/charts/engine/three-d/model.d.cts +130 -0
  348. package/dist/charts/engine/three-d/model.d.ts +130 -0
  349. package/dist/charts/engine/three-d/model.js +277 -0
  350. package/dist/charts/engine/three-d/model.js.map +1 -0
  351. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  352. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  353. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  354. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  355. package/dist/charts/engine/three-d/overlay.js +197 -0
  356. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  357. package/dist/charts/engine/three-d/pick.cjs +2 -0
  358. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  359. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  360. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  361. package/dist/charts/engine/three-d/pick.js +220 -0
  362. package/dist/charts/engine/three-d/pick.js.map +1 -0
  363. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  364. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  365. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  366. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  367. package/dist/charts/engine/three-d/render-types.js +13 -0
  368. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  369. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  370. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  371. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  372. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  373. package/dist/charts/engine/three-d/shaders.js +191 -0
  374. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  375. package/dist/charts/engine/three-d/sort.cjs +2 -0
  376. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  377. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  378. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  379. package/dist/charts/engine/three-d/sort.js +71 -0
  380. package/dist/charts/engine/three-d/sort.js.map +1 -0
  381. package/dist/charts/engine/three-d/types.d.cts +588 -0
  382. package/dist/charts/engine/three-d/types.d.ts +588 -0
  383. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  384. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  386. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  387. package/dist/charts/engine/three-d/webgl.js +130 -0
  388. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  389. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  390. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  392. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  393. package/dist/charts/engine/three-d/webgpu.js +249 -0
  394. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  395. package/dist/charts/engine/time.cjs +1 -1
  396. package/dist/charts/engine/time.cjs.map +1 -1
  397. package/dist/charts/engine/time.d.cts +13 -4
  398. package/dist/charts/engine/time.d.ts +13 -4
  399. package/dist/charts/engine/time.js +156 -91
  400. package/dist/charts/engine/time.js.map +1 -1
  401. package/dist/charts/engine/trading/chart.cjs +2 -0
  402. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  403. package/dist/charts/engine/trading/chart.d.cts +3 -0
  404. package/dist/charts/engine/trading/chart.d.ts +3 -0
  405. package/dist/charts/engine/trading/chart.js +1507 -0
  406. package/dist/charts/engine/trading/chart.js.map +1 -0
  407. package/dist/charts/engine/trading/drawings.cjs +2 -0
  408. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  409. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  410. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  411. package/dist/charts/engine/trading/drawings.js +160 -0
  412. package/dist/charts/engine/trading/drawings.js.map +1 -0
  413. package/dist/charts/engine/trading/format.cjs +2 -0
  414. package/dist/charts/engine/trading/format.cjs.map +1 -0
  415. package/dist/charts/engine/trading/format.d.cts +60 -0
  416. package/dist/charts/engine/trading/format.d.ts +60 -0
  417. package/dist/charts/engine/trading/format.js +131 -0
  418. package/dist/charts/engine/trading/format.js.map +1 -0
  419. package/dist/charts/engine/trading/geometry.cjs +2 -0
  420. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  421. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  422. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  423. package/dist/charts/engine/trading/geometry.js +131 -0
  424. package/dist/charts/engine/trading/geometry.js.map +1 -0
  425. package/dist/charts/engine/trading/index.cjs +1 -0
  426. package/dist/charts/engine/trading/index.d.cts +3 -0
  427. package/dist/charts/engine/trading/index.d.ts +3 -0
  428. package/dist/charts/engine/trading/index.js +3 -0
  429. package/dist/charts/engine/trading/indicators.cjs +2 -0
  430. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  431. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  432. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  433. package/dist/charts/engine/trading/indicators.js +268 -0
  434. package/dist/charts/engine/trading/indicators.js.map +1 -0
  435. package/dist/charts/engine/trading/labels.cjs +2 -0
  436. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  437. package/dist/charts/engine/trading/labels.d.cts +7 -0
  438. package/dist/charts/engine/trading/labels.d.ts +7 -0
  439. package/dist/charts/engine/trading/labels.js +91 -0
  440. package/dist/charts/engine/trading/labels.js.map +1 -0
  441. package/dist/charts/engine/trading/scale.cjs +2 -0
  442. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  443. package/dist/charts/engine/trading/scale.d.cts +46 -0
  444. package/dist/charts/engine/trading/scale.d.ts +46 -0
  445. package/dist/charts/engine/trading/scale.js +100 -0
  446. package/dist/charts/engine/trading/scale.js.map +1 -0
  447. package/dist/charts/engine/trading/store.cjs +2 -0
  448. package/dist/charts/engine/trading/store.cjs.map +1 -0
  449. package/dist/charts/engine/trading/store.d.cts +62 -0
  450. package/dist/charts/engine/trading/store.d.ts +62 -0
  451. package/dist/charts/engine/trading/store.js +129 -0
  452. package/dist/charts/engine/trading/store.js.map +1 -0
  453. package/dist/charts/engine/trading/studies.cjs +2 -0
  454. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  455. package/dist/charts/engine/trading/studies.d.cts +52 -0
  456. package/dist/charts/engine/trading/studies.d.ts +52 -0
  457. package/dist/charts/engine/trading/studies.js +254 -0
  458. package/dist/charts/engine/trading/studies.js.map +1 -0
  459. package/dist/charts/engine/trading/types.d.cts +656 -0
  460. package/dist/charts/engine/trading/types.d.ts +656 -0
  461. package/dist/charts/engine/types.d.cts +165 -14
  462. package/dist/charts/engine/types.d.ts +165 -14
  463. package/dist/charts/index.cjs +1 -1
  464. package/dist/charts/index.d.cts +7 -4
  465. package/dist/charts/index.d.ts +7 -4
  466. package/dist/charts/index.js +22 -11
  467. package/dist/charts/react/Chart.cjs +1 -1
  468. package/dist/charts/react/Chart.cjs.map +1 -1
  469. package/dist/charts/react/Chart.d.cts +4 -4
  470. package/dist/charts/react/Chart.d.ts +4 -4
  471. package/dist/charts/react/Chart.js +5 -1
  472. package/dist/charts/react/Chart.js.map +1 -1
  473. package/dist/charts/react/charts.cjs +1 -1
  474. package/dist/charts/react/charts.cjs.map +1 -1
  475. package/dist/charts/react/charts.d.cts +39 -1
  476. package/dist/charts/react/charts.d.ts +39 -1
  477. package/dist/charts/react/charts.js +303 -131
  478. package/dist/charts/react/charts.js.map +1 -1
  479. package/dist/charts/react/orderbook.cjs +2 -0
  480. package/dist/charts/react/orderbook.cjs.map +1 -0
  481. package/dist/charts/react/orderbook.d.cts +142 -0
  482. package/dist/charts/react/orderbook.d.ts +142 -0
  483. package/dist/charts/react/orderbook.js +182 -0
  484. package/dist/charts/react/orderbook.js.map +1 -0
  485. package/dist/charts/react/shapes.cjs +1 -1
  486. package/dist/charts/react/shapes.cjs.map +1 -1
  487. package/dist/charts/react/shapes.d.cts +291 -9
  488. package/dist/charts/react/shapes.d.ts +291 -9
  489. package/dist/charts/react/shapes.js +280 -93
  490. package/dist/charts/react/shapes.js.map +1 -1
  491. package/dist/charts/react/three-d.cjs +2 -0
  492. package/dist/charts/react/three-d.cjs.map +1 -0
  493. package/dist/charts/react/three-d.d.cts +151 -0
  494. package/dist/charts/react/three-d.d.ts +151 -0
  495. package/dist/charts/react/three-d.js +154 -0
  496. package/dist/charts/react/three-d.js.map +1 -0
  497. package/dist/charts/react/trading.cjs +2 -0
  498. package/dist/charts/react/trading.cjs.map +1 -0
  499. package/dist/charts/react/trading.d.cts +93 -0
  500. package/dist/charts/react/trading.d.ts +93 -0
  501. package/dist/charts/react/trading.js +95 -0
  502. package/dist/charts/react/trading.js.map +1 -0
  503. package/dist/charts/react/types.d.cts +132 -8
  504. package/dist/charts/react/types.d.ts +132 -8
  505. package/dist/core/contracts.cjs +1 -1
  506. package/dist/core/contracts.cjs.map +1 -1
  507. package/dist/core/contracts.js +1 -1
  508. package/dist/core/contracts.js.map +1 -1
  509. package/dist/native/charts/src/canvas.cjs +1 -1
  510. package/dist/native/charts/src/canvas.js +9 -3
  511. package/dist/native/charts/src/engine/axis.cjs +1 -1
  512. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  513. package/dist/native/charts/src/engine/axis.js +6 -6
  514. package/dist/native/charts/src/engine/axis.js.map +1 -1
  515. package/dist/native/charts/src/engine/controller.cjs +1 -1
  516. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  517. package/dist/native/charts/src/engine/controller.js +352 -292
  518. package/dist/native/charts/src/engine/controller.js.map +1 -1
  519. package/dist/native/charts/src/engine/data.cjs +1 -1
  520. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  521. package/dist/native/charts/src/engine/data.js +63 -49
  522. package/dist/native/charts/src/engine/data.js.map +1 -1
  523. package/dist/native/charts/src/engine/format.cjs +1 -1
  524. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  525. package/dist/native/charts/src/engine/format.js +46 -21
  526. package/dist/native/charts/src/engine/format.js.map +1 -1
  527. package/dist/native/charts/src/engine/labels.cjs +2 -0
  528. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  529. package/dist/native/charts/src/engine/labels.js +74 -0
  530. package/dist/native/charts/src/engine/labels.js.map +1 -0
  531. package/dist/native/charts/src/engine/layout.cjs +1 -1
  532. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  533. package/dist/native/charts/src/engine/layout.js +53 -12
  534. package/dist/native/charts/src/engine/layout.js.map +1 -1
  535. package/dist/native/charts/src/engine/locale.cjs +2 -0
  536. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  537. package/dist/native/charts/src/engine/locale.js +60 -0
  538. package/dist/native/charts/src/engine/locale.js.map +1 -0
  539. package/dist/native/charts/src/engine/model.cjs +1 -1
  540. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  541. package/dist/native/charts/src/engine/model.js +223 -116
  542. package/dist/native/charts/src/engine/model.js.map +1 -1
  543. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  544. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  545. package/dist/native/charts/src/engine/overlay.js +46 -23
  546. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  547. package/dist/native/charts/src/engine/presets.cjs +2 -2
  548. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  549. package/dist/native/charts/src/engine/presets.js +448 -33
  550. package/dist/native/charts/src/engine/presets.js.map +1 -1
  551. package/dist/native/charts/src/engine/scale.cjs +1 -1
  552. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  553. package/dist/native/charts/src/engine/scale.js +1 -1
  554. package/dist/native/charts/src/engine/scale.js.map +1 -1
  555. package/dist/native/charts/src/engine/scene.cjs +1 -1
  556. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  557. package/dist/native/charts/src/engine/scene.js +296 -167
  558. package/dist/native/charts/src/engine/scene.js.map +1 -1
  559. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  560. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  561. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  562. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  563. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  564. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  565. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  566. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  567. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  568. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  569. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  570. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  571. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  572. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  573. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  574. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  575. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  576. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  577. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  578. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  579. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  580. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  581. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  582. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  583. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  584. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  585. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  586. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  587. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  588. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  589. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  590. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  591. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  592. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  593. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  594. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  595. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  596. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  597. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  598. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  599. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  600. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  601. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  602. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  603. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  604. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  605. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  606. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  607. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  608. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  609. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  610. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  611. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  612. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  613. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  614. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  615. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  616. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  617. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  618. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  620. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  622. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  624. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  626. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  627. package/dist/native/charts/src/engine/time.cjs +1 -1
  628. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/time.js +156 -91
  630. package/dist/native/charts/src/engine/time.js.map +1 -1
  631. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  632. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  633. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  634. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  635. package/dist/native/components/Chart/ChartBase.js +110 -107
  636. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  637. package/dist/native/components/Chart/charts.cjs +1 -1
  638. package/dist/native/components/Chart/charts.cjs.map +1 -1
  639. package/dist/native/components/Chart/charts.d.cts +6 -1
  640. package/dist/native/components/Chart/charts.d.ts +6 -1
  641. package/dist/native/components/Chart/charts.js +53 -29
  642. package/dist/native/components/Chart/charts.js.map +1 -1
  643. package/dist/native/components/Chart/index.cjs +1 -1
  644. package/dist/native/components/Chart/index.d.cts +1 -1
  645. package/dist/native/components/Chart/index.d.ts +1 -1
  646. package/dist/native/components/Chart/index.js +2 -2
  647. package/dist/native/components/Chart/scene.cjs +1 -1
  648. package/dist/native/components/Chart/scene.cjs.map +1 -1
  649. package/dist/native/components/Chart/scene.js +234 -217
  650. package/dist/native/components/Chart/scene.js.map +1 -1
  651. package/dist/native/components/Chart/types.d.cts +26 -3
  652. package/dist/native/components/Chart/types.d.ts +26 -3
  653. package/dist/native/components/Charts/charts.cjs +2 -0
  654. package/dist/native/components/Charts/charts.cjs.map +1 -0
  655. package/dist/native/components/Charts/charts.d.cts +41 -0
  656. package/dist/native/components/Charts/charts.d.ts +41 -0
  657. package/dist/native/components/Charts/charts.js +338 -0
  658. package/dist/native/components/Charts/charts.js.map +1 -0
  659. package/dist/native/components/Charts/index.cjs +1 -0
  660. package/dist/native/components/Charts/index.d.cts +2 -0
  661. package/dist/native/components/Charts/index.d.ts +2 -0
  662. package/dist/native/components/Charts/index.js +2 -0
  663. package/dist/native/components/Charts/types.d.cts +144 -0
  664. package/dist/native/components/Charts/types.d.ts +144 -0
  665. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  666. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  667. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  668. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  669. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  670. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  671. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  672. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  673. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  674. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  675. package/dist/native/components/ShapeChart/charts.js +387 -0
  676. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  677. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  678. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  679. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  680. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  681. package/dist/native/components/ShapeChart/draw.js +104 -0
  682. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  683. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  684. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  685. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  686. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  687. package/dist/native/components/ShapeChart/geometry.js +602 -0
  688. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  689. package/dist/native/components/ShapeChart/index.cjs +1 -0
  690. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  691. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  692. package/dist/native/components/ShapeChart/index.js +2 -0
  693. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  694. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  695. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  696. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  697. package/dist/native/components/ShapeChart/recorder.js +574 -0
  698. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  699. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  700. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  701. package/dist/native/index.cjs +1 -1
  702. package/dist/native/index.d.cts +2 -0
  703. package/dist/native/index.d.ts +2 -0
  704. package/dist/native/index.js +14 -10
  705. package/dist/native/manifest.d.cts +6 -4
  706. package/dist/native/manifest.d.ts +6 -4
  707. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  708. package/dist/native/source/components/Chart/charts.tsx +42 -6
  709. package/dist/native/source/components/Chart/index.ts +1 -0
  710. package/dist/native/source/components/Chart/scene.tsx +154 -84
  711. package/dist/native/source/components/Chart/types.ts +31 -1
  712. package/dist/native/source/components/Charts/charts.tsx +493 -0
  713. package/dist/native/source/components/Charts/index.ts +14 -0
  714. package/dist/native/source/components/Charts/types.ts +207 -0
  715. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  716. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  717. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  718. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  719. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  720. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  721. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  722. package/dist/native/source/index.ts +2 -0
  723. package/dist/native/source/manifest.ts +30 -4
  724. package/dist/taro/charts.d.ts +209 -4
  725. package/dist/taro/index.d.ts +1 -0
  726. package/dist/taro/index.js +7517 -1856
  727. package/dist/taro/manifest.d.ts +1 -0
  728. package/dist/taro/shape-charts.d.ts +537 -0
  729. package/dist/uni/AreaChart.vue +68 -0
  730. package/dist/uni/AreaChart.vue.d.ts +120 -0
  731. package/dist/uni/Badge.vue.d.ts +1 -1
  732. package/dist/uni/BoxPlotChart.vue +66 -0
  733. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  734. package/dist/uni/BubbleChart.vue +68 -0
  735. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  736. package/dist/uni/BulletChart.vue +86 -0
  737. package/dist/uni/BulletChart.vue.d.ts +110 -0
  738. package/dist/uni/CalendarHeatmap.vue +92 -0
  739. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  740. package/dist/uni/CandlestickChart.vue +66 -0
  741. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  742. package/dist/uni/DonutChart.vue +72 -0
  743. package/dist/uni/DonutChart.vue.d.ts +114 -0
  744. package/dist/uni/FunnelChart.vue +67 -0
  745. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  746. package/dist/uni/GanttChart.vue +67 -0
  747. package/dist/uni/GanttChart.vue.d.ts +123 -0
  748. package/dist/uni/GaugeChart.vue +77 -0
  749. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  750. package/dist/uni/HeatmapChart.vue +66 -0
  751. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  752. package/dist/uni/HistogramChart.vue +66 -0
  753. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  754. package/dist/uni/HorizontalBarChart.vue +68 -0
  755. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  756. package/dist/uni/Input.vue.d.ts +1 -1
  757. package/dist/uni/MixedChart.vue +68 -0
  758. package/dist/uni/MixedChart.vue.d.ts +106 -0
  759. package/dist/uni/NumberInput.vue.d.ts +1 -1
  760. package/dist/uni/PieChart.vue +72 -0
  761. package/dist/uni/PieChart.vue.d.ts +114 -0
  762. package/dist/uni/RadarChart.vue +67 -0
  763. package/dist/uni/RadarChart.vue.d.ts +110 -0
  764. package/dist/uni/RadialBarChart.vue +90 -0
  765. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  766. package/dist/uni/RangeAreaChart.vue +68 -0
  767. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  768. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  769. package/dist/uni/SankeyChart.vue +88 -0
  770. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  771. package/dist/uni/ShapeChart.vue +73 -0
  772. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  773. package/dist/uni/Sparkline.vue +58 -0
  774. package/dist/uni/Sparkline.vue.d.ts +77 -0
  775. package/dist/uni/SunburstChart.vue +90 -0
  776. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  777. package/dist/uni/Textarea.vue.d.ts +1 -1
  778. package/dist/uni/TimePicker.vue.d.ts +1 -1
  779. package/dist/uni/TreemapChart.vue +65 -0
  780. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  781. package/dist/uni/WaterfallChart.vue +66 -0
  782. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  783. package/dist/uni/chart-types.d.ts +216 -2
  784. package/dist/uni/chart-types.js +174 -0
  785. package/dist/uni/charts-canvas.js +8 -3
  786. package/dist/uni/index.d.ts +26 -1
  787. package/dist/uni/index.js +26 -1
  788. package/dist/uni/manifest.d.ts +272 -0
  789. package/dist/uni/manifest.js +387 -0
  790. package/dist/uni/named-chart-options.d.ts +88 -0
  791. package/dist/uni/named-chart-options.js +156 -0
  792. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  793. package/dist/uni/shape-chart-canvas.js +342 -0
  794. package/dist/uni/shape-chart-types.d.ts +381 -0
  795. package/dist/uni/shape-chart-types.js +261 -0
  796. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  797. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  798. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  799. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  800. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  801. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  802. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  803. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  804. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  805. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  806. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  807. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  808. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  809. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  810. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  811. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  812. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  813. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  814. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  815. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  816. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  817. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  818. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  819. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  820. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  821. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  822. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  823. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  824. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  825. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  826. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  827. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  828. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  829. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  830. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  831. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  832. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  833. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  834. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  835. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  836. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  837. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  838. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  839. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  840. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  841. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  842. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  843. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  844. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  845. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  846. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  847. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  848. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  849. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  850. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  851. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  852. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  853. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  854. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  855. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  856. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  857. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  860. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  865. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  867. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  870. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  872. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  875. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  877. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  880. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  882. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  885. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  887. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  888. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  890. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  892. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  895. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  897. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  898. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  900. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  902. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  903. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  905. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  912. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  915. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  917. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  920. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  922. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  925. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  927. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  930. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  935. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  940. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  942. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  945. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  947. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  950. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  952. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  953. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  955. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  957. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  958. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  960. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  962. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  963. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  965. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  967. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  968. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  970. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  972. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  975. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  977. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  980. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  982. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  985. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  987. package/dist/vue/components/Chart/cartesian.js +56 -0
  988. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  989. package/dist/vue/components/Chart/engine.d.ts +35 -0
  990. package/dist/vue/components/Chart/engine.js +35 -0
  991. package/dist/vue/components/Chart/engine.js.map +1 -0
  992. package/dist/vue/components/Chart/index.d.ts +41 -0
  993. package/dist/vue/components/Chart/index.js +40 -0
  994. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  995. package/dist/vue/components/Chart/orderbook.js +126 -0
  996. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  997. package/dist/vue/components/Chart/props.d.ts +188 -0
  998. package/dist/vue/components/Chart/props.js +92 -0
  999. package/dist/vue/components/Chart/props.js.map +1 -0
  1000. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1001. package/dist/vue/components/Chart/shape.js +42 -0
  1002. package/dist/vue/components/Chart/shape.js.map +1 -0
  1003. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1004. package/dist/vue/components/Chart/three-d.js +88 -0
  1005. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1006. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1007. package/dist/vue/components/Chart/trading.js +55 -0
  1008. package/dist/vue/components/Chart/trading.js.map +1 -0
  1009. package/dist/vue/components/Chart/types.d.ts +137 -0
  1010. package/dist/vue/global.d.ts +38 -0
  1011. package/dist/vue/groups/charts.d.ts +1 -0
  1012. package/dist/vue/groups/charts.js +87 -0
  1013. package/dist/vue/groups/charts.js.map +1 -0
  1014. package/dist/vue/index.d.ts +1 -0
  1015. package/dist/vue/index.js +63 -23
  1016. package/dist/vue/plugin.js +12 -10
  1017. package/dist/vue/plugin.js.map +1 -1
  1018. package/dist/weapp/area-chart/index.js +1 -0
  1019. package/dist/weapp/area-chart/index.json +1 -0
  1020. package/dist/weapp/area-chart/index.wxml +1 -0
  1021. package/dist/weapp/area-chart/index.wxss +1 -0
  1022. package/dist/weapp/box-plot-chart/index.js +1 -0
  1023. package/dist/weapp/box-plot-chart/index.json +1 -0
  1024. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1025. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1026. package/dist/weapp/bubble-chart/index.js +1 -0
  1027. package/dist/weapp/bubble-chart/index.json +1 -0
  1028. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1029. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1030. package/dist/weapp/bullet-chart/index.js +1 -0
  1031. package/dist/weapp/bullet-chart/index.json +1 -0
  1032. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1033. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1034. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1035. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1036. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1037. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1038. package/dist/weapp/candlestick-chart/index.js +1 -0
  1039. package/dist/weapp/candlestick-chart/index.json +1 -0
  1040. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1041. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1042. package/dist/weapp/charts/canvas.js +11436 -0
  1043. package/dist/weapp/charts/core.d.ts +2 -0
  1044. package/dist/weapp/charts/core.js +41 -0
  1045. package/dist/weapp/controls.js +1433 -4478
  1046. package/dist/weapp/donut-chart/index.js +1 -0
  1047. package/dist/weapp/donut-chart/index.json +1 -0
  1048. package/dist/weapp/donut-chart/index.wxml +1 -0
  1049. package/dist/weapp/donut-chart/index.wxss +1 -0
  1050. package/dist/weapp/funnel-chart/index.js +1 -0
  1051. package/dist/weapp/funnel-chart/index.json +1 -0
  1052. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1053. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1054. package/dist/weapp/gantt-chart/index.js +1 -0
  1055. package/dist/weapp/gantt-chart/index.json +1 -0
  1056. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1057. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1058. package/dist/weapp/gauge-chart/index.js +1 -0
  1059. package/dist/weapp/gauge-chart/index.json +1 -0
  1060. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1061. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1062. package/dist/weapp/heatmap-chart/index.js +1 -0
  1063. package/dist/weapp/heatmap-chart/index.json +1 -0
  1064. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1065. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1066. package/dist/weapp/histogram-chart/index.js +1 -0
  1067. package/dist/weapp/histogram-chart/index.json +1 -0
  1068. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1069. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1070. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1071. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1072. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1073. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1074. package/dist/weapp/mixed-chart/index.js +1 -0
  1075. package/dist/weapp/mixed-chart/index.json +1 -0
  1076. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1077. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1078. package/dist/weapp/pie-chart/index.js +1 -0
  1079. package/dist/weapp/pie-chart/index.json +1 -0
  1080. package/dist/weapp/pie-chart/index.wxml +1 -0
  1081. package/dist/weapp/pie-chart/index.wxss +1 -0
  1082. package/dist/weapp/radar-chart/index.js +1 -0
  1083. package/dist/weapp/radar-chart/index.json +1 -0
  1084. package/dist/weapp/radar-chart/index.wxml +1 -0
  1085. package/dist/weapp/radar-chart/index.wxss +1 -0
  1086. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1087. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1088. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1089. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1090. package/dist/weapp/range-area-chart/index.js +1 -0
  1091. package/dist/weapp/range-area-chart/index.json +1 -0
  1092. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1093. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1094. package/dist/weapp/sankey-chart/index.js +1 -0
  1095. package/dist/weapp/sankey-chart/index.json +1 -0
  1096. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1097. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1098. package/dist/weapp/shape-chart/index.js +1 -0
  1099. package/dist/weapp/shape-chart/index.json +1 -0
  1100. package/dist/weapp/shape-chart/index.wxml +1 -0
  1101. package/dist/weapp/shape-chart/index.wxss +1 -0
  1102. package/dist/weapp/sparkline/index.js +1 -0
  1103. package/dist/weapp/sparkline/index.json +1 -0
  1104. package/dist/weapp/sparkline/index.wxml +1 -0
  1105. package/dist/weapp/sparkline/index.wxss +1 -0
  1106. package/dist/weapp/sunburst-chart/index.js +1 -0
  1107. package/dist/weapp/sunburst-chart/index.json +1 -0
  1108. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1109. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1110. package/dist/weapp/treemap-chart/index.js +1 -0
  1111. package/dist/weapp/treemap-chart/index.json +1 -0
  1112. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1113. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1114. package/dist/weapp/types.d.ts +466 -0
  1115. package/dist/weapp/waterfall-chart/index.js +1 -0
  1116. package/dist/weapp/waterfall-chart/index.json +1 -0
  1117. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1118. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1119. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1120. package/dist/web-components/components/chart/chart.js +55 -0
  1121. package/dist/web-components/components/chart/chart.js.map +1 -0
  1122. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1123. package/dist/web-components/components/chart/charts.js +201 -0
  1124. package/dist/web-components/components/chart/charts.js.map +1 -0
  1125. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1126. package/dist/web-components/components/chart/engine-element.js +77 -0
  1127. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1128. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1129. package/dist/web-components/components/chart/extended.js +183 -0
  1130. package/dist/web-components/components/chart/extended.js.map +1 -0
  1131. package/dist/web-components/components/chart/series.d.ts +7 -0
  1132. package/dist/web-components/components/chart/series.js +14 -0
  1133. package/dist/web-components/components/chart/series.js.map +1 -0
  1134. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1135. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1136. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1137. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1138. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1139. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1140. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1141. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1142. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1143. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1144. package/dist/web-components/components/order-book/order-book.js +174 -0
  1145. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1146. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1147. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1148. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1149. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1150. package/dist/web-components/elements/chart-3d.js +13 -0
  1151. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1152. package/dist/web-components/elements/chart.d.ts +7 -0
  1153. package/dist/web-components/elements/chart.js +43 -0
  1154. package/dist/web-components/elements/chart.js.map +1 -0
  1155. package/dist/web-components/elements/order-book.d.ts +2 -0
  1156. package/dist/web-components/elements/order-book.js +13 -0
  1157. package/dist/web-components/elements/order-book.js.map +1 -0
  1158. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1159. package/dist/web-components/elements/trading-chart.js +8 -0
  1160. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1161. package/dist/web-components/html-custom-data.json +1192 -29
  1162. package/dist/web-components/types/react.d.ts +435 -0
  1163. package/dist/web-components/types/solid.d.ts +321 -0
  1164. package/dist/web-components/types/svelte.d.ts +321 -0
  1165. package/dist/web-components/types/vue.d.ts +359 -0
  1166. package/package.json +113 -1
@@ -1,6 +1,6 @@
1
1
  import { ShapeLayoutInput } from './layout.cjs';
2
2
  import { ShapeScene } from './scene.cjs';
3
- import { ShapeChartOptions, ShapeToggleEvent } from './types.cjs';
3
+ import { ShapeChartOptions, ShapeDrillEvent, ShapeToggleEvent } from './types.cjs';
4
4
  /** Duration of the entry animation, ms */
5
5
  export declare const ENTER_MS = 600;
6
6
  /** Duration of the update animation, ms */
@@ -8,7 +8,7 @@ export declare const UPDATE_MS = 400;
8
8
  export declare const now: () => number;
9
9
  /** Whether the user prefers reduced motion (false without `matchMedia`) */
10
10
  export declare const prefersReducedMotion: () => boolean;
11
- export type ShapeFrameInput = Omit<ShapeLayoutInput, "options" | "hidden" | "enter" | "from" | "t">;
11
+ export type ShapeFrameInput = Omit<ShapeLayoutInput, "options" | "hidden" | "enter" | "from" | "t" | "focus">;
12
12
  export interface ShapeRuntime {
13
13
  readonly options: ShapeChartOptions;
14
14
  readonly hidden: ReadonlySet<number>;
@@ -20,6 +20,13 @@ export interface ShapeRuntime {
20
20
  toggle(index: number): ShapeToggleEvent | null;
21
21
  /** Hidden indexes, ascending */
22
22
  hiddenIndexes(): number[];
23
+ /**
24
+ * Sunburst: focuses the node at `path` (only proposes it when
25
+ * `options.drillPath` controls the focus); null when nothing would change
26
+ */
27
+ drill(path: readonly string[]): ShapeDrillEvent | null;
28
+ /** Sunburst: names from the root to the focused node */
29
+ drillPath(): string[];
23
30
  /** Lays the scene out at time `time`; `animating` asks for another frame */
24
31
  frame(time: number, input: ShapeFrameInput): {
25
32
  scene: ShapeScene;
@@ -1,6 +1,6 @@
1
1
  import { ShapeLayoutInput } from './layout.js';
2
2
  import { ShapeScene } from './scene.js';
3
- import { ShapeChartOptions, ShapeToggleEvent } from './types.js';
3
+ import { ShapeChartOptions, ShapeDrillEvent, ShapeToggleEvent } from './types.js';
4
4
  /** Duration of the entry animation, ms */
5
5
  export declare const ENTER_MS = 600;
6
6
  /** Duration of the update animation, ms */
@@ -8,7 +8,7 @@ export declare const UPDATE_MS = 400;
8
8
  export declare const now: () => number;
9
9
  /** Whether the user prefers reduced motion (false without `matchMedia`) */
10
10
  export declare const prefersReducedMotion: () => boolean;
11
- export type ShapeFrameInput = Omit<ShapeLayoutInput, "options" | "hidden" | "enter" | "from" | "t">;
11
+ export type ShapeFrameInput = Omit<ShapeLayoutInput, "options" | "hidden" | "enter" | "from" | "t" | "focus">;
12
12
  export interface ShapeRuntime {
13
13
  readonly options: ShapeChartOptions;
14
14
  readonly hidden: ReadonlySet<number>;
@@ -20,6 +20,13 @@ export interface ShapeRuntime {
20
20
  toggle(index: number): ShapeToggleEvent | null;
21
21
  /** Hidden indexes, ascending */
22
22
  hiddenIndexes(): number[];
23
+ /**
24
+ * Sunburst: focuses the node at `path` (only proposes it when
25
+ * `options.drillPath` controls the focus); null when nothing would change
26
+ */
27
+ drill(path: readonly string[]): ShapeDrillEvent | null;
28
+ /** Sunburst: names from the root to the focused node */
29
+ drillPath(): string[];
23
30
  /** Lays the scene out at time `time`; `animating` asks for another frame */
24
31
  frame(time: number, input: ShapeFrameInput): {
25
32
  scene: ShapeScene;
@@ -1,97 +1,107 @@
1
1
  import { easeOutCubic as e } from "./scene.js";
2
- import { blendValues as t, layoutShapeScene as n, sameValues as r, shapeValues as i, toggleCount as a } from "./layout.js";
3
- var o = () => typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now(), s = () => {
2
+ import { resolveSunburstPath as t } from "./sunburst.js";
3
+ import { blendValues as n, layoutShapeScene as r, sameValues as i, shapeValues as a, toggleCount as o } from "./layout.js";
4
+ var s = () => typeof performance < "u" && typeof performance.now == "function" ? performance.now() : Date.now(), c = () => {
4
5
  let e = globalThis;
5
6
  try {
6
7
  return !!e.matchMedia?.("(prefers-reduced-motion: reduce)")?.matches;
7
8
  } catch {
8
9
  return !1;
9
10
  }
10
- }, c = (o, c = s) => {
11
- let l = o, u = /* @__PURE__ */ new Set(), d = () => {
12
- let e = a(l);
13
- if (l.hidden) {
14
- u.clear();
15
- for (let t of l.hidden) Number.isInteger(t) && t >= 0 && t < e && u.add(t);
16
- } else for (let t of [...u]) t >= e && u.delete(t);
11
+ }, l = (s, l = c) => {
12
+ let u = s, d = /* @__PURE__ */ new Set(), f = () => {
13
+ let e = o(u);
14
+ if (u.hidden) {
15
+ d.clear();
16
+ for (let t of u.hidden) Number.isInteger(t) && t >= 0 && t < e && d.add(t);
17
+ } else for (let t of [...d]) t >= e && d.delete(t);
17
18
  };
18
- d();
19
- let f = (e) => [...e].sort((e, t) => e - t), p = !1, m = null, h = null, g = 1, _ = () => l.animation !== !1 && !c(), v = () => {
20
- let e = i(l, u);
21
- return h && g < 1 ? t(h.from, e, g) : e;
22
- }, y = (e) => {
23
- let t = v();
24
- if (e(), !_()) {
25
- h = null, p = !0;
19
+ f();
20
+ let p = (e) => [...e].sort((e, t) => e - t), m = !1, h = null, g = null, _ = 1, v = [], y = () => u.type === "sunburst" ? t(u, u.drillPath ?? v, d) : [], b = () => u.animation !== !1 && !l(), x = () => {
21
+ let e = a(u, d, y());
22
+ return g && _ < 1 ? n(g.from, e, _) : e;
23
+ }, S = (e) => {
24
+ let t = x();
25
+ if (e(), !b()) {
26
+ g = null, m = !0;
26
27
  return;
27
28
  }
28
- r(t, i(l, u)) || (h = {
29
+ i(t, a(u, d, y())) || (g = {
29
30
  from: t,
30
31
  start: null
31
- }, g = 0);
32
+ }, _ = 0);
32
33
  };
33
34
  return {
34
35
  get options() {
35
- return l;
36
+ return u;
36
37
  },
37
- hidden: u,
38
+ hidden: d,
38
39
  setOptions(e) {
39
- if (e.type !== l.type) {
40
- l = e, u.clear(), d(), p = !1, m = null, h = null, g = 1;
40
+ if (e.type !== u.type) {
41
+ u = e, d.clear(), v = [], f(), m = !1, h = null, g = null, _ = 1;
41
42
  return;
42
43
  }
43
- y(() => {
44
- l = e, d();
44
+ S(() => {
45
+ u = e, f();
45
46
  });
46
47
  },
47
48
  toggle(e) {
48
- if (!(Number.isInteger(e) && e >= 0) || e >= a(l)) return null;
49
- let t = new Set(u), n = !t.has(e);
50
- return n ? t.add(e) : t.delete(e), l.hidden || y(() => {
51
- n ? u.add(e) : u.delete(e);
49
+ if (!(Number.isInteger(e) && e >= 0) || e >= o(u)) return null;
50
+ let t = new Set(d), n = !t.has(e);
51
+ return n ? t.add(e) : t.delete(e), u.hidden || S(() => {
52
+ n ? d.add(e) : d.delete(e);
52
53
  }), {
53
54
  index: e,
54
55
  hidden: n,
55
- hiddenIndexes: f(t)
56
+ hiddenIndexes: p(t)
56
57
  };
57
58
  },
58
- hiddenIndexes: () => f(u),
59
- frame(t, r) {
59
+ hiddenIndexes: () => p(d),
60
+ drill(e) {
61
+ if (u.type !== "sunburst") return null;
62
+ let n = y(), r = t(u, e, d);
63
+ return r.join("\0") === n.join("\0") ? null : (u.drillPath || S(() => {
64
+ v = r;
65
+ }), { path: r });
66
+ },
67
+ drillPath: () => y(),
68
+ frame(t, n) {
60
69
  let i = 1;
61
- if (!p) {
62
- if (!_()) p = !0;
70
+ if (!m) {
71
+ if (!b()) m = !0;
63
72
  else {
64
- m === null && (m = t);
65
- let n = (t - m) / 600;
66
- i = e(n), n >= 1 && (p = !0, i = 1);
73
+ h === null && (h = t);
74
+ let n = (t - h) / 600;
75
+ i = e(n), n >= 1 && (m = !0, i = 1);
67
76
  }
68
77
  }
69
78
  let a = 1;
70
- if (h) {
71
- if (!_()) h = null;
79
+ if (g) {
80
+ if (!b()) g = null;
72
81
  else {
73
- h.start === null && (h.start = t);
74
- let n = (t - h.start) / 400;
82
+ g.start === null && (g.start = t);
83
+ let n = (t - g.start) / 400;
75
84
  a = n >= 1 ? 1 : e(n);
76
85
  }
77
86
  }
78
- g = a;
79
- let o = n({
80
- ...r,
81
- options: l,
82
- hidden: u,
87
+ _ = a;
88
+ let o = r({
89
+ ...n,
90
+ options: u,
91
+ hidden: d,
83
92
  enter: i,
84
- from: h?.from ?? null,
85
- t: a
93
+ from: g?.from ?? null,
94
+ t: a,
95
+ focus: y()
86
96
  });
87
- return h && a >= 1 && (h = null), {
97
+ return g && a >= 1 && (g = null), {
88
98
  scene: o,
89
- animating: !p || h !== null
99
+ animating: !m || g !== null
90
100
  };
91
101
  }
92
102
  };
93
103
  };
94
104
  //#endregion
95
- export { c as createShapeRuntime, o as now, s as prefersReducedMotion };
105
+ export { l as createShapeRuntime, s as now, c as prefersReducedMotion };
96
106
 
97
107
  //# sourceMappingURL=runtime.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"runtime.js","names":["now","prefersReducedMotion","g","createShapeRuntime","options","initial","hidden","syncHidden","count","toggleCount","i","sorted","set","a","b","entered","entryStart","update","lastT","animated","reducedMotion","displayed","targets","shapeValues","blendValues","transition","from","mutate","sameValues","next","index","proposed","nowHidden","enter","time","p","easeOutCubic","t","scene","layoutShapeScene","input"],"sources":["../../../../../charts/src/engine/shapes/runtime.ts"],"sourcesContent":["// Animation and visibility state shared by the DOM and canvas hosts: entry\n// animation, interpolation from the displayed values on updates / toggles.\n\nimport {\n blendValues,\n layoutShapeScene,\n sameValues,\n shapeValues,\n toggleCount,\n type ShapeLayoutInput,\n} from \"./layout\";\nimport { easeOutCubic, type ShapeScene } from \"./scene\";\nimport type { ShapeChartOptions, ShapeToggleEvent } from \"./types\";\n\n/** Duration of the entry animation, ms */\nexport const ENTER_MS = 600;\n/** Duration of the update animation, ms */\nexport const UPDATE_MS = 400;\n\nexport const now = () =>\n typeof performance !== \"undefined\" && typeof performance.now === \"function\"\n ? performance.now()\n : Date.now();\n\n/** Whether the user prefers reduced motion (false without `matchMedia`) */\nexport const prefersReducedMotion = () => {\n const g = globalThis as {\n matchMedia?: (query: string) => { matches: boolean } | null;\n };\n try {\n return !!g.matchMedia?.(\"(prefers-reduced-motion: reduce)\")?.matches;\n } catch {\n return false;\n }\n};\n\nexport type ShapeFrameInput = Omit<\n ShapeLayoutInput,\n \"options\" | \"hidden\" | \"enter\" | \"from\" | \"t\"\n>;\n\nexport interface ShapeRuntime {\n readonly options: ShapeChartOptions;\n readonly hidden: ReadonlySet<number>;\n setOptions(options: ShapeChartOptions): void;\n /**\n * Hides / shows an entry (only proposes it when `options.hidden` controls\n * the state); null when the index is out of range\n */\n toggle(index: number): ShapeToggleEvent | null;\n /** Hidden indexes, ascending */\n hiddenIndexes(): number[];\n /** Lays the scene out at time `time`; `animating` asks for another frame */\n frame(\n time: number,\n input: ShapeFrameInput,\n ): { scene: ShapeScene; animating: boolean };\n}\n\nexport const createShapeRuntime = (\n initial: ShapeChartOptions,\n reducedMotion: () => boolean = prefersReducedMotion,\n): ShapeRuntime => {\n let options = initial;\n const hidden = new Set<number>();\n /** Replaces the hidden set by the controlled `hidden` option (if any) */\n const syncHidden = () => {\n const count = toggleCount(options);\n if (options.hidden) {\n hidden.clear();\n for (const i of options.hidden)\n if (Number.isInteger(i) && i >= 0 && i < count) hidden.add(i);\n } else for (const i of [...hidden]) if (i >= count) hidden.delete(i);\n };\n syncHidden();\n const sorted = (set: ReadonlySet<number>) => [...set].sort((a, b) => a - b);\n let entered = false;\n let entryStart: number | null = null;\n let update: { from: Map<string, number>; start: number | null } | null = null;\n let lastT = 1;\n\n const animated = () => options.animation !== false && !reducedMotion();\n\n /** Values currently on screen */\n const displayed = () => {\n const targets = shapeValues(options, hidden);\n return update && lastT < 1\n ? blendValues(update.from, targets, lastT)\n : targets;\n };\n\n const transition = (mutate: () => void) => {\n const from = displayed();\n mutate();\n if (!animated()) {\n update = null;\n entered = true;\n return;\n }\n if (!sameValues(from, shapeValues(options, hidden))) {\n update = { from, start: null };\n lastT = 0;\n }\n };\n\n return {\n get options() {\n return options;\n },\n hidden,\n setOptions(next) {\n if (next.type !== options.type) {\n options = next;\n hidden.clear();\n syncHidden();\n entered = false;\n entryStart = null;\n update = null;\n lastT = 1;\n return;\n }\n transition(() => {\n options = next;\n syncHidden();\n });\n },\n toggle(index) {\n if (!(Number.isInteger(index) && index >= 0)) return null;\n if (index >= toggleCount(options)) return null;\n const proposed = new Set(hidden);\n const nowHidden = !proposed.has(index);\n if (nowHidden) proposed.add(index);\n else proposed.delete(index);\n if (!options.hidden)\n transition(() => {\n if (nowHidden) hidden.add(index);\n else hidden.delete(index);\n });\n return { index, hidden: nowHidden, hiddenIndexes: sorted(proposed) };\n },\n hiddenIndexes: () => sorted(hidden),\n frame(time, input) {\n let enter = 1;\n if (!entered) {\n if (!animated()) entered = true;\n else {\n if (entryStart === null) entryStart = time;\n const p = (time - entryStart) / ENTER_MS;\n enter = easeOutCubic(p);\n if (p >= 1) {\n entered = true;\n enter = 1;\n }\n }\n }\n let t = 1;\n if (update) {\n if (!animated()) update = null;\n else {\n if (update.start === null) update.start = time;\n const p = (time - update.start) / UPDATE_MS;\n t = p >= 1 ? 1 : easeOutCubic(p);\n }\n }\n lastT = t;\n const scene = layoutShapeScene({\n ...input,\n options,\n hidden,\n enter,\n from: update?.from ?? null,\n t,\n });\n if (update && t >= 1) update = null;\n return { scene, animating: !entered || update !== null };\n },\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"runtime.js","names":["now","prefersReducedMotion","g","createShapeRuntime","options","initial","hidden","syncHidden","count","toggleCount","i","sorted","set","a","b","entered","entryStart","update","lastT","focus","currentFocus","resolveSunburstPath","animated","reducedMotion","displayed","targets","shapeValues","blendValues","transition","from","mutate","sameValues","next","index","proposed","nowHidden","before","path","enter","time","p","easeOutCubic","t","scene","layoutShapeScene","input"],"sources":["../../../../../charts/src/engine/shapes/runtime.ts"],"sourcesContent":["// Animation and visibility state shared by the DOM and canvas hosts: entry\n// animation, interpolation from the displayed values on updates / toggles.\n\nimport {\n blendValues,\n layoutShapeScene,\n sameValues,\n shapeValues,\n toggleCount,\n type ShapeLayoutInput,\n} from \"./layout\";\nimport { easeOutCubic, type ShapeScene } from \"./scene\";\nimport { resolveSunburstPath } from \"./sunburst\";\nimport type {\n ShapeChartOptions,\n ShapeDrillEvent,\n ShapeToggleEvent,\n} from \"./types\";\n\n/** Duration of the entry animation, ms */\nexport const ENTER_MS = 600;\n/** Duration of the update animation, ms */\nexport const UPDATE_MS = 400;\n\nexport const now = () =>\n typeof performance !== \"undefined\" && typeof performance.now === \"function\"\n ? performance.now()\n : Date.now();\n\n/** Whether the user prefers reduced motion (false without `matchMedia`) */\nexport const prefersReducedMotion = () => {\n const g = globalThis as {\n matchMedia?: (query: string) => { matches: boolean } | null;\n };\n try {\n return !!g.matchMedia?.(\"(prefers-reduced-motion: reduce)\")?.matches;\n } catch {\n return false;\n }\n};\n\nexport type ShapeFrameInput = Omit<\n ShapeLayoutInput,\n \"options\" | \"hidden\" | \"enter\" | \"from\" | \"t\" | \"focus\"\n>;\n\nexport interface ShapeRuntime {\n readonly options: ShapeChartOptions;\n readonly hidden: ReadonlySet<number>;\n setOptions(options: ShapeChartOptions): void;\n /**\n * Hides / shows an entry (only proposes it when `options.hidden` controls\n * the state); null when the index is out of range\n */\n toggle(index: number): ShapeToggleEvent | null;\n /** Hidden indexes, ascending */\n hiddenIndexes(): number[];\n /**\n * Sunburst: focuses the node at `path` (only proposes it when\n * `options.drillPath` controls the focus); null when nothing would change\n */\n drill(path: readonly string[]): ShapeDrillEvent | null;\n /** Sunburst: names from the root to the focused node */\n drillPath(): string[];\n /** Lays the scene out at time `time`; `animating` asks for another frame */\n frame(\n time: number,\n input: ShapeFrameInput,\n ): { scene: ShapeScene; animating: boolean };\n}\n\nexport const createShapeRuntime = (\n initial: ShapeChartOptions,\n reducedMotion: () => boolean = prefersReducedMotion,\n): ShapeRuntime => {\n let options = initial;\n const hidden = new Set<number>();\n /** Replaces the hidden set by the controlled `hidden` option (if any) */\n const syncHidden = () => {\n const count = toggleCount(options);\n if (options.hidden) {\n hidden.clear();\n for (const i of options.hidden)\n if (Number.isInteger(i) && i >= 0 && i < count) hidden.add(i);\n } else for (const i of [...hidden]) if (i >= count) hidden.delete(i);\n };\n syncHidden();\n const sorted = (set: ReadonlySet<number>) => [...set].sort((a, b) => a - b);\n let entered = false;\n let entryStart: number | null = null;\n let update: { from: Map<string, number>; start: number | null } | null = null;\n let lastT = 1;\n /** Sunburst focus of an uncontrolled chart */\n let focus: string[] = [];\n /** Focus in effect: the controlled `drillPath`, else the drilled one, made valid */\n const currentFocus = (): string[] =>\n options.type === \"sunburst\"\n ? resolveSunburstPath(options, options.drillPath ?? focus, hidden)\n : [];\n\n const animated = () => options.animation !== false && !reducedMotion();\n\n /** Values currently on screen */\n const displayed = () => {\n const targets = shapeValues(options, hidden, currentFocus());\n return update && lastT < 1\n ? blendValues(update.from, targets, lastT)\n : targets;\n };\n\n const transition = (mutate: () => void) => {\n const from = displayed();\n mutate();\n if (!animated()) {\n update = null;\n entered = true;\n return;\n }\n if (!sameValues(from, shapeValues(options, hidden, currentFocus()))) {\n update = { from, start: null };\n lastT = 0;\n }\n };\n\n return {\n get options() {\n return options;\n },\n hidden,\n setOptions(next) {\n if (next.type !== options.type) {\n options = next;\n hidden.clear();\n focus = [];\n syncHidden();\n entered = false;\n entryStart = null;\n update = null;\n lastT = 1;\n return;\n }\n transition(() => {\n options = next;\n syncHidden();\n });\n },\n toggle(index) {\n if (!(Number.isInteger(index) && index >= 0)) return null;\n if (index >= toggleCount(options)) return null;\n const proposed = new Set(hidden);\n const nowHidden = !proposed.has(index);\n if (nowHidden) proposed.add(index);\n else proposed.delete(index);\n if (!options.hidden)\n transition(() => {\n if (nowHidden) hidden.add(index);\n else hidden.delete(index);\n });\n return { index, hidden: nowHidden, hiddenIndexes: sorted(proposed) };\n },\n hiddenIndexes: () => sorted(hidden),\n drill(path) {\n if (options.type !== \"sunburst\") return null;\n const before = currentFocus();\n const next = resolveSunburstPath(options, path, hidden);\n if (next.join(\"\\u0000\") === before.join(\"\\u0000\")) return null;\n if (!options.drillPath)\n transition(() => {\n focus = next;\n });\n return { path: next };\n },\n drillPath: () => currentFocus(),\n frame(time, input) {\n let enter = 1;\n if (!entered) {\n if (!animated()) entered = true;\n else {\n if (entryStart === null) entryStart = time;\n const p = (time - entryStart) / ENTER_MS;\n enter = easeOutCubic(p);\n if (p >= 1) {\n entered = true;\n enter = 1;\n }\n }\n }\n let t = 1;\n if (update) {\n if (!animated()) update = null;\n else {\n if (update.start === null) update.start = time;\n const p = (time - update.start) / UPDATE_MS;\n t = p >= 1 ? 1 : easeOutCubic(p);\n }\n }\n lastT = t;\n const scene = layoutShapeScene({\n ...input,\n options,\n hidden,\n enter,\n from: update?.from ?? null,\n t,\n focus: currentFocus(),\n });\n if (update && t >= 1) update = null;\n return { scene, animating: !entered || update !== null };\n },\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("../color.cjs"),t=require("../overlay.cjs"),n=require("./labels.cjs"),r=require("./scene.cjs");var i=e=>{let t=[],n=[],i=[],a=new Map;for(let r of e.nodes??[])a.set(r.name,a.get(r.name)??t.length),t.push(r.name),n.push(r.color),i.push(typeof r.column==`number`&&Number.isFinite(r.column)?Math.max(0,Math.round(r.column)):void 0);let o=t.length,s=e=>{if(typeof e==`number`)return Number.isInteger(e)&&e>=0&&e<o?e:-1;if(typeof e!=`string`)return-1;let r=a.get(e);return r===void 0?(a.set(e,t.length),t.push(e),n.push(void 0),i.push(void 0),t.length-1):r},c=[],l=(e,t)=>{let n=new Set([e]),r=[e];for(;r.length;){let e=r.pop();if(e===t)return!0;for(let t of c[e]??[])n.has(t)||(n.add(t),r.push(t))}return!1},u=[];return(e.links??[]).forEach((e,t)=>{if(!e)return;let n=s(e.source),i=s(e.target);n<0||i<0||n===i||l(i,n)||((c[n]??(c[n]=[])).push(i),u.push({link:t,source:n,target:i,value:r.positive(e.value),...e.color?{color:e.color}:{}}))}),{names:t,colors:n,columns:i,edges:u}},a=e=>r.uniqueKeys(e.edges.map(t=>`${e.names[t.source]}\u2192${e.names[t.target]}`)),o=(e,t,n)=>{let r=i(e);a(r).forEach((e,i)=>{let a=r.edges[i];n.set(e,t.has(a.source)||t.has(a.target)?0:a.value)})},s=(e,t=`justify`)=>{let n=e.names.length,r=Array.from({length:n},()=>[]),i=Array.from({length:n},()=>[]);for(let t of e.edges)r[t.source].push(t.target),i[t.target].push(t.source);let a=[],o=i.map(e=>e.length),s=[];for(o.forEach((e,t)=>{e||s.push(t)});s.length;){let e=s.shift();a.push(e);for(let t of r[e])--o[t]===0&&s.push(t)}let c=Array(n).fill(0);for(let e of a)for(let t of r[e])c[t]=Math.max(c[t],c[e]+1);let l=Array(n).fill(0);for(let e=a.length-1;e>=0;e--){let t=a[e];for(let e of r[t])l[t]=Math.max(l[t],l[e]+1)}let u=Math.max(0,...c),d=c.map((e,n)=>{switch(t){case`left`:return e;case`right`:return u-l[n];case`center`:return i[n].length?e:r[n].length?Math.min(...r[n].map(e=>c[e]))-1:0;default:return r[n].length?e:u}});return e.columns.forEach((e,t)=>{e!==void 0&&(d[t]=e)}),d},c=(e,t,n,r,i,a)=>{let o=e=>e.outs.map(e=>t[e]),s=e=>e.ins.map(e=>t[e]),c=e=>{e.outs.sort((e,n)=>t[e].target.y0-t[n].target.y0),e.ins.sort((e,n)=>t[e].source.y0-t[n].source.y0)},l=(e,t)=>{let n=e.y0-(e.outs.length-1)*i/2;for(let r of o(e)){if(r.target===t)break;n+=r.width+i}for(let r of s(t)){if(r.source===e)break;n-=r.width}return n},u=(e,t)=>{let n=t.y0-(t.ins.length-1)*i/2;for(let r of s(t)){if(r.source===e)break;n+=r.width+i}for(let r of o(e)){if(r.target===t)break;n-=r.width}return n},d=(e,t,n,r)=>{for(let a=n;a<e.length;a++){let n=e[a],o=(t-n.y0)*r;o>1e-6&&(n.y0+=o,n.y1+=o),t=n.y1+i}},f=(e,t,n,r)=>{for(let a=n;a>=0;a--){let n=e[a],o=(n.y1-t)*r;o>1e-6&&(n.y0-=o,n.y1-=o),t=n.y0-i}},p=(e,t)=>{let a=e.length>>1,o=e[a];o&&(f(e,o.y0-i,a-1,t),d(e,o.y1+i,a+1,t),f(e,r,e.length-1,t),d(e,n,0,t))},m=(e,t)=>e.y0-t.y0;for(let t of e){let e=n;for(let n of t){let t=n.y1-n.y0;n.y0=e,n.y1=e+t,e=n.y1+i}let a=(r-e+i)/(t.length+1);t.forEach((e,t)=>{e.y0+=a*(t+1),e.y1+=a*(t+1)})}for(let t of e)t.forEach(c);for(let t=0;t<a;t++){let n=.99**t,r=Math.max(1-n,(t+1)/a);for(let t=e.length-2;t>=0;t--){let i=e[t];for(let e of i){let t=0,r=0;for(let n of o(e)){let i=n.value*(n.target.col-e.col);t+=u(e,n.target)*i,r+=i}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,c(e)}i.sort(m),p(i,r)}for(let t=1;t<e.length;t++){let i=e[t];for(let e of i){let t=0,r=0;for(let n of s(e)){let i=n.value*(e.col-n.source.col);t+=l(n.source,e)*i,r+=i}if(!(r>0))continue;let i=(t/r-e.y0)*n;e.y0+=i,e.y1+=i,c(e)}i.sort(m),p(i,r)}}for(let t of e)t.forEach(c)},l=6,u=16,d=(o,d)=>{let{theme:f,area:p,measure:m,hidden:h}=d,g=i(o),_=a(g),v=g.names.length,y=g.edges.map(e=>h.has(e.source)||h.has(e.target)?0:e.value),b=y.map((e,t)=>Math.max(0,d.value(_[t],e)));if(r.sum(b)<=1e-9)return r.emptyLayout(d);let x=s(g,o.align),S=Array(v).fill(0),C=Array(v).fill(0),w=Array(v).fill(0),T=Array(v).fill(0);g.edges.forEach((e,t)=>{C[e.source]+=y[t],S[e.target]+=y[t],T[e.source]+=b[t],w[e.target]+=b[t]});let E=g.names.map((e,t)=>{let n=Math.max(w[t],T[t]);return n>1e-9?{i:t,col:x[t],value:n,x0:0,x1:0,y0:0,y1:0,outs:[],ins:[]}:null}),D=[...new Set(E.filter(e=>e).map(e=>e.col))].sort((e,t)=>e-t),O=new Map(D.map((e,t)=>[e,t])),k=D.map(()=>[]);for(let e of E)e&&(e.col=O.get(e.col)??0,k[e.col].push(e));let A=[];g.edges.forEach((e,t)=>{let n=E[e.source],r=E[e.target];!n||!r||b[t]<=1e-9||(n.outs.push(A.length),r.ins.push(A.length),A.push({k:t,source:n,target:r,value:b[t],width:0,y0:0,y1:0}))});let j=r.clamp(r.finite(o.nodeWidth,12),1,64),M=k.length,N=p.y+2,P=p.y+p.height-2,F=Math.max(1,P-N),I=Math.max(1,...k.map(e=>e.length)),L=Math.min(Math.max(0,r.finite(o.nodePadding,12)),I>1?F*.5/(I-1):1/0),R=Math.min(...k.map(e=>(F-(e.length-1)*L)/Math.max(1e-9,r.sum(e.map(e=>e.value))))),z=M>1?(p.width-j)/(M-1):0;k.forEach((e,t)=>{let n=M>1?p.x+t*z:p.x+(p.width-j)/2;for(let t of e)t.x0=n,t.x1=n+j,t.y0=0,t.y1=t.value*R});for(let e of A)e.width=e.value*R;c(k,A,N,P,L,Math.round(r.clamp(r.finite(o.iterations,32),0,200)));for(let e of k)for(let t of e){let e=t.y0;for(let n of t.outs)A[n].y0=e+A[n].width/2,e+=A[n].width;e=t.y0;for(let n of t.ins)A[n].y1=e+A[n].width/2,e+=A[n].width}let B=g.names.map((e,t)=>d.color(g.colors[t],t)).map(t=>e.toCss(t)),V=e.mix(f.grid,f.textMuted,.45),H=o.linkColor??`gradient`,U=r.clamp(r.finite(o.linkOpacity,.4),.02,1),W=Math.min(1,U+.3),G=[],K=[],q=e=>v+g.edges[e.k].link,J=e=>[...e.ins.map(e=>q(A[e])),...e.outs.map(e=>q(A[e]))],Y=A.slice().sort((e,t)=>t.width-e.width);for(let t of Y){let n=g.edges[t.k].color,r,i;n?r=i=e.toCss(d.color(n,t.source.i)):H===`source`?r=i=B[t.source.i]:H===`target`?r=i=B[t.target.i]:H===`neutral`?r=i=e.toCss(V):(r=B[t.source.i],i=B[t.target.i]),G.push({kind:`link`,x0:t.source.x1,y0:t.y0,x1:t.target.x0,y1:t.y1,width:t.width,color0:r,color1:i,alpha:U,activeAlpha:W,hit:q(t),also:[t.source.i,t.target.i]})}for(let e of k)for(let t of e)G.push({kind:`rect`,x:t.x0,y:t.y0,width:t.x1-t.x0,height:Math.max(1,t.y1-t.y0),radius:Math.min(2,j/2),fill:B[t.i],hit:t.i,also:J(t),brighten:!0});if(o.labels!==!1){let n=t.font(f,12,500),i=t.font(f,12),a=e.toCss(f.background,.8),s=[],c=M>1?Math.max(0,z-j-12):p.width,h=k.flat().slice().sort((e,t)=>Number(t.col===M-1)-Number(e.col===M-1)||t.value-e.value);for(let t of h){let h=M>1&&t.col===M-1,_=o.labelValues===!1?``:d.format(Math.max(S[t.i],C[t.i])),v=_?m(_,i):0,y=r.ellipsize(g.names[t.i],c-(_?v+6:0),n,m);if(!y&&_&&(_=``,v=0,y=r.ellipsize(g.names[t.i],c,n,m)),!y)continue;let b=m(y,n)+(_?6+v:0),x=h?[!0,!1]:[!1,!0],w=Math.max(0,(t.y1-t.y0)/2-u/2+2),T=[0];for(let e=6;e<=w;e+=6)T.push(e,-e);let E=null;for(let e of x){let n=e?t.x0-l:t.x1+l,r=e?n-b:n;if(!(r<p.x-2||r+b>p.x+p.width+2)){for(let e of T){let n=(t.y0+t.y1)/2+e,i={x0:r,x1:r+b,y0:n-u/2,y1:n+u/2};if(!(i.y0<p.y-4||i.y1>p.y+p.height+4||s.some(e=>e.x0<i.x1&&i.x0<e.x1&&e.y0<i.y1&&i.y0<e.y1))){E=i;break}}if(E)break}}if(!E)continue;s.push(E);let D=(E.y0+E.y1)/2,O=J(t);G.push({kind:`text`,x:E.x0,y:D,text:y,font:n,color:e.toCss(f.text),align:`left`,baseline:`middle`,halo:a,hit:t.i,also:O}),_&&G.push({kind:`text`,x:E.x1,y:D,text:_,font:i,color:e.toCss(f.textMuted),align:`right`,baseline:`middle`,halo:a,hit:t.i,also:O})}}let X=r.sum(g.names.map((e,t)=>S[t]<=0?C[t]:0));for(let e of k)for(let t of e.slice().sort((e,t)=>e.y0-t.y0)){let e=Math.max(S[t.i],C[t.i]);if(e<=0)continue;let n=X>0?e/X:0;K.push({index:t.i,name:g.names[t.i],value:e,percent:n,share:d.percent(n),color:B[t.i],x:(t.x0+t.x1)/2,y:(t.y0+t.y1)/2,rows:[{name:d.labels.value,value:d.format(e)},...S[t.i]>0?[{name:d.labels.incoming,value:d.format(S[t.i])}]:[],...C[t.i]>0?[{name:d.labels.outgoing,value:d.format(C[t.i])}]:[]]})}let Z=A.slice().sort((e,t)=>e.source.col-t.source.col||e.y0-t.y0||e.target.y0-t.target.y0);for(let e of Z){let t=g.edges[e.k],r=y[e.k];if(r<=0)continue;let i=g.names[t.source],a=g.names[t.target],o=C[t.source]>0?r/C[t.source]:0,s=S[t.target]>0?r/S[t.target]:0;K.push({index:q(e),name:`${i} \u2192 ${a}`,value:r,percent:o,share:d.percent(o),color:B[t.source],x:(e.source.x1+e.target.x0)/2,y:(e.y0+e.y1)/2,rows:[{name:d.labels.value,value:d.format(r)},{name:n.interpolate(d.labels.ofName,{name:i}),value:d.percent(o)},{name:n.interpolate(d.labels.ofName,{name:a}),value:d.percent(s)}],event:{source:i,target:a}})}let Q=r.clamp(d.enter,0,1);return{nodes:G,items:K,dim:.3,empty:!1,...Q<1?{enter:{alpha:Q,scale:.97+.03*Q,cx:p.x+p.width/2,cy:p.y+p.height/2}}:{}}};exports.layoutSankey=d,exports.resolveSankey=i,exports.sankeyColumns=s,exports.sankeyValues=o;
2
+ //# sourceMappingURL=sankey.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sankey.cjs","names":["positive","uniqueKeys","sum","emptyLayout","clamp","finite","toCss","mix","font","ellipsize","interpolate","require_color","require_overlay","require_labels","require_scene","resolveSankey","names","colors","columns","byName","node","o","declared","resolve","end","known","out","reaches","seen","from","stack","n","to","m","edges","l","source","target","i","edgeKeys","g","e","sankeyValues","k","key","hidden","sankeyColumns","outs","ins","order","pending","queue","p","depth","height","t","last","align","d","col","relax","outsOf","insOf","reorder","a","b","targetTop","y","py","sourceTop","down","nodes","dy","alpha","up","collide","mid","subject","bottom","top","byY","h","extra","it","iterations","beta","c","w","v","LABEL_GAP","LABEL_LINE","layoutSankey","keys","targets","shown","columnOf","inT","outT","inV","outV","laid","value","used","rank","nodeWidth","ncols","area","maxCount","ky","step","x0","css","neutral","theme","mode","opacity","activeAlpha","items","linkIndex","linksOf","drawn","own","c0","c1","nameFont","valueFont","halo","boxes","room","valueW","measure","name","width","sides","reach","offsets","box","left","x","candidate","also","entering","percent","linkItems","ge","ofSource","ofTarget","enter"],"sources":["../../../../../charts/src/engine/shapes/sankey.ts"],"sourcesContent":["// Sankey layout: nodes in columns (longest path from the sources), heights\n// proportional to their flow, vertical positions relaxed toward the weighted\n// center of their neighbours (fewer crossings, straighter flows), links as\n// S-curves of constant thickness with a gradient from the source color.\n\nimport { mix, toCss, type Rgba } from \"../color\";\nimport { font } from \"../overlay\";\nimport { interpolate } from \"./labels\";\nimport {\n clamp,\n ellipsize,\n emptyLayout,\n finite,\n positive,\n sum,\n uniqueKeys,\n type LayoutContext,\n type LayoutResult,\n type ShapeItem,\n type ShapeNode,\n} from \"./scene\";\nimport type { SankeyChartOptions } from \"./types\";\n\n/** A link that takes part in the layout */\nexport interface SankeyEdge {\n /** Index in `options.links` */\n link: number;\n source: number;\n target: number;\n /** Target value (negative values count as 0) */\n value: number;\n color?: string;\n}\n\n/** Nodes (declared first, then the ones only named by links) and valid links */\nexport interface SankeyGraph {\n names: string[];\n colors: (string | undefined)[];\n columns: (number | undefined)[];\n edges: SankeyEdge[];\n}\n\n/**\n * Resolves the links' ends (names or indexes), appends the nodes only named\n * by links, drops self links, invalid ends and the links closing a cycle.\n */\nexport const resolveSankey = (o: SankeyChartOptions): SankeyGraph => {\n const names: string[] = [];\n const colors: (string | undefined)[] = [];\n const columns: (number | undefined)[] = [];\n const byName = new Map<string, number>();\n for (const node of o.nodes ?? []) {\n byName.set(node.name, byName.get(node.name) ?? names.length);\n names.push(node.name);\n colors.push(node.color);\n columns.push(\n typeof node.column === \"number\" && Number.isFinite(node.column)\n ? Math.max(0, Math.round(node.column))\n : undefined,\n );\n }\n const declared = names.length;\n const resolve = (end: string | number): number => {\n if (typeof end === \"number\")\n return Number.isInteger(end) && end >= 0 && end < declared ? end : -1;\n if (typeof end !== \"string\") return -1;\n const known = byName.get(end);\n if (known !== undefined) return known;\n byName.set(end, names.length);\n names.push(end);\n colors.push(undefined);\n columns.push(undefined);\n return names.length - 1;\n };\n const out: number[][] = [];\n const reaches = (from: number, to: number) => {\n const seen = new Set<number>([from]);\n const stack = [from];\n while (stack.length) {\n const n = stack.pop() as number;\n if (n === to) return true;\n for (const m of out[n] ?? [])\n if (!seen.has(m)) {\n seen.add(m);\n stack.push(m);\n }\n }\n return false;\n };\n const edges: SankeyEdge[] = [];\n (o.links ?? []).forEach((l, i) => {\n if (!l) return;\n const source = resolve(l.source);\n const target = resolve(l.target);\n if (source < 0 || target < 0 || source === target) return;\n if (reaches(target, source)) return;\n (out[source] ??= []).push(target);\n edges.push({\n link: i,\n source,\n target,\n value: positive(l.value),\n ...(l.color ? { color: l.color } : {}),\n });\n });\n return { names, colors, columns, edges };\n};\n\nconst edgeKeys = (g: SankeyGraph) =>\n uniqueKeys(\n g.edges.map((e) => `${g.names[e.source]}\\u2192${g.names[e.target]}`),\n );\n\n/** Target values of the links (0 when an end is hidden) */\nexport const sankeyValues = (\n o: SankeyChartOptions,\n hidden: ReadonlySet<number>,\n out: Map<string, number>,\n) => {\n const g = resolveSankey(o);\n edgeKeys(g).forEach((key, k) => {\n const e = g.edges[k];\n out.set(key, hidden.has(e.source) || hidden.has(e.target) ? 0 : e.value);\n });\n};\n\n/** Column of every node (`align` and the explicit `column`s) */\nexport const sankeyColumns = (\n g: SankeyGraph,\n align: SankeyChartOptions[\"align\"] = \"justify\",\n): number[] => {\n const n = g.names.length;\n const outs: number[][] = Array.from({ length: n }, () => []);\n const ins: number[][] = Array.from({ length: n }, () => []);\n for (const e of g.edges) {\n outs[e.source].push(e.target);\n ins[e.target].push(e.source);\n }\n // longest path from the sources (depth) and to the sinks (height)\n const order: number[] = [];\n const pending = ins.map((l) => l.length);\n const queue: number[] = [];\n pending.forEach((p, i) => {\n if (!p) queue.push(i);\n });\n while (queue.length) {\n const i = queue.shift() as number;\n order.push(i);\n for (const t of outs[i]) if (--pending[t] === 0) queue.push(t);\n }\n const depth = new Array<number>(n).fill(0);\n for (const i of order)\n for (const t of outs[i]) depth[t] = Math.max(depth[t], depth[i] + 1);\n const height = new Array<number>(n).fill(0);\n for (let k = order.length - 1; k >= 0; k--) {\n const i = order[k];\n for (const t of outs[i]) height[i] = Math.max(height[i], height[t] + 1);\n }\n const last = Math.max(0, ...depth);\n const columns = depth.map((d, i) => {\n switch (align) {\n case \"left\":\n return d;\n case \"right\":\n return last - height[i];\n case \"center\":\n return ins[i].length\n ? d\n : outs[i].length\n ? Math.min(...outs[i].map((t) => depth[t])) - 1\n : 0;\n default:\n return outs[i].length ? d : last;\n }\n });\n g.columns.forEach((col, i) => {\n if (col !== undefined) columns[i] = col;\n });\n return columns;\n};\n\ninterface LaidNode {\n i: number;\n col: number;\n value: number;\n x0: number;\n x1: number;\n y0: number;\n y1: number;\n /** Links leaving / entering the node (indexes in `edges`) */\n outs: number[];\n ins: number[];\n}\n\ninterface LaidEdge {\n k: number;\n source: LaidNode;\n target: LaidNode;\n value: number;\n width: number;\n y0: number;\n y1: number;\n}\n\n/** Vertical positions (d3-sankey's initialization, relaxation and collision passes) */\nconst relax = (\n columns: LaidNode[][],\n edges: LaidEdge[],\n top: number,\n bottom: number,\n py: number,\n iterations: number,\n) => {\n const outsOf = (n: LaidNode) => n.outs.map((k) => edges[k]);\n const insOf = (n: LaidNode) => n.ins.map((k) => edges[k]);\n\n const reorder = (n: LaidNode) => {\n n.outs.sort((a, b) => edges[a].target.y0 - edges[b].target.y0);\n n.ins.sort((a, b) => edges[a].source.y0 - edges[b].source.y0);\n };\n /** Top of `target` for which the link from `source` would be horizontal */\n const targetTop = (source: LaidNode, target: LaidNode) => {\n let y = source.y0 - ((source.outs.length - 1) * py) / 2;\n for (const e of outsOf(source)) {\n if (e.target === target) break;\n y += e.width + py;\n }\n for (const e of insOf(target)) {\n if (e.source === source) break;\n y -= e.width;\n }\n return y;\n };\n const sourceTop = (source: LaidNode, target: LaidNode) => {\n let y = target.y0 - ((target.ins.length - 1) * py) / 2;\n for (const e of insOf(target)) {\n if (e.source === source) break;\n y += e.width + py;\n }\n for (const e of outsOf(source)) {\n if (e.target === target) break;\n y -= e.width;\n }\n return y;\n };\n const down = (nodes: LaidNode[], y: number, from: number, alpha: number) => {\n for (let i = from; i < nodes.length; i++) {\n const n = nodes[i];\n const dy = (y - n.y0) * alpha;\n if (dy > 1e-6) {\n n.y0 += dy;\n n.y1 += dy;\n }\n y = n.y1 + py;\n }\n };\n const up = (nodes: LaidNode[], y: number, from: number, alpha: number) => {\n for (let i = from; i >= 0; i--) {\n const n = nodes[i];\n const dy = (n.y1 - y) * alpha;\n if (dy > 1e-6) {\n n.y0 -= dy;\n n.y1 -= dy;\n }\n y = n.y0 - py;\n }\n };\n const collide = (nodes: LaidNode[], alpha: number) => {\n const mid = nodes.length >> 1;\n const subject = nodes[mid];\n if (!subject) return;\n up(nodes, subject.y0 - py, mid - 1, alpha);\n down(nodes, subject.y1 + py, mid + 1, alpha);\n up(nodes, bottom, nodes.length - 1, alpha);\n down(nodes, top, 0, alpha);\n };\n const byY = (a: LaidNode, b: LaidNode) => a.y0 - b.y0;\n\n // initial positions: stacked in the data order, the free space spread out\n for (const nodes of columns) {\n let y = top;\n for (const n of nodes) {\n const h = n.y1 - n.y0;\n n.y0 = y;\n n.y1 = y + h;\n y = n.y1 + py;\n }\n const extra = (bottom - y + py) / (nodes.length + 1);\n nodes.forEach((n, i) => {\n n.y0 += extra * (i + 1);\n n.y1 += extra * (i + 1);\n });\n }\n for (const nodes of columns) nodes.forEach(reorder);\n\n for (let it = 0; it < iterations; it++) {\n const alpha = Math.pow(0.99, it);\n const beta = Math.max(1 - alpha, (it + 1) / iterations);\n // right to left: nodes move toward their targets\n for (let c = columns.length - 2; c >= 0; c--) {\n const nodes = columns[c];\n for (const n of nodes) {\n let y = 0;\n let w = 0;\n for (const e of outsOf(n)) {\n const v = e.value * (e.target.col - n.col);\n y += sourceTop(n, e.target) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n const dy = (y / w - n.y0) * alpha;\n n.y0 += dy;\n n.y1 += dy;\n reorder(n);\n }\n nodes.sort(byY);\n collide(nodes, beta);\n }\n // left to right: nodes move toward their sources\n for (let c = 1; c < columns.length; c++) {\n const nodes = columns[c];\n for (const n of nodes) {\n let y = 0;\n let w = 0;\n for (const e of insOf(n)) {\n const v = e.value * (n.col - e.source.col);\n y += targetTop(e.source, n) * v;\n w += v;\n }\n if (!(w > 0)) continue;\n const dy = (y / w - n.y0) * alpha;\n n.y0 += dy;\n n.y1 += dy;\n reorder(n);\n }\n nodes.sort(byY);\n collide(nodes, beta);\n }\n }\n for (const nodes of columns) nodes.forEach(reorder);\n};\n\nconst LABEL_GAP = 6;\nconst LABEL_LINE = 16;\n\nexport const layoutSankey = (\n o: SankeyChartOptions,\n c: LayoutContext,\n): LayoutResult => {\n const { theme, area, measure, hidden } = c;\n const g = resolveSankey(o);\n const keys = edgeKeys(g);\n const n = g.names.length;\n const targets = g.edges.map((e) =>\n hidden.has(e.source) || hidden.has(e.target) ? 0 : e.value,\n );\n const shown = targets.map((t, k) => Math.max(0, c.value(keys[k], t)));\n if (sum(shown) <= 1e-9) return emptyLayout(c);\n\n const columnOf = sankeyColumns(g, o.align);\n const inT = new Array<number>(n).fill(0);\n const outT = new Array<number>(n).fill(0);\n const inV = new Array<number>(n).fill(0);\n const outV = new Array<number>(n).fill(0);\n g.edges.forEach((e, k) => {\n outT[e.source] += targets[k];\n inT[e.target] += targets[k];\n outV[e.source] += shown[k];\n inV[e.target] += shown[k];\n });\n\n // nodes with a flow, by column (empty columns removed)\n const laid: (LaidNode | null)[] = g.names.map((_, i) => {\n const value = Math.max(inV[i], outV[i]);\n return value > 1e-9\n ? {\n i,\n col: columnOf[i],\n value,\n x0: 0,\n x1: 0,\n y0: 0,\n y1: 0,\n outs: [],\n ins: [],\n }\n : null;\n });\n const used = [\n ...new Set(laid.filter((l) => l).map((l) => (l as LaidNode).col)),\n ].sort((a, b) => a - b);\n const rank = new Map(used.map((col, k) => [col, k]));\n const columns: LaidNode[][] = used.map(() => []);\n for (const l of laid)\n if (l) {\n l.col = rank.get(l.col) ?? 0;\n columns[l.col].push(l);\n }\n const edges: LaidEdge[] = [];\n g.edges.forEach((e, k) => {\n const source = laid[e.source];\n const target = laid[e.target];\n if (!source || !target || shown[k] <= 1e-9) return;\n source.outs.push(edges.length);\n target.ins.push(edges.length);\n edges.push({\n k,\n source,\n target,\n value: shown[k],\n width: 0,\n y0: 0,\n y1: 0,\n });\n });\n\n // geometry\n const nodeWidth = clamp(finite(o.nodeWidth, 12), 1, 64);\n const ncols = columns.length;\n const top = area.y + 2;\n const bottom = area.y + area.height - 2;\n const height = Math.max(1, bottom - top);\n const maxCount = Math.max(1, ...columns.map((col) => col.length));\n const py = Math.min(\n Math.max(0, finite(o.nodePadding, 12)),\n maxCount > 1 ? (height * 0.5) / (maxCount - 1) : Infinity,\n );\n const ky = Math.min(\n ...columns.map(\n (col) =>\n (height - (col.length - 1) * py) /\n Math.max(1e-9, sum(col.map((l) => l.value))),\n ),\n );\n const step = ncols > 1 ? (area.width - nodeWidth) / (ncols - 1) : 0;\n columns.forEach((col, k) => {\n const x0 =\n ncols > 1 ? area.x + k * step : area.x + (area.width - nodeWidth) / 2;\n for (const l of col) {\n l.x0 = x0;\n l.x1 = x0 + nodeWidth;\n l.y0 = 0;\n l.y1 = l.value * ky;\n }\n });\n for (const e of edges) e.width = e.value * ky;\n relax(\n columns,\n edges,\n top,\n bottom,\n py,\n Math.round(clamp(finite(o.iterations, 32), 0, 200)),\n );\n // where the links leave / reach the nodes\n for (const col of columns)\n for (const l of col) {\n let y = l.y0;\n for (const k of l.outs) {\n edges[k].y0 = y + edges[k].width / 2;\n y += edges[k].width;\n }\n y = l.y0;\n for (const k of l.ins) {\n edges[k].y1 = y + edges[k].width / 2;\n y += edges[k].width;\n }\n }\n\n // colors\n const colors: Rgba[] = g.names.map((_, i) => c.color(g.colors[i], i));\n const css = colors.map((col) => toCss(col));\n const neutral = mix(theme.grid, theme.textMuted, 0.45);\n const mode = o.linkColor ?? \"gradient\";\n const opacity = clamp(finite(o.linkOpacity, 0.4), 0.02, 1);\n const activeAlpha = Math.min(1, opacity + 0.3);\n\n const nodes: ShapeNode[] = [];\n const items: ShapeItem[] = [];\n const linkIndex = (e: LaidEdge) => n + g.edges[e.k].link;\n const linksOf = (l: LaidNode) => [\n ...l.ins.map((k) => linkIndex(edges[k])),\n ...l.outs.map((k) => linkIndex(edges[k])),\n ];\n\n // links: widest first, so the thin ones stay on top (and hoverable)\n const drawn = edges.slice().sort((a, b) => b.width - a.width);\n for (const e of drawn) {\n const own = g.edges[e.k].color;\n let c0: string;\n let c1: string;\n if (own) c0 = c1 = toCss(c.color(own, e.source.i));\n else if (mode === \"source\") c0 = c1 = css[e.source.i];\n else if (mode === \"target\") c0 = c1 = css[e.target.i];\n else if (mode === \"neutral\") c0 = c1 = toCss(neutral);\n else {\n c0 = css[e.source.i];\n c1 = css[e.target.i];\n }\n nodes.push({\n kind: \"link\",\n x0: e.source.x1,\n y0: e.y0,\n x1: e.target.x0,\n y1: e.y1,\n width: e.width,\n color0: c0,\n color1: c1,\n alpha: opacity,\n activeAlpha,\n hit: linkIndex(e),\n also: [e.source.i, e.target.i],\n });\n }\n\n // node bars\n for (const col of columns)\n for (const l of col)\n nodes.push({\n kind: \"rect\",\n x: l.x0,\n y: l.y0,\n width: l.x1 - l.x0,\n height: Math.max(1, l.y1 - l.y0),\n radius: Math.min(2, nodeWidth / 2),\n fill: css[l.i],\n hit: l.i,\n also: linksOf(l),\n brighten: true,\n });\n\n // labels: right of the nodes, left of the last column; the biggest first\n if (o.labels !== false) {\n const nameFont = font(theme, 12, 500);\n const valueFont = font(theme, 12);\n const halo = toCss(theme.background, 0.8);\n const boxes: { x0: number; x1: number; y0: number; y1: number }[] = [];\n const room =\n ncols > 1 ? Math.max(0, step - nodeWidth - LABEL_GAP * 2) : area.width;\n // the last column first (its labels have a single side), then the biggest\n const order = columns\n .flat()\n .slice()\n .sort(\n (a, b) =>\n Number(b.col === ncols - 1) - Number(a.col === ncols - 1) ||\n b.value - a.value,\n );\n for (const l of order) {\n const last = ncols > 1 && l.col === ncols - 1;\n let value =\n o.labelValues === false ? \"\" : c.format(Math.max(inT[l.i], outT[l.i]));\n let valueW = value ? measure(value, valueFont) : 0;\n let name = ellipsize(\n g.names[l.i],\n room - (value ? valueW + 6 : 0),\n nameFont,\n measure,\n );\n if (!name && value) {\n value = \"\";\n valueW = 0;\n name = ellipsize(g.names[l.i], room, nameFont, measure);\n }\n if (!name) continue;\n const nameW = measure(name, nameFont);\n const width = nameW + (value ? 6 + valueW : 0);\n // candidates: the preferred side (inward for the last column), then\n // the other one when it stays in the drawing; each nudged along the bar\n const sides = last ? [true, false] : [false, true];\n const reach = Math.max(0, (l.y1 - l.y0) / 2 - LABEL_LINE / 2 + 2);\n const offsets = [0];\n for (let d = 6; d <= reach; d += 6) offsets.push(d, -d);\n let box: { x0: number; x1: number; y0: number; y1: number } | null = null;\n for (const left of sides) {\n const x = left ? l.x0 - LABEL_GAP : l.x1 + LABEL_GAP;\n const x0 = left ? x - width : x;\n if (x0 < area.x - 2 || x0 + width > area.x + area.width + 2) continue;\n for (const dy of offsets) {\n const y = (l.y0 + l.y1) / 2 + dy;\n const candidate = {\n x0,\n x1: x0 + width,\n y0: y - LABEL_LINE / 2,\n y1: y + LABEL_LINE / 2,\n };\n if (\n candidate.y0 < area.y - 4 ||\n candidate.y1 > area.y + area.height + 4 ||\n boxes.some(\n (b) =>\n b.x0 < candidate.x1 &&\n candidate.x0 < b.x1 &&\n b.y0 < candidate.y1 &&\n candidate.y0 < b.y1,\n )\n )\n continue;\n box = candidate;\n break;\n }\n if (box) break;\n }\n if (!box) continue;\n boxes.push(box);\n const y = (box.y0 + box.y1) / 2;\n const also = linksOf(l);\n nodes.push({\n kind: \"text\",\n x: box.x0,\n y,\n text: name,\n font: nameFont,\n color: toCss(theme.text),\n align: \"left\",\n baseline: \"middle\",\n halo,\n hit: l.i,\n also,\n });\n if (value)\n nodes.push({\n kind: \"text\",\n x: box.x1,\n y,\n text: value,\n font: valueFont,\n color: toCss(theme.textMuted),\n align: \"right\",\n baseline: \"middle\",\n halo,\n hit: l.i,\n also,\n });\n }\n }\n\n // items: nodes by column and position, then links\n const entering = sum(g.names.map((_, i) => (inT[i] <= 0 ? outT[i] : 0)));\n for (const col of columns)\n for (const l of col.slice().sort((a, b) => a.y0 - b.y0)) {\n const value = Math.max(inT[l.i], outT[l.i]);\n if (value <= 0) continue;\n const percent = entering > 0 ? value / entering : 0;\n items.push({\n index: l.i,\n name: g.names[l.i],\n value,\n percent,\n share: c.percent(percent),\n color: css[l.i],\n x: (l.x0 + l.x1) / 2,\n y: (l.y0 + l.y1) / 2,\n rows: [\n { name: c.labels.value, value: c.format(value) },\n ...(inT[l.i] > 0\n ? [{ name: c.labels.incoming, value: c.format(inT[l.i]) }]\n : []),\n ...(outT[l.i] > 0\n ? [{ name: c.labels.outgoing, value: c.format(outT[l.i]) }]\n : []),\n ],\n });\n }\n const linkItems = edges\n .slice()\n .sort(\n (a, b) =>\n a.source.col - b.source.col || a.y0 - b.y0 || a.target.y0 - b.target.y0,\n );\n for (const e of linkItems) {\n const ge = g.edges[e.k];\n const value = targets[e.k];\n if (value <= 0) continue;\n const source = g.names[ge.source];\n const target = g.names[ge.target];\n const ofSource = outT[ge.source] > 0 ? value / outT[ge.source] : 0;\n const ofTarget = inT[ge.target] > 0 ? value / inT[ge.target] : 0;\n items.push({\n index: linkIndex(e),\n name: `${source} \\u2192 ${target}`,\n value,\n percent: ofSource,\n share: c.percent(ofSource),\n color: css[ge.source],\n x: (e.source.x1 + e.target.x0) / 2,\n y: (e.y0 + e.y1) / 2,\n rows: [\n { name: c.labels.value, value: c.format(value) },\n {\n name: interpolate(c.labels.ofName, { name: source }),\n value: c.percent(ofSource),\n },\n {\n name: interpolate(c.labels.ofName, { name: target }),\n value: c.percent(ofTarget),\n },\n ],\n event: { source, target },\n });\n }\n\n const enter = clamp(c.enter, 0, 1);\n return {\n nodes,\n items,\n dim: 0.3,\n empty: false,\n ...(enter < 1\n ? {\n enter: {\n alpha: enter,\n scale: 0.97 + 0.03 * enter,\n cx: area.x + area.width / 2,\n cy: area.y + area.height / 2,\n },\n }\n : {}),\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { LayoutContext, LayoutResult } from './scene.cjs';
2
+ import { SankeyChartOptions } from './types.cjs';
3
+ /** A link that takes part in the layout */
4
+ export interface SankeyEdge {
5
+ /** Index in `options.links` */
6
+ link: number;
7
+ source: number;
8
+ target: number;
9
+ /** Target value (negative values count as 0) */
10
+ value: number;
11
+ color?: string;
12
+ }
13
+ /** Nodes (declared first, then the ones only named by links) and valid links */
14
+ export interface SankeyGraph {
15
+ names: string[];
16
+ colors: (string | undefined)[];
17
+ columns: (number | undefined)[];
18
+ edges: SankeyEdge[];
19
+ }
20
+ /**
21
+ * Resolves the links' ends (names or indexes), appends the nodes only named
22
+ * by links, drops self links, invalid ends and the links closing a cycle.
23
+ */
24
+ export declare const resolveSankey: (o: SankeyChartOptions) => SankeyGraph;
25
+ /** Target values of the links (0 when an end is hidden) */
26
+ export declare const sankeyValues: (o: SankeyChartOptions, hidden: ReadonlySet<number>, out: Map<string, number>) => void;
27
+ /** Column of every node (`align` and the explicit `column`s) */
28
+ export declare const sankeyColumns: (g: SankeyGraph, align?: SankeyChartOptions["align"]) => number[];
29
+ export declare const layoutSankey: (o: SankeyChartOptions, c: LayoutContext) => LayoutResult;
@@ -0,0 +1,29 @@
1
+ import { LayoutContext, LayoutResult } from './scene.js';
2
+ import { SankeyChartOptions } from './types.js';
3
+ /** A link that takes part in the layout */
4
+ export interface SankeyEdge {
5
+ /** Index in `options.links` */
6
+ link: number;
7
+ source: number;
8
+ target: number;
9
+ /** Target value (negative values count as 0) */
10
+ value: number;
11
+ color?: string;
12
+ }
13
+ /** Nodes (declared first, then the ones only named by links) and valid links */
14
+ export interface SankeyGraph {
15
+ names: string[];
16
+ colors: (string | undefined)[];
17
+ columns: (number | undefined)[];
18
+ edges: SankeyEdge[];
19
+ }
20
+ /**
21
+ * Resolves the links' ends (names or indexes), appends the nodes only named
22
+ * by links, drops self links, invalid ends and the links closing a cycle.
23
+ */
24
+ export declare const resolveSankey: (o: SankeyChartOptions) => SankeyGraph;
25
+ /** Target values of the links (0 when an end is hidden) */
26
+ export declare const sankeyValues: (o: SankeyChartOptions, hidden: ReadonlySet<number>, out: Map<string, number>) => void;
27
+ /** Column of every node (`align` and the explicit `column`s) */
28
+ export declare const sankeyColumns: (g: SankeyGraph, align?: SankeyChartOptions["align"]) => number[];
29
+ export declare const layoutSankey: (o: SankeyChartOptions, c: LayoutContext) => LayoutResult;