minerva-design 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +3072 -611
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +595 -5
  7. package/dist/charts/canvas.d.cts +4 -3
  8. package/dist/charts/canvas.d.ts +4 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +6 -4
  11. package/dist/charts/core.d.ts +6 -4
  12. package/dist/charts/core.js +24 -16
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +42 -19
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.js +155 -127
  20. package/dist/charts/engine/canvas.js.map +1 -1
  21. package/dist/charts/engine/chart.cjs +1 -1
  22. package/dist/charts/engine/chart.cjs.map +1 -1
  23. package/dist/charts/engine/chart.js +370 -255
  24. package/dist/charts/engine/chart.js.map +1 -1
  25. package/dist/charts/engine/color.cjs +1 -1
  26. package/dist/charts/engine/color.cjs.map +1 -1
  27. package/dist/charts/engine/color.d.cts +18 -0
  28. package/dist/charts/engine/color.d.ts +18 -0
  29. package/dist/charts/engine/color.js +48 -2
  30. package/dist/charts/engine/color.js.map +1 -1
  31. package/dist/charts/engine/controller.cjs +2 -2
  32. package/dist/charts/engine/controller.cjs.map +1 -1
  33. package/dist/charts/engine/controller.d.cts +34 -1
  34. package/dist/charts/engine/controller.d.ts +34 -1
  35. package/dist/charts/engine/controller.js +318 -273
  36. package/dist/charts/engine/controller.js.map +1 -1
  37. package/dist/charts/engine/data.cjs +1 -1
  38. package/dist/charts/engine/data.cjs.map +1 -1
  39. package/dist/charts/engine/data.d.cts +3 -1
  40. package/dist/charts/engine/data.d.ts +3 -1
  41. package/dist/charts/engine/data.js +6 -4
  42. package/dist/charts/engine/data.js.map +1 -1
  43. package/dist/charts/engine/defaults.cjs +2 -0
  44. package/dist/charts/engine/defaults.cjs.map +1 -0
  45. package/dist/charts/engine/defaults.d.cts +20 -0
  46. package/dist/charts/engine/defaults.d.ts +20 -0
  47. package/dist/charts/engine/defaults.js +35 -0
  48. package/dist/charts/engine/defaults.js.map +1 -0
  49. package/dist/charts/engine/format.cjs +1 -1
  50. package/dist/charts/engine/format.cjs.map +1 -1
  51. package/dist/charts/engine/format.d.cts +6 -0
  52. package/dist/charts/engine/format.d.ts +6 -0
  53. package/dist/charts/engine/format.js +15 -2
  54. package/dist/charts/engine/format.js.map +1 -1
  55. package/dist/charts/engine/graph/chart.cjs +2 -0
  56. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  57. package/dist/charts/engine/graph/chart.d.cts +3 -0
  58. package/dist/charts/engine/graph/chart.d.ts +3 -0
  59. package/dist/charts/engine/graph/chart.js +1708 -0
  60. package/dist/charts/engine/graph/chart.js.map +1 -0
  61. package/dist/charts/engine/graph/circular.cjs +2 -0
  62. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  63. package/dist/charts/engine/graph/circular.d.cts +16 -0
  64. package/dist/charts/engine/graph/circular.d.ts +16 -0
  65. package/dist/charts/engine/graph/circular.js +62 -0
  66. package/dist/charts/engine/graph/circular.js.map +1 -0
  67. package/dist/charts/engine/graph/dag.cjs +2 -0
  68. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  69. package/dist/charts/engine/graph/dag.d.cts +34 -0
  70. package/dist/charts/engine/graph/dag.d.ts +34 -0
  71. package/dist/charts/engine/graph/dag.js +339 -0
  72. package/dist/charts/engine/graph/dag.js.map +1 -0
  73. package/dist/charts/engine/graph/dom.cjs +2 -0
  74. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  75. package/dist/charts/engine/graph/dom.d.cts +23 -0
  76. package/dist/charts/engine/graph/dom.d.ts +23 -0
  77. package/dist/charts/engine/graph/dom.js +158 -0
  78. package/dist/charts/engine/graph/dom.js.map +1 -0
  79. package/dist/charts/engine/graph/force.cjs +2 -0
  80. package/dist/charts/engine/graph/force.cjs.map +1 -0
  81. package/dist/charts/engine/graph/force.d.cts +76 -0
  82. package/dist/charts/engine/graph/force.d.ts +76 -0
  83. package/dist/charts/engine/graph/force.js +423 -0
  84. package/dist/charts/engine/graph/force.js.map +1 -0
  85. package/dist/charts/engine/graph/geometry.cjs +2 -0
  86. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  87. package/dist/charts/engine/graph/geometry.d.cts +50 -0
  88. package/dist/charts/engine/graph/geometry.d.ts +50 -0
  89. package/dist/charts/engine/graph/geometry.js +197 -0
  90. package/dist/charts/engine/graph/geometry.js.map +1 -0
  91. package/dist/charts/engine/graph/index.cjs +1 -0
  92. package/dist/charts/engine/graph/index.d.cts +6 -0
  93. package/dist/charts/engine/graph/index.d.ts +6 -0
  94. package/dist/charts/engine/graph/index.js +6 -0
  95. package/dist/charts/engine/graph/labels.cjs +2 -0
  96. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  97. package/dist/charts/engine/graph/labels.d.cts +12 -0
  98. package/dist/charts/engine/graph/labels.d.ts +12 -0
  99. package/dist/charts/engine/graph/labels.js +128 -0
  100. package/dist/charts/engine/graph/labels.js.map +1 -0
  101. package/dist/charts/engine/graph/model.cjs +2 -0
  102. package/dist/charts/engine/graph/model.cjs.map +1 -0
  103. package/dist/charts/engine/graph/model.d.cts +52 -0
  104. package/dist/charts/engine/graph/model.d.ts +52 -0
  105. package/dist/charts/engine/graph/model.js +108 -0
  106. package/dist/charts/engine/graph/model.js.map +1 -0
  107. package/dist/charts/engine/graph/sizing.cjs +2 -0
  108. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  109. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  110. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  111. package/dist/charts/engine/graph/sizing.js +60 -0
  112. package/dist/charts/engine/graph/sizing.js.map +1 -0
  113. package/dist/charts/engine/graph/tree.cjs +2 -0
  114. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  115. package/dist/charts/engine/graph/tree.d.cts +30 -0
  116. package/dist/charts/engine/graph/tree.d.ts +30 -0
  117. package/dist/charts/engine/graph/tree.js +218 -0
  118. package/dist/charts/engine/graph/tree.js.map +1 -0
  119. package/dist/charts/engine/graph/types.d.cts +640 -0
  120. package/dist/charts/engine/graph/types.d.ts +640 -0
  121. package/dist/charts/engine/graph/worker.cjs +52 -0
  122. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  123. package/dist/charts/engine/graph/worker.d.cts +36 -0
  124. package/dist/charts/engine/graph/worker.d.ts +36 -0
  125. package/dist/charts/engine/graph/worker.js +135 -0
  126. package/dist/charts/engine/graph/worker.js.map +1 -0
  127. package/dist/charts/engine/items.cjs +1 -1
  128. package/dist/charts/engine/items.cjs.map +1 -1
  129. package/dist/charts/engine/items.d.cts +15 -2
  130. package/dist/charts/engine/items.d.ts +15 -2
  131. package/dist/charts/engine/items.js +131 -112
  132. package/dist/charts/engine/items.js.map +1 -1
  133. package/dist/charts/engine/labels.cjs +1 -1
  134. package/dist/charts/engine/labels.cjs.map +1 -1
  135. package/dist/charts/engine/labels.d.cts +17 -0
  136. package/dist/charts/engine/labels.d.ts +17 -0
  137. package/dist/charts/engine/labels.js +28 -4
  138. package/dist/charts/engine/labels.js.map +1 -1
  139. package/dist/charts/engine/layout.cjs +1 -1
  140. package/dist/charts/engine/layout.cjs.map +1 -1
  141. package/dist/charts/engine/layout.d.cts +9 -0
  142. package/dist/charts/engine/layout.d.ts +9 -0
  143. package/dist/charts/engine/layout.js +11 -2
  144. package/dist/charts/engine/layout.js.map +1 -1
  145. package/dist/charts/engine/model.cjs +1 -1
  146. package/dist/charts/engine/model.cjs.map +1 -1
  147. package/dist/charts/engine/model.d.cts +73 -3
  148. package/dist/charts/engine/model.d.ts +73 -3
  149. package/dist/charts/engine/model.js +258 -154
  150. package/dist/charts/engine/model.js.map +1 -1
  151. package/dist/charts/engine/orderbook/field.cjs +37 -0
  152. package/dist/charts/engine/orderbook/field.cjs.map +1 -0
  153. package/dist/charts/engine/orderbook/field.d.cts +92 -0
  154. package/dist/charts/engine/orderbook/field.d.ts +92 -0
  155. package/dist/charts/engine/orderbook/field.js +297 -0
  156. package/dist/charts/engine/orderbook/field.js.map +1 -0
  157. package/dist/charts/engine/orderbook/format.cjs +1 -1
  158. package/dist/charts/engine/orderbook/format.cjs.map +1 -1
  159. package/dist/charts/engine/orderbook/format.d.cts +3 -2
  160. package/dist/charts/engine/orderbook/format.d.ts +3 -2
  161. package/dist/charts/engine/orderbook/format.js +5 -5
  162. package/dist/charts/engine/orderbook/format.js.map +1 -1
  163. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  164. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  165. package/dist/charts/engine/orderbook/heatmap.js +566 -475
  166. package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
  167. package/dist/charts/engine/orderbook/host.cjs +1 -1
  168. package/dist/charts/engine/orderbook/host.cjs.map +1 -1
  169. package/dist/charts/engine/orderbook/host.d.cts +8 -1
  170. package/dist/charts/engine/orderbook/host.d.ts +8 -1
  171. package/dist/charts/engine/orderbook/host.js +27 -5
  172. package/dist/charts/engine/orderbook/host.js.map +1 -1
  173. package/dist/charts/engine/orderbook/ladder.cjs +1 -1
  174. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
  175. package/dist/charts/engine/orderbook/ladder.js +1 -1
  176. package/dist/charts/engine/orderbook/ladder.js.map +1 -1
  177. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  178. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  179. package/dist/charts/engine/orderbook/layout.d.cts +42 -0
  180. package/dist/charts/engine/orderbook/layout.d.ts +42 -0
  181. package/dist/charts/engine/orderbook/layout.js +76 -0
  182. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  183. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  184. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  185. package/dist/charts/engine/orderbook/tape.js +4 -4
  186. package/dist/charts/engine/orderbook/tape.js.map +1 -1
  187. package/dist/charts/engine/orderbook/types.d.cts +27 -3
  188. package/dist/charts/engine/orderbook/types.d.ts +27 -3
  189. package/dist/charts/engine/overlay.cjs +1 -1
  190. package/dist/charts/engine/overlay.cjs.map +1 -1
  191. package/dist/charts/engine/overlay.d.cts +27 -0
  192. package/dist/charts/engine/overlay.d.ts +27 -0
  193. package/dist/charts/engine/overlay.js +34 -12
  194. package/dist/charts/engine/overlay.js.map +1 -1
  195. package/dist/charts/engine/presets.cjs +2 -2
  196. package/dist/charts/engine/presets.cjs.map +1 -1
  197. package/dist/charts/engine/presets.d.cts +35 -3
  198. package/dist/charts/engine/presets.d.ts +35 -3
  199. package/dist/charts/engine/presets.js +121 -101
  200. package/dist/charts/engine/presets.js.map +1 -1
  201. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  202. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  203. package/dist/charts/engine/renderers/canvas2d.js +13 -9
  204. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  205. package/dist/charts/engine/renderers/detect.cjs +1 -1
  206. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  207. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  208. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  209. package/dist/charts/engine/renderers/detect.js +23 -21
  210. package/dist/charts/engine/renderers/detect.js.map +1 -1
  211. package/dist/charts/engine/renderers/follow.cjs +2 -0
  212. package/dist/charts/engine/renderers/follow.cjs.map +1 -0
  213. package/dist/charts/engine/renderers/follow.d.cts +8 -0
  214. package/dist/charts/engine/renderers/follow.d.ts +8 -0
  215. package/dist/charts/engine/renderers/follow.js +10 -0
  216. package/dist/charts/engine/renderers/follow.js.map +1 -0
  217. package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
  218. package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
  219. package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
  220. package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
  221. package/dist/charts/engine/renderers/gl-budget.js +95 -0
  222. package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
  223. package/dist/charts/engine/renderers/gl.cjs +1 -1
  224. package/dist/charts/engine/renderers/gl.cjs.map +1 -1
  225. package/dist/charts/engine/renderers/gl.js +1 -1
  226. package/dist/charts/engine/renderers/gl.js.map +1 -1
  227. package/dist/charts/engine/renderers/shaders.cjs +9 -6
  228. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/shaders.d.cts +1 -1
  230. package/dist/charts/engine/renderers/shaders.d.ts +1 -1
  231. package/dist/charts/engine/renderers/shaders.js +9 -6
  232. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  233. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  234. package/dist/charts/engine/renderers/types.d.cts +2 -0
  235. package/dist/charts/engine/renderers/types.d.ts +2 -0
  236. package/dist/charts/engine/renderers/types.js.map +1 -1
  237. package/dist/charts/engine/renderers/webgl.cjs +1 -1
  238. package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
  239. package/dist/charts/engine/renderers/webgl.js +85 -64
  240. package/dist/charts/engine/renderers/webgl.js.map +1 -1
  241. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  242. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  243. package/dist/charts/engine/renderers/webgl2.js +72 -58
  244. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  246. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  247. package/dist/charts/engine/renderers/webgpu.js +1 -1
  248. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  249. package/dist/charts/engine/scene.cjs +1 -1
  250. package/dist/charts/engine/scene.cjs.map +1 -1
  251. package/dist/charts/engine/scene.d.cts +104 -4
  252. package/dist/charts/engine/scene.d.ts +104 -4
  253. package/dist/charts/engine/scene.js +412 -193
  254. package/dist/charts/engine/scene.js.map +1 -1
  255. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  256. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  257. package/dist/charts/engine/shapes/bullet.js +110 -110
  258. package/dist/charts/engine/shapes/bullet.js.map +1 -1
  259. package/dist/charts/engine/shapes/chart.cjs +1 -1
  260. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  261. package/dist/charts/engine/shapes/chart.js +4 -1
  262. package/dist/charts/engine/shapes/chart.js.map +1 -1
  263. package/dist/charts/engine/shapes/chord.cjs +2 -0
  264. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  266. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  267. package/dist/charts/engine/shapes/chord.js +419 -0
  268. package/dist/charts/engine/shapes/chord.js.map +1 -0
  269. package/dist/charts/engine/shapes/draw.cjs +1 -1
  270. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  271. package/dist/charts/engine/shapes/draw.d.cts +5 -1
  272. package/dist/charts/engine/shapes/draw.d.ts +5 -1
  273. package/dist/charts/engine/shapes/draw.js +47 -17
  274. package/dist/charts/engine/shapes/draw.js.map +1 -1
  275. package/dist/charts/engine/shapes/hit.cjs +1 -1
  276. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  278. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  279. package/dist/charts/engine/shapes/hit.js +75 -46
  280. package/dist/charts/engine/shapes/hit.js.map +1 -1
  281. package/dist/charts/engine/shapes/index.d.cts +3 -2
  282. package/dist/charts/engine/shapes/index.d.ts +3 -2
  283. package/dist/charts/engine/shapes/labels.cjs +1 -1
  284. package/dist/charts/engine/shapes/labels.cjs.map +1 -1
  285. package/dist/charts/engine/shapes/labels.js +12 -4
  286. package/dist/charts/engine/shapes/labels.js.map +1 -1
  287. package/dist/charts/engine/shapes/layout.cjs +2 -2
  288. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  289. package/dist/charts/engine/shapes/layout.d.cts +3 -1
  290. package/dist/charts/engine/shapes/layout.d.ts +3 -1
  291. package/dist/charts/engine/shapes/layout.js +106 -78
  292. package/dist/charts/engine/shapes/layout.js.map +1 -1
  293. package/dist/charts/engine/shapes/scene.cjs +1 -1
  294. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  295. package/dist/charts/engine/shapes/scene.d.cts +33 -3
  296. package/dist/charts/engine/shapes/scene.d.ts +33 -3
  297. package/dist/charts/engine/shapes/scene.js +62 -19
  298. package/dist/charts/engine/shapes/scene.js.map +1 -1
  299. package/dist/charts/engine/shapes/types.d.cts +121 -8
  300. package/dist/charts/engine/shapes/types.d.ts +121 -8
  301. package/dist/charts/engine/signature.cjs +1 -1
  302. package/dist/charts/engine/signature.cjs.map +1 -1
  303. package/dist/charts/engine/signature.js +1 -1
  304. package/dist/charts/engine/signature.js.map +1 -1
  305. package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
  306. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
  307. package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
  308. package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
  309. package/dist/charts/engine/three-d/canvas2d.js +166 -67
  310. package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
  311. package/dist/charts/engine/three-d/chart.cjs +1 -1
  312. package/dist/charts/engine/three-d/chart.cjs.map +1 -1
  313. package/dist/charts/engine/three-d/chart.js +219 -215
  314. package/dist/charts/engine/three-d/chart.js.map +1 -1
  315. package/dist/charts/engine/three-d/detect.cjs +1 -1
  316. package/dist/charts/engine/three-d/detect.cjs.map +1 -1
  317. package/dist/charts/engine/three-d/detect.d.cts +3 -2
  318. package/dist/charts/engine/three-d/detect.d.ts +3 -2
  319. package/dist/charts/engine/three-d/detect.js +22 -20
  320. package/dist/charts/engine/three-d/detect.js.map +1 -1
  321. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  322. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  323. package/dist/charts/engine/three-d/geometry.d.cts +6 -0
  324. package/dist/charts/engine/three-d/geometry.d.ts +6 -0
  325. package/dist/charts/engine/three-d/geometry.js +106 -90
  326. package/dist/charts/engine/three-d/geometry.js.map +1 -1
  327. package/dist/charts/engine/three-d/model.cjs +1 -1
  328. package/dist/charts/engine/three-d/model.cjs.map +1 -1
  329. package/dist/charts/engine/three-d/model.d.cts +2 -0
  330. package/dist/charts/engine/three-d/model.d.ts +2 -0
  331. package/dist/charts/engine/three-d/model.js +2 -0
  332. package/dist/charts/engine/three-d/model.js.map +1 -1
  333. package/dist/charts/engine/three-d/oit.cjs +109 -0
  334. package/dist/charts/engine/three-d/oit.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/oit.d.cts +34 -0
  336. package/dist/charts/engine/three-d/oit.d.ts +34 -0
  337. package/dist/charts/engine/three-d/oit.js +111 -0
  338. package/dist/charts/engine/three-d/oit.js.map +1 -0
  339. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  340. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  341. package/dist/charts/engine/three-d/overlay.js +43 -36
  342. package/dist/charts/engine/three-d/overlay.js.map +1 -1
  343. package/dist/charts/engine/three-d/render-types.cjs +1 -1
  344. package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
  345. package/dist/charts/engine/three-d/render-types.d.cts +37 -3
  346. package/dist/charts/engine/three-d/render-types.d.ts +37 -3
  347. package/dist/charts/engine/three-d/render-types.js +6 -10
  348. package/dist/charts/engine/three-d/render-types.js.map +1 -1
  349. package/dist/charts/engine/three-d/shaders.cjs +109 -48
  350. package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
  351. package/dist/charts/engine/three-d/shaders.d.cts +12 -5
  352. package/dist/charts/engine/three-d/shaders.d.ts +12 -5
  353. package/dist/charts/engine/three-d/shaders.js +118 -55
  354. package/dist/charts/engine/three-d/shaders.js.map +1 -1
  355. package/dist/charts/engine/three-d/sort.cjs +1 -1
  356. package/dist/charts/engine/three-d/sort.cjs.map +1 -1
  357. package/dist/charts/engine/three-d/sort.d.cts +18 -5
  358. package/dist/charts/engine/three-d/sort.d.ts +18 -5
  359. package/dist/charts/engine/three-d/sort.js +129 -43
  360. package/dist/charts/engine/three-d/sort.js.map +1 -1
  361. package/dist/charts/engine/three-d/types.d.cts +36 -0
  362. package/dist/charts/engine/three-d/types.d.ts +36 -0
  363. package/dist/charts/engine/three-d/webgl.cjs +1 -1
  364. package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
  365. package/dist/charts/engine/three-d/webgl.d.cts +9 -0
  366. package/dist/charts/engine/three-d/webgl.d.ts +9 -0
  367. package/dist/charts/engine/three-d/webgl.js +199 -74
  368. package/dist/charts/engine/three-d/webgl.js.map +1 -1
  369. package/dist/charts/engine/three-d/webgpu.cjs +1 -1
  370. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
  371. package/dist/charts/engine/three-d/webgpu.js +231 -94
  372. package/dist/charts/engine/three-d/webgpu.js.map +1 -1
  373. package/dist/charts/engine/trading/chart.cjs +1 -1
  374. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  375. package/dist/charts/engine/trading/chart.d.cts +10 -1
  376. package/dist/charts/engine/trading/chart.d.ts +10 -1
  377. package/dist/charts/engine/trading/chart.js +1677 -813
  378. package/dist/charts/engine/trading/chart.js.map +1 -1
  379. package/dist/charts/engine/trading/drawings.cjs +2 -1
  380. package/dist/charts/engine/trading/drawings.cjs.map +1 -1
  381. package/dist/charts/engine/trading/drawings.d.cts +53 -9
  382. package/dist/charts/engine/trading/drawings.d.ts +53 -9
  383. package/dist/charts/engine/trading/drawings.js +346 -71
  384. package/dist/charts/engine/trading/drawings.js.map +1 -1
  385. package/dist/charts/engine/trading/format.cjs +1 -1
  386. package/dist/charts/engine/trading/format.cjs.map +1 -1
  387. package/dist/charts/engine/trading/format.d.cts +19 -0
  388. package/dist/charts/engine/trading/format.d.ts +19 -0
  389. package/dist/charts/engine/trading/format.js +65 -21
  390. package/dist/charts/engine/trading/format.js.map +1 -1
  391. package/dist/charts/engine/trading/geometry.cjs +1 -1
  392. package/dist/charts/engine/trading/geometry.cjs.map +1 -1
  393. package/dist/charts/engine/trading/geometry.d.cts +16 -0
  394. package/dist/charts/engine/trading/geometry.d.ts +16 -0
  395. package/dist/charts/engine/trading/geometry.js +19 -4
  396. package/dist/charts/engine/trading/geometry.js.map +1 -1
  397. package/dist/charts/engine/trading/index.cjs +1 -1
  398. package/dist/charts/engine/trading/index.d.cts +2 -1
  399. package/dist/charts/engine/trading/index.d.ts +2 -1
  400. package/dist/charts/engine/trading/index.js +4 -3
  401. package/dist/charts/engine/trading/indicators.cjs +1 -1
  402. package/dist/charts/engine/trading/indicators.cjs.map +1 -1
  403. package/dist/charts/engine/trading/indicators.d.cts +180 -10
  404. package/dist/charts/engine/trading/indicators.d.ts +180 -10
  405. package/dist/charts/engine/trading/indicators.js +449 -173
  406. package/dist/charts/engine/trading/indicators.js.map +1 -1
  407. package/dist/charts/engine/trading/labels.cjs +1 -1
  408. package/dist/charts/engine/trading/labels.cjs.map +1 -1
  409. package/dist/charts/engine/trading/labels.js +104 -4
  410. package/dist/charts/engine/trading/labels.js.map +1 -1
  411. package/dist/charts/engine/trading/store.cjs +1 -1
  412. package/dist/charts/engine/trading/store.cjs.map +1 -1
  413. package/dist/charts/engine/trading/store.d.cts +21 -0
  414. package/dist/charts/engine/trading/store.d.ts +21 -0
  415. package/dist/charts/engine/trading/store.js +22 -1
  416. package/dist/charts/engine/trading/store.js.map +1 -1
  417. package/dist/charts/engine/trading/studies.cjs +1 -1
  418. package/dist/charts/engine/trading/studies.cjs.map +1 -1
  419. package/dist/charts/engine/trading/studies.d.cts +49 -8
  420. package/dist/charts/engine/trading/studies.d.ts +49 -8
  421. package/dist/charts/engine/trading/studies.js +352 -93
  422. package/dist/charts/engine/trading/studies.js.map +1 -1
  423. package/dist/charts/engine/trading/sync.cjs +2 -0
  424. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  425. package/dist/charts/engine/trading/sync.d.cts +8 -0
  426. package/dist/charts/engine/trading/sync.d.ts +8 -0
  427. package/dist/charts/engine/trading/sync.js +25 -0
  428. package/dist/charts/engine/trading/sync.js.map +1 -0
  429. package/dist/charts/engine/trading/types.d.cts +514 -16
  430. package/dist/charts/engine/trading/types.d.ts +514 -16
  431. package/dist/charts/engine/types.d.cts +106 -11
  432. package/dist/charts/engine/types.d.ts +106 -11
  433. package/dist/charts/index.cjs +1 -1
  434. package/dist/charts/index.d.cts +3 -2
  435. package/dist/charts/index.d.ts +3 -2
  436. package/dist/charts/index.js +30 -22
  437. package/dist/charts/react/charts.cjs +1 -1
  438. package/dist/charts/react/charts.cjs.map +1 -1
  439. package/dist/charts/react/charts.js +51 -34
  440. package/dist/charts/react/charts.js.map +1 -1
  441. package/dist/charts/react/graph.cjs +2 -0
  442. package/dist/charts/react/graph.cjs.map +1 -0
  443. package/dist/charts/react/graph.d.cts +219 -0
  444. package/dist/charts/react/graph.d.ts +219 -0
  445. package/dist/charts/react/graph.js +160 -0
  446. package/dist/charts/react/graph.js.map +1 -0
  447. package/dist/charts/react/orderbook.cjs +1 -1
  448. package/dist/charts/react/orderbook.cjs.map +1 -1
  449. package/dist/charts/react/orderbook.d.cts +3 -1
  450. package/dist/charts/react/orderbook.d.ts +3 -1
  451. package/dist/charts/react/orderbook.js +1 -0
  452. package/dist/charts/react/orderbook.js.map +1 -1
  453. package/dist/charts/react/shapes.cjs +1 -1
  454. package/dist/charts/react/shapes.cjs.map +1 -1
  455. package/dist/charts/react/shapes.d.cts +88 -4
  456. package/dist/charts/react/shapes.d.ts +88 -4
  457. package/dist/charts/react/shapes.js +55 -12
  458. package/dist/charts/react/shapes.js.map +1 -1
  459. package/dist/charts/react/three-d.cjs +1 -1
  460. package/dist/charts/react/three-d.cjs.map +1 -1
  461. package/dist/charts/react/three-d.d.cts +7 -0
  462. package/dist/charts/react/three-d.d.ts +7 -0
  463. package/dist/charts/react/three-d.js +14 -13
  464. package/dist/charts/react/three-d.js.map +1 -1
  465. package/dist/charts/react/trading.cjs +1 -1
  466. package/dist/charts/react/trading.cjs.map +1 -1
  467. package/dist/charts/react/trading.d.cts +54 -2
  468. package/dist/charts/react/trading.d.ts +54 -2
  469. package/dist/charts/react/trading.js +68 -37
  470. package/dist/charts/react/trading.js.map +1 -1
  471. package/dist/charts/react/types.d.cts +11 -0
  472. package/dist/charts/react/types.d.ts +11 -0
  473. package/dist/core/contracts.cjs +1 -1
  474. package/dist/core/contracts.cjs.map +1 -1
  475. package/dist/core/contracts.js +1 -1
  476. package/dist/core/contracts.js.map +1 -1
  477. package/dist/native/charts/src/canvas.cjs +1 -1
  478. package/dist/native/charts/src/canvas.js +5 -4
  479. package/dist/native/charts/src/engine/axis.cjs +1 -1
  480. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  481. package/dist/native/charts/src/engine/axis.js +42 -19
  482. package/dist/native/charts/src/engine/axis.js.map +1 -1
  483. package/dist/native/charts/src/engine/color.cjs +1 -1
  484. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  485. package/dist/native/charts/src/engine/color.js +47 -5
  486. package/dist/native/charts/src/engine/color.js.map +1 -1
  487. package/dist/native/charts/src/engine/controller.cjs +2 -2
  488. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  489. package/dist/native/charts/src/engine/controller.js +296 -251
  490. package/dist/native/charts/src/engine/controller.js.map +1 -1
  491. package/dist/native/charts/src/engine/data.cjs +1 -1
  492. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  493. package/dist/native/charts/src/engine/data.js +6 -4
  494. package/dist/native/charts/src/engine/data.js.map +1 -1
  495. package/dist/native/charts/src/engine/format.cjs +1 -1
  496. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  497. package/dist/native/charts/src/engine/format.js +15 -2
  498. package/dist/native/charts/src/engine/format.js.map +1 -1
  499. package/dist/native/charts/src/engine/labels.cjs +1 -1
  500. package/dist/native/charts/src/engine/labels.cjs.map +1 -1
  501. package/dist/native/charts/src/engine/labels.js +42 -5
  502. package/dist/native/charts/src/engine/labels.js.map +1 -1
  503. package/dist/native/charts/src/engine/layout.cjs +1 -1
  504. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  505. package/dist/native/charts/src/engine/layout.js +11 -2
  506. package/dist/native/charts/src/engine/layout.js.map +1 -1
  507. package/dist/native/charts/src/engine/model.cjs +1 -1
  508. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  509. package/dist/native/charts/src/engine/model.js +278 -174
  510. package/dist/native/charts/src/engine/model.js.map +1 -1
  511. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  512. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  513. package/dist/native/charts/src/engine/presets.cjs +2 -2
  514. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  515. package/dist/native/charts/src/engine/presets.js +110 -90
  516. package/dist/native/charts/src/engine/presets.js.map +1 -1
  517. package/dist/native/charts/src/engine/scene.cjs +1 -1
  518. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  519. package/dist/native/charts/src/engine/scene.js +421 -202
  520. package/dist/native/charts/src/engine/scene.js.map +1 -1
  521. package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
  522. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
  523. package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
  524. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
  525. package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
  526. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
  527. package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
  528. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
  529. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  530. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  531. package/dist/native/charts/src/engine/shapes/chord.js +419 -0
  532. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  533. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  534. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  535. package/dist/native/charts/src/engine/shapes/draw.js +47 -17
  536. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  537. package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
  538. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
  539. package/dist/native/charts/src/engine/shapes/hit.js +73 -44
  540. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
  541. package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
  542. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
  543. package/dist/native/charts/src/engine/shapes/labels.js +12 -4
  544. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
  545. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  546. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  547. package/dist/native/charts/src/engine/shapes/layout.js +136 -94
  548. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  549. package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
  550. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
  551. package/dist/native/charts/src/engine/shapes/scene.js +62 -19
  552. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
  553. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  554. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  555. package/dist/native/components/Chart/ChartBase.js +127 -115
  556. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  557. package/dist/native/components/Chart/charts.cjs +1 -1
  558. package/dist/native/components/Chart/charts.cjs.map +1 -1
  559. package/dist/native/components/Chart/charts.js +8 -5
  560. package/dist/native/components/Chart/charts.js.map +1 -1
  561. package/dist/native/components/Chart/scene.cjs +1 -1
  562. package/dist/native/components/Chart/scene.cjs.map +1 -1
  563. package/dist/native/components/Chart/scene.d.cts +6 -1
  564. package/dist/native/components/Chart/scene.d.ts +6 -1
  565. package/dist/native/components/Chart/scene.js +226 -108
  566. package/dist/native/components/Chart/scene.js.map +1 -1
  567. package/dist/native/components/Chart/types.d.cts +7 -1
  568. package/dist/native/components/Chart/types.d.ts +7 -1
  569. package/dist/native/components/Charts/charts.cjs +1 -1
  570. package/dist/native/components/Charts/charts.cjs.map +1 -1
  571. package/dist/native/components/Charts/charts.js +60 -43
  572. package/dist/native/components/Charts/charts.js.map +1 -1
  573. package/dist/native/components/Charts/types.d.cts +11 -0
  574. package/dist/native/components/Charts/types.d.ts +11 -0
  575. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
  576. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
  577. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
  578. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
  579. package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
  580. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
  581. package/dist/native/components/ShapeChart/charts.cjs +1 -1
  582. package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
  583. package/dist/native/components/ShapeChart/charts.d.cts +6 -1
  584. package/dist/native/components/ShapeChart/charts.d.ts +6 -1
  585. package/dist/native/components/ShapeChart/charts.js +138 -96
  586. package/dist/native/components/ShapeChart/charts.js.map +1 -1
  587. package/dist/native/components/ShapeChart/draw.cjs +1 -1
  588. package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
  589. package/dist/native/components/ShapeChart/draw.d.cts +1 -1
  590. package/dist/native/components/ShapeChart/draw.d.ts +1 -1
  591. package/dist/native/components/ShapeChart/draw.js +26 -17
  592. package/dist/native/components/ShapeChart/draw.js.map +1 -1
  593. package/dist/native/components/ShapeChart/geometry.cjs +1 -1
  594. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
  595. package/dist/native/components/ShapeChart/geometry.js +233 -70
  596. package/dist/native/components/ShapeChart/geometry.js.map +1 -1
  597. package/dist/native/components/ShapeChart/index.cjs +1 -1
  598. package/dist/native/components/ShapeChart/index.d.cts +1 -1
  599. package/dist/native/components/ShapeChart/index.d.ts +1 -1
  600. package/dist/native/components/ShapeChart/index.js +2 -2
  601. package/dist/native/components/ShapeChart/recorder.cjs +1 -1
  602. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
  603. package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
  604. package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
  605. package/dist/native/components/ShapeChart/recorder.js +19 -10
  606. package/dist/native/components/ShapeChart/recorder.js.map +1 -1
  607. package/dist/native/components/ShapeChart/types.d.cts +95 -8
  608. package/dist/native/components/ShapeChart/types.d.ts +95 -8
  609. package/dist/native/index.cjs +1 -1
  610. package/dist/native/index.js +2 -2
  611. package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
  612. package/dist/native/source/components/Chart/charts.tsx +10 -3
  613. package/dist/native/source/components/Chart/scene.tsx +243 -14
  614. package/dist/native/source/components/Chart/types.ts +7 -0
  615. package/dist/native/source/components/Charts/charts.tsx +37 -2
  616. package/dist/native/source/components/Charts/types.ts +11 -0
  617. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
  618. package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
  619. package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
  620. package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
  621. package/dist/native/source/components/ShapeChart/index.ts +1 -0
  622. package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
  623. package/dist/native/source/components/ShapeChart/types.ts +99 -6
  624. package/dist/native/source/manifest.ts +1 -0
  625. package/dist/taro/chart-a11y.d.ts +7 -0
  626. package/dist/taro/charts.d.ts +29 -6
  627. package/dist/taro/index.js +3129 -1902
  628. package/dist/taro/shape-charts.d.ts +99 -5
  629. package/dist/uni/AreaChart.vue +2 -1
  630. package/dist/uni/AreaChart.vue.d.ts +5 -1
  631. package/dist/uni/Badge.vue.d.ts +1 -1
  632. package/dist/uni/BarChart.vue +2 -1
  633. package/dist/uni/BarChart.vue.d.ts +5 -1
  634. package/dist/uni/BoxPlotChart.vue +2 -1
  635. package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
  636. package/dist/uni/BubbleChart.vue +2 -1
  637. package/dist/uni/BubbleChart.vue.d.ts +4 -0
  638. package/dist/uni/BulletChart.vue.d.ts +4 -0
  639. package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
  640. package/dist/uni/CandlestickChart.vue +2 -1
  641. package/dist/uni/CandlestickChart.vue.d.ts +4 -0
  642. package/dist/uni/Chart.vue +2 -1
  643. package/dist/uni/Chart.vue.d.ts +4 -0
  644. package/dist/uni/ChordChart.vue +93 -0
  645. package/dist/uni/ChordChart.vue.d.ts +136 -0
  646. package/dist/uni/Divider.vue.d.ts +1 -1
  647. package/dist/uni/DonutChart.vue.d.ts +5 -1
  648. package/dist/uni/FunnelChart.vue.d.ts +4 -0
  649. package/dist/uni/GanttChart.vue +2 -1
  650. package/dist/uni/GanttChart.vue.d.ts +15 -0
  651. package/dist/uni/GaugeChart.vue.d.ts +5 -1
  652. package/dist/uni/HeatmapChart.vue +2 -1
  653. package/dist/uni/HeatmapChart.vue.d.ts +8 -2
  654. package/dist/uni/HistogramChart.vue +2 -1
  655. package/dist/uni/HistogramChart.vue.d.ts +4 -0
  656. package/dist/uni/HorizontalBarChart.vue +2 -1
  657. package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
  658. package/dist/uni/LineChart.vue +2 -1
  659. package/dist/uni/LineChart.vue.d.ts +4 -0
  660. package/dist/uni/MixedChart.vue +2 -1
  661. package/dist/uni/MixedChart.vue.d.ts +4 -0
  662. package/dist/uni/PieChart.vue.d.ts +5 -1
  663. package/dist/uni/QuadrantChart.vue +2 -1
  664. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  665. package/dist/uni/RadarChart.vue.d.ts +4 -0
  666. package/dist/uni/RadialBarChart.vue.d.ts +4 -0
  667. package/dist/uni/RangeAreaChart.vue +2 -1
  668. package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
  669. package/dist/uni/SankeyChart.vue.d.ts +4 -0
  670. package/dist/uni/ScatterChart.vue +2 -1
  671. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  672. package/dist/uni/Sparkline.vue +2 -1
  673. package/dist/uni/Sparkline.vue.d.ts +4 -0
  674. package/dist/uni/SunburstChart.vue.d.ts +4 -0
  675. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  676. package/dist/uni/TreemapChart.vue.d.ts +4 -0
  677. package/dist/uni/WaterfallChart.vue +2 -1
  678. package/dist/uni/WaterfallChart.vue.d.ts +9 -0
  679. package/dist/uni/chart-a11y.d.ts +7 -0
  680. package/dist/uni/chart-a11y.js +29 -0
  681. package/dist/uni/chart-canvas.d.ts +12 -0
  682. package/dist/uni/chart-canvas.js +15 -1
  683. package/dist/uni/chart-types.d.ts +36 -5
  684. package/dist/uni/chart-types.js +31 -3
  685. package/dist/uni/charts-canvas.js +3 -2
  686. package/dist/uni/index.d.ts +2 -1
  687. package/dist/uni/index.js +1 -0
  688. package/dist/uni/manifest.d.ts +7 -0
  689. package/dist/uni/manifest.js +10 -0
  690. package/dist/uni/named-chart-options.d.ts +11 -2
  691. package/dist/uni/named-chart-options.js +21 -1
  692. package/dist/uni/shape-chart-canvas.d.ts +3 -3
  693. package/dist/uni/shape-chart-canvas.js +17 -58
  694. package/dist/uni/shape-chart-types.d.ts +53 -3
  695. package/dist/uni/shape-chart-types.js +45 -1
  696. package/dist/vue/charts-global.d.ts +48 -0
  697. package/dist/vue/charts.d.ts +18 -0
  698. package/dist/vue/charts.js +56 -0
  699. package/dist/vue/charts.js.map +1 -0
  700. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +2 -0
  701. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
  702. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
  703. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
  704. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  705. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  706. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  707. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  708. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  709. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  710. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +181 -0
  711. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  712. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  713. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  714. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  715. package/dist/vue/components/Chart/GanttChart.vue.d.ts +19 -0
  716. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
  717. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
  718. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  719. package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -0
  720. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  721. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  722. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  723. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  724. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
  725. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
  726. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
  727. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  728. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
  729. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
  730. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
  731. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
  732. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
  733. package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
  734. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
  735. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
  736. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  737. package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -0
  738. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  739. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  740. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  741. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  742. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
  743. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
  744. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
  745. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  746. package/dist/vue/components/Chart/graph.d.ts +156 -0
  747. package/dist/vue/components/Chart/graph.js +137 -0
  748. package/dist/vue/components/Chart/graph.js.map +1 -0
  749. package/dist/vue/components/Chart/index.d.ts +5 -1
  750. package/dist/vue/components/Chart/index.js +5 -1
  751. package/dist/vue/components/Chart/orderbook.d.ts +5 -1
  752. package/dist/vue/components/Chart/orderbook.js +2 -0
  753. package/dist/vue/components/Chart/orderbook.js.map +1 -1
  754. package/dist/vue/components/Chart/three-d.d.ts +3 -0
  755. package/dist/vue/components/Chart/three-d.js +2 -0
  756. package/dist/vue/components/Chart/three-d.js.map +1 -1
  757. package/dist/vue/components/Chart/trading.d.ts +30 -3
  758. package/dist/vue/components/Chart/trading.js +9 -0
  759. package/dist/vue/components/Chart/trading.js.map +1 -1
  760. package/dist/vue/components/Chart/types.d.ts +74 -2
  761. package/dist/vue/global.d.ts +2 -38
  762. package/dist/vue/groups/charts.js +10 -2
  763. package/dist/vue/groups/charts.js.map +1 -1
  764. package/dist/vue/index.js +6 -2
  765. package/dist/vue/internal/register.d.ts +7 -0
  766. package/dist/vue/internal/register.js +14 -0
  767. package/dist/vue/internal/register.js.map +1 -0
  768. package/dist/vue/plugin.d.ts +9 -4
  769. package/dist/vue/plugin.js +6 -11
  770. package/dist/vue/plugin.js.map +1 -1
  771. package/dist/weapp/area-chart/index.wxml +1 -1
  772. package/dist/weapp/bar-chart/index.wxml +1 -1
  773. package/dist/weapp/box-plot-chart/index.wxml +1 -1
  774. package/dist/weapp/bubble-chart/index.wxml +1 -1
  775. package/dist/weapp/candlestick-chart/index.wxml +1 -1
  776. package/dist/weapp/chart/index.wxml +1 -1
  777. package/dist/weapp/charts/canvas.js +1987 -175
  778. package/dist/weapp/charts/core.js +3 -0
  779. package/dist/weapp/chord-chart/index.js +1 -0
  780. package/dist/weapp/chord-chart/index.json +1 -0
  781. package/dist/weapp/chord-chart/index.wxml +1 -0
  782. package/dist/weapp/chord-chart/index.wxss +1 -0
  783. package/dist/weapp/controls.js +148 -57
  784. package/dist/weapp/gantt-chart/index.wxml +1 -1
  785. package/dist/weapp/heatmap-chart/index.wxml +1 -1
  786. package/dist/weapp/histogram-chart/index.wxml +1 -1
  787. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
  788. package/dist/weapp/line-chart/index.wxml +1 -1
  789. package/dist/weapp/mixed-chart/index.wxml +1 -1
  790. package/dist/weapp/quadrant-chart/index.wxml +1 -1
  791. package/dist/weapp/range-area-chart/index.wxml +1 -1
  792. package/dist/weapp/scatter-chart/index.wxml +1 -1
  793. package/dist/weapp/sparkline/index.wxml +1 -1
  794. package/dist/weapp/types.d.ts +96 -4
  795. package/dist/weapp/waterfall-chart/index.wxml +1 -1
  796. package/dist/web-components/components/chart/charts.d.ts +4 -2
  797. package/dist/web-components/components/chart/charts.js +8 -1
  798. package/dist/web-components/components/chart/charts.js.map +1 -1
  799. package/dist/web-components/components/chart/extended.d.ts +21 -7
  800. package/dist/web-components/components/chart/extended.js +29 -9
  801. package/dist/web-components/components/chart/extended.js.map +1 -1
  802. package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
  803. package/dist/web-components/components/chart/shapes-extended.js +27 -1
  804. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  805. package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
  806. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
  807. package/dist/web-components/components/graph/graph.d.ts +156 -0
  808. package/dist/web-components/components/graph/graph.js +150 -0
  809. package/dist/web-components/components/graph/graph.js.map +1 -0
  810. package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
  811. package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
  812. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
  813. package/dist/web-components/elements/chart.d.ts +1 -1
  814. package/dist/web-components/elements/chart.js +6 -5
  815. package/dist/web-components/elements/chart.js.map +1 -1
  816. package/dist/web-components/elements/graph.d.ts +2 -0
  817. package/dist/web-components/elements/graph.js +12 -0
  818. package/dist/web-components/elements/graph.js.map +1 -0
  819. package/dist/web-components/html-custom-data.json +318 -4
  820. package/dist/web-components/types/react.d.ts +63 -4
  821. package/dist/web-components/types/solid.d.ts +55 -8
  822. package/dist/web-components/types/svelte.d.ts +55 -8
  823. package/dist/web-components/types/vue.d.ts +55 -4
  824. package/package.json +16 -1
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.cjs","names":["useSyncExternalStore","useMemo","useRef","useState","createShapeChart","createPortal","calendarStrips","require_calendar","require_chart","react","react_dom","react_jsx_runtime","size","value","fallback","subscribePageLanguage","observer","onChange","pageLanguage","noPageLanguage","useCommonOptions","language","resolvedLocale","locale","hiddenKey","hidden","stableHidden","palette","legend","tooltip","format","percentFormat","texts","animation","padding","ariaLabel","ShapeChartBase","handlers","containerRef","chartRef","handlersRef","tooltipRef","renderTooltip","tipEvent","setTipEvent","tipHost","customTooltip","resolved","options","base","event","optionsRef","container","chart","offs","off","handleRef","width","height","style","PieChart","PieBase","props","DonutChart","common","innerRadius","defaultInner","data","startAngle","padAngle","cornerRadius","rose","labels","labelContent","centerValue","centerLabel","ShapeHost","RadarChart","indicators","series","shape","levels","dots","GaugeChart","min","max","label","sweep","thickness","bands","color","needle","ticks","FunnelChart","sort","gap","conversion","TreemapChart","headers","SankeyChart","nodes","links","nodeWidth","nodePadding","align","iterations","linkColor","linkOpacity","labelValues","SunburstChart","drillKey","drillPath","stablePath","drill","RadialBarChart","track","rounded","CalendarHeatmap","range","layout","weekStart","colors","thresholds","radius","maxCellSize","monthLabels","weekdayLabels","defaultHeight","BulletChart","orientation","ranges","rangeLabels","rangeColors","barSize","targetColor"],"sources":["../../../../charts/src/react/shapes.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { createPortal, flushSync } from \"react-dom\";\nimport type { ChartPadding } from \"../engine/types\";\nimport { calendarStrips } from \"../engine/shapes/calendar\";\nimport { createShapeChart } from \"../engine/shapes/chart\";\nimport type {\n BulletChartOptions,\n BulletDatum,\n CalendarDate,\n CalendarDatum,\n CalendarHeatmapOptions,\n FunnelChartOptions,\n GaugeBand,\n GaugeChartOptions,\n PieChartOptions,\n RadarChartOptions,\n RadarIndicator,\n RadarSeries,\n RadialBarChartOptions,\n RadialBarDatum,\n SankeyChartOptions,\n SankeyLink,\n SankeyNode,\n ShapeChartCommonOptions,\n ShapeChartInstance,\n ShapeChartLabels,\n ShapeChartOptions,\n ShapeDatum,\n ShapeDrillEvent,\n ShapeHoverEvent,\n ShapeLegendOptions,\n ShapeToggleEvent,\n ShapeTooltipOptions,\n SunburstChartOptions,\n TreemapChartOptions,\n TreemapNode,\n} from \"../engine/shapes/types\";\n\n/** Imperative handle of the shape chart components (`ref`) */\nexport interface ShapeChartHandle {\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): ShapeChartInstance | null;\n}\n\n/**\n * Props shared by PieChart, DonutChart, RadarChart, GaugeChart, FunnelChart,\n * TreemapChart, SankeyChart, SunburstChart, RadialBarChart, CalendarHeatmap\n * and BulletChart\n */\nexport interface ShapeChartCommonProps {\n /**\n * Height of the chart (the legend included); numbers are pixels\n * @default 320 (GaugeChart: 240, RadialBarChart: 300, CalendarHeatmap and BulletChart: from the data)\n */\n height?: number | string;\n /**\n * Width of the chart; numbers are pixels\n * @default \"100%\"\n */\n width?: number | string;\n /** Colors of the marks without `color` (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */\n palette?: readonly string[];\n /**\n * Legend; clicking an item hides / shows its slice, stage, series, node, bar, row or level\n * @default shown for pie, donut, funnel, multi-series radar charts, calendar heatmaps and radial bar charts without labels\n */\n legend?: boolean | ShapeLegendOptions;\n /**\n * Tooltip; `false` disables it\n * @default true\n */\n tooltip?: boolean | ShapeTooltipOptions;\n /**\n * Formats the values of the labels and the tooltip\n * @default compact numbers of the `locale` (1.2k, 3.4M; 1.2万 in Chinese and Japanese)\n */\n format?: (value: number) => string;\n /**\n * Formats the shares (labels, conversion rates, tooltip); `share` is 0-1\n * @default a percent of the `locale` with one decimal, e.g. \"40.0%\", \"40,0 %\"\n */\n percentFormat?: (share: number) => string;\n /**\n * BCP 47 locale of the texts and numbers the chart writes (tooltip rows,\n * accessible names, number and percent formats, calendar dates); built-in\n * texts in English, Chinese, Japanese and French (English otherwise)\n * @default the page language (`<html lang>`, followed when it changes), else the browser language\n */\n locale?: string;\n /** Replaces built-in texts of the `locale` (tooltip rows, accessible names, \"No data\") */\n texts?: Partial<ShapeChartLabels>;\n /**\n * Hidden slices / stages / radar series / top-level treemap or sunburst\n * nodes / sankey nodes / radial bars / bullet rows / calendar levels, by\n * index. Makes the visibility controlled: legend clicks then only call\n * `onToggle`, whose `hiddenIndexes` should be stored and passed back.\n * Leave undefined to let the legend hide / show entries by itself.\n */\n hidden?: readonly number[];\n /**\n * Called when a legend item is clicked (or the instance's `toggle()` is\n * called), with the toggled index and every hidden index after the toggle\n */\n onToggle?: (event: ShapeToggleEvent) => void;\n /**\n * Entry and update animations (skipped when the user prefers reduced motion)\n * @default true\n */\n animation?: boolean;\n /**\n * Space around the drawing, in pixels\n * @default 8 on every side\n */\n padding?: ChartPadding;\n /**\n * Accessible name of the chart\n * @default the chart type in the `locale`, e.g. \"Donut chart\"\n */\n ariaLabel?: string;\n /** Called when the hovered (or keyboard-focused) mark changes */\n onHover?: (event: ShapeHoverEvent | null) => void;\n /** Called when a mark is clicked, tapped or activated with Enter */\n onClick?: (event: ShapeHoverEvent) => void;\n /** React content of the tooltip (replaces the default content) */\n renderTooltip?: (event: ShapeHoverEvent) => ReactNode;\n /** Additional class name of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle */\n ref?: Ref<ShapeChartHandle>;\n}\n\n/** Props of PieChart */\nexport interface PieChartProps extends ShapeChartCommonProps {\n /** Slices: a name, a value (negative values count as 0) and an optional color */\n data: readonly ShapeDatum[];\n /**\n * Inner radius as a fraction of the outer radius: 0 = pie, 0.6 = donut\n * @default 0\n */\n innerRadius?: number;\n /**\n * Angle of the first slice, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Gap between the slices, in pixels\n * @default 1 (pie), 2 (donut)\n */\n padAngle?: number;\n /**\n * Corner radius of the slices, in pixels\n * @default 0 (pie), 4 (donut)\n */\n cornerRadius?: number;\n /**\n * Nightingale rose: the radius (instead of the angle) shows the value\n * @default false\n */\n rose?: boolean;\n /**\n * Slice labels: `outside` with leader lines, `inside` the slices, or none\n * @default \"outside\" (up to 12 slices), \"none\" otherwise\n */\n labels?: \"outside\" | \"inside\" | \"none\";\n /**\n * What a label shows: name, value, percent (combinable)\n * @default [\"name\", \"percent\"]\n */\n labelContent?: readonly (\"name\" | \"value\" | \"percent\")[];\n /** Big text in the hole of a donut (e.g. the total) */\n centerValue?: string;\n /** Small text under `centerValue` */\n centerLabel?: string;\n}\n\n/** Props of DonutChart: a PieChart with a hole */\nexport interface DonutChartProps extends PieChartProps {\n /**\n * Inner radius as a fraction of the outer radius\n * @default 0.62\n */\n innerRadius?: number;\n}\n\n/** Props of RadarChart */\nexport interface RadarChartProps extends ShapeChartCommonProps {\n /** Axes of the chart, clockwise from 12 o'clock */\n indicators: readonly RadarIndicator[];\n /** Polygons: one value per indicator */\n series: readonly RadarSeries[];\n /**\n * Grid shape\n * @default \"polygon\"\n */\n shape?: \"polygon\" | \"circle\";\n /**\n * Number of grid rings\n * @default 4\n */\n levels?: number;\n /**\n * Dots on the vertices\n * @default true\n */\n dots?: boolean;\n}\n\n/** Props of GaugeChart */\nexport interface GaugeChartProps extends ShapeChartCommonProps {\n /** Value shown by the arc (clamped to `min` - `max` for the drawing) */\n value: number;\n /**\n * Value at the start of the arc\n * @default 0\n */\n min?: number;\n /**\n * Value at the end of the arc\n * @default 100\n */\n max?: number;\n /** Caption under the value */\n label?: string;\n /**\n * Total angle of the arc, degrees\n * @default 240\n */\n sweep?: number;\n /**\n * Thickness of the arc as a fraction of the radius\n * @default 0.16\n */\n thickness?: number;\n /** Colored ranges of the track; the value arc takes the color of its band */\n bands?: readonly GaugeBand[];\n /**\n * Color of the value arc (when there are no bands)\n * @default the first palette color\n */\n color?: string;\n /**\n * Draws a needle in addition to the value arc\n * @default false\n */\n needle?: boolean;\n /**\n * Tick labels at the ends (and at the band bounds)\n * @default true\n */\n ticks?: boolean;\n}\n\n/** Props of FunnelChart */\nexport interface FunnelChartProps extends ShapeChartCommonProps {\n /** Stages: a name, a value and an optional color */\n data: readonly ShapeDatum[];\n /**\n * Order of the stages\n * @default \"none\" (data order)\n */\n sort?: \"descending\" | \"ascending\" | \"none\";\n /**\n * Vertical gap between the stages, in pixels\n * @default 4\n */\n gap?: number;\n /**\n * Shows the conversion rate from the previous stage\n * @default true\n */\n conversion?: boolean;\n /**\n * Shape of the stages: trapezoids that narrow to the next stage, or centered bars\n * @default \"trapezoid\"\n */\n shape?: \"trapezoid\" | \"bar\";\n}\n\n/** Props of TreemapChart */\nexport interface TreemapChartProps extends ShapeChartCommonProps {\n /** Nodes: leaves carry a value, parents sum their children */\n data: readonly TreemapNode[];\n /**\n * Gap between the cells, in pixels\n * @default 2\n */\n gap?: number;\n /**\n * Draws the names of the parents above their children\n * @default true\n */\n headers?: boolean;\n}\n\n/** Props of SankeyChart */\nexport interface SankeyChartProps extends ShapeChartCommonProps {\n /** Nodes, in their initial order; nodes only named by a link are appended */\n nodes?: readonly SankeyNode[];\n /** Flows between the nodes (by name or index); links closing a cycle are ignored */\n links: readonly SankeyLink[];\n /**\n * Width of the node bars, in pixels\n * @default 12\n */\n nodeWidth?: number;\n /**\n * Vertical gap between the nodes of a column, in pixels (reduced when space is short)\n * @default 12\n */\n nodePadding?: number;\n /**\n * Column of the nodes without a `column`: `justify` puts the sinks in the\n * last column, `left` / `right` align on the sources / sinks, `center`\n * puts the sources next to their first target\n * @default \"justify\"\n */\n align?: \"justify\" | \"left\" | \"right\" | \"center\";\n /**\n * Relaxation passes that straighten the flows and reduce crossings\n * @default 32\n */\n iterations?: number;\n /**\n * Color of the links without `color`: a gradient from the source to the\n * target color, one of the two, or a neutral gray\n * @default \"gradient\"\n */\n linkColor?: \"gradient\" | \"source\" | \"target\" | \"neutral\";\n /**\n * Opacity of the links, 0-1 (hovered flows are more opaque)\n * @default 0.4\n */\n linkOpacity?: number;\n /**\n * Node labels (name and value); overlapping labels are skipped\n * @default true\n */\n labels?: boolean;\n /**\n * Shows the value after the name in the labels\n * @default true\n */\n labelValues?: boolean;\n}\n\n/** Props of SunburstChart */\nexport interface SunburstChartProps extends ShapeChartCommonProps {\n /** Nodes: leaves carry a value, parents sum their children */\n data: readonly TreemapNode[];\n /**\n * Radius of the center circle as a fraction of the outer radius\n * @default 0.26\n */\n innerRadius?: number;\n /**\n * Rings shown at once below the focused node (fewer when they would be thinner than 18 px)\n * @default every level\n */\n levels?: number;\n /**\n * Angle of the first node, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Gap between the sectors, in pixels\n * @default 1\n */\n padAngle?: number;\n /**\n * Corner radius of the sectors, in pixels\n * @default 2\n */\n cornerRadius?: number;\n /**\n * Sector labels: `auto` writes each name along the arc or along the\n * radius, whichever fits best; labels that do not fit are shortened or skipped\n * @default \"auto\"\n */\n labels?: \"auto\" | \"tangential\" | \"radial\" | \"none\";\n /**\n * Clicking (or Enter on) a parent zooms into it; clicking the center (or Backspace) goes back up\n * @default true\n */\n drill?: boolean;\n /**\n * Names from the root to the focused node (`[]` = the root). Makes the\n * drill-down controlled: clicks then only call `onDrill`, whose `path`\n * should be stored and passed back.\n */\n drillPath?: readonly string[];\n /** Called when a parent or the center is clicked (or the instance's `drill()` is called) */\n onDrill?: (event: ShapeDrillEvent) => void;\n}\n\n/** Props of RadialBarChart */\nexport interface RadialBarChartProps extends ShapeChartCommonProps {\n /** Bars, from the outermost ring inward: a name, a value, an optional `max` and color */\n data: readonly RadialBarDatum[];\n /**\n * Value of a full bar for the data without `max`\n * @default the largest value\n */\n max?: number;\n /**\n * Radius of the innermost ring's inner edge, as a fraction of the outer radius\n * @default 0.3\n */\n innerRadius?: number;\n /**\n * Angle where the bars start, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Angle of a full bar, degrees (360 = full rings)\n * @default 270\n */\n sweep?: number;\n /**\n * Gap between the rings, as a fraction of a ring's slot (0-0.9)\n * @default 0.28\n */\n gap?: number;\n /**\n * Background tracks behind the bars\n * @default true\n */\n track?: boolean;\n /**\n * Rounded bar ends\n * @default true\n */\n rounded?: boolean;\n /**\n * Labels before the start of the bars (in the empty part of the circle)\n * @default true when `sweep` leaves room for them (up to 300°)\n */\n labels?: boolean;\n /**\n * What a label shows: name, value, percent of the bar's max (combinable)\n * @default [\"name\", \"value\"]\n */\n labelContent?: readonly (\"name\" | \"value\" | \"percent\")[];\n /** Big text in the center (e.g. the overall completion) */\n centerValue?: string;\n /** Small text under `centerValue` */\n centerLabel?: string;\n}\n\n/** Props of CalendarHeatmap */\nexport interface CalendarHeatmapProps extends ShapeChartCommonProps {\n /** Daily values (several entries of the same day add up) */\n data: readonly CalendarDatum[];\n /**\n * Days shown: a year (`2026`) or an inclusive `[start, end]` range\n * @default the 53 weeks ending on the last day of the data\n */\n range?: number | readonly [CalendarDate, CalendarDate];\n /**\n * `weeks`: a column per week and a row per weekday (one strip per year\n * when the range spans several years); `months`: a small calendar per month\n * @default \"weeks\"\n */\n layout?: \"weeks\" | \"months\";\n /**\n * First day of the week, 0 = Sunday … 6 = Saturday\n * @default from `locale`\n */\n weekStart?: number;\n /**\n * BCP 47 locale of the month and weekday names, of the tooltip dates, of the default `weekStart` and of the built-in texts\n * @default the page language (`<html lang>`), else the browser language\n */\n locale?: string;\n /**\n * Color of the highest level (lower levels are lighter)\n * @default the first palette color\n */\n color?: string;\n /** Colors of the levels, lowest first (replaces `color` and sets the number of levels) */\n colors?: readonly string[];\n /**\n * Number of color levels above the empty days\n * @default 4\n */\n levels?: number;\n /**\n * Upper bounds of the levels but the last, ascending (`[2, 5, 10]`: 1-2,\n * 3-5, 6-10, more); an even split of the largest value by default\n */\n thresholds?: readonly number[];\n /**\n * Gap between the cells, in pixels\n * @default 3\n */\n gap?: number;\n /**\n * Corner radius of the cells, in pixels\n * @default 2\n */\n radius?: number;\n /**\n * Largest cell size, in pixels (cells shrink to fit the width)\n * @default 16 (weeks), 28 (months)\n */\n maxCellSize?: number;\n /**\n * Month names (and years) around the cells\n * @default true\n */\n monthLabels?: boolean;\n /**\n * Weekday names beside (weeks) or above (months) the cells\n * @default true\n */\n weekdayLabels?: boolean;\n}\n\n/** Props of BulletChart */\nexport interface BulletChartProps extends ShapeChartCommonProps {\n /** Rows (columns when vertical): name, value, target, ranges and scale */\n data: readonly BulletDatum[];\n /**\n * Horizontal rows or vertical columns\n * @default \"horizontal\"\n */\n orientation?: \"horizontal\" | \"vertical\";\n /** Qualitative ranges of the rows without `ranges`: upper bounds, ascending */\n ranges?: readonly number[];\n /** Names of the qualitative ranges, lowest first (tooltip) */\n rangeLabels?: readonly string[];\n /** Colors of the qualitative ranges, lowest first; shades of gray by default */\n rangeColors?: readonly string[];\n /**\n * Thickness of the value bar as a fraction of the ranges' thickness\n * @default 0.4\n */\n barSize?: number;\n /**\n * Color of the target markers\n * @default the text color\n */\n targetColor?: string;\n /**\n * Tick labels of the scales (when there is room)\n * @default true\n */\n ticks?: boolean;\n}\n\ninterface Handlers {\n onHover?: (event: ShapeHoverEvent | null) => void;\n onClick?: (event: ShapeHoverEvent) => void;\n onToggle?: (event: ShapeToggleEvent) => void;\n onDrill?: (event: ShapeDrillEvent) => void;\n}\n\ninterface ShapeChartBaseProps extends Handlers {\n options: ShapeChartOptions;\n height: number | string;\n width?: number | string;\n className?: string;\n style?: CSSProperties;\n handleRef?: Ref<ShapeChartHandle>;\n renderTooltip?: (event: ShapeHoverEvent) => ReactNode;\n}\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\nconst subscribePageLanguage = (onChange: () => void) => {\n if (typeof document === \"undefined\" || typeof MutationObserver !== \"function\")\n return () => {};\n const observer = new MutationObserver(onChange);\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"lang\"],\n });\n return () => observer.disconnect();\n};\n\nconst pageLanguage = () =>\n typeof document === \"undefined\" ? \"\" : document.documentElement.lang;\n\nconst noPageLanguage = () => \"\";\n\n/** Engine options shared by every type, stable while the props are equal */\nconst useCommonOptions = ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n locale,\n texts,\n hidden,\n animation,\n padding,\n ariaLabel,\n}: ShapeChartCommonProps): ShapeChartCommonOptions => {\n // without `locale`, follow the page language (`<html lang>`) as it changes\n const language = useSyncExternalStore(\n subscribePageLanguage,\n pageLanguage,\n noPageLanguage,\n );\n const resolvedLocale = locale ?? (language || undefined);\n // a new array with the same indexes keeps the options (and the animation)\n const hiddenKey = hidden ? hidden.join(\",\") : null;\n const stableHidden = useMemo(\n () =>\n hiddenKey === null\n ? undefined\n : hiddenKey\n ? hiddenKey.split(\",\").map(Number)\n : [],\n [hiddenKey],\n );\n return useMemo(\n () => ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n locale: resolvedLocale,\n texts,\n hidden: stableHidden,\n animation,\n padding,\n ariaLabel,\n }),\n [\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n resolvedLocale,\n texts,\n stableHidden,\n animation,\n padding,\n ariaLabel,\n ],\n );\n};\n\n/** Mounts the engine in a sized <div> and forwards option / handler changes */\nfunction ShapeChartBase({\n options,\n height,\n width,\n className,\n style,\n handleRef,\n renderTooltip,\n ...handlers\n}: ShapeChartBaseProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<ShapeChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n const tooltipRef = useRef(renderTooltip);\n const [tipEvent, setTipEvent] = useState<ShapeHoverEvent | null>(null);\n const tipHost = useMemo(\n () =>\n typeof document === \"undefined\" ? null : document.createElement(\"div\"),\n [],\n );\n const customTooltip = !!renderTooltip;\n\n const resolved = useMemo((): ShapeChartOptions => {\n if (!customTooltip || !tipHost || options.tooltip === false) return options;\n const base = typeof options.tooltip === \"object\" ? options.tooltip : {};\n return {\n ...options,\n tooltip: {\n ...base,\n render: (event) => {\n if (!tooltipRef.current) return null;\n // render synchronously so the engine measures the final size\n flushSync(() => setTipEvent(event));\n return tipHost;\n },\n },\n };\n }, [options, customTooltip, tipHost]);\n const optionsRef = useRef(resolved);\n\n useEffect(() => {\n handlersRef.current = handlers;\n tooltipRef.current = renderTooltip;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createShapeChart(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.onClick?.(e)),\n chart.on(\"toggle\", (e) => handlersRef.current.onToggle?.(e)),\n chart.on(\"drill\", (e) => handlersRef.current.onDrill?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === resolved) return;\n optionsRef.current = resolved;\n chartRef.current?.setOptions(resolved);\n }, [resolved]);\n\n useImperativeHandle(\n handleRef,\n () => ({ getInstance: () => chartRef.current }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"320px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n {tipHost &&\n tipEvent &&\n renderTooltip &&\n createPortal(renderTooltip(tipEvent), tipHost)}\n </div>\n );\n}\n\n/**\n * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with\n * `rose`): slices with gaps, outside labels with leader lines, legend toggles.\n */\nexport function PieChart(props: PieChartProps) {\n return <PieBase {...props} defaultInner={0} />;\n}\n\n/** Donut chart: a PieChart with a hole and optional center texts */\nexport function DonutChart(props: DonutChartProps) {\n return <PieBase {...props} defaultInner={0.62} />;\n}\n\nfunction PieBase(props: PieChartProps & { defaultInner: number }) {\n const {\n data,\n innerRadius,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n defaultInner,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): PieChartOptions => ({\n ...common,\n type: \"pie\",\n data,\n innerRadius: innerRadius ?? defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n innerRadius,\n defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Radar (spider) chart comparing series over several indicators */\nexport function RadarChart(props: RadarChartProps) {\n const { indicators, series, shape, levels, dots } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadarChartOptions => ({\n ...common,\n type: \"radar\",\n indicators,\n series,\n shape,\n levels,\n dots,\n }),\n [common, indicators, series, shape, levels, dots],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Gauge (speedometer) showing one value on an arc, with colored bands */\nexport function GaugeChart(props: GaugeChartProps) {\n const {\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): GaugeChartOptions => ({\n ...common,\n type: \"gauge\",\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n }),\n [\n common,\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={240} />;\n}\n\n/** Funnel chart of the stages of a process, with conversion rates */\nexport function FunnelChart(props: FunnelChartProps) {\n const { data, sort, gap, conversion, shape } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): FunnelChartOptions => ({\n ...common,\n type: \"funnel\",\n data,\n sort,\n gap,\n conversion,\n shape,\n }),\n [common, data, sort, gap, conversion, shape],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Treemap: nested rectangles of areas proportional to the values */\nexport function TreemapChart(props: TreemapChartProps) {\n const { data, gap, headers } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): TreemapChartOptions => ({\n ...common,\n type: \"treemap\",\n data,\n gap,\n headers,\n }),\n [common, data, gap, headers],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/**\n * Sankey diagram: flows between nodes in columns, link thickness\n * proportional to the flow; hovering a node or a link highlights its flows\n */\nexport function SankeyChart(props: SankeyChartProps) {\n const {\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): SankeyChartOptions => ({\n ...common,\n type: \"sankey\",\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n }),\n [\n common,\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={360} />;\n}\n\n/**\n * Sunburst chart: a hierarchy as concentric rings; clicking a parent zooms\n * into it, clicking the center goes back up\n */\nexport function SunburstChart(props: SunburstChartProps) {\n const {\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath,\n onDrill,\n } = props;\n const common = useCommonOptions(props);\n // a new array with the same names keeps the options (and the animation)\n const drillKey = drillPath ? JSON.stringify(drillPath) : null;\n const stablePath = useMemo(\n () => (drillKey === null ? undefined : (JSON.parse(drillKey) as string[])),\n [drillKey],\n );\n const options = useMemo(\n (): SunburstChartOptions => ({\n ...common,\n type: \"sunburst\",\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath: stablePath,\n }),\n [\n common,\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n stablePath,\n ],\n );\n return (\n <ShapeHost\n props={props}\n options={options}\n defaultHeight={360}\n onDrill={onDrill}\n />\n );\n}\n\n/** Radial bar chart: concentric progress rings (activity rings, KPI completion) */\nexport function RadialBarChart(props: RadialBarChartProps) {\n const {\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadialBarChartOptions => ({\n ...common,\n type: \"radialBar\",\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={300} />;\n}\n\n/** Calendar heatmap: daily values on a calendar, contributions-style */\nexport function CalendarHeatmap(props: CalendarHeatmapProps) {\n const {\n data,\n range,\n layout,\n weekStart,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): CalendarHeatmapOptions => ({\n ...common,\n type: \"calendarHeatmap\",\n data,\n range,\n layout,\n weekStart,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n }),\n [\n common,\n data,\n range,\n layout,\n weekStart,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n ],\n );\n const defaultHeight = useMemo(() => {\n const legend = options.legend === false ? 0 : 34;\n if (layout === \"months\") return 560;\n return calendarStrips(options) * 120 + legend + 16;\n }, [options, layout]);\n return (\n <ShapeHost props={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/** Bullet chart: KPI bars against qualitative ranges and a target marker */\nexport function BulletChart(props: BulletChartProps) {\n const {\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): BulletChartOptions => ({\n ...common,\n type: \"bullet\",\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n }),\n [\n common,\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n ],\n );\n const legend = options.legend ? 34 : 0;\n const defaultHeight =\n orientation === \"vertical\"\n ? 320\n : Math.max(96, data.length * 64 + 16) + legend;\n return (\n <ShapeHost props={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\nfunction ShapeHost({\n props,\n options,\n defaultHeight,\n onDrill,\n}: {\n props: ShapeChartCommonProps;\n options: ShapeChartOptions;\n defaultHeight: number;\n onDrill?: (event: ShapeDrillEvent) => void;\n}) {\n return (\n <ShapeChartBase\n options={options}\n height={props.height ?? defaultHeight}\n width={props.width}\n className={props.className}\n style={props.style}\n handleRef={props.ref}\n onHover={props.onHover}\n onClick={props.onClick}\n onToggle={props.onToggle}\n onDrill={onDrill}\n renderTooltip={props.renderTooltip}\n />\n );\n}\n"],"mappings":"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AAM,SACN,QACA,QACA,YACA,cACA,QACA,aACA,YACA,cACA,SACA,aACF,GACA,CACEA,EACAoC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAnC,EACAoC,CACF,CACF,EACA,OAAO,EAAAjG,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAS,cAAe,GAAM,CAAA,CACzE,CAMA,SAAgBiC,EAAc,EAA2B,CACvD,GAAM,CACJ,OACA,cACA,SACA,aACA,WACA,eACA,SACA,QACA,YACA,WACE/C,EACEE,EAAS5C,EAAiB0C,CAAK,EAE/BgD,EAAWC,EAAY,KAAK,UAAUA,CAAS,EAAI,KACnDC,GAAA,EAAa/G,EAAAA,QAAAA,KACV6G,IAAa,KAAO,IAAA,GAAa,KAAK,MAAMA,CAAQ,EAC3D,CAACA,CAAQ,CACX,EACM9D,GAAA,EAAU/C,EAAAA,QAAAA,MACe,CAC3B,GAAG+D,EACH,KAAM,WACN,OACA,cACA,SACA,aACA,WACA,eACA,SACA,QACA,UAAWgD,CACb,GACA,CACEhD,EACAG,EACAF,EACAgB,EACAb,EACAC,EACAC,EACAE,EACAyC,EACAD,CACF,CACF,EACA,OACE,EAAArG,EAAA,IAAA,CAACiE,EAAD,CACS,QACE,UACT,cAAe,IACN,SACV,CAAA,CAEL,CAGA,SAAgBsC,EAAe,EAA4B,CACzD,GAAM,CACJ,OACA,MACA,cACA,aACA,QACA,MACA,QACA,UACA,SACA,eACA,cACA,eACEpD,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACgB,CAC5B,GAAG+D,EACH,KAAM,YACN,OACA,MACA,cACA,aACA,QACA,MACA,QACA,UACA,SACA,eACA,cACA,aACF,GACA,CACEA,EACAG,EACAkB,EACApB,EACAG,EACAmB,EACAQ,EACAoB,EACAC,EACA5C,EACAC,EACAC,EACAC,CACF,CACF,EACA,OAAO,EAAAhE,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAS,cAAe,GAAM,CAAA,CACzE,CAGA,SAAgByC,EAAgB,EAA6B,CAC3D,GAAM,CACJ,OACA,QACA,SACA,YACA,QACA,SACA,SACA,aACA,MACA,SACA,cACA,cACA,iBACEvD,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACiB,CAC7B,GAAG+D,EACH,KAAM,kBACN,OACA,QACA,SACA,YACA,QACA,SACA,SACA,aACA,MACA,SACA,cACA,cACA,eACF,GACA,CACEA,EACAG,EACAmD,EACAC,EACAC,EACA9B,EACA+B,EACAxC,EACAyC,EACA3B,EACA4B,EACAC,EACAC,EACAC,CACF,CACF,EACMC,GAAA,EAAgB9H,EAAAA,QAAAA,KAAc,CAClC,IAAM2B,EAASoB,EAAQ,SAAW,GAAQ,EAAI,GAE9C,OADIuE,IAAW,SAAiB,IACzBjH,EAAAA,eAAe0C,CAAO,EAAI,IAAMpB,EAAS,EAClD,EAAG,CAACoB,EAASuE,CAAM,CAAC,EACpB,OACE,EAAA5G,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAwB,eAAgB,CAAA,CAE9E,CAGA,SAAgBoD,EAAY,EAAyB,CACnD,GAAM,CACJ,OACA,cACA,SACA,cACA,cACA,UACA,cACA,SACElE,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACa,CACzB,GAAG+D,EACH,KAAM,SACN,OACA,cACA,SACA,cACA,cACA,UACA,cACA,OACF,GACA,CACEA,EACAG,EACA8D,EACAC,EACAC,EACAC,EACAC,EACAC,EACA1C,CACF,CACF,EACMhE,EAASoB,EAAQ,OAAS,GAAK,EAC/B+E,EACJE,IAAgB,WACZ,IACA,KAAK,IAAI,GAAI9D,EAAK,OAAS,GAAK,EAAE,EAAIvC,EAC5C,OACE,EAAAjB,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAwB,eAAgB,CAAA,CAE9E,CAEA,SAASA,EAAU,CACjB,QACA,UACA,gBACA,WAMC,CACD,OACE,EAAAjE,EAAA,IAAA,CAACyB,EAAD,CACW,UACT,OAAQ0B,EAAM,QAAUiE,EACxB,MAAOjE,EAAM,MACb,UAAWA,EAAM,UACjB,MAAOA,EAAM,MACb,UAAWA,EAAM,IACjB,QAASA,EAAM,QACf,QAASA,EAAM,QACf,SAAUA,EAAM,SACP,UACT,cAAeA,EAAM,aACtB,CAAA,CAEL"}
1
+ {"version":3,"file":"shapes.cjs","names":["useSyncExternalStore","useMemo","useRef","useState","createShapeChart","createPortal","calendarStrips","require_calendar","require_chart","react","react_dom","react_jsx_runtime","size","value","fallback","subscribePageLanguage","observer","onChange","pageLanguage","noPageLanguage","useCommonOptions","language","resolvedLocale","locale","hiddenKey","hidden","stableHidden","palette","legend","tooltip","format","percentFormat","texts","animation","padding","ariaLabel","ShapeChartBase","handlers","containerRef","chartRef","handlersRef","tooltipRef","renderTooltip","tipEvent","setTipEvent","tipHost","customTooltip","resolved","options","base","event","optionsRef","container","chart","offs","off","handleRef","width","height","style","PieChart","PieBase","props","DonutChart","common","innerRadius","defaultInner","data","startAngle","padAngle","cornerRadius","rose","labels","labelContent","centerValue","centerLabel","ShapeHost","RadarChart","indicators","series","shape","levels","dots","GaugeChart","min","max","label","sweep","thickness","bands","color","needle","ticks","FunnelChart","sort","gap","conversion","TreemapChart","headers","SankeyChart","nodes","links","nodeWidth","nodePadding","align","iterations","linkColor","linkOpacity","labelValues","SunburstChart","drillKey","drillPath","stablePath","drill","RadialBarChart","track","rounded","CalendarHeatmap","range","layout","weekStart","colors","thresholds","radius","maxCellSize","monthLabels","weekdayLabels","defaultHeight","BulletChart","orientation","ranges","rangeLabels","rangeColors","barSize","targetColor","ChordChart","groups","matrix","directed","arrows","sortGroups","sortSubgroups","ribbonColor","ribbonOpacity","arcWidth","tickFormat"],"sources":["../../../../charts/src/react/shapes.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n useSyncExternalStore,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from \"react\";\nimport { createPortal, flushSync } from \"react-dom\";\nimport type { ChartPadding } from \"../engine/types\";\nimport { calendarStrips } from \"../engine/shapes/calendar\";\nimport { createShapeChart } from \"../engine/shapes/chart\";\nimport type {\n BulletChartOptions,\n BulletDatum,\n CalendarDate,\n CalendarDatum,\n CalendarHeatmapOptions,\n ChordChartOptions,\n ChordGroup,\n ChordLink,\n FunnelChartOptions,\n GaugeBand,\n GaugeChartOptions,\n PieChartOptions,\n RadarChartOptions,\n RadarIndicator,\n RadarSeries,\n RadialBarChartOptions,\n RadialBarDatum,\n SankeyChartOptions,\n SankeyLink,\n SankeyNode,\n ShapeChartCommonOptions,\n ShapeChartInstance,\n ShapeChartLabels,\n ShapeChartOptions,\n ShapeDatum,\n ShapeDrillEvent,\n ShapeHoverEvent,\n ShapeLegendOptions,\n ShapeToggleEvent,\n ShapeTooltipOptions,\n SunburstChartOptions,\n TreemapChartOptions,\n TreemapNode,\n} from \"../engine/shapes/types\";\n\n/** Imperative handle of the shape chart components (`ref`) */\nexport interface ShapeChartHandle {\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): ShapeChartInstance | null;\n}\n\n/**\n * Props shared by PieChart, DonutChart, RadarChart, GaugeChart, FunnelChart,\n * TreemapChart, SankeyChart, SunburstChart, RadialBarChart, CalendarHeatmap,\n * BulletChart and ChordChart\n */\nexport interface ShapeChartCommonProps {\n /**\n * Height of the chart (the legend included); numbers are pixels\n * @default 320 (GaugeChart: 240, RadialBarChart: 300, ChordChart: 420, CalendarHeatmap and BulletChart: from the data)\n */\n height?: number | string;\n /**\n * Width of the chart; numbers are pixels\n * @default \"100%\"\n */\n width?: number | string;\n /** Colors of the marks without `color` (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */\n palette?: readonly string[];\n /**\n * Legend; clicking an item hides / shows its slice, stage, series, node, bar, row or level\n * @default shown for pie, donut, funnel, multi-series radar charts, calendar heatmaps and radial bar charts without labels\n */\n legend?: boolean | ShapeLegendOptions;\n /**\n * Tooltip; `false` disables it\n * @default true\n */\n tooltip?: boolean | ShapeTooltipOptions;\n /**\n * Formats the values of the labels and the tooltip\n * @default compact numbers of the `locale` (1.2k, 3.4M; 1.2万 in Chinese and Japanese)\n */\n format?: (value: number) => string;\n /**\n * Formats the shares (labels, conversion rates, tooltip); `share` is 0-1\n * @default a percent of the `locale` with one decimal, e.g. \"40.0%\", \"40,0 %\"\n */\n percentFormat?: (share: number) => string;\n /**\n * BCP 47 locale of the texts and numbers the chart writes (tooltip rows,\n * accessible names, number and percent formats, calendar dates); built-in\n * texts in English, Chinese, Japanese and French (English otherwise)\n * @default the page language (`<html lang>`, followed when it changes), else the browser language\n */\n locale?: string;\n /** Replaces built-in texts of the `locale` (tooltip rows, accessible names, \"No data\") */\n texts?: Partial<ShapeChartLabels>;\n /**\n * Hidden slices / stages / radar series / top-level treemap or sunburst\n * nodes / sankey nodes / radial bars / bullet rows / calendar levels, by\n * index. Makes the visibility controlled: legend clicks then only call\n * `onToggle`, whose `hiddenIndexes` should be stored and passed back.\n * Leave undefined to let the legend hide / show entries by itself.\n */\n hidden?: readonly number[];\n /**\n * Called when a legend item is clicked (or the instance's `toggle()` is\n * called), with the toggled index and every hidden index after the toggle\n */\n onToggle?: (event: ShapeToggleEvent) => void;\n /**\n * Entry and update animations (skipped when the user prefers reduced motion)\n * @default true\n */\n animation?: boolean;\n /**\n * Space around the drawing, in pixels\n * @default 8 on every side\n */\n padding?: ChartPadding;\n /**\n * Accessible name of the chart\n * @default the chart type in the `locale`, e.g. \"Donut chart\"\n */\n ariaLabel?: string;\n /** Called when the hovered (or keyboard-focused) mark changes */\n onHover?: (event: ShapeHoverEvent | null) => void;\n /** Called when a mark is clicked, tapped or activated with Enter */\n onClick?: (event: ShapeHoverEvent) => void;\n /** React content of the tooltip (replaces the default content) */\n renderTooltip?: (event: ShapeHoverEvent) => ReactNode;\n /** Additional class name of the root element */\n className?: string;\n /** Inline styles of the root element */\n style?: CSSProperties;\n /** Imperative handle */\n ref?: Ref<ShapeChartHandle>;\n}\n\n/** Props of PieChart */\nexport interface PieChartProps extends ShapeChartCommonProps {\n /** Slices: a name, a value (negative values count as 0) and an optional color */\n data: readonly ShapeDatum[];\n /**\n * Inner radius as a fraction of the outer radius: 0 = pie, 0.6 = donut\n * @default 0\n */\n innerRadius?: number;\n /**\n * Angle of the first slice, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Gap between the slices, in pixels\n * @default 1 (pie), 2 (donut)\n */\n padAngle?: number;\n /**\n * Corner radius of the slices, in pixels\n * @default 0 (pie), 4 (donut)\n */\n cornerRadius?: number;\n /**\n * Nightingale rose: the radius (instead of the angle) shows the value\n * @default false\n */\n rose?: boolean;\n /**\n * Slice labels: `outside` with leader lines, `inside` the slices, or none\n * @default \"outside\" (up to 12 slices), \"none\" otherwise\n */\n labels?: \"outside\" | \"inside\" | \"none\";\n /**\n * What a label shows: name, value, percent (combinable)\n * @default [\"name\", \"percent\"]\n */\n labelContent?: readonly (\"name\" | \"value\" | \"percent\")[];\n /** Big text in the hole of a donut (e.g. the total) */\n centerValue?: string;\n /** Small text under `centerValue` */\n centerLabel?: string;\n}\n\n/** Props of DonutChart: a PieChart with a hole */\nexport interface DonutChartProps extends PieChartProps {\n /**\n * Inner radius as a fraction of the outer radius\n * @default 0.62\n */\n innerRadius?: number;\n}\n\n/** Props of RadarChart */\nexport interface RadarChartProps extends ShapeChartCommonProps {\n /** Axes of the chart, clockwise from 12 o'clock */\n indicators: readonly RadarIndicator[];\n /** Polygons: one value per indicator */\n series: readonly RadarSeries[];\n /**\n * Grid shape\n * @default \"polygon\"\n */\n shape?: \"polygon\" | \"circle\";\n /**\n * Number of grid rings\n * @default 4\n */\n levels?: number;\n /**\n * Dots on the vertices\n * @default true\n */\n dots?: boolean;\n}\n\n/** Props of GaugeChart */\nexport interface GaugeChartProps extends ShapeChartCommonProps {\n /** Value shown by the arc (clamped to `min` - `max` for the drawing) */\n value: number;\n /**\n * Value at the start of the arc\n * @default 0\n */\n min?: number;\n /**\n * Value at the end of the arc\n * @default 100\n */\n max?: number;\n /** Caption under the value */\n label?: string;\n /**\n * Total angle of the arc, degrees\n * @default 240\n */\n sweep?: number;\n /**\n * Thickness of the arc as a fraction of the radius\n * @default 0.16\n */\n thickness?: number;\n /** Colored ranges of the track; the value arc takes the color of its band */\n bands?: readonly GaugeBand[];\n /**\n * Color of the value arc (when there are no bands)\n * @default the first palette color\n */\n color?: string;\n /**\n * Draws a needle in addition to the value arc\n * @default false\n */\n needle?: boolean;\n /**\n * Tick labels at the ends (and at the band bounds)\n * @default true\n */\n ticks?: boolean;\n}\n\n/** Props of FunnelChart */\nexport interface FunnelChartProps extends ShapeChartCommonProps {\n /** Stages: a name, a value and an optional color */\n data: readonly ShapeDatum[];\n /**\n * Order of the stages\n * @default \"none\" (data order)\n */\n sort?: \"descending\" | \"ascending\" | \"none\";\n /**\n * Vertical gap between the stages, in pixels\n * @default 4\n */\n gap?: number;\n /**\n * Shows the conversion rate from the previous stage\n * @default true\n */\n conversion?: boolean;\n /**\n * Shape of the stages: trapezoids that narrow to the next stage, or centered bars\n * @default \"trapezoid\"\n */\n shape?: \"trapezoid\" | \"bar\";\n}\n\n/** Props of TreemapChart */\nexport interface TreemapChartProps extends ShapeChartCommonProps {\n /** Nodes: leaves carry a value, parents sum their children */\n data: readonly TreemapNode[];\n /**\n * Gap between the cells, in pixels\n * @default 2\n */\n gap?: number;\n /**\n * Draws the names of the parents above their children\n * @default true\n */\n headers?: boolean;\n}\n\n/** Props of SankeyChart */\nexport interface SankeyChartProps extends ShapeChartCommonProps {\n /** Nodes, in their initial order; nodes only named by a link are appended */\n nodes?: readonly SankeyNode[];\n /** Flows between the nodes (by name or index); links closing a cycle are ignored */\n links: readonly SankeyLink[];\n /**\n * Width of the node bars, in pixels\n * @default 12\n */\n nodeWidth?: number;\n /**\n * Vertical gap between the nodes of a column, in pixels (reduced when space is short)\n * @default 12\n */\n nodePadding?: number;\n /**\n * Column of the nodes without a `column`: `justify` puts the sinks in the\n * last column, `left` / `right` align on the sources / sinks, `center`\n * puts the sources next to their first target\n * @default \"justify\"\n */\n align?: \"justify\" | \"left\" | \"right\" | \"center\";\n /**\n * Relaxation passes that straighten the flows and reduce crossings\n * @default 32\n */\n iterations?: number;\n /**\n * Color of the links without `color`: a gradient from the source to the\n * target color, one of the two, or a neutral gray\n * @default \"gradient\"\n */\n linkColor?: \"gradient\" | \"source\" | \"target\" | \"neutral\";\n /**\n * Opacity of the links, 0-1 (hovered flows are more opaque)\n * @default 0.4\n */\n linkOpacity?: number;\n /**\n * Node labels (name and value); overlapping labels are skipped\n * @default true\n */\n labels?: boolean;\n /**\n * Shows the value after the name in the labels\n * @default true\n */\n labelValues?: boolean;\n}\n\n/** Props of SunburstChart */\nexport interface SunburstChartProps extends ShapeChartCommonProps {\n /** Nodes: leaves carry a value, parents sum their children */\n data: readonly TreemapNode[];\n /**\n * Radius of the center circle as a fraction of the outer radius\n * @default 0.26\n */\n innerRadius?: number;\n /**\n * Rings shown at once below the focused node (fewer when they would be thinner than 18 px)\n * @default every level\n */\n levels?: number;\n /**\n * Angle of the first node, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Gap between the sectors, in pixels\n * @default 1\n */\n padAngle?: number;\n /**\n * Corner radius of the sectors, in pixels\n * @default 2\n */\n cornerRadius?: number;\n /**\n * Sector labels: `auto` writes each name along the arc or along the\n * radius, whichever fits best; labels that do not fit are shortened or skipped\n * @default \"auto\"\n */\n labels?: \"auto\" | \"tangential\" | \"radial\" | \"none\";\n /**\n * Clicking (or Enter on) a parent zooms into it; clicking the center (or Backspace) goes back up\n * @default true\n */\n drill?: boolean;\n /**\n * Names from the root to the focused node (`[]` = the root). Makes the\n * drill-down controlled: clicks then only call `onDrill`, whose `path`\n * should be stored and passed back.\n */\n drillPath?: readonly string[];\n /** Called when a parent or the center is clicked (or the instance's `drill()` is called) */\n onDrill?: (event: ShapeDrillEvent) => void;\n}\n\n/** Props of RadialBarChart */\nexport interface RadialBarChartProps extends ShapeChartCommonProps {\n /** Bars, from the outermost ring inward: a name, a value, an optional `max` and color */\n data: readonly RadialBarDatum[];\n /**\n * Value of a full bar for the data without `max`\n * @default the largest value\n */\n max?: number;\n /**\n * Radius of the innermost ring's inner edge, as a fraction of the outer radius\n * @default 0.3\n */\n innerRadius?: number;\n /**\n * Angle where the bars start, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Angle of a full bar, degrees (360 = full rings)\n * @default 270\n */\n sweep?: number;\n /**\n * Gap between the rings, as a fraction of a ring's slot (0-0.9)\n * @default 0.28\n */\n gap?: number;\n /**\n * Background tracks behind the bars\n * @default true\n */\n track?: boolean;\n /**\n * Rounded bar ends\n * @default true\n */\n rounded?: boolean;\n /**\n * Labels before the start of the bars (in the empty part of the circle)\n * @default true when `sweep` leaves room for them (up to 300°)\n */\n labels?: boolean;\n /**\n * What a label shows: name, value, percent of the bar's max (combinable)\n * @default [\"name\", \"value\"]\n */\n labelContent?: readonly (\"name\" | \"value\" | \"percent\")[];\n /** Big text in the center (e.g. the overall completion) */\n centerValue?: string;\n /** Small text under `centerValue` */\n centerLabel?: string;\n}\n\n/** Props of CalendarHeatmap */\nexport interface CalendarHeatmapProps extends ShapeChartCommonProps {\n /** Daily values (several entries of the same day add up) */\n data: readonly CalendarDatum[];\n /**\n * Days shown: a year (`2026`) or an inclusive `[start, end]` range\n * @default the 53 weeks ending on the last day of the data\n */\n range?: number | readonly [CalendarDate, CalendarDate];\n /**\n * `weeks`: a column per week and a row per weekday (one strip per year\n * when the range spans several years); `months`: a small calendar per month\n * @default \"weeks\"\n */\n layout?: \"weeks\" | \"months\";\n /**\n * First day of the week, 0 = Sunday … 6 = Saturday\n * @default from `locale`\n */\n weekStart?: number;\n /**\n * BCP 47 locale of the month and weekday names, of the tooltip dates, of the default `weekStart` and of the built-in texts\n * @default the page language (`<html lang>`), else the browser language\n */\n locale?: string;\n /**\n * Color of the highest level (lower levels are lighter)\n * @default the first palette color\n */\n color?: string;\n /** Colors of the levels, lowest first (replaces `color` and sets the number of levels) */\n colors?: readonly string[];\n /**\n * Number of color levels above the empty days\n * @default 4\n */\n levels?: number;\n /**\n * Upper bounds of the levels but the last, ascending (`[2, 5, 10]`: 1-2,\n * 3-5, 6-10, more); an even split of the largest value by default\n */\n thresholds?: readonly number[];\n /**\n * Gap between the cells, in pixels\n * @default 3\n */\n gap?: number;\n /**\n * Corner radius of the cells, in pixels\n * @default 2\n */\n radius?: number;\n /**\n * Largest cell size, in pixels (cells shrink to fit the width)\n * @default 16 (weeks), 28 (months)\n */\n maxCellSize?: number;\n /**\n * Month names (and years) around the cells\n * @default true\n */\n monthLabels?: boolean;\n /**\n * Weekday names beside (weeks) or above (months) the cells\n * @default true\n */\n weekdayLabels?: boolean;\n}\n\n/** Props of BulletChart */\nexport interface BulletChartProps extends ShapeChartCommonProps {\n /** Rows (columns when vertical): name, value, target, ranges and scale */\n data: readonly BulletDatum[];\n /**\n * Horizontal rows or vertical columns\n * @default \"horizontal\"\n */\n orientation?: \"horizontal\" | \"vertical\";\n /** Qualitative ranges of the rows without `ranges`: upper bounds, ascending */\n ranges?: readonly number[];\n /** Names of the qualitative ranges, lowest first (tooltip) */\n rangeLabels?: readonly string[];\n /** Colors of the qualitative ranges, lowest first; shades of gray by default */\n rangeColors?: readonly string[];\n /**\n * Thickness of the value bar as a fraction of the ranges' thickness\n * @default 0.4\n */\n barSize?: number;\n /**\n * Color of the target markers\n * @default the text color\n */\n targetColor?: string;\n /**\n * Tick labels of the scales (when there is room)\n * @default true\n */\n ticks?: boolean;\n}\n\n/** Props of ChordChart */\nexport interface ChordChartProps extends ShapeChartCommonProps {\n /**\n * Groups (names or `{ name, color }`), in their order around the circle;\n * groups only named by `links` are appended. With `matrix`, unnamed rows\n * are numbered from 1.\n */\n groups?: readonly (string | ChordGroup)[];\n /** Square flow matrix: `matrix[i][j]` flows from group `i` to group `j` (used when `links` is absent) */\n matrix?: readonly (readonly number[])[];\n /** Flows as a list (by group name or index); takes precedence over `matrix` */\n links?: readonly ChordLink[];\n /**\n * `false`: one ribbon per pair of groups, as wide as the flows between\n * them in both directions (a symmetric matrix counts each relation once).\n * `true`: one ribbon per direction, arcs sized by the outgoing plus the\n * incoming flows (self flows ignored)\n * @default false\n */\n directed?: boolean;\n /**\n * Arrowheads at the target end of the ribbons\n * @default true when `directed`\n */\n arrows?: boolean;\n /**\n * Gap between the groups, in degrees\n * @default 2\n */\n padAngle?: number;\n /**\n * Angle of the first group, degrees clockwise from 12 o'clock\n * @default 0\n */\n startAngle?: number;\n /**\n * Order of the groups around the circle\n * @default \"none\" (data order)\n */\n sortGroups?: \"none\" | \"ascending\" | \"descending\";\n /**\n * Order of the ribbon ends along an arc: `auto` minimizes the crossings;\n * otherwise the order of the groups, or by value\n * @default \"auto\"\n */\n sortSubgroups?: \"auto\" | \"none\" | \"ascending\" | \"descending\";\n /**\n * Color of the ribbons without `color`: a gradient from the source to the\n * target color, one of the two, or a neutral gray\n * @default \"gradient\"\n */\n ribbonColor?: \"gradient\" | \"source\" | \"target\" | \"neutral\";\n /**\n * Opacity of the ribbons, 0-1 (hovered ribbons are more opaque)\n * @default 0.65\n */\n ribbonOpacity?: number;\n /**\n * Thickness of the group arcs, in pixels\n * @default 6% of the radius (8-18 px)\n */\n arcWidth?: number;\n /**\n * Value ticks outside the arcs (labelled where there is room); a number sets the step between ticks\n * @default true when the diagram is large enough\n */\n ticks?: boolean | number;\n /**\n * Formats the tick labels\n * @default compact numbers of the `locale` (not `format`, whose units would crowd the ticks)\n */\n tickFormat?: (value: number) => string;\n /**\n * Group labels along the arc (`tangential`) or the radius (`radial`);\n * `auto` picks tangential when every name fits; colliding labels are shortened or skipped\n * @default \"auto\"\n */\n labels?: \"auto\" | \"tangential\" | \"radial\" | \"none\";\n}\n\ninterface Handlers {\n onHover?: (event: ShapeHoverEvent | null) => void;\n onClick?: (event: ShapeHoverEvent) => void;\n onToggle?: (event: ShapeToggleEvent) => void;\n onDrill?: (event: ShapeDrillEvent) => void;\n}\n\ninterface ShapeChartBaseProps extends Handlers {\n options: ShapeChartOptions;\n height: number | string;\n width?: number | string;\n className?: string;\n style?: CSSProperties;\n handleRef?: Ref<ShapeChartHandle>;\n renderTooltip?: (event: ShapeHoverEvent) => ReactNode;\n}\n\nconst size = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\nconst subscribePageLanguage = (onChange: () => void) => {\n if (typeof document === \"undefined\" || typeof MutationObserver !== \"function\")\n return () => {};\n const observer = new MutationObserver(onChange);\n observer.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"lang\"],\n });\n return () => observer.disconnect();\n};\n\nconst pageLanguage = () =>\n typeof document === \"undefined\" ? \"\" : document.documentElement.lang;\n\nconst noPageLanguage = () => \"\";\n\n/** Engine options shared by every type, stable while the props are equal */\nconst useCommonOptions = ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n locale,\n texts,\n hidden,\n animation,\n padding,\n ariaLabel,\n}: ShapeChartCommonProps): ShapeChartCommonOptions => {\n // without `locale`, follow the page language (`<html lang>`) as it changes\n const language = useSyncExternalStore(\n subscribePageLanguage,\n pageLanguage,\n noPageLanguage,\n );\n const resolvedLocale = locale ?? (language || undefined);\n // a new array with the same indexes keeps the options (and the animation)\n const hiddenKey = hidden ? hidden.join(\",\") : null;\n const stableHidden = useMemo(\n () =>\n hiddenKey === null\n ? undefined\n : hiddenKey\n ? hiddenKey.split(\",\").map(Number)\n : [],\n [hiddenKey],\n );\n return useMemo(\n () => ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n locale: resolvedLocale,\n texts,\n hidden: stableHidden,\n animation,\n padding,\n ariaLabel,\n }),\n [\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n resolvedLocale,\n texts,\n stableHidden,\n animation,\n padding,\n ariaLabel,\n ],\n );\n};\n\n/** Mounts the engine in a sized <div> and forwards option / handler changes */\nfunction ShapeChartBase({\n options,\n height,\n width,\n className,\n style,\n handleRef,\n renderTooltip,\n ...handlers\n}: ShapeChartBaseProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<ShapeChartInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n const tooltipRef = useRef(renderTooltip);\n const [tipEvent, setTipEvent] = useState<ShapeHoverEvent | null>(null);\n const tipHost = useMemo(\n () =>\n typeof document === \"undefined\" ? null : document.createElement(\"div\"),\n [],\n );\n const customTooltip = !!renderTooltip;\n\n const resolved = useMemo((): ShapeChartOptions => {\n if (!customTooltip || !tipHost || options.tooltip === false) return options;\n const base = typeof options.tooltip === \"object\" ? options.tooltip : {};\n return {\n ...options,\n tooltip: {\n ...base,\n render: (event) => {\n if (!tooltipRef.current) return null;\n // render synchronously so the engine measures the final size\n flushSync(() => setTipEvent(event));\n return tipHost;\n },\n },\n };\n }, [options, customTooltip, tipHost]);\n const optionsRef = useRef(resolved);\n\n useEffect(() => {\n handlersRef.current = handlers;\n tooltipRef.current = renderTooltip;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createShapeChart(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.onClick?.(e)),\n chart.on(\"toggle\", (e) => handlersRef.current.onToggle?.(e)),\n chart.on(\"drill\", (e) => handlersRef.current.onDrill?.(e)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === resolved) return;\n optionsRef.current = resolved;\n chartRef.current?.setOptions(resolved);\n }, [resolved]);\n\n useImperativeHandle(\n handleRef,\n () => ({ getInstance: () => chartRef.current }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: size(width, \"100%\"),\n height: size(height, \"320px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n {tipHost &&\n tipEvent &&\n renderTooltip &&\n createPortal(renderTooltip(tipEvent), tipHost)}\n </div>\n );\n}\n\n/**\n * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with\n * `rose`): slices with gaps, outside labels with leader lines, legend toggles.\n */\nexport function PieChart(props: PieChartProps) {\n return <PieBase {...props} defaultInner={0} />;\n}\n\n/** Donut chart: a PieChart with a hole and optional center texts */\nexport function DonutChart(props: DonutChartProps) {\n return <PieBase {...props} defaultInner={0.62} />;\n}\n\nfunction PieBase(props: PieChartProps & { defaultInner: number }) {\n const {\n data,\n innerRadius,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n defaultInner,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): PieChartOptions => ({\n ...common,\n type: \"pie\",\n data,\n innerRadius: innerRadius ?? defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n innerRadius,\n defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Radar (spider) chart comparing series over several indicators */\nexport function RadarChart(props: RadarChartProps) {\n const { indicators, series, shape, levels, dots } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadarChartOptions => ({\n ...common,\n type: \"radar\",\n indicators,\n series,\n shape,\n levels,\n dots,\n }),\n [common, indicators, series, shape, levels, dots],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Gauge (speedometer) showing one value on an arc, with colored bands */\nexport function GaugeChart(props: GaugeChartProps) {\n const {\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): GaugeChartOptions => ({\n ...common,\n type: \"gauge\",\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n }),\n [\n common,\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={240} />;\n}\n\n/** Funnel chart of the stages of a process, with conversion rates */\nexport function FunnelChart(props: FunnelChartProps) {\n const { data, sort, gap, conversion, shape } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): FunnelChartOptions => ({\n ...common,\n type: \"funnel\",\n data,\n sort,\n gap,\n conversion,\n shape,\n }),\n [common, data, sort, gap, conversion, shape],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/** Treemap: nested rectangles of areas proportional to the values */\nexport function TreemapChart(props: TreemapChartProps) {\n const { data, gap, headers } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): TreemapChartOptions => ({\n ...common,\n type: \"treemap\",\n data,\n gap,\n headers,\n }),\n [common, data, gap, headers],\n );\n return <ShapeHost props={props} options={options} defaultHeight={320} />;\n}\n\n/**\n * Sankey diagram: flows between nodes in columns, link thickness\n * proportional to the flow; hovering a node or a link highlights its flows\n */\nexport function SankeyChart(props: SankeyChartProps) {\n const {\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): SankeyChartOptions => ({\n ...common,\n type: \"sankey\",\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n }),\n [\n common,\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={360} />;\n}\n\n/**\n * Sunburst chart: a hierarchy as concentric rings; clicking a parent zooms\n * into it, clicking the center goes back up\n */\nexport function SunburstChart(props: SunburstChartProps) {\n const {\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath,\n onDrill,\n } = props;\n const common = useCommonOptions(props);\n // a new array with the same names keeps the options (and the animation)\n const drillKey = drillPath ? JSON.stringify(drillPath) : null;\n const stablePath = useMemo(\n () => (drillKey === null ? undefined : (JSON.parse(drillKey) as string[])),\n [drillKey],\n );\n const options = useMemo(\n (): SunburstChartOptions => ({\n ...common,\n type: \"sunburst\",\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath: stablePath,\n }),\n [\n common,\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n stablePath,\n ],\n );\n return (\n <ShapeHost\n props={props}\n options={options}\n defaultHeight={360}\n onDrill={onDrill}\n />\n );\n}\n\n/** Radial bar chart: concentric progress rings (activity rings, KPI completion) */\nexport function RadialBarChart(props: RadialBarChartProps) {\n const {\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadialBarChartOptions => ({\n ...common,\n type: \"radialBar\",\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={300} />;\n}\n\n/** Calendar heatmap: daily values on a calendar, contributions-style */\nexport function CalendarHeatmap(props: CalendarHeatmapProps) {\n const {\n data,\n range,\n layout,\n weekStart,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): CalendarHeatmapOptions => ({\n ...common,\n type: \"calendarHeatmap\",\n data,\n range,\n layout,\n weekStart,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n }),\n [\n common,\n data,\n range,\n layout,\n weekStart,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n ],\n );\n const defaultHeight = useMemo(() => {\n const legend = options.legend === false ? 0 : 34;\n if (layout === \"months\") return 560;\n return calendarStrips(options) * 120 + legend + 16;\n }, [options, layout]);\n return (\n <ShapeHost props={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/** Bullet chart: KPI bars against qualitative ranges and a target marker */\nexport function BulletChart(props: BulletChartProps) {\n const {\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): BulletChartOptions => ({\n ...common,\n type: \"bullet\",\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n }),\n [\n common,\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n ],\n );\n const legend = options.legend ? 34 : 0;\n const defaultHeight =\n orientation === \"vertical\"\n ? 320\n : Math.max(96, data.length * 64 + 16) + legend;\n return (\n <ShapeHost props={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/**\n * Chord diagram: flows between groups around a circle; hovering a group\n * highlights its ribbons, hovering a ribbon shows both directions\n */\nexport function ChordChart(props: ChordChartProps) {\n const {\n groups,\n matrix,\n links,\n directed,\n arrows,\n padAngle,\n startAngle,\n sortGroups,\n sortSubgroups,\n ribbonColor,\n ribbonOpacity,\n arcWidth,\n ticks,\n tickFormat,\n labels,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): ChordChartOptions => ({\n ...common,\n type: \"chord\",\n groups,\n matrix,\n links,\n directed,\n arrows,\n padAngle,\n startAngle,\n sortGroups,\n sortSubgroups,\n ribbonColor,\n ribbonOpacity,\n arcWidth,\n ticks,\n tickFormat,\n labels,\n }),\n [\n common,\n groups,\n matrix,\n links,\n directed,\n arrows,\n padAngle,\n startAngle,\n sortGroups,\n sortSubgroups,\n ribbonColor,\n ribbonOpacity,\n arcWidth,\n ticks,\n tickFormat,\n labels,\n ],\n );\n return <ShapeHost props={props} options={options} defaultHeight={420} />;\n}\n\nfunction ShapeHost({\n props,\n options,\n defaultHeight,\n onDrill,\n}: {\n props: ShapeChartCommonProps;\n options: ShapeChartOptions;\n defaultHeight: number;\n onDrill?: (event: ShapeDrillEvent) => void;\n}) {\n return (\n <ShapeChartBase\n options={options}\n height={props.height ?? defaultHeight}\n width={props.width}\n className={props.className}\n style={props.style}\n handleRef={props.ref}\n onHover={props.onHover}\n onClick={props.onClick}\n onToggle={props.onToggle}\n onDrill={onDrill}\n renderTooltip={props.renderTooltip}\n />\n );\n}\n"],"mappings":"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AAM,SACN,QACA,QACA,YACA,cACA,QACA,aACA,YACA,cACA,SACA,aACF,GACA,CACEA,EACAoC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,EACAnC,EACAoC,CACF,CACF,EACA,OAAO,EAAAjG,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAS,cAAe,GAAM,CAAA,CACzE,CAMA,SAAgBiC,EAAc,EAA2B,CACvD,GAAM,CACJ,OACA,cACA,SACA,aACA,WACA,eACA,SACA,QACA,YACA,WACE/C,EACEE,EAAS5C,EAAiB0C,CAAK,EAE/BgD,EAAWC,EAAY,KAAK,UAAUA,CAAS,EAAI,KACnDC,GAAA,EAAa/G,EAAAA,QAAAA,KACV6G,IAAa,KAAO,IAAA,GAAa,KAAK,MAAMA,CAAQ,EAC3D,CAACA,CAAQ,CACX,EACM9D,GAAA,EAAU/C,EAAAA,QAAAA,MACe,CAC3B,GAAG+D,EACH,KAAM,WACN,OACA,cACA,SACA,aACA,WACA,eACA,SACA,QACA,UAAWgD,CACb,GACA,CACEhD,EACAG,EACAF,EACAgB,EACAb,EACAC,EACAC,EACAE,EACAyC,EACAD,CACF,CACF,EACA,OACE,EAAArG,EAAA,IAAA,CAACiE,EAAD,CACS,QACE,UACT,cAAe,IACN,SACV,CAAA,CAEL,CAGA,SAAgBsC,EAAe,EAA4B,CACzD,GAAM,CACJ,OACA,MACA,cACA,aACA,QACA,MACA,QACA,UACA,SACA,eACA,cACA,eACEpD,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACgB,CAC5B,GAAG+D,EACH,KAAM,YACN,OACA,MACA,cACA,aACA,QACA,MACA,QACA,UACA,SACA,eACA,cACA,aACF,GACA,CACEA,EACAG,EACAkB,EACApB,EACAG,EACAmB,EACAQ,EACAoB,EACAC,EACA5C,EACAC,EACAC,EACAC,CACF,CACF,EACA,OAAO,EAAAhE,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAS,cAAe,GAAM,CAAA,CACzE,CAGA,SAAgByC,EAAgB,EAA6B,CAC3D,GAAM,CACJ,OACA,QACA,SACA,YACA,QACA,SACA,SACA,aACA,MACA,SACA,cACA,cACA,iBACEvD,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACiB,CAC7B,GAAG+D,EACH,KAAM,kBACN,OACA,QACA,SACA,YACA,QACA,SACA,SACA,aACA,MACA,SACA,cACA,cACA,eACF,GACA,CACEA,EACAG,EACAmD,EACAC,EACAC,EACA9B,EACA+B,EACAxC,EACAyC,EACA3B,EACA4B,EACAC,EACAC,EACAC,CACF,CACF,EACMC,GAAA,EAAgB9H,EAAAA,QAAAA,KAAc,CAClC,IAAM2B,EAASoB,EAAQ,SAAW,GAAQ,EAAI,GAE9C,OADIuE,IAAW,SAAiB,IACzBjH,EAAAA,eAAe0C,CAAO,EAAI,IAAMpB,EAAS,EAClD,EAAG,CAACoB,EAASuE,CAAM,CAAC,EACpB,OACE,EAAA5G,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAwB,eAAgB,CAAA,CAE9E,CAGA,SAAgBoD,EAAY,EAAyB,CACnD,GAAM,CACJ,OACA,cACA,SACA,cACA,cACA,UACA,cACA,SACElE,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACa,CACzB,GAAG+D,EACH,KAAM,SACN,OACA,cACA,SACA,cACA,cACA,UACA,cACA,OACF,GACA,CACEA,EACAG,EACA8D,EACAC,EACAC,EACAC,EACAC,EACAC,EACA1C,CACF,CACF,EACMhE,EAASoB,EAAQ,OAAS,GAAK,EAC/B+E,EACJE,IAAgB,WACZ,IACA,KAAK,IAAI,GAAI9D,EAAK,OAAS,GAAK,EAAE,EAAIvC,EAC5C,OACE,EAAAjB,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAwB,eAAgB,CAAA,CAE9E,CAMA,SAAgB2D,EAAW,EAAwB,CACjD,GAAM,CACJ,SACA,SACA,QACA,WACA,SACA,WACA,aACA,aACA,gBACA,cACA,gBACA,WACA,QACA,aACA,UACEzE,EACEE,EAAS5C,EAAiB0C,CAAK,EAC/Bd,GAAA,EAAU/C,EAAAA,QAAAA,MACY,CACxB,GAAG+D,EACH,KAAM,QACN,SACA,SACA,QACA,WACA,SACA,WACA,aACA,aACA,gBACA,cACA,gBACA,WACA,QACA,aACA,QACF,GACA,CACEA,EACAwE,EACAC,EACApC,EACAqC,EACAC,EACAtE,EACAD,EACAwE,EACAC,EACAC,EACAC,EACAC,EACApD,EACAqD,EACAzE,CACF,CACF,EACA,OAAO,EAAA7D,EAAA,IAAA,CAACiE,EAAD,CAAkB,QAAgB,UAAS,cAAe,GAAM,CAAA,CACzE,CAEA,SAASA,EAAU,CACjB,QACA,UACA,gBACA,WAMC,CACD,OACE,EAAAjE,EAAA,IAAA,CAACyB,EAAD,CACW,UACT,OAAQ0B,EAAM,QAAUiE,EACxB,MAAOjE,EAAM,MACb,UAAWA,EAAM,UACjB,MAAOA,EAAM,MACb,UAAWA,EAAM,IACjB,QAASA,EAAM,QACf,QAASA,EAAM,QACf,SAAUA,EAAM,SACP,UACT,cAAeA,EAAM,aACtB,CAAA,CAEL"}
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties, ReactNode, Ref } from 'react';
2
2
  import { ChartPadding } from '../engine/types.cjs';
