minerva-design 1.3.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1166) hide show
  1. package/CHANGELOG.md +9 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +7 -2
  8. package/dist/charts/canvas.d.ts +7 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +7 -4
  11. package/dist/charts/core.d.ts +7 -4
  12. package/dist/charts/core.js +19 -8
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +118 -68
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +307 -285
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.js +2 -2
  32. package/dist/charts/engine/color.js.map +1 -1
  33. package/dist/charts/engine/controller.cjs +1 -1
  34. package/dist/charts/engine/controller.cjs.map +1 -1
  35. package/dist/charts/engine/controller.d.cts +12 -3
  36. package/dist/charts/engine/controller.d.ts +12 -3
  37. package/dist/charts/engine/controller.js +359 -299
  38. package/dist/charts/engine/controller.js.map +1 -1
  39. package/dist/charts/engine/data.cjs +1 -1
  40. package/dist/charts/engine/data.cjs.map +1 -1
  41. package/dist/charts/engine/data.d.cts +6 -0
  42. package/dist/charts/engine/data.d.ts +6 -0
  43. package/dist/charts/engine/data.js +63 -49
  44. package/dist/charts/engine/data.js.map +1 -1
  45. package/dist/charts/engine/format.cjs +1 -1
  46. package/dist/charts/engine/format.cjs.map +1 -1
  47. package/dist/charts/engine/format.d.cts +21 -6
  48. package/dist/charts/engine/format.d.ts +21 -6
  49. package/dist/charts/engine/format.js +46 -21
  50. package/dist/charts/engine/format.js.map +1 -1
  51. package/dist/charts/engine/items.cjs +1 -1
  52. package/dist/charts/engine/items.cjs.map +1 -1
  53. package/dist/charts/engine/items.js +211 -54
  54. package/dist/charts/engine/items.js.map +1 -1
  55. package/dist/charts/engine/labels.cjs +2 -0
  56. package/dist/charts/engine/labels.cjs.map +1 -0
  57. package/dist/charts/engine/labels.d.cts +13 -0
  58. package/dist/charts/engine/labels.d.ts +13 -0
  59. package/dist/charts/engine/labels.js +74 -0
  60. package/dist/charts/engine/labels.js.map +1 -0
  61. package/dist/charts/engine/layout.cjs +1 -1
  62. package/dist/charts/engine/layout.cjs.map +1 -1
  63. package/dist/charts/engine/layout.d.cts +34 -2
  64. package/dist/charts/engine/layout.d.ts +34 -2
  65. package/dist/charts/engine/layout.js +53 -12
  66. package/dist/charts/engine/layout.js.map +1 -1
  67. package/dist/charts/engine/locale.cjs +2 -0
  68. package/dist/charts/engine/locale.cjs.map +1 -0
  69. package/dist/charts/engine/locale.d.cts +33 -0
  70. package/dist/charts/engine/locale.d.ts +33 -0
  71. package/dist/charts/engine/locale.js +68 -0
  72. package/dist/charts/engine/locale.js.map +1 -0
  73. package/dist/charts/engine/model.cjs +1 -1
  74. package/dist/charts/engine/model.cjs.map +1 -1
  75. package/dist/charts/engine/model.d.cts +39 -1
  76. package/dist/charts/engine/model.d.ts +39 -1
  77. package/dist/charts/engine/model.js +212 -105
  78. package/dist/charts/engine/model.js.map +1 -1
  79. package/dist/charts/engine/orderbook/book.cjs +2 -0
  80. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  81. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  82. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  83. package/dist/charts/engine/orderbook/book.js +134 -0
  84. package/dist/charts/engine/orderbook/book.js.map +1 -0
  85. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  86. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  87. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  88. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  89. package/dist/charts/engine/orderbook/depth.js +413 -0
  90. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  91. package/dist/charts/engine/orderbook/format.cjs +2 -0
  92. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  93. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  94. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  95. package/dist/charts/engine/orderbook/format.js +65 -0
  96. package/dist/charts/engine/orderbook/format.js.map +1 -0
  97. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  98. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  99. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  100. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  101. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  102. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  103. package/dist/charts/engine/orderbook/host.cjs +2 -0
  104. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  105. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  106. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  107. package/dist/charts/engine/orderbook/host.js +161 -0
  108. package/dist/charts/engine/orderbook/host.js.map +1 -0
  109. package/dist/charts/engine/orderbook/index.cjs +1 -0
  110. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  111. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  112. package/dist/charts/engine/orderbook/index.js +6 -0
  113. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  114. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  115. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  116. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  117. package/dist/charts/engine/orderbook/ladder.js +341 -0
  118. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  119. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  120. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  121. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  122. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  123. package/dist/charts/engine/orderbook/tape.js +450 -0
  124. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  125. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  126. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  127. package/dist/charts/engine/overlay.cjs +1 -1
  128. package/dist/charts/engine/overlay.cjs.map +1 -1
  129. package/dist/charts/engine/overlay.d.cts +18 -2
  130. package/dist/charts/engine/overlay.d.ts +18 -2
  131. package/dist/charts/engine/overlay.js +132 -96
  132. package/dist/charts/engine/overlay.js.map +1 -1
  133. package/dist/charts/engine/presets.cjs +2 -2
  134. package/dist/charts/engine/presets.cjs.map +1 -1
  135. package/dist/charts/engine/presets.d.cts +249 -1
  136. package/dist/charts/engine/presets.d.ts +249 -1
  137. package/dist/charts/engine/presets.js +367 -29
  138. package/dist/charts/engine/presets.js.map +1 -1
  139. package/dist/charts/engine/renderers/detect.cjs +1 -1
  140. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  141. package/dist/charts/engine/renderers/detect.js +18 -15
  142. package/dist/charts/engine/renderers/detect.js.map +1 -1
  143. package/dist/charts/engine/renderers/gl.cjs +2 -0
  144. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  145. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  146. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  147. package/dist/charts/engine/renderers/gl.js +56 -0
  148. package/dist/charts/engine/renderers/gl.js.map +1 -0
  149. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  150. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  151. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  152. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  153. package/dist/charts/engine/renderers/shaders.js +139 -1
  154. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  155. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  156. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  157. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  158. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  159. package/dist/charts/engine/renderers/webgl.js +133 -0
  160. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  161. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  162. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  163. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  164. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  165. package/dist/charts/engine/renderers/webgl2.js +59 -108
  166. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  167. package/dist/charts/engine/scale.cjs +1 -1
  168. package/dist/charts/engine/scale.cjs.map +1 -1
  169. package/dist/charts/engine/scale.js +1 -1
  170. package/dist/charts/engine/scale.js.map +1 -1
  171. package/dist/charts/engine/scene.cjs +1 -1
  172. package/dist/charts/engine/scene.cjs.map +1 -1
  173. package/dist/charts/engine/scene.d.cts +14 -4
  174. package/dist/charts/engine/scene.d.ts +14 -4
  175. package/dist/charts/engine/scene.js +292 -163
  176. package/dist/charts/engine/scene.js.map +1 -1
  177. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  178. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  179. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  180. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  181. package/dist/charts/engine/shapes/bullet.js +255 -0
  182. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  183. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  184. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  185. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  186. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  187. package/dist/charts/engine/shapes/calendar.js +369 -0
  188. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  189. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  190. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  191. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  192. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  193. package/dist/charts/engine/shapes/canvas.js +22 -13
  194. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  195. package/dist/charts/engine/shapes/chart.cjs +1 -1
  196. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  197. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  198. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  199. package/dist/charts/engine/shapes/chart.js +45 -26
  200. package/dist/charts/engine/shapes/chart.js.map +1 -1
  201. package/dist/charts/engine/shapes/draw.cjs +1 -1
  202. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  203. package/dist/charts/engine/shapes/draw.d.cts +3 -1
  204. package/dist/charts/engine/shapes/draw.d.ts +3 -1
  205. package/dist/charts/engine/shapes/draw.js +31 -18
  206. package/dist/charts/engine/shapes/draw.js.map +1 -1
  207. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  208. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  209. package/dist/charts/engine/shapes/funnel.js +3 -3
  210. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  211. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  212. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  213. package/dist/charts/engine/shapes/gauge.js +132 -95
  214. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  215. package/dist/charts/engine/shapes/hit.cjs +1 -1
  216. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  217. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  218. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  219. package/dist/charts/engine/shapes/hit.js +29 -8
  220. package/dist/charts/engine/shapes/hit.js.map +1 -1
  221. package/dist/charts/engine/shapes/index.d.cts +4 -1
  222. package/dist/charts/engine/shapes/index.d.ts +4 -1
  223. package/dist/charts/engine/shapes/labels.cjs +2 -0
  224. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  225. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  226. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  227. package/dist/charts/engine/shapes/labels.js +146 -0
  228. package/dist/charts/engine/shapes/labels.js.map +1 -0
  229. package/dist/charts/engine/shapes/layout.cjs +2 -2
  230. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  231. package/dist/charts/engine/shapes/layout.d.cts +8 -3
  232. package/dist/charts/engine/shapes/layout.d.ts +8 -3
  233. package/dist/charts/engine/shapes/layout.js +200 -113
  234. package/dist/charts/engine/shapes/layout.js.map +1 -1
  235. package/dist/charts/engine/shapes/pie.cjs +1 -1
  236. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  237. package/dist/charts/engine/shapes/pie.js +2 -2
  238. package/dist/charts/engine/shapes/pie.js.map +1 -1
  239. package/dist/charts/engine/shapes/radar.cjs +1 -1
  240. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  241. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  242. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  243. package/dist/charts/engine/shapes/radar.js +50 -49
  244. package/dist/charts/engine/shapes/radar.js.map +1 -1
  245. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  246. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  247. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  248. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  249. package/dist/charts/engine/shapes/radialBar.js +155 -0
  250. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  251. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  252. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  253. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  254. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  255. package/dist/charts/engine/shapes/runtime.js +61 -51
  256. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  257. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  258. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  260. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  261. package/dist/charts/engine/shapes/sankey.js +372 -0
  262. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  263. package/dist/charts/engine/shapes/scene.cjs +1 -1
  264. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  265. package/dist/charts/engine/shapes/scene.d.cts +62 -8
  266. package/dist/charts/engine/shapes/scene.d.ts +62 -8
  267. package/dist/charts/engine/shapes/scene.js +33 -31
  268. package/dist/charts/engine/shapes/scene.js.map +1 -1
  269. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  270. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  272. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  273. package/dist/charts/engine/shapes/sunburst.js +261 -0
  274. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  275. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  276. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/treemap.js +2 -2
  278. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  279. package/dist/charts/engine/shapes/types.d.cts +439 -12
  280. package/dist/charts/engine/shapes/types.d.ts +439 -12
  281. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  282. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  283. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  284. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  285. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  286. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  287. package/dist/charts/engine/three-d/chart.cjs +2 -0
  288. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  289. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  290. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  291. package/dist/charts/engine/three-d/chart.js +621 -0
  292. package/dist/charts/engine/three-d/chart.js.map +1 -0
  293. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  294. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  295. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  296. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  297. package/dist/charts/engine/three-d/colormap.js +166 -0
  298. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  299. package/dist/charts/engine/three-d/contours.cjs +2 -0
  300. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  301. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  302. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  303. package/dist/charts/engine/three-d/contours.js +47 -0
  304. package/dist/charts/engine/three-d/contours.js.map +1 -0
  305. package/dist/charts/engine/three-d/detect.cjs +2 -0
  306. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  307. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  308. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  309. package/dist/charts/engine/three-d/detect.js +35 -0
  310. package/dist/charts/engine/three-d/detect.js.map +1 -0
  311. package/dist/charts/engine/three-d/dom.cjs +2 -0
  312. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  313. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  314. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  315. package/dist/charts/engine/three-d/dom.js +98 -0
  316. package/dist/charts/engine/three-d/dom.js.map +1 -0
  317. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  318. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  319. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  320. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  321. package/dist/charts/engine/three-d/geometry.js +529 -0
  322. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  323. package/dist/charts/engine/three-d/hover.cjs +2 -0
  324. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  325. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  326. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  327. package/dist/charts/engine/three-d/hover.js +131 -0
  328. package/dist/charts/engine/three-d/hover.js.map +1 -0
  329. package/dist/charts/engine/three-d/index.cjs +1 -0
  330. package/dist/charts/engine/three-d/index.d.cts +2 -0
  331. package/dist/charts/engine/three-d/index.d.ts +2 -0
  332. package/dist/charts/engine/three-d/index.js +2 -0
  333. package/dist/charts/engine/three-d/labels.cjs +2 -0
  334. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  336. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  337. package/dist/charts/engine/three-d/labels.js +136 -0
  338. package/dist/charts/engine/three-d/labels.js.map +1 -0
  339. package/dist/charts/engine/three-d/math.cjs +2 -0
  340. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  341. package/dist/charts/engine/three-d/math.d.cts +84 -0
  342. package/dist/charts/engine/three-d/math.d.ts +84 -0
  343. package/dist/charts/engine/three-d/math.js +150 -0
  344. package/dist/charts/engine/three-d/math.js.map +1 -0
  345. package/dist/charts/engine/three-d/model.cjs +2 -0
  346. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  347. package/dist/charts/engine/three-d/model.d.cts +130 -0
  348. package/dist/charts/engine/three-d/model.d.ts +130 -0
  349. package/dist/charts/engine/three-d/model.js +277 -0
  350. package/dist/charts/engine/three-d/model.js.map +1 -0
  351. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  352. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  353. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  354. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  355. package/dist/charts/engine/three-d/overlay.js +197 -0
  356. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  357. package/dist/charts/engine/three-d/pick.cjs +2 -0
  358. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  359. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  360. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  361. package/dist/charts/engine/three-d/pick.js +220 -0
  362. package/dist/charts/engine/three-d/pick.js.map +1 -0
  363. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  364. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  365. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  366. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  367. package/dist/charts/engine/three-d/render-types.js +13 -0
  368. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  369. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  370. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  371. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  372. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  373. package/dist/charts/engine/three-d/shaders.js +191 -0
  374. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  375. package/dist/charts/engine/three-d/sort.cjs +2 -0
  376. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  377. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  378. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  379. package/dist/charts/engine/three-d/sort.js +71 -0
  380. package/dist/charts/engine/three-d/sort.js.map +1 -0
  381. package/dist/charts/engine/three-d/types.d.cts +588 -0
  382. package/dist/charts/engine/three-d/types.d.ts +588 -0
  383. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  384. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  386. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  387. package/dist/charts/engine/three-d/webgl.js +130 -0
  388. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  389. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  390. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  392. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  393. package/dist/charts/engine/three-d/webgpu.js +249 -0
  394. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  395. package/dist/charts/engine/time.cjs +1 -1
  396. package/dist/charts/engine/time.cjs.map +1 -1
  397. package/dist/charts/engine/time.d.cts +13 -4
  398. package/dist/charts/engine/time.d.ts +13 -4
  399. package/dist/charts/engine/time.js +156 -91
  400. package/dist/charts/engine/time.js.map +1 -1
  401. package/dist/charts/engine/trading/chart.cjs +2 -0
  402. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  403. package/dist/charts/engine/trading/chart.d.cts +3 -0
  404. package/dist/charts/engine/trading/chart.d.ts +3 -0
  405. package/dist/charts/engine/trading/chart.js +1507 -0
  406. package/dist/charts/engine/trading/chart.js.map +1 -0
  407. package/dist/charts/engine/trading/drawings.cjs +2 -0
  408. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  409. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  410. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  411. package/dist/charts/engine/trading/drawings.js +160 -0
  412. package/dist/charts/engine/trading/drawings.js.map +1 -0
  413. package/dist/charts/engine/trading/format.cjs +2 -0
  414. package/dist/charts/engine/trading/format.cjs.map +1 -0
  415. package/dist/charts/engine/trading/format.d.cts +60 -0
  416. package/dist/charts/engine/trading/format.d.ts +60 -0
  417. package/dist/charts/engine/trading/format.js +131 -0
  418. package/dist/charts/engine/trading/format.js.map +1 -0
  419. package/dist/charts/engine/trading/geometry.cjs +2 -0
  420. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  421. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  422. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  423. package/dist/charts/engine/trading/geometry.js +131 -0
  424. package/dist/charts/engine/trading/geometry.js.map +1 -0
  425. package/dist/charts/engine/trading/index.cjs +1 -0
  426. package/dist/charts/engine/trading/index.d.cts +3 -0
  427. package/dist/charts/engine/trading/index.d.ts +3 -0
  428. package/dist/charts/engine/trading/index.js +3 -0
  429. package/dist/charts/engine/trading/indicators.cjs +2 -0
  430. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  431. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  432. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  433. package/dist/charts/engine/trading/indicators.js +268 -0
  434. package/dist/charts/engine/trading/indicators.js.map +1 -0
  435. package/dist/charts/engine/trading/labels.cjs +2 -0
  436. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  437. package/dist/charts/engine/trading/labels.d.cts +7 -0
  438. package/dist/charts/engine/trading/labels.d.ts +7 -0
  439. package/dist/charts/engine/trading/labels.js +91 -0
  440. package/dist/charts/engine/trading/labels.js.map +1 -0
  441. package/dist/charts/engine/trading/scale.cjs +2 -0
  442. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  443. package/dist/charts/engine/trading/scale.d.cts +46 -0
  444. package/dist/charts/engine/trading/scale.d.ts +46 -0
  445. package/dist/charts/engine/trading/scale.js +100 -0
  446. package/dist/charts/engine/trading/scale.js.map +1 -0
  447. package/dist/charts/engine/trading/store.cjs +2 -0
  448. package/dist/charts/engine/trading/store.cjs.map +1 -0
  449. package/dist/charts/engine/trading/store.d.cts +62 -0
  450. package/dist/charts/engine/trading/store.d.ts +62 -0
  451. package/dist/charts/engine/trading/store.js +129 -0
  452. package/dist/charts/engine/trading/store.js.map +1 -0
  453. package/dist/charts/engine/trading/studies.cjs +2 -0
  454. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  455. package/dist/charts/engine/trading/studies.d.cts +52 -0
  456. package/dist/charts/engine/trading/studies.d.ts +52 -0
  457. package/dist/charts/engine/trading/studies.js +254 -0
  458. package/dist/charts/engine/trading/studies.js.map +1 -0
  459. package/dist/charts/engine/trading/types.d.cts +656 -0
  460. package/dist/charts/engine/trading/types.d.ts +656 -0
  461. package/dist/charts/engine/types.d.cts +165 -14
  462. package/dist/charts/engine/types.d.ts +165 -14
  463. package/dist/charts/index.cjs +1 -1
  464. package/dist/charts/index.d.cts +7 -4
  465. package/dist/charts/index.d.ts +7 -4
  466. package/dist/charts/index.js +22 -11
  467. package/dist/charts/react/Chart.cjs +1 -1
  468. package/dist/charts/react/Chart.cjs.map +1 -1
  469. package/dist/charts/react/Chart.d.cts +4 -4
  470. package/dist/charts/react/Chart.d.ts +4 -4
  471. package/dist/charts/react/Chart.js +5 -1
  472. package/dist/charts/react/Chart.js.map +1 -1
  473. package/dist/charts/react/charts.cjs +1 -1
  474. package/dist/charts/react/charts.cjs.map +1 -1
  475. package/dist/charts/react/charts.d.cts +39 -1
  476. package/dist/charts/react/charts.d.ts +39 -1
  477. package/dist/charts/react/charts.js +303 -131
  478. package/dist/charts/react/charts.js.map +1 -1
  479. package/dist/charts/react/orderbook.cjs +2 -0
  480. package/dist/charts/react/orderbook.cjs.map +1 -0
  481. package/dist/charts/react/orderbook.d.cts +142 -0
  482. package/dist/charts/react/orderbook.d.ts +142 -0
  483. package/dist/charts/react/orderbook.js +182 -0
  484. package/dist/charts/react/orderbook.js.map +1 -0
  485. package/dist/charts/react/shapes.cjs +1 -1
  486. package/dist/charts/react/shapes.cjs.map +1 -1
  487. package/dist/charts/react/shapes.d.cts +291 -9
  488. package/dist/charts/react/shapes.d.ts +291 -9
  489. package/dist/charts/react/shapes.js +280 -93
  490. package/dist/charts/react/shapes.js.map +1 -1
  491. package/dist/charts/react/three-d.cjs +2 -0
  492. package/dist/charts/react/three-d.cjs.map +1 -0
  493. package/dist/charts/react/three-d.d.cts +151 -0
  494. package/dist/charts/react/three-d.d.ts +151 -0
  495. package/dist/charts/react/three-d.js +154 -0
  496. package/dist/charts/react/three-d.js.map +1 -0
  497. package/dist/charts/react/trading.cjs +2 -0
  498. package/dist/charts/react/trading.cjs.map +1 -0
  499. package/dist/charts/react/trading.d.cts +93 -0
  500. package/dist/charts/react/trading.d.ts +93 -0
  501. package/dist/charts/react/trading.js +95 -0
  502. package/dist/charts/react/trading.js.map +1 -0
  503. package/dist/charts/react/types.d.cts +132 -8
  504. package/dist/charts/react/types.d.ts +132 -8
  505. package/dist/core/contracts.cjs +1 -1
  506. package/dist/core/contracts.cjs.map +1 -1
  507. package/dist/core/contracts.js +1 -1
  508. package/dist/core/contracts.js.map +1 -1
  509. package/dist/native/charts/src/canvas.cjs +1 -1
  510. package/dist/native/charts/src/canvas.js +9 -3
  511. package/dist/native/charts/src/engine/axis.cjs +1 -1
  512. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  513. package/dist/native/charts/src/engine/axis.js +6 -6
  514. package/dist/native/charts/src/engine/axis.js.map +1 -1
  515. package/dist/native/charts/src/engine/controller.cjs +1 -1
  516. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  517. package/dist/native/charts/src/engine/controller.js +352 -292
  518. package/dist/native/charts/src/engine/controller.js.map +1 -1
  519. package/dist/native/charts/src/engine/data.cjs +1 -1
  520. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  521. package/dist/native/charts/src/engine/data.js +63 -49
  522. package/dist/native/charts/src/engine/data.js.map +1 -1
  523. package/dist/native/charts/src/engine/format.cjs +1 -1
  524. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  525. package/dist/native/charts/src/engine/format.js +46 -21
  526. package/dist/native/charts/src/engine/format.js.map +1 -1
  527. package/dist/native/charts/src/engine/labels.cjs +2 -0
  528. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  529. package/dist/native/charts/src/engine/labels.js +74 -0
  530. package/dist/native/charts/src/engine/labels.js.map +1 -0
  531. package/dist/native/charts/src/engine/layout.cjs +1 -1
  532. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  533. package/dist/native/charts/src/engine/layout.js +53 -12
  534. package/dist/native/charts/src/engine/layout.js.map +1 -1
  535. package/dist/native/charts/src/engine/locale.cjs +2 -0
  536. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  537. package/dist/native/charts/src/engine/locale.js +60 -0
  538. package/dist/native/charts/src/engine/locale.js.map +1 -0
  539. package/dist/native/charts/src/engine/model.cjs +1 -1
  540. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  541. package/dist/native/charts/src/engine/model.js +223 -116
  542. package/dist/native/charts/src/engine/model.js.map +1 -1
  543. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  544. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  545. package/dist/native/charts/src/engine/overlay.js +46 -23
  546. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  547. package/dist/native/charts/src/engine/presets.cjs +2 -2
  548. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  549. package/dist/native/charts/src/engine/presets.js +448 -33
  550. package/dist/native/charts/src/engine/presets.js.map +1 -1
  551. package/dist/native/charts/src/engine/scale.cjs +1 -1
  552. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  553. package/dist/native/charts/src/engine/scale.js +1 -1
  554. package/dist/native/charts/src/engine/scale.js.map +1 -1
  555. package/dist/native/charts/src/engine/scene.cjs +1 -1
  556. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  557. package/dist/native/charts/src/engine/scene.js +296 -167
  558. package/dist/native/charts/src/engine/scene.js.map +1 -1
  559. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  560. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  561. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  562. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  563. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  564. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  565. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  566. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  567. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  568. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  569. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  570. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  571. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  572. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  573. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  574. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  575. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  576. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  577. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  578. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  579. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  580. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  581. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  582. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  583. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  584. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  585. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  586. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  587. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  588. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  589. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  590. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  591. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  592. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  593. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  594. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  595. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  596. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  597. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  598. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  599. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  600. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  601. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  602. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  603. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  604. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  605. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  606. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  607. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  608. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  609. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  610. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  611. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  612. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  613. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  614. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  615. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  616. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  617. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  618. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  620. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  622. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  624. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  626. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  627. package/dist/native/charts/src/engine/time.cjs +1 -1
  628. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/time.js +156 -91
  630. package/dist/native/charts/src/engine/time.js.map +1 -1
  631. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  632. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  633. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  634. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  635. package/dist/native/components/Chart/ChartBase.js +110 -107
  636. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  637. package/dist/native/components/Chart/charts.cjs +1 -1
  638. package/dist/native/components/Chart/charts.cjs.map +1 -1
  639. package/dist/native/components/Chart/charts.d.cts +6 -1
  640. package/dist/native/components/Chart/charts.d.ts +6 -1
  641. package/dist/native/components/Chart/charts.js +53 -29
  642. package/dist/native/components/Chart/charts.js.map +1 -1
  643. package/dist/native/components/Chart/index.cjs +1 -1
  644. package/dist/native/components/Chart/index.d.cts +1 -1
  645. package/dist/native/components/Chart/index.d.ts +1 -1
  646. package/dist/native/components/Chart/index.js +2 -2
  647. package/dist/native/components/Chart/scene.cjs +1 -1
  648. package/dist/native/components/Chart/scene.cjs.map +1 -1
  649. package/dist/native/components/Chart/scene.js +234 -217
  650. package/dist/native/components/Chart/scene.js.map +1 -1
  651. package/dist/native/components/Chart/types.d.cts +26 -3
  652. package/dist/native/components/Chart/types.d.ts +26 -3
  653. package/dist/native/components/Charts/charts.cjs +2 -0
  654. package/dist/native/components/Charts/charts.cjs.map +1 -0
  655. package/dist/native/components/Charts/charts.d.cts +41 -0
  656. package/dist/native/components/Charts/charts.d.ts +41 -0
  657. package/dist/native/components/Charts/charts.js +338 -0
  658. package/dist/native/components/Charts/charts.js.map +1 -0
  659. package/dist/native/components/Charts/index.cjs +1 -0
  660. package/dist/native/components/Charts/index.d.cts +2 -0
  661. package/dist/native/components/Charts/index.d.ts +2 -0
  662. package/dist/native/components/Charts/index.js +2 -0
  663. package/dist/native/components/Charts/types.d.cts +144 -0
  664. package/dist/native/components/Charts/types.d.ts +144 -0
  665. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  666. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  667. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  668. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  669. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  670. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  671. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  672. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  673. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  674. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  675. package/dist/native/components/ShapeChart/charts.js +387 -0
  676. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  677. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  678. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  679. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  680. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  681. package/dist/native/components/ShapeChart/draw.js +104 -0
  682. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  683. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  684. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  685. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  686. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  687. package/dist/native/components/ShapeChart/geometry.js +602 -0
  688. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  689. package/dist/native/components/ShapeChart/index.cjs +1 -0
  690. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  691. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  692. package/dist/native/components/ShapeChart/index.js +2 -0
  693. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  694. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  695. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  696. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  697. package/dist/native/components/ShapeChart/recorder.js +574 -0
  698. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  699. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  700. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  701. package/dist/native/index.cjs +1 -1
  702. package/dist/native/index.d.cts +2 -0
  703. package/dist/native/index.d.ts +2 -0
  704. package/dist/native/index.js +14 -10
  705. package/dist/native/manifest.d.cts +6 -4
  706. package/dist/native/manifest.d.ts +6 -4
  707. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  708. package/dist/native/source/components/Chart/charts.tsx +42 -6
  709. package/dist/native/source/components/Chart/index.ts +1 -0
  710. package/dist/native/source/components/Chart/scene.tsx +154 -84
  711. package/dist/native/source/components/Chart/types.ts +31 -1
  712. package/dist/native/source/components/Charts/charts.tsx +493 -0
  713. package/dist/native/source/components/Charts/index.ts +14 -0
  714. package/dist/native/source/components/Charts/types.ts +207 -0
  715. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  716. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  717. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  718. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  719. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  720. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  721. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  722. package/dist/native/source/index.ts +2 -0
  723. package/dist/native/source/manifest.ts +30 -4
  724. package/dist/taro/charts.d.ts +209 -4
  725. package/dist/taro/index.d.ts +1 -0
  726. package/dist/taro/index.js +7517 -1856
  727. package/dist/taro/manifest.d.ts +1 -0
  728. package/dist/taro/shape-charts.d.ts +537 -0
  729. package/dist/uni/AreaChart.vue +68 -0
  730. package/dist/uni/AreaChart.vue.d.ts +120 -0
  731. package/dist/uni/Badge.vue.d.ts +1 -1
  732. package/dist/uni/BoxPlotChart.vue +66 -0
  733. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  734. package/dist/uni/BubbleChart.vue +68 -0
  735. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  736. package/dist/uni/BulletChart.vue +86 -0
  737. package/dist/uni/BulletChart.vue.d.ts +110 -0
  738. package/dist/uni/CalendarHeatmap.vue +92 -0
  739. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  740. package/dist/uni/CandlestickChart.vue +66 -0
  741. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  742. package/dist/uni/DonutChart.vue +72 -0
  743. package/dist/uni/DonutChart.vue.d.ts +114 -0
  744. package/dist/uni/FunnelChart.vue +67 -0
  745. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  746. package/dist/uni/GanttChart.vue +67 -0
  747. package/dist/uni/GanttChart.vue.d.ts +123 -0
  748. package/dist/uni/GaugeChart.vue +77 -0
  749. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  750. package/dist/uni/HeatmapChart.vue +66 -0
  751. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  752. package/dist/uni/HistogramChart.vue +66 -0
  753. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  754. package/dist/uni/HorizontalBarChart.vue +68 -0
  755. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  756. package/dist/uni/Input.vue.d.ts +1 -1
  757. package/dist/uni/MixedChart.vue +68 -0
  758. package/dist/uni/MixedChart.vue.d.ts +106 -0
  759. package/dist/uni/NumberInput.vue.d.ts +1 -1
  760. package/dist/uni/PieChart.vue +72 -0
  761. package/dist/uni/PieChart.vue.d.ts +114 -0
  762. package/dist/uni/RadarChart.vue +67 -0
  763. package/dist/uni/RadarChart.vue.d.ts +110 -0
  764. package/dist/uni/RadialBarChart.vue +90 -0
  765. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  766. package/dist/uni/RangeAreaChart.vue +68 -0
  767. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  768. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  769. package/dist/uni/SankeyChart.vue +88 -0
  770. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  771. package/dist/uni/ShapeChart.vue +73 -0
  772. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  773. package/dist/uni/Sparkline.vue +58 -0
  774. package/dist/uni/Sparkline.vue.d.ts +77 -0
  775. package/dist/uni/SunburstChart.vue +90 -0
  776. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  777. package/dist/uni/Textarea.vue.d.ts +1 -1
  778. package/dist/uni/TimePicker.vue.d.ts +1 -1
  779. package/dist/uni/TreemapChart.vue +65 -0
  780. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  781. package/dist/uni/WaterfallChart.vue +66 -0
  782. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  783. package/dist/uni/chart-types.d.ts +216 -2
  784. package/dist/uni/chart-types.js +174 -0
  785. package/dist/uni/charts-canvas.js +8 -3
  786. package/dist/uni/index.d.ts +26 -1
  787. package/dist/uni/index.js +26 -1
  788. package/dist/uni/manifest.d.ts +272 -0
  789. package/dist/uni/manifest.js +387 -0
  790. package/dist/uni/named-chart-options.d.ts +88 -0
  791. package/dist/uni/named-chart-options.js +156 -0
  792. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  793. package/dist/uni/shape-chart-canvas.js +342 -0
  794. package/dist/uni/shape-chart-types.d.ts +381 -0
  795. package/dist/uni/shape-chart-types.js +261 -0
  796. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  797. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  798. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  799. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  800. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  801. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  802. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  803. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  804. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  805. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  806. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  807. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  808. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  809. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  810. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  811. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  812. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  813. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  814. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  815. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  816. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  817. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  818. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  819. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  820. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  821. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  822. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  823. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  824. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  825. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  826. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  827. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  828. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  829. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  830. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  831. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  832. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  833. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  834. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  835. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  836. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  837. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  838. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  839. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  840. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  841. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  842. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  843. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  844. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  845. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  846. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  847. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  848. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  849. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  850. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  851. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  852. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  853. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  854. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  855. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  856. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  857. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  860. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  865. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  867. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  870. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  872. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  875. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  877. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  880. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  882. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  885. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  887. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  888. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  890. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  892. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  895. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  897. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  898. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  900. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  902. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  903. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  905. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  912. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  915. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  917. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  920. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  922. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  925. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  927. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  930. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  935. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  940. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  942. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  945. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  947. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  950. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  952. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  953. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  955. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  957. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  958. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  960. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  962. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  963. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  965. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  967. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  968. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  970. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  972. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  975. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  977. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  980. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  982. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  985. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  987. package/dist/vue/components/Chart/cartesian.js +56 -0
  988. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  989. package/dist/vue/components/Chart/engine.d.ts +35 -0
  990. package/dist/vue/components/Chart/engine.js +35 -0
  991. package/dist/vue/components/Chart/engine.js.map +1 -0
  992. package/dist/vue/components/Chart/index.d.ts +41 -0
  993. package/dist/vue/components/Chart/index.js +40 -0
  994. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  995. package/dist/vue/components/Chart/orderbook.js +126 -0
  996. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  997. package/dist/vue/components/Chart/props.d.ts +188 -0
  998. package/dist/vue/components/Chart/props.js +92 -0
  999. package/dist/vue/components/Chart/props.js.map +1 -0
  1000. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1001. package/dist/vue/components/Chart/shape.js +42 -0
  1002. package/dist/vue/components/Chart/shape.js.map +1 -0
  1003. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1004. package/dist/vue/components/Chart/three-d.js +88 -0
  1005. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1006. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1007. package/dist/vue/components/Chart/trading.js +55 -0
  1008. package/dist/vue/components/Chart/trading.js.map +1 -0
  1009. package/dist/vue/components/Chart/types.d.ts +137 -0
  1010. package/dist/vue/global.d.ts +38 -0
  1011. package/dist/vue/groups/charts.d.ts +1 -0
  1012. package/dist/vue/groups/charts.js +87 -0
  1013. package/dist/vue/groups/charts.js.map +1 -0
  1014. package/dist/vue/index.d.ts +1 -0
  1015. package/dist/vue/index.js +63 -23
  1016. package/dist/vue/plugin.js +12 -10
  1017. package/dist/vue/plugin.js.map +1 -1
  1018. package/dist/weapp/area-chart/index.js +1 -0
  1019. package/dist/weapp/area-chart/index.json +1 -0
  1020. package/dist/weapp/area-chart/index.wxml +1 -0
  1021. package/dist/weapp/area-chart/index.wxss +1 -0
  1022. package/dist/weapp/box-plot-chart/index.js +1 -0
  1023. package/dist/weapp/box-plot-chart/index.json +1 -0
  1024. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1025. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1026. package/dist/weapp/bubble-chart/index.js +1 -0
  1027. package/dist/weapp/bubble-chart/index.json +1 -0
  1028. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1029. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1030. package/dist/weapp/bullet-chart/index.js +1 -0
  1031. package/dist/weapp/bullet-chart/index.json +1 -0
  1032. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1033. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1034. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1035. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1036. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1037. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1038. package/dist/weapp/candlestick-chart/index.js +1 -0
  1039. package/dist/weapp/candlestick-chart/index.json +1 -0
  1040. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1041. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1042. package/dist/weapp/charts/canvas.js +11436 -0
  1043. package/dist/weapp/charts/core.d.ts +2 -0
  1044. package/dist/weapp/charts/core.js +41 -0
  1045. package/dist/weapp/controls.js +1433 -4478
  1046. package/dist/weapp/donut-chart/index.js +1 -0
  1047. package/dist/weapp/donut-chart/index.json +1 -0
  1048. package/dist/weapp/donut-chart/index.wxml +1 -0
  1049. package/dist/weapp/donut-chart/index.wxss +1 -0
  1050. package/dist/weapp/funnel-chart/index.js +1 -0
  1051. package/dist/weapp/funnel-chart/index.json +1 -0
  1052. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1053. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1054. package/dist/weapp/gantt-chart/index.js +1 -0
  1055. package/dist/weapp/gantt-chart/index.json +1 -0
  1056. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1057. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1058. package/dist/weapp/gauge-chart/index.js +1 -0
  1059. package/dist/weapp/gauge-chart/index.json +1 -0
  1060. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1061. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1062. package/dist/weapp/heatmap-chart/index.js +1 -0
  1063. package/dist/weapp/heatmap-chart/index.json +1 -0
  1064. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1065. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1066. package/dist/weapp/histogram-chart/index.js +1 -0
  1067. package/dist/weapp/histogram-chart/index.json +1 -0
  1068. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1069. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1070. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1071. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1072. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1073. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1074. package/dist/weapp/mixed-chart/index.js +1 -0
  1075. package/dist/weapp/mixed-chart/index.json +1 -0
  1076. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1077. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1078. package/dist/weapp/pie-chart/index.js +1 -0
  1079. package/dist/weapp/pie-chart/index.json +1 -0
  1080. package/dist/weapp/pie-chart/index.wxml +1 -0
  1081. package/dist/weapp/pie-chart/index.wxss +1 -0
  1082. package/dist/weapp/radar-chart/index.js +1 -0
  1083. package/dist/weapp/radar-chart/index.json +1 -0
  1084. package/dist/weapp/radar-chart/index.wxml +1 -0
  1085. package/dist/weapp/radar-chart/index.wxss +1 -0
  1086. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1087. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1088. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1089. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1090. package/dist/weapp/range-area-chart/index.js +1 -0
  1091. package/dist/weapp/range-area-chart/index.json +1 -0
  1092. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1093. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1094. package/dist/weapp/sankey-chart/index.js +1 -0
  1095. package/dist/weapp/sankey-chart/index.json +1 -0
  1096. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1097. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1098. package/dist/weapp/shape-chart/index.js +1 -0
  1099. package/dist/weapp/shape-chart/index.json +1 -0
  1100. package/dist/weapp/shape-chart/index.wxml +1 -0
  1101. package/dist/weapp/shape-chart/index.wxss +1 -0
  1102. package/dist/weapp/sparkline/index.js +1 -0
  1103. package/dist/weapp/sparkline/index.json +1 -0
  1104. package/dist/weapp/sparkline/index.wxml +1 -0
  1105. package/dist/weapp/sparkline/index.wxss +1 -0
  1106. package/dist/weapp/sunburst-chart/index.js +1 -0
  1107. package/dist/weapp/sunburst-chart/index.json +1 -0
  1108. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1109. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1110. package/dist/weapp/treemap-chart/index.js +1 -0
  1111. package/dist/weapp/treemap-chart/index.json +1 -0
  1112. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1113. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1114. package/dist/weapp/types.d.ts +466 -0
  1115. package/dist/weapp/waterfall-chart/index.js +1 -0
  1116. package/dist/weapp/waterfall-chart/index.json +1 -0
  1117. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1118. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1119. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1120. package/dist/web-components/components/chart/chart.js +55 -0
  1121. package/dist/web-components/components/chart/chart.js.map +1 -0
  1122. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1123. package/dist/web-components/components/chart/charts.js +201 -0
  1124. package/dist/web-components/components/chart/charts.js.map +1 -0
  1125. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1126. package/dist/web-components/components/chart/engine-element.js +77 -0
  1127. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1128. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1129. package/dist/web-components/components/chart/extended.js +183 -0
  1130. package/dist/web-components/components/chart/extended.js.map +1 -0
  1131. package/dist/web-components/components/chart/series.d.ts +7 -0
  1132. package/dist/web-components/components/chart/series.js +14 -0
  1133. package/dist/web-components/components/chart/series.js.map +1 -0
  1134. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1135. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1136. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1137. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1138. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1139. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1140. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1141. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1142. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1143. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1144. package/dist/web-components/components/order-book/order-book.js +174 -0
  1145. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1146. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1147. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1148. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1149. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1150. package/dist/web-components/elements/chart-3d.js +13 -0
  1151. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1152. package/dist/web-components/elements/chart.d.ts +7 -0
  1153. package/dist/web-components/elements/chart.js +43 -0
  1154. package/dist/web-components/elements/chart.js.map +1 -0
  1155. package/dist/web-components/elements/order-book.d.ts +2 -0
  1156. package/dist/web-components/elements/order-book.js +13 -0
  1157. package/dist/web-components/elements/order-book.js.map +1 -0
  1158. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1159. package/dist/web-components/elements/trading-chart.js +8 -0
  1160. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1161. package/dist/web-components/html-custom-data.json +1192 -29
  1162. package/dist/web-components/types/react.d.ts +435 -0
  1163. package/dist/web-components/types/solid.d.ts +321 -0
  1164. package/dist/web-components/types/svelte.d.ts +321 -0
  1165. package/dist/web-components/types/vue.d.ts +359 -0
  1166. package/package.json +113 -1
