minerva-design 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +3072 -611
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +595 -5
  7. package/dist/charts/canvas.d.cts +4 -3
  8. package/dist/charts/canvas.d.ts +4 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +6 -4
  11. package/dist/charts/core.d.ts +6 -4
  12. package/dist/charts/core.js +24 -16
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +42 -19
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.js +155 -127
  20. package/dist/charts/engine/canvas.js.map +1 -1
  21. package/dist/charts/engine/chart.cjs +1 -1
  22. package/dist/charts/engine/chart.cjs.map +1 -1
  23. package/dist/charts/engine/chart.js +370 -255
  24. package/dist/charts/engine/chart.js.map +1 -1
  25. package/dist/charts/engine/color.cjs +1 -1
  26. package/dist/charts/engine/color.cjs.map +1 -1
  27. package/dist/charts/engine/color.d.cts +18 -0
  28. package/dist/charts/engine/color.d.ts +18 -0
  29. package/dist/charts/engine/color.js +48 -2
  30. package/dist/charts/engine/color.js.map +1 -1
  31. package/dist/charts/engine/controller.cjs +2 -2
  32. package/dist/charts/engine/controller.cjs.map +1 -1
  33. package/dist/charts/engine/controller.d.cts +34 -1
  34. package/dist/charts/engine/controller.d.ts +34 -1
  35. package/dist/charts/engine/controller.js +318 -273
  36. package/dist/charts/engine/controller.js.map +1 -1
  37. package/dist/charts/engine/data.cjs +1 -1
  38. package/dist/charts/engine/data.cjs.map +1 -1
  39. package/dist/charts/engine/data.d.cts +3 -1
  40. package/dist/charts/engine/data.d.ts +3 -1
  41. package/dist/charts/engine/data.js +6 -4
  42. package/dist/charts/engine/data.js.map +1 -1
  43. package/dist/charts/engine/defaults.cjs +2 -0
  44. package/dist/charts/engine/defaults.cjs.map +1 -0
  45. package/dist/charts/engine/defaults.d.cts +20 -0
  46. package/dist/charts/engine/defaults.d.ts +20 -0
  47. package/dist/charts/engine/defaults.js +35 -0
  48. package/dist/charts/engine/defaults.js.map +1 -0
  49. package/dist/charts/engine/format.cjs +1 -1
  50. package/dist/charts/engine/format.cjs.map +1 -1
  51. package/dist/charts/engine/format.d.cts +6 -0
  52. package/dist/charts/engine/format.d.ts +6 -0
  53. package/dist/charts/engine/format.js +15 -2
  54. package/dist/charts/engine/format.js.map +1 -1
  55. package/dist/charts/engine/graph/chart.cjs +2 -0
  56. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  57. package/dist/charts/engine/graph/chart.d.cts +3 -0
  58. package/dist/charts/engine/graph/chart.d.ts +3 -0
  59. package/dist/charts/engine/graph/chart.js +1708 -0
  60. package/dist/charts/engine/graph/chart.js.map +1 -0
  61. package/dist/charts/engine/graph/circular.cjs +2 -0
  62. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  63. package/dist/charts/engine/graph/circular.d.cts +16 -0
  64. package/dist/charts/engine/graph/circular.d.ts +16 -0
  65. package/dist/charts/engine/graph/circular.js +62 -0
  66. package/dist/charts/engine/graph/circular.js.map +1 -0
  67. package/dist/charts/engine/graph/dag.cjs +2 -0
  68. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  69. package/dist/charts/engine/graph/dag.d.cts +34 -0
  70. package/dist/charts/engine/graph/dag.d.ts +34 -0
  71. package/dist/charts/engine/graph/dag.js +339 -0
  72. package/dist/charts/engine/graph/dag.js.map +1 -0
  73. package/dist/charts/engine/graph/dom.cjs +2 -0
  74. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  75. package/dist/charts/engine/graph/dom.d.cts +23 -0
  76. package/dist/charts/engine/graph/dom.d.ts +23 -0
  77. package/dist/charts/engine/graph/dom.js +158 -0
  78. package/dist/charts/engine/graph/dom.js.map +1 -0
  79. package/dist/charts/engine/graph/force.cjs +2 -0
  80. package/dist/charts/engine/graph/force.cjs.map +1 -0
  81. package/dist/charts/engine/graph/force.d.cts +76 -0
  82. package/dist/charts/engine/graph/force.d.ts +76 -0
  83. package/dist/charts/engine/graph/force.js +423 -0
  84. package/dist/charts/engine/graph/force.js.map +1 -0
  85. package/dist/charts/engine/graph/geometry.cjs +2 -0
  86. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  87. package/dist/charts/engine/graph/geometry.d.cts +50 -0
  88. package/dist/charts/engine/graph/geometry.d.ts +50 -0
  89. package/dist/charts/engine/graph/geometry.js +197 -0
  90. package/dist/charts/engine/graph/geometry.js.map +1 -0
  91. package/dist/charts/engine/graph/index.cjs +1 -0
  92. package/dist/charts/engine/graph/index.d.cts +6 -0
  93. package/dist/charts/engine/graph/index.d.ts +6 -0
  94. package/dist/charts/engine/graph/index.js +6 -0
  95. package/dist/charts/engine/graph/labels.cjs +2 -0
  96. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  97. package/dist/charts/engine/graph/labels.d.cts +12 -0
  98. package/dist/charts/engine/graph/labels.d.ts +12 -0
  99. package/dist/charts/engine/graph/labels.js +128 -0
  100. package/dist/charts/engine/graph/labels.js.map +1 -0
  101. package/dist/charts/engine/graph/model.cjs +2 -0
  102. package/dist/charts/engine/graph/model.cjs.map +1 -0
  103. package/dist/charts/engine/graph/model.d.cts +52 -0
  104. package/dist/charts/engine/graph/model.d.ts +52 -0
  105. package/dist/charts/engine/graph/model.js +108 -0
  106. package/dist/charts/engine/graph/model.js.map +1 -0
  107. package/dist/charts/engine/graph/sizing.cjs +2 -0
  108. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  109. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  110. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  111. package/dist/charts/engine/graph/sizing.js +60 -0
  112. package/dist/charts/engine/graph/sizing.js.map +1 -0
  113. package/dist/charts/engine/graph/tree.cjs +2 -0
  114. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  115. package/dist/charts/engine/graph/tree.d.cts +30 -0
  116. package/dist/charts/engine/graph/tree.d.ts +30 -0
  117. package/dist/charts/engine/graph/tree.js +218 -0
  118. package/dist/charts/engine/graph/tree.js.map +1 -0
  119. package/dist/charts/engine/graph/types.d.cts +640 -0
  120. package/dist/charts/engine/graph/types.d.ts +640 -0
  121. package/dist/charts/engine/graph/worker.cjs +52 -0
  122. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  123. package/dist/charts/engine/graph/worker.d.cts +36 -0
  124. package/dist/charts/engine/graph/worker.d.ts +36 -0
  125. package/dist/charts/engine/graph/worker.js +135 -0
  126. package/dist/charts/engine/graph/worker.js.map +1 -0
  127. package/dist/charts/engine/items.cjs +1 -1
  128. package/dist/charts/engine/items.cjs.map +1 -1
  129. package/dist/charts/engine/items.d.cts +15 -2
  130. package/dist/charts/engine/items.d.ts +15 -2
  131. package/dist/charts/engine/items.js +131 -112
  132. package/dist/charts/engine/items.js.map +1 -1
  133. package/dist/charts/engine/labels.cjs +1 -1
  134. package/dist/charts/engine/labels.cjs.map +1 -1
  135. package/dist/charts/engine/labels.d.cts +17 -0
  136. package/dist/charts/engine/labels.d.ts +17 -0
  137. package/dist/charts/engine/labels.js +28 -4
  138. package/dist/charts/engine/labels.js.map +1 -1
  139. package/dist/charts/engine/layout.cjs +1 -1
  140. package/dist/charts/engine/layout.cjs.map +1 -1
  141. package/dist/charts/engine/layout.d.cts +9 -0
  142. package/dist/charts/engine/layout.d.ts +9 -0
  143. package/dist/charts/engine/layout.js +11 -2
  144. package/dist/charts/engine/layout.js.map +1 -1
  145. package/dist/charts/engine/model.cjs +1 -1
  146. package/dist/charts/engine/model.cjs.map +1 -1
  147. package/dist/charts/engine/model.d.cts +73 -3
  148. package/dist/charts/engine/model.d.ts +73 -3
  149. package/dist/charts/engine/model.js +258 -154
  150. package/dist/charts/engine/model.js.map +1 -1
  151. package/dist/charts/engine/orderbook/field.cjs +37 -0
  152. package/dist/charts/engine/orderbook/field.cjs.map +1 -0
  153. package/dist/charts/engine/orderbook/field.d.cts +92 -0
  154. package/dist/charts/engine/orderbook/field.d.ts +92 -0
  155. package/dist/charts/engine/orderbook/field.js +297 -0
  156. package/dist/charts/engine/orderbook/field.js.map +1 -0
  157. package/dist/charts/engine/orderbook/format.cjs +1 -1
  158. package/dist/charts/engine/orderbook/format.cjs.map +1 -1
  159. package/dist/charts/engine/orderbook/format.d.cts +3 -2
  160. package/dist/charts/engine/orderbook/format.d.ts +3 -2
  161. package/dist/charts/engine/orderbook/format.js +5 -5
  162. package/dist/charts/engine/orderbook/format.js.map +1 -1
  163. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  164. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  165. package/dist/charts/engine/orderbook/heatmap.js +566 -475
  166. package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
  167. package/dist/charts/engine/orderbook/host.cjs +1 -1
  168. package/dist/charts/engine/orderbook/host.cjs.map +1 -1
  169. package/dist/charts/engine/orderbook/host.d.cts +8 -1
  170. package/dist/charts/engine/orderbook/host.d.ts +8 -1
  171. package/dist/charts/engine/orderbook/host.js +27 -5
  172. package/dist/charts/engine/orderbook/host.js.map +1 -1
  173. package/dist/charts/engine/orderbook/ladder.cjs +1 -1
  174. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
  175. package/dist/charts/engine/orderbook/ladder.js +1 -1
  176. package/dist/charts/engine/orderbook/ladder.js.map +1 -1
  177. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  178. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  179. package/dist/charts/engine/orderbook/layout.d.cts +42 -0
  180. package/dist/charts/engine/orderbook/layout.d.ts +42 -0
  181. package/dist/charts/engine/orderbook/layout.js +76 -0
  182. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  183. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  184. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  185. package/dist/charts/engine/orderbook/tape.js +4 -4
  186. package/dist/charts/engine/orderbook/tape.js.map +1 -1
  187. package/dist/charts/engine/orderbook/types.d.cts +27 -3
  188. package/dist/charts/engine/orderbook/types.d.ts +27 -3
  189. package/dist/charts/engine/overlay.cjs +1 -1
  190. package/dist/charts/engine/overlay.cjs.map +1 -1
  191. package/dist/charts/engine/overlay.d.cts +27 -0
  192. package/dist/charts/engine/overlay.d.ts +27 -0
  193. package/dist/charts/engine/overlay.js +34 -12
  194. package/dist/charts/engine/overlay.js.map +1 -1
  195. package/dist/charts/engine/presets.cjs +2 -2
  196. package/dist/charts/engine/presets.cjs.map +1 -1
  197. package/dist/charts/engine/presets.d.cts +35 -3
  198. package/dist/charts/engine/presets.d.ts +35 -3
  199. package/dist/charts/engine/presets.js +121 -101
  200. package/dist/charts/engine/presets.js.map +1 -1
  201. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  202. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  203. package/dist/charts/engine/renderers/canvas2d.js +13 -9
  204. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  205. package/dist/charts/engine/renderers/detect.cjs +1 -1
  206. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  207. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  208. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  209. package/dist/charts/engine/renderers/detect.js +23 -21
  210. package/dist/charts/engine/renderers/detect.js.map +1 -1
  211. package/dist/charts/engine/renderers/follow.cjs +2 -0
  212. package/dist/charts/engine/renderers/follow.cjs.map +1 -0
  213. package/dist/charts/engine/renderers/follow.d.cts +8 -0
  214. package/dist/charts/engine/renderers/follow.d.ts +8 -0
  215. package/dist/charts/engine/renderers/follow.js +10 -0
  216. package/dist/charts/engine/renderers/follow.js.map +1 -0
  217. package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
  218. package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
  219. package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
  220. package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
  221. package/dist/charts/engine/renderers/gl-budget.js +95 -0
  222. package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
  223. package/dist/charts/engine/renderers/gl.cjs +1 -1
  224. package/dist/charts/engine/renderers/gl.cjs.map +1 -1
  225. package/dist/charts/engine/renderers/gl.js +1 -1
  226. package/dist/charts/engine/renderers/gl.js.map +1 -1
  227. package/dist/charts/engine/renderers/shaders.cjs +9 -6
  228. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/shaders.d.cts +1 -1
  230. package/dist/charts/engine/renderers/shaders.d.ts +1 -1
  231. package/dist/charts/engine/renderers/shaders.js +9 -6
  232. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  233. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  234. package/dist/charts/engine/renderers/types.d.cts +2 -0
  235. package/dist/charts/engine/renderers/types.d.ts +2 -0
  236. package/dist/charts/engine/renderers/types.js.map +1 -1
  237. package/dist/charts/engine/renderers/webgl.cjs +1 -1
  238. package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
  239. package/dist/charts/engine/renderers/webgl.js +85 -64
  240. package/dist/charts/engine/renderers/webgl.js.map +1 -1
  241. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  242. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  243. package/dist/charts/engine/renderers/webgl2.js +72 -58
  244. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  246. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  247. package/dist/charts/engine/renderers/webgpu.js +1 -1
  248. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  249. package/dist/charts/engine/scene.cjs +1 -1
  250. package/dist/charts/engine/scene.cjs.map +1 -1
  251. package/dist/charts/engine/scene.d.cts +104 -4
  252. package/dist/charts/engine/scene.d.ts +104 -4
  253. package/dist/charts/engine/scene.js +412 -193
  254. package/dist/charts/engine/scene.js.map +1 -1
  255. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  256. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  257. package/dist/charts/engine/shapes/bullet.js +110 -110
  258. package/dist/charts/engine/shapes/bullet.js.map +1 -1
  259. package/dist/charts/engine/shapes/chart.cjs +1 -1
  260. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  261. package/dist/charts/engine/shapes/chart.js +4 -1
  262. package/dist/charts/engine/shapes/chart.js.map +1 -1
  263. package/dist/charts/engine/shapes/chord.cjs +2 -0
  264. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  266. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  267. package/dist/charts/engine/shapes/chord.js +419 -0
  268. package/dist/charts/engine/shapes/chord.js.map +1 -0
  269. package/dist/charts/engine/shapes/draw.cjs +1 -1
  270. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  271. package/dist/charts/engine/shapes/draw.d.cts +5 -1
  272. package/dist/charts/engine/shapes/draw.d.ts +5 -1
  273. package/dist/charts/engine/shapes/draw.js +47 -17
  274. package/dist/charts/engine/shapes/draw.js.map +1 -1
  275. package/dist/charts/engine/shapes/hit.cjs +1 -1
  276. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  278. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  279. package/dist/charts/engine/shapes/hit.js +75 -46
  280. package/dist/charts/engine/shapes/hit.js.map +1 -1
  281. package/dist/charts/engine/shapes/index.d.cts +3 -2
  282. package/dist/charts/engine/shapes/index.d.ts +3 -2
  283. package/dist/charts/engine/shapes/labels.cjs +1 -1
  284. package/dist/charts/engine/shapes/labels.cjs.map +1 -1
  285. package/dist/charts/engine/shapes/labels.js +12 -4
  286. package/dist/charts/engine/shapes/labels.js.map +1 -1
  287. package/dist/charts/engine/shapes/layout.cjs +2 -2
  288. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  289. package/dist/charts/engine/shapes/layout.d.cts +3 -1
  290. package/dist/charts/engine/shapes/layout.d.ts +3 -1
  291. package/dist/charts/engine/shapes/layout.js +106 -78
  292. package/dist/charts/engine/shapes/layout.js.map +1 -1
  293. package/dist/charts/engine/shapes/scene.cjs +1 -1
  294. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  295. package/dist/charts/engine/shapes/scene.d.cts +33 -3
  296. package/dist/charts/engine/shapes/scene.d.ts +33 -3
  297. package/dist/charts/engine/shapes/scene.js +62 -19
  298. package/dist/charts/engine/shapes/scene.js.map +1 -1
  299. package/dist/charts/engine/shapes/types.d.cts +121 -8
  300. package/dist/charts/engine/shapes/types.d.ts +121 -8
  301. package/dist/charts/engine/signature.cjs +1 -1
  302. package/dist/charts/engine/signature.cjs.map +1 -1
  303. package/dist/charts/engine/signature.js +1 -1
  304. package/dist/charts/engine/signature.js.map +1 -1
  305. package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
  306. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
  307. package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
  308. package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
  309. package/dist/charts/engine/three-d/canvas2d.js +166 -67
  310. package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
  311. package/dist/charts/engine/three-d/chart.cjs +1 -1
  312. package/dist/charts/engine/three-d/chart.cjs.map +1 -1
  313. package/dist/charts/engine/three-d/chart.js +219 -215
  314. package/dist/charts/engine/three-d/chart.js.map +1 -1
  315. package/dist/charts/engine/three-d/detect.cjs +1 -1
  316. package/dist/charts/engine/three-d/detect.cjs.map +1 -1
  317. package/dist/charts/engine/three-d/detect.d.cts +3 -2
  318. package/dist/charts/engine/three-d/detect.d.ts +3 -2
  319. package/dist/charts/engine/three-d/detect.js +22 -20
  320. package/dist/charts/engine/three-d/detect.js.map +1 -1
  321. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  322. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  323. package/dist/charts/engine/three-d/geometry.d.cts +6 -0
  324. package/dist/charts/engine/three-d/geometry.d.ts +6 -0
  325. package/dist/charts/engine/three-d/geometry.js +106 -90
  326. package/dist/charts/engine/three-d/geometry.js.map +1 -1
  327. package/dist/charts/engine/three-d/model.cjs +1 -1
  328. package/dist/charts/engine/three-d/model.cjs.map +1 -1
  329. package/dist/charts/engine/three-d/model.d.cts +2 -0
  330. package/dist/charts/engine/three-d/model.d.ts +2 -0
  331. package/dist/charts/engine/three-d/model.js +2 -0
  332. package/dist/charts/engine/three-d/model.js.map +1 -1
  333. package/dist/charts/engine/three-d/oit.cjs +109 -0
  334. package/dist/charts/engine/three-d/oit.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/oit.d.cts +34 -0
  336. package/dist/charts/engine/three-d/oit.d.ts +34 -0
  337. package/dist/charts/engine/three-d/oit.js +111 -0
  338. package/dist/charts/engine/three-d/oit.js.map +1 -0
  339. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  340. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  341. package/dist/charts/engine/three-d/overlay.js +43 -36
  342. package/dist/charts/engine/three-d/overlay.js.map +1 -1
  343. package/dist/charts/engine/three-d/render-types.cjs +1 -1
  344. package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
  345. package/dist/charts/engine/three-d/render-types.d.cts +37 -3
  346. package/dist/charts/engine/three-d/render-types.d.ts +37 -3
  347. package/dist/charts/engine/three-d/render-types.js +6 -10
  348. package/dist/charts/engine/three-d/render-types.js.map +1 -1
  349. package/dist/charts/engine/three-d/shaders.cjs +109 -48
  350. package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
  351. package/dist/charts/engine/three-d/shaders.d.cts +12 -5
  352. package/dist/charts/engine/three-d/shaders.d.ts +12 -5
  353. package/dist/charts/engine/three-d/shaders.js +118 -55
  354. package/dist/charts/engine/three-d/shaders.js.map +1 -1
  355. package/dist/charts/engine/three-d/sort.cjs +1 -1
  356. package/dist/charts/engine/three-d/sort.cjs.map +1 -1
  357. package/dist/charts/engine/three-d/sort.d.cts +18 -5
  358. package/dist/charts/engine/three-d/sort.d.ts +18 -5
  359. package/dist/charts/engine/three-d/sort.js +129 -43
  360. package/dist/charts/engine/three-d/sort.js.map +1 -1
  361. package/dist/charts/engine/three-d/types.d.cts +36 -0
  362. package/dist/charts/engine/three-d/types.d.ts +36 -0
  363. package/dist/charts/engine/three-d/webgl.cjs +1 -1
  364. package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
  365. package/dist/charts/engine/three-d/webgl.d.cts +9 -0
  366. package/dist/charts/engine/three-d/webgl.d.ts +9 -0
  367. package/dist/charts/engine/three-d/webgl.js +199 -74
  368. package/dist/charts/engine/three-d/webgl.js.map +1 -1
  369. package/dist/charts/engine/three-d/webgpu.cjs +1 -1
  370. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
  371. package/dist/charts/engine/three-d/webgpu.js +231 -94
  372. package/dist/charts/engine/three-d/webgpu.js.map +1 -1
  373. package/dist/charts/engine/trading/chart.cjs +1 -1
  374. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  375. package/dist/charts/engine/trading/chart.d.cts +10 -1
  376. package/dist/charts/engine/trading/chart.d.ts +10 -1
  377. package/dist/charts/engine/trading/chart.js +1677 -813
  378. package/dist/charts/engine/trading/chart.js.map +1 -1
  379. package/dist/charts/engine/trading/drawings.cjs +2 -1
  380. package/dist/charts/engine/trading/drawings.cjs.map +1 -1
  381. package/dist/charts/engine/trading/drawings.d.cts +53 -9
  382. package/dist/charts/engine/trading/drawings.d.ts +53 -9
  383. package/dist/charts/engine/trading/drawings.js +346 -71
  384. package/dist/charts/engine/trading/drawings.js.map +1 -1
  385. package/dist/charts/engine/trading/format.cjs +1 -1
  386. package/dist/charts/engine/trading/format.cjs.map +1 -1
  387. package/dist/charts/engine/trading/format.d.cts +19 -0
  388. package/dist/charts/engine/trading/format.d.ts +19 -0
  389. package/dist/charts/engine/trading/format.js +65 -21
  390. package/dist/charts/engine/trading/format.js.map +1 -1
  391. package/dist/charts/engine/trading/geometry.cjs +1 -1
  392. package/dist/charts/engine/trading/geometry.cjs.map +1 -1
  393. package/dist/charts/engine/trading/geometry.d.cts +16 -0
  394. package/dist/charts/engine/trading/geometry.d.ts +16 -0
  395. package/dist/charts/engine/trading/geometry.js +19 -4
  396. package/dist/charts/engine/trading/geometry.js.map +1 -1
  397. package/dist/charts/engine/trading/index.cjs +1 -1
  398. package/dist/charts/engine/trading/index.d.cts +2 -1
  399. package/dist/charts/engine/trading/index.d.ts +2 -1
  400. package/dist/charts/engine/trading/index.js +4 -3
  401. package/dist/charts/engine/trading/indicators.cjs +1 -1
  402. package/dist/charts/engine/trading/indicators.cjs.map +1 -1
  403. package/dist/charts/engine/trading/indicators.d.cts +180 -10
  404. package/dist/charts/engine/trading/indicators.d.ts +180 -10
  405. package/dist/charts/engine/trading/indicators.js +449 -173
  406. package/dist/charts/engine/trading/indicators.js.map +1 -1
  407. package/dist/charts/engine/trading/labels.cjs +1 -1
  408. package/dist/charts/engine/trading/labels.cjs.map +1 -1
  409. package/dist/charts/engine/trading/labels.js +104 -4
  410. package/dist/charts/engine/trading/labels.js.map +1 -1
  411. package/dist/charts/engine/trading/store.cjs +1 -1
  412. package/dist/charts/engine/trading/store.cjs.map +1 -1
  413. package/dist/charts/engine/trading/store.d.cts +21 -0
  414. package/dist/charts/engine/trading/store.d.ts +21 -0
  415. package/dist/charts/engine/trading/store.js +22 -1
  416. package/dist/charts/engine/trading/store.js.map +1 -1
  417. package/dist/charts/engine/trading/studies.cjs +1 -1
  418. package/dist/charts/engine/trading/studies.cjs.map +1 -1
  419. package/dist/charts/engine/trading/studies.d.cts +49 -8
  420. package/dist/charts/engine/trading/studies.d.ts +49 -8
  421. package/dist/charts/engine/trading/studies.js +352 -93
  422. package/dist/charts/engine/trading/studies.js.map +1 -1
  423. package/dist/charts/engine/trading/sync.cjs +2 -0
  424. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  425. package/dist/charts/engine/trading/sync.d.cts +8 -0
  426. package/dist/charts/engine/trading/sync.d.ts +8 -0
  427. package/dist/charts/engine/trading/sync.js +25 -0
  428. package/dist/charts/engine/trading/sync.js.map +1 -0
  429. package/dist/charts/engine/trading/types.d.cts +514 -16
  430. package/dist/charts/engine/trading/types.d.ts +514 -16
  431. package/dist/charts/engine/types.d.cts +106 -11
  432. package/dist/charts/engine/types.d.ts +106 -11
  433. package/dist/charts/index.cjs +1 -1
  434. package/dist/charts/index.d.cts +3 -2
  435. package/dist/charts/index.d.ts +3 -2
  436. package/dist/charts/index.js +30 -22
  437. package/dist/charts/react/charts.cjs +1 -1
  438. package/dist/charts/react/charts.cjs.map +1 -1
  439. package/dist/charts/react/charts.js +51 -34
  440. package/dist/charts/react/charts.js.map +1 -1
  441. package/dist/charts/react/graph.cjs +2 -0
  442. package/dist/charts/react/graph.cjs.map +1 -0
  443. package/dist/charts/react/graph.d.cts +219 -0
  444. package/dist/charts/react/graph.d.ts +219 -0
  445. package/dist/charts/react/graph.js +160 -0
  446. package/dist/charts/react/graph.js.map +1 -0
  447. package/dist/charts/react/orderbook.cjs +1 -1
  448. package/dist/charts/react/orderbook.cjs.map +1 -1
  449. package/dist/charts/react/orderbook.d.cts +3 -1
  450. package/dist/charts/react/orderbook.d.ts +3 -1
  451. package/dist/charts/react/orderbook.js +1 -0
  452. package/dist/charts/react/orderbook.js.map +1 -1
  453. package/dist/charts/react/shapes.cjs +1 -1
  454. package/dist/charts/react/shapes.cjs.map +1 -1
  455. package/dist/charts/react/shapes.d.cts +88 -4
  456. package/dist/charts/react/shapes.d.ts +88 -4
  457. package/dist/charts/react/shapes.js +55 -12
  458. package/dist/charts/react/shapes.js.map +1 -1
  459. package/dist/charts/react/three-d.cjs +1 -1
  460. package/dist/charts/react/three-d.cjs.map +1 -1
  461. package/dist/charts/react/three-d.d.cts +7 -0
  462. package/dist/charts/react/three-d.d.ts +7 -0
  463. package/dist/charts/react/three-d.js +14 -13
  464. package/dist/charts/react/three-d.js.map +1 -1
  465. package/dist/charts/react/trading.cjs +1 -1
  466. package/dist/charts/react/trading.cjs.map +1 -1
  467. package/dist/charts/react/trading.d.cts +54 -2
  468. package/dist/charts/react/trading.d.ts +54 -2
  469. package/dist/charts/react/trading.js +68 -37
  470. package/dist/charts/react/trading.js.map +1 -1
  471. package/dist/charts/react/types.d.cts +11 -0
  472. package/dist/charts/react/types.d.ts +11 -0
  473. package/dist/core/contracts.cjs +1 -1
  474. package/dist/core/contracts.cjs.map +1 -1
  475. package/dist/core/contracts.js +1 -1
  476. package/dist/core/contracts.js.map +1 -1
  477. package/dist/native/charts/src/canvas.cjs +1 -1
  478. package/dist/native/charts/src/canvas.js +5 -4
  479. package/dist/native/charts/src/engine/axis.cjs +1 -1
  480. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  481. package/dist/native/charts/src/engine/axis.js +42 -19
  482. package/dist/native/charts/src/engine/axis.js.map +1 -1
  483. package/dist/native/charts/src/engine/color.cjs +1 -1
  484. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  485. package/dist/native/charts/src/engine/color.js +47 -5
  486. package/dist/native/charts/src/engine/color.js.map +1 -1
  487. package/dist/native/charts/src/engine/controller.cjs +2 -2
  488. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  489. package/dist/native/charts/src/engine/controller.js +296 -251
  490. package/dist/native/charts/src/engine/controller.js.map +1 -1
  491. package/dist/native/charts/src/engine/data.cjs +1 -1
  492. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  493. package/dist/native/charts/src/engine/data.js +6 -4
  494. package/dist/native/charts/src/engine/data.js.map +1 -1
  495. package/dist/native/charts/src/engine/format.cjs +1 -1
  496. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  497. package/dist/native/charts/src/engine/format.js +15 -2
  498. package/dist/native/charts/src/engine/format.js.map +1 -1
  499. package/dist/native/charts/src/engine/labels.cjs +1 -1
  500. package/dist/native/charts/src/engine/labels.cjs.map +1 -1
  501. package/dist/native/charts/src/engine/labels.js +42 -5
  502. package/dist/native/charts/src/engine/labels.js.map +1 -1
  503. package/dist/native/charts/src/engine/layout.cjs +1 -1
  504. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  505. package/dist/native/charts/src/engine/layout.js +11 -2
  506. package/dist/native/charts/src/engine/layout.js.map +1 -1
  507. package/dist/native/charts/src/engine/model.cjs +1 -1
  508. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  509. package/dist/native/charts/src/engine/model.js +278 -174
  510. package/dist/native/charts/src/engine/model.js.map +1 -1
  511. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  512. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  513. package/dist/native/charts/src/engine/presets.cjs +2 -2
  514. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  515. package/dist/native/charts/src/engine/presets.js +110 -90
  516. package/dist/native/charts/src/engine/presets.js.map +1 -1
  517. package/dist/native/charts/src/engine/scene.cjs +1 -1
  518. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  519. package/dist/native/charts/src/engine/scene.js +421 -202
  520. package/dist/native/charts/src/engine/scene.js.map +1 -1
  521. package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
  522. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
  523. package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
  524. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
  525. package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
  526. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
  527. package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
  528. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
  529. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  530. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  531. package/dist/native/charts/src/engine/shapes/chord.js +419 -0
  532. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  533. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  534. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  535. package/dist/native/charts/src/engine/shapes/draw.js +47 -17
  536. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  537. package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
  538. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
  539. package/dist/native/charts/src/engine/shapes/hit.js +73 -44
  540. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
  541. package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
  542. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
  543. package/dist/native/charts/src/engine/shapes/labels.js +12 -4
  544. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
  545. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  546. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  547. package/dist/native/charts/src/engine/shapes/layout.js +136 -94
  548. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  549. package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
  550. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
  551. package/dist/native/charts/src/engine/shapes/scene.js +62 -19
  552. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
  553. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  554. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  555. package/dist/native/components/Chart/ChartBase.js +127 -115
  556. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  557. package/dist/native/components/Chart/charts.cjs +1 -1
  558. package/dist/native/components/Chart/charts.cjs.map +1 -1
  559. package/dist/native/components/Chart/charts.js +8 -5
  560. package/dist/native/components/Chart/charts.js.map +1 -1
  561. package/dist/native/components/Chart/scene.cjs +1 -1
  562. package/dist/native/components/Chart/scene.cjs.map +1 -1
  563. package/dist/native/components/Chart/scene.d.cts +6 -1
  564. package/dist/native/components/Chart/scene.d.ts +6 -1
  565. package/dist/native/components/Chart/scene.js +226 -108
  566. package/dist/native/components/Chart/scene.js.map +1 -1
  567. package/dist/native/components/Chart/types.d.cts +7 -1
  568. package/dist/native/components/Chart/types.d.ts +7 -1
  569. package/dist/native/components/Charts/charts.cjs +1 -1
  570. package/dist/native/components/Charts/charts.cjs.map +1 -1
  571. package/dist/native/components/Charts/charts.js +60 -43
  572. package/dist/native/components/Charts/charts.js.map +1 -1
  573. package/dist/native/components/Charts/types.d.cts +11 -0
  574. package/dist/native/components/Charts/types.d.ts +11 -0
  575. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
  576. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
  577. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
  578. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
  579. package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
  580. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
  581. package/dist/native/components/ShapeChart/charts.cjs +1 -1
  582. package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
  583. package/dist/native/components/ShapeChart/charts.d.cts +6 -1
  584. package/dist/native/components/ShapeChart/charts.d.ts +6 -1
  585. package/dist/native/components/ShapeChart/charts.js +138 -96
  586. package/dist/native/components/ShapeChart/charts.js.map +1 -1
  587. package/dist/native/components/ShapeChart/draw.cjs +1 -1
  588. package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
  589. package/dist/native/components/ShapeChart/draw.d.cts +1 -1
  590. package/dist/native/components/ShapeChart/draw.d.ts +1 -1
  591. package/dist/native/components/ShapeChart/draw.js +26 -17
  592. package/dist/native/components/ShapeChart/draw.js.map +1 -1
  593. package/dist/native/components/ShapeChart/geometry.cjs +1 -1
  594. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
  595. package/dist/native/components/ShapeChart/geometry.js +233 -70
  596. package/dist/native/components/ShapeChart/geometry.js.map +1 -1
  597. package/dist/native/components/ShapeChart/index.cjs +1 -1
  598. package/dist/native/components/ShapeChart/index.d.cts +1 -1
  599. package/dist/native/components/ShapeChart/index.d.ts +1 -1
  600. package/dist/native/components/ShapeChart/index.js +2 -2
  601. package/dist/native/components/ShapeChart/recorder.cjs +1 -1
  602. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
  603. package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
  604. package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
  605. package/dist/native/components/ShapeChart/recorder.js +19 -10
  606. package/dist/native/components/ShapeChart/recorder.js.map +1 -1
  607. package/dist/native/components/ShapeChart/types.d.cts +95 -8
  608. package/dist/native/components/ShapeChart/types.d.ts +95 -8
  609. package/dist/native/index.cjs +1 -1
  610. package/dist/native/index.js +2 -2
  611. package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
  612. package/dist/native/source/components/Chart/charts.tsx +10 -3
  613. package/dist/native/source/components/Chart/scene.tsx +243 -14
  614. package/dist/native/source/components/Chart/types.ts +7 -0
  615. package/dist/native/source/components/Charts/charts.tsx +37 -2
  616. package/dist/native/source/components/Charts/types.ts +11 -0
  617. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
  618. package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
  619. package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
  620. package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
  621. package/dist/native/source/components/ShapeChart/index.ts +1 -0
  622. package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
  623. package/dist/native/source/components/ShapeChart/types.ts +99 -6
  624. package/dist/native/source/manifest.ts +1 -0
  625. package/dist/taro/chart-a11y.d.ts +7 -0
  626. package/dist/taro/charts.d.ts +29 -6
  627. package/dist/taro/index.js +3129 -1902
  628. package/dist/taro/shape-charts.d.ts +99 -5
  629. package/dist/uni/AreaChart.vue +2 -1
  630. package/dist/uni/AreaChart.vue.d.ts +5 -1
  631. package/dist/uni/Badge.vue.d.ts +1 -1
  632. package/dist/uni/BarChart.vue +2 -1
  633. package/dist/uni/BarChart.vue.d.ts +5 -1
  634. package/dist/uni/BoxPlotChart.vue +2 -1
  635. package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
  636. package/dist/uni/BubbleChart.vue +2 -1
  637. package/dist/uni/BubbleChart.vue.d.ts +4 -0
  638. package/dist/uni/BulletChart.vue.d.ts +4 -0
  639. package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
  640. package/dist/uni/CandlestickChart.vue +2 -1
  641. package/dist/uni/CandlestickChart.vue.d.ts +4 -0
  642. package/dist/uni/Chart.vue +2 -1
  643. package/dist/uni/Chart.vue.d.ts +4 -0
  644. package/dist/uni/ChordChart.vue +93 -0
  645. package/dist/uni/ChordChart.vue.d.ts +136 -0
  646. package/dist/uni/Divider.vue.d.ts +1 -1
  647. package/dist/uni/DonutChart.vue.d.ts +5 -1
  648. package/dist/uni/FunnelChart.vue.d.ts +4 -0
  649. package/dist/uni/GanttChart.vue +2 -1
  650. package/dist/uni/GanttChart.vue.d.ts +15 -0
  651. package/dist/uni/GaugeChart.vue.d.ts +5 -1
  652. package/dist/uni/HeatmapChart.vue +2 -1
  653. package/dist/uni/HeatmapChart.vue.d.ts +8 -2
  654. package/dist/uni/HistogramChart.vue +2 -1
  655. package/dist/uni/HistogramChart.vue.d.ts +4 -0
  656. package/dist/uni/HorizontalBarChart.vue +2 -1
  657. package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
  658. package/dist/uni/LineChart.vue +2 -1
  659. package/dist/uni/LineChart.vue.d.ts +4 -0
  660. package/dist/uni/MixedChart.vue +2 -1
  661. package/dist/uni/MixedChart.vue.d.ts +4 -0
  662. package/dist/uni/PieChart.vue.d.ts +5 -1
  663. package/dist/uni/QuadrantChart.vue +2 -1
  664. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  665. package/dist/uni/RadarChart.vue.d.ts +4 -0
  666. package/dist/uni/RadialBarChart.vue.d.ts +4 -0
  667. package/dist/uni/RangeAreaChart.vue +2 -1
  668. package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
  669. package/dist/uni/SankeyChart.vue.d.ts +4 -0
  670. package/dist/uni/ScatterChart.vue +2 -1
  671. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  672. package/dist/uni/Sparkline.vue +2 -1
  673. package/dist/uni/Sparkline.vue.d.ts +4 -0
  674. package/dist/uni/SunburstChart.vue.d.ts +4 -0
  675. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  676. package/dist/uni/TreemapChart.vue.d.ts +4 -0
  677. package/dist/uni/WaterfallChart.vue +2 -1
  678. package/dist/uni/WaterfallChart.vue.d.ts +9 -0
  679. package/dist/uni/chart-a11y.d.ts +7 -0
  680. package/dist/uni/chart-a11y.js +29 -0
  681. package/dist/uni/chart-canvas.d.ts +12 -0
  682. package/dist/uni/chart-canvas.js +15 -1
  683. package/dist/uni/chart-types.d.ts +36 -5
  684. package/dist/uni/chart-types.js +31 -3
  685. package/dist/uni/charts-canvas.js +3 -2
  686. package/dist/uni/index.d.ts +2 -1
  687. package/dist/uni/index.js +1 -0
  688. package/dist/uni/manifest.d.ts +7 -0
  689. package/dist/uni/manifest.js +10 -0
  690. package/dist/uni/named-chart-options.d.ts +11 -2
  691. package/dist/uni/named-chart-options.js +21 -1
  692. package/dist/uni/shape-chart-canvas.d.ts +3 -3
  693. package/dist/uni/shape-chart-canvas.js +17 -58
  694. package/dist/uni/shape-chart-types.d.ts +53 -3
  695. package/dist/uni/shape-chart-types.js +45 -1
  696. package/dist/vue/charts-global.d.ts +48 -0
  697. package/dist/vue/charts.d.ts +18 -0
  698. package/dist/vue/charts.js +56 -0
  699. package/dist/vue/charts.js.map +1 -0
  700. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +2 -0
  701. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
  702. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
  703. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
  704. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  705. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  706. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  707. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  708. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  709. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  710. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +181 -0
  711. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  712. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  713. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  714. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  715. package/dist/vue/components/Chart/GanttChart.vue.d.ts +19 -0
  716. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
  717. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
  718. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  719. package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -0
  720. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  721. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  722. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  723. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  724. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
  725. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
  726. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
  727. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  728. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
  729. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
  730. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
  731. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
  732. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
  733. package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
  734. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
  735. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
  736. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  737. package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -0
  738. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  739. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  740. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  741. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  742. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
  743. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
  744. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
  745. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  746. package/dist/vue/components/Chart/graph.d.ts +156 -0
  747. package/dist/vue/components/Chart/graph.js +137 -0
  748. package/dist/vue/components/Chart/graph.js.map +1 -0
  749. package/dist/vue/components/Chart/index.d.ts +5 -1
  750. package/dist/vue/components/Chart/index.js +5 -1
  751. package/dist/vue/components/Chart/orderbook.d.ts +5 -1
  752. package/dist/vue/components/Chart/orderbook.js +2 -0
  753. package/dist/vue/components/Chart/orderbook.js.map +1 -1
  754. package/dist/vue/components/Chart/three-d.d.ts +3 -0
  755. package/dist/vue/components/Chart/three-d.js +2 -0
  756. package/dist/vue/components/Chart/three-d.js.map +1 -1
  757. package/dist/vue/components/Chart/trading.d.ts +30 -3
  758. package/dist/vue/components/Chart/trading.js +9 -0
  759. package/dist/vue/components/Chart/trading.js.map +1 -1
  760. package/dist/vue/components/Chart/types.d.ts +74 -2
  761. package/dist/vue/global.d.ts +2 -38
  762. package/dist/vue/groups/charts.js +10 -2
  763. package/dist/vue/groups/charts.js.map +1 -1
  764. package/dist/vue/index.js +6 -2
  765. package/dist/vue/internal/register.d.ts +7 -0
  766. package/dist/vue/internal/register.js +14 -0
  767. package/dist/vue/internal/register.js.map +1 -0
  768. package/dist/vue/plugin.d.ts +9 -4
  769. package/dist/vue/plugin.js +6 -11
  770. package/dist/vue/plugin.js.map +1 -1
  771. package/dist/weapp/area-chart/index.wxml +1 -1
  772. package/dist/weapp/bar-chart/index.wxml +1 -1
  773. package/dist/weapp/box-plot-chart/index.wxml +1 -1
  774. package/dist/weapp/bubble-chart/index.wxml +1 -1
  775. package/dist/weapp/candlestick-chart/index.wxml +1 -1
  776. package/dist/weapp/chart/index.wxml +1 -1
  777. package/dist/weapp/charts/canvas.js +1987 -175
  778. package/dist/weapp/charts/core.js +3 -0
  779. package/dist/weapp/chord-chart/index.js +1 -0
  780. package/dist/weapp/chord-chart/index.json +1 -0
  781. package/dist/weapp/chord-chart/index.wxml +1 -0
  782. package/dist/weapp/chord-chart/index.wxss +1 -0
  783. package/dist/weapp/controls.js +148 -57
  784. package/dist/weapp/gantt-chart/index.wxml +1 -1
  785. package/dist/weapp/heatmap-chart/index.wxml +1 -1
  786. package/dist/weapp/histogram-chart/index.wxml +1 -1
  787. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
  788. package/dist/weapp/line-chart/index.wxml +1 -1
  789. package/dist/weapp/mixed-chart/index.wxml +1 -1
  790. package/dist/weapp/quadrant-chart/index.wxml +1 -1
  791. package/dist/weapp/range-area-chart/index.wxml +1 -1
  792. package/dist/weapp/scatter-chart/index.wxml +1 -1
  793. package/dist/weapp/sparkline/index.wxml +1 -1
  794. package/dist/weapp/types.d.ts +96 -4
  795. package/dist/weapp/waterfall-chart/index.wxml +1 -1
  796. package/dist/web-components/components/chart/charts.d.ts +4 -2
  797. package/dist/web-components/components/chart/charts.js +8 -1
  798. package/dist/web-components/components/chart/charts.js.map +1 -1
  799. package/dist/web-components/components/chart/extended.d.ts +21 -7
  800. package/dist/web-components/components/chart/extended.js +29 -9
  801. package/dist/web-components/components/chart/extended.js.map +1 -1
  802. package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
  803. package/dist/web-components/components/chart/shapes-extended.js +27 -1
  804. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  805. package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
  806. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
  807. package/dist/web-components/components/graph/graph.d.ts +156 -0
  808. package/dist/web-components/components/graph/graph.js +150 -0
  809. package/dist/web-components/components/graph/graph.js.map +1 -0
  810. package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
  811. package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
  812. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
  813. package/dist/web-components/elements/chart.d.ts +1 -1
  814. package/dist/web-components/elements/chart.js +6 -5
  815. package/dist/web-components/elements/chart.js.map +1 -1
  816. package/dist/web-components/elements/graph.d.ts +2 -0
  817. package/dist/web-components/elements/graph.js +12 -0
  818. package/dist/web-components/elements/graph.js.map +1 -0
  819. package/dist/web-components/html-custom-data.json +318 -4
  820. package/dist/web-components/types/react.d.ts +63 -4
  821. package/dist/web-components/types/solid.d.ts +55 -8
  822. package/dist/web-components/types/svelte.d.ts +55 -8
  823. package/dist/web-components/types/vue.d.ts +55 -4
  824. package/package.json +16 -1