3
- import { BulletDatum, CalendarDate, CalendarDatum, GaugeBand, RadarIndicator, RadarSeries, RadialBarDatum, SankeyLink, SankeyNode, ShapeChartInstance, ShapeChartLabels, ShapeDatum, ShapeDrillEvent, ShapeHoverEvent, ShapeLegendOptions, ShapeToggleEvent, ShapeTooltipOptions, TreemapNode } from '../engine/shapes/types.cjs';
3
+ import { BulletDatum, CalendarDate, CalendarDatum, ChordGroup, ChordLink, GaugeBand, RadarIndicator, RadarSeries, RadialBarDatum, SankeyLink, SankeyNode, ShapeChartInstance, ShapeChartLabels, ShapeDatum, ShapeDrillEvent, ShapeHoverEvent, ShapeLegendOptions, ShapeToggleEvent, ShapeTooltipOptions, TreemapNode } from '../engine/shapes/types.cjs';
4
4
  /** Imperative handle of the shape chart components (`ref`) */
5
5
  export interface ShapeChartHandle {
6
6
  /** The underlying engine instance (minerva-design/charts/core) */
@@ -8,13 +8,13 @@ export interface ShapeChartHandle {
8
8
  }
9
9
  /**
10
10
  * Props shared by PieChart, DonutChart, RadarChart, GaugeChart, FunnelChart,
11
- * TreemapChart, SankeyChart, SunburstChart, RadialBarChart, CalendarHeatmap
12
- * and BulletChart
11
+ * TreemapChart, SankeyChart, SunburstChart, RadialBarChart, CalendarHeatmap,
12
+ * BulletChart and ChordChart
13
13
  */
14
14
  export interface ShapeChartCommonProps {
15
15
  /**
16
16
  * Height of the chart (the legend included); numbers are pixels
17
- * @default 320 (GaugeChart: 240, RadialBarChart: 300, CalendarHeatmap and BulletChart: from the data)
17
+ * @default 320 (GaugeChart: 240, RadialBarChart: 300, ChordChart: 420, CalendarHeatmap and BulletChart: from the data)
18
18
  */
19
19
  height?: number | string;
20
20
  /**
@@ -504,6 +504,85 @@ export interface BulletChartProps extends ShapeChartCommonProps {
504
504
  */
505
505
  ticks?: boolean;
506
506
  }
507
+ /** Props of ChordChart */
508
+ export interface ChordChartProps extends ShapeChartCommonProps {
509
+ /**
510
+ * Groups (names or `{ name, color }`), in their order around the circle;
511
+ * groups only named by `links` are appended. With `matrix`, unnamed rows
512
+ * are numbered from 1.
513
+ */
514
+ groups?: readonly (string | ChordGroup)[];
515
+ /** Square flow matrix: `matrix[i][j]` flows from group `i` to group `j` (used when `links` is absent) */
516
+ matrix?: readonly (readonly number[])[];
517
+ /** Flows as a list (by group name or index); takes precedence over `matrix` */
518
+ links?: readonly ChordLink[];
519
+ /**
520
+ * `false`: one ribbon per pair of groups, as wide as the flows between
521
+ * them in both directions (a symmetric matrix counts each relation once).
522
+ * `true`: one ribbon per direction, arcs sized by the outgoing plus the
523
+ * incoming flows (self flows ignored)
524
+ * @default false
525
+ */
526
+ directed?: boolean;
527
+ /**
528
+ * Arrowheads at the target end of the ribbons
529
+ * @default true when `directed`
530
+ */
531
+ arrows?: boolean;
532
+ /**
533
+ * Gap between the groups, in degrees
534
+ * @default 2
535
+ */
536
+ padAngle?: number;
537
+ /**
538
+ * Angle of the first group, degrees clockwise from 12 o'clock
539
+ * @default 0
540
+ */
541
+ startAngle?: number;
542
+ /**
543
+ * Order of the groups around the circle
544
+ * @default "none" (data order)
545
+ */
546
+ sortGroups?: "none" | "ascending" | "descending";
547
+ /**
548
+ * Order of the ribbon ends along an arc: `auto` minimizes the crossings;
549
+ * otherwise the order of the groups, or by value
550
+ * @default "auto"
551
+ */
552
+ sortSubgroups?: "auto" | "none" | "ascending" | "descending";
553
+ /**
554
+ * Color of the ribbons without `color`: a gradient from the source to the
555
+ * target color, one of the two, or a neutral gray
556
+ * @default "gradient"
557
+ */
558
+ ribbonColor?: "gradient" | "source" | "target" | "neutral";
559
+ /**
560
+ * Opacity of the ribbons, 0-1 (hovered ribbons are more opaque)
561
+ * @default 0.65
562
+ */
563
+ ribbonOpacity?: number;
564
+ /**
565
+ * Thickness of the group arcs, in pixels
566
+ * @default 6% of the radius (8-18 px)
567
+ */
568
+ arcWidth?: number;
569
+ /**
570
+ * Value ticks outside the arcs (labelled where there is room); a number sets the step between ticks
571
+ * @default true when the diagram is large enough
572
+ */
573
+ ticks?: boolean | number;
574
+ /**
575
+ * Formats the tick labels
576
+ * @default compact numbers of the `locale` (not `format`, whose units would crowd the ticks)
577
+ */
578
+ tickFormat?: (value: number) => string;
579
+ /**
580
+ * Group labels along the arc (`tangential`) or the radius (`radial`);
581
+ * `auto` picks tangential when every name fits; colliding labels are shortened or skipped
582
+ * @default "auto"
583
+ */
584
+ labels?: "auto" | "tangential" | "radial" | "none";
585
+ }
507
586
  /**
508
587
  * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with
509
588
  * `rose`): slices with gaps, outside labels with leader lines, legend toggles.
@@ -535,3 +614,8 @@ export declare function RadialBarChart(props: RadialBarChartProps): import('reac
535
614
  export declare function CalendarHeatmap(props: CalendarHeatmapProps): import('react').JSX.Element;
536
615
  /** Bullet chart: KPI bars against qualitative ranges and a target marker */
537
616
  export declare function BulletChart(props: BulletChartProps): import('react').JSX.Element;
617
+ /**
618
+ * Chord diagram: flows between groups around a circle; hovering a group
619
+ * highlights its ribbons, hovering a ribbon shows both directions
620
+ */
621
+ export declare function ChordChart(props: ChordChartProps): import('react').JSX.Element;
@@ -1,6 +1,6 @@
1
1
  import { CSSProperties, ReactNode, Ref } from 'react';
2
2
  import { ChartPadding } from '../engine/types.js';
3
- import { BulletDatum, CalendarDate, CalendarDatum, GaugeBand, RadarIndicator, RadarSeries, RadialBarDatum, SankeyLink, SankeyNode, ShapeChartInstance, ShapeChartLabels, ShapeDatum, ShapeDrillEvent, ShapeHoverEvent, ShapeLegendOptions, ShapeToggleEvent, ShapeTooltipOptions, TreemapNode } from '../engine/shapes/types.js';
3
+ import { BulletDatum, CalendarDate, CalendarDatum, ChordGroup, ChordLink, GaugeBand, RadarIndicator, RadarSeries, RadialBarDatum, SankeyLink, SankeyNode, ShapeChartInstance, ShapeChartLabels, ShapeDatum, ShapeDrillEvent, ShapeHoverEvent, ShapeLegendOptions, ShapeToggleEvent, ShapeTooltipOptions, TreemapNode } from '../engine/shapes/types.js';
4
4
  /** Imperative handle of the shape chart components (`ref`) */
5
5
  export interface ShapeChartHandle {
6
6
  /** The underlying engine instance (minerva-design/charts/core) */
@@ -8,13 +8,13 @@ export interface ShapeChartHandle {
8
8
  }
9
9
  /**
10
10
  * Props shared by PieChart, DonutChart, RadarChart, GaugeChart, FunnelChart,
11
- * TreemapChart, SankeyChart, SunburstChart, RadialBarChart, CalendarHeatmap
12
- * and BulletChart
11
+ * TreemapChart, SankeyChart, SunburstChart, RadialBarChart, CalendarHeatmap,
12
+ * BulletChart and ChordChart
13
13
  */
14
14
  export interface ShapeChartCommonProps {
15
15
  /**
16
16
  * Height of the chart (the legend included); numbers are pixels
17
- * @default 320 (GaugeChart: 240, RadialBarChart: 300, CalendarHeatmap and BulletChart: from the data)
17
+ * @default 320 (GaugeChart: 240, RadialBarChart: 300, ChordChart: 420, CalendarHeatmap and BulletChart: from the data)
18
18
  */
19
19
  height?: number | string;
20
20
  /**
@@ -504,6 +504,85 @@ export interface BulletChartProps extends ShapeChartCommonProps {
504
504
  */
505
505
  ticks?: boolean;
506
506
  }
507
+ /** Props of ChordChart */
508
+ export interface ChordChartProps extends ShapeChartCommonProps {
509
+ /**
510
+ * Groups (names or `{ name, color }`), in their order around the circle;
511
+ * groups only named by `links` are appended. With `matrix`, unnamed rows
512
+ * are numbered from 1.
513
+ */
514
+ groups?: readonly (string | ChordGroup)[];
515
+ /** Square flow matrix: `matrix[i][j]` flows from group `i` to group `j` (used when `links` is absent) */
516
+ matrix?: readonly (readonly number[])[];
517
+ /** Flows as a list (by group name or index); takes precedence over `matrix` */
518
+ links?: readonly ChordLink[];
519
+ /**
520
+ * `false`: one ribbon per pair of groups, as wide as the flows between
521
+ * them in both directions (a symmetric matrix counts each relation once).
522
+ * `true`: one ribbon per direction, arcs sized by the outgoing plus the
523
+ * incoming flows (self flows ignored)
524
+ * @default false
525
+ */
526
+ directed?: boolean;
527
+ /**
528
+ * Arrowheads at the target end of the ribbons
529
+ * @default true when `directed`
530
+ */
531
+ arrows?: boolean;
532
+ /**
533
+ * Gap between the groups, in degrees
534
+ * @default 2
535
+ */
536
+ padAngle?: number;
537
+ /**
538
+ * Angle of the first group, degrees clockwise from 12 o'clock
539
+ * @default 0
540
+ */
541
+ startAngle?: number;
542
+ /**
543
+ * Order of the groups around the circle
544
+ * @default "none" (data order)
545
+ */
546
+ sortGroups?: "none" | "ascending" | "descending";
547
+ /**
548
+ * Order of the ribbon ends along an arc: `auto` minimizes the crossings;
549
+ * otherwise the order of the groups, or by value
550
+ * @default "auto"
551
+ */
552
+ sortSubgroups?: "auto" | "none" | "ascending" | "descending";
553
+ /**
554
+ * Color of the ribbons without `color`: a gradient from the source to the
555
+ * target color, one of the two, or a neutral gray
556
+ * @default "gradient"
557
+ */
558
+ ribbonColor?: "gradient" | "source" | "target" | "neutral";
559
+ /**
560
+ * Opacity of the ribbons, 0-1 (hovered ribbons are more opaque)
561
+ * @default 0.65
562
+ */
563
+ ribbonOpacity?: number;
564
+ /**
565
+ * Thickness of the group arcs, in pixels
566
+ * @default 6% of the radius (8-18 px)
567
+ */
568
+ arcWidth?: number;
569
+ /**
570
+ * Value ticks outside the arcs (labelled where there is room); a number sets the step between ticks
571
+ * @default true when the diagram is large enough
572
+ */
573
+ ticks?: boolean | number;
574
+ /**
575
+ * Formats the tick labels
576
+ * @default compact numbers of the `locale` (not `format`, whose units would crowd the ticks)
577
+ */
578
+ tickFormat?: (value: number) => string;
579
+ /**
580
+ * Group labels along the arc (`tangential`) or the radius (`radial`);
581
+ * `auto` picks tangential when every name fits; colliding labels are shortened or skipped
582
+ * @default "auto"
583
+ */
584
+ labels?: "auto" | "tangential" | "radial" | "none";
585
+ }
507
586
  /**
508
587
  * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with
509
588
  * `rose`): slices with gaps, outside labels with leader lines, legend toggles.
@@ -535,3 +614,8 @@ export declare function RadialBarChart(props: RadialBarChartProps): import('reac
535
614
  export declare function CalendarHeatmap(props: CalendarHeatmapProps): import('react').JSX.Element;
536
615
  /** Bullet chart: KPI bars against qualitative ranges and a target marker */
537
616
  export declare function BulletChart(props: BulletChartProps): import('react').JSX.Element;
617
+ /**
618
+ * Chord diagram: flows between groups around a circle; hovering a group
619
+ * highlights its ribbons, hovering a ribbon shows both directions
620
+ */
621
+ export declare function ChordChart(props: ChordChartProps): import('react').JSX.Element;
@@ -131,7 +131,7 @@ function b(e) {
131
131
  d,
132
132
  f
133
133
  ]);
134
- return /* @__PURE__ */ u(A, {
134
+ return /* @__PURE__ */ u(j, {
135
135
  props: e,
136
136
  options: h,
137
137
  defaultHeight: 320
@@ -154,7 +154,7 @@ function x(e) {
154
154
  a,
155
155
  o
156
156
  ]);
157
- return /* @__PURE__ */ u(A, {
157
+ return /* @__PURE__ */ u(j, {
158
158
  props: e,
159
159
  options: c,
160
160
  defaultHeight: 320
@@ -187,7 +187,7 @@ function S(e) {
187
187
  d,
188
188
  f
189
189
  ]);
190
- return /* @__PURE__ */ u(A, {
190
+ return /* @__PURE__ */ u(j, {
191
191
  props: e,
192
192
  options: m,
193
193
  defaultHeight: 240
@@ -210,7 +210,7 @@ function C(e) {
210
210
  a,
211
211
  o
212
212
  ]);
213
- return /* @__PURE__ */ u(A, {
213
+ return /* @__PURE__ */ u(j, {
214
214
  props: e,
215
215
  options: c,
216
216
  defaultHeight: 320
@@ -229,7 +229,7 @@ function w(e) {
229
229
  n,
230
230
  r
231
231
  ]);
232
- return /* @__PURE__ */ u(A, {
232
+ return /* @__PURE__ */ u(j, {
233
233
  props: e,
234
234
  options: o,
235
235
  defaultHeight: 320
@@ -262,7 +262,7 @@ function T(e) {
262
262
  d,
263
263
  f
264
264
  ]);
265
- return /* @__PURE__ */ u(A, {
265
+ return /* @__PURE__ */ u(j, {
266
266
  props: e,
267
267
  options: m,
268
268
  defaultHeight: 360
@@ -293,7 +293,7 @@ function E(e) {
293
293
  l,
294
294
  h
295
295
  ]);
296
- return /* @__PURE__ */ u(A, {
296
+ return /* @__PURE__ */ u(j, {
297
297
  props: e,
298
298
  options: _,
299
299
  defaultHeight: 360,
@@ -331,7 +331,7 @@ function D(e) {
331
331
  p,
332
332
  m
333
333
  ]);
334
- return /* @__PURE__ */ u(A, {
334
+ return /* @__PURE__ */ u(j, {
335
335
  props: e,
336
336
  options: _,
337
337
  defaultHeight: 300
@@ -373,7 +373,7 @@ function O(t) {
373
373
  let t = y.legend === !1 ? 0 : 34;
374
374
  return a === "months" ? 560 : e(y) * 120 + t + 16;
375
375
  }, [y, a]);
376
- return /* @__PURE__ */ u(A, {
376
+ return /* @__PURE__ */ u(j, {
377
377
  props: t,
378
378
  options: y,
379
379
  defaultHeight: b
@@ -402,13 +402,56 @@ function k(e) {
402
402
  c,
403
403
  l
404
404
  ]), p = f.legend ? 34 : 0, m = n === "vertical" ? 320 : Math.max(96, t.length * 64 + 16) + p;
405
- return /* @__PURE__ */ u(A, {
405
+ return /* @__PURE__ */ u(j, {
406
406
  props: e,
407
407
  options: f,
408
408
  defaultHeight: m
409
409
  });
410
410
  }
411
- function A({ props: e, options: t, defaultHeight: n, onDrill: r }) {
411
+ function A(e) {
412
+ let { groups: t, matrix: n, links: r, directed: a, arrows: o, padAngle: s, startAngle: c, sortGroups: l, sortSubgroups: d, ribbonColor: f, ribbonOpacity: p, arcWidth: m, ticks: h, tickFormat: _, labels: v } = e, y = g(e), b = i(() => ({
413
+ ...y,
414
+ type: "chord",
415
+ groups: t,
416
+ matrix: n,
417
+ links: r,
418
+ directed: a,
419
+ arrows: o,
420
+ padAngle: s,
421
+ startAngle: c,
422
+ sortGroups: l,
423
+ sortSubgroups: d,
424
+ ribbonColor: f,
425
+ ribbonOpacity: p,
426
+ arcWidth: m,
427
+ ticks: h,
428
+ tickFormat: _,
429
+ labels: v
430
+ }), [
431
+ y,
432
+ t,
433
+ n,
434
+ r,
435
+ a,
436
+ o,
437
+ s,
438
+ c,
439
+ l,
440
+ d,
441
+ f,
442
+ p,
443
+ m,
444
+ h,
445
+ _,
446
+ v
447
+ ]);
448
+ return /* @__PURE__ */ u(j, {
449
+ props: e,
450
+ options: b,
451
+ defaultHeight: 420
452
+ });
453
+ }
454
+ function j({ props: e, options: t, defaultHeight: n, onDrill: r }) {
412
455
  return /* @__PURE__ */ u(_, {
413
456
  options: t,
414
457
  height: e.height ?? n,
@@ -424,6 +467,6 @@ function A({ props: e, options: t, defaultHeight: n, onDrill: r }) {
424
467
  });
425
468
  }
426
469
  //#endregion
427
- export { k as BulletChart, O as CalendarHeatmap, y as DonutChart, C as FunnelChart, S as GaugeChart, v as PieChart, x as RadarChart, D as RadialBarChart, T as SankeyChart, E as SunburstChart, w as TreemapChart };
470
+ export { k as BulletChart, O as CalendarHeatmap, A as ChordChart, y as DonutChart, C as FunnelChart, S as GaugeChart, v as PieChart, x as RadarChart, D as RadialBarChart, T as SankeyChart, E as SunburstChart, w as TreemapChart };
428
471
 
429
472
  //# sourceMappingURL=shapes.js.map