minerva-design 1.4.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (670) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +4047 -1703
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1436 -5
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +573 -4
  7. package/dist/charts/canvas.d.cts +2 -2
  8. package/dist/charts/canvas.d.ts +2 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +6 -4
  11. package/dist/charts/core.d.ts +6 -4
  12. package/dist/charts/core.js +24 -16
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +42 -19
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.js +154 -127
  20. package/dist/charts/engine/canvas.js.map +1 -1
  21. package/dist/charts/engine/chart.cjs +1 -1
  22. package/dist/charts/engine/chart.cjs.map +1 -1
  23. package/dist/charts/engine/chart.js +365 -251
  24. package/dist/charts/engine/chart.js.map +1 -1
  25. package/dist/charts/engine/color.cjs +1 -1
  26. package/dist/charts/engine/color.cjs.map +1 -1
  27. package/dist/charts/engine/color.d.cts +18 -0
  28. package/dist/charts/engine/color.d.ts +18 -0
  29. package/dist/charts/engine/color.js +48 -2
  30. package/dist/charts/engine/color.js.map +1 -1
  31. package/dist/charts/engine/controller.cjs +2 -2
  32. package/dist/charts/engine/controller.cjs.map +1 -1
  33. package/dist/charts/engine/controller.d.cts +32 -1
  34. package/dist/charts/engine/controller.d.ts +32 -1
  35. package/dist/charts/engine/controller.js +310 -263
  36. package/dist/charts/engine/controller.js.map +1 -1
  37. package/dist/charts/engine/data.cjs +1 -1
  38. package/dist/charts/engine/data.cjs.map +1 -1
  39. package/dist/charts/engine/data.d.cts +3 -1
  40. package/dist/charts/engine/data.d.ts +3 -1
  41. package/dist/charts/engine/data.js +6 -4
  42. package/dist/charts/engine/data.js.map +1 -1
  43. package/dist/charts/engine/defaults.cjs +2 -0
  44. package/dist/charts/engine/defaults.cjs.map +1 -0
  45. package/dist/charts/engine/defaults.d.cts +20 -0
  46. package/dist/charts/engine/defaults.d.ts +20 -0
  47. package/dist/charts/engine/defaults.js +35 -0
  48. package/dist/charts/engine/defaults.js.map +1 -0
  49. package/dist/charts/engine/format.cjs +1 -1
  50. package/dist/charts/engine/format.cjs.map +1 -1
  51. package/dist/charts/engine/format.d.cts +6 -0
  52. package/dist/charts/engine/format.d.ts +6 -0
  53. package/dist/charts/engine/format.js +15 -2
  54. package/dist/charts/engine/format.js.map +1 -1
  55. package/dist/charts/engine/graph/chart.cjs +2 -0
  56. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  57. package/dist/charts/engine/graph/chart.d.cts +3 -0
  58. package/dist/charts/engine/graph/chart.d.ts +3 -0
  59. package/dist/charts/engine/graph/chart.js +1565 -0
  60. package/dist/charts/engine/graph/chart.js.map +1 -0
  61. package/dist/charts/engine/graph/circular.cjs +2 -0
  62. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  63. package/dist/charts/engine/graph/circular.d.cts +16 -0
  64. package/dist/charts/engine/graph/circular.d.ts +16 -0
  65. package/dist/charts/engine/graph/circular.js +62 -0
  66. package/dist/charts/engine/graph/circular.js.map +1 -0
  67. package/dist/charts/engine/graph/dag.cjs +2 -0
  68. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  69. package/dist/charts/engine/graph/dag.d.cts +34 -0
  70. package/dist/charts/engine/graph/dag.d.ts +34 -0
  71. package/dist/charts/engine/graph/dag.js +314 -0
  72. package/dist/charts/engine/graph/dag.js.map +1 -0
  73. package/dist/charts/engine/graph/dom.cjs +2 -0
  74. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  75. package/dist/charts/engine/graph/dom.d.cts +23 -0
  76. package/dist/charts/engine/graph/dom.d.ts +23 -0
  77. package/dist/charts/engine/graph/dom.js +158 -0
  78. package/dist/charts/engine/graph/dom.js.map +1 -0
  79. package/dist/charts/engine/graph/force.cjs +2 -0
  80. package/dist/charts/engine/graph/force.cjs.map +1 -0
  81. package/dist/charts/engine/graph/force.d.cts +67 -0
  82. package/dist/charts/engine/graph/force.d.ts +67 -0
  83. package/dist/charts/engine/graph/force.js +325 -0
  84. package/dist/charts/engine/graph/force.js.map +1 -0
  85. package/dist/charts/engine/graph/geometry.cjs +2 -0
  86. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  87. package/dist/charts/engine/graph/geometry.d.cts +37 -0
  88. package/dist/charts/engine/graph/geometry.d.ts +37 -0
  89. package/dist/charts/engine/graph/geometry.js +144 -0
  90. package/dist/charts/engine/graph/geometry.js.map +1 -0
  91. package/dist/charts/engine/graph/index.cjs +1 -0
  92. package/dist/charts/engine/graph/index.d.cts +6 -0
  93. package/dist/charts/engine/graph/index.d.ts +6 -0
  94. package/dist/charts/engine/graph/index.js +6 -0
  95. package/dist/charts/engine/graph/labels.cjs +2 -0
  96. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  97. package/dist/charts/engine/graph/labels.d.cts +12 -0
  98. package/dist/charts/engine/graph/labels.d.ts +12 -0
  99. package/dist/charts/engine/graph/labels.js +128 -0
  100. package/dist/charts/engine/graph/labels.js.map +1 -0
  101. package/dist/charts/engine/graph/model.cjs +2 -0
  102. package/dist/charts/engine/graph/model.cjs.map +1 -0
  103. package/dist/charts/engine/graph/model.d.cts +43 -0
  104. package/dist/charts/engine/graph/model.d.ts +43 -0
  105. package/dist/charts/engine/graph/model.js +88 -0
  106. package/dist/charts/engine/graph/model.js.map +1 -0
  107. package/dist/charts/engine/graph/sizing.cjs +2 -0
  108. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  109. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  110. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  111. package/dist/charts/engine/graph/sizing.js +60 -0
  112. package/dist/charts/engine/graph/sizing.js.map +1 -0
  113. package/dist/charts/engine/graph/tree.cjs +2 -0
  114. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  115. package/dist/charts/engine/graph/tree.d.cts +30 -0
  116. package/dist/charts/engine/graph/tree.d.ts +30 -0
  117. package/dist/charts/engine/graph/tree.js +218 -0
  118. package/dist/charts/engine/graph/tree.js.map +1 -0
  119. package/dist/charts/engine/graph/types.d.cts +626 -0
  120. package/dist/charts/engine/graph/types.d.ts +626 -0
  121. package/dist/charts/engine/graph/worker.cjs +46 -0
  122. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  123. package/dist/charts/engine/graph/worker.d.cts +36 -0
  124. package/dist/charts/engine/graph/worker.d.ts +36 -0
  125. package/dist/charts/engine/graph/worker.js +129 -0
  126. package/dist/charts/engine/graph/worker.js.map +1 -0
  127. package/dist/charts/engine/items.cjs +1 -1
  128. package/dist/charts/engine/items.cjs.map +1 -1
  129. package/dist/charts/engine/items.d.cts +15 -2
  130. package/dist/charts/engine/items.d.ts +15 -2
  131. package/dist/charts/engine/items.js +131 -112
  132. package/dist/charts/engine/items.js.map +1 -1
  133. package/dist/charts/engine/labels.cjs +1 -1
  134. package/dist/charts/engine/labels.cjs.map +1 -1
  135. package/dist/charts/engine/labels.js +28 -4
  136. package/dist/charts/engine/labels.js.map +1 -1
  137. package/dist/charts/engine/layout.cjs +1 -1
  138. package/dist/charts/engine/layout.cjs.map +1 -1
  139. package/dist/charts/engine/layout.d.cts +9 -0
  140. package/dist/charts/engine/layout.d.ts +9 -0
  141. package/dist/charts/engine/layout.js +11 -2
  142. package/dist/charts/engine/layout.js.map +1 -1
  143. package/dist/charts/engine/model.cjs +1 -1
  144. package/dist/charts/engine/model.cjs.map +1 -1
  145. package/dist/charts/engine/model.d.cts +40 -3
  146. package/dist/charts/engine/model.d.ts +40 -3
  147. package/dist/charts/engine/model.js +246 -165
  148. package/dist/charts/engine/model.js.map +1 -1
  149. package/dist/charts/engine/orderbook/format.cjs +1 -1
  150. package/dist/charts/engine/orderbook/format.cjs.map +1 -1
  151. package/dist/charts/engine/orderbook/format.d.cts +3 -2
  152. package/dist/charts/engine/orderbook/format.d.ts +3 -2
  153. package/dist/charts/engine/orderbook/format.js +5 -5
  154. package/dist/charts/engine/orderbook/format.js.map +1 -1
  155. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  156. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  157. package/dist/charts/engine/orderbook/heatmap.js +527 -408
  158. package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
  159. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  160. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  161. package/dist/charts/engine/orderbook/layout.d.cts +37 -0
  162. package/dist/charts/engine/orderbook/layout.d.ts +37 -0
  163. package/dist/charts/engine/orderbook/layout.js +70 -0
  164. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  165. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  166. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  167. package/dist/charts/engine/orderbook/tape.js +1 -1
  168. package/dist/charts/engine/orderbook/tape.js.map +1 -1
  169. package/dist/charts/engine/orderbook/types.d.cts +18 -2
  170. package/dist/charts/engine/orderbook/types.d.ts +18 -2
  171. package/dist/charts/engine/overlay.cjs +1 -1
  172. package/dist/charts/engine/overlay.cjs.map +1 -1
  173. package/dist/charts/engine/overlay.d.cts +10 -0
  174. package/dist/charts/engine/overlay.d.ts +10 -0
  175. package/dist/charts/engine/overlay.js +6 -0
  176. package/dist/charts/engine/overlay.js.map +1 -1
  177. package/dist/charts/engine/presets.cjs +2 -2
  178. package/dist/charts/engine/presets.cjs.map +1 -1
  179. package/dist/charts/engine/presets.d.cts +25 -3
  180. package/dist/charts/engine/presets.d.ts +25 -3
  181. package/dist/charts/engine/presets.js +115 -101
  182. package/dist/charts/engine/presets.js.map +1 -1
  183. package/dist/charts/engine/renderers/detect.cjs +1 -1
  184. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  185. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  186. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  187. package/dist/charts/engine/renderers/detect.js +23 -21
  188. package/dist/charts/engine/renderers/detect.js.map +1 -1
  189. package/dist/charts/engine/scene.cjs +1 -1
  190. package/dist/charts/engine/scene.cjs.map +1 -1
  191. package/dist/charts/engine/scene.d.cts +57 -4
  192. package/dist/charts/engine/scene.d.ts +57 -4
  193. package/dist/charts/engine/scene.js +335 -182
  194. package/dist/charts/engine/scene.js.map +1 -1
  195. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  196. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  197. package/dist/charts/engine/shapes/bullet.js +110 -110
  198. package/dist/charts/engine/shapes/bullet.js.map +1 -1
  199. package/dist/charts/engine/shapes/chart.cjs +1 -1
  200. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  201. package/dist/charts/engine/shapes/chart.js +4 -1
  202. package/dist/charts/engine/shapes/chart.js.map +1 -1
  203. package/dist/charts/engine/shapes/chord.cjs +2 -0
  204. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  205. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  206. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  207. package/dist/charts/engine/shapes/chord.js +414 -0
  208. package/dist/charts/engine/shapes/chord.js.map +1 -0
  209. package/dist/charts/engine/shapes/draw.cjs +1 -1
  210. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  211. package/dist/charts/engine/shapes/draw.d.cts +5 -1
  212. package/dist/charts/engine/shapes/draw.d.ts +5 -1
  213. package/dist/charts/engine/shapes/draw.js +47 -17
  214. package/dist/charts/engine/shapes/draw.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 +75 -46
  220. package/dist/charts/engine/shapes/hit.js.map +1 -1
  221. package/dist/charts/engine/shapes/index.d.cts +3 -2
  222. package/dist/charts/engine/shapes/index.d.ts +3 -2
  223. package/dist/charts/engine/shapes/labels.cjs +1 -1
  224. package/dist/charts/engine/shapes/labels.cjs.map +1 -1
  225. package/dist/charts/engine/shapes/labels.js +12 -4
  226. package/dist/charts/engine/shapes/labels.js.map +1 -1
  227. package/dist/charts/engine/shapes/layout.cjs +2 -2
  228. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  229. package/dist/charts/engine/shapes/layout.d.cts +3 -1
  230. package/dist/charts/engine/shapes/layout.d.ts +3 -1
  231. package/dist/charts/engine/shapes/layout.js +106 -78
  232. package/dist/charts/engine/shapes/layout.js.map +1 -1
  233. package/dist/charts/engine/shapes/scene.cjs +1 -1
  234. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  235. package/dist/charts/engine/shapes/scene.d.cts +33 -3
  236. package/dist/charts/engine/shapes/scene.d.ts +33 -3
  237. package/dist/charts/engine/shapes/scene.js +62 -19
  238. package/dist/charts/engine/shapes/scene.js.map +1 -1
  239. package/dist/charts/engine/shapes/types.d.cts +119 -8
  240. package/dist/charts/engine/shapes/types.d.ts +119 -8
  241. package/dist/charts/engine/signature.cjs +1 -1
  242. package/dist/charts/engine/signature.cjs.map +1 -1
  243. package/dist/charts/engine/signature.js +1 -1
  244. package/dist/charts/engine/signature.js.map +1 -1
  245. package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
  246. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
  247. package/dist/charts/engine/three-d/canvas2d.d.cts +5 -2
  248. package/dist/charts/engine/three-d/canvas2d.d.ts +5 -2
  249. package/dist/charts/engine/three-d/canvas2d.js +89 -65
  250. package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
  251. package/dist/charts/engine/three-d/detect.cjs +1 -1
  252. package/dist/charts/engine/three-d/detect.cjs.map +1 -1
  253. package/dist/charts/engine/three-d/detect.d.cts +3 -2
  254. package/dist/charts/engine/three-d/detect.d.ts +3 -2
  255. package/dist/charts/engine/three-d/detect.js +22 -20
  256. package/dist/charts/engine/three-d/detect.js.map +1 -1
  257. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  258. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  259. package/dist/charts/engine/three-d/geometry.d.cts +6 -0
  260. package/dist/charts/engine/three-d/geometry.d.ts +6 -0
  261. package/dist/charts/engine/three-d/geometry.js +106 -90
  262. package/dist/charts/engine/three-d/geometry.js.map +1 -1
  263. package/dist/charts/engine/three-d/model.cjs +1 -1
  264. package/dist/charts/engine/three-d/model.cjs.map +1 -1
  265. package/dist/charts/engine/three-d/model.d.cts +2 -0
  266. package/dist/charts/engine/three-d/model.d.ts +2 -0
  267. package/dist/charts/engine/three-d/model.js +2 -0
  268. package/dist/charts/engine/three-d/model.js.map +1 -1
  269. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  270. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  271. package/dist/charts/engine/three-d/overlay.js +43 -36
  272. package/dist/charts/engine/three-d/overlay.js.map +1 -1
  273. package/dist/charts/engine/three-d/render-types.cjs +1 -1
  274. package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
  275. package/dist/charts/engine/three-d/render-types.d.cts +24 -3
  276. package/dist/charts/engine/three-d/render-types.d.ts +24 -3
  277. package/dist/charts/engine/three-d/render-types.js +6 -7
  278. package/dist/charts/engine/three-d/render-types.js.map +1 -1
  279. package/dist/charts/engine/three-d/shaders.cjs +63 -28
  280. package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
  281. package/dist/charts/engine/three-d/shaders.d.cts +2 -3
  282. package/dist/charts/engine/three-d/shaders.d.ts +2 -3
  283. package/dist/charts/engine/three-d/shaders.js +41 -22
  284. package/dist/charts/engine/three-d/shaders.js.map +1 -1
  285. package/dist/charts/engine/three-d/sort.cjs +1 -1
  286. package/dist/charts/engine/three-d/sort.cjs.map +1 -1
  287. package/dist/charts/engine/three-d/sort.d.cts +15 -4
  288. package/dist/charts/engine/three-d/sort.d.ts +15 -4
  289. package/dist/charts/engine/three-d/sort.js +117 -43
  290. package/dist/charts/engine/three-d/sort.js.map +1 -1
  291. package/dist/charts/engine/three-d/types.d.cts +27 -0
  292. package/dist/charts/engine/three-d/types.d.ts +27 -0
  293. package/dist/charts/engine/three-d/webgl.cjs +1 -1
  294. package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
  295. package/dist/charts/engine/three-d/webgl.js +15 -13
  296. package/dist/charts/engine/three-d/webgl.js.map +1 -1
  297. package/dist/charts/engine/three-d/webgpu.cjs +1 -1
  298. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
  299. package/dist/charts/engine/three-d/webgpu.js +50 -39
  300. package/dist/charts/engine/three-d/webgpu.js.map +1 -1
  301. package/dist/charts/engine/trading/chart.cjs +1 -1
  302. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  303. package/dist/charts/engine/trading/chart.d.cts +10 -0
  304. package/dist/charts/engine/trading/chart.d.ts +10 -0
  305. package/dist/charts/engine/trading/chart.js +1475 -776
  306. package/dist/charts/engine/trading/chart.js.map +1 -1
  307. package/dist/charts/engine/trading/drawings.cjs +2 -1
  308. package/dist/charts/engine/trading/drawings.cjs.map +1 -1
  309. package/dist/charts/engine/trading/drawings.d.cts +47 -9
  310. package/dist/charts/engine/trading/drawings.d.ts +47 -9
  311. package/dist/charts/engine/trading/drawings.js +338 -75
  312. package/dist/charts/engine/trading/drawings.js.map +1 -1
  313. package/dist/charts/engine/trading/format.cjs +1 -1
  314. package/dist/charts/engine/trading/format.cjs.map +1 -1
  315. package/dist/charts/engine/trading/format.d.cts +13 -0
  316. package/dist/charts/engine/trading/format.d.ts +13 -0
  317. package/dist/charts/engine/trading/format.js +51 -19
  318. package/dist/charts/engine/trading/format.js.map +1 -1
  319. package/dist/charts/engine/trading/index.cjs +1 -1
  320. package/dist/charts/engine/trading/index.d.cts +2 -1
  321. package/dist/charts/engine/trading/index.d.ts +2 -1
  322. package/dist/charts/engine/trading/index.js +4 -3
  323. package/dist/charts/engine/trading/indicators.cjs +1 -1
  324. package/dist/charts/engine/trading/indicators.cjs.map +1 -1
  325. package/dist/charts/engine/trading/indicators.d.cts +180 -10
  326. package/dist/charts/engine/trading/indicators.d.ts +180 -10
  327. package/dist/charts/engine/trading/indicators.js +449 -173
  328. package/dist/charts/engine/trading/indicators.js.map +1 -1
  329. package/dist/charts/engine/trading/labels.cjs +1 -1
  330. package/dist/charts/engine/trading/labels.cjs.map +1 -1
  331. package/dist/charts/engine/trading/labels.js +84 -4
  332. package/dist/charts/engine/trading/labels.js.map +1 -1
  333. package/dist/charts/engine/trading/store.cjs +1 -1
  334. package/dist/charts/engine/trading/store.cjs.map +1 -1
  335. package/dist/charts/engine/trading/store.d.cts +21 -0
  336. package/dist/charts/engine/trading/store.d.ts +21 -0
  337. package/dist/charts/engine/trading/store.js +22 -1
  338. package/dist/charts/engine/trading/store.js.map +1 -1
  339. package/dist/charts/engine/trading/studies.cjs +1 -1
  340. package/dist/charts/engine/trading/studies.cjs.map +1 -1
  341. package/dist/charts/engine/trading/studies.d.cts +41 -8
  342. package/dist/charts/engine/trading/studies.d.ts +41 -8
  343. package/dist/charts/engine/trading/studies.js +349 -93
  344. package/dist/charts/engine/trading/studies.js.map +1 -1
  345. package/dist/charts/engine/trading/sync.cjs +2 -0
  346. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  347. package/dist/charts/engine/trading/sync.d.cts +8 -0
  348. package/dist/charts/engine/trading/sync.d.ts +8 -0
  349. package/dist/charts/engine/trading/sync.js +25 -0
  350. package/dist/charts/engine/trading/sync.js.map +1 -0
  351. package/dist/charts/engine/trading/types.d.cts +484 -9
  352. package/dist/charts/engine/trading/types.d.ts +484 -9
  353. package/dist/charts/engine/types.d.cts +82 -8
  354. package/dist/charts/engine/types.d.ts +82 -8
  355. package/dist/charts/index.cjs +1 -1
  356. package/dist/charts/index.d.cts +3 -2
  357. package/dist/charts/index.d.ts +3 -2
  358. package/dist/charts/index.js +30 -22
  359. package/dist/charts/react/charts.cjs +1 -1
  360. package/dist/charts/react/charts.cjs.map +1 -1
  361. package/dist/charts/react/charts.js +46 -34
  362. package/dist/charts/react/charts.js.map +1 -1
  363. package/dist/charts/react/graph.cjs +2 -0
  364. package/dist/charts/react/graph.cjs.map +1 -0
  365. package/dist/charts/react/graph.d.cts +213 -0
  366. package/dist/charts/react/graph.d.ts +213 -0
  367. package/dist/charts/react/graph.js +159 -0
  368. package/dist/charts/react/graph.js.map +1 -0
  369. package/dist/charts/react/shapes.cjs +1 -1
  370. package/dist/charts/react/shapes.cjs.map +1 -1
  371. package/dist/charts/react/shapes.d.cts +87 -4
  372. package/dist/charts/react/shapes.d.ts +87 -4
  373. package/dist/charts/react/shapes.js +55 -12
  374. package/dist/charts/react/shapes.js.map +1 -1
  375. package/dist/charts/react/trading.cjs +1 -1
  376. package/dist/charts/react/trading.cjs.map +1 -1
  377. package/dist/charts/react/trading.d.cts +53 -1
  378. package/dist/charts/react/trading.d.ts +53 -1
  379. package/dist/charts/react/trading.js +68 -37
  380. package/dist/charts/react/trading.js.map +1 -1
  381. package/dist/charts/react/types.d.cts +11 -0
  382. package/dist/charts/react/types.d.ts +11 -0
  383. package/dist/core/contracts.cjs +1 -1
  384. package/dist/core/contracts.cjs.map +1 -1
  385. package/dist/core/contracts.js +1 -1
  386. package/dist/core/contracts.js.map +1 -1
  387. package/dist/native/charts/src/canvas.cjs +1 -1
  388. package/dist/native/charts/src/canvas.js +3 -3
  389. package/dist/native/charts/src/engine/axis.cjs +1 -1
  390. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  391. package/dist/native/charts/src/engine/axis.js +42 -19
  392. package/dist/native/charts/src/engine/axis.js.map +1 -1
  393. package/dist/native/charts/src/engine/color.cjs +1 -1
  394. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  395. package/dist/native/charts/src/engine/color.js +47 -5
  396. package/dist/native/charts/src/engine/color.js.map +1 -1
  397. package/dist/native/charts/src/engine/controller.cjs +2 -2
  398. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  399. package/dist/native/charts/src/engine/controller.js +300 -253
  400. package/dist/native/charts/src/engine/controller.js.map +1 -1
  401. package/dist/native/charts/src/engine/data.cjs +1 -1
  402. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  403. package/dist/native/charts/src/engine/data.js +6 -4
  404. package/dist/native/charts/src/engine/data.js.map +1 -1
  405. package/dist/native/charts/src/engine/format.cjs +1 -1
  406. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  407. package/dist/native/charts/src/engine/format.js +15 -2
  408. package/dist/native/charts/src/engine/format.js.map +1 -1
  409. package/dist/native/charts/src/engine/labels.cjs +1 -1
  410. package/dist/native/charts/src/engine/labels.cjs.map +1 -1
  411. package/dist/native/charts/src/engine/labels.js +28 -4
  412. package/dist/native/charts/src/engine/labels.js.map +1 -1
  413. package/dist/native/charts/src/engine/layout.cjs +1 -1
  414. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  415. package/dist/native/charts/src/engine/layout.js +11 -2
  416. package/dist/native/charts/src/engine/layout.js.map +1 -1
  417. package/dist/native/charts/src/engine/model.cjs +1 -1
  418. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  419. package/dist/native/charts/src/engine/model.js +252 -171
  420. package/dist/native/charts/src/engine/model.js.map +1 -1
  421. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  422. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  423. package/dist/native/charts/src/engine/presets.cjs +2 -2
  424. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  425. package/dist/native/charts/src/engine/presets.js +104 -90
  426. package/dist/native/charts/src/engine/presets.js.map +1 -1
  427. package/dist/native/charts/src/engine/scene.cjs +1 -1
  428. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  429. package/dist/native/charts/src/engine/scene.js +341 -188
  430. package/dist/native/charts/src/engine/scene.js.map +1 -1
  431. package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
  432. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
  433. package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
  434. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
  435. package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
  436. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
  437. package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
  438. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
  439. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  440. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  441. package/dist/native/charts/src/engine/shapes/chord.js +414 -0
  442. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  443. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  444. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  445. package/dist/native/charts/src/engine/shapes/draw.js +47 -17
  446. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  447. package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
  448. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
  449. package/dist/native/charts/src/engine/shapes/hit.js +73 -44
  450. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
  451. package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
  452. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
  453. package/dist/native/charts/src/engine/shapes/labels.js +12 -4
  454. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
  455. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  456. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  457. package/dist/native/charts/src/engine/shapes/layout.js +117 -90
  458. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  459. package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
  460. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
  461. package/dist/native/charts/src/engine/shapes/scene.js +62 -19
  462. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
  463. package/dist/native/components/Chart/scene.cjs +1 -1
  464. package/dist/native/components/Chart/scene.cjs.map +1 -1
  465. package/dist/native/components/Chart/scene.js +140 -71
  466. package/dist/native/components/Chart/scene.js.map +1 -1
  467. package/dist/native/components/Charts/charts.cjs +1 -1
  468. package/dist/native/components/Charts/charts.cjs.map +1 -1
  469. package/dist/native/components/Charts/charts.js +54 -42
  470. package/dist/native/components/Charts/charts.js.map +1 -1
  471. package/dist/native/components/Charts/types.d.cts +11 -0
  472. package/dist/native/components/Charts/types.d.ts +11 -0
  473. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
  474. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
  475. package/dist/native/components/ShapeChart/ShapeChartBase.js +1 -0
  476. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
  477. package/dist/native/components/ShapeChart/charts.cjs +1 -1
  478. package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
  479. package/dist/native/components/ShapeChart/charts.d.cts +6 -1
  480. package/dist/native/components/ShapeChart/charts.d.ts +6 -1
  481. package/dist/native/components/ShapeChart/charts.js +138 -96
  482. package/dist/native/components/ShapeChart/charts.js.map +1 -1
  483. package/dist/native/components/ShapeChart/draw.cjs +1 -1
  484. package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
  485. package/dist/native/components/ShapeChart/draw.d.cts +1 -1
  486. package/dist/native/components/ShapeChart/draw.d.ts +1 -1
  487. package/dist/native/components/ShapeChart/draw.js +26 -17
  488. package/dist/native/components/ShapeChart/draw.js.map +1 -1
  489. package/dist/native/components/ShapeChart/geometry.cjs +1 -1
  490. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
  491. package/dist/native/components/ShapeChart/geometry.js +138 -59
  492. package/dist/native/components/ShapeChart/geometry.js.map +1 -1
  493. package/dist/native/components/ShapeChart/index.cjs +1 -1
  494. package/dist/native/components/ShapeChart/index.d.cts +1 -1
  495. package/dist/native/components/ShapeChart/index.d.ts +1 -1
  496. package/dist/native/components/ShapeChart/index.js +2 -2
  497. package/dist/native/components/ShapeChart/recorder.cjs +1 -1
  498. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
  499. package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
  500. package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
  501. package/dist/native/components/ShapeChart/recorder.js +19 -10
  502. package/dist/native/components/ShapeChart/recorder.js.map +1 -1
  503. package/dist/native/components/ShapeChart/types.d.cts +92 -7
  504. package/dist/native/components/ShapeChart/types.d.ts +92 -7
  505. package/dist/native/index.cjs +1 -1
  506. package/dist/native/index.js +2 -2
  507. package/dist/native/source/components/Chart/scene.tsx +158 -14
  508. package/dist/native/source/components/Charts/charts.tsx +30 -2
  509. package/dist/native/source/components/Charts/types.ts +11 -0
  510. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +2 -0
  511. package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
  512. package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
  513. package/dist/native/source/components/ShapeChart/geometry.ts +189 -8
  514. package/dist/native/source/components/ShapeChart/index.ts +1 -0
  515. package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
  516. package/dist/native/source/components/ShapeChart/types.ts +96 -5
  517. package/dist/native/source/manifest.ts +1 -0
  518. package/dist/taro/charts.d.ts +25 -5
  519. package/dist/taro/index.js +3900 -2836
  520. package/dist/taro/shape-charts.d.ts +96 -4
  521. package/dist/uni/AreaChart.vue.d.ts +5 -1
  522. package/dist/uni/Badge.vue.d.ts +1 -1
  523. package/dist/uni/BarChart.vue.d.ts +5 -1
  524. package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
  525. package/dist/uni/BubbleChart.vue.d.ts +4 -0
  526. package/dist/uni/BulletChart.vue.d.ts +4 -0
  527. package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
  528. package/dist/uni/CandlestickChart.vue.d.ts +4 -0
  529. package/dist/uni/Chart.vue.d.ts +4 -0
  530. package/dist/uni/ChordChart.vue +93 -0
  531. package/dist/uni/ChordChart.vue.d.ts +136 -0
  532. package/dist/uni/DonutChart.vue.d.ts +4 -0
  533. package/dist/uni/FunnelChart.vue.d.ts +4 -0
  534. package/dist/uni/GanttChart.vue.d.ts +4 -0
  535. package/dist/uni/GaugeChart.vue.d.ts +4 -0
  536. package/dist/uni/HeatmapChart.vue.d.ts +8 -2
  537. package/dist/uni/HistogramChart.vue.d.ts +4 -0
  538. package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
  539. package/dist/uni/LineChart.vue.d.ts +4 -0
  540. package/dist/uni/MixedChart.vue.d.ts +4 -0
  541. package/dist/uni/PieChart.vue.d.ts +4 -0
  542. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  543. package/dist/uni/RadarChart.vue.d.ts +4 -0
  544. package/dist/uni/RadialBarChart.vue.d.ts +4 -0
  545. package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
  546. package/dist/uni/SankeyChart.vue.d.ts +4 -0
  547. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  548. package/dist/uni/Sparkline.vue.d.ts +4 -0
  549. package/dist/uni/SunburstChart.vue.d.ts +4 -0
  550. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  551. package/dist/uni/TreemapChart.vue.d.ts +4 -0
  552. package/dist/uni/WaterfallChart.vue.d.ts +9 -0
  553. package/dist/uni/chart-canvas.d.ts +3 -0
  554. package/dist/uni/chart-canvas.js +4 -0
  555. package/dist/uni/chart-types.d.ts +28 -4
  556. package/dist/uni/chart-types.js +26 -2
  557. package/dist/uni/charts-canvas.js +1 -1
  558. package/dist/uni/index.d.ts +2 -1
  559. package/dist/uni/index.js +1 -0
  560. package/dist/uni/manifest.d.ts +7 -0
  561. package/dist/uni/manifest.js +10 -0
  562. package/dist/uni/named-chart-options.d.ts +9 -2
  563. package/dist/uni/named-chart-options.js +18 -1
  564. package/dist/uni/shape-chart-canvas.d.ts +3 -1
  565. package/dist/uni/shape-chart-canvas.js +15 -24
  566. package/dist/uni/shape-chart-types.d.ts +52 -2
  567. package/dist/uni/shape-chart-types.js +44 -0
  568. package/dist/vue/charts-global.d.ts +48 -0
  569. package/dist/vue/charts.d.ts +18 -0
  570. package/dist/vue/charts.js +56 -0
  571. package/dist/vue/charts.js.map +1 -0
  572. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
  573. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
  574. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
  575. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  576. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  577. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  578. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  579. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  580. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  581. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
  582. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  583. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  584. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  585. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  586. package/dist/vue/components/Chart/GanttChart.vue.d.ts +4 -0
  587. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
  588. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +4 -1
  589. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  590. package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
  591. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  592. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  593. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  594. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  595. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
  596. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
  597. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
  598. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  599. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
  600. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
  601. package/dist/vue/components/Chart/TradingChart.vue.d.ts +49 -1
  602. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
  603. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
  604. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  605. package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
  606. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  607. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  608. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  609. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  610. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
  611. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
  612. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
  613. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  614. package/dist/vue/components/Chart/graph.d.ts +153 -0
  615. package/dist/vue/components/Chart/graph.js +135 -0
  616. package/dist/vue/components/Chart/graph.js.map +1 -0
  617. package/dist/vue/components/Chart/index.d.ts +5 -1
  618. package/dist/vue/components/Chart/index.js +5 -1
  619. package/dist/vue/components/Chart/orderbook.d.ts +5 -1
  620. package/dist/vue/components/Chart/orderbook.js +2 -0
  621. package/dist/vue/components/Chart/orderbook.js.map +1 -1
  622. package/dist/vue/components/Chart/trading.d.ts +24 -2
  623. package/dist/vue/components/Chart/trading.js +8 -0
  624. package/dist/vue/components/Chart/trading.js.map +1 -1
  625. package/dist/vue/components/Chart/types.d.ts +74 -2
  626. package/dist/vue/global.d.ts +2 -38
  627. package/dist/vue/groups/charts.js +10 -2
  628. package/dist/vue/groups/charts.js.map +1 -1
  629. package/dist/vue/index.js +6 -2
  630. package/dist/vue/internal/register.d.ts +7 -0
  631. package/dist/vue/internal/register.js +14 -0
  632. package/dist/vue/internal/register.js.map +1 -0
  633. package/dist/vue/plugin.d.ts +9 -4
  634. package/dist/vue/plugin.js +6 -11
  635. package/dist/vue/plugin.js.map +1 -1
  636. package/dist/weapp/charts/canvas.js +1687 -147
  637. package/dist/weapp/charts/core.js +1 -0
  638. package/dist/weapp/chord-chart/index.js +1 -0
  639. package/dist/weapp/chord-chart/index.json +1 -0
  640. package/dist/weapp/chord-chart/index.wxml +1 -0
  641. package/dist/weapp/chord-chart/index.wxss +1 -0
  642. package/dist/weapp/controls.js +92 -32
  643. package/dist/weapp/types.d.ts +87 -4
  644. package/dist/web-components/components/chart/charts.d.ts +4 -2
  645. package/dist/web-components/components/chart/charts.js +8 -1
  646. package/dist/web-components/components/chart/charts.js.map +1 -1
  647. package/dist/web-components/components/chart/extended.d.ts +17 -7
  648. package/dist/web-components/components/chart/extended.js +23 -9
  649. package/dist/web-components/components/chart/extended.js.map +1 -1
  650. package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
  651. package/dist/web-components/components/chart/shapes-extended.js +27 -1
  652. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  653. package/dist/web-components/components/graph/graph.d.ts +154 -0
  654. package/dist/web-components/components/graph/graph.js +149 -0
  655. package/dist/web-components/components/graph/graph.js.map +1 -0
  656. package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
  657. package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
  658. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
  659. package/dist/web-components/elements/chart.d.ts +1 -1
  660. package/dist/web-components/elements/chart.js +6 -5
  661. package/dist/web-components/elements/chart.js.map +1 -1
  662. package/dist/web-components/elements/graph.d.ts +2 -0
  663. package/dist/web-components/elements/graph.js +12 -0
  664. package/dist/web-components/elements/graph.js.map +1 -0
  665. package/dist/web-components/html-custom-data.json +273 -4
  666. package/dist/web-components/types/react.d.ts +63 -4
  667. package/dist/web-components/types/solid.d.ts +55 -8
  668. package/dist/web-components/types/svelte.d.ts +55 -8
  669. package/dist/web-components/types/vue.d.ts +55 -4
  670. package/package.json +16 -1