@@ -1 +1 @@
1
- {"version":3,"file":"extended.js","names":["_decorate","__decorate","MinervaHorizontalBarChart","MinervaBarChart","options","MinervaRangeAreaChart","SeriesChartElement","_args","withSeriesType","series","s","property","MinervaMixedChart","MinervaBubbleChart","_args2","bubbleSeries","binning","value","MinervaHistogramChart","MinervaCartesianChartElement","_args3","histogramSeries","whiskerReach","MinervaBoxPlotChart","_args4","boxplotData","MinervaWaterfallChart","_args5","waterfallSeries","MinervaGanttChart","_args6","gantt","ganttSeries","today","now","lines"],"sources":["../../../../../web-components/src/components/chart/extended.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport {\n boxplotData,\n bubbleSeries,\n ganttSeries,\n histogramSeries,\n waterfallSeries,\n type BoxplotGroup,\n type ChartAnnotation,\n type ChartOptions,\n type ChartSeries,\n type GanttTask,\n type HistogramBinning,\n type WaterfallStep,\n} from \"minerva-design/charts/core\";\nimport { MinervaCartesianChartElement } from \"./chart\";\nimport {\n MinervaBarChart,\n SeriesChartElement,\n type ChartBaseOptions,\n} from \"./charts\";\nimport { withSeriesType } from \"./series\";\n\n/**\n * Horizontal bar chart of `minerva-design/charts/core` (the\n * `<HorizontalBarChart>` of React): categories down the left side, values\n * from the left (rankings, long names, diverging surveys, stacked\n * progress). The series without a `type` are drawn as bars.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bar chart drawn from the left: rankings and long names.\n * @tag minerva-horizontal-bar-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaHorizontalBarChart extends MinervaBarChart {\n static override tagName = \"minerva-horizontal-bar-chart\";\n\n protected override engineOptions(): ChartOptions | null {\n const options = super.engineOptions();\n return options && { ...options, orientation: \"horizontal\" };\n }\n}\n\n/**\n * Range area chart of `minerva-design/charts/core` (the `<RangeAreaChart>`\n * of React): bands between a lower (`y0`) and an upper edge (`y`) of every\n * point (confidence intervals, min-max ranges), mixable with lines. The\n * series without a `type` are drawn as bands.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bands between a lower and an upper edge.\n * @tag minerva-range-area-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaRangeAreaChart extends SeriesChartElement {\n static override tagName = \"minerva-range-area-chart\";\n\n /** Shape of the edges: straight, smooth (monotone) or steps */\n @property()\n curve: \"linear\" | \"smooth\" | \"step\" = \"smooth\";\n\n protected typed(series: readonly ChartSeries[]): ChartSeries[] {\n return withSeriesType(series, \"area\", undefined, this.curve).map((s) =>\n s.type === \"area\" ? { ...s, lineWidth: s.lineWidth ?? 1.5 } : s,\n );\n }\n}\n\n/**\n * Combination chart of `minerva-design/charts/core` (the `<MixedChart>` of\n * React): bars, lines, areas and dots, each series with its `type`, on one\n * or two value axes (`yAxis: \"right\"` series use `options.yAxis2`).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU combination of bars, lines and areas on two value axes.\n * @tag minerva-mixed-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaMixedChart extends SeriesChartElement {\n static override tagName = \"minerva-mixed-chart\";\n\n protected typed(series: readonly ChartSeries[]): ChartSeries[] {\n return withSeriesType(series, \"line\");\n }\n}\n\n/**\n * Bubble chart of `minerva-design/charts/core` (the `<BubbleChart>` of\n * React): x, y and a `value` per point sized by area (√value diameters,\n * one scale for every series). The series without a `type` are drawn as\n * bubbles.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bubble chart: x, y and a value sized by area.\n * @tag minerva-bubble-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBubbleChart extends SeriesChartElement {\n static override tagName = \"minerva-bubble-chart\";\n\n /** Diameter in pixels of the smallest bubbles */\n @property({ type: Number, attribute: \"min-size\" })\n minSize = 6;\n\n /** Diameter in pixels of the largest value */\n @property({ type: Number, attribute: \"max-size\" })\n maxSize = 48;\n\n /** Value drawn with `max-size` (share a scale between charts); the largest value by default */\n @property({ type: Number, attribute: \"max-value\" })\n maxValue?: number;\n\n protected typed(series: readonly ChartSeries[]): ChartSeries[] {\n return bubbleSeries(series, {\n minSize: this.minSize,\n maxSize: this.maxSize,\n maxValue: this.maxValue,\n });\n }\n}\n\nconst binning = {\n fromAttribute: (value: string | null): HistogramBinning | undefined =>\n value === null\n ? undefined\n : /^\\d+$/.test(value)\n ? Number(value)\n : (value as HistogramBinning),\n};\n\n/**\n * Histogram of `minerva-design/charts/core` (the `<HistogramChart>` of\n * React): the distribution of raw samples in bins of equal width\n * (Freedman-Diaconis, Sturges or a count); millions of samples are binned\n * in milliseconds.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU histogram of raw samples, binned automatically.\n * @tag minerva-histogram-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaHistogramChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-histogram-chart\";\n\n /** Raw samples (typed arrays are counted without copies); property only */\n @property({ attribute: false })\n values?: ArrayLike<number>;\n\n /** Number of bins, or the rule choosing it: `auto`, `sturges`, `freedman-diaconis` */\n @property({ converter: binning })\n bins: HistogramBinning = \"auto\";\n\n /** Range covered by the bins (the data range by default); property only */\n @property({ attribute: false })\n domain?: readonly [number, number];\n\n /** Rounds the bin width to 1, 2 or 5 × 10^k and aligns the edges on it; property only */\n @property({ attribute: false })\n nice = true;\n\n /** Name of the counts (legend, tooltip; default \"Count\") */\n @property({ attribute: \"value-name\" })\n valueName?: string;\n\n /** Bar color (any CSS color) */\n @property()\n color?: string;\n\n /** Formats the edges of the bins in the tooltip; property only */\n @property({ attribute: false })\n formatBin?: (value: number) => string;\n\n /** More series drawn over the bins (e.g. a density `line`); property only */\n @property({ attribute: false })\n series?: readonly ChartSeries[];\n\n /** Other engine options (axes, legend, tooltip, annotations...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n protected engineOptions(): ChartOptions | null {\n if (!this.values) return null;\n return {\n ...this.options,\n series: [\n histogramSeries(this.values, {\n bins: this.bins,\n domain: this.domain,\n nice: this.nice,\n name: this.valueName,\n color: this.color,\n format: this.formatBin,\n }),\n ...(this.series ?? []),\n ],\n };\n }\n}\n\nconst whiskerReach = {\n fromAttribute: (value: string | null): number | \"minmax\" | undefined =>\n value === null ? undefined : value === \"minmax\" ? value : Number(value),\n};\n\n/**\n * Box plot of `minerva-design/charts/core` (the `<BoxPlotChart>` of\n * React): medians, quartiles, whiskers and outliers of samples, from raw\n * values (`groups`) or computed statistics (`series`).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU box plot of raw samples or computed quartiles.\n * @tag minerva-box-plot-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBoxPlotChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-box-plot-chart\";\n\n /** Raw samples `{ x, values, color }`, one box each; property only */\n @property({ attribute: false })\n groups?: readonly BoxplotGroup[];\n\n /** Series of computed box plots (`low`, `q1`, `y` the median, `q3`, `high`, `outliers`); property only */\n @property({ attribute: false })\n series?: readonly ChartSeries[];\n\n /** Name of the series built from `groups` (default \"Values\") */\n @property({ attribute: \"value-name\" })\n valueName?: string;\n\n /** Reach of the whiskers in interquartile ranges (Tukey: 1.5), or `minmax` */\n @property({ converter: whiskerReach })\n whisker: number | \"minmax\" = 1.5;\n\n /** `horizontal` lays the boxes out in rows */\n @property()\n orientation: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Other engine options (axes, legend, tooltip, annotations...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n protected engineOptions(): ChartOptions | null {\n if (!this.groups?.length && !this.series) return null;\n return {\n ...this.options,\n orientation: this.orientation,\n series: withSeriesType(\n [\n ...(this.groups?.length\n ? [\n {\n id: \"boxplot\",\n name: this.valueName ?? \"Values\",\n data: boxplotData(this.groups, { whisker: this.whisker }),\n },\n ]\n : []),\n ...(this.series ?? []),\n ],\n \"boxplot\",\n ),\n };\n }\n}\n\n/**\n * Waterfall (bridge) chart of `minerva-design/charts/core` (the\n * `<WaterfallChart>` of React): how changes take a value from a start to an\n * end, with subtotals and totals (P&L bridges, budget variances).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bridge of changes, subtotals and totals.\n * @tag minerva-waterfall-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaWaterfallChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-waterfall-chart\";\n\n /** Changes, subtotals and totals `{ label, value, kind, color }`, in order; property only */\n @property({ attribute: false })\n steps?: readonly WaterfallStep[];\n\n /** Name of the series in the tooltip (default \"Change\") */\n @property({ attribute: \"value-name\" })\n valueName?: string;\n\n /** Color of the increases (the success color by default) */\n @property({ attribute: \"up-color\" })\n upColor?: string;\n\n /** Color of the decreases (the danger color by default) */\n @property({ attribute: \"down-color\" })\n downColor?: string;\n\n /** Color of the totals and subtotals (the primary color by default) */\n @property({ attribute: \"total-color\" })\n totalColor?: string;\n\n /** Value the first change starts from */\n @property({ type: Number })\n start = 0;\n\n /** Hides the change (or total) written at the end of every bar */\n @property({ type: Boolean, attribute: \"hide-labels\" })\n hideLabels = false;\n\n /** Formats the values (labels, tooltip); property only */\n @property({ attribute: false })\n format?: (value: number) => string;\n\n /** `horizontal` lays the steps out in rows */\n @property()\n orientation: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Other engine options (axes, tooltip, annotations...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n protected engineOptions(): ChartOptions | null {\n if (!this.steps) return null;\n return {\n ...this.options,\n orientation: this.orientation,\n series: [\n waterfallSeries(this.steps, {\n name: this.valueName,\n upColor: this.upColor,\n downColor: this.downColor,\n totalColor: this.totalColor,\n start: this.start,\n labels: !this.hideLabels,\n format: this.format,\n }),\n ],\n };\n }\n}\n\n/**\n * Gantt chart of `minerva-design/charts/core` (the `<GanttChart>` of\n * React): tasks as bars on a time axis with their progress, groups,\n * milestones and a today line; zooms and pans along the time.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU Gantt chart of tasks, progress and milestones.\n * @tag minerva-gantt-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaGanttChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-gantt-chart\";\n\n /** Tasks and milestones `{ name, start, end, progress, group, color, milestone }`, from top to bottom; property only */\n @property({ attribute: false })\n tasks?: readonly GanttTask[];\n\n /** Colors of the groups in order of appearance (the chart palette by default); property only */\n @property({ attribute: false })\n colors?: readonly string[];\n\n /** Name of the tasks without a group */\n @property({ attribute: \"task-name\" })\n taskName = \"Tasks\";\n\n /** Name of the progress bars (legend, tooltip) */\n @property({ attribute: \"progress-name\" })\n progressName = \"Progress\";\n\n /** Name of the milestones (legend, tooltip) */\n @property({ attribute: \"milestone-name\" })\n milestoneName = \"Milestones\";\n\n /** Formats the progress shares (tooltip, default \"60%\"); property only */\n @property({ attribute: false })\n formatProgress?: (share: number) => string;\n\n /** Draws a line at this date (`true`: now); property only */\n @property({ attribute: false })\n today: boolean | number | Date = false;\n\n /** Label of the today line */\n @property({ attribute: \"today-label\" })\n todayLabel?: string;\n\n /** Other engine options (axes, legend, annotations, interaction...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n private mountedAt = Date.now();\n\n protected engineOptions(): ChartOptions | null {\n if (!this.tasks) return null;\n const gantt = ganttSeries(this.tasks, {\n colors: this.colors,\n taskName: this.taskName,\n progressName: this.progressName,\n milestoneName: this.milestoneName,\n formatProgress: this.formatProgress,\n });\n const today = this.today;\n const now =\n today === false\n ? null\n : today === true\n ? this.mountedAt\n : today instanceof Date\n ? today.getTime()\n : today;\n const lines: ChartAnnotation[] =\n now === null\n ? []\n : [\n {\n type: \"line\",\n axis: \"y\",\n value: now,\n color: \"var(--danger-color, #dc2626)\",\n dash: [4, 3],\n label: this.todayLabel,\n },\n ];\n const options = this.options ?? {};\n return {\n ...options,\n series: gantt.series,\n orientation: \"horizontal\",\n xAxis: {\n type: \"category\",\n categories: gantt.categories,\n ...options.xAxis,\n },\n yAxis: {\n type: \"time\",\n min: gantt.domain[0],\n max: gantt.domain[1],\n ...options.yAxis,\n },\n annotations: [...(options.annotations ?? []), ...lines],\n interaction: options.interaction ?? { zoom: \"y\" },\n legend: options.legend ?? gantt.series.length > 1,\n };\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"minerva-horizontal-bar-chart\": MinervaHorizontalBarChart;\n \"minerva-range-area-chart\": MinervaRangeAreaChart;\n \"minerva-mixed-chart\": MinervaMixedChart;\n \"minerva-bubble-chart\": MinervaBubbleChart;\n \"minerva-histogram-chart\": MinervaHistogramChart;\n \"minerva-box-plot-chart\": MinervaBoxPlotChart;\n \"minerva-waterfall-chart\": MinervaWaterfallChart;\n \"minerva-gantt-chart\": MinervaGanttChart;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"extended.js","names":["_decorate","__decorate","MinervaHorizontalBarChart","MinervaBarChart","options","MinervaRangeAreaChart","SeriesChartElement","_args","withSeriesType","series","s","property","MinervaMixedChart","MinervaBubbleChart","_args2","bubbleSeries","binning","value","MinervaHistogramChart","MinervaCartesianChartElement","_args3","histogramSeries","whiskerReach","MinervaBoxPlotChart","_args4","boxplotData","MinervaWaterfallChart","_args5","waterfallSeries","MinervaGanttChart","_args6","gantt","ganttSeries","today","now","lines"],"sources":["../../../../../web-components/src/components/chart/extended.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport {\n boxplotData,\n bubbleSeries,\n ganttSeries,\n histogramSeries,\n waterfallSeries,\n type BoxplotGroup,\n type ChartAnnotation,\n type ChartConnectorOptions,\n type ChartOptions,\n type ChartSeries,\n type GanttTask,\n type HistogramBinning,\n type WaterfallStep,\n} from \"minerva-design/charts/core\";\nimport { MinervaCartesianChartElement } from \"./chart\";\nimport {\n MinervaBarChart,\n SeriesChartElement,\n type ChartBaseOptions,\n} from \"./charts\";\nimport { withSeriesType } from \"./series\";\n\n/**\n * Horizontal bar chart of `minerva-design/charts/core` (the\n * `<HorizontalBarChart>` of React): categories down the left side, values\n * from the left (rankings, long names, diverging surveys, stacked\n * progress). The series without a `type` are drawn as bars.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bar chart drawn from the left: rankings and long names.\n * @tag minerva-horizontal-bar-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaHorizontalBarChart extends MinervaBarChart {\n static override tagName = \"minerva-horizontal-bar-chart\";\n\n protected override engineOptions(): ChartOptions | null {\n const options = super.engineOptions();\n return options && { ...options, orientation: \"horizontal\" };\n }\n}\n\n/**\n * Range area chart of `minerva-design/charts/core` (the `<RangeAreaChart>`\n * of React): bands between a lower (`y0`) and an upper edge (`y`) of every\n * point (confidence intervals, min-max ranges), mixable with lines. The\n * series without a `type` are drawn as bands.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bands between a lower and an upper edge.\n * @tag minerva-range-area-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaRangeAreaChart extends SeriesChartElement {\n static override tagName = \"minerva-range-area-chart\";\n\n /** Shape of the edges: straight, smooth (monotone) or steps */\n @property()\n curve: \"linear\" | \"smooth\" | \"step\" = \"smooth\";\n\n protected typed(series: readonly ChartSeries[]): ChartSeries[] {\n return withSeriesType(series, \"area\", undefined, this.curve).map((s) =>\n s.type === \"area\" ? { ...s, lineWidth: s.lineWidth ?? 1.5 } : s,\n );\n }\n}\n\n/**\n * Combination chart of `minerva-design/charts/core` (the `<MixedChart>` of\n * React): bars, lines, areas and dots, each series with its `type`, on one\n * or two value axes (`yAxis: \"right\"` series use `options.yAxis2`).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU combination of bars, lines and areas on two value axes.\n * @tag minerva-mixed-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaMixedChart extends SeriesChartElement {\n static override tagName = \"minerva-mixed-chart\";\n\n protected typed(series: readonly ChartSeries[]): ChartSeries[] {\n return withSeriesType(series, \"line\");\n }\n}\n\n/**\n * Bubble chart of `minerva-design/charts/core` (the `<BubbleChart>` of\n * React): x, y and a `value` per point sized by area (√value diameters,\n * one scale for every series). The series without a `type` are drawn as\n * bubbles.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bubble chart: x, y and a value sized by area.\n * @tag minerva-bubble-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBubbleChart extends SeriesChartElement {\n static override tagName = \"minerva-bubble-chart\";\n\n /** Diameter in pixels of the smallest bubbles */\n @property({ type: Number, attribute: \"min-size\" })\n minSize = 6;\n\n /** Diameter in pixels of the largest value */\n @property({ type: Number, attribute: \"max-size\" })\n maxSize = 48;\n\n /** Value drawn with `max-size` (share a scale between charts); the largest value by default */\n @property({ type: Number, attribute: \"max-value\" })\n maxValue?: number;\n\n protected typed(series: readonly ChartSeries[]): ChartSeries[] {\n return bubbleSeries(series, {\n minSize: this.minSize,\n maxSize: this.maxSize,\n maxValue: this.maxValue,\n });\n }\n}\n\nconst binning = {\n fromAttribute: (value: string | null): HistogramBinning | undefined =>\n value === null\n ? undefined\n : /^\\d+$/.test(value)\n ? Number(value)\n : (value as HistogramBinning),\n};\n\n/**\n * Histogram of `minerva-design/charts/core` (the `<HistogramChart>` of\n * React): the distribution of raw samples in bins of equal width\n * (Freedman-Diaconis, Sturges or a count); millions of samples are binned\n * in milliseconds.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU histogram of raw samples, binned automatically.\n * @tag minerva-histogram-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaHistogramChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-histogram-chart\";\n\n /** Raw samples (typed arrays are counted without copies); property only */\n @property({ attribute: false })\n values?: ArrayLike<number>;\n\n /** Number of bins, or the rule choosing it: `auto`, `sturges`, `freedman-diaconis` */\n @property({ converter: binning })\n bins: HistogramBinning = \"auto\";\n\n /** Range covered by the bins (the data range by default); property only */\n @property({ attribute: false })\n domain?: readonly [number, number];\n\n /** Rounds the bin width to 1, 2 or 5 × 10^k and aligns the edges on it; property only */\n @property({ attribute: false })\n nice = true;\n\n /** Name of the counts (legend, tooltip; default \"Count\") */\n @property({ attribute: \"value-name\" })\n valueName?: string;\n\n /** Bar color (any CSS color) */\n @property()\n color?: string;\n\n /** Formats the edges of the bins in the tooltip; property only */\n @property({ attribute: false })\n formatBin?: (value: number) => string;\n\n /** More series drawn over the bins (e.g. a density `line`); property only */\n @property({ attribute: false })\n series?: readonly ChartSeries[];\n\n /** Other engine options (axes, legend, tooltip, annotations...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n protected engineOptions(): ChartOptions | null {\n if (!this.values) return null;\n return {\n ...this.options,\n series: [\n histogramSeries(this.values, {\n bins: this.bins,\n domain: this.domain,\n nice: this.nice,\n name: this.valueName,\n color: this.color,\n format: this.formatBin,\n }),\n ...(this.series ?? []),\n ],\n };\n }\n}\n\nconst whiskerReach = {\n fromAttribute: (value: string | null): number | \"minmax\" | undefined =>\n value === null ? undefined : value === \"minmax\" ? value : Number(value),\n};\n\n/**\n * Box plot of `minerva-design/charts/core` (the `<BoxPlotChart>` of\n * React): medians, quartiles, whiskers and outliers of samples, from raw\n * values (`groups`) or computed statistics (`series`).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU box plot of raw samples or computed quartiles.\n * @tag minerva-box-plot-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBoxPlotChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-box-plot-chart\";\n\n /** Raw samples `{ x, values, color }`, one box each; property only */\n @property({ attribute: false })\n groups?: readonly BoxplotGroup[];\n\n /** Series of computed box plots (`low`, `q1`, `y` the median, `q3`, `high`, `outliers`); property only */\n @property({ attribute: false })\n series?: readonly ChartSeries[];\n\n /** Name of the series built from `groups` (default \"Values\") */\n @property({ attribute: \"value-name\" })\n valueName?: string;\n\n /** Reach of the whiskers in interquartile ranges (Tukey: 1.5), or `minmax` */\n @property({ converter: whiskerReach })\n whisker: number | \"minmax\" = 1.5;\n\n /** Outliers drawn as rings of the series color or as filled dots (series may set their own) */\n @property({ attribute: \"outlier-shape\" })\n outlierShape: \"hollow\" | \"filled\" = \"hollow\";\n\n /** Diameter of the outliers in CSS pixels */\n @property({ type: Number, attribute: \"outlier-size\" })\n outlierSize = 7;\n\n /** `horizontal` lays the boxes out in rows */\n @property()\n orientation: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Other engine options (axes, legend, tooltip, annotations...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n protected engineOptions(): ChartOptions | null {\n if (!this.groups?.length && !this.series) return null;\n return {\n ...this.options,\n orientation: this.orientation,\n series: withSeriesType(\n [\n ...(this.groups?.length\n ? [\n {\n id: \"boxplot\",\n name: this.valueName ?? \"Values\",\n data: boxplotData(this.groups, { whisker: this.whisker }),\n },\n ]\n : []),\n ...(this.series ?? []),\n ],\n \"boxplot\",\n ).map((s) =>\n s.type === \"boxplot\"\n ? {\n ...s,\n outlierShape: s.outlierShape ?? this.outlierShape,\n outlierSize: s.outlierSize ?? this.outlierSize,\n }\n : s,\n ),\n };\n }\n}\n\n/**\n * Waterfall (bridge) chart of `minerva-design/charts/core` (the\n * `<WaterfallChart>` of React): how changes take a value from a start to an\n * end, with subtotals and totals (P&L bridges, budget variances).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU bridge of changes, subtotals and totals.\n * @tag minerva-waterfall-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaWaterfallChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-waterfall-chart\";\n\n /** Changes, subtotals and totals `{ label, value, kind, color }`, in order; property only */\n @property({ attribute: false })\n steps?: readonly WaterfallStep[];\n\n /** Name of the series in the tooltip (default \"Change\") */\n @property({ attribute: \"value-name\" })\n valueName?: string;\n\n /** Color of the increases (the success color by default) */\n @property({ attribute: \"up-color\" })\n upColor?: string;\n\n /** Color of the decreases (the danger color by default) */\n @property({ attribute: \"down-color\" })\n downColor?: string;\n\n /** Color of the totals and subtotals (the primary color by default) */\n @property({ attribute: \"total-color\" })\n totalColor?: string;\n\n /** Value the first change starts from */\n @property({ type: Number })\n start = 0;\n\n /** Hides the change (or total) written at the end of every bar */\n @property({ type: Boolean, attribute: \"hide-labels\" })\n hideLabels = false;\n\n /** Formats the values (labels, tooltip); property only */\n @property({ attribute: false })\n format?: (value: number) => string;\n\n /** Hides the thin lines from the end of every bar to the next one */\n @property({ type: Boolean, attribute: \"hide-connectors\" })\n hideConnectors = false;\n\n /** Style of the connector lines `{ color, width, dash }` (dashed, secondary text color by default); property only */\n @property({ attribute: false })\n connector?: ChartConnectorOptions;\n\n /** `horizontal` lays the steps out in rows */\n @property()\n orientation: \"vertical\" | \"horizontal\" = \"vertical\";\n\n /** Other engine options (axes, tooltip, annotations...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n protected engineOptions(): ChartOptions | null {\n if (!this.steps) return null;\n return {\n ...this.options,\n orientation: this.orientation,\n series: [\n waterfallSeries(this.steps, {\n name: this.valueName,\n upColor: this.upColor,\n downColor: this.downColor,\n totalColor: this.totalColor,\n start: this.start,\n labels: !this.hideLabels,\n format: this.format,\n connector: this.hideConnectors ? false : (this.connector ?? true),\n locale: this.options?.locale,\n }),\n ],\n };\n }\n}\n\n/**\n * Gantt chart of `minerva-design/charts/core` (the `<GanttChart>` of\n * React): tasks as bars on a time axis with their progress, groups,\n * milestones and a today line; zooms and pans along the time.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary GPU Gantt chart of tasks, progress and milestones.\n * @tag minerva-gantt-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaGanttChart extends MinervaCartesianChartElement {\n static override tagName = \"minerva-gantt-chart\";\n\n /** Tasks and milestones `{ name, start, end, progress, group, color, milestone }`, from top to bottom; property only */\n @property({ attribute: false })\n tasks?: readonly GanttTask[];\n\n /** Colors of the groups in order of appearance (the chart palette by default); property only */\n @property({ attribute: false })\n colors?: readonly string[];\n\n /** Name of the tasks without a group (\"Tasks\" in the locale by default) */\n @property({ attribute: \"task-name\" })\n taskName?: string;\n\n /** Name of the progress bars (legend, tooltip; \"Progress\" in the locale by default) */\n @property({ attribute: \"progress-name\" })\n progressName?: string;\n\n /** Name of the milestones (legend, tooltip; \"Milestones\" in the locale by default) */\n @property({ attribute: \"milestone-name\" })\n milestoneName?: string;\n\n /** Name of the dependencies row of the tooltip (\"Depends on\" in the locale by default) */\n @property({ attribute: \"dependencies-name\" })\n dependenciesName?: string;\n\n /** Hides the elbow arrows drawn for the `dependencies` of the tasks */\n @property({ type: Boolean, attribute: \"hide-dependency-arrows\" })\n hideDependencyArrows = false;\n\n /** Color of the dependency arrows (any CSS color); the secondary text color by default */\n @property({ attribute: \"dependency-color\" })\n dependencyColor?: string;\n\n /** Formats the progress shares (tooltip, default \"60%\"); property only */\n @property({ attribute: false })\n formatProgress?: (share: number) => string;\n\n /** Draws a line at this date (`true`: now); property only */\n @property({ attribute: false })\n today: boolean | number | Date = false;\n\n /** Label of the today line */\n @property({ attribute: \"today-label\" })\n todayLabel?: string;\n\n /** Other engine options (axes, legend, annotations, interaction...); property only */\n @property({ attribute: false })\n options?: ChartBaseOptions;\n\n private mountedAt = Date.now();\n\n protected engineOptions(): ChartOptions | null {\n if (!this.tasks) return null;\n const gantt = ganttSeries(this.tasks, {\n colors: this.colors,\n taskName: this.taskName,\n progressName: this.progressName,\n milestoneName: this.milestoneName,\n formatProgress: this.formatProgress,\n dependenciesName: this.dependenciesName,\n dependencyArrows: !this.hideDependencyArrows,\n dependencyColor: this.dependencyColor,\n locale: this.options?.locale,\n });\n const today = this.today;\n const now =\n today === false\n ? null\n : today === true\n ? this.mountedAt\n : today instanceof Date\n ? today.getTime()\n : today;\n const lines: ChartAnnotation[] =\n now === null\n ? []\n : [\n {\n type: \"line\",\n axis: \"y\",\n value: now,\n color: \"var(--danger-color, #dc2626)\",\n dash: [4, 3],\n label: this.todayLabel,\n },\n ];\n const options = this.options ?? {};\n return {\n ...options,\n series: gantt.series,\n orientation: \"horizontal\",\n xAxis: {\n type: \"category\",\n categories: gantt.categories,\n ...options.xAxis,\n },\n yAxis: {\n type: \"time\",\n min: gantt.domain[0],\n max: gantt.domain[1],\n ...options.yAxis,\n },\n annotations: [...(options.annotations ?? []), ...lines],\n dependencies: gantt.dependencies,\n interaction: options.interaction ?? { zoom: \"y\" },\n legend: options.legend ?? gantt.series.length > 1,\n };\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"minerva-horizontal-bar-chart\": MinervaHorizontalBarChart;\n \"minerva-range-area-chart\": MinervaRangeAreaChart;\n \"minerva-mixed-chart\": MinervaMixedChart;\n \"minerva-bubble-chart\": MinervaBubbleChart;\n \"minerva-histogram-chart\": MinervaHistogramChart;\n \"minerva-box-plot-chart\": MinervaBoxPlotChart;\n \"minerva-waterfall-chart\": MinervaWaterfallChart;\n \"minerva-gantt-chart\": MinervaGanttChart;\n }\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { BulletChartOptions, BulletDatum, CalendarDate, CalendarDatum, CalendarHeatmapOptions, RadialBarChartOptions, RadialBarDatum, SankeyChartOptions, SankeyLink, SankeyNode, ShapeChartInstance, ShapeChartOptions, SunburstChartOptions, TreemapNode } from '../../../charts/core.js';
1
+ import { BulletChartOptions, BulletDatum, CalendarDate, CalendarDatum, CalendarHeatmapOptions, ChordChartOptions, ChordGroup, ChordLink, RadialBarChartOptions, RadialBarDatum, SankeyChartOptions, SankeyLink, SankeyNode, ShapeChartInstance, ShapeChartOptions, SunburstChartOptions, TreemapNode } from '../../../charts/core.js';
2
2
  import { MinervaShapeChartElement } from './shape-chart.js';
3
3
  /**
4
4
  * Sankey diagram of `minerva-design/charts/core` (the `<SankeyChart>` of
@@ -151,6 +151,41 @@ export declare class MinervaBulletChart extends MinervaShapeChartElement {
151
151
  protected get defaultHeight(): string | number;
152
152
  protected engineOptions(): ShapeChartOptions | null;
153
153
  }
154
+ /**
155
+ * Chord diagram of `minerva-design/charts/core` (the `<ChordChart>` of
156
+ * React): flows between groups around a circle, as ribbons whose ends are
157
+ * proportional to the flow in each direction; hovering a group highlights
158
+ * its ribbons, hovering a ribbon shows both directions (the `minerva-hover`
159
+ * detail of a ribbon also has `source`, `target` and `reverseValue`).
160
+ *
161
+ * Published as the optional entry `minerva-design/web-components/chart`.
162
+ *
163
+ * @summary Chord diagram of the flows between groups.
164
+ * @tag minerva-chord-chart
165
+ * @csspart root - The sized box of the chart
166
+ * @csspart surface - The element the engine renders into
167
+ */
168
+ export declare class MinervaChordChart extends MinervaShapeChartElement {
169
+ static tagName: string;
170
+ /** Groups (names or `{ name, color }`), in their order around the circle; property only */
171
+ groups?: readonly (string | ChordGroup)[];
172
+ /** Square flow matrix: `matrix[i][j]` flows from group `i` to group `j` (used without `links`); property only */
173
+ matrix?: readonly (readonly number[])[];
174
+ /** Flows `{ source, target, value }` by group name or index; take precedence over `matrix`; property only */
175
+ links?: readonly ChordLink[];
176
+ /** One ribbon per direction, arcs sized by the outgoing plus the incoming flows */
177
+ directed: boolean;
178
+ /** Color of the ribbons without `color` */
179
+ ribbonColor: "gradient" | "source" | "target" | "neutral";
180
+ /** Group labels along the arc (`tangential`), the radius (`radial`), whichever fits (`auto`), or none */
181
+ labels: "auto" | "tangential" | "radial" | "none";
182
+ /** Formats the tick labels (compact numbers of the locale by default); property only */
183
+ tickFormat?: (value: number) => string;
184
+ /** Other engine options (`ChordChartOptions`: padAngle, startAngle, sortGroups, sortSubgroups, ribbonOpacity, arcWidth, ticks, arrows, palette, format, percentFormat...); property only */
185
+ options?: Partial<Omit<ChordChartOptions, "type">>;
186
+ protected get defaultHeight(): string | number;
187
+ protected engineOptions(): ShapeChartOptions | null;
188
+ }
154
189
  declare global {
155
190
  interface HTMLElementTagNameMap {
156
191
  "minerva-sankey-chart": MinervaSankeyChart;
@@ -158,5 +193,6 @@ declare global {
158
193
  "minerva-radial-bar-chart": MinervaRadialBarChart;
159
194
  "minerva-calendar-heatmap": MinervaCalendarHeatmap;
160
195
  "minerva-bullet-chart": MinervaBulletChart;
196
+ "minerva-chord-chart": MinervaChordChart;
161
197
  }
162
198
  }
@@ -150,7 +150,33 @@ var u = class extends t {
150
150
  }
151
151
  };
152
152
  e([n({ attribute: !1 })], u.prototype, "data", void 0), e([n()], u.prototype, "orientation", void 0), e([n({ attribute: !1 })], u.prototype, "ranges", void 0), e([n({ attribute: !1 })], u.prototype, "rangeLabels", void 0), e([n({ attribute: "target-color" })], u.prototype, "targetColor", void 0), e([n({ attribute: !1 })], u.prototype, "options", void 0);
153
+ var d = class extends t {
154
+ constructor(...e) {
155
+ super(...e), this.directed = !1, this.ribbonColor = "gradient", this.labels = "auto";
156
+ }
157
+ static {
158
+ this.tagName = "minerva-chord-chart";
159
+ }
160
+ get defaultHeight() {
161
+ return 420;
162
+ }
163
+ engineOptions() {
164
+ let e = this.links ?? this.options?.links, t = this.matrix ?? this.options?.matrix;
165
+ return !e && !t ? null : {
166
+ ...this.options,
167
+ type: "chord",
168
+ groups: this.groups ?? this.options?.groups,
169
+ matrix: t,
170
+ links: e,
171
+ directed: this.directed || this.options?.directed,
172
+ ribbonColor: this.ribbonColor,
173
+ labels: this.labels,
174
+ tickFormat: this.tickFormat ?? this.options?.tickFormat
175
+ };
176
+ }
177
+ };
178
+ e([n({ attribute: !1 })], d.prototype, "groups", void 0), e([n({ attribute: !1 })], d.prototype, "matrix", void 0), e([n({ attribute: !1 })], d.prototype, "links", void 0), e([n({ type: Boolean })], d.prototype, "directed", void 0), e([n({ attribute: "ribbon-color" })], d.prototype, "ribbonColor", void 0), e([n()], d.prototype, "labels", void 0), e([n({ attribute: !1 })], d.prototype, "tickFormat", void 0), e([n({ attribute: !1 })], d.prototype, "options", void 0);
153
179
  //#endregion
154
- export { u as MinervaBulletChart, l as MinervaCalendarHeatmap, a as MinervaRadialBarChart, r as MinervaSankeyChart, i as MinervaSunburstChart };
180
+ export { u as MinervaBulletChart, l as MinervaCalendarHeatmap, d as MinervaChordChart, a as MinervaRadialBarChart, r as MinervaSankeyChart, i as MinervaSunburstChart };
155
181
 
156
182
  //# sourceMappingURL=shapes-extended.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"shapes-extended.js","names":["_decorate","__decorate","MinervaSankeyChart","MinervaShapeChartElement","_args","links","property","MinervaSunburstChart","_args2","chart","event","path","data","MinervaRadialBarChart","_args3","yearOf","date","timeOf","calendarStrips","range","start","end","y0","y1","days","MinervaCalendarHeatmap","_args4","legend","MinervaBulletChart","_args5","rows"],"sources":["../../../../../web-components/src/components/chart/shapes-extended.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport type {\n BulletChartOptions,\n BulletDatum,\n CalendarDate,\n CalendarDatum,\n CalendarHeatmapOptions,\n RadialBarChartOptions,\n RadialBarDatum,\n SankeyChartOptions,\n SankeyLink,\n SankeyNode,\n ShapeChartInstance,\n ShapeChartOptions,\n SunburstChartOptions,\n TreemapNode,\n} from \"minerva-design/charts/core\";\nimport { MinervaShapeChartElement } from \"./shape-chart\";\n\n/**\n * Sankey diagram of `minerva-design/charts/core` (the `<SankeyChart>` of\n * React): flows between nodes in columns, link thickness proportional to\n * the flow; hovering a node or a link highlights its flows.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Sankey diagram of flows between nodes.\n * @tag minerva-sankey-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaSankeyChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-sankey-chart\";\n\n /** Nodes `{ name, color, column }` in their initial order (nodes only named by a link are appended); property only */\n @property({ attribute: false })\n nodes?: readonly SankeyNode[];\n\n /** Flows `{ source, target, value }` between the nodes (by name or index); property only */\n @property({ attribute: false })\n links?: readonly SankeyLink[];\n\n /** Column of the nodes without a `column` */\n @property()\n align: \"justify\" | \"left\" | \"right\" | \"center\" = \"justify\";\n\n /** Color of the links without `color` */\n @property({ attribute: \"link-color\" })\n linkColor: \"gradient\" | \"source\" | \"target\" | \"neutral\" = \"gradient\";\n\n /** Hides the node labels */\n @property({ type: Boolean, attribute: \"hide-labels\" })\n hideLabels = false;\n\n /** Other engine options (`SankeyChartOptions`: nodeWidth, nodePadding, iterations, palette, format...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<SankeyChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 360;\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const links = this.links ?? this.options?.links;\n if (!links) return null;\n return {\n ...this.options,\n type: \"sankey\",\n nodes: this.nodes ?? this.options?.nodes,\n links,\n align: this.align,\n linkColor: this.linkColor,\n labels: this.hideLabels ? false : this.options?.labels,\n };\n }\n}\n\n/**\n * Sunburst chart of `minerva-design/charts/core` (the `<SunburstChart>` of\n * React): a hierarchy as concentric rings; clicking a parent zooms into\n * it, clicking the center goes back up.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Sunburst of a hierarchy, with drill-down.\n * @tag minerva-sunburst-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n * @fires minerva-drill - A parent or the center was clicked (or `drill()` called); detail: { path }\n */\nexport class MinervaSunburstChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-sunburst-chart\";\n\n /** Nodes `{ name, value, children }`: leaves carry a value, parents sum their children; property only */\n @property({ attribute: false })\n data?: readonly TreemapNode[];\n\n /** Radius of the center circle as a fraction of the outer radius */\n @property({ type: Number, attribute: \"inner-radius\" })\n innerRadius = 0.26;\n\n /** Sector labels along the arc or the radius, whichever fits best (`auto`), or none */\n @property()\n labels: \"auto\" | \"tangential\" | \"radial\" | \"none\" = \"auto\";\n\n /** Disables the drill-down (clicking a parent zooms into it by default) */\n @property({ type: Boolean, attribute: \"no-drill\" })\n noDrill = false;\n\n /** Names from the root to the focused node (`[]`: the root); makes the drill-down controlled; property only */\n @property({ attribute: false })\n drillPath?: readonly string[];\n\n /** Other engine options (`SunburstChartOptions`: levels, startAngle, padAngle, palette, format...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<SunburstChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 360;\n }\n\n protected override bindEngine(chart: ShapeChartInstance): Array<() => void> {\n return [\n ...super.bindEngine(chart),\n chart.on(\"drill\", (event) => this.emit(\"minerva-drill\", event)),\n ];\n }\n\n /** Zooms into the node at `path` (names from the root, `[]`: the root) */\n drill(path: readonly string[]): void {\n this.instance?.drill(path);\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"sunburst\",\n data,\n innerRadius: this.innerRadius,\n labels: this.labels,\n drill: this.noDrill ? false : this.options?.drill,\n drillPath: this.drillPath ?? this.options?.drillPath,\n };\n }\n}\n\n/**\n * Radial bar chart of `minerva-design/charts/core` (the `<RadialBarChart>`\n * of React): concentric progress rings (activity rings, KPI completion).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Concentric progress rings with center texts.\n * @tag minerva-radial-bar-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaRadialBarChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-radial-bar-chart\";\n\n /** Bars `{ name, value, max, color }`, from the outermost ring inward; property only */\n @property({ attribute: false })\n data?: readonly RadialBarDatum[];\n\n /** Value of a full bar for the data without `max` (the largest value by default) */\n @property({ type: Number })\n max?: number;\n\n /** Radius of the innermost ring's inner edge, as a fraction of the outer radius */\n @property({ type: Number, attribute: \"inner-radius\" })\n innerRadius = 0.3;\n\n /** Angle of a full bar, degrees (360: full rings) */\n @property({ type: Number })\n sweep = 270;\n\n /** Big text in the center (e.g. the overall completion) */\n @property({ attribute: \"center-value\" })\n centerValue?: string;\n\n /** Small text under `center-value` */\n @property({ attribute: \"center-label\" })\n centerLabel?: string;\n\n /** Other engine options (`RadialBarChartOptions`: startAngle, gap, track, rounded, labels, palette...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<RadialBarChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 300;\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"radialBar\",\n data,\n max: this.max ?? this.options?.max,\n innerRadius: this.innerRadius,\n sweep: this.sweep,\n centerValue: this.centerValue ?? this.options?.centerValue,\n centerLabel: this.centerLabel ?? this.options?.centerLabel,\n };\n }\n}\n\nconst yearOf = (date: CalendarDate) =>\n (date instanceof Date ? date : new Date(date)).getFullYear();\nconst timeOf = (date: CalendarDate) =>\n (date instanceof Date ? date : new Date(date)).getTime();\n\n/** Strips of a calendar heatmap: one per year when the range spans several years */\nconst calendarStrips = (range: CalendarHeatmapOptions[\"range\"]) => {\n if (!Array.isArray(range)) return 1;\n const [start, end] = range as readonly [CalendarDate, CalendarDate];\n const y0 = yearOf(start);\n const y1 = yearOf(end);\n const days = (timeOf(end) - timeOf(start)) / 86_400_000 + 1;\n return y1 > y0 && days > 371 ? y1 - y0 + 1 : 1;\n};\n\n/**\n * Calendar heatmap of `minerva-design/charts/core` (the `<CalendarHeatmap>`\n * of React): daily values on a calendar, contributions-style, as weeks or\n * as small monthly calendars.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Daily values on a calendar, contributions-style.\n * @tag minerva-calendar-heatmap\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaCalendarHeatmap extends MinervaShapeChartElement {\n static override tagName = \"minerva-calendar-heatmap\";\n\n /** Daily values `{ date, value }` (several entries of the same day add up); property only */\n @property({ attribute: false })\n data?: readonly CalendarDatum[];\n\n /** Days shown: a year (`2026`) or an inclusive `[start, end]` range; the 53 weeks ending on the last day of the data by default; property only */\n @property({ attribute: false })\n range?: number | readonly [CalendarDate, CalendarDate];\n\n /** `weeks`: a column per week and a row per weekday; `months`: a small calendar per month */\n @property()\n layout: \"weeks\" | \"months\" = \"weeks\";\n\n /** BCP 47 locale of the month and weekday names, of the tooltip dates and of the first day of the week */\n @property()\n locale?: string;\n\n /** Color of the highest level (lower levels are lighter); the first palette color by default */\n @property()\n color?: string;\n\n /** Number of color levels above the empty days */\n @property({ type: Number })\n levels = 4;\n\n /** Other engine options (`CalendarHeatmapOptions`: weekStart, colors, thresholds, gap, radius...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<CalendarHeatmapOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n if (this.layout === \"months\") return 560;\n const legend = this.options?.legend === false ? 0 : 34;\n return (\n calendarStrips(this.range ?? this.options?.range) * 120 + legend + 16\n );\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"calendarHeatmap\",\n data,\n range: this.range ?? this.options?.range,\n layout: this.layout,\n locale: this.locale ?? this.options?.locale,\n color: this.color ?? this.options?.color,\n levels: this.levels,\n };\n }\n}\n\n/**\n * Bullet chart of `minerva-design/charts/core` (the `<BulletChart>` of\n * React): KPI bars against qualitative ranges and a target marker.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary KPI bars against qualitative ranges and a target.\n * @tag minerva-bullet-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBulletChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-bullet-chart\";\n\n /** Rows `{ name, value, target, ranges, max }` (columns when vertical); property only */\n @property({ attribute: false })\n data?: readonly BulletDatum[];\n\n /** Horizontal rows or vertical columns */\n @property()\n orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\n /** Qualitative ranges of the rows without `ranges`: upper bounds, ascending; property only */\n @property({ attribute: false })\n ranges?: readonly number[];\n\n /** Names of the qualitative ranges, lowest first (tooltip); property only */\n @property({ attribute: false })\n rangeLabels?: readonly string[];\n\n /** Color of the target markers (the text color by default) */\n @property({ attribute: \"target-color\" })\n targetColor?: string;\n\n /** Other engine options (`BulletChartOptions`: rangeColors, barSize, ticks, palette, format...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<BulletChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n if (this.orientation === \"vertical\") return 320;\n const rows = (this.data ?? this.options?.data ?? []).length;\n return Math.max(96, rows * 64 + 16) + (this.options?.legend ? 34 : 0);\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"bullet\",\n data,\n orientation: this.orientation,\n ranges: this.ranges ?? this.options?.ranges,\n rangeLabels: this.rangeLabels ?? this.options?.rangeLabels,\n targetColor: this.targetColor ?? this.options?.targetColor,\n };\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"minerva-sankey-chart\": MinervaSankeyChart;\n \"minerva-sunburst-chart\": MinervaSunburstChart;\n \"minerva-radial-bar-chart\": MinervaRadialBarChart;\n \"minerva-calendar-heatmap\": MinervaCalendarHeatmap;\n \"minerva-bullet-chart\": MinervaBulletChart;\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"shapes-extended.js","names":["_decorate","__decorate","MinervaSankeyChart","MinervaShapeChartElement","_args","links","property","MinervaSunburstChart","_args2","chart","event","path","data","MinervaRadialBarChart","_args3","yearOf","date","timeOf","calendarStrips","range","start","end","y0","y1","days","MinervaCalendarHeatmap","_args4","legend","MinervaBulletChart","_args5","rows","MinervaChordChart","_args6","matrix"],"sources":["../../../../../web-components/src/components/chart/shapes-extended.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport type {\n BulletChartOptions,\n BulletDatum,\n CalendarDate,\n CalendarDatum,\n CalendarHeatmapOptions,\n ChordChartOptions,\n ChordGroup,\n ChordLink,\n RadialBarChartOptions,\n RadialBarDatum,\n SankeyChartOptions,\n SankeyLink,\n SankeyNode,\n ShapeChartInstance,\n ShapeChartOptions,\n SunburstChartOptions,\n TreemapNode,\n} from \"minerva-design/charts/core\";\nimport { MinervaShapeChartElement } from \"./shape-chart\";\n\n/**\n * Sankey diagram of `minerva-design/charts/core` (the `<SankeyChart>` of\n * React): flows between nodes in columns, link thickness proportional to\n * the flow; hovering a node or a link highlights its flows.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Sankey diagram of flows between nodes.\n * @tag minerva-sankey-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaSankeyChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-sankey-chart\";\n\n /** Nodes `{ name, color, column }` in their initial order (nodes only named by a link are appended); property only */\n @property({ attribute: false })\n nodes?: readonly SankeyNode[];\n\n /** Flows `{ source, target, value }` between the nodes (by name or index); property only */\n @property({ attribute: false })\n links?: readonly SankeyLink[];\n\n /** Column of the nodes without a `column` */\n @property()\n align: \"justify\" | \"left\" | \"right\" | \"center\" = \"justify\";\n\n /** Color of the links without `color` */\n @property({ attribute: \"link-color\" })\n linkColor: \"gradient\" | \"source\" | \"target\" | \"neutral\" = \"gradient\";\n\n /** Hides the node labels */\n @property({ type: Boolean, attribute: \"hide-labels\" })\n hideLabels = false;\n\n /** Other engine options (`SankeyChartOptions`: nodeWidth, nodePadding, iterations, palette, format...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<SankeyChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 360;\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const links = this.links ?? this.options?.links;\n if (!links) return null;\n return {\n ...this.options,\n type: \"sankey\",\n nodes: this.nodes ?? this.options?.nodes,\n links,\n align: this.align,\n linkColor: this.linkColor,\n labels: this.hideLabels ? false : this.options?.labels,\n };\n }\n}\n\n/**\n * Sunburst chart of `minerva-design/charts/core` (the `<SunburstChart>` of\n * React): a hierarchy as concentric rings; clicking a parent zooms into\n * it, clicking the center goes back up.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Sunburst of a hierarchy, with drill-down.\n * @tag minerva-sunburst-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n * @fires minerva-drill - A parent or the center was clicked (or `drill()` called); detail: { path }\n */\nexport class MinervaSunburstChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-sunburst-chart\";\n\n /** Nodes `{ name, value, children }`: leaves carry a value, parents sum their children; property only */\n @property({ attribute: false })\n data?: readonly TreemapNode[];\n\n /** Radius of the center circle as a fraction of the outer radius */\n @property({ type: Number, attribute: \"inner-radius\" })\n innerRadius = 0.26;\n\n /** Sector labels along the arc or the radius, whichever fits best (`auto`), or none */\n @property()\n labels: \"auto\" | \"tangential\" | \"radial\" | \"none\" = \"auto\";\n\n /** Disables the drill-down (clicking a parent zooms into it by default) */\n @property({ type: Boolean, attribute: \"no-drill\" })\n noDrill = false;\n\n /** Names from the root to the focused node (`[]`: the root); makes the drill-down controlled; property only */\n @property({ attribute: false })\n drillPath?: readonly string[];\n\n /** Other engine options (`SunburstChartOptions`: levels, startAngle, padAngle, palette, format...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<SunburstChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 360;\n }\n\n protected override bindEngine(chart: ShapeChartInstance): Array<() => void> {\n return [\n ...super.bindEngine(chart),\n chart.on(\"drill\", (event) => this.emit(\"minerva-drill\", event)),\n ];\n }\n\n /** Zooms into the node at `path` (names from the root, `[]`: the root) */\n drill(path: readonly string[]): void {\n this.instance?.drill(path);\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"sunburst\",\n data,\n innerRadius: this.innerRadius,\n labels: this.labels,\n drill: this.noDrill ? false : this.options?.drill,\n drillPath: this.drillPath ?? this.options?.drillPath,\n };\n }\n}\n\n/**\n * Radial bar chart of `minerva-design/charts/core` (the `<RadialBarChart>`\n * of React): concentric progress rings (activity rings, KPI completion).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Concentric progress rings with center texts.\n * @tag minerva-radial-bar-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaRadialBarChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-radial-bar-chart\";\n\n /** Bars `{ name, value, max, color }`, from the outermost ring inward; property only */\n @property({ attribute: false })\n data?: readonly RadialBarDatum[];\n\n /** Value of a full bar for the data without `max` (the largest value by default) */\n @property({ type: Number })\n max?: number;\n\n /** Radius of the innermost ring's inner edge, as a fraction of the outer radius */\n @property({ type: Number, attribute: \"inner-radius\" })\n innerRadius = 0.3;\n\n /** Angle of a full bar, degrees (360: full rings) */\n @property({ type: Number })\n sweep = 270;\n\n /** Big text in the center (e.g. the overall completion) */\n @property({ attribute: \"center-value\" })\n centerValue?: string;\n\n /** Small text under `center-value` */\n @property({ attribute: \"center-label\" })\n centerLabel?: string;\n\n /** Other engine options (`RadialBarChartOptions`: startAngle, gap, track, rounded, labels, palette...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<RadialBarChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 300;\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"radialBar\",\n data,\n max: this.max ?? this.options?.max,\n innerRadius: this.innerRadius,\n sweep: this.sweep,\n centerValue: this.centerValue ?? this.options?.centerValue,\n centerLabel: this.centerLabel ?? this.options?.centerLabel,\n };\n }\n}\n\nconst yearOf = (date: CalendarDate) =>\n (date instanceof Date ? date : new Date(date)).getFullYear();\nconst timeOf = (date: CalendarDate) =>\n (date instanceof Date ? date : new Date(date)).getTime();\n\n/** Strips of a calendar heatmap: one per year when the range spans several years */\nconst calendarStrips = (range: CalendarHeatmapOptions[\"range\"]) => {\n if (!Array.isArray(range)) return 1;\n const [start, end] = range as readonly [CalendarDate, CalendarDate];\n const y0 = yearOf(start);\n const y1 = yearOf(end);\n const days = (timeOf(end) - timeOf(start)) / 86_400_000 + 1;\n return y1 > y0 && days > 371 ? y1 - y0 + 1 : 1;\n};\n\n/**\n * Calendar heatmap of `minerva-design/charts/core` (the `<CalendarHeatmap>`\n * of React): daily values on a calendar, contributions-style, as weeks or\n * as small monthly calendars.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Daily values on a calendar, contributions-style.\n * @tag minerva-calendar-heatmap\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaCalendarHeatmap extends MinervaShapeChartElement {\n static override tagName = \"minerva-calendar-heatmap\";\n\n /** Daily values `{ date, value }` (several entries of the same day add up); property only */\n @property({ attribute: false })\n data?: readonly CalendarDatum[];\n\n /** Days shown: a year (`2026`) or an inclusive `[start, end]` range; the 53 weeks ending on the last day of the data by default; property only */\n @property({ attribute: false })\n range?: number | readonly [CalendarDate, CalendarDate];\n\n /** `weeks`: a column per week and a row per weekday; `months`: a small calendar per month */\n @property()\n layout: \"weeks\" | \"months\" = \"weeks\";\n\n /** BCP 47 locale of the month and weekday names, of the tooltip dates and of the first day of the week */\n @property()\n locale?: string;\n\n /** Color of the highest level (lower levels are lighter); the first palette color by default */\n @property()\n color?: string;\n\n /** Number of color levels above the empty days */\n @property({ type: Number })\n levels = 4;\n\n /** Other engine options (`CalendarHeatmapOptions`: weekStart, colors, thresholds, gap, radius...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<CalendarHeatmapOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n if (this.layout === \"months\") return 560;\n const legend = this.options?.legend === false ? 0 : 34;\n return (\n calendarStrips(this.range ?? this.options?.range) * 120 + legend + 16\n );\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"calendarHeatmap\",\n data,\n range: this.range ?? this.options?.range,\n layout: this.layout,\n locale: this.locale ?? this.options?.locale,\n color: this.color ?? this.options?.color,\n levels: this.levels,\n };\n }\n}\n\n/**\n * Bullet chart of `minerva-design/charts/core` (the `<BulletChart>` of\n * React): KPI bars against qualitative ranges and a target marker.\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary KPI bars against qualitative ranges and a target.\n * @tag minerva-bullet-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBulletChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-bullet-chart\";\n\n /** Rows `{ name, value, target, ranges, max }` (columns when vertical); property only */\n @property({ attribute: false })\n data?: readonly BulletDatum[];\n\n /** Horizontal rows or vertical columns */\n @property()\n orientation: \"horizontal\" | \"vertical\" = \"horizontal\";\n\n /** Qualitative ranges of the rows without `ranges`: upper bounds, ascending; property only */\n @property({ attribute: false })\n ranges?: readonly number[];\n\n /** Names of the qualitative ranges, lowest first (tooltip); property only */\n @property({ attribute: false })\n rangeLabels?: readonly string[];\n\n /** Color of the target markers (the text color by default) */\n @property({ attribute: \"target-color\" })\n targetColor?: string;\n\n /** Other engine options (`BulletChartOptions`: rangeColors, barSize, ticks, palette, format...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<BulletChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n if (this.orientation === \"vertical\") return 320;\n const rows = (this.data ?? this.options?.data ?? []).length;\n return Math.max(96, rows * 64 + 16) + (this.options?.legend ? 34 : 0);\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const data = this.data ?? this.options?.data;\n if (!data) return null;\n return {\n ...this.options,\n type: \"bullet\",\n data,\n orientation: this.orientation,\n ranges: this.ranges ?? this.options?.ranges,\n rangeLabels: this.rangeLabels ?? this.options?.rangeLabels,\n targetColor: this.targetColor ?? this.options?.targetColor,\n };\n }\n}\n\n/**\n * Chord diagram of `minerva-design/charts/core` (the `<ChordChart>` of\n * React): flows between groups around a circle, as ribbons whose ends are\n * proportional to the flow in each direction; hovering a group highlights\n * its ribbons, hovering a ribbon shows both directions (the `minerva-hover`\n * detail of a ribbon also has `source`, `target` and `reverseValue`).\n *\n * Published as the optional entry `minerva-design/web-components/chart`.\n *\n * @summary Chord diagram of the flows between groups.\n * @tag minerva-chord-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaChordChart extends MinervaShapeChartElement {\n static override tagName = \"minerva-chord-chart\";\n\n /** Groups (names or `{ name, color }`), in their order around the circle; property only */\n @property({ attribute: false })\n groups?: readonly (string | ChordGroup)[];\n\n /** Square flow matrix: `matrix[i][j]` flows from group `i` to group `j` (used without `links`); property only */\n @property({ attribute: false })\n matrix?: readonly (readonly number[])[];\n\n /** Flows `{ source, target, value }` by group name or index; take precedence over `matrix`; property only */\n @property({ attribute: false })\n links?: readonly ChordLink[];\n\n /** One ribbon per direction, arcs sized by the outgoing plus the incoming flows */\n @property({ type: Boolean })\n directed = false;\n\n /** Color of the ribbons without `color` */\n @property({ attribute: \"ribbon-color\" })\n ribbonColor: \"gradient\" | \"source\" | \"target\" | \"neutral\" = \"gradient\";\n\n /** Group labels along the arc (`tangential`), the radius (`radial`), whichever fits (`auto`), or none */\n @property()\n labels: \"auto\" | \"tangential\" | \"radial\" | \"none\" = \"auto\";\n\n /** Formats the tick labels (compact numbers of the locale by default); property only */\n @property({ attribute: false })\n tickFormat?: (value: number) => string;\n\n /** Other engine options (`ChordChartOptions`: padAngle, startAngle, sortGroups, sortSubgroups, ribbonOpacity, arcWidth, ticks, arrows, palette, format, percentFormat...); property only */\n @property({ attribute: false })\n options?: Partial<Omit<ChordChartOptions, \"type\">>;\n\n protected override get defaultHeight(): string | number {\n return 420;\n }\n\n protected engineOptions(): ShapeChartOptions | null {\n const links = this.links ?? this.options?.links;\n const matrix = this.matrix ?? this.options?.matrix;\n if (!links && !matrix) return null;\n return {\n ...this.options,\n type: \"chord\",\n groups: this.groups ?? this.options?.groups,\n matrix,\n links,\n directed: this.directed || this.options?.directed,\n ribbonColor: this.ribbonColor,\n labels: this.labels,\n tickFormat: this.tickFormat ?? this.options?.tickFormat,\n };\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"minerva-sankey-chart\": MinervaSankeyChart;\n \"minerva-sunburst-chart\": MinervaSunburstChart;\n \"minerva-radial-bar-chart\": MinervaRadialBarChart;\n \"minerva-calendar-heatmap\": MinervaCalendarHeatmap;\n \"minerva-bullet-chart\": MinervaBulletChart;\n \"minerva-chord-chart\": MinervaChordChart;\n }\n}\n"],"mappings":"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"}
@@ -17,7 +17,7 @@ export declare abstract class MinervaChart3DElement<S extends Chart3DSeries> ext
17
17
  height?: string | number;
18
18
  /** Data series; replace the array (or a data array) to update the chart; property only */
19
19
  series?: readonly S[];
20
- /** Other engine options (`Chart3DOptions`: xAxis, yAxis, zAxis, camera, autoRotate, colorScale, colorBar, legend, tooltip, locale...); property only */
20
+ /** Other engine options (`Chart3DOptions`: xAxis, yAxis, zAxis, camera, autoRotate, colorScale, colorBar, legend, tooltip, lighting, exposure, locale...); property only */
21
21
  options?: Chart3DBaseOptions;
22
22
  protected abstract typed(series: readonly S[]): Chart3DSeries[];
23
23
  protected createEngine(container: HTMLElement, options: Chart3DOptions): Chart3DInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"chart-3d.js","names":["_decorate","__decorate","MinervaChart3DElement","MinervaEngineElement","_args","createChart3D","container","options","chart","camera","property","MinervaScatter3DChart","series","s","MinervaLine3DChart","MinervaSurface3DChart","MinervaBar3DChart","_args2"],"sources":["../../../../../web-components/src/components/chart-3d/chart-3d.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport {\n createChart3D,\n type Bar3DSeries,\n type Chart3DCameraState,\n type Chart3DInstance,\n type Chart3DOptions,\n type Chart3DSeries,\n type ChartRendererKind,\n type Line3DSeries,\n type Scatter3DSeries,\n type Surface3DContourOptions,\n type Surface3DSeries,\n type Surface3DWireframeOptions,\n} from \"minerva-design/charts/core\";\nimport { MinervaEngineElement } from \"../chart/engine-element\";\n\n/** Engine options other than the series (axes, camera, color scale, legend, tooltip...) */\nexport type Chart3DBaseOptions = Partial<Omit<Chart3DOptions, \"series\">>;\n\n/**\n * Base of the 3D chart elements (engine `createChart3D` of\n * `minerva-design/charts/core`): forwards the engine events as `minerva-*`\n * events and exposes the camera.\n *\n * @fires minerva-hover - The hovered point, cell or bar changed; detail: { seriesIndex, seriesName, type, index, x, y, z, value, color, label }, `null` when nothing is hovered\n * @fires minerva-point-click - A point, cell or bar was clicked; detail: { seriesIndex, seriesName, type, index, x, y, z, value, color, label }\n * @fires minerva-camera-change - The user rotated, zoomed, panned or reset the camera; detail: { azimuth, elevation, zoom, pan, projection }\n * @fires minerva-renderer-change - The backend is ready (or fell back after a GPU loss); detail: { renderer }\n */\nexport abstract class MinervaChart3DElement<\n S extends Chart3DSeries,\n> extends MinervaEngineElement<Chart3DOptions, Chart3DInstance> {\n /** Height of the chart, the legend included: pixels or any CSS length */\n @property()\n override height?: string | number = 400;\n\n /** Data series; replace the array (or a data array) to update the chart; property only */\n @property({ attribute: false })\n series?: readonly S[];\n\n /** Other engine options (`Chart3DOptions`: xAxis, yAxis, zAxis, camera, autoRotate, colorScale, colorBar, legend, tooltip, locale...); property only */\n @property({ attribute: false })\n options?: Chart3DBaseOptions;\n\n protected abstract typed(series: readonly S[]): Chart3DSeries[];\n\n protected createEngine(\n container: HTMLElement,\n options: Chart3DOptions,\n ): Chart3DInstance {\n return createChart3D(container, options);\n }\n\n protected engineOptions(): Chart3DOptions | null {\n if (!this.series) return null;\n return { ...this.options, series: this.typed(this.series) };\n }\n\n protected override bindEngine(chart: Chart3DInstance): Array<() => void> {\n return [\n chart.on(\"hover\", (e) => this.emit(\"minerva-hover\", e)),\n chart.on(\"click\", (e) => this.emit(\"minerva-point-click\", e)),\n chart.on(\"camera\", (camera) =>\n this.emit(\"minerva-camera-change\", camera),\n ),\n chart.on(\"renderer\", (renderer) =>\n this.emit(\"minerva-renderer-change\", { renderer }),\n ),\n ];\n }\n\n /** Restores the camera of the options */\n resetCamera(): void {\n this.instance?.resetCamera();\n }\n\n /** Current camera, `null` before the engine is created */\n getCamera(): Chart3DCameraState | null {\n return this.instance?.getCamera() ?? null;\n }\n\n /** Moves the camera */\n setCamera(camera: Partial<Chart3DCameraState>): void {\n this.instance?.setCamera(camera);\n }\n\n /** Backend in use (`webgpu`, `webgl2`, `webgl`, `canvas2d`), `null` until ready */\n getRenderer(): ChartRendererKind | null {\n return this.instance?.getRenderer() ?? null;\n }\n}\n\n/**\n * 3D scatter plot of `minerva-design/charts/core` (the `<Scatter3DChart>`\n * of React): point clouds of up to millions of points on the GPU, colored\n * per series, per point or through a color scale; orbit camera, hover\n * picking and color bar.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D point clouds with an orbit camera.\n * @tag minerva-scatter-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaScatter3DChart extends MinervaChart3DElement<Scatter3DSeries> {\n static override tagName = \"minerva-scatter-3d-chart\";\n\n protected typed(series: readonly Scatter3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({ ...s, type: \"scatter\" as const }));\n }\n}\n\n/**\n * 3D polylines of `minerva-design/charts/core` (the `<Line3DChart>` of\n * React): trajectories and paths, optionally colored along the line.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D polylines (trajectories, paths).\n * @tag minerva-line-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaLine3DChart extends MinervaChart3DElement<Line3DSeries> {\n static override tagName = \"minerva-line-3d-chart\";\n\n protected typed(series: readonly Line3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({ ...s, type: \"line\" as const }));\n }\n}\n\n/**\n * 3D surface `z = f(x, y)` of `minerva-design/charts/core` (the\n * `<Surface3DChart>` of React) over a regular grid: lit, colored by a\n * color map, with an optional wireframe, contour lines and transparency.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D surface with wireframe and contour lines.\n * @tag minerva-surface-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaSurface3DChart extends MinervaChart3DElement<Surface3DSeries> {\n static override tagName = \"minerva-surface-3d-chart\";\n\n /** Wireframe of the series that do not set one; property only */\n @property({ attribute: false })\n wireframe?: boolean | Surface3DWireframeOptions;\n\n /** Contour lines of the series that do not set them; property only */\n @property({ attribute: false })\n contours?: boolean | Surface3DContourOptions;\n\n protected typed(series: readonly Surface3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({\n ...s,\n type: \"surface\" as const,\n wireframe: s.wireframe ?? this.wireframe,\n contours: s.contours ?? this.contours,\n }));\n }\n}\n\n/**\n * 3D bars of `minerva-design/charts/core` (the `<Bar3DChart>` of React)\n * over an x × y category grid, lit, stacked across series.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D bars over a category grid.\n * @tag minerva-bar-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBar3DChart extends MinervaChart3DElement<Bar3DSeries> {\n static override tagName = \"minerva-bar-3d-chart\";\n\n /** Width of the bars of the series that do not set one, as a fraction of a cell */\n @property({ type: Number, attribute: \"bar-width\" })\n barWidth = 0.7;\n\n protected typed(series: readonly Bar3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({\n ...s,\n type: \"bar\" as const,\n barWidth: s.barWidth ?? this.barWidth,\n }));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"minerva-scatter-3d-chart\": MinervaScatter3DChart;\n \"minerva-line-3d-chart\": MinervaLine3DChart;\n \"minerva-surface-3d-chart\": MinervaSurface3DChart;\n \"minerva-bar-3d-chart\": MinervaBar3DChart;\n }\n}\n"],"mappings":";;;;;AA8BA,IAAsBE,IAAtB,cAEUC,EAAsD;;EAG1B,aAAA,KAAA,SAAA;;CAYpC,aACE,GACA,GACiB;EACjB,OAAOE,EAAcC,GAAWC,CAAO;CACzC;CAEA,gBAAiD;EAE/C,OADK,KAAK,SACH;GAAE,GAAG,KAAK;GAAS,QAAQ,KAAK,MAAM,KAAK,MAAM;EAAE,IADjC;CAE3B;CAEA,WAA8B,GAA2C;EACvE,OAAO;GACLC,EAAM,GAAG,UAAU,MAAM,KAAK,KAAK,iBAAiB,CAAC,CAAC;GACtDA,EAAM,GAAG,UAAU,MAAM,KAAK,KAAK,uBAAuB,CAAC,CAAC;GAC5DA,EAAM,GAAG,WAAW,MAClB,KAAK,KAAK,yBAAyBC,CAAM,CAC3C;GACAD,EAAM,GAAG,aAAa,MACpB,KAAK,KAAK,2BAA2B,EAAE,YAAS,CAAC,CACnD;EACF;CACF;CAGA,cAAoB;EAClB,KAAK,UAAU,YAAY;CAC7B;CAGA,YAAuC;EACrC,OAAO,KAAK,UAAU,UAAU,KAAK;CACvC;CAGA,UAAU,GAA2C;EACnD,KAAK,UAAU,UAAUC,CAAM;CACjC;CAGA,cAAwC;EACtC,OAAO,KAAK,UAAU,YAAY,KAAK;CACzC;AACF;AAzDGT,EAAA,CAAAU,EAAS,CAAA,GAAAR,EAAA,WAAA,UAAA,KAAA,CAAA,GAITF,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAR,EAAA,WAAA,UAAA,KAAA,CAAA,GAI7BF,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAR,EAAA,WAAA,WAAA,KAAA,CAAA;AAgEhC,IAAaS,IAAb,cAA2CT,EAAuC;;EACtD,KAAA,UAAA;;CAE1B,MAAgB,GAAqD;EACnE,OAAOU,EAAO,KAAK,OAAO;GAAE,GAAGC;GAAG,MAAM;EAAmB,EAAE;CAC/D;AACF,GAaaC,IAAb,cAAwCZ,EAAoC;;EAChD,KAAA,UAAA;;CAE1B,MAAgB,GAAkD;EAChE,OAAOU,EAAO,KAAK,OAAO;GAAE,GAAGC;GAAG,MAAM;EAAgB,EAAE;CAC5D;AACF,GAcaE,IAAb,cAA2Cb,EAAuC;;EACtD,KAAA,UAAA;;CAU1B,MAAgB,GAAqD;EACnE,OAAOU,EAAO,KAAK,OAAO;GACxB,GAAGC;GACH,MAAM;GACN,WAAWA,EAAE,aAAa,KAAK;GAC/B,UAAUA,EAAE,YAAY,KAAK;EAC/B,EAAE;CACJ;AACF;AAfGb,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAK,EAAA,WAAA,aAAA,KAAA,CAAA,GAI7Bf,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAK,EAAA,WAAA,YAAA,KAAA,CAAA;AAwBhC,IAAaC,IAAb,cAAuCd,EAAmC;;EAK7D,aAAA,KAAA,WAAA;;;EAJe,KAAA,UAAA;;CAM1B,MAAgB,GAAiD;EAC/D,OAAOU,EAAO,KAAK,OAAO;GACxB,GAAGC;GACH,MAAM;GACN,UAAUA,EAAE,YAAY,KAAK;EAC/B,EAAE;CACJ;AACF;AAVGb,EAAA,CAAAU,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAY,CAAC,CAAA,GAAAM,EAAA,WAAA,YAAA,KAAA,CAAA"}
1
+ {"version":3,"file":"chart-3d.js","names":["_decorate","__decorate","MinervaChart3DElement","MinervaEngineElement","_args","createChart3D","container","options","chart","camera","property","MinervaScatter3DChart","series","s","MinervaLine3DChart","MinervaSurface3DChart","MinervaBar3DChart","_args2"],"sources":["../../../../../web-components/src/components/chart-3d/chart-3d.ts"],"sourcesContent":["import { property } from \"lit/decorators.js\";\nimport {\n createChart3D,\n type Bar3DSeries,\n type Chart3DCameraState,\n type Chart3DInstance,\n type Chart3DOptions,\n type Chart3DSeries,\n type ChartRendererKind,\n type Line3DSeries,\n type Scatter3DSeries,\n type Surface3DContourOptions,\n type Surface3DSeries,\n type Surface3DWireframeOptions,\n} from \"minerva-design/charts/core\";\nimport { MinervaEngineElement } from \"../chart/engine-element\";\n\n/** Engine options other than the series (axes, camera, color scale, legend, tooltip...) */\nexport type Chart3DBaseOptions = Partial<Omit<Chart3DOptions, \"series\">>;\n\n/**\n * Base of the 3D chart elements (engine `createChart3D` of\n * `minerva-design/charts/core`): forwards the engine events as `minerva-*`\n * events and exposes the camera.\n *\n * @fires minerva-hover - The hovered point, cell or bar changed; detail: { seriesIndex, seriesName, type, index, x, y, z, value, color, label }, `null` when nothing is hovered\n * @fires minerva-point-click - A point, cell or bar was clicked; detail: { seriesIndex, seriesName, type, index, x, y, z, value, color, label }\n * @fires minerva-camera-change - The user rotated, zoomed, panned or reset the camera; detail: { azimuth, elevation, zoom, pan, projection }\n * @fires minerva-renderer-change - The backend is ready (or fell back after a GPU loss); detail: { renderer }\n */\nexport abstract class MinervaChart3DElement<\n S extends Chart3DSeries,\n> extends MinervaEngineElement<Chart3DOptions, Chart3DInstance> {\n /** Height of the chart, the legend included: pixels or any CSS length */\n @property()\n override height?: string | number = 400;\n\n /** Data series; replace the array (or a data array) to update the chart; property only */\n @property({ attribute: false })\n series?: readonly S[];\n\n /** Other engine options (`Chart3DOptions`: xAxis, yAxis, zAxis, camera, autoRotate, colorScale, colorBar, legend, tooltip, lighting, exposure, locale...); property only */\n @property({ attribute: false })\n options?: Chart3DBaseOptions;\n\n protected abstract typed(series: readonly S[]): Chart3DSeries[];\n\n protected createEngine(\n container: HTMLElement,\n options: Chart3DOptions,\n ): Chart3DInstance {\n return createChart3D(container, options);\n }\n\n protected engineOptions(): Chart3DOptions | null {\n if (!this.series) return null;\n return { ...this.options, series: this.typed(this.series) };\n }\n\n protected override bindEngine(chart: Chart3DInstance): Array<() => void> {\n return [\n chart.on(\"hover\", (e) => this.emit(\"minerva-hover\", e)),\n chart.on(\"click\", (e) => this.emit(\"minerva-point-click\", e)),\n chart.on(\"camera\", (camera) =>\n this.emit(\"minerva-camera-change\", camera),\n ),\n chart.on(\"renderer\", (renderer) =>\n this.emit(\"minerva-renderer-change\", { renderer }),\n ),\n ];\n }\n\n /** Restores the camera of the options */\n resetCamera(): void {\n this.instance?.resetCamera();\n }\n\n /** Current camera, `null` before the engine is created */\n getCamera(): Chart3DCameraState | null {\n return this.instance?.getCamera() ?? null;\n }\n\n /** Moves the camera */\n setCamera(camera: Partial<Chart3DCameraState>): void {\n this.instance?.setCamera(camera);\n }\n\n /** Backend in use (`webgpu`, `webgl2`, `webgl`, `canvas2d`), `null` until ready */\n getRenderer(): ChartRendererKind | null {\n return this.instance?.getRenderer() ?? null;\n }\n}\n\n/**\n * 3D scatter plot of `minerva-design/charts/core` (the `<Scatter3DChart>`\n * of React): point clouds of up to millions of points on the GPU, colored\n * per series, per point or through a color scale; orbit camera, hover\n * picking and color bar.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D point clouds with an orbit camera.\n * @tag minerva-scatter-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaScatter3DChart extends MinervaChart3DElement<Scatter3DSeries> {\n static override tagName = \"minerva-scatter-3d-chart\";\n\n protected typed(series: readonly Scatter3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({ ...s, type: \"scatter\" as const }));\n }\n}\n\n/**\n * 3D polylines of `minerva-design/charts/core` (the `<Line3DChart>` of\n * React): trajectories and paths, optionally colored along the line.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D polylines (trajectories, paths).\n * @tag minerva-line-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaLine3DChart extends MinervaChart3DElement<Line3DSeries> {\n static override tagName = \"minerva-line-3d-chart\";\n\n protected typed(series: readonly Line3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({ ...s, type: \"line\" as const }));\n }\n}\n\n/**\n * 3D surface `z = f(x, y)` of `minerva-design/charts/core` (the\n * `<Surface3DChart>` of React) over a regular grid: lit, colored by a\n * color map, with an optional wireframe, contour lines and transparency.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D surface with wireframe and contour lines.\n * @tag minerva-surface-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaSurface3DChart extends MinervaChart3DElement<Surface3DSeries> {\n static override tagName = \"minerva-surface-3d-chart\";\n\n /** Wireframe of the series that do not set one; property only */\n @property({ attribute: false })\n wireframe?: boolean | Surface3DWireframeOptions;\n\n /** Contour lines of the series that do not set them; property only */\n @property({ attribute: false })\n contours?: boolean | Surface3DContourOptions;\n\n protected typed(series: readonly Surface3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({\n ...s,\n type: \"surface\" as const,\n wireframe: s.wireframe ?? this.wireframe,\n contours: s.contours ?? this.contours,\n }));\n }\n}\n\n/**\n * 3D bars of `minerva-design/charts/core` (the `<Bar3DChart>` of React)\n * over an x × y category grid, lit, stacked across series.\n *\n * Published as the optional entry `minerva-design/web-components/chart-3d`.\n *\n * @summary GPU 3D bars over a category grid.\n * @tag minerva-bar-3d-chart\n * @csspart root - The sized box of the chart\n * @csspart surface - The element the engine renders into\n */\nexport class MinervaBar3DChart extends MinervaChart3DElement<Bar3DSeries> {\n static override tagName = \"minerva-bar-3d-chart\";\n\n /** Width of the bars of the series that do not set one, as a fraction of a cell */\n @property({ type: Number, attribute: \"bar-width\" })\n barWidth = 0.7;\n\n protected typed(series: readonly Bar3DSeries[]): Chart3DSeries[] {\n return series.map((s) => ({\n ...s,\n type: \"bar\" as const,\n barWidth: s.barWidth ?? this.barWidth,\n }));\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n \"minerva-scatter-3d-chart\": MinervaScatter3DChart;\n \"minerva-line-3d-chart\": MinervaLine3DChart;\n \"minerva-surface-3d-chart\": MinervaSurface3DChart;\n \"minerva-bar-3d-chart\": MinervaBar3DChart;\n }\n}\n"],"mappings":";;;;;AA8BA,IAAsBE,IAAtB,cAEUC,EAAsD;;EAG1B,aAAA,KAAA,SAAA;;CAYpC,aACE,GACA,GACiB;EACjB,OAAOE,EAAcC,GAAWC,CAAO;CACzC;CAEA,gBAAiD;EAE/C,OADK,KAAK,SACH;GAAE,GAAG,KAAK;GAAS,QAAQ,KAAK,MAAM,KAAK,MAAM;EAAE,IADjC;CAE3B;CAEA,WAA8B,GAA2C;EACvE,OAAO;GACLC,EAAM,GAAG,UAAU,MAAM,KAAK,KAAK,iBAAiB,CAAC,CAAC;GACtDA,EAAM,GAAG,UAAU,MAAM,KAAK,KAAK,uBAAuB,CAAC,CAAC;GAC5DA,EAAM,GAAG,WAAW,MAClB,KAAK,KAAK,yBAAyBC,CAAM,CAC3C;GACAD,EAAM,GAAG,aAAa,MACpB,KAAK,KAAK,2BAA2B,EAAE,YAAS,CAAC,CACnD;EACF;CACF;CAGA,cAAoB;EAClB,KAAK,UAAU,YAAY;CAC7B;CAGA,YAAuC;EACrC,OAAO,KAAK,UAAU,UAAU,KAAK;CACvC;CAGA,UAAU,GAA2C;EACnD,KAAK,UAAU,UAAUC,CAAM;CACjC;CAGA,cAAwC;EACtC,OAAO,KAAK,UAAU,YAAY,KAAK;CACzC;AACF;AAzDGT,EAAA,CAAAU,EAAS,CAAA,GAAAR,EAAA,WAAA,UAAA,KAAA,CAAA,GAITF,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAR,EAAA,WAAA,UAAA,KAAA,CAAA,GAI7BF,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAR,EAAA,WAAA,WAAA,KAAA,CAAA;AAgEhC,IAAaS,IAAb,cAA2CT,EAAuC;;EACtD,KAAA,UAAA;;CAE1B,MAAgB,GAAqD;EACnE,OAAOU,EAAO,KAAK,OAAO;GAAE,GAAGC;GAAG,MAAM;EAAmB,EAAE;CAC/D;AACF,GAaaC,IAAb,cAAwCZ,EAAoC;;EAChD,KAAA,UAAA;;CAE1B,MAAgB,GAAkD;EAChE,OAAOU,EAAO,KAAK,OAAO;GAAE,GAAGC;GAAG,MAAM;EAAgB,EAAE;CAC5D;AACF,GAcaE,IAAb,cAA2Cb,EAAuC;;EACtD,KAAA,UAAA;;CAU1B,MAAgB,GAAqD;EACnE,OAAOU,EAAO,KAAK,OAAO;GACxB,GAAGC;GACH,MAAM;GACN,WAAWA,EAAE,aAAa,KAAK;GAC/B,UAAUA,EAAE,YAAY,KAAK;EAC/B,EAAE;CACJ;AACF;AAfGb,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAK,EAAA,WAAA,aAAA,KAAA,CAAA,GAI7Bf,EAAA,CAAAU,EAAS,EAAE,WAAW,GAAM,CAAC,CAAA,GAAAK,EAAA,WAAA,YAAA,KAAA,CAAA;AAwBhC,IAAaC,IAAb,cAAuCd,EAAmC;;EAK7D,aAAA,KAAA,WAAA;;;EAJe,KAAA,UAAA;;CAM1B,MAAgB,GAAiD;EAC/D,OAAOU,EAAO,KAAK,OAAO;GACxB,GAAGC;GACH,MAAM;GACN,UAAUA,EAAE,YAAY,KAAK;EAC/B,EAAE;CACJ;AACF;AAVGb,EAAA,CAAAU,EAAS;CAAE,MAAM;CAAQ,WAAW;AAAY,CAAC,CAAA,GAAAM,EAAA,WAAA,YAAA,KAAA,CAAA"}
@@ -0,0 +1,156 @@
1
+ import { ChartRendererKind, GraphChartInstance, GraphChartOptions, GraphData, GraphDirection, GraphEdge, GraphEdgeStyle, GraphGroup, GraphLayoutType, GraphNode, GraphNodeShape, GraphPoint } from '../../../charts/core.js';
2
+ import { MinervaEngineElement } from '../chart/engine-element.js';
3
+ /** Engine options other than the data and the layout type (layout settings, node / edge styles, legend, tooltip, interaction, labels...) */
4
+ export type GraphBaseOptions = Partial<Omit<GraphChartOptions, "nodes" | "edges" | "groups" | "layout">>;
5
+ type GraphLayoutOptions = Pick<GraphChartOptions, "layout" | "direction" | "force" | "circular" | "dag" | "tree">;
6
+ /**
7
+ * Whether two option objects describe the same chart: top-level values by
8
+ * identity, one level deep for inline arrays / objects (node and edge
9
+ * arrays rebuilt with the same objects are the same data)
10
+ */
11
+ export declare const sameGraphOptions: (a: GraphChartOptions, b: GraphChartOptions) => boolean;
12
+ /**
13
+ * Base of the graph elements (engine `createGraphChart` of
14
+ * `minerva-design/charts/core`): forwards the engine events as `minerva-*`
15
+ * events and exposes the view, selection and collapse methods. New options
16
+ * are passed only when they describe another chart (the layout runs again
17
+ * when the node, edge or group arrays change: arrays rebuilt with the same
18
+ * objects keep it).
19
+ *
20
+ * @fires minerva-hover - The hovered (or keyboard-focused) node / edge changed; detail: { type, id, node, edge, index, group, color, degree, clientX, clientY }, `null` when nothing is hovered
21
+ * @fires minerva-item-click - A node or an edge was clicked (or a node activated with Enter); detail: { type, id, node, edge, index, group, color, degree, clientX, clientY }
22
+ * @fires minerva-selection-change - The selection changed; detail: { ids }
23
+ * @fires minerva-toggle - A tree node was collapsed or expanded; detail: { id, collapsed }
24
+ * @fires minerva-group-toggle - The legend showed / hid a group; detail: { group, hidden }
25
+ * @fires minerva-layout-end - The layout is done (the force simulation cooled down); detail: { layout }
26
+ * @fires minerva-renderer-change - The backend is ready (or fell back after a GPU loss); detail: { renderer }
27
+ */
28
+ export declare abstract class MinervaGraphElement extends MinervaEngineElement<GraphChartOptions, GraphChartInstance> {
29
+ /** Height of the chart, the legend included: pixels or any CSS length */
30
+ height?: string | number;
31
+ /** Nodes `{ id, label, group, value, ... }`; property only */
32
+ nodes?: readonly GraphNode[];
33
+ /** Edges `{ source, target, value, label, ... }`; property only */
34
+ edges?: readonly GraphEdge[];
35
+ /** Groups `{ id, name, color }`: legend order, names and colors; property only */
36
+ groups?: readonly GraphGroup[];
37
+ /** Shape of the nodes without `shape` (boxes for DAGs, org charts and mind maps, circles otherwise) */
38
+ nodeShape?: GraphNodeShape;
39
+ /** Edge shape; depends on the layout when omitted */
40
+ edgeStyle?: GraphEdgeStyle;
41
+ /** Edge colors: neutral or tinted with the source / target node */
42
+ edgeColor: "neutral" | "source" | "target";
43
+ /** Shape of the arrowheads: `open` (a slim outlined head) or `filled` (a solid head in the edge color, following the theme and the highlight) */
44
+ arrowStyle: "open" | "filled";
45
+ /** What hovering / selecting a node highlights */
46
+ highlight?: "neighbors" | "lineage" | "none";
47
+ /** Language of the built-in texts (summary, announcements, tooltip, buttons); the page language by default */
48
+ locale?: string;
49
+ /** Ids of the selected nodes (changing it updates the selection); property only */
50
+ selected?: readonly string[];
51
+ /** Other engine options (`GraphChartOptions`: force, circular, dag, tree, nodeSize, edgeWidth, arrows, nodeLabels, edgeLabels, animation, legend, tooltip, interaction, renderer, palette, ariaLabel, labels...); property only */
52
+ options?: GraphBaseOptions;
53
+ private previous;
54
+ /** Layout options of the element */
55
+ protected abstract layoutOptions(): GraphLayoutOptions;
56
+ protected createEngine(container: HTMLElement, options: GraphChartOptions): GraphChartInstance;
57
+ protected engineOptions(): GraphChartOptions | null;
58
+ protected syncEngine(engine: GraphChartInstance): void;
59
+ protected bindEngine(chart: GraphChartInstance): Array<() => void>;
60
+ /** Fits the visible nodes in the view */
61
+ fit(animate?: boolean): void;
62
+ /** Centers a node (expanding its collapsed ancestors), optionally zooming */
63
+ focusNode(id: string, options?: {
64
+ zoom?: number;
65
+ animate?: boolean;
66
+ }): void;
67
+ /** Replaces the data until the properties change again */
68
+ setData(data: GraphData): void;
69
+ /** Selects nodes (`null` clears the selection) */
70
+ select(ids: readonly string[] | string | null): void;
71
+ /** Ids of the selected nodes */
72
+ getSelection(): string[];
73
+ /** Expands a node (all nodes without an id) */
74
+ expand(id?: string): void;
75
+ /** Collapses a node (all nodes with children without an id) */
76
+ collapse(id?: string): void;
77
+ /** Collapses / expands a node */
78
+ toggle(id: string): void;
79
+ /** Current positions of the nodes in layout units */
80
+ getPositions(): Record<string, GraphPoint>;
81
+ /** Computes the layout again */
82
+ relayout(): void;
83
+ /** Backend in use (`webgpu`, `webgl2`, `webgl`, `canvas2d`), `null` until ready */
84
+ getRenderer(): ChartRendererKind | null;
85
+ }
86
+ /**
87
+ * Relationship network of `minerva-design/charts/core` (the
88
+ * `<GraphChart>` of React): force-directed by default (Barnes–Hut, a Web
89
+ * Worker for large graphs), or circular, arc diagram, layered or tree
90
+ * layouts; GPU rendering, pan / zoom, drag, neighbor highlight, legend
91
+ * toggles and keyboard navigation.
92
+ *
93
+ * Published as the optional entry `minerva-design/web-components/graph`.
94
+ *
95
+ * @summary GPU relationship network with force, circular and layered layouts.
96
+ * @tag minerva-graph-chart
97
+ * @csspart root - The sized box of the chart
98
+ * @csspart surface - The element the engine renders into
99
+ */
100
+ export declare class MinervaGraphChart extends MinervaGraphElement {
101
+ static tagName: string;
102
+ /** Placement of the nodes */
103
+ layout: GraphLayoutType;
104
+ /** Direction of the `dag` and `tree` layouts */
105
+ direction?: GraphDirection;
106
+ protected layoutOptions(): GraphLayoutOptions;
107
+ }
108
+ /**
109
+ * Dependency graph of `minerva-design/charts/core` (the
110
+ * `<DependencyGraph>` of React): layered (Sugiyama) layout of a DAG with
111
+ * crossing reduction, spline or orthogonal edges with arrowheads, upstream
112
+ * / downstream highlight and the critical path.
113
+ *
114
+ * Published as the optional entry `minerva-design/web-components/graph`.
115
+ *
116
+ * @summary Layered DAG with the critical path.
117
+ * @tag minerva-dependency-graph
118
+ * @csspart root - The sized box of the chart
119
+ * @csspart surface - The element the engine renders into
120
+ */
121
+ export declare class MinervaDependencyGraph extends MinervaGraphElement {
122
+ static tagName: string;
123
+ /** Flow direction */
124
+ direction: GraphDirection;
125
+ /** Highlights the longest path (node `value` = duration); a list of node ids (property) sets it */
126
+ criticalPath?: boolean | readonly string[];
127
+ protected layoutOptions(): GraphLayoutOptions;
128
+ }
129
+ /**
130
+ * Tree chart of `minerva-design/charts/core` (the `<TreeChart>` of
131
+ * React): tidy tree, radial tree, mind map or org chart, with animated
132
+ * collapse / expand of the subtrees.
133
+ *
134
+ * Published as the optional entry `minerva-design/web-components/graph`.
135
+ *
136
+ * @summary Tidy tree, radial tree, mind map or org chart.
137
+ * @tag minerva-tree-chart
138
+ * @csspart root - The sized box of the chart
139
+ * @csspart surface - The element the engine renders into
140
+ */
141
+ export declare class MinervaTreeChart extends MinervaGraphElement {
142
+ static tagName: string;
143
+ /** Kind of tree: tidy tree, radial tree, two-sided mind map or org chart */
144
+ layout: "tree" | "radial" | "mindmap" | "org";
145
+ /** Direction of `layout="tree"` */
146
+ direction: GraphDirection;
147
+ protected layoutOptions(): GraphLayoutOptions;
148
+ }
149
+ declare global {
150
+ interface HTMLElementTagNameMap {
151
+ "minerva-graph-chart": MinervaGraphChart;
152
+ "minerva-dependency-graph": MinervaDependencyGraph;
153
+ "minerva-tree-chart": MinervaTreeChart;
154
+ }
155
+ }
156
+ export {};