@@ -1 +1 @@
1
- {"version":3,"file":"shapes.js","names":["size","value","fallback","useCommonOptions","hiddenKey","hidden","stableHidden","useMemo","palette","legend","tooltip","format","percentFormat","animation","padding","ariaLabel","ShapeChartBase","handlers","containerRef","useRef","chartRef","handlersRef","tooltipRef","renderTooltip","tipEvent","setTipEvent","useState","tipHost","customTooltip","resolved","options","base","flushSync","event","optionsRef","useEffect","container","chart","createShapeChart","offs","off","useImperativeHandle","handleRef","width","height","style","createPortal","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","defaultHeight"],"sources":["../../../../charts/src/react/shapes.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\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 { createShapeChart } from \"../engine/shapes/chart\";\nimport type {\n FunnelChartOptions,\n GaugeBand,\n GaugeChartOptions,\n PieChartOptions,\n RadarChartOptions,\n RadarIndicator,\n RadarSeries,\n ShapeChartCommonOptions,\n ShapeChartInstance,\n ShapeChartOptions,\n ShapeDatum,\n ShapeHoverEvent,\n ShapeLegendOptions,\n ShapeToggleEvent,\n ShapeTooltipOptions,\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/** Props shared by PieChart, DonutChart, RadarChart, GaugeChart, FunnelChart and TreemapChart */\nexport interface ShapeChartCommonProps {\n /**\n * Height of the chart (the legend included); numbers are pixels\n * @default 320 (GaugeChart: 240)\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 or series\n * @default shown for pie, donut, funnel and multi-series radar charts\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 (1.2k, 3.4M)\n */\n format?: (value: number) => string;\n /**\n * Formats the shares (labels, conversion rates, tooltip); `share` is 0-1\n * @default one decimal, e.g. \"40.0%\"\n */\n percentFormat?: (share: number) => string;\n /**\n * Hidden slices / stages / radar series / top-level treemap nodes, 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, 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\ninterface Handlers {\n onHover?: (event: ShapeHoverEvent | null) => void;\n onClick?: (event: ShapeHoverEvent) => void;\n onToggle?: (event: ShapeToggleEvent) => 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\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 hidden,\n animation,\n padding,\n ariaLabel,\n}: ShapeChartCommonProps): ShapeChartCommonOptions => {\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 hidden: stableHidden,\n animation,\n padding,\n ariaLabel,\n }),\n [\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\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 ];\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\nfunction ShapeHost({\n props,\n options,\n defaultHeight,\n}: {\n props: ShapeChartCommonProps;\n options: ShapeChartOptions;\n defaultHeight: number;\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 renderTooltip={props.renderTooltip}\n />\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"shapes.js","names":["size","value","fallback","subscribePageLanguage","observer","onChange","pageLanguage","noPageLanguage","useCommonOptions","language","useSyncExternalStore","resolvedLocale","locale","hiddenKey","hidden","stableHidden","useMemo","palette","legend","tooltip","format","percentFormat","texts","animation","padding","ariaLabel","ShapeChartBase","handlers","containerRef","useRef","chartRef","handlersRef","tooltipRef","renderTooltip","tipEvent","setTipEvent","useState","tipHost","customTooltip","resolved","options","base","flushSync","event","optionsRef","useEffect","container","chart","createShapeChart","offs","off","useImperativeHandle","handleRef","width","height","style","createPortal","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","calendarStrips","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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AET;AAMA,SAAgBoB,EAAS,GAAsB;CAC7C,OAAO,kBAACC,GAAD;EAAS,GAAIC;EAAO,cAAc;CAAI,CAAA;AAC/C;AAGA,SAAgBC,EAAW,GAAwB;CACjD,OAAO,kBAACF,GAAD;EAAS,GAAIC;EAAO,cAAc;CAAO,CAAA;AAClD;AAEA,SAASD,EAAQ,GAAiD;CAChE,IAAM,EACJ,SACA,gBACA,eACA,aACA,iBACA,SACA,WACA,iBACA,gBACA,gBACA,oBACEC,GACEE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACU;EACtB,GAAG6C;EACH,MAAM;EACN;EACA,aAAaC,KAAeC;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEF;EACAG;EACAF;EACAC;EACAE;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACC,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBC,EAAW,GAAwB;CACjD,IAAM,EAAE,eAAY,WAAQ,UAAO,WAAQ,YAASf,GAC9CE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACY;EACxB,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;CACF,IACA;EAACA;EAAQc;EAAYC;EAAQC;EAAOC;EAAQC;CAAI,CAClD;CACA,OAAO,kBAACN,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBO,EAAW,GAAwB;CACjD,IAAM,EACJ,UACA,QACA,QACA,UACA,UACA,cACA,UACA,UACA,WACA,aACErB,GACEE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACY;EACxB,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACA5D;EACAgF;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAAChB,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBiB,EAAY,GAAyB;CACnD,IAAM,EAAE,SAAM,SAAM,QAAK,eAAY,aAAU/B,GACzCE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACa;EACzB,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;CACF,IACA;EAACA;EAAQG;EAAM2B;EAAMC;EAAKC;EAAYhB;CAAK,CAC7C;CACA,OAAO,kBAACJ,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBqB,EAAa,GAA0B;CACrD,IAAM,EAAE,SAAM,QAAK,eAAYnC,GACzBE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACc;EAC1B,GAAG6C;EACH,MAAM;EACN;EACA;EACA;CACF,IACA;EAACA;EAAQG;EAAM4B;EAAKG;CAAO,CAC7B;CACA,OAAO,kBAACtB,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAMA,SAAgBuB,EAAY,GAAyB;CACnD,IAAM,EACJ,UACA,UACA,cACA,gBACA,UACA,eACA,cACA,gBACA,WACA,mBACErC,GACEE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACa;EACzB,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAoC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAnC;EACAoC;CACF,CACF;CACA,OAAO,kBAAChC,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAMA,SAAgBiC,EAAc,GAA2B;CACvD,IAAM,EACJ,SACA,gBACA,WACA,eACA,aACA,iBACA,WACA,UACA,cACA,eACE/C,GACEE,IAASrD,EAAiBmD,CAAK,GAE/BgD,IAAWC,IAAY,KAAK,UAAUA,CAAS,IAAI,MACnDC,IAAa7F,QACV2F,MAAa,OAAO,KAAA,IAAa,KAAK,MAAMA,CAAQ,GAC3D,CAACA,CAAQ,CACX,GACMnE,IAAUxB,SACe;EAC3B,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAWgD;CACb,IACA;EACEhD;EACAG;EACAF;EACAgB;EACAb;EACAC;EACAC;EACAE;EACAyC;EACAD;CACF,CACF;CACA,OACE,kBAACpC,GAAD;EACS;EACE;EACT,eAAe;EACN;CACV,CAAA;AAEL;AAGA,SAAgBsC,EAAe,GAA4B;CACzD,IAAM,EACJ,SACA,QACA,gBACA,eACA,UACA,QACA,UACA,YACA,WACA,iBACA,gBACA,mBACEpD,GACEE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACgB;EAC5B,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAG;EACAkB;EACApB;EACAG;EACAmB;EACAQ;EACAoB;EACAC;EACA5C;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACC,GAAD;EAAkB;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgByC,EAAgB,GAA6B;CAC3D,IAAM,EACJ,SACA,UACA,WACA,cACA,UACA,WACA,WACA,eACA,QACA,WACA,gBACA,gBACA,qBACEvD,GACEE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACiB;EAC7B,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAG;EACAmD;EACAC;EACAC;EACA9B;EACA+B;EACAxC;EACAyC;EACA3B;EACA4B;EACAC;EACAC;EACAC;CACF,CACF,GACMC,IAAgB5G,QAAc;EAClC,IAAME,IAASsB,EAAQ,WAAW,KAAQ,IAAI;EAE9C,OADI4E,MAAW,WAAiB,MACzBS,EAAerF,CAAO,IAAI,MAAMtB,IAAS;CAClD,GAAG,CAACsB,GAAS4E,CAAM,CAAC;CACpB,OACE,kBAAC3C,GAAD;EAAkB;EAAgB;EAAwB;CAAgB,CAAA;AAE9E;AAGA,SAAgBqD,EAAY,GAAyB;CACnD,IAAM,EACJ,SACA,gBACA,WACA,gBACA,gBACA,YACA,gBACA,aACEnE,GACEE,IAASrD,EAAiBmD,CAAK,GAC/BnB,IAAUxB,SACa;EACzB,GAAG6C;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAG;EACA+D;EACAC;EACAC;EACAC;EACAC;EACAC;EACA3C;CACF,CACF,GACMvE,IAASsB,EAAQ,SAAS,KAAK,GAC/BoF,IACJG,MAAgB,aACZ,MACA,KAAK,IAAI,IAAI/D,EAAK,SAAS,KAAK,EAAE,IAAI9C;CAC5C,OACE,kBAACuD,GAAD;EAAkB;EAAgB;EAAwB;CAAgB,CAAA;AAE9E;AAEA,SAASA,EAAU,EACjB,UACA,YACA,kBACA,cAMC;CACD,OACE,kBAAC/C,GAAD;EACW;EACT,QAAQiC,EAAM,UAAUiE;EACxB,OAAOjE,EAAM;EACb,WAAWA,EAAM;EACjB,OAAOA,EAAM;EACb,WAAWA,EAAM;EACjB,SAASA,EAAM;EACf,SAASA,EAAM;EACf,UAAUA,EAAM;EACP;EACT,eAAeA,EAAM;CACtB,CAAA;AAEL"}
@@ -0,0 +1,2 @@
1
+ "use client";const e=require("../engine/three-d/chart.cjs");let t=require("react"),n=require("react/jsx-runtime");var r=e=>{if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return t===Object.prototype||t===null},i=(e,t)=>{let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>e[n]===t[n]&&Object.prototype.hasOwnProperty.call(t,n))},a=(e,t)=>e===t?!0:Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):r(e)&&r(t)&&i(e,t),o=(e,t)=>{if(e===t)return!0;let n=Object.keys(e);return n.length===Object.keys(t).length&&n.every(n=>{if(!Object.prototype.hasOwnProperty.call(t,n))return!1;if(n!==`series`)return a(e[n],t[n]);let r=e.series,o=t.series;return r===o||r.length===o.length&&r.every((e,t)=>e===o[t]||i(e,o[t]))})},s=(e,t)=>e===void 0?t:typeof e==`number`?`${e}px`:e;function c({options:r,height:i,width:a,className:c,style:l,handleRef:u,...d}){let f=(0,t.useRef)(null),p=(0,t.useRef)(null),m=(0,t.useRef)(d),[h,g]=(0,t.useState)(r);h!==r&&!o(h,r)&&g(r);let _=(0,t.useRef)(h);return(0,t.useEffect)(()=>{m.current=d}),(0,t.useEffect)(()=>{let t=f.current;if(!t)return;let n=e.createChart3D(t,_.current);p.current=n;let r=[n.on(`hover`,e=>m.current.onHover?.(e)),n.on(`click`,e=>m.current.onPointClick?.(e)),n.on(`camera`,e=>m.current.onCameraChange?.(e)),n.on(`renderer`,e=>m.current.onRendererChange?.(e))];return()=>{r.forEach(e=>e()),n.destroy(),p.current=null}},[]),(0,t.useEffect)(()=>{_.current!==h&&(_.current=h,p.current?.setOptions(h))},[h]),(0,t.useImperativeHandle)(u,()=>({resetCamera:()=>p.current?.resetCamera(),getCamera:()=>p.current?.getCamera()??null,setCamera:e=>p.current?.setCamera(e),getRenderer:()=>p.current?.getRenderer()??null,getInstance:()=>p.current}),[]),(0,n.jsx)(`div`,{className:c,style:{position:`relative`,width:s(a,`100%`),height:s(i,`400px`),...l},children:(0,n.jsx)(`div`,{ref:f,style:{position:`absolute`,inset:0}})})}function l({props:e,series:t}){let{height:r,width:i,xAxis:a,yAxis:o,zAxis:s,camera:l,autoRotate:u,aspect:d,box:f,colorScale:p,valueRange:m,colorBar:h,legend:g,tooltip:_,interaction:v,lighting:y,renderer:b,palette:x,ariaLabel:S,locale:C,labels:w,onHover:T,onPointClick:E,onCameraChange:D,onRendererChange:O,className:k,style:A,ref:j}=e;return(0,n.jsx)(c,{options:{series:t,xAxis:a,yAxis:o,zAxis:s,camera:l,autoRotate:u,aspect:d,box:f,colorScale:p,valueRange:m,colorBar:h,legend:g,tooltip:_,interaction:v,lighting:y,renderer:b,palette:x,ariaLabel:S,locale:C,labels:w},height:r,width:i,className:k,style:A,handleRef:j,onHover:T,onPointClick:E,onCameraChange:D,onRendererChange:O})}function u(e){let{series:r}=e,i=(0,t.useMemo)(()=>r.map(e=>({...e,type:`scatter`})),[r]);return(0,n.jsx)(l,{props:e,series:i})}function d(e){let{series:r}=e,i=(0,t.useMemo)(()=>r.map(e=>({...e,type:`line`})),[r]);return(0,n.jsx)(l,{props:e,series:i})}function f(e){let{series:r,wireframe:i,contours:a}=e,o=(0,t.useMemo)(()=>r.map(e=>({...e,type:`surface`,wireframe:e.wireframe??i,contours:e.contours??a})),[r,i,a]);return(0,n.jsx)(l,{props:e,series:o})}function p(e){let{series:r,barWidth:i}=e,a=(0,t.useMemo)(()=>r.map(e=>({...e,type:`bar`,barWidth:e.barWidth??i})),[r,i]);return(0,n.jsx)(l,{props:e,series:a})}exports.Bar3DChart=p,exports.Line3DChart=d,exports.Scatter3DChart=u,exports.Surface3DChart=f;
2
+ //# sourceMappingURL=three-d.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"three-d.cjs","names":["useRef","useState","createChart3D","useMemo","require_chart","react","react_jsx_runtime","isPlainObject","value","proto","shallowEqual","keys","a","b","key","sameValue","v","i","sameOptions3D","sa","sb","s","cssSize","fallback","Chart3DBase","handlers","containerRef","chartRef","handlersRef","stable","setStable","options","optionsRef","container","chart","offs","c","r","off","handleRef","camera","width","height","style","Chart3DFrame","props","ref","Scatter3DChart","input","series","Line3DChart","Surface3DChart","wireframe","contours","Bar3DChart","barWidth"],"sources":["../../../../charts/src/react/three-d.tsx"],"sourcesContent":["import {\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from \"react\";\nimport { createChart3D } from \"../engine/three-d/chart\";\nimport type {\n Bar3DSeries,\n Chart3DAxisOptions,\n Chart3DCameraOptions,\n Chart3DCameraState,\n Chart3DColorBarOptions,\n Chart3DColorScale,\n Chart3DHoverEvent,\n Chart3DInstance,\n Chart3DInteractionOptions,\n Chart3DLabels,\n Chart3DLegendOptions,\n Chart3DLightingOptions,\n Chart3DOptions,\n Chart3DSeries,\n Chart3DTooltipOptions,\n Line3DSeries,\n Scatter3DSeries,\n Surface3DContourOptions,\n Surface3DSeries,\n Surface3DWireframeOptions,\n} from \"../engine/three-d/types\";\nimport type {\n ChartRendererKind,\n ChartRendererPreference,\n} from \"../engine/types\";\n\n/** Imperative handle of the 3D chart components (`ref`) */\nexport interface Chart3DHandle {\n /** Restores the camera of the `camera` prop */\n resetCamera(): void;\n /** Current camera, `null` before mount */\n getCamera(): Chart3DCameraState | null;\n /** Moves the camera */\n setCamera(camera: Partial<Chart3DCameraState>): void;\n /** Backend in use, `null` until ready */\n getRenderer(): ChartRendererKind | null;\n /** The underlying engine instance (minerva-design/charts/core) */\n getInstance(): Chart3DInstance | null;\n}\n\n/** Props shared by every 3D chart component */\nexport interface Chart3DCommonProps {\n /**\n * Height of the chart (the legend included); numbers are pixels\n * @default 400\n */\n height?: number | string;\n /**\n * Width of the chart; numbers are pixels\n * @default \"100%\"\n */\n width?: number | string;\n /** X axis (width of the box) */\n xAxis?: Chart3DAxisOptions;\n /** Y axis (depth of the box) */\n yAxis?: Chart3DAxisOptions;\n /** Z axis (height of the box) */\n zAxis?: Chart3DAxisOptions;\n /** Initial camera, also restored by a double click (changing it moves the camera) */\n camera?: Chart3DCameraOptions;\n /**\n * Turns the camera around the box: `true` at 12°/s or a speed in degrees\n * per second; pauses while hovered, off-screen and with reduced motion\n * @default false\n */\n autoRotate?: boolean | number;\n /**\n * Proportions of the box (x, y, z)\n * @default [1, 1, 0.7]\n */\n aspect?: readonly [number, number, number];\n /**\n * Draws the axis box: back walls, grid lines, tick labels and axis titles\n * @default true\n */\n box?: boolean;\n /**\n * Colors of `colorBy: \"z\"` / `\"value\"`: a built-in ramp or CSS colors\n * @default \"viridis\"\n */\n colorScale?: Chart3DColorScale;\n /** Values mapped to the ends of the color scale; the data range by default */\n valueRange?: readonly [number, number];\n /** Color bar; shown by default when a visible series uses the color scale */\n colorBar?: boolean | Chart3DColorBarOptions;\n /** Legend; shown by default when several series have a name */\n legend?: boolean | Chart3DLegendOptions;\n /** Tooltip; `false` disables it */\n tooltip?: boolean | Chart3DTooltipOptions;\n /**\n * Drag rotates, right / Shift + drag pans, Ctrl / ⌘ + wheel and pinch zoom,\n * double click resets, arrow keys rotate; `false` makes the chart static\n * @default true\n */\n interaction?: boolean | Chart3DInteractionOptions;\n /** Lighting of the surfaces and bars */\n lighting?: Chart3DLightingOptions;\n /**\n * Backend of the data layer: `auto` tries WebGPU, then WebGL2, then WebGL,\n * then Canvas2D, skipping GPUs running in software\n * @default \"auto\"\n */\n renderer?: ChartRendererPreference;\n /** Series colors (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */\n palette?: readonly string[];\n /** Accessible name of the chart */\n ariaLabel?: string;\n /**\n * Language of the built-in texts (accessible summary, legend announcements,\n * tooltip row names) and of the number formatting; built-in texts in\n * English, Chinese, Japanese and French\n * @default the page language (`<html lang>`), then the browser language\n */\n locale?: string;\n /** Overrides of the built-in texts of the `locale` */\n labels?: Partial<Chart3DLabels>;\n /** Called when the hovered point, cell or bar changes */\n onHover?: (event: Chart3DHoverEvent | null) => void;\n /** Called when a point, cell or bar is clicked */\n onPointClick?: (event: Chart3DHoverEvent) => void;\n /** Called after the user rotated, zoomed, panned or reset the camera */\n onCameraChange?: (camera: Chart3DCameraState) => void;\n /** Called with the backend once it is ready (and after a fallback) */\n onRendererChange?: (renderer: ChartRendererKind) => void;\n /** Class of the outer element */\n className?: string;\n /** Style of the outer element */\n style?: CSSProperties;\n /** Imperative handle */\n ref?: Ref<Chart3DHandle>;\n}\n\n/** Props of `Scatter3DChart` */\nexport interface Scatter3DChartProps extends Chart3DCommonProps {\n /** Point clouds (objects, `[x, y, z]` tuples or typed-array columns) */\n series: readonly Scatter3DSeries[];\n}\n\n/** Props of `Line3DChart` */\nexport interface Line3DChartProps extends Chart3DCommonProps {\n /** 3D polylines (trajectories) */\n series: readonly Line3DSeries[];\n}\n\n/** Props of `Surface3DChart` */\nexport interface Surface3DChartProps extends Chart3DCommonProps {\n /** Surfaces over regular grids */\n series: readonly Surface3DSeries[];\n /** Wireframe of the series that do not set one */\n wireframe?: boolean | Surface3DWireframeOptions;\n /** Contour lines of the series that do not set them */\n contours?: boolean | Surface3DContourOptions;\n}\n\n/** Props of `Bar3DChart` */\nexport interface Bar3DChartProps extends Chart3DCommonProps {\n /** Bars over the x × y category grid (bars of the same cell are stacked) */\n series: readonly Bar3DSeries[];\n /**\n * Width of the bars of the series that do not set one, as a fraction of a cell\n * @default 0.7\n */\n barWidth?: number;\n}\n\n// ----------------------------------------------------------------- base\n\ninterface Handlers {\n onHover?: (event: Chart3DHoverEvent | null) => void;\n onPointClick?: (event: Chart3DHoverEvent) => void;\n onCameraChange?: (camera: Chart3DCameraState) => void;\n onRendererChange?: (renderer: ChartRendererKind) => void;\n}\n\nconst isPlainObject = (value: unknown): value is Record<string, unknown> => {\n if (typeof value !== \"object\" || value === null) return false;\n const proto = Object.getPrototypeOf(value);\n return proto === Object.prototype || proto === null;\n};\n\nconst shallowEqual = (\n a: Record<string, unknown>,\n b: Record<string, unknown>,\n): boolean => {\n const keys = Object.keys(a);\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every(\n (key) => a[key] === b[key] && Object.prototype.hasOwnProperty.call(b, key),\n );\n};\n\nconst sameValue = (a: unknown, b: unknown): boolean => {\n if (a === b) return true;\n if (Array.isArray(a) && Array.isArray(b))\n return a.length === b.length && a.every((v, i) => v === b[i]);\n return isPlainObject(a) && isPlainObject(b) && shallowEqual(a, b);\n};\n\n/**\n * Whether two option objects describe the same chart: top-level values by\n * identity (one level deep for inline arrays / objects), series one by one\n * and shallowly. Data is never compared by content.\n */\nconst sameOptions3D = (a: Chart3DOptions, b: Chart3DOptions): boolean => {\n if (a === b) return true;\n const keys = Object.keys(a) as (keyof Chart3DOptions)[];\n if (keys.length !== Object.keys(b).length) return false;\n return keys.every((key) => {\n if (!Object.prototype.hasOwnProperty.call(b, key)) return false;\n if (key !== \"series\") return sameValue(a[key], b[key]);\n const sa = a.series;\n const sb = b.series;\n return (\n sa === sb ||\n (sa.length === sb.length &&\n sa.every(\n (s, i) =>\n s === sb[i] ||\n shallowEqual(\n s as unknown as Record<string, unknown>,\n sb[i] as unknown as Record<string, unknown>,\n ),\n ))\n );\n });\n};\n\nconst cssSize = (value: number | string | undefined, fallback: string) =>\n value === undefined\n ? fallback\n : typeof value === \"number\"\n ? `${value}px`\n : value;\n\ninterface Chart3DBaseProps extends Handlers {\n options: Chart3DOptions;\n height?: number | string;\n width?: number | string;\n className?: string;\n style?: CSSProperties;\n handleRef?: Ref<Chart3DHandle>;\n}\n\nfunction Chart3DBase({\n options,\n height,\n width,\n className,\n style,\n handleRef,\n ...handlers\n}: Chart3DBaseProps) {\n const containerRef = useRef<HTMLDivElement>(null);\n const chartRef = useRef<Chart3DInstance | null>(null);\n const handlersRef = useRef<Handlers>(handlers);\n // keep the previous options while they describe the same chart\n const [stable, setStable] = useState(options);\n if (stable !== options && !sameOptions3D(stable, options)) setStable(options);\n const optionsRef = useRef(stable);\n\n useEffect(() => {\n handlersRef.current = handlers;\n });\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n const chart = createChart3D(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.onPointClick?.(e)),\n chart.on(\"camera\", (c) => handlersRef.current.onCameraChange?.(c)),\n chart.on(\"renderer\", (r) => handlersRef.current.onRendererChange?.(r)),\n ];\n return () => {\n offs.forEach((off) => off());\n chart.destroy();\n chartRef.current = null;\n };\n }, []);\n\n useEffect(() => {\n if (optionsRef.current === stable) return;\n optionsRef.current = stable;\n chartRef.current?.setOptions(stable);\n }, [stable]);\n\n useImperativeHandle(\n handleRef,\n () => ({\n resetCamera: () => chartRef.current?.resetCamera(),\n getCamera: () => chartRef.current?.getCamera() ?? null,\n setCamera: (camera) => chartRef.current?.setCamera(camera),\n getRenderer: () => chartRef.current?.getRenderer() ?? null,\n getInstance: () => chartRef.current,\n }),\n [],\n );\n\n return (\n <div\n className={className}\n style={{\n position: \"relative\",\n width: cssSize(width, \"100%\"),\n height: cssSize(height, \"400px\"),\n ...style,\n }}\n >\n <div ref={containerRef} style={{ position: \"absolute\", inset: 0 }} />\n </div>\n );\n}\n\n/** Renders a chart from the common props and the typed series */\nfunction Chart3DFrame({\n props,\n series,\n}: {\n props: Chart3DCommonProps;\n series: readonly Chart3DSeries[];\n}) {\n const {\n height,\n width,\n xAxis,\n yAxis,\n zAxis,\n camera,\n autoRotate,\n aspect,\n box,\n colorScale,\n valueRange,\n colorBar,\n legend,\n tooltip,\n interaction,\n lighting,\n renderer,\n palette,\n ariaLabel,\n locale,\n labels,\n onHover,\n onPointClick,\n onCameraChange,\n onRendererChange,\n className,\n style,\n ref,\n } = props;\n const options: Chart3DOptions = {\n series,\n xAxis,\n yAxis,\n zAxis,\n camera,\n autoRotate,\n aspect,\n box,\n colorScale,\n valueRange,\n colorBar,\n legend,\n tooltip,\n interaction,\n lighting,\n renderer,\n palette,\n ariaLabel,\n locale,\n labels,\n };\n return (\n <Chart3DBase\n options={options}\n height={height}\n width={width}\n className={className}\n style={style}\n handleRef={ref}\n onHover={onHover}\n onPointClick={onPointClick}\n onCameraChange={onCameraChange}\n onRendererChange={onRendererChange}\n />\n );\n}\n\n// ----------------------------------------------------------- components\n\n/**\n * 3D scatter plot: point clouds of up to millions of points on the GPU,\n * colored per series, per point or through a color scale; orbit camera,\n * hover picking and color bar.\n */\nexport function Scatter3DChart(props: Scatter3DChartProps) {\n const { series: input } = props;\n const series = useMemo(\n () => input.map((s) => ({ ...s, type: \"scatter\" as const })),\n [input],\n );\n return <Chart3DFrame props={props} series={series} />;\n}\n\n/** 3D polylines (trajectories, paths), optionally colored along the line */\nexport function Line3DChart(props: Line3DChartProps) {\n const { series: input } = props;\n const series = useMemo(\n () => input.map((s) => ({ ...s, type: \"line\" as const })),\n [input],\n );\n return <Chart3DFrame props={props} series={series} />;\n}\n\n/**\n * 3D surface `z = f(x, y)` over a regular grid: lit, colored by a color\n * map, with an optional wireframe, contour lines and transparency.\n */\nexport function Surface3DChart(props: Surface3DChartProps) {\n const { series: input, wireframe, contours } = props;\n const series = useMemo(\n () =>\n input.map((s) => ({\n ...s,\n type: \"surface\" as const,\n wireframe: s.wireframe ?? wireframe,\n contours: s.contours ?? contours,\n })),\n [input, wireframe, contours],\n );\n return <Chart3DFrame props={props} series={series} />;\n}\n\n/** 3D bars over an x × y category grid, lit, stacked across series */\nexport function Bar3DChart(props: Bar3DChartProps) {\n const { series: input, barWidth } = props;\n const series = useMemo(\n () =>\n input.map((s) => ({\n ...s,\n type: \"bar\" as const,\n barWidth: s.barWidth ?? barWidth,\n })),\n [input, barWidth],\n );\n return <Chart3DFrame props={props} series={series} />;\n}\n"],"mappings":"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"}
@@ -0,0 +1,151 @@
1
+ import { CSSProperties, Ref } from 'react';
2
+ import { Bar3DSeries, Chart3DAxisOptions, Chart3DCameraOptions, Chart3DCameraState, Chart3DColorBarOptions, Chart3DColorScale, Chart3DHoverEvent, Chart3DInstance, Chart3DInteractionOptions, Chart3DLabels, Chart3DLegendOptions, Chart3DLightingOptions, Chart3DTooltipOptions, Line3DSeries, Scatter3DSeries, Surface3DContourOptions, Surface3DSeries, Surface3DWireframeOptions } from '../engine/three-d/types.cjs';
3
+ import { ChartRendererKind, ChartRendererPreference } from '../engine/types.cjs';
4
+ /** Imperative handle of the 3D chart components (`ref`) */
5
+ export interface Chart3DHandle {
6
+ /** Restores the camera of the `camera` prop */
7
+ resetCamera(): void;
8
+ /** Current camera, `null` before mount */
9
+ getCamera(): Chart3DCameraState | null;
10
+ /** Moves the camera */
11
+ setCamera(camera: Partial<Chart3DCameraState>): void;
12
+ /** Backend in use, `null` until ready */
13
+ getRenderer(): ChartRendererKind | null;
14
+ /** The underlying engine instance (minerva-design/charts/core) */
15
+ getInstance(): Chart3DInstance | null;
16
+ }
17
+ /** Props shared by every 3D chart component */
18
+ export interface Chart3DCommonProps {
19
+ /**
20
+ * Height of the chart (the legend included); numbers are pixels
21
+ * @default 400
22
+ */
23
+ height?: number | string;
24
+ /**
25
+ * Width of the chart; numbers are pixels
26
+ * @default "100%"
27
+ */
28
+ width?: number | string;
29
+ /** X axis (width of the box) */
30
+ xAxis?: Chart3DAxisOptions;
31
+ /** Y axis (depth of the box) */
32
+ yAxis?: Chart3DAxisOptions;
33
+ /** Z axis (height of the box) */
34
+ zAxis?: Chart3DAxisOptions;
35
+ /** Initial camera, also restored by a double click (changing it moves the camera) */
36
+ camera?: Chart3DCameraOptions;
37
+ /**
38
+ * Turns the camera around the box: `true` at 12°/s or a speed in degrees
39
+ * per second; pauses while hovered, off-screen and with reduced motion
40
+ * @default false
41
+ */
42
+ autoRotate?: boolean | number;
43
+ /**
44
+ * Proportions of the box (x, y, z)
45
+ * @default [1, 1, 0.7]
46
+ */
47
+ aspect?: readonly [number, number, number];
48
+ /**
49
+ * Draws the axis box: back walls, grid lines, tick labels and axis titles
50
+ * @default true
51
+ */
52
+ box?: boolean;
53
+ /**
54
+ * Colors of `colorBy: "z"` / `"value"`: a built-in ramp or CSS colors
55
+ * @default "viridis"
56
+ */
57
+ colorScale?: Chart3DColorScale;
58
+ /** Values mapped to the ends of the color scale; the data range by default */
59
+ valueRange?: readonly [number, number];
60
+ /** Color bar; shown by default when a visible series uses the color scale */
61
+ colorBar?: boolean | Chart3DColorBarOptions;
62
+ /** Legend; shown by default when several series have a name */
63
+ legend?: boolean | Chart3DLegendOptions;
64
+ /** Tooltip; `false` disables it */
65
+ tooltip?: boolean | Chart3DTooltipOptions;
66
+ /**
67
+ * Drag rotates, right / Shift + drag pans, Ctrl / ⌘ + wheel and pinch zoom,
68
+ * double click resets, arrow keys rotate; `false` makes the chart static
69
+ * @default true
70
+ */
71
+ interaction?: boolean | Chart3DInteractionOptions;
72
+ /** Lighting of the surfaces and bars */
73
+ lighting?: Chart3DLightingOptions;
74
+ /**
75
+ * Backend of the data layer: `auto` tries WebGPU, then WebGL2, then WebGL,
76
+ * then Canvas2D, skipping GPUs running in software
77
+ * @default "auto"
78
+ */
79
+ renderer?: ChartRendererPreference;
80
+ /** Series colors (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */
81
+ palette?: readonly string[];
82
+ /** Accessible name of the chart */
83
+ ariaLabel?: string;
84
+ /**
85
+ * Language of the built-in texts (accessible summary, legend announcements,
86
+ * tooltip row names) and of the number formatting; built-in texts in
87
+ * English, Chinese, Japanese and French
88
+ * @default the page language (`<html lang>`), then the browser language
89
+ */
90
+ locale?: string;
91
+ /** Overrides of the built-in texts of the `locale` */
92
+ labels?: Partial<Chart3DLabels>;
93
+ /** Called when the hovered point, cell or bar changes */
94
+ onHover?: (event: Chart3DHoverEvent | null) => void;
95
+ /** Called when a point, cell or bar is clicked */
96
+ onPointClick?: (event: Chart3DHoverEvent) => void;
97
+ /** Called after the user rotated, zoomed, panned or reset the camera */
98
+ onCameraChange?: (camera: Chart3DCameraState) => void;
99
+ /** Called with the backend once it is ready (and after a fallback) */
100
+ onRendererChange?: (renderer: ChartRendererKind) => void;
101
+ /** Class of the outer element */
102
+ className?: string;
103
+ /** Style of the outer element */
104
+ style?: CSSProperties;
105
+ /** Imperative handle */
106
+ ref?: Ref<Chart3DHandle>;
107
+ }
108
+ /** Props of `Scatter3DChart` */
109
+ export interface Scatter3DChartProps extends Chart3DCommonProps {
110
+ /** Point clouds (objects, `[x, y, z]` tuples or typed-array columns) */
111
+ series: readonly Scatter3DSeries[];
112
+ }
113
+ /** Props of `Line3DChart` */
114
+ export interface Line3DChartProps extends Chart3DCommonProps {
115
+ /** 3D polylines (trajectories) */
116
+ series: readonly Line3DSeries[];
117
+ }
118
+ /** Props of `Surface3DChart` */
119
+ export interface Surface3DChartProps extends Chart3DCommonProps {
120
+ /** Surfaces over regular grids */
121
+ series: readonly Surface3DSeries[];
122
+ /** Wireframe of the series that do not set one */
123
+ wireframe?: boolean | Surface3DWireframeOptions;
124
+ /** Contour lines of the series that do not set them */
125
+ contours?: boolean | Surface3DContourOptions;
126
+ }
127
+ /** Props of `Bar3DChart` */
128
+ export interface Bar3DChartProps extends Chart3DCommonProps {
129
+ /** Bars over the x × y category grid (bars of the same cell are stacked) */
130
+ series: readonly Bar3DSeries[];
131
+ /**
132
+ * Width of the bars of the series that do not set one, as a fraction of a cell
133
+ * @default 0.7
134
+ */
135
+ barWidth?: number;
136
+ }
137
+ /**
138
+ * 3D scatter plot: point clouds of up to millions of points on the GPU,
139
+ * colored per series, per point or through a color scale; orbit camera,
140
+ * hover picking and color bar.
141
+ */
142
+ export declare function Scatter3DChart(props: Scatter3DChartProps): import('react').JSX.Element;
143
+ /** 3D polylines (trajectories, paths), optionally colored along the line */
144
+ export declare function Line3DChart(props: Line3DChartProps): import('react').JSX.Element;
145
+ /**
146
+ * 3D surface `z = f(x, y)` over a regular grid: lit, colored by a color
147
+ * map, with an optional wireframe, contour lines and transparency.
148
+ */
149
+ export declare function Surface3DChart(props: Surface3DChartProps): import('react').JSX.Element;
150
+ /** 3D bars over an x × y category grid, lit, stacked across series */
151
+ export declare function Bar3DChart(props: Bar3DChartProps): import('react').JSX.Element;
@@ -0,0 +1,151 @@
1
+ import { CSSProperties, Ref } from 'react';
2
+ import { Bar3DSeries, Chart3DAxisOptions, Chart3DCameraOptions, Chart3DCameraState, Chart3DColorBarOptions, Chart3DColorScale, Chart3DHoverEvent, Chart3DInstance, Chart3DInteractionOptions, Chart3DLabels, Chart3DLegendOptions, Chart3DLightingOptions, Chart3DTooltipOptions, Line3DSeries, Scatter3DSeries, Surface3DContourOptions, Surface3DSeries, Surface3DWireframeOptions } from '../engine/three-d/types.js';
3
+ import { ChartRendererKind, ChartRendererPreference } from '../engine/types.js';
4
+ /** Imperative handle of the 3D chart components (`ref`) */
5
+ export interface Chart3DHandle {
6
+ /** Restores the camera of the `camera` prop */
7
+ resetCamera(): void;
8
+ /** Current camera, `null` before mount */
9
+ getCamera(): Chart3DCameraState | null;
10
+ /** Moves the camera */
11
+ setCamera(camera: Partial<Chart3DCameraState>): void;
12
+ /** Backend in use, `null` until ready */
13
+ getRenderer(): ChartRendererKind | null;
14
+ /** The underlying engine instance (minerva-design/charts/core) */
15
+ getInstance(): Chart3DInstance | null;
16
+ }
17
+ /** Props shared by every 3D chart component */
18
+ export interface Chart3DCommonProps {
19
+ /**
20
+ * Height of the chart (the legend included); numbers are pixels
21
+ * @default 400
22
+ */
23
+ height?: number | string;
24
+ /**
25
+ * Width of the chart; numbers are pixels
26
+ * @default "100%"
27
+ */
28
+ width?: number | string;
29
+ /** X axis (width of the box) */
30
+ xAxis?: Chart3DAxisOptions;
31
+ /** Y axis (depth of the box) */
32
+ yAxis?: Chart3DAxisOptions;
33
+ /** Z axis (height of the box) */
34
+ zAxis?: Chart3DAxisOptions;
35
+ /** Initial camera, also restored by a double click (changing it moves the camera) */
36
+ camera?: Chart3DCameraOptions;
37
+ /**
38
+ * Turns the camera around the box: `true` at 12°/s or a speed in degrees
39
+ * per second; pauses while hovered, off-screen and with reduced motion
40
+ * @default false
41
+ */
42
+ autoRotate?: boolean | number;
43
+ /**
44
+ * Proportions of the box (x, y, z)
45
+ * @default [1, 1, 0.7]
46
+ */
47
+ aspect?: readonly [number, number, number];
48
+ /**
49
+ * Draws the axis box: back walls, grid lines, tick labels and axis titles
50
+ * @default true
51
+ */
52
+ box?: boolean;
53
+ /**
54
+ * Colors of `colorBy: "z"` / `"value"`: a built-in ramp or CSS colors
55
+ * @default "viridis"
56
+ */
57
+ colorScale?: Chart3DColorScale;
58
+ /** Values mapped to the ends of the color scale; the data range by default */
59
+ valueRange?: readonly [number, number];
60
+ /** Color bar; shown by default when a visible series uses the color scale */
61
+ colorBar?: boolean | Chart3DColorBarOptions;
62
+ /** Legend; shown by default when several series have a name */
63
+ legend?: boolean | Chart3DLegendOptions;
64
+ /** Tooltip; `false` disables it */
65
+ tooltip?: boolean | Chart3DTooltipOptions;
66
+ /**
67
+ * Drag rotates, right / Shift + drag pans, Ctrl / ⌘ + wheel and pinch zoom,
68
+ * double click resets, arrow keys rotate; `false` makes the chart static
69
+ * @default true
70
+ */
71
+ interaction?: boolean | Chart3DInteractionOptions;
72
+ /** Lighting of the surfaces and bars */
73
+ lighting?: Chart3DLightingOptions;
74
+ /**
75
+ * Backend of the data layer: `auto` tries WebGPU, then WebGL2, then WebGL,
76
+ * then Canvas2D, skipping GPUs running in software
77
+ * @default "auto"
78
+ */
79
+ renderer?: ChartRendererPreference;
80
+ /** Series colors (defaults to the `--chart-series-1..8` CSS variables, then the theme colors) */
81
+ palette?: readonly string[];
82
+ /** Accessible name of the chart */
83
+ ariaLabel?: string;
84
+ /**
85
+ * Language of the built-in texts (accessible summary, legend announcements,
86
+ * tooltip row names) and of the number formatting; built-in texts in
87
+ * English, Chinese, Japanese and French
88
+ * @default the page language (`<html lang>`), then the browser language
89
+ */
90
+ locale?: string;
91
+ /** Overrides of the built-in texts of the `locale` */
92
+ labels?: Partial<Chart3DLabels>;
93
+ /** Called when the hovered point, cell or bar changes */
94
+ onHover?: (event: Chart3DHoverEvent | null) => void;
95
+ /** Called when a point, cell or bar is clicked */
96
+ onPointClick?: (event: Chart3DHoverEvent) => void;
97
+ /** Called after the user rotated, zoomed, panned or reset the camera */
98
+ onCameraChange?: (camera: Chart3DCameraState) => void;
99
+ /** Called with the backend once it is ready (and after a fallback) */
100
+ onRendererChange?: (renderer: ChartRendererKind) => void;
101
+ /** Class of the outer element */
102
+ className?: string;
103
+ /** Style of the outer element */
104
+ style?: CSSProperties;
105
+ /** Imperative handle */
106
+ ref?: Ref<Chart3DHandle>;
107
+ }
108
+ /** Props of `Scatter3DChart` */
109
+ export interface Scatter3DChartProps extends Chart3DCommonProps {
110
+ /** Point clouds (objects, `[x, y, z]` tuples or typed-array columns) */
111
+ series: readonly Scatter3DSeries[];
112
+ }
113
+ /** Props of `Line3DChart` */
114
+ export interface Line3DChartProps extends Chart3DCommonProps {
115
+ /** 3D polylines (trajectories) */
116
+ series: readonly Line3DSeries[];
117
+ }
118
+ /** Props of `Surface3DChart` */
119
+ export interface Surface3DChartProps extends Chart3DCommonProps {
120
+ /** Surfaces over regular grids */
121
+ series: readonly Surface3DSeries[];
122
+ /** Wireframe of the series that do not set one */
123
+ wireframe?: boolean | Surface3DWireframeOptions;
124
+ /** Contour lines of the series that do not set them */
125
+ contours?: boolean | Surface3DContourOptions;
126
+ }
127
+ /** Props of `Bar3DChart` */
128
+ export interface Bar3DChartProps extends Chart3DCommonProps {
129
+ /** Bars over the x × y category grid (bars of the same cell are stacked) */
130
+ series: readonly Bar3DSeries[];
131
+ /**
132
+ * Width of the bars of the series that do not set one, as a fraction of a cell
133
+ * @default 0.7
134
+ */
135
+ barWidth?: number;
136
+ }
137
+ /**
138
+ * 3D scatter plot: point clouds of up to millions of points on the GPU,
139
+ * colored per series, per point or through a color scale; orbit camera,
140
+ * hover picking and color bar.
141
+ */
142
+ export declare function Scatter3DChart(props: Scatter3DChartProps): import('react').JSX.Element;
143
+ /** 3D polylines (trajectories, paths), optionally colored along the line */
144
+ export declare function Line3DChart(props: Line3DChartProps): import('react').JSX.Element;
145
+ /**
146
+ * 3D surface `z = f(x, y)` over a regular grid: lit, colored by a color
147
+ * map, with an optional wireframe, contour lines and transparency.
148
+ */
149
+ export declare function Surface3DChart(props: Surface3DChartProps): import('react').JSX.Element;
150
+ /** 3D bars over an x × y category grid, lit, stacked across series */
151
+ export declare function Bar3DChart(props: Bar3DChartProps): import('react').JSX.Element;