@@ -0,0 +1,213 @@
1
+ import { CSSProperties, Ref } from 'react';
2
+ import { GraphChartInstance, GraphChartLabels, GraphCircularOptions, GraphDagOptions, GraphData, GraphDirection, GraphEdge, GraphEdgeStyle, GraphForceOptions, GraphGroup, GraphGroupToggleEvent, GraphHoverEvent, GraphInteractionOptions, GraphLayoutEndEvent, GraphLayoutType, GraphLegendOptions, GraphNode, GraphNodeShape, GraphPoint, GraphToggleEvent, GraphTooltipOptions, GraphTreeOptions } from '../engine/graph/types.js';
3
+ import { ChartRendererKind, ChartRendererPreference } from '../engine/types.js';
4
+ /** Imperative handle of the graph components (`ref`) */
5
+ export interface GraphChartHandle {
6
+ /** Fits the visible nodes in the view */
7
+ fit(animate?: boolean): void;
8
+ /** Centers a node (expanding its collapsed ancestors), optionally zooming */
9
+ focusNode(id: string, options?: {
10
+ zoom?: number;
11
+ animate?: boolean;
12
+ }): void;
13
+ /** Replaces the data until the next render with new props */
14
+ setData(data: GraphData): void;
15
+ /** Selects nodes (`null` clears the selection) */
16
+ select(ids: readonly string[] | string | null): void;
17
+ /** Ids of the selected nodes */
18
+ getSelection(): string[];
19
+ /** Expands a node (all nodes without an id) */
20
+ expand(id?: string): void;
21
+ /** Collapses a node (all nodes with children without an id) */
22
+ collapse(id?: string): void;
23
+ /** Collapses / expands a node */
24
+ toggle(id: string): void;
25
+ /** Current positions of the nodes in layout units */
26
+ getPositions(): Record<string, GraphPoint>;
27
+ /** Computes the layout again */
28
+ relayout(): void;
29
+ /** Backend in use, `null` until ready */
30
+ getRenderer(): ChartRendererKind | null;
31
+ /** The underlying engine instance (minerva-design/charts/core) */
32
+ getInstance(): GraphChartInstance | null;
33
+ }
34
+ /** Props shared by `GraphChart`, `DependencyGraph` and `TreeChart` */
35
+ export interface GraphCommonProps {
36
+ /** The nodes */
37
+ nodes: readonly GraphNode[];
38
+ /** The edges (parent → child in trees, prerequisite → dependent in DAGs) */
39
+ edges: readonly GraphEdge[];
40
+ /** Groups: legend order, names and colors */
41
+ groups?: readonly GraphGroup[];
42
+ /**
43
+ * Height of the chart (the legend included); numbers are pixels
44
+ * @default 480
45
+ */
46
+ height?: number | string;
47
+ /**
48
+ * Width of the chart; numbers are pixels
49
+ * @default "100%"
50
+ */
51
+ width?: number | string;
52
+ /** Shape of the nodes without `shape` (boxes for DAGs, org charts and mind maps, circles otherwise) */
53
+ nodeShape?: GraphNodeShape;
54
+ /** Circle diameter in layout units, or `[min, max]` scaled by the node `value` */
55
+ nodeSize?: number | readonly [number, number];
56
+ /** Edge shape; depends on the layout when omitted */
57
+ edgeStyle?: GraphEdgeStyle;
58
+ /** Edge width in CSS pixels, or `[min, max]` scaled by the edge `value` */
59
+ edgeWidth?: number | readonly [number, number];
60
+ /**
61
+ * Edge colors: neutral or tinted with the source / target node
62
+ * @default "neutral"
63
+ */
64
+ edgeColor?: "neutral" | "source" | "target";
65
+ /** Arrowheads on the edges without `directed` */
66
+ arrows?: boolean;
67
+ /**
68
+ * Node labels; `auto` hides minor and overlapping labels when zoomed out.
69
+ * Text inside boxes keeps a readable minimum size and is shortened with an ellipsis;
70
+ * it is hidden only when the box is too small for any text, or with `false`
71
+ * @default "auto"
72
+ */
73
+ nodeLabels?: boolean | "auto";
74
+ /**
75
+ * Edge labels: always, `auto` (zoomed in or highlighted), only `hover`, or never
76
+ * @default "auto"
77
+ */
78
+ edgeLabels?: boolean | "auto" | "hover";
79
+ /** What hovering / selecting a node highlights */
80
+ highlight?: "neighbors" | "lineage" | "none";
81
+ /** Ids of the selected nodes (changing it updates the selection) */
82
+ selected?: readonly string[];
83
+ /**
84
+ * Animates layout and data changes; a number is the duration in ms
85
+ * @default true
86
+ */
87
+ animation?: boolean | number;
88
+ /**
89
+ * Padding around the graph when fitting it, in CSS pixels
90
+ * @default 24
91
+ */
92
+ fitPadding?: number;
93
+ /**
94
+ * Zoom buttons (zoom in, zoom out, fit)
95
+ * @default true
96
+ */
97
+ controls?: boolean;
98
+ /** Legend of the groups; shown by default with several groups */
99
+ legend?: boolean | GraphLegendOptions;
100
+ /** Tooltip; `false` disables it */
101
+ tooltip?: boolean | GraphTooltipOptions;
102
+ /**
103
+ * Drag pans, Ctrl / ⌘ + wheel and pinch zoom, nodes can be dragged
104
+ * (force, circular), click selects, arrow keys move between nodes;
105
+ * `false` makes the chart static
106
+ * @default true
107
+ */
108
+ interaction?: boolean | GraphInteractionOptions;
109
+ /**
110
+ * Backend of the nodes and edges: `auto` tries WebGPU, then WebGL2, then
111
+ * WebGL, then Canvas2D, skipping GPUs running in software
112
+ * @default "auto"
113
+ */
114
+ renderer?: ChartRendererPreference;
115
+ /** Group colors (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */
116
+ palette?: readonly string[];
117
+ /** Accessible name of the chart */
118
+ ariaLabel?: string;
119
+ /**
120
+ * Language of the built-in texts (summary, announcements, tooltip,
121
+ * buttons); built-in texts in English, Chinese, Japanese and French
122
+ * @default the page language (`<html lang>`), then the browser language
123
+ */
124
+ locale?: string;
125
+ /** Overrides of the built-in texts of the `locale` */
126
+ labels?: Partial<GraphChartLabels>;
127
+ /** Called when the hovered (or keyboard-focused) node / edge changes */
128
+ onHover?: (event: GraphHoverEvent | null) => void;
129
+ /** Called when a node or an edge is clicked (or a node activated with Enter) */
130
+ onItemClick?: (event: GraphHoverEvent) => void;
131
+ /** Called with the ids of the selected nodes when the selection changes */
132
+ onSelectionChange?: (ids: string[]) => void;
133
+ /** Called when a tree node is collapsed or expanded */
134
+ onToggle?: (event: GraphToggleEvent) => void;
135
+ /** Called when the legend shows / hides a group */
136
+ onGroupToggle?: (event: GraphGroupToggleEvent) => void;
137
+ /** Called when the layout is done (the force simulation cooled down) */
138
+ onLayoutEnd?: (event: GraphLayoutEndEvent) => void;
139
+ /** Called with the backend once it is ready (and after a fallback) */
140
+ onRendererChange?: (renderer: ChartRendererKind) => void;
141
+ /** Class of the outer element */
142
+ className?: string;
143
+ /** Style of the outer element */
144
+ style?: CSSProperties;
145
+ /** Imperative handle */
146
+ ref?: Ref<GraphChartHandle>;
147
+ }
148
+ /** Props of `GraphChart` */
149
+ export interface GraphChartProps extends GraphCommonProps {
150
+ /**
151
+ * Placement of the nodes
152
+ * @default "force"
153
+ */
154
+ layout?: GraphLayoutType;
155
+ /** Direction of the `dag` and `tree` layouts */
156
+ direction?: GraphDirection;
157
+ /** Force layout settings (Barnes–Hut, worker for large graphs) */
158
+ force?: GraphForceOptions;
159
+ /** Circular / arc layout settings */
160
+ circular?: GraphCircularOptions;
161
+ /** Layered layout settings (`layout="dag"`) */
162
+ dag?: GraphDagOptions;
163
+ /** Tree layout settings (tree layouts) */
164
+ tree?: GraphTreeOptions;
165
+ }
166
+ /** Props of `DependencyGraph` */
167
+ export interface DependencyGraphProps extends GraphCommonProps {
168
+ /**
169
+ * Flow direction
170
+ * @default "TB"
171
+ */
172
+ direction?: GraphDirection;
173
+ /** Layer / node spacing, crossing reduction sweeps */
174
+ dag?: GraphDagOptions;
175
+ /**
176
+ * Highlights the longest path (node `value` = duration); `true` computes it, a list of ids sets it
177
+ * @default false
178
+ */
179
+ criticalPath?: boolean | readonly string[];
180
+ }
181
+ /** Props of `TreeChart` */
182
+ export interface TreeChartProps extends GraphCommonProps {
183
+ /**
184
+ * Kind of tree: tidy tree, radial tree, two-sided mind map or org chart
185
+ * @default "tree"
186
+ */
187
+ layout?: "tree" | "radial" | "mindmap" | "org";
188
+ /**
189
+ * Direction of `layout="tree"`
190
+ * @default "LR"
191
+ */
192
+ direction?: GraphDirection;
193
+ /** Root, spacing, collapsing, card size */
194
+ tree?: GraphTreeOptions;
195
+ }
196
+ /**
197
+ * Relationship network (关系图): force-directed by default (Barnes–Hut,
198
+ * a Web Worker for large graphs), or circular, arc diagram, layered or
199
+ * tree layouts; GPU rendering, pan / zoom, drag, neighbor highlight,
200
+ * legend toggles and keyboard navigation.
201
+ */
202
+ export declare function GraphChart(props: GraphChartProps): import('react').JSX.Element;
203
+ /**
204
+ * Dependency graph (依赖图): layered (Sugiyama) layout of a DAG with
205
+ * crossing reduction, spline or orthogonal edges with arrowheads,
206
+ * upstream / downstream highlight and the critical path.
207
+ */
208
+ export declare function DependencyGraph(props: DependencyGraphProps): import('react').JSX.Element;
209
+ /**
210
+ * Tree chart (树图): tidy tree, radial tree, mind map or org chart, with
211
+ * animated collapse / expand of the subtrees.
212
+ */
213
+ export declare function TreeChart(props: TreeChartProps): import('react').JSX.Element;
@@ -0,0 +1,159 @@
1
+ "use client";
2
+ import { createGraphChart as e } from "../engine/graph/chart.js";
3
+ import { useEffect as t, useImperativeHandle as n, useRef as r, useState as i } from "react";
4
+ import { jsx as a } from "react/jsx-runtime";
5
+ //#region src/react/graph.tsx
6
+ var o = (e) => {
7
+ if (typeof e != "object" || !e) return !1;
8
+ let t = Object.getPrototypeOf(e);
9
+ return t === Object.prototype || t === null;
10
+ }, s = (e, t) => {
11
+ let n = Object.keys(e);
12
+ return n.length === Object.keys(t).length && n.every((n) => e[n] === t[n] && Object.prototype.hasOwnProperty.call(t, n));
13
+ }, c = (e, t) => e === t ? !0 : Array.isArray(e) && Array.isArray(t) ? e.length === t.length && e.every((e, n) => e === t[n]) : o(e) && o(t) && s(e, t), l = (e, t) => {
14
+ if (e === t) return !0;
15
+ let n = Object.keys(e);
16
+ return n.length === Object.keys(t).length && n.every((n) => Object.prototype.hasOwnProperty.call(t, n) && c(e[n], t[n]));
17
+ }, u = (e, t) => e === void 0 ? t : typeof e == "number" ? `${e}px` : e;
18
+ function d({ options: o, height: s, width: c, className: d, style: f, handleRef: p, ...m }) {
19
+ let h = r(null), g = r(null), _ = r(m), [v, y] = i(o);
20
+ v !== o && !l(v, o) && y(o);
21
+ let b = r(v);
22
+ return t(() => {
23
+ _.current = m;
24
+ }), t(() => {
25
+ let t = h.current;
26
+ if (!t) return;
27
+ let n = e(t, b.current);
28
+ g.current = n;
29
+ let r = [
30
+ n.on("hover", (e) => _.current.onHover?.(e)),
31
+ n.on("click", (e) => _.current.onItemClick?.(e)),
32
+ n.on("select", (e) => _.current.onSelectionChange?.(e.ids)),
33
+ n.on("toggle", (e) => _.current.onToggle?.(e)),
34
+ n.on("groupToggle", (e) => _.current.onGroupToggle?.(e)),
35
+ n.on("layoutEnd", (e) => _.current.onLayoutEnd?.(e)),
36
+ n.on("renderer", (e) => _.current.onRendererChange?.(e))
37
+ ];
38
+ return () => {
39
+ r.forEach((e) => e()), n.destroy(), g.current = null;
40
+ };
41
+ }, []), t(() => {
42
+ b.current !== v && (b.current = v, g.current?.setOptions(v));
43
+ }, [v]), n(p, () => ({
44
+ fit: (e) => g.current?.fit(e),
45
+ focusNode: (e, t) => g.current?.focusNode(e, t),
46
+ setData: (e) => g.current?.setData(e),
47
+ select: (e) => g.current?.select(e),
48
+ getSelection: () => g.current?.getSelection() ?? [],
49
+ expand: (e) => g.current?.expand(e),
50
+ collapse: (e) => g.current?.collapse(e),
51
+ toggle: (e) => g.current?.toggle(e),
52
+ getPositions: () => g.current?.getPositions() ?? {},
53
+ relayout: () => g.current?.relayout(),
54
+ getRenderer: () => g.current?.getRenderer() ?? null,
55
+ getInstance: () => g.current
56
+ }), []), /* @__PURE__ */ a("div", {
57
+ className: d,
58
+ style: {
59
+ position: "relative",
60
+ width: u(c, "100%"),
61
+ height: u(s, "480px"),
62
+ ...f
63
+ },
64
+ children: /* @__PURE__ */ a("div", {
65
+ ref: h,
66
+ style: {
67
+ position: "absolute",
68
+ inset: 0
69
+ }
70
+ })
71
+ });
72
+ }
73
+ function f({ props: e, layout: t }) {
74
+ let { nodes: n, edges: r, groups: i, height: o, width: s, nodeShape: c, nodeSize: l, edgeStyle: u, edgeWidth: f, edgeColor: p, arrows: m, nodeLabels: h, edgeLabels: g, highlight: _, selected: v, animation: y, fitPadding: b, controls: x, legend: S, tooltip: C, interaction: w, renderer: T, palette: E, ariaLabel: D, locale: O, labels: k, onHover: A, onItemClick: j, onSelectionChange: M, onToggle: N, onGroupToggle: P, onLayoutEnd: F, onRendererChange: I, className: L, style: R, ref: z } = e, B = {
75
+ nodes: n,
76
+ edges: r,
77
+ groups: i,
78
+ ...t,
79
+ nodeShape: c,
80
+ nodeSize: l,
81
+ edgeStyle: u,
82
+ edgeWidth: f,
83
+ edgeColor: p,
84
+ arrows: m,
85
+ nodeLabels: h,
86
+ edgeLabels: g,
87
+ highlight: _,
88
+ selected: v,
89
+ animation: y,
90
+ fitPadding: b,
91
+ controls: x,
92
+ legend: S,
93
+ tooltip: C,
94
+ interaction: w,
95
+ renderer: T,
96
+ palette: E,
97
+ ariaLabel: D,
98
+ locale: O,
99
+ labels: k
100
+ };
101
+ return /* @__PURE__ */ a(d, {
102
+ options: B,
103
+ height: o,
104
+ width: s,
105
+ className: L,
106
+ style: R,
107
+ handleRef: z,
108
+ onHover: A,
109
+ onItemClick: j,
110
+ onSelectionChange: M,
111
+ onToggle: N,
112
+ onGroupToggle: P,
113
+ onLayoutEnd: F,
114
+ onRendererChange: I
115
+ });
116
+ }
117
+ function p(e) {
118
+ let { layout: t, direction: n, force: r, circular: i, dag: o, tree: s } = e;
119
+ return /* @__PURE__ */ a(f, {
120
+ props: e,
121
+ layout: {
122
+ layout: t ?? "force",
123
+ direction: n,
124
+ force: r,
125
+ circular: i,
126
+ dag: o,
127
+ tree: s
128
+ }
129
+ });
130
+ }
131
+ function m(e) {
132
+ let { direction: t, dag: n, criticalPath: r } = e;
133
+ return /* @__PURE__ */ a(f, {
134
+ props: e,
135
+ layout: {
136
+ layout: "dag",
137
+ direction: t ?? "TB",
138
+ dag: r === void 0 ? n : {
139
+ ...n,
140
+ criticalPath: r
141
+ }
142
+ }
143
+ });
144
+ }
145
+ function h(e) {
146
+ let { layout: t, direction: n, tree: r } = e;
147
+ return /* @__PURE__ */ a(f, {
148
+ props: e,
149
+ layout: {
150
+ layout: t ?? "tree",
151
+ direction: n,
152
+ tree: r
153
+ }
154
+ });
155
+ }
156
+ //#endregion
157
+ export { m as DependencyGraph, p as GraphChart, h as TreeChart };
158
+
159
+ //# sourceMappingURL=graph.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"graph.js","names":["isPlainObject","value","proto","shallowEqual","keys","a","b","key","sameValue","v","i","sameGraphOptions","cssSize","fallback","GraphBase","handlers","containerRef","useRef","chartRef","handlersRef","stable","setStable","useState","options","optionsRef","useEffect","container","chart","createGraphChart","offs","r","off","useImperativeHandle","handleRef","animate","id","opts","data","ids","width","height","style","GraphFrame","props","layout","ref","GraphChart","DependencyGraph","direction","criticalPath","dag","TreeChart"],"sources":["../../../../charts/src/react/graph.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from \"react\";\nimport { createGraphChart } from \"../engine/graph/chart\";\nimport type {\n GraphChartInstance,\n GraphChartLabels,\n GraphChartOptions,\n GraphCircularOptions,\n GraphDagOptions,\n GraphData,\n GraphDirection,\n GraphEdge,\n GraphEdgeStyle,\n GraphForceOptions,\n GraphGroup,\n GraphGroupToggleEvent,\n GraphHoverEvent,\n GraphInteractionOptions,\n GraphLayoutEndEvent,\n GraphLayoutType,\n GraphLegendOptions,\n GraphNode,\n GraphNodeShape,\n GraphPoint,\n GraphToggleEvent,\n GraphTooltipOptions,\n GraphTreeOptions,\n} from \"../engine/graph/types\";\nimport type {\n ChartRendererKind,\n ChartRendererPreference,\n} from \"../engine/types\";\n\n/** Imperative handle of the graph components (`ref`) */\nexport interface GraphChartHandle {\n /** Fits the visible nodes in the view */\n fit(animate?: boolean): void;\n /** Centers a node (expanding its collapsed ancestors), optionally zooming */\n focusNode(id: string, options?: { zoom?: number; animate?: boolean }): void;\n /** Replaces the data until the next render with new props */\n setData(data: GraphData): void;\n /** Selects nodes (`null` clears the selection) */\n select(ids: readonly string[] | string | null): void;\n /** Ids of the selected nodes */\n getSelection(): string[];\n /** Expands a node (all nodes without an id) */\n expand(id?: string): void;\n /** Collapses a node (all nodes with children without an id) */\n collapse(id?: string): void;\n /** Collapses / expands a node */\n toggle(id: string): void;\n /** Current positions of the nodes in layout units */\n getPositions(): Record<string, GraphPoint>;\n /** Computes the layout again */\n relayout(): void;\n /** Backend in use, `null` until ready */\n getRenderer(): ChartRendererKind | null;\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): GraphChartInstance | null;\n}\n\n/** Props shared by `GraphChart`, `DependencyGraph` and `TreeChart` */\nexport interface GraphCommonProps {\n /** The nodes */\n nodes: readonly GraphNode[];\n /** The edges (parent → child in trees, prerequisite → dependent in DAGs) */\n edges: readonly GraphEdge[];\n /** Groups: legend order, names and colors */\n groups?: readonly GraphGroup[];\n /**\n * Height of the chart (the legend included); numbers are pixels\n * @default 480\n */\n height?: number | string;\n /**\n * Width of the chart; numbers are pixels\n * @default \"100%\"\n */\n width?: number | string;\n /** Shape of the nodes without `shape` (boxes for DAGs, org charts and mind maps, circles otherwise) */\n nodeShape?: GraphNodeShape;\n /** Circle diameter in layout units, or `[min, max]` scaled by the node `value` */\n nodeSize?: number | readonly [number, number];\n /** Edge shape; depends on the layout when omitted */\n edgeStyle?: GraphEdgeStyle;\n /** Edge width in CSS pixels, or `[min, max]` scaled by the edge `value` */\n edgeWidth?: number | readonly [number, number];\n /**\n * Edge colors: neutral or tinted with the source / target node\n * @default \"neutral\"\n */\n edgeColor?: \"neutral\" | \"source\" | \"target\";\n /** Arrowheads on the edges without `directed` */\n arrows?: boolean;\n /**\n * Node labels; `auto` hides minor and overlapping labels when zoomed out.\n * Text inside boxes keeps a readable minimum size and is shortened with an ellipsis;\n * it is hidden only when the box is too small for any text, or with `false`\n * @default \"auto\"\n */\n nodeLabels?: boolean | \"auto\";\n /**\n * Edge labels: always, `auto` (zoomed in or highlighted), only `hover`, or never\n * @default \"auto\"\n */\n edgeLabels?: boolean | \"auto\" | \"hover\";\n /** What hovering / selecting a node highlights */\n highlight?: \"neighbors\" | \"lineage\" | \"none\";\n /** Ids of the selected nodes (changing it updates the selection) */\n selected?: readonly string[];\n /**\n * Animates layout and data changes; a number is the duration in ms\n * @default true\n */\n animation?: boolean | number;\n /**\n * Padding around the graph when fitting it, in CSS pixels\n * @default 24\n */\n fitPadding?: number;\n /**\n * Zoom buttons (zoom in, zoom out, fit)\n * @default true\n */\n controls?: boolean;\n /** Legend of the groups; shown by default with several groups */\n legend?: boolean | GraphLegendOptions;\n /** Tooltip; `false` disables it */\n tooltip?: boolean | GraphTooltipOptions;\n /**\n * Drag pans, Ctrl / ⌘ + wheel and pinch zoom, nodes can be dragged\n * (force, circular), click selects, arrow keys move between nodes;\n * `false` makes the chart static\n * @default true\n */\n interaction?: boolean | GraphInteractionOptions;\n /**\n * Backend of the nodes and edges: `auto` tries WebGPU, then WebGL2, then\n * WebGL, then Canvas2D, skipping GPUs running in software\n * @default \"auto\"\n */\n renderer?: ChartRendererPreference;\n /** Group colors (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */\n palette?: readonly string[];\n /** Accessible name of the chart */\n ariaLabel?: string;\n /**\n * Language of the built-in texts (summary, announcements, tooltip,\n * buttons); built-in texts in English, Chinese, Japanese and French\n * @default the page language (`<html lang>`), then the browser language\n */\n locale?: string;\n /** Overrides of the built-in texts of the `locale` */\n labels?: Partial<GraphChartLabels>;\n /** Called when the hovered (or keyboard-focused) node / edge changes */\n onHover?: (event: GraphHoverEvent | null) => void;\n /** Called when a node or an edge is clicked (or a node activated with Enter) */\n onItemClick?: (event: GraphHoverEvent) => void;\n /** Called with the ids of the selected nodes when the selection changes */\n onSelectionChange?: (ids: string[]) => void;\n /** Called when a tree node is collapsed or expanded */\n onToggle?: (event: GraphToggleEvent) => void;\n /** Called when the legend shows / hides a group */\n onGroupToggle?: (event: GraphGroupToggleEvent) => void;\n /** Called when the layout is done (the force simulation cooled down) */\n onLayoutEnd?: (event: GraphLayoutEndEvent) => void;\n /** Called with the backend once it is ready (and after a fallback) */\n onRendererChange?: (renderer: ChartRendererKind) => void;\n /** Class of the outer element */\n className?: string;\n /** Style of the outer element */\n style?: CSSProperties;\n /** Imperative handle */\n ref?: Ref<GraphChartHandle>;\n}\n\n/** Props of `GraphChart` */\nexport interface GraphChartProps extends GraphCommonProps {\n /**\n * Placement of the nodes\n * @default \"force\"\n */\n layout?: GraphLayoutType;\n /** Direction of the `dag` and `tree` layouts */\n direction?: GraphDirection;\n /** Force layout settings (Barnes–Hut, worker for large graphs) */\n force?: GraphForceOptions;\n /** Circular / arc layout settings */\n circular?: GraphCircularOptions;\n /** Layered layout settings (`layout=\"dag\"`) */\n dag?: GraphDagOptions;\n /** Tree layout settings (tree layouts) */\n tree?: GraphTreeOptions;\n}\n\n/** Props of `DependencyGraph` */\nexport interface DependencyGraphProps extends GraphCommonProps {\n /**\n * Flow direction\n * @default \"TB\"\n */\n direction?: GraphDirection;\n /** Layer / node spacing, crossing reduction sweeps */\n dag?: GraphDagOptions;\n /**\n * Highlights the longest path (node `value` = duration); `true` computes it, a list of ids sets it\n * @default false\n */\n criticalPath?: boolean | readonly string[];\n}\n\n/** Props of `TreeChart` */\nexport interface TreeChartProps extends GraphCommonProps {\n /**\n * Kind of tree: tidy tree, radial tree, two-sided mind map or org chart\n * @default \"tree\"\n */\n layout?: \"tree\" | \"radial\" | \"mindmap\" | \"org\";\n /**\n * Direction of `layout=\"tree\"`\n * @default \"LR\"\n */\n direction?: GraphDirection;\n /** Root, spacing, collapsing, card size */\n tree?: GraphTreeOptions;\n}\n\n// ----------------------------------------------------------------- base\n\ninterface Handlers {\n onHover?: (event: GraphHoverEvent | null) => void;\n onItemClick?: (event: GraphHoverEvent) => void;\n onSelectionChange?: (ids: string[]) => void;\n onToggle?: (event: GraphToggleEvent) => void;\n onGroupToggle?: (event: GraphGroupToggleEvent) => void;\n onLayoutEnd?: (event: GraphLayoutEndEvent) => void;\n onRendererChange?: (renderer: ChartRendererKind) => void;\n}\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n};\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n): boolean => {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) => a[key] === b[key] && Object.prototype.hasOwnProperty.call(b, key),\n );\n};\n\nconst sameValue = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n if (Array.isArray(a) && Array.isArray(b))\n return a.length === b.length && a.every((v, i) => v === b[i]);\n return isPlainObject(a) && isPlainObject(b) && shallowEqual(a, b);\n};\n\n/**\n * Whether two option objects describe the same chart: top-level values by\n * identity, one level deep for inline arrays / objects (node and edge\n * arrays rebuilt with the same objects are the same data)\n */\nconst sameGraphOptions = (\n a: GraphChartOptions,\n b: GraphChartOptions,\n): boolean => {\n if (a === b) return true;\n const keys = Object.keys(a) as (keyof GraphChartOptions)[];\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) =>\n Object.prototype.hasOwnProperty.call(b, key) && sameValue(a[key], b[key]),\n );\n};\n\nconst cssSize = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\ninterface GraphBaseProps extends Handlers {\n options: GraphChartOptions;\n height?: number | string;\n width?: number | string;\n className?: string;\n style?: CSSProperties;\n handleRef?: Ref<GraphChartHandle>;\n}\n\nfunction GraphBase({\n options,\n height,\n width,\n className,\n style,\n handleRef,\n ...handlers\n}: GraphBaseProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<GraphChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n // keep the previous options while they describe the same chart\n const [stable, setStable] = useState(options);\n if (stable !== options && !sameGraphOptions(stable, options))\n setStable(options);\n const optionsRef = useRef(stable);\n\n useEffect(() => {\n handlersRef.current = handlers;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createGraphChart(container, optionsRef.current);\n chartRef.current = chart;\n const offs = [\n chart.on(\"hover\", (e) => handlersRef.current.onHover?.(e)),\n chart.on(\"click\", (e) => handlersRef.current.onItemClick?.(e)),\n chart.on(\"select\", (e) => handlersRef.current.onSelectionChange?.(e.ids)),\n chart.on(\"toggle\", (e) => handlersRef.current.onToggle?.(e)),\n chart.on(\"groupToggle\", (e) => handlersRef.current.onGroupToggle?.(e)),\n chart.on(\"layoutEnd\", (e) => handlersRef.current.onLayoutEnd?.(e)),\n chart.on(\"renderer\", (r) => handlersRef.current.onRendererChange?.(r)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === stable) return;\n optionsRef.current = stable;\n chartRef.current?.setOptions(stable);\n }, [stable]);\n\n useImperativeHandle(\n handleRef,\n () => ({\n fit: (animate) => chartRef.current?.fit(animate),\n focusNode: (id, opts) => chartRef.current?.focusNode(id, opts),\n setData: (data) => chartRef.current?.setData(data),\n select: (ids) => chartRef.current?.select(ids),\n getSelection: () => chartRef.current?.getSelection() ?? [],\n expand: (id) => chartRef.current?.expand(id),\n collapse: (id) => chartRef.current?.collapse(id),\n toggle: (id) => chartRef.current?.toggle(id),\n getPositions: () => chartRef.current?.getPositions() ?? {},\n relayout: () => chartRef.current?.relayout(),\n getRenderer: () => chartRef.current?.getRenderer() ?? null,\n getInstance: () => chartRef.current,\n }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: cssSize(width, \"100%\"),\n height: cssSize(height, \"480px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n </div>\n );\n}\n\n/** Renders a chart from the common props and the layout options */\nfunction GraphFrame({\n props,\n layout,\n}: {\n props: GraphCommonProps;\n layout: Pick<\n GraphChartOptions,\n \"layout\" | \"direction\" | \"force\" | \"circular\" | \"dag\" | \"tree\"\n >;\n}) {\n const {\n nodes,\n edges,\n groups,\n height,\n width,\n nodeShape,\n nodeSize,\n edgeStyle,\n edgeWidth,\n edgeColor,\n arrows,\n nodeLabels,\n edgeLabels,\n highlight,\n selected,\n animation,\n fitPadding,\n controls,\n legend,\n tooltip,\n interaction,\n renderer,\n palette,\n ariaLabel,\n locale,\n labels,\n onHover,\n onItemClick,\n onSelectionChange,\n onToggle,\n onGroupToggle,\n onLayoutEnd,\n onRendererChange,\n className,\n style,\n ref,\n } = props;\n const options: GraphChartOptions = {\n nodes,\n edges,\n groups,\n ...layout,\n nodeShape,\n nodeSize,\n edgeStyle,\n edgeWidth,\n edgeColor,\n arrows,\n nodeLabels,\n edgeLabels,\n highlight,\n selected,\n animation,\n fitPadding,\n controls,\n legend,\n tooltip,\n interaction,\n renderer,\n palette,\n ariaLabel,\n locale,\n labels,\n };\n return (\n <GraphBase\n options={options}\n height={height}\n width={width}\n className={className}\n style={style}\n handleRef={ref}\n onHover={onHover}\n onItemClick={onItemClick}\n onSelectionChange={onSelectionChange}\n onToggle={onToggle}\n onGroupToggle={onGroupToggle}\n onLayoutEnd={onLayoutEnd}\n onRendererChange={onRendererChange}\n />\n );\n}\n\n// ----------------------------------------------------------- components\n\n/**\n * Relationship network (关系图): force-directed by default (Barnes–Hut,\n * a Web Worker for large graphs), or circular, arc diagram, layered or\n * tree layouts; GPU rendering, pan / zoom, drag, neighbor highlight,\n * legend toggles and keyboard navigation.\n */\nexport function GraphChart(props: GraphChartProps) {\n const { layout, direction, force, circular, dag, tree } = props;\n return (\n <GraphFrame\n props={props}\n layout={{\n layout: layout ?? \"force\",\n direction,\n force,\n circular,\n dag,\n tree,\n }}\n />\n );\n}\n\n/**\n * Dependency graph (依赖图): layered (Sugiyama) layout of a DAG with\n * crossing reduction, spline or orthogonal edges with arrowheads,\n * upstream / downstream highlight and the critical path.\n */\nexport function DependencyGraph(props: DependencyGraphProps) {\n const { direction, dag, criticalPath } = props;\n return (\n <GraphFrame\n props={props}\n layout={{\n layout: \"dag\",\n direction: direction ?? \"TB\",\n dag: criticalPath === undefined ? dag : { ...dag, criticalPath },\n }}\n />\n );\n}\n\n/**\n * Tree chart (树图): tidy tree, radial tree, mind map or org chart, with\n * animated collapse / expand of the subtrees.\n */\nexport function TreeChart(props: TreeChartProps) {\n const { layout, direction, tree } = props;\n return (\n <GraphFrame\n props={props}\n layout={{ layout: layout ?? \"tree\", direction, tree }}\n />\n );\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use client";const e=require("../engine/shapes/calendar.cjs"),t=require("../engine/shapes/chart.cjs");let n=require("react"),r=require("react-dom"),i=require("react/jsx-runtime");var a=(e,t)=>e===void 0?t:typeof e==`number`?`${e}px`:e,o=e=>{if(typeof document>`u`||typeof MutationObserver!=`function`)return()=>{};let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`]}),()=>t.disconnect()},s=()=>typeof document>`u`?``:document.documentElement.lang,c=()=>``,l=({palette:e,legend:t,tooltip:r,format:i,percentFormat:a,locale:l,texts:u,hidden:d,animation:f,padding:p,ariaLabel:m})=>{let h=(0,n.useSyncExternalStore)(o,s,c),g=l??(h||void 0),_=d?d.join(`,`):null,v=(0,n.useMemo)(()=>_===null?void 0:_?_.split(`,`).map(Number):[],[_]);return(0,n.useMemo)(()=>({palette:e,legend:t,tooltip:r,format:i,percentFormat:a,locale:g,texts:u,hidden:v,animation:f,padding:p,ariaLabel:m}),[e,t,r,i,a,g,u,v,f,p,m])};function u({options:e,height:o,width:s,className:c,style:l,handleRef:u,renderTooltip:d,...f}){let p=(0,n.useRef)(null),m=(0,n.useRef)(null),h=(0,n.useRef)(f),g=(0,n.useRef)(d),[_,v]=(0,n.useState)(null),y=(0,n.useMemo)(()=>typeof document>`u`?null:document.createElement(`div`),[]),b=!!d,x=(0,n.useMemo)(()=>{if(!b||!y||e.tooltip===!1)return e;let t=typeof e.tooltip==`object`?e.tooltip:{};return{...e,tooltip:{...t,render:e=>g.current?((0,r.flushSync)(()=>v(e)),y):null}}},[e,b,y]),S=(0,n.useRef)(x);return(0,n.useEffect)(()=>{h.current=f,g.current=d}),(0,n.useEffect)(()=>{let e=p.current;if(!e)return;let n=t.createShapeChart(e,S.current);m.current=n;let r=[n.on(`hover`,e=>h.current.onHover?.(e)),n.on(`click`,e=>h.current.onClick?.(e)),n.on(`toggle`,e=>h.current.onToggle?.(e)),n.on(`drill`,e=>h.current.onDrill?.(e))];return()=>{r.forEach(e=>e()),n.destroy(),m.current=null}},[]),(0,n.useEffect)(()=>{S.current!==x&&(S.current=x,m.current?.setOptions(x))},[x]),(0,n.useImperativeHandle)(u,()=>({getInstance:()=>m.current}),[]),(0,i.jsxs)(`div`,{className:c,style:{position:`relative`,width:a(s,`100%`),height:a(o,`320px`),...l},children:[(0,i.jsx)(`div`,{ref:p,style:{position:`absolute`,inset:0}}),y&&_&&d&&(0,r.createPortal)(d(_),y)]})}function d(e){return(0,i.jsx)(p,{...e,defaultInner:0})}function f(e){return(0,i.jsx)(p,{...e,defaultInner:.62})}function p(e){let{data:t,innerRadius:r,startAngle:a,padAngle:o,cornerRadius:s,rose:c,labels:u,labelContent:d,centerValue:f,centerLabel:p,defaultInner:m}=e,h=l(e),g=(0,n.useMemo)(()=>({...h,type:`pie`,data:t,innerRadius:r??m,startAngle:a,padAngle:o,cornerRadius:s,rose:c,labels:u,labelContent:d,centerValue:f,centerLabel:p}),[h,t,r,m,a,o,s,c,u,d,f,p]);return(0,i.jsx)(C,{props:e,options:g,defaultHeight:320})}function m(e){let{indicators:t,series:r,shape:a,levels:o,dots:s}=e,c=l(e),u=(0,n.useMemo)(()=>({...c,type:`radar`,indicators:t,series:r,shape:a,levels:o,dots:s}),[c,t,r,a,o,s]);return(0,i.jsx)(C,{props:e,options:u,defaultHeight:320})}function h(e){let{value:t,min:r,max:a,label:o,sweep:s,thickness:c,bands:u,color:d,needle:f,ticks:p}=e,m=l(e),h=(0,n.useMemo)(()=>({...m,type:`gauge`,value:t,min:r,max:a,label:o,sweep:s,thickness:c,bands:u,color:d,needle:f,ticks:p}),[m,t,r,a,o,s,c,u,d,f,p]);return(0,i.jsx)(C,{props:e,options:h,defaultHeight:240})}function g(e){let{data:t,sort:r,gap:a,conversion:o,shape:s}=e,c=l(e),u=(0,n.useMemo)(()=>({...c,type:`funnel`,data:t,sort:r,gap:a,conversion:o,shape:s}),[c,t,r,a,o,s]);return(0,i.jsx)(C,{props:e,options:u,defaultHeight:320})}function _(e){let{data:t,gap:r,headers:a}=e,o=l(e),s=(0,n.useMemo)(()=>({...o,type:`treemap`,data:t,gap:r,headers:a}),[o,t,r,a]);return(0,i.jsx)(C,{props:e,options:s,defaultHeight:320})}function v(e){let{nodes:t,links:r,nodeWidth:a,nodePadding:o,align:s,iterations:c,linkColor:u,linkOpacity:d,labels:f,labelValues:p}=e,m=l(e),h=(0,n.useMemo)(()=>({...m,type:`sankey`,nodes:t,links:r,nodeWidth:a,nodePadding:o,align:s,iterations:c,linkColor:u,linkOpacity:d,labels:f,labelValues:p}),[m,t,r,a,o,s,c,u,d,f,p]);return(0,i.jsx)(C,{props:e,options:h,defaultHeight:360})}function y(e){let{data:t,innerRadius:r,levels:a,startAngle:o,padAngle:s,cornerRadius:c,labels:u,drill:d,drillPath:f,onDrill:p}=e,m=l(e),h=f?JSON.stringify(f):null,g=(0,n.useMemo)(()=>h===null?void 0:JSON.parse(h),[h]),_=(0,n.useMemo)(()=>({...m,type:`sunburst`,data:t,innerRadius:r,levels:a,startAngle:o,padAngle:s,cornerRadius:c,labels:u,drill:d,drillPath:g}),[m,t,r,a,o,s,c,u,d,g]);return(0,i.jsx)(C,{props:e,options:_,defaultHeight:360,onDrill:p})}function b(e){let{data:t,max:r,innerRadius:a,startAngle:o,sweep:s,gap:c,track:u,rounded:d,labels:f,labelContent:p,centerValue:m,centerLabel:h}=e,g=l(e),_=(0,n.useMemo)(()=>({...g,type:`radialBar`,data:t,max:r,innerRadius:a,startAngle:o,sweep:s,gap:c,track:u,rounded:d,labels:f,labelContent:p,centerValue:m,centerLabel:h}),[g,t,r,a,o,s,c,u,d,f,p,m,h]);return(0,i.jsx)(C,{props:e,options:_,defaultHeight:300})}function x(t){let{data:r,range:a,layout:o,weekStart:s,color:c,colors:u,levels:d,thresholds:f,gap:p,radius:m,maxCellSize:h,monthLabels:g,weekdayLabels:_}=t,v=l(t),y=(0,n.useMemo)(()=>({...v,type:`calendarHeatmap`,data:r,range:a,layout:o,weekStart:s,color:c,colors:u,levels:d,thresholds:f,gap:p,radius:m,maxCellSize:h,monthLabels:g,weekdayLabels:_}),[v,r,a,o,s,c,u,d,f,p,m,h,g,_]),b=(0,n.useMemo)(()=>{let t=y.legend===!1?0:34;return o===`months`?560:e.calendarStrips(y)*120+t+16},[y,o]);return(0,i.jsx)(C,{props:t,options:y,defaultHeight:b})}function S(e){let{data:t,orientation:r,ranges:a,rangeLabels:o,rangeColors:s,barSize:c,targetColor:u,ticks:d}=e,f=l(e),p=(0,n.useMemo)(()=>({...f,type:`bullet`,data:t,orientation:r,ranges:a,rangeLabels:o,rangeColors:s,barSize:c,targetColor:u,ticks:d}),[f,t,r,a,o,s,c,u,d]),m=p.legend?34:0,h=r===`vertical`?320:Math.max(96,t.length*64+16)+m;return(0,i.jsx)(C,{props:e,options:p,defaultHeight:h})}function C({props:e,options:t,defaultHeight:n,onDrill:r}){return(0,i.jsx)(u,{options:t,height:e.height??n,width:e.width,className:e.className,style:e.style,handleRef:e.ref,onHover:e.onHover,onClick:e.onClick,onToggle:e.onToggle,onDrill:r,renderTooltip:e.renderTooltip})}exports.BulletChart=S,exports.CalendarHeatmap=x,exports.DonutChart=f,exports.FunnelChart=g,exports.GaugeChart=h,exports.PieChart=d,exports.RadarChart=m,exports.RadialBarChart=b,exports.SankeyChart=v,exports.SunburstChart=y,exports.TreemapChart=_;
1
+ "use client";const e=require("../engine/shapes/calendar.cjs"),t=require("../engine/shapes/chart.cjs");let n=require("react"),r=require("react-dom"),i=require("react/jsx-runtime");var a=(e,t)=>e===void 0?t:typeof e==`number`?`${e}px`:e,o=e=>{if(typeof document>`u`||typeof MutationObserver!=`function`)return()=>{};let t=new MutationObserver(e);return t.observe(document.documentElement,{attributes:!0,attributeFilter:[`lang`]}),()=>t.disconnect()},s=()=>typeof document>`u`?``:document.documentElement.lang,c=()=>``,l=({palette:e,legend:t,tooltip:r,format:i,percentFormat:a,locale:l,texts:u,hidden:d,animation:f,padding:p,ariaLabel:m})=>{let h=(0,n.useSyncExternalStore)(o,s,c),g=l??(h||void 0),_=d?d.join(`,`):null,v=(0,n.useMemo)(()=>_===null?void 0:_?_.split(`,`).map(Number):[],[_]);return(0,n.useMemo)(()=>({palette:e,legend:t,tooltip:r,format:i,percentFormat:a,locale:g,texts:u,hidden:v,animation:f,padding:p,ariaLabel:m}),[e,t,r,i,a,g,u,v,f,p,m])};function u({options:e,height:o,width:s,className:c,style:l,handleRef:u,renderTooltip:d,...f}){let p=(0,n.useRef)(null),m=(0,n.useRef)(null),h=(0,n.useRef)(f),g=(0,n.useRef)(d),[_,v]=(0,n.useState)(null),y=(0,n.useMemo)(()=>typeof document>`u`?null:document.createElement(`div`),[]),b=!!d,x=(0,n.useMemo)(()=>{if(!b||!y||e.tooltip===!1)return e;let t=typeof e.tooltip==`object`?e.tooltip:{};return{...e,tooltip:{...t,render:e=>g.current?((0,r.flushSync)(()=>v(e)),y):null}}},[e,b,y]),S=(0,n.useRef)(x);return(0,n.useEffect)(()=>{h.current=f,g.current=d}),(0,n.useEffect)(()=>{let e=p.current;if(!e)return;let n=t.createShapeChart(e,S.current);m.current=n;let r=[n.on(`hover`,e=>h.current.onHover?.(e)),n.on(`click`,e=>h.current.onClick?.(e)),n.on(`toggle`,e=>h.current.onToggle?.(e)),n.on(`drill`,e=>h.current.onDrill?.(e))];return()=>{r.forEach(e=>e()),n.destroy(),m.current=null}},[]),(0,n.useEffect)(()=>{S.current!==x&&(S.current=x,m.current?.setOptions(x))},[x]),(0,n.useImperativeHandle)(u,()=>({getInstance:()=>m.current}),[]),(0,i.jsxs)(`div`,{className:c,style:{position:`relative`,width:a(s,`100%`),height:a(o,`320px`),...l},children:[(0,i.jsx)(`div`,{ref:p,style:{position:`absolute`,inset:0}}),y&&_&&d&&(0,r.createPortal)(d(_),y)]})}function d(e){return(0,i.jsx)(p,{...e,defaultInner:0})}function f(e){return(0,i.jsx)(p,{...e,defaultInner:.62})}function p(e){let{data:t,innerRadius:r,startAngle:a,padAngle:o,cornerRadius:s,rose:c,labels:u,labelContent:d,centerValue:f,centerLabel:p,defaultInner:m}=e,h=l(e),g=(0,n.useMemo)(()=>({...h,type:`pie`,data:t,innerRadius:r??m,startAngle:a,padAngle:o,cornerRadius:s,rose:c,labels:u,labelContent:d,centerValue:f,centerLabel:p}),[h,t,r,m,a,o,s,c,u,d,f,p]);return(0,i.jsx)(w,{props:e,options:g,defaultHeight:320})}function m(e){let{indicators:t,series:r,shape:a,levels:o,dots:s}=e,c=l(e),u=(0,n.useMemo)(()=>({...c,type:`radar`,indicators:t,series:r,shape:a,levels:o,dots:s}),[c,t,r,a,o,s]);return(0,i.jsx)(w,{props:e,options:u,defaultHeight:320})}function h(e){let{value:t,min:r,max:a,label:o,sweep:s,thickness:c,bands:u,color:d,needle:f,ticks:p}=e,m=l(e),h=(0,n.useMemo)(()=>({...m,type:`gauge`,value:t,min:r,max:a,label:o,sweep:s,thickness:c,bands:u,color:d,needle:f,ticks:p}),[m,t,r,a,o,s,c,u,d,f,p]);return(0,i.jsx)(w,{props:e,options:h,defaultHeight:240})}function g(e){let{data:t,sort:r,gap:a,conversion:o,shape:s}=e,c=l(e),u=(0,n.useMemo)(()=>({...c,type:`funnel`,data:t,sort:r,gap:a,conversion:o,shape:s}),[c,t,r,a,o,s]);return(0,i.jsx)(w,{props:e,options:u,defaultHeight:320})}function _(e){let{data:t,gap:r,headers:a}=e,o=l(e),s=(0,n.useMemo)(()=>({...o,type:`treemap`,data:t,gap:r,headers:a}),[o,t,r,a]);return(0,i.jsx)(w,{props:e,options:s,defaultHeight:320})}function v(e){let{nodes:t,links:r,nodeWidth:a,nodePadding:o,align:s,iterations:c,linkColor:u,linkOpacity:d,labels:f,labelValues:p}=e,m=l(e),h=(0,n.useMemo)(()=>({...m,type:`sankey`,nodes:t,links:r,nodeWidth:a,nodePadding:o,align:s,iterations:c,linkColor:u,linkOpacity:d,labels:f,labelValues:p}),[m,t,r,a,o,s,c,u,d,f,p]);return(0,i.jsx)(w,{props:e,options:h,defaultHeight:360})}function y(e){let{data:t,innerRadius:r,levels:a,startAngle:o,padAngle:s,cornerRadius:c,labels:u,drill:d,drillPath:f,onDrill:p}=e,m=l(e),h=f?JSON.stringify(f):null,g=(0,n.useMemo)(()=>h===null?void 0:JSON.parse(h),[h]),_=(0,n.useMemo)(()=>({...m,type:`sunburst`,data:t,innerRadius:r,levels:a,startAngle:o,padAngle:s,cornerRadius:c,labels:u,drill:d,drillPath:g}),[m,t,r,a,o,s,c,u,d,g]);return(0,i.jsx)(w,{props:e,options:_,defaultHeight:360,onDrill:p})}function b(e){let{data:t,max:r,innerRadius:a,startAngle:o,sweep:s,gap:c,track:u,rounded:d,labels:f,labelContent:p,centerValue:m,centerLabel:h}=e,g=l(e),_=(0,n.useMemo)(()=>({...g,type:`radialBar`,data:t,max:r,innerRadius:a,startAngle:o,sweep:s,gap:c,track:u,rounded:d,labels:f,labelContent:p,centerValue:m,centerLabel:h}),[g,t,r,a,o,s,c,u,d,f,p,m,h]);return(0,i.jsx)(w,{props:e,options:_,defaultHeight:300})}function x(t){let{data:r,range:a,layout:o,weekStart:s,color:c,colors:u,levels:d,thresholds:f,gap:p,radius:m,maxCellSize:h,monthLabels:g,weekdayLabels:_}=t,v=l(t),y=(0,n.useMemo)(()=>({...v,type:`calendarHeatmap`,data:r,range:a,layout:o,weekStart:s,color:c,colors:u,levels:d,thresholds:f,gap:p,radius:m,maxCellSize:h,monthLabels:g,weekdayLabels:_}),[v,r,a,o,s,c,u,d,f,p,m,h,g,_]),b=(0,n.useMemo)(()=>{let t=y.legend===!1?0:34;return o===`months`?560:e.calendarStrips(y)*120+t+16},[y,o]);return(0,i.jsx)(w,{props:t,options:y,defaultHeight:b})}function S(e){let{data:t,orientation:r,ranges:a,rangeLabels:o,rangeColors:s,barSize:c,targetColor:u,ticks:d}=e,f=l(e),p=(0,n.useMemo)(()=>({...f,type:`bullet`,data:t,orientation:r,ranges:a,rangeLabels:o,rangeColors:s,barSize:c,targetColor:u,ticks:d}),[f,t,r,a,o,s,c,u,d]),m=p.legend?34:0,h=r===`vertical`?320:Math.max(96,t.length*64+16)+m;return(0,i.jsx)(w,{props:e,options:p,defaultHeight:h})}function C(e){let{groups:t,matrix:r,links:a,directed:o,arrows:s,padAngle:c,startAngle:u,sortGroups:d,sortSubgroups:f,ribbonColor:p,ribbonOpacity:m,arcWidth:h,ticks:g,tickFormat:_,labels:v}=e,y=l(e),b=(0,n.useMemo)(()=>({...y,type:`chord`,groups:t,matrix:r,links:a,directed:o,arrows:s,padAngle:c,startAngle:u,sortGroups:d,sortSubgroups:f,ribbonColor:p,ribbonOpacity:m,arcWidth:h,ticks:g,tickFormat:_,labels:v}),[y,t,r,a,o,s,c,u,d,f,p,m,h,g,_,v]);return(0,i.jsx)(w,{props:e,options:b,defaultHeight:420})}function w({props:e,options:t,defaultHeight:n,onDrill:r}){return(0,i.jsx)(u,{options:t,height:e.height??n,width:e.width,className:e.className,style:e.style,handleRef:e.ref,onHover:e.onHover,onClick:e.onClick,onToggle:e.onToggle,onDrill:r,renderTooltip:e.renderTooltip})}exports.BulletChart=S,exports.CalendarHeatmap=x,exports.ChordChart=C,exports.DonutChart=f,exports.FunnelChart=g,exports.GaugeChart=h,exports.PieChart=d,exports.RadarChart=m,exports.RadialBarChart=b,exports.SankeyChart=v,exports.SunburstChart=y,exports.TreemapChart=_;
2
2
  //# sourceMappingURL=shapes.cjs.map