minerva-design 1.3.0 → 1.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1337) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +18546 -7329
  4. package/dist/angular/fesm2022/minerva-angular.mjs +8303 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2809 -0
  7. package/dist/charts/canvas.d.cts +8 -3
  8. package/dist/charts/canvas.d.ts +8 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +10 -5
  11. package/dist/charts/core.d.ts +10 -5
  12. package/dist/charts/core.js +27 -8
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +43 -20
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +193 -116
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -1
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +486 -350
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +18 -0
  32. package/dist/charts/engine/color.d.ts +18 -0
  33. package/dist/charts/engine/color.js +47 -1
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +44 -4
  38. package/dist/charts/engine/controller.d.ts +44 -4
  39. package/dist/charts/engine/controller.js +421 -314
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/data.cjs +1 -1
  42. package/dist/charts/engine/data.cjs.map +1 -1
  43. package/dist/charts/engine/data.d.cts +9 -1
  44. package/dist/charts/engine/data.d.ts +9 -1
  45. package/dist/charts/engine/data.js +65 -49
  46. package/dist/charts/engine/data.js.map +1 -1
  47. package/dist/charts/engine/defaults.cjs +2 -0
  48. package/dist/charts/engine/defaults.cjs.map +1 -0
  49. package/dist/charts/engine/defaults.d.cts +20 -0
  50. package/dist/charts/engine/defaults.d.ts +20 -0
  51. package/dist/charts/engine/defaults.js +35 -0
  52. package/dist/charts/engine/defaults.js.map +1 -0
  53. package/dist/charts/engine/format.cjs +1 -1
  54. package/dist/charts/engine/format.cjs.map +1 -1
  55. package/dist/charts/engine/format.d.cts +27 -6
  56. package/dist/charts/engine/format.d.ts +27 -6
  57. package/dist/charts/engine/format.js +59 -21
  58. package/dist/charts/engine/format.js.map +1 -1
  59. package/dist/charts/engine/graph/chart.cjs +2 -0
  60. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  61. package/dist/charts/engine/graph/chart.d.cts +3 -0
  62. package/dist/charts/engine/graph/chart.d.ts +3 -0
  63. package/dist/charts/engine/graph/chart.js +1565 -0
  64. package/dist/charts/engine/graph/chart.js.map +1 -0
  65. package/dist/charts/engine/graph/circular.cjs +2 -0
  66. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  67. package/dist/charts/engine/graph/circular.d.cts +16 -0
  68. package/dist/charts/engine/graph/circular.d.ts +16 -0
  69. package/dist/charts/engine/graph/circular.js +62 -0
  70. package/dist/charts/engine/graph/circular.js.map +1 -0
  71. package/dist/charts/engine/graph/dag.cjs +2 -0
  72. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  73. package/dist/charts/engine/graph/dag.d.cts +34 -0
  74. package/dist/charts/engine/graph/dag.d.ts +34 -0
  75. package/dist/charts/engine/graph/dag.js +314 -0
  76. package/dist/charts/engine/graph/dag.js.map +1 -0
  77. package/dist/charts/engine/graph/dom.cjs +2 -0
  78. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  79. package/dist/charts/engine/graph/dom.d.cts +23 -0
  80. package/dist/charts/engine/graph/dom.d.ts +23 -0
  81. package/dist/charts/engine/graph/dom.js +158 -0
  82. package/dist/charts/engine/graph/dom.js.map +1 -0
  83. package/dist/charts/engine/graph/force.cjs +2 -0
  84. package/dist/charts/engine/graph/force.cjs.map +1 -0
  85. package/dist/charts/engine/graph/force.d.cts +67 -0
  86. package/dist/charts/engine/graph/force.d.ts +67 -0
  87. package/dist/charts/engine/graph/force.js +325 -0
  88. package/dist/charts/engine/graph/force.js.map +1 -0
  89. package/dist/charts/engine/graph/geometry.cjs +2 -0
  90. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  91. package/dist/charts/engine/graph/geometry.d.cts +37 -0
  92. package/dist/charts/engine/graph/geometry.d.ts +37 -0
  93. package/dist/charts/engine/graph/geometry.js +144 -0
  94. package/dist/charts/engine/graph/geometry.js.map +1 -0
  95. package/dist/charts/engine/graph/index.cjs +1 -0
  96. package/dist/charts/engine/graph/index.d.cts +6 -0
  97. package/dist/charts/engine/graph/index.d.ts +6 -0
  98. package/dist/charts/engine/graph/index.js +6 -0
  99. package/dist/charts/engine/graph/labels.cjs +2 -0
  100. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  101. package/dist/charts/engine/graph/labels.d.cts +12 -0
  102. package/dist/charts/engine/graph/labels.d.ts +12 -0
  103. package/dist/charts/engine/graph/labels.js +128 -0
  104. package/dist/charts/engine/graph/labels.js.map +1 -0
  105. package/dist/charts/engine/graph/model.cjs +2 -0
  106. package/dist/charts/engine/graph/model.cjs.map +1 -0
  107. package/dist/charts/engine/graph/model.d.cts +43 -0
  108. package/dist/charts/engine/graph/model.d.ts +43 -0
  109. package/dist/charts/engine/graph/model.js +88 -0
  110. package/dist/charts/engine/graph/model.js.map +1 -0
  111. package/dist/charts/engine/graph/sizing.cjs +2 -0
  112. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  113. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  114. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  115. package/dist/charts/engine/graph/sizing.js +60 -0
  116. package/dist/charts/engine/graph/sizing.js.map +1 -0
  117. package/dist/charts/engine/graph/tree.cjs +2 -0
  118. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  119. package/dist/charts/engine/graph/tree.d.cts +30 -0
  120. package/dist/charts/engine/graph/tree.d.ts +30 -0
  121. package/dist/charts/engine/graph/tree.js +218 -0
  122. package/dist/charts/engine/graph/tree.js.map +1 -0
  123. package/dist/charts/engine/graph/types.d.cts +626 -0
  124. package/dist/charts/engine/graph/types.d.ts +626 -0
  125. package/dist/charts/engine/graph/worker.cjs +46 -0
  126. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  127. package/dist/charts/engine/graph/worker.d.cts +36 -0
  128. package/dist/charts/engine/graph/worker.d.ts +36 -0
  129. package/dist/charts/engine/graph/worker.js +129 -0
  130. package/dist/charts/engine/graph/worker.js.map +1 -0
  131. package/dist/charts/engine/items.cjs +1 -1
  132. package/dist/charts/engine/items.cjs.map +1 -1
  133. package/dist/charts/engine/items.d.cts +15 -2
  134. package/dist/charts/engine/items.d.ts +15 -2
  135. package/dist/charts/engine/items.js +257 -81
  136. package/dist/charts/engine/items.js.map +1 -1
  137. package/dist/charts/engine/labels.cjs +2 -0
  138. package/dist/charts/engine/labels.cjs.map +1 -0
  139. package/dist/charts/engine/labels.d.cts +13 -0
  140. package/dist/charts/engine/labels.d.ts +13 -0
  141. package/dist/charts/engine/labels.js +98 -0
  142. package/dist/charts/engine/labels.js.map +1 -0
  143. package/dist/charts/engine/layout.cjs +1 -1
  144. package/dist/charts/engine/layout.cjs.map +1 -1
  145. package/dist/charts/engine/layout.d.cts +43 -2
  146. package/dist/charts/engine/layout.d.ts +43 -2
  147. package/dist/charts/engine/layout.js +62 -12
  148. package/dist/charts/engine/layout.js.map +1 -1
  149. package/dist/charts/engine/locale.cjs +2 -0
  150. package/dist/charts/engine/locale.cjs.map +1 -0
  151. package/dist/charts/engine/locale.d.cts +33 -0
  152. package/dist/charts/engine/locale.d.ts +33 -0
  153. package/dist/charts/engine/locale.js +68 -0
  154. package/dist/charts/engine/locale.js.map +1 -0
  155. package/dist/charts/engine/model.cjs +1 -1
  156. package/dist/charts/engine/model.cjs.map +1 -1
  157. package/dist/charts/engine/model.d.cts +77 -2
  158. package/dist/charts/engine/model.d.ts +77 -2
  159. package/dist/charts/engine/model.js +304 -116
  160. package/dist/charts/engine/model.js.map +1 -1
  161. package/dist/charts/engine/orderbook/book.cjs +2 -0
  162. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  163. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  164. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  165. package/dist/charts/engine/orderbook/book.js +134 -0
  166. package/dist/charts/engine/orderbook/book.js.map +1 -0
  167. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  168. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  169. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  170. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  171. package/dist/charts/engine/orderbook/depth.js +413 -0
  172. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  173. package/dist/charts/engine/orderbook/format.cjs +2 -0
  174. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  175. package/dist/charts/engine/orderbook/format.d.cts +49 -0
  176. package/dist/charts/engine/orderbook/format.d.ts +49 -0
  177. package/dist/charts/engine/orderbook/format.js +65 -0
  178. package/dist/charts/engine/orderbook/format.js.map +1 -0
  179. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  180. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  181. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  182. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  183. package/dist/charts/engine/orderbook/heatmap.js +822 -0
  184. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  185. package/dist/charts/engine/orderbook/host.cjs +2 -0
  186. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  187. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  188. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  189. package/dist/charts/engine/orderbook/host.js +161 -0
  190. package/dist/charts/engine/orderbook/host.js.map +1 -0
  191. package/dist/charts/engine/orderbook/index.cjs +1 -0
  192. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  193. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  194. package/dist/charts/engine/orderbook/index.js +6 -0
  195. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  196. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  197. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  198. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  199. package/dist/charts/engine/orderbook/ladder.js +341 -0
  200. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  201. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  202. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  203. package/dist/charts/engine/orderbook/layout.d.cts +37 -0
  204. package/dist/charts/engine/orderbook/layout.d.ts +37 -0
  205. package/dist/charts/engine/orderbook/layout.js +70 -0
  206. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  207. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  208. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  209. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  210. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  211. package/dist/charts/engine/orderbook/tape.js +450 -0
  212. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  213. package/dist/charts/engine/orderbook/types.d.cts +751 -0
  214. package/dist/charts/engine/orderbook/types.d.ts +751 -0
  215. package/dist/charts/engine/overlay.cjs +1 -1
  216. package/dist/charts/engine/overlay.cjs.map +1 -1
  217. package/dist/charts/engine/overlay.d.cts +28 -2
  218. package/dist/charts/engine/overlay.d.ts +28 -2
  219. package/dist/charts/engine/overlay.js +138 -96
  220. package/dist/charts/engine/overlay.js.map +1 -1
  221. package/dist/charts/engine/presets.cjs +2 -2
  222. package/dist/charts/engine/presets.cjs.map +1 -1
  223. package/dist/charts/engine/presets.d.cts +273 -3
  224. package/dist/charts/engine/presets.d.ts +273 -3
  225. package/dist/charts/engine/presets.js +390 -38
  226. package/dist/charts/engine/presets.js.map +1 -1
  227. package/dist/charts/engine/renderers/detect.cjs +1 -1
  228. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  230. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  231. package/dist/charts/engine/renderers/detect.js +24 -19
  232. package/dist/charts/engine/renderers/detect.js.map +1 -1
  233. package/dist/charts/engine/renderers/gl.cjs +2 -0
  234. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  235. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  236. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  237. package/dist/charts/engine/renderers/gl.js +56 -0
  238. package/dist/charts/engine/renderers/gl.js.map +1 -0
  239. package/dist/charts/engine/renderers/shaders.cjs +143 -1
  240. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  241. package/dist/charts/engine/renderers/shaders.d.cts +16 -0
  242. package/dist/charts/engine/renderers/shaders.d.ts +16 -0
  243. package/dist/charts/engine/renderers/shaders.js +139 -1
  244. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  246. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  247. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  248. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  249. package/dist/charts/engine/renderers/webgl.js +133 -0
  250. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  251. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  252. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  253. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  254. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  255. package/dist/charts/engine/renderers/webgl2.js +59 -108
  256. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  257. package/dist/charts/engine/scale.cjs +1 -1
  258. package/dist/charts/engine/scale.cjs.map +1 -1
  259. package/dist/charts/engine/scale.js +1 -1
  260. package/dist/charts/engine/scale.js.map +1 -1
  261. package/dist/charts/engine/scene.cjs +1 -1
  262. package/dist/charts/engine/scene.cjs.map +1 -1
  263. package/dist/charts/engine/scene.d.cts +71 -8
  264. package/dist/charts/engine/scene.d.ts +71 -8
  265. package/dist/charts/engine/scene.js +465 -183
  266. package/dist/charts/engine/scene.js.map +1 -1
  267. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  268. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  269. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  270. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  271. package/dist/charts/engine/shapes/bullet.js +255 -0
  272. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  273. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  274. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  275. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  276. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  277. package/dist/charts/engine/shapes/calendar.js +369 -0
  278. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  279. package/dist/charts/engine/shapes/canvas.cjs +1 -1
  280. package/dist/charts/engine/shapes/canvas.cjs.map +1 -1
  281. package/dist/charts/engine/shapes/canvas.d.cts +7 -0
  282. package/dist/charts/engine/shapes/canvas.d.ts +7 -0
  283. package/dist/charts/engine/shapes/canvas.js +22 -13
  284. package/dist/charts/engine/shapes/canvas.js.map +1 -1
  285. package/dist/charts/engine/shapes/chart.cjs +1 -1
  286. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  287. package/dist/charts/engine/shapes/chart.d.cts +3 -2
  288. package/dist/charts/engine/shapes/chart.d.ts +3 -2
  289. package/dist/charts/engine/shapes/chart.js +49 -27
  290. package/dist/charts/engine/shapes/chart.js.map +1 -1
  291. package/dist/charts/engine/shapes/chord.cjs +2 -0
  292. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  293. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  294. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  295. package/dist/charts/engine/shapes/chord.js +414 -0
  296. package/dist/charts/engine/shapes/chord.js.map +1 -0
  297. package/dist/charts/engine/shapes/draw.cjs +1 -1
  298. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  299. package/dist/charts/engine/shapes/draw.d.cts +7 -1
  300. package/dist/charts/engine/shapes/draw.d.ts +7 -1
  301. package/dist/charts/engine/shapes/draw.js +62 -19
  302. package/dist/charts/engine/shapes/draw.js.map +1 -1
  303. package/dist/charts/engine/shapes/funnel.cjs +1 -1
  304. package/dist/charts/engine/shapes/funnel.cjs.map +1 -1
  305. package/dist/charts/engine/shapes/funnel.js +3 -3
  306. package/dist/charts/engine/shapes/funnel.js.map +1 -1
  307. package/dist/charts/engine/shapes/gauge.cjs +1 -1
  308. package/dist/charts/engine/shapes/gauge.cjs.map +1 -1
  309. package/dist/charts/engine/shapes/gauge.js +132 -95
  310. package/dist/charts/engine/shapes/gauge.js.map +1 -1
  311. package/dist/charts/engine/shapes/hit.cjs +1 -1
  312. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  313. package/dist/charts/engine/shapes/hit.d.cts +5 -1
  314. package/dist/charts/engine/shapes/hit.d.ts +5 -1
  315. package/dist/charts/engine/shapes/hit.js +89 -39
  316. package/dist/charts/engine/shapes/hit.js.map +1 -1
  317. package/dist/charts/engine/shapes/index.d.cts +6 -2
  318. package/dist/charts/engine/shapes/index.d.ts +6 -2
  319. package/dist/charts/engine/shapes/labels.cjs +2 -0
  320. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  321. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  322. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  323. package/dist/charts/engine/shapes/labels.js +154 -0
  324. package/dist/charts/engine/shapes/labels.js.map +1 -0
  325. package/dist/charts/engine/shapes/layout.cjs +2 -2
  326. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  327. package/dist/charts/engine/shapes/layout.d.cts +10 -3
  328. package/dist/charts/engine/shapes/layout.d.ts +10 -3
  329. package/dist/charts/engine/shapes/layout.js +239 -124
  330. package/dist/charts/engine/shapes/layout.js.map +1 -1
  331. package/dist/charts/engine/shapes/pie.cjs +1 -1
  332. package/dist/charts/engine/shapes/pie.cjs.map +1 -1
  333. package/dist/charts/engine/shapes/pie.js +2 -2
  334. package/dist/charts/engine/shapes/pie.js.map +1 -1
  335. package/dist/charts/engine/shapes/radar.cjs +1 -1
  336. package/dist/charts/engine/shapes/radar.cjs.map +1 -1
  337. package/dist/charts/engine/shapes/radar.d.cts +2 -2
  338. package/dist/charts/engine/shapes/radar.d.ts +2 -2
  339. package/dist/charts/engine/shapes/radar.js +50 -49
  340. package/dist/charts/engine/shapes/radar.js.map +1 -1
  341. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  342. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  343. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  344. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  345. package/dist/charts/engine/shapes/radialBar.js +155 -0
  346. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  347. package/dist/charts/engine/shapes/runtime.cjs +1 -1
  348. package/dist/charts/engine/shapes/runtime.cjs.map +1 -1
  349. package/dist/charts/engine/shapes/runtime.d.cts +9 -2
  350. package/dist/charts/engine/shapes/runtime.d.ts +9 -2
  351. package/dist/charts/engine/shapes/runtime.js +61 -51
  352. package/dist/charts/engine/shapes/runtime.js.map +1 -1
  353. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  354. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  355. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  356. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  357. package/dist/charts/engine/shapes/sankey.js +372 -0
  358. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  359. package/dist/charts/engine/shapes/scene.cjs +1 -1
  360. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  361. package/dist/charts/engine/shapes/scene.d.cts +92 -8
  362. package/dist/charts/engine/shapes/scene.d.ts +92 -8
  363. package/dist/charts/engine/shapes/scene.js +76 -31
  364. package/dist/charts/engine/shapes/scene.js.map +1 -1
  365. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  366. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  367. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  368. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  369. package/dist/charts/engine/shapes/sunburst.js +261 -0
  370. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  371. package/dist/charts/engine/shapes/treemap.cjs +1 -1
  372. package/dist/charts/engine/shapes/treemap.cjs.map +1 -1
  373. package/dist/charts/engine/shapes/treemap.js +2 -2
  374. package/dist/charts/engine/shapes/treemap.js.map +1 -1
  375. package/dist/charts/engine/shapes/types.d.cts +550 -12
  376. package/dist/charts/engine/shapes/types.d.ts +550 -12
  377. package/dist/charts/engine/signature.cjs +1 -1
  378. package/dist/charts/engine/signature.cjs.map +1 -1
  379. package/dist/charts/engine/signature.js +1 -1
  380. package/dist/charts/engine/signature.js.map +1 -1
  381. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  382. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  383. package/dist/charts/engine/three-d/canvas2d.d.cts +7 -0
  384. package/dist/charts/engine/three-d/canvas2d.d.ts +7 -0
  385. package/dist/charts/engine/three-d/canvas2d.js +128 -0
  386. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  387. package/dist/charts/engine/three-d/chart.cjs +2 -0
  388. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  389. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  390. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  391. package/dist/charts/engine/three-d/chart.js +621 -0
  392. package/dist/charts/engine/three-d/chart.js.map +1 -0
  393. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  394. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  395. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  396. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  397. package/dist/charts/engine/three-d/colormap.js +166 -0
  398. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  399. package/dist/charts/engine/three-d/contours.cjs +2 -0
  400. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  401. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  402. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  403. package/dist/charts/engine/three-d/contours.js +47 -0
  404. package/dist/charts/engine/three-d/contours.js.map +1 -0
  405. package/dist/charts/engine/three-d/detect.cjs +2 -0
  406. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  407. package/dist/charts/engine/three-d/detect.d.cts +12 -0
  408. package/dist/charts/engine/three-d/detect.d.ts +12 -0
  409. package/dist/charts/engine/three-d/detect.js +37 -0
  410. package/dist/charts/engine/three-d/detect.js.map +1 -0
  411. package/dist/charts/engine/three-d/dom.cjs +2 -0
  412. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  413. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  414. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  415. package/dist/charts/engine/three-d/dom.js +98 -0
  416. package/dist/charts/engine/three-d/dom.js.map +1 -0
  417. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  418. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  419. package/dist/charts/engine/three-d/geometry.d.cts +82 -0
  420. package/dist/charts/engine/three-d/geometry.d.ts +82 -0
  421. package/dist/charts/engine/three-d/geometry.js +545 -0
  422. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  423. package/dist/charts/engine/three-d/hover.cjs +2 -0
  424. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  425. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  426. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  427. package/dist/charts/engine/three-d/hover.js +131 -0
  428. package/dist/charts/engine/three-d/hover.js.map +1 -0
  429. package/dist/charts/engine/three-d/index.cjs +1 -0
  430. package/dist/charts/engine/three-d/index.d.cts +2 -0
  431. package/dist/charts/engine/three-d/index.d.ts +2 -0
  432. package/dist/charts/engine/three-d/index.js +2 -0
  433. package/dist/charts/engine/three-d/labels.cjs +2 -0
  434. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  436. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  437. package/dist/charts/engine/three-d/labels.js +136 -0
  438. package/dist/charts/engine/three-d/labels.js.map +1 -0
  439. package/dist/charts/engine/three-d/math.cjs +2 -0
  440. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/math.d.cts +84 -0
  442. package/dist/charts/engine/three-d/math.d.ts +84 -0
  443. package/dist/charts/engine/three-d/math.js +150 -0
  444. package/dist/charts/engine/three-d/math.js.map +1 -0
  445. package/dist/charts/engine/three-d/model.cjs +2 -0
  446. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  447. package/dist/charts/engine/three-d/model.d.cts +132 -0
  448. package/dist/charts/engine/three-d/model.d.ts +132 -0
  449. package/dist/charts/engine/three-d/model.js +279 -0
  450. package/dist/charts/engine/three-d/model.js.map +1 -0
  451. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  452. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  453. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  454. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  455. package/dist/charts/engine/three-d/overlay.js +204 -0
  456. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  457. package/dist/charts/engine/three-d/pick.cjs +2 -0
  458. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  459. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  460. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  461. package/dist/charts/engine/three-d/pick.js +220 -0
  462. package/dist/charts/engine/three-d/pick.js.map +1 -0
  463. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  464. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  465. package/dist/charts/engine/three-d/render-types.d.cts +103 -0
  466. package/dist/charts/engine/three-d/render-types.d.ts +103 -0
  467. package/dist/charts/engine/three-d/render-types.js +12 -0
  468. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  469. package/dist/charts/engine/three-d/shaders.cjs +311 -0
  470. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  471. package/dist/charts/engine/three-d/shaders.d.cts +25 -0
  472. package/dist/charts/engine/three-d/shaders.d.ts +25 -0
  473. package/dist/charts/engine/three-d/shaders.js +210 -0
  474. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  475. package/dist/charts/engine/three-d/sort.cjs +2 -0
  476. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  477. package/dist/charts/engine/three-d/sort.d.cts +29 -0
  478. package/dist/charts/engine/three-d/sort.d.ts +29 -0
  479. package/dist/charts/engine/three-d/sort.js +145 -0
  480. package/dist/charts/engine/three-d/sort.js.map +1 -0
  481. package/dist/charts/engine/three-d/types.d.cts +615 -0
  482. package/dist/charts/engine/three-d/types.d.ts +615 -0
  483. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  484. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  485. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  486. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  487. package/dist/charts/engine/three-d/webgl.js +132 -0
  488. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  489. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  490. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  491. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  492. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  493. package/dist/charts/engine/three-d/webgpu.js +260 -0
  494. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  495. package/dist/charts/engine/time.cjs +1 -1
  496. package/dist/charts/engine/time.cjs.map +1 -1
  497. package/dist/charts/engine/time.d.cts +13 -4
  498. package/dist/charts/engine/time.d.ts +13 -4
  499. package/dist/charts/engine/time.js +156 -91
  500. package/dist/charts/engine/time.js.map +1 -1
  501. package/dist/charts/engine/trading/chart.cjs +2 -0
  502. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  503. package/dist/charts/engine/trading/chart.d.cts +13 -0
  504. package/dist/charts/engine/trading/chart.d.ts +13 -0
  505. package/dist/charts/engine/trading/chart.js +2206 -0
  506. package/dist/charts/engine/trading/chart.js.map +1 -0
  507. package/dist/charts/engine/trading/drawings.cjs +3 -0
  508. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  509. package/dist/charts/engine/trading/drawings.d.cts +95 -0
  510. package/dist/charts/engine/trading/drawings.d.ts +95 -0
  511. package/dist/charts/engine/trading/drawings.js +423 -0
  512. package/dist/charts/engine/trading/drawings.js.map +1 -0
  513. package/dist/charts/engine/trading/format.cjs +2 -0
  514. package/dist/charts/engine/trading/format.cjs.map +1 -0
  515. package/dist/charts/engine/trading/format.d.cts +73 -0
  516. package/dist/charts/engine/trading/format.d.ts +73 -0
  517. package/dist/charts/engine/trading/format.js +163 -0
  518. package/dist/charts/engine/trading/format.js.map +1 -0
  519. package/dist/charts/engine/trading/geometry.cjs +2 -0
  520. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  521. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  522. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  523. package/dist/charts/engine/trading/geometry.js +131 -0
  524. package/dist/charts/engine/trading/geometry.js.map +1 -0
  525. package/dist/charts/engine/trading/index.cjs +1 -0
  526. package/dist/charts/engine/trading/index.d.cts +4 -0
  527. package/dist/charts/engine/trading/index.d.ts +4 -0
  528. package/dist/charts/engine/trading/index.js +4 -0
  529. package/dist/charts/engine/trading/indicators.cjs +2 -0
  530. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  531. package/dist/charts/engine/trading/indicators.d.cts +275 -0
  532. package/dist/charts/engine/trading/indicators.d.ts +275 -0
  533. package/dist/charts/engine/trading/indicators.js +544 -0
  534. package/dist/charts/engine/trading/indicators.js.map +1 -0
  535. package/dist/charts/engine/trading/labels.cjs +2 -0
  536. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  537. package/dist/charts/engine/trading/labels.d.cts +7 -0
  538. package/dist/charts/engine/trading/labels.d.ts +7 -0
  539. package/dist/charts/engine/trading/labels.js +171 -0
  540. package/dist/charts/engine/trading/labels.js.map +1 -0
  541. package/dist/charts/engine/trading/scale.cjs +2 -0
  542. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  543. package/dist/charts/engine/trading/scale.d.cts +46 -0
  544. package/dist/charts/engine/trading/scale.d.ts +46 -0
  545. package/dist/charts/engine/trading/scale.js +100 -0
  546. package/dist/charts/engine/trading/scale.js.map +1 -0
  547. package/dist/charts/engine/trading/store.cjs +2 -0
  548. package/dist/charts/engine/trading/store.cjs.map +1 -0
  549. package/dist/charts/engine/trading/store.d.cts +83 -0
  550. package/dist/charts/engine/trading/store.d.ts +83 -0
  551. package/dist/charts/engine/trading/store.js +150 -0
  552. package/dist/charts/engine/trading/store.js.map +1 -0
  553. package/dist/charts/engine/trading/studies.cjs +2 -0
  554. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  555. package/dist/charts/engine/trading/studies.d.cts +85 -0
  556. package/dist/charts/engine/trading/studies.d.ts +85 -0
  557. package/dist/charts/engine/trading/studies.js +510 -0
  558. package/dist/charts/engine/trading/studies.js.map +1 -0
  559. package/dist/charts/engine/trading/sync.cjs +2 -0
  560. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  561. package/dist/charts/engine/trading/sync.d.cts +8 -0
  562. package/dist/charts/engine/trading/sync.d.ts +8 -0
  563. package/dist/charts/engine/trading/sync.js +25 -0
  564. package/dist/charts/engine/trading/sync.js.map +1 -0
  565. package/dist/charts/engine/trading/types.d.cts +1131 -0
  566. package/dist/charts/engine/trading/types.d.ts +1131 -0
  567. package/dist/charts/engine/types.d.cts +247 -22
  568. package/dist/charts/engine/types.d.ts +247 -22
  569. package/dist/charts/index.cjs +1 -1
  570. package/dist/charts/index.d.cts +8 -4
  571. package/dist/charts/index.d.ts +8 -4
  572. package/dist/charts/index.js +30 -11
  573. package/dist/charts/react/Chart.cjs +1 -1
  574. package/dist/charts/react/Chart.cjs.map +1 -1
  575. package/dist/charts/react/Chart.d.cts +4 -4
  576. package/dist/charts/react/Chart.d.ts +4 -4
  577. package/dist/charts/react/Chart.js +5 -1
  578. package/dist/charts/react/Chart.js.map +1 -1
  579. package/dist/charts/react/charts.cjs +1 -1
  580. package/dist/charts/react/charts.cjs.map +1 -1
  581. package/dist/charts/react/charts.d.cts +39 -1
  582. package/dist/charts/react/charts.d.ts +39 -1
  583. package/dist/charts/react/charts.js +312 -128
  584. package/dist/charts/react/charts.js.map +1 -1
  585. package/dist/charts/react/graph.cjs +2 -0
  586. package/dist/charts/react/graph.cjs.map +1 -0
  587. package/dist/charts/react/graph.d.cts +213 -0
  588. package/dist/charts/react/graph.d.ts +213 -0
  589. package/dist/charts/react/graph.js +159 -0
  590. package/dist/charts/react/graph.js.map +1 -0
  591. package/dist/charts/react/orderbook.cjs +2 -0
  592. package/dist/charts/react/orderbook.cjs.map +1 -0
  593. package/dist/charts/react/orderbook.d.cts +142 -0
  594. package/dist/charts/react/orderbook.d.ts +142 -0
  595. package/dist/charts/react/orderbook.js +182 -0
  596. package/dist/charts/react/orderbook.js.map +1 -0
  597. package/dist/charts/react/shapes.cjs +1 -1
  598. package/dist/charts/react/shapes.cjs.map +1 -1
  599. package/dist/charts/react/shapes.d.cts +374 -9
  600. package/dist/charts/react/shapes.d.ts +374 -9
  601. package/dist/charts/react/shapes.js +323 -93
  602. package/dist/charts/react/shapes.js.map +1 -1
  603. package/dist/charts/react/three-d.cjs +2 -0
  604. package/dist/charts/react/three-d.cjs.map +1 -0
  605. package/dist/charts/react/three-d.d.cts +151 -0
  606. package/dist/charts/react/three-d.d.ts +151 -0
  607. package/dist/charts/react/three-d.js +154 -0
  608. package/dist/charts/react/three-d.js.map +1 -0
  609. package/dist/charts/react/trading.cjs +2 -0
  610. package/dist/charts/react/trading.cjs.map +1 -0
  611. package/dist/charts/react/trading.d.cts +145 -0
  612. package/dist/charts/react/trading.d.ts +145 -0
  613. package/dist/charts/react/trading.js +126 -0
  614. package/dist/charts/react/trading.js.map +1 -0
  615. package/dist/charts/react/types.d.cts +143 -8
  616. package/dist/charts/react/types.d.ts +143 -8
  617. package/dist/core/contracts.cjs +1 -1
  618. package/dist/core/contracts.cjs.map +1 -1
  619. package/dist/core/contracts.js +1 -1
  620. package/dist/core/contracts.js.map +1 -1
  621. package/dist/native/charts/src/canvas.cjs +1 -1
  622. package/dist/native/charts/src/canvas.js +9 -3
  623. package/dist/native/charts/src/engine/axis.cjs +1 -1
  624. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  625. package/dist/native/charts/src/engine/axis.js +43 -20
  626. package/dist/native/charts/src/engine/axis.js.map +1 -1
  627. package/dist/native/charts/src/engine/color.cjs +1 -1
  628. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  629. package/dist/native/charts/src/engine/color.js +47 -5
  630. package/dist/native/charts/src/engine/color.js.map +1 -1
  631. package/dist/native/charts/src/engine/controller.cjs +2 -2
  632. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  633. package/dist/native/charts/src/engine/controller.js +415 -308
  634. package/dist/native/charts/src/engine/controller.js.map +1 -1
  635. package/dist/native/charts/src/engine/data.cjs +1 -1
  636. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  637. package/dist/native/charts/src/engine/data.js +65 -49
  638. package/dist/native/charts/src/engine/data.js.map +1 -1
  639. package/dist/native/charts/src/engine/format.cjs +1 -1
  640. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  641. package/dist/native/charts/src/engine/format.js +59 -21
  642. package/dist/native/charts/src/engine/format.js.map +1 -1
  643. package/dist/native/charts/src/engine/labels.cjs +2 -0
  644. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  645. package/dist/native/charts/src/engine/labels.js +98 -0
  646. package/dist/native/charts/src/engine/labels.js.map +1 -0
  647. package/dist/native/charts/src/engine/layout.cjs +1 -1
  648. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  649. package/dist/native/charts/src/engine/layout.js +62 -12
  650. package/dist/native/charts/src/engine/layout.js.map +1 -1
  651. package/dist/native/charts/src/engine/locale.cjs +2 -0
  652. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  653. package/dist/native/charts/src/engine/locale.js +60 -0
  654. package/dist/native/charts/src/engine/locale.js.map +1 -0
  655. package/dist/native/charts/src/engine/model.cjs +1 -1
  656. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  657. package/dist/native/charts/src/engine/model.js +307 -119
  658. package/dist/native/charts/src/engine/model.js.map +1 -1
  659. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  660. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  661. package/dist/native/charts/src/engine/overlay.js +46 -23
  662. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  663. package/dist/native/charts/src/engine/presets.cjs +2 -2
  664. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  665. package/dist/native/charts/src/engine/presets.js +470 -41
  666. package/dist/native/charts/src/engine/presets.js.map +1 -1
  667. package/dist/native/charts/src/engine/scale.cjs +1 -1
  668. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  669. package/dist/native/charts/src/engine/scale.js +1 -1
  670. package/dist/native/charts/src/engine/scale.js.map +1 -1
  671. package/dist/native/charts/src/engine/scene.cjs +1 -1
  672. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  673. package/dist/native/charts/src/engine/scene.js +489 -207
  674. package/dist/native/charts/src/engine/scene.js.map +1 -1
  675. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  676. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  678. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  680. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/calendar.js +369 -0
  682. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  684. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  685. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  686. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  687. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  688. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  689. package/dist/native/charts/src/engine/shapes/chord.js +414 -0
  690. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  691. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  692. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  693. package/dist/native/charts/src/engine/shapes/draw.js +195 -0
  694. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  695. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  696. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  697. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  698. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  699. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  700. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  701. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  702. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  703. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  704. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  705. package/dist/native/charts/src/engine/shapes/hit.js +135 -0
  706. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  707. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  708. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  709. package/dist/native/charts/src/engine/shapes/labels.js +154 -0
  710. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  711. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  712. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  713. package/dist/native/charts/src/engine/shapes/layout.js +358 -0
  714. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  715. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  716. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  717. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  718. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  719. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  720. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  721. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  722. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  723. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  724. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  725. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  726. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  727. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  728. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  729. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  730. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  731. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  732. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  733. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  734. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  735. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  736. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  737. package/dist/native/charts/src/engine/shapes/scene.js +168 -0
  738. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  739. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  740. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  741. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  742. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  743. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  744. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  745. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  746. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  747. package/dist/native/charts/src/engine/time.cjs +1 -1
  748. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  749. package/dist/native/charts/src/engine/time.js +156 -91
  750. package/dist/native/charts/src/engine/time.js.map +1 -1
  751. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  752. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  753. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  754. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  755. package/dist/native/components/Chart/ChartBase.js +110 -107
  756. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  757. package/dist/native/components/Chart/charts.cjs +1 -1
  758. package/dist/native/components/Chart/charts.cjs.map +1 -1
  759. package/dist/native/components/Chart/charts.d.cts +6 -1
  760. package/dist/native/components/Chart/charts.d.ts +6 -1
  761. package/dist/native/components/Chart/charts.js +53 -29
  762. package/dist/native/components/Chart/charts.js.map +1 -1
  763. package/dist/native/components/Chart/index.cjs +1 -1
  764. package/dist/native/components/Chart/index.d.cts +1 -1
  765. package/dist/native/components/Chart/index.d.ts +1 -1
  766. package/dist/native/components/Chart/index.js +2 -2
  767. package/dist/native/components/Chart/scene.cjs +1 -1
  768. package/dist/native/components/Chart/scene.cjs.map +1 -1
  769. package/dist/native/components/Chart/scene.js +315 -229
  770. package/dist/native/components/Chart/scene.js.map +1 -1
  771. package/dist/native/components/Chart/types.d.cts +26 -3
  772. package/dist/native/components/Chart/types.d.ts +26 -3
  773. package/dist/native/components/Charts/charts.cjs +2 -0
  774. package/dist/native/components/Charts/charts.cjs.map +1 -0
  775. package/dist/native/components/Charts/charts.d.cts +41 -0
  776. package/dist/native/components/Charts/charts.d.ts +41 -0
  777. package/dist/native/components/Charts/charts.js +350 -0
  778. package/dist/native/components/Charts/charts.js.map +1 -0
  779. package/dist/native/components/Charts/index.cjs +1 -0
  780. package/dist/native/components/Charts/index.d.cts +2 -0
  781. package/dist/native/components/Charts/index.d.ts +2 -0
  782. package/dist/native/components/Charts/index.js +2 -0
  783. package/dist/native/components/Charts/types.d.cts +155 -0
  784. package/dist/native/components/Charts/types.d.ts +155 -0
  785. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  786. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  787. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  788. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  789. package/dist/native/components/ShapeChart/ShapeChartBase.js +272 -0
  790. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  791. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  792. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  793. package/dist/native/components/ShapeChart/charts.d.cts +43 -0
  794. package/dist/native/components/ShapeChart/charts.d.ts +43 -0
  795. package/dist/native/components/ShapeChart/charts.js +429 -0
  796. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  797. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  798. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  799. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  800. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  801. package/dist/native/components/ShapeChart/draw.js +113 -0
  802. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  803. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  804. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  805. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  806. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  807. package/dist/native/components/ShapeChart/geometry.js +681 -0
  808. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  809. package/dist/native/components/ShapeChart/index.cjs +1 -0
  810. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  811. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  812. package/dist/native/components/ShapeChart/index.js +2 -0
  813. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  814. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  815. package/dist/native/components/ShapeChart/recorder.d.cts +115 -0
  816. package/dist/native/components/ShapeChart/recorder.d.ts +115 -0
  817. package/dist/native/components/ShapeChart/recorder.js +583 -0
  818. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  819. package/dist/native/components/ShapeChart/types.d.cts +594 -0
  820. package/dist/native/components/ShapeChart/types.d.ts +594 -0
  821. package/dist/native/index.cjs +1 -1
  822. package/dist/native/index.d.cts +2 -0
  823. package/dist/native/index.d.ts +2 -0
  824. package/dist/native/index.js +14 -10
  825. package/dist/native/manifest.d.cts +6 -4
  826. package/dist/native/manifest.d.ts +6 -4
  827. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  828. package/dist/native/source/components/Chart/charts.tsx +42 -6
  829. package/dist/native/source/components/Chart/index.ts +1 -0
  830. package/dist/native/source/components/Chart/scene.tsx +312 -98
  831. package/dist/native/source/components/Chart/types.ts +31 -1
  832. package/dist/native/source/components/Charts/charts.tsx +521 -0
  833. package/dist/native/source/components/Charts/index.ts +14 -0
  834. package/dist/native/source/components/Charts/types.ts +218 -0
  835. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +486 -0
  836. package/dist/native/source/components/ShapeChart/charts.tsx +661 -0
  837. package/dist/native/source/components/ShapeChart/draw.tsx +201 -0
  838. package/dist/native/source/components/ShapeChart/geometry.ts +1366 -0
  839. package/dist/native/source/components/ShapeChart/index.ts +16 -0
  840. package/dist/native/source/components/ShapeChart/recorder.ts +845 -0
  841. package/dist/native/source/components/ShapeChart/types.ts +655 -0
  842. package/dist/native/source/index.ts +2 -0
  843. package/dist/native/source/manifest.ts +31 -4
  844. package/dist/taro/charts.d.ts +229 -4
  845. package/dist/taro/index.d.ts +1 -0
  846. package/dist/taro/index.js +8818 -2093
  847. package/dist/taro/manifest.d.ts +1 -0
  848. package/dist/taro/shape-charts.d.ts +629 -0
  849. package/dist/uni/AreaChart.vue +68 -0
  850. package/dist/uni/AreaChart.vue.d.ts +124 -0
  851. package/dist/uni/Badge.vue.d.ts +1 -1
  852. package/dist/uni/BarChart.vue.d.ts +5 -1
  853. package/dist/uni/BoxPlotChart.vue +66 -0
  854. package/dist/uni/BoxPlotChart.vue.d.ts +110 -0
  855. package/dist/uni/BubbleChart.vue +68 -0
  856. package/dist/uni/BubbleChart.vue.d.ts +110 -0
  857. package/dist/uni/BulletChart.vue +86 -0
  858. package/dist/uni/BulletChart.vue.d.ts +114 -0
  859. package/dist/uni/CalendarHeatmap.vue +92 -0
  860. package/dist/uni/CalendarHeatmap.vue.d.ts +131 -0
  861. package/dist/uni/CandlestickChart.vue +66 -0
  862. package/dist/uni/CandlestickChart.vue.d.ts +104 -0
  863. package/dist/uni/Chart.vue.d.ts +4 -0
  864. package/dist/uni/ChordChart.vue +93 -0
  865. package/dist/uni/ChordChart.vue.d.ts +136 -0
  866. package/dist/uni/DonutChart.vue +72 -0
  867. package/dist/uni/DonutChart.vue.d.ts +118 -0
  868. package/dist/uni/FunnelChart.vue +67 -0
  869. package/dist/uni/FunnelChart.vue.d.ts +108 -0
  870. package/dist/uni/GanttChart.vue +67 -0
  871. package/dist/uni/GanttChart.vue.d.ts +127 -0
  872. package/dist/uni/GaugeChart.vue +77 -0
  873. package/dist/uni/GaugeChart.vue.d.ts +127 -0
  874. package/dist/uni/HeatmapChart.vue +66 -0
  875. package/dist/uni/HeatmapChart.vue.d.ts +120 -0
  876. package/dist/uni/HistogramChart.vue +66 -0
  877. package/dist/uni/HistogramChart.vue.d.ts +125 -0
  878. package/dist/uni/HorizontalBarChart.vue +68 -0
  879. package/dist/uni/HorizontalBarChart.vue.d.ts +129 -0
  880. package/dist/uni/Input.vue.d.ts +1 -1
  881. package/dist/uni/LineChart.vue.d.ts +4 -0
  882. package/dist/uni/MixedChart.vue +68 -0
  883. package/dist/uni/MixedChart.vue.d.ts +110 -0
  884. package/dist/uni/NumberInput.vue.d.ts +1 -1
  885. package/dist/uni/PieChart.vue +72 -0
  886. package/dist/uni/PieChart.vue.d.ts +118 -0
  887. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  888. package/dist/uni/RadarChart.vue +67 -0
  889. package/dist/uni/RadarChart.vue.d.ts +114 -0
  890. package/dist/uni/RadialBarChart.vue +90 -0
  891. package/dist/uni/RadialBarChart.vue.d.ts +136 -0
  892. package/dist/uni/RangeAreaChart.vue +68 -0
  893. package/dist/uni/RangeAreaChart.vue.d.ts +106 -0
  894. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  895. package/dist/uni/SankeyChart.vue +88 -0
  896. package/dist/uni/SankeyChart.vue.d.ts +125 -0
  897. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  898. package/dist/uni/ShapeChart.vue +73 -0
  899. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  900. package/dist/uni/Sparkline.vue +58 -0
  901. package/dist/uni/Sparkline.vue.d.ts +81 -0
  902. package/dist/uni/SunburstChart.vue +90 -0
  903. package/dist/uni/SunburstChart.vue.d.ts +118 -0
  904. package/dist/uni/Textarea.vue.d.ts +1 -1
  905. package/dist/uni/TimePicker.vue.d.ts +1 -1
  906. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  907. package/dist/uni/TreemapChart.vue +65 -0
  908. package/dist/uni/TreemapChart.vue.d.ts +104 -0
  909. package/dist/uni/WaterfallChart.vue +66 -0
  910. package/dist/uni/WaterfallChart.vue.d.ts +134 -0
  911. package/dist/uni/chart-canvas.d.ts +3 -0
  912. package/dist/uni/chart-canvas.js +4 -0
  913. package/dist/uni/chart-types.d.ts +240 -2
  914. package/dist/uni/chart-types.js +198 -0
  915. package/dist/uni/charts-canvas.js +8 -3
  916. package/dist/uni/index.d.ts +27 -1
  917. package/dist/uni/index.js +27 -1
  918. package/dist/uni/manifest.d.ts +279 -0
  919. package/dist/uni/manifest.js +397 -0
  920. package/dist/uni/named-chart-options.d.ts +95 -0
  921. package/dist/uni/named-chart-options.js +173 -0
  922. package/dist/uni/shape-chart-canvas.d.ts +53 -0
  923. package/dist/uni/shape-chart-canvas.js +333 -0
  924. package/dist/uni/shape-chart-types.d.ts +431 -0
  925. package/dist/uni/shape-chart-types.js +305 -0
  926. package/dist/vue/charts-global.d.ts +48 -0
  927. package/dist/vue/charts.d.ts +18 -0
  928. package/dist/vue/charts.js +56 -0
  929. package/dist/vue/charts.js.map +1 -0
  930. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  931. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  932. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  933. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  934. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  935. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  936. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  937. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  938. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  939. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  940. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  941. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  942. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  943. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  944. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  945. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +120 -0
  946. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  947. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  948. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +63 -0
  949. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  950. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  951. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  952. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  953. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  954. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  955. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  956. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  957. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  958. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  959. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  960. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  961. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  962. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  963. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  964. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  965. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  966. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  967. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  968. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  969. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  970. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  971. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  972. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  973. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  974. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  975. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  976. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  977. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  978. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  979. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  980. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +179 -0
  981. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  982. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  983. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  984. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  985. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  986. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  987. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  988. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  989. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  990. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  991. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  992. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  993. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  994. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  995. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  996. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  997. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  998. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  999. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1000. package/dist/vue/components/Chart/GanttChart.vue.d.ts +136 -0
  1001. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  1002. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  1003. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1004. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1005. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  1006. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  1007. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  1008. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1009. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1010. package/dist/vue/components/Chart/GraphChart.vue.d.ts +184 -0
  1011. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  1012. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  1013. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  1014. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1015. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +129 -0
  1016. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  1017. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  1018. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +67 -0
  1019. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1020. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  1021. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  1022. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  1023. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  1024. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1025. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  1026. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  1027. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  1028. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  1029. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1030. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  1031. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  1032. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  1033. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1034. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1035. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  1036. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  1037. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  1038. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  1039. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1040. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  1041. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  1042. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  1043. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1044. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1045. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  1046. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  1047. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  1048. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  1049. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1050. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +130 -0
  1051. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  1052. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  1053. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  1054. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1055. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  1056. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  1057. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  1058. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  1059. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1060. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  1061. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  1062. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  1063. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  1064. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1065. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  1066. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  1067. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  1068. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  1069. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1070. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  1071. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  1072. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  1073. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  1074. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1075. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  1076. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  1077. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  1078. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  1079. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1080. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  1081. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  1082. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  1083. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  1084. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1085. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  1086. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  1087. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  1088. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1089. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1090. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1091. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1092. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1093. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1094. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1095. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1096. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1097. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1098. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1099. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1100. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1101. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1102. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1103. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1104. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1105. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1106. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1107. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1108. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1109. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1110. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1111. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1112. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1113. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1114. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1115. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +116 -0
  1116. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1117. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1118. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1119. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1120. package/dist/vue/components/Chart/TradingChart.vue.d.ts +208 -0
  1121. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1122. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1123. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +101 -0
  1124. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1125. package/dist/vue/components/Chart/TreeChart.vue.d.ts +172 -0
  1126. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  1127. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  1128. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  1129. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1130. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1131. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1132. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1133. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1134. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1135. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +143 -0
  1136. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1137. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1138. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +74 -0
  1139. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1140. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1141. package/dist/vue/components/Chart/cartesian.js +56 -0
  1142. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1143. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1144. package/dist/vue/components/Chart/engine.js +35 -0
  1145. package/dist/vue/components/Chart/engine.js.map +1 -0
  1146. package/dist/vue/components/Chart/graph.d.ts +153 -0
  1147. package/dist/vue/components/Chart/graph.js +135 -0
  1148. package/dist/vue/components/Chart/graph.js.map +1 -0
  1149. package/dist/vue/components/Chart/index.d.ts +45 -0
  1150. package/dist/vue/components/Chart/index.js +44 -0
  1151. package/dist/vue/components/Chart/orderbook.d.ts +363 -0
  1152. package/dist/vue/components/Chart/orderbook.js +128 -0
  1153. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1154. package/dist/vue/components/Chart/props.d.ts +188 -0
  1155. package/dist/vue/components/Chart/props.js +92 -0
  1156. package/dist/vue/components/Chart/props.js.map +1 -0
  1157. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1158. package/dist/vue/components/Chart/shape.js +42 -0
  1159. package/dist/vue/components/Chart/shape.js.map +1 -0
  1160. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1161. package/dist/vue/components/Chart/three-d.js +88 -0
  1162. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1163. package/dist/vue/components/Chart/trading.d.ts +127 -0
  1164. package/dist/vue/components/Chart/trading.js +63 -0
  1165. package/dist/vue/components/Chart/trading.js.map +1 -0
  1166. package/dist/vue/components/Chart/types.d.ts +209 -0
  1167. package/dist/vue/global.d.ts +2 -0
  1168. package/dist/vue/groups/charts.d.ts +1 -0
  1169. package/dist/vue/groups/charts.js +95 -0
  1170. package/dist/vue/groups/charts.js.map +1 -0
  1171. package/dist/vue/index.d.ts +1 -0
  1172. package/dist/vue/index.js +67 -23
  1173. package/dist/vue/internal/register.d.ts +7 -0
  1174. package/dist/vue/internal/register.js +14 -0
  1175. package/dist/vue/internal/register.js.map +1 -0
  1176. package/dist/vue/plugin.d.ts +9 -4
  1177. package/dist/vue/plugin.js +7 -10
  1178. package/dist/vue/plugin.js.map +1 -1
  1179. package/dist/weapp/area-chart/index.js +1 -0
  1180. package/dist/weapp/area-chart/index.json +1 -0
  1181. package/dist/weapp/area-chart/index.wxml +1 -0
  1182. package/dist/weapp/area-chart/index.wxss +1 -0
  1183. package/dist/weapp/box-plot-chart/index.js +1 -0
  1184. package/dist/weapp/box-plot-chart/index.json +1 -0
  1185. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1186. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1187. package/dist/weapp/bubble-chart/index.js +1 -0
  1188. package/dist/weapp/bubble-chart/index.json +1 -0
  1189. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1190. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1191. package/dist/weapp/bullet-chart/index.js +1 -0
  1192. package/dist/weapp/bullet-chart/index.json +1 -0
  1193. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1194. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1195. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1196. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1197. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1198. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1199. package/dist/weapp/candlestick-chart/index.js +1 -0
  1200. package/dist/weapp/candlestick-chart/index.json +1 -0
  1201. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1202. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1203. package/dist/weapp/charts/canvas.js +12976 -0
  1204. package/dist/weapp/charts/core.d.ts +2 -0
  1205. package/dist/weapp/charts/core.js +42 -0
  1206. package/dist/weapp/chord-chart/index.js +1 -0
  1207. package/dist/weapp/chord-chart/index.json +1 -0
  1208. package/dist/weapp/chord-chart/index.wxml +1 -0
  1209. package/dist/weapp/chord-chart/index.wxss +1 -0
  1210. package/dist/weapp/controls.js +1495 -4480
  1211. package/dist/weapp/donut-chart/index.js +1 -0
  1212. package/dist/weapp/donut-chart/index.json +1 -0
  1213. package/dist/weapp/donut-chart/index.wxml +1 -0
  1214. package/dist/weapp/donut-chart/index.wxss +1 -0
  1215. package/dist/weapp/funnel-chart/index.js +1 -0
  1216. package/dist/weapp/funnel-chart/index.json +1 -0
  1217. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1218. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1219. package/dist/weapp/gantt-chart/index.js +1 -0
  1220. package/dist/weapp/gantt-chart/index.json +1 -0
  1221. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1222. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1223. package/dist/weapp/gauge-chart/index.js +1 -0
  1224. package/dist/weapp/gauge-chart/index.json +1 -0
  1225. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1226. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1227. package/dist/weapp/heatmap-chart/index.js +1 -0
  1228. package/dist/weapp/heatmap-chart/index.json +1 -0
  1229. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1230. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1231. package/dist/weapp/histogram-chart/index.js +1 -0
  1232. package/dist/weapp/histogram-chart/index.json +1 -0
  1233. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1234. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1235. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1236. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1237. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1238. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1239. package/dist/weapp/mixed-chart/index.js +1 -0
  1240. package/dist/weapp/mixed-chart/index.json +1 -0
  1241. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1242. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1243. package/dist/weapp/pie-chart/index.js +1 -0
  1244. package/dist/weapp/pie-chart/index.json +1 -0
  1245. package/dist/weapp/pie-chart/index.wxml +1 -0
  1246. package/dist/weapp/pie-chart/index.wxss +1 -0
  1247. package/dist/weapp/radar-chart/index.js +1 -0
  1248. package/dist/weapp/radar-chart/index.json +1 -0
  1249. package/dist/weapp/radar-chart/index.wxml +1 -0
  1250. package/dist/weapp/radar-chart/index.wxss +1 -0
  1251. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1252. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1253. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1254. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1255. package/dist/weapp/range-area-chart/index.js +1 -0
  1256. package/dist/weapp/range-area-chart/index.json +1 -0
  1257. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1258. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1259. package/dist/weapp/sankey-chart/index.js +1 -0
  1260. package/dist/weapp/sankey-chart/index.json +1 -0
  1261. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1262. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1263. package/dist/weapp/shape-chart/index.js +1 -0
  1264. package/dist/weapp/shape-chart/index.json +1 -0
  1265. package/dist/weapp/shape-chart/index.wxml +1 -0
  1266. package/dist/weapp/shape-chart/index.wxss +1 -0
  1267. package/dist/weapp/sparkline/index.js +1 -0
  1268. package/dist/weapp/sparkline/index.json +1 -0
  1269. package/dist/weapp/sparkline/index.wxml +1 -0
  1270. package/dist/weapp/sparkline/index.wxss +1 -0
  1271. package/dist/weapp/sunburst-chart/index.js +1 -0
  1272. package/dist/weapp/sunburst-chart/index.json +1 -0
  1273. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1274. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1275. package/dist/weapp/treemap-chart/index.js +1 -0
  1276. package/dist/weapp/treemap-chart/index.json +1 -0
  1277. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1278. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1279. package/dist/weapp/types.d.ts +549 -0
  1280. package/dist/weapp/waterfall-chart/index.js +1 -0
  1281. package/dist/weapp/waterfall-chart/index.json +1 -0
  1282. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1283. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1284. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1285. package/dist/web-components/components/chart/chart.js +55 -0
  1286. package/dist/web-components/components/chart/chart.js.map +1 -0
  1287. package/dist/web-components/components/chart/charts.d.ts +254 -0
  1288. package/dist/web-components/components/chart/charts.js +208 -0
  1289. package/dist/web-components/components/chart/charts.js.map +1 -0
  1290. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1291. package/dist/web-components/components/chart/engine-element.js +77 -0
  1292. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1293. package/dist/web-components/components/chart/extended.d.ts +234 -0
  1294. package/dist/web-components/components/chart/extended.js +197 -0
  1295. package/dist/web-components/components/chart/extended.js.map +1 -0
  1296. package/dist/web-components/components/chart/series.d.ts +7 -0
  1297. package/dist/web-components/components/chart/series.js +14 -0
  1298. package/dist/web-components/components/chart/series.js.map +1 -0
  1299. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1300. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1301. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1302. package/dist/web-components/components/chart/shapes-extended.d.ts +198 -0
  1303. package/dist/web-components/components/chart/shapes-extended.js +182 -0
  1304. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1305. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1306. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1307. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1308. package/dist/web-components/components/graph/graph.d.ts +154 -0
  1309. package/dist/web-components/components/graph/graph.js +149 -0
  1310. package/dist/web-components/components/graph/graph.js.map +1 -0
  1311. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1312. package/dist/web-components/components/order-book/order-book.js +174 -0
  1313. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1314. package/dist/web-components/components/trading-chart/trading-chart.d.ts +143 -0
  1315. package/dist/web-components/components/trading-chart/trading-chart.js +158 -0
  1316. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1317. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1318. package/dist/web-components/elements/chart-3d.js +13 -0
  1319. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1320. package/dist/web-components/elements/chart.d.ts +7 -0
  1321. package/dist/web-components/elements/chart.js +44 -0
  1322. package/dist/web-components/elements/chart.js.map +1 -0
  1323. package/dist/web-components/elements/graph.d.ts +2 -0
  1324. package/dist/web-components/elements/graph.js +12 -0
  1325. package/dist/web-components/elements/graph.js.map +1 -0
  1326. package/dist/web-components/elements/order-book.d.ts +2 -0
  1327. package/dist/web-components/elements/order-book.js +13 -0
  1328. package/dist/web-components/elements/order-book.js.map +1 -0
  1329. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1330. package/dist/web-components/elements/trading-chart.js +8 -0
  1331. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1332. package/dist/web-components/html-custom-data.json +1470 -38
  1333. package/dist/web-components/types/react.d.ts +494 -0
  1334. package/dist/web-components/types/solid.d.ts +368 -0
  1335. package/dist/web-components/types/svelte.d.ts +368 -0
  1336. package/dist/web-components/types/vue.d.ts +410 -0
  1337. package/package.json +128 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.cjs","names":["toCss","mix","parseColor","font","require_color","require_overlay","TAU","estimateText","size","f","text","clamp","v","lo","hi","positive","finite","fallback","sum","s","values","easeOutCubic","t","upright","r","a","inset","top","padding","right","bottom","left","rect","ellipsize","measure","font","max","mid","NO_LINE_START","breakLines","lines","rest","cut","space","wrapText","whole","maxLines","last","head","line","tail","k","balanced","uniqueKeys","seen","names","name","LIGHT_INK","DARK_INK","channel","relativeLuminance","c","over","contrastRatio","ink","fill","b","WHITE","inkOn","solid","backdrop","light","dark","textOn","readableFill","best","target","toward","limit","next","resolveWith","css","theme","emptyLayout","cx","area","cy","r1"],"sources":["../../../../../../../charts/src/engine/shapes/scene.ts"],"sourcesContent":["// Drawable scene of a shape chart: resolved geometry, colors and texts,\n// produced by the (DOM-free) layouts and consumed by draw / hit testing.\n\nimport { mix, parseColor, toCss, type Rgba } from \"../color\";\n\nimport { font } from \"../overlay\";\nimport type { ChartTheme } from \"../theme\";\nimport type { ChartPadding } from \"../types\";\nimport type {\n ShapeChartLabels,\n ShapeChartType,\n ShapeHoverEvent,\n} from \"./types\";\n\nexport const TAU = Math.PI * 2;\n\n/** Rectangle in CSS pixels */\nexport interface ShapeRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\ninterface NodeBase {\n /** Index of the item the node belongs to (hover, dimming); none for decorations */\n hit?: number;\n /**\n * Other items whose hover also emphasizes the node (the flows of a hovered\n * sankey node, the ancestors of a hovered sunburst sector); hit testing\n * only uses `hit`\n */\n also?: readonly number[];\n /** Opacity multiplier */\n alpha?: number;\n /** Offset applied while the node's item is hovered (pie slices pop out) */\n shift?: [number, number];\n}\n\n/** Annular sector (pie slice, donut segment, ring) */\nexport interface SectorNode extends NodeBase {\n kind: \"sector\";\n cx: number;\n cy: number;\n r0: number;\n r1: number;\n /** Canvas angles (radians, clockwise from 3 o'clock) */\n a0: number;\n a1: number;\n /** Gap with the neighbours, in pixels */\n pad: number;\n /** Corner radius, in pixels */\n corner: number;\n fill: string;\n}\n\n/** Polygon (radar grid / series, funnel stage); `hole` is cut out */\nexport interface PolygonNode extends NodeBase {\n kind: \"polygon\";\n /** Flat x, y list */\n points: number[];\n hole?: number[];\n fill?: string;\n stroke?: string;\n lineWidth?: number;\n /** Corner radius, in pixels */\n radius?: number;\n /** Fill / stroke width when hovered */\n hoverFill?: string;\n hoverLineWidth?: number;\n /** Lightens the shape when hovered */\n brighten?: boolean;\n}\n\nexport interface RectNode extends NodeBase {\n kind: \"rect\";\n x: number;\n y: number;\n width: number;\n height: number;\n radius: number;\n fill: string;\n brighten?: boolean;\n /** Outline drawn inside the rectangle while its item is hovered */\n hoverStroke?: string;\n /** Distance (px) around the rectangle still picked by hit testing (default 0) */\n hitPad?: number;\n}\n\n/** Stroked arc (gauge track / value) */\nexport interface ArcNode extends NodeBase {\n kind: \"arc\";\n cx: number;\n cy: number;\n r: number;\n a0: number;\n a1: number;\n width: number;\n color: string;\n cap: \"round\" | \"butt\";\n /** Distance (px) beyond the stroke still picked by hit testing (default 4) */\n hitPad?: number;\n}\n\n/** Dot; without fill nor stroke it is only a hit area */\nexport interface CircleNode extends NodeBase {\n kind: \"circle\";\n cx: number;\n cy: number;\n r: number;\n fill?: string;\n stroke?: string;\n lineWidth?: number;\n /** Radar: indicator of the vertex */\n indicator?: number;\n /** Radius and halo color when the vertex is hovered */\n hoverR?: number;\n halo?: string;\n}\n\nexport interface LineNode extends NodeBase {\n kind: \"line\";\n points: number[];\n color: string;\n width: number;\n dash?: number[];\n}\n\nexport interface TextNode extends NodeBase {\n kind: \"text\";\n x: number;\n y: number;\n text: string;\n font: string;\n color: string;\n align: \"left\" | \"center\" | \"right\";\n baseline: \"top\" | \"middle\" | \"bottom\" | \"alphabetic\";\n /** Radar: indicator of the label */\n indicator?: number;\n hoverColor?: string;\n hoverFont?: string;\n /** Rotation around (x, y), radians clockwise */\n rotate?: number;\n /** Outline drawn behind the text so it reads over other marks */\n halo?: string;\n}\n\n/**\n * Sankey flow: a horizontal S-curve (cubic Bézier) of constant thickness\n * from (x0, y0) to (x1, y1), filled with a gradient from `color0` to `color1`\n */\nexport interface LinkNode extends NodeBase {\n kind: \"link\";\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n /** Thickness, in pixels */\n width: number;\n color0: string;\n color1: string;\n /** Opacity while the link (or one of its `also` items) is hovered */\n activeAlpha?: number;\n}\n\n/**\n * Chord ribbon: the source arc (s0 to s1) and the target arc (t0 to t1) at\n * radius `r`, joined by quadratic curves through the center, filled with a\n * gradient from `color0` to `color1`; `head` > 0 replaces the target arc with\n * an arrowhead of that length\n */\nexport interface RibbonNode extends NodeBase {\n kind: \"ribbon\";\n cx: number;\n cy: number;\n r: number;\n /** Canvas angles (radians, clockwise from 3 o'clock) */\n s0: number;\n s1: number;\n t0: number;\n t1: number;\n /** Arrowhead length, in pixels (0 = none) */\n head: number;\n color0: string;\n color1: string;\n /** Opacity while the ribbon (or one of its `also` items) is hovered */\n activeAlpha?: number;\n}\n\n/** Radar: dashed guide from the center to the hovered indicator */\nexport interface GuideNode extends NodeBase {\n kind: \"guide\";\n cx: number;\n cy: number;\n /** End of each spoke */\n ends: [number, number][];\n color: string;\n}\n\nexport type ShapeNode =\n | SectorNode\n | PolygonNode\n | RectNode\n | ArcNode\n | CircleNode\n | LineNode\n | TextNode\n | GuideNode\n | LinkNode\n | RibbonNode;\n\n/** A row of the default tooltip */\nexport interface ShapeTooltipRow {\n name: string;\n value: string;\n color?: string;\n strong?: boolean;\n}\n\n/** Something the pointer / keyboard can focus */\nexport interface ShapeItem {\n index: number;\n name: string;\n value: number;\n percent: number;\n /** `percent` formatted for screen readers (`percentFormat`) */\n share?: string;\n color: string;\n path?: string[];\n /** Anchor of the tooltip when focused with the keyboard */\n x: number;\n y: number;\n /** Rows of the default tooltip */\n rows: ShapeTooltipRow[];\n /** Radar: one entry per indicator */\n indicators?: {\n name: string;\n value: number;\n percent: number;\n x: number;\n y: number;\n }[];\n /** Extra fields of the hover event (calendar date, sankey link / chord ribbon ends) */\n event?: Pick<ShapeHoverEvent, \"date\" | \"source\" | \"target\" | \"reverseValue\">;\n /** Sunburst: path focused when the item is activated (click, Enter) */\n drill?: string[];\n}\n\n/** What is hovered: an item (and a radar indicator) */\nexport interface ShapeHover {\n index: number;\n indicator?: number;\n}\n\nexport interface ShapeLegendEntry {\n /** Index passed to `toggle` */\n index: number;\n name: string;\n color: string;\n hidden: boolean;\n}\n\nexport interface ShapeScene {\n type: ShapeChartType;\n /** Size of the whole drawing */\n width: number;\n height: number;\n nodes: ShapeNode[];\n /** Focusable items, in keyboard order */\n items: ShapeItem[];\n /** Opacity of the other marks while one is hovered */\n dim: number;\n /** Entry animation of funnels / treemaps: fade and scale around a point */\n enter?: { alpha: number; scale: number; cx: number; cy: number };\n /**\n * Arrow-key moves in a grid of items (calendar heatmap), in positions of\n * `items`: `next` for Left / Right, `down` for Up / Down; no wrapping\n */\n steps?: { next: number; down: number };\n /** Radar geometry used by hit testing (and to keep the tooltip off the labels) */\n radar?: {\n cx: number;\n cy: number;\n radius: number;\n angles: number[];\n series: { index: number; points: number[] }[];\n /** Boxes of the indicator labels */\n labels?: ShapeRect[];\n };\n /** No data to draw (placeholder shown) */\n empty: boolean;\n /** Built-in texts of the chart's locale (accessible descriptions) */\n labels?: ShapeChartLabels;\n /** Resolved locale of the chart */\n locale?: string;\n}\n\n/** Measures a text in a CSS font */\nexport type MeasureText = (text: string, font: string) => number;\n\n/** Approximate width of a text without a canvas (tests, SSR) */\nexport const estimateText: MeasureText = (text, f) => {\n const size = /(\\d+(?:\\.\\d+)?)px/.exec(f);\n return text.length * (size ? Number(size[1]) : 12) * 0.6;\n};\n\n/** What the layouts of every type get */\nexport interface LayoutContext {\n theme: ChartTheme;\n measure: MeasureText;\n hidden: ReadonlySet<number>;\n /** Entry progress, eased (1 when done) */\n enter: number;\n /** Displayed (animated) value of a key */\n value(key: string, target: number): number;\n format(value: number): string;\n /** Formats a share (0-1): `percentFormat` or a locale percent with one decimal */\n percent(share: number): string;\n /** Built-in texts (locale and `texts` overrides) */\n labels: ShapeChartLabels;\n /** Resolved locale */\n locale: string;\n /** Color of the `i`-th mark (custom `color` or the palette) */\n color(css: string | undefined, i: number): Rgba;\n /** Drawing area, padding excluded */\n area: ShapeRect;\n /** Sunburst: names from the root to the focused node */\n focus: readonly string[];\n}\n\nexport type LayoutResult = Omit<\n ShapeScene,\n \"type\" | \"width\" | \"height\" | \"labels\" | \"locale\"\n>;\n\nexport const clamp = (v: number, lo: number, hi: number) =>\n v < lo ? lo : v > hi ? hi : v;\n\n/** Non-negative finite number */\nexport const positive = (v: number | undefined) =>\n typeof v === \"number\" && Number.isFinite(v) && v > 0 ? v : 0;\n\nexport const finite = (v: number | undefined, fallback = 0) =>\n typeof v === \"number\" && Number.isFinite(v) ? v : fallback;\n\nexport const sum = (values: readonly number[]) => {\n let s = 0;\n for (const v of values) s += v;\n return s;\n};\n\nexport const easeOutCubic = (t: number) => 1 - Math.pow(1 - clamp(t, 0, 1), 3);\n\n/** Angle brought into (-π/2, π/2] so that text rotated by it reads left to right */\nexport const upright = (a: number) => {\n let r = a % TAU;\n if (r > Math.PI) r -= TAU;\n if (r <= -Math.PI) r += TAU;\n if (r > Math.PI / 2) r -= Math.PI;\n else if (r <= -Math.PI / 2) r += Math.PI;\n return r;\n};\n\nexport const inset = (rect: ShapeRect, padding?: ChartPadding): ShapeRect => {\n const top = padding?.top ?? 8;\n const right = padding?.right ?? 8;\n const bottom = padding?.bottom ?? 8;\n const left = padding?.left ?? 8;\n return {\n x: rect.x + left,\n y: rect.y + top,\n width: Math.max(0, rect.width - left - right),\n height: Math.max(0, rect.height - top - bottom),\n };\n};\n\n/** Shortens a text with an ellipsis so it fits in `max` pixels (\"\" if nothing fits) */\nexport const ellipsize = (\n text: string,\n max: number,\n font: string,\n measure: MeasureText,\n): string => {\n if (measure(text, font) <= max) return text;\n if (measure(\"…\", font) > max) return \"\";\n let lo = 0;\n let hi = text.length;\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1;\n if (measure(text.slice(0, mid) + \"…\", font) <= max) lo = mid;\n else hi = mid - 1;\n }\n return lo ? text.slice(0, lo).trimEnd() + \"…\" : \"\";\n};\n\n/** Characters that must not start a line (closing brackets and punctuation) */\nconst NO_LINE_START = /^[)\\]}、。,.:;!?)」』】》〉,.:;!?%…]/;\n\n/** Greedy line breaking at `max` pixels, without a line limit */\nconst breakLines = (\n text: string,\n max: number,\n font: string,\n measure: MeasureText,\n): string[] | null => {\n const lines: string[] = [];\n let rest = text.trim();\n while (rest) {\n if (measure(rest, font) <= max) {\n lines.push(rest);\n break;\n }\n // longest prefix that fits\n let lo = 0;\n let hi = rest.length;\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1;\n if (measure(rest.slice(0, mid), font) <= max) lo = mid;\n else hi = mid - 1;\n }\n if (!lo) return null;\n let cut = lo;\n if (rest[lo] !== \" \") {\n const space = rest.lastIndexOf(\" \", lo);\n if (space > lo * 0.4) cut = space;\n // keep closing punctuation with the word before it\n else while (cut > 1 && NO_LINE_START.test(rest.slice(cut))) cut--;\n }\n lines.push(rest.slice(0, cut).trimEnd());\n rest = rest.slice(cut).trimStart();\n }\n return lines;\n};\n\n/**\n * Breaks a text into at most `maxLines` lines of `max` pixels, at spaces when\n * possible (anywhere otherwise, e.g. CJK, never before closing punctuation);\n * a text that fits is balanced across its lines, one that does not ends the\n * last line with an ellipsis\n */\nexport const wrapText = (\n text: string,\n max: number,\n font: string,\n measure: MeasureText,\n maxLines = 2,\n): string[] => {\n const whole = text.trim();\n if (!whole || maxLines < 1) return [];\n const lines = breakLines(whole, max, font, measure);\n if (!lines) {\n const last = ellipsize(whole, max, font, measure);\n return last ? [last] : [];\n }\n if (lines.length > maxLines) {\n const head = lines.slice(0, maxLines - 1);\n // the text after the kept lines (each line is a prefix of the rest)\n let rest = whole;\n for (const line of head) rest = rest.slice(line.length).trimStart();\n const tail = ellipsize(rest, max, font, measure);\n return tail ? [...head, tail] : head;\n }\n if (lines.length < 2) return lines;\n // balance: the narrowest width that still needs as many lines\n const total = measure(whole, font);\n const lo = total / lines.length;\n for (let k = 0; k <= 8; k++) {\n const width = lo + ((max - lo) * k) / 8;\n const balanced = breakLines(whole, width, font, measure);\n if (balanced && balanced.length <= lines.length) return balanced;\n }\n return lines;\n};\n\n/** Stable keys of named values: the name, `name#2` for duplicates */\nexport const uniqueKeys = (names: readonly string[]) => {\n const seen = new Map<string, number>();\n return names.map((name) => {\n const n = (seen.get(name) ?? 0) + 1;\n seen.set(name, n);\n return n === 1 ? name : `${name}#${n}`;\n });\n};\n\nconst LIGHT_INK: Rgba = [1, 1, 1, 0.96];\nconst DARK_INK: Rgba = [15 / 255, 23 / 255, 42 / 255, 0.88];\n\nconst channel = (v: number) =>\n v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n\n/** WCAG relative luminance of an opaque color */\nexport const relativeLuminance = (c: Rgba) =>\n 0.2126 * channel(c[0]) + 0.7152 * channel(c[1]) + 0.0722 * channel(c[2]);\n\n/** `top` composited over the opaque `bottom` */\nexport const over = (top: Rgba, bottom: Rgba): Rgba => {\n const a = clamp(top[3], 0, 1);\n return [\n top[0] * a + bottom[0] * (1 - a),\n top[1] * a + bottom[1] * (1 - a),\n top[2] * a + bottom[2] * (1 - a),\n 1,\n ];\n};\n\n/** WCAG contrast ratio (1-21) of `ink` drawn on the opaque `fill` */\nexport const contrastRatio = (ink: Rgba, fill: Rgba) => {\n const a = relativeLuminance(over(ink, fill));\n const b = relativeLuminance(fill);\n return (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05);\n};\n\nconst WHITE: Rgba = [1, 1, 1, 1];\n\n/** Light or dark ink, whichever contrasts more with the fill, and its contrast */\nexport const inkOn = (\n fill: Rgba,\n backdrop: Rgba = WHITE,\n): { ink: Rgba; css: string; contrast: number } => {\n const solid = over(fill, over(backdrop, WHITE));\n const light = contrastRatio(LIGHT_INK, solid);\n const dark = contrastRatio(DARK_INK, solid);\n return light >= dark\n ? { ink: LIGHT_INK, css: toCss(LIGHT_INK), contrast: light }\n : { ink: DARK_INK, css: toCss(DARK_INK), contrast: dark };\n};\n\n/** Readable text color on a fill (WCAG contrast) */\nexport const textOn = (fill: Rgba, backdrop?: Rgba) =>\n inkOn(fill, backdrop).css;\n\n/**\n * Fill adjusted so that its best ink reaches `target` contrast: darkened\n * under white text, lightened under dark text (at most `limit` of the way)\n */\nexport const readableFill = (fill: Rgba, target = 4.5, limit = 0.3): Rgba => {\n let best = inkOn(fill);\n if (best.contrast >= target) return fill;\n const toward: Rgba =\n best.ink === LIGHT_INK ? [0, 0, 0, fill[3]] : [1, 1, 1, fill[3]];\n for (let t = 0.04; t <= limit + 1e-9; t += 0.04) {\n const next = mix(fill, toward, t);\n best = inkOn(next);\n if (best.contrast >= target) return next;\n }\n return mix(fill, toward, limit);\n};\n\n/** Resolves a custom color with the theme resolver (static parsing otherwise) */\nexport const resolveWith = (\n theme: ChartTheme,\n css: string | undefined,\n fallback: Rgba,\n): Rgba => {\n if (!css) return fallback;\n return theme.resolve\n ? theme.resolve(css, fallback)\n : (parseColor(css) ?? fallback);\n};\n\n/** Placeholder of a chart without data: a muted ring and \"No data\" (localized) */\nexport const emptyLayout = (c: LayoutContext): LayoutResult => {\n const { area, theme } = c;\n const cx = area.x + area.width / 2;\n const cy = area.y + area.height / 2;\n const r1 = Math.max(0, Math.min(area.width, area.height) / 2 - 6);\n return {\n nodes: [\n {\n kind: \"sector\",\n cx,\n cy,\n r0: r1 * 0.66,\n r1,\n a0: 0,\n a1: TAU,\n pad: 0,\n corner: 0,\n fill: toCss(theme.grid, 0.8),\n },\n {\n kind: \"text\",\n x: cx,\n y: cy,\n text: c.labels.noData,\n font: font(theme, 12),\n color: toCss(theme.textMuted),\n align: \"center\",\n baseline: \"middle\",\n },\n ],\n items: [],\n dim: 1,\n empty: true,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,168 @@
1
+ import { mix as e, parseColor as t, toCss as n } from "../color.js";
2
+ import { font as r } from "../overlay.js";
3
+ //#region ../charts/src/engine/shapes/scene.ts
4
+ var i = Math.PI * 2, a = (e, t) => {
5
+ let n = /(\d+(?:\.\d+)?)px/.exec(t);
6
+ return e.length * (n ? Number(n[1]) : 12) * .6;
7
+ }, o = (e, t, n) => e < t ? t : e > n ? n : e, s = (e) => typeof e == "number" && Number.isFinite(e) && e > 0 ? e : 0, c = (e, t = 0) => typeof e == "number" && Number.isFinite(e) ? e : t, l = (e) => {
8
+ let t = 0;
9
+ for (let n of e) t += n;
10
+ return t;
11
+ }, u = (e) => 1 - (1 - o(e, 0, 1)) ** 3, d = (e) => {
12
+ let t = e % i;
13
+ return t > Math.PI && (t -= i), t <= -Math.PI && (t += i), t > Math.PI / 2 ? t -= Math.PI : t <= -Math.PI / 2 && (t += Math.PI), t;
14
+ }, f = (e, t) => {
15
+ let n = t?.top ?? 8, r = t?.right ?? 8, i = t?.bottom ?? 8, a = t?.left ?? 8;
16
+ return {
17
+ x: e.x + a,
18
+ y: e.y + n,
19
+ width: Math.max(0, e.width - a - r),
20
+ height: Math.max(0, e.height - n - i)
21
+ };
22
+ }, p = (e, t, n, r) => {
23
+ if (r(e, n) <= t) return e;
24
+ if (r("…", n) > t) return "";
25
+ let i = 0, a = e.length;
26
+ for (; i < a;) {
27
+ let o = i + a + 1 >> 1;
28
+ r(e.slice(0, o) + "…", n) <= t ? i = o : a = o - 1;
29
+ }
30
+ return i ? e.slice(0, i).trimEnd() + "…" : "";
31
+ }, m = /^[)\]}、。,.:;!?)」』】》〉,.:;!?%…]/, h = (e, t, n, r) => {
32
+ let i = [], a = e.trim();
33
+ for (; a;) {
34
+ if (r(a, n) <= t) {
35
+ i.push(a);
36
+ break;
37
+ }
38
+ let e = 0, o = a.length;
39
+ for (; e < o;) {
40
+ let i = e + o + 1 >> 1;
41
+ r(a.slice(0, i), n) <= t ? e = i : o = i - 1;
42
+ }
43
+ if (!e) return null;
44
+ let s = e;
45
+ if (a[e] !== " ") {
46
+ let t = a.lastIndexOf(" ", e);
47
+ if (t > e * .4) s = t;
48
+ else for (; s > 1 && m.test(a.slice(s));) s--;
49
+ }
50
+ i.push(a.slice(0, s).trimEnd()), a = a.slice(s).trimStart();
51
+ }
52
+ return i;
53
+ }, g = (e, t, n, r, i = 2) => {
54
+ let a = e.trim();
55
+ if (!a || i < 1) return [];
56
+ let o = h(a, t, n, r);
57
+ if (!o) {
58
+ let e = p(a, t, n, r);
59
+ return e ? [e] : [];
60
+ }
61
+ if (o.length > i) {
62
+ let e = o.slice(0, i - 1), s = a;
63
+ for (let t of e) s = s.slice(t.length).trimStart();
64
+ let c = p(s, t, n, r);
65
+ return c ? [...e, c] : e;
66
+ }
67
+ if (o.length < 2) return o;
68
+ let s = r(a, n) / o.length;
69
+ for (let e = 0; e <= 8; e++) {
70
+ let i = h(a, s + (t - s) * e / 8, n, r);
71
+ if (i && i.length <= o.length) return i;
72
+ }
73
+ return o;
74
+ }, _ = (e) => {
75
+ let t = /* @__PURE__ */ new Map();
76
+ return e.map((e) => {
77
+ let n = (t.get(e) ?? 0) + 1;
78
+ return t.set(e, n), n === 1 ? e : `${e}#${n}`;
79
+ });
80
+ }, v = [
81
+ 1,
82
+ 1,
83
+ 1,
84
+ .96
85
+ ], y = [
86
+ 15 / 255,
87
+ 23 / 255,
88
+ 42 / 255,
89
+ .88
90
+ ], b = (e) => e <= .04045 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4, x = (e) => .2126 * b(e[0]) + .7152 * b(e[1]) + .0722 * b(e[2]), S = (e, t) => {
91
+ let n = o(e[3], 0, 1);
92
+ return [
93
+ e[0] * n + t[0] * (1 - n),
94
+ e[1] * n + t[1] * (1 - n),
95
+ e[2] * n + t[2] * (1 - n),
96
+ 1
97
+ ];
98
+ }, C = (e, t) => {
99
+ let n = x(S(e, t)), r = x(t);
100
+ return (Math.max(n, r) + .05) / (Math.min(n, r) + .05);
101
+ }, w = [
102
+ 1,
103
+ 1,
104
+ 1,
105
+ 1
106
+ ], T = (e, t = w) => {
107
+ let r = S(e, S(t, w)), i = C(v, r), a = C(y, r);
108
+ return i >= a ? {
109
+ ink: v,
110
+ css: n(v),
111
+ contrast: i
112
+ } : {
113
+ ink: y,
114
+ css: n(y),
115
+ contrast: a
116
+ };
117
+ }, E = (e, t) => T(e, t).css, D = (t, n = 4.5, r = .3) => {
118
+ let i = T(t);
119
+ if (i.contrast >= n) return t;
120
+ let a = i.ink === v ? [
121
+ 0,
122
+ 0,
123
+ 0,
124
+ t[3]
125
+ ] : [
126
+ 1,
127
+ 1,
128
+ 1,
129
+ t[3]
130
+ ];
131
+ for (let o = .04; o <= r + 1e-9; o += .04) {
132
+ let r = e(t, a, o);
133
+ if (i = T(r), i.contrast >= n) return r;
134
+ }
135
+ return e(t, a, r);
136
+ }, O = (e, n, r) => n ? e.resolve ? e.resolve(n, r) : t(n) ?? r : r, k = (e) => {
137
+ let { area: t, theme: a } = e, o = t.x + t.width / 2, s = t.y + t.height / 2, c = Math.max(0, Math.min(t.width, t.height) / 2 - 6);
138
+ return {
139
+ nodes: [{
140
+ kind: "sector",
141
+ cx: o,
142
+ cy: s,
143
+ r0: c * .66,
144
+ r1: c,
145
+ a0: 0,
146
+ a1: i,
147
+ pad: 0,
148
+ corner: 0,
149
+ fill: n(a.grid, .8)
150
+ }, {
151
+ kind: "text",
152
+ x: o,
153
+ y: s,
154
+ text: e.labels.noData,
155
+ font: r(a, 12),
156
+ color: n(a.textMuted),
157
+ align: "center",
158
+ baseline: "middle"
159
+ }],
160
+ items: [],
161
+ dim: 1,
162
+ empty: !0
163
+ };
164
+ };
165
+ //#endregion
166
+ export { i as TAU, o as clamp, C as contrastRatio, u as easeOutCubic, p as ellipsize, k as emptyLayout, a as estimateText, c as finite, T as inkOn, f as inset, S as over, s as positive, D as readableFill, x as relativeLuminance, O as resolveWith, l as sum, E as textOn, _ as uniqueKeys, d as upright, g as wrapText };
167
+
168
+ //# sourceMappingURL=scene.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scene.js","names":["TAU","estimateText","size","f","text","clamp","v","lo","hi","positive","finite","fallback","sum","s","values","easeOutCubic","t","upright","r","a","inset","top","padding","right","bottom","left","rect","ellipsize","measure","font","max","mid","NO_LINE_START","breakLines","lines","rest","cut","space","wrapText","whole","maxLines","last","head","line","tail","k","balanced","uniqueKeys","seen","names","name","LIGHT_INK","DARK_INK","channel","relativeLuminance","c","over","contrastRatio","ink","fill","b","WHITE","inkOn","solid","backdrop","light","dark","toCss","textOn","readableFill","best","target","toward","limit","next","mix","resolveWith","css","theme","parseColor","emptyLayout","cx","area","cy","r1"],"sources":["../../../../../../../charts/src/engine/shapes/scene.ts"],"sourcesContent":["// Drawable scene of a shape chart: resolved geometry, colors and texts,\n// produced by the (DOM-free) layouts and consumed by draw / hit testing.\n\nimport { mix, parseColor, toCss, type Rgba } from \"../color\";\n\nimport { font } from \"../overlay\";\nimport type { ChartTheme } from \"../theme\";\nimport type { ChartPadding } from \"../types\";\nimport type {\n ShapeChartLabels,\n ShapeChartType,\n ShapeHoverEvent,\n} from \"./types\";\n\nexport const TAU = Math.PI * 2;\n\n/** Rectangle in CSS pixels */\nexport interface ShapeRect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\ninterface NodeBase {\n /** Index of the item the node belongs to (hover, dimming); none for decorations */\n hit?: number;\n /**\n * Other items whose hover also emphasizes the node (the flows of a hovered\n * sankey node, the ancestors of a hovered sunburst sector); hit testing\n * only uses `hit`\n */\n also?: readonly number[];\n /** Opacity multiplier */\n alpha?: number;\n /** Offset applied while the node's item is hovered (pie slices pop out) */\n shift?: [number, number];\n}\n\n/** Annular sector (pie slice, donut segment, ring) */\nexport interface SectorNode extends NodeBase {\n kind: \"sector\";\n cx: number;\n cy: number;\n r0: number;\n r1: number;\n /** Canvas angles (radians, clockwise from 3 o'clock) */\n a0: number;\n a1: number;\n /** Gap with the neighbours, in pixels */\n pad: number;\n /** Corner radius, in pixels */\n corner: number;\n fill: string;\n}\n\n/** Polygon (radar grid / series, funnel stage); `hole` is cut out */\nexport interface PolygonNode extends NodeBase {\n kind: \"polygon\";\n /** Flat x, y list */\n points: number[];\n hole?: number[];\n fill?: string;\n stroke?: string;\n lineWidth?: number;\n /** Corner radius, in pixels */\n radius?: number;\n /** Fill / stroke width when hovered */\n hoverFill?: string;\n hoverLineWidth?: number;\n /** Lightens the shape when hovered */\n brighten?: boolean;\n}\n\nexport interface RectNode extends NodeBase {\n kind: \"rect\";\n x: number;\n y: number;\n width: number;\n height: number;\n radius: number;\n fill: string;\n brighten?: boolean;\n /** Outline drawn inside the rectangle while its item is hovered */\n hoverStroke?: string;\n /** Distance (px) around the rectangle still picked by hit testing (default 0) */\n hitPad?: number;\n}\n\n/** Stroked arc (gauge track / value) */\nexport interface ArcNode extends NodeBase {\n kind: \"arc\";\n cx: number;\n cy: number;\n r: number;\n a0: number;\n a1: number;\n width: number;\n color: string;\n cap: \"round\" | \"butt\";\n /** Distance (px) beyond the stroke still picked by hit testing (default 4) */\n hitPad?: number;\n}\n\n/** Dot; without fill nor stroke it is only a hit area */\nexport interface CircleNode extends NodeBase {\n kind: \"circle\";\n cx: number;\n cy: number;\n r: number;\n fill?: string;\n stroke?: string;\n lineWidth?: number;\n /** Radar: indicator of the vertex */\n indicator?: number;\n /** Radius and halo color when the vertex is hovered */\n hoverR?: number;\n halo?: string;\n}\n\nexport interface LineNode extends NodeBase {\n kind: \"line\";\n points: number[];\n color: string;\n width: number;\n dash?: number[];\n}\n\nexport interface TextNode extends NodeBase {\n kind: \"text\";\n x: number;\n y: number;\n text: string;\n font: string;\n color: string;\n align: \"left\" | \"center\" | \"right\";\n baseline: \"top\" | \"middle\" | \"bottom\" | \"alphabetic\";\n /** Radar: indicator of the label */\n indicator?: number;\n hoverColor?: string;\n hoverFont?: string;\n /** Rotation around (x, y), radians clockwise */\n rotate?: number;\n /** Outline drawn behind the text so it reads over other marks */\n halo?: string;\n}\n\n/**\n * Sankey flow: a horizontal S-curve (cubic Bézier) of constant thickness\n * from (x0, y0) to (x1, y1), filled with a gradient from `color0` to `color1`\n */\nexport interface LinkNode extends NodeBase {\n kind: \"link\";\n x0: number;\n y0: number;\n x1: number;\n y1: number;\n /** Thickness, in pixels */\n width: number;\n color0: string;\n color1: string;\n /** Opacity while the link (or one of its `also` items) is hovered */\n activeAlpha?: number;\n}\n\n/**\n * Chord ribbon: the source arc (s0 to s1) and the target arc (t0 to t1) at\n * radius `r`, joined by quadratic curves through the center, filled with a\n * gradient from `color0` to `color1`; `head` > 0 replaces the target arc with\n * an arrowhead of that length\n */\nexport interface RibbonNode extends NodeBase {\n kind: \"ribbon\";\n cx: number;\n cy: number;\n r: number;\n /** Canvas angles (radians, clockwise from 3 o'clock) */\n s0: number;\n s1: number;\n t0: number;\n t1: number;\n /** Arrowhead length, in pixels (0 = none) */\n head: number;\n color0: string;\n color1: string;\n /** Opacity while the ribbon (or one of its `also` items) is hovered */\n activeAlpha?: number;\n}\n\n/** Radar: dashed guide from the center to the hovered indicator */\nexport interface GuideNode extends NodeBase {\n kind: \"guide\";\n cx: number;\n cy: number;\n /** End of each spoke */\n ends: [number, number][];\n color: string;\n}\n\nexport type ShapeNode =\n | SectorNode\n | PolygonNode\n | RectNode\n | ArcNode\n | CircleNode\n | LineNode\n | TextNode\n | GuideNode\n | LinkNode\n | RibbonNode;\n\n/** A row of the default tooltip */\nexport interface ShapeTooltipRow {\n name: string;\n value: string;\n color?: string;\n strong?: boolean;\n}\n\n/** Something the pointer / keyboard can focus */\nexport interface ShapeItem {\n index: number;\n name: string;\n value: number;\n percent: number;\n /** `percent` formatted for screen readers (`percentFormat`) */\n share?: string;\n color: string;\n path?: string[];\n /** Anchor of the tooltip when focused with the keyboard */\n x: number;\n y: number;\n /** Rows of the default tooltip */\n rows: ShapeTooltipRow[];\n /** Radar: one entry per indicator */\n indicators?: {\n name: string;\n value: number;\n percent: number;\n x: number;\n y: number;\n }[];\n /** Extra fields of the hover event (calendar date, sankey link / chord ribbon ends) */\n event?: Pick<ShapeHoverEvent, \"date\" | \"source\" | \"target\" | \"reverseValue\">;\n /** Sunburst: path focused when the item is activated (click, Enter) */\n drill?: string[];\n}\n\n/** What is hovered: an item (and a radar indicator) */\nexport interface ShapeHover {\n index: number;\n indicator?: number;\n}\n\nexport interface ShapeLegendEntry {\n /** Index passed to `toggle` */\n index: number;\n name: string;\n color: string;\n hidden: boolean;\n}\n\nexport interface ShapeScene {\n type: ShapeChartType;\n /** Size of the whole drawing */\n width: number;\n height: number;\n nodes: ShapeNode[];\n /** Focusable items, in keyboard order */\n items: ShapeItem[];\n /** Opacity of the other marks while one is hovered */\n dim: number;\n /** Entry animation of funnels / treemaps: fade and scale around a point */\n enter?: { alpha: number; scale: number; cx: number; cy: number };\n /**\n * Arrow-key moves in a grid of items (calendar heatmap), in positions of\n * `items`: `next` for Left / Right, `down` for Up / Down; no wrapping\n */\n steps?: { next: number; down: number };\n /** Radar geometry used by hit testing (and to keep the tooltip off the labels) */\n radar?: {\n cx: number;\n cy: number;\n radius: number;\n angles: number[];\n series: { index: number; points: number[] }[];\n /** Boxes of the indicator labels */\n labels?: ShapeRect[];\n };\n /** No data to draw (placeholder shown) */\n empty: boolean;\n /** Built-in texts of the chart's locale (accessible descriptions) */\n labels?: ShapeChartLabels;\n /** Resolved locale of the chart */\n locale?: string;\n}\n\n/** Measures a text in a CSS font */\nexport type MeasureText = (text: string, font: string) => number;\n\n/** Approximate width of a text without a canvas (tests, SSR) */\nexport const estimateText: MeasureText = (text, f) => {\n const size = /(\\d+(?:\\.\\d+)?)px/.exec(f);\n return text.length * (size ? Number(size[1]) : 12) * 0.6;\n};\n\n/** What the layouts of every type get */\nexport interface LayoutContext {\n theme: ChartTheme;\n measure: MeasureText;\n hidden: ReadonlySet<number>;\n /** Entry progress, eased (1 when done) */\n enter: number;\n /** Displayed (animated) value of a key */\n value(key: string, target: number): number;\n format(value: number): string;\n /** Formats a share (0-1): `percentFormat` or a locale percent with one decimal */\n percent(share: number): string;\n /** Built-in texts (locale and `texts` overrides) */\n labels: ShapeChartLabels;\n /** Resolved locale */\n locale: string;\n /** Color of the `i`-th mark (custom `color` or the palette) */\n color(css: string | undefined, i: number): Rgba;\n /** Drawing area, padding excluded */\n area: ShapeRect;\n /** Sunburst: names from the root to the focused node */\n focus: readonly string[];\n}\n\nexport type LayoutResult = Omit<\n ShapeScene,\n \"type\" | \"width\" | \"height\" | \"labels\" | \"locale\"\n>;\n\nexport const clamp = (v: number, lo: number, hi: number) =>\n v < lo ? lo : v > hi ? hi : v;\n\n/** Non-negative finite number */\nexport const positive = (v: number | undefined) =>\n typeof v === \"number\" && Number.isFinite(v) && v > 0 ? v : 0;\n\nexport const finite = (v: number | undefined, fallback = 0) =>\n typeof v === \"number\" && Number.isFinite(v) ? v : fallback;\n\nexport const sum = (values: readonly number[]) => {\n let s = 0;\n for (const v of values) s += v;\n return s;\n};\n\nexport const easeOutCubic = (t: number) => 1 - Math.pow(1 - clamp(t, 0, 1), 3);\n\n/** Angle brought into (-π/2, π/2] so that text rotated by it reads left to right */\nexport const upright = (a: number) => {\n let r = a % TAU;\n if (r > Math.PI) r -= TAU;\n if (r <= -Math.PI) r += TAU;\n if (r > Math.PI / 2) r -= Math.PI;\n else if (r <= -Math.PI / 2) r += Math.PI;\n return r;\n};\n\nexport const inset = (rect: ShapeRect, padding?: ChartPadding): ShapeRect => {\n const top = padding?.top ?? 8;\n const right = padding?.right ?? 8;\n const bottom = padding?.bottom ?? 8;\n const left = padding?.left ?? 8;\n return {\n x: rect.x + left,\n y: rect.y + top,\n width: Math.max(0, rect.width - left - right),\n height: Math.max(0, rect.height - top - bottom),\n };\n};\n\n/** Shortens a text with an ellipsis so it fits in `max` pixels (\"\" if nothing fits) */\nexport const ellipsize = (\n text: string,\n max: number,\n font: string,\n measure: MeasureText,\n): string => {\n if (measure(text, font) <= max) return text;\n if (measure(\"…\", font) > max) return \"\";\n let lo = 0;\n let hi = text.length;\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1;\n if (measure(text.slice(0, mid) + \"…\", font) <= max) lo = mid;\n else hi = mid - 1;\n }\n return lo ? text.slice(0, lo).trimEnd() + \"…\" : \"\";\n};\n\n/** Characters that must not start a line (closing brackets and punctuation) */\nconst NO_LINE_START = /^[)\\]}、。,.:;!?)」』】》〉,.:;!?%…]/;\n\n/** Greedy line breaking at `max` pixels, without a line limit */\nconst breakLines = (\n text: string,\n max: number,\n font: string,\n measure: MeasureText,\n): string[] | null => {\n const lines: string[] = [];\n let rest = text.trim();\n while (rest) {\n if (measure(rest, font) <= max) {\n lines.push(rest);\n break;\n }\n // longest prefix that fits\n let lo = 0;\n let hi = rest.length;\n while (lo < hi) {\n const mid = (lo + hi + 1) >> 1;\n if (measure(rest.slice(0, mid), font) <= max) lo = mid;\n else hi = mid - 1;\n }\n if (!lo) return null;\n let cut = lo;\n if (rest[lo] !== \" \") {\n const space = rest.lastIndexOf(\" \", lo);\n if (space > lo * 0.4) cut = space;\n // keep closing punctuation with the word before it\n else while (cut > 1 && NO_LINE_START.test(rest.slice(cut))) cut--;\n }\n lines.push(rest.slice(0, cut).trimEnd());\n rest = rest.slice(cut).trimStart();\n }\n return lines;\n};\n\n/**\n * Breaks a text into at most `maxLines` lines of `max` pixels, at spaces when\n * possible (anywhere otherwise, e.g. CJK, never before closing punctuation);\n * a text that fits is balanced across its lines, one that does not ends the\n * last line with an ellipsis\n */\nexport const wrapText = (\n text: string,\n max: number,\n font: string,\n measure: MeasureText,\n maxLines = 2,\n): string[] => {\n const whole = text.trim();\n if (!whole || maxLines < 1) return [];\n const lines = breakLines(whole, max, font, measure);\n if (!lines) {\n const last = ellipsize(whole, max, font, measure);\n return last ? [last] : [];\n }\n if (lines.length > maxLines) {\n const head = lines.slice(0, maxLines - 1);\n // the text after the kept lines (each line is a prefix of the rest)\n let rest = whole;\n for (const line of head) rest = rest.slice(line.length).trimStart();\n const tail = ellipsize(rest, max, font, measure);\n return tail ? [...head, tail] : head;\n }\n if (lines.length < 2) return lines;\n // balance: the narrowest width that still needs as many lines\n const total = measure(whole, font);\n const lo = total / lines.length;\n for (let k = 0; k <= 8; k++) {\n const width = lo + ((max - lo) * k) / 8;\n const balanced = breakLines(whole, width, font, measure);\n if (balanced && balanced.length <= lines.length) return balanced;\n }\n return lines;\n};\n\n/** Stable keys of named values: the name, `name#2` for duplicates */\nexport const uniqueKeys = (names: readonly string[]) => {\n const seen = new Map<string, number>();\n return names.map((name) => {\n const n = (seen.get(name) ?? 0) + 1;\n seen.set(name, n);\n return n === 1 ? name : `${name}#${n}`;\n });\n};\n\nconst LIGHT_INK: Rgba = [1, 1, 1, 0.96];\nconst DARK_INK: Rgba = [15 / 255, 23 / 255, 42 / 255, 0.88];\n\nconst channel = (v: number) =>\n v <= 0.04045 ? v / 12.92 : Math.pow((v + 0.055) / 1.055, 2.4);\n\n/** WCAG relative luminance of an opaque color */\nexport const relativeLuminance = (c: Rgba) =>\n 0.2126 * channel(c[0]) + 0.7152 * channel(c[1]) + 0.0722 * channel(c[2]);\n\n/** `top` composited over the opaque `bottom` */\nexport const over = (top: Rgba, bottom: Rgba): Rgba => {\n const a = clamp(top[3], 0, 1);\n return [\n top[0] * a + bottom[0] * (1 - a),\n top[1] * a + bottom[1] * (1 - a),\n top[2] * a + bottom[2] * (1 - a),\n 1,\n ];\n};\n\n/** WCAG contrast ratio (1-21) of `ink` drawn on the opaque `fill` */\nexport const contrastRatio = (ink: Rgba, fill: Rgba) => {\n const a = relativeLuminance(over(ink, fill));\n const b = relativeLuminance(fill);\n return (Math.max(a, b) + 0.05) / (Math.min(a, b) + 0.05);\n};\n\nconst WHITE: Rgba = [1, 1, 1, 1];\n\n/** Light or dark ink, whichever contrasts more with the fill, and its contrast */\nexport const inkOn = (\n fill: Rgba,\n backdrop: Rgba = WHITE,\n): { ink: Rgba; css: string; contrast: number } => {\n const solid = over(fill, over(backdrop, WHITE));\n const light = contrastRatio(LIGHT_INK, solid);\n const dark = contrastRatio(DARK_INK, solid);\n return light >= dark\n ? { ink: LIGHT_INK, css: toCss(LIGHT_INK), contrast: light }\n : { ink: DARK_INK, css: toCss(DARK_INK), contrast: dark };\n};\n\n/** Readable text color on a fill (WCAG contrast) */\nexport const textOn = (fill: Rgba, backdrop?: Rgba) =>\n inkOn(fill, backdrop).css;\n\n/**\n * Fill adjusted so that its best ink reaches `target` contrast: darkened\n * under white text, lightened under dark text (at most `limit` of the way)\n */\nexport const readableFill = (fill: Rgba, target = 4.5, limit = 0.3): Rgba => {\n let best = inkOn(fill);\n if (best.contrast >= target) return fill;\n const toward: Rgba =\n best.ink === LIGHT_INK ? [0, 0, 0, fill[3]] : [1, 1, 1, fill[3]];\n for (let t = 0.04; t <= limit + 1e-9; t += 0.04) {\n const next = mix(fill, toward, t);\n best = inkOn(next);\n if (best.contrast >= target) return next;\n }\n return mix(fill, toward, limit);\n};\n\n/** Resolves a custom color with the theme resolver (static parsing otherwise) */\nexport const resolveWith = (\n theme: ChartTheme,\n css: string | undefined,\n fallback: Rgba,\n): Rgba => {\n if (!css) return fallback;\n return theme.resolve\n ? theme.resolve(css, fallback)\n : (parseColor(css) ?? fallback);\n};\n\n/** Placeholder of a chart without data: a muted ring and \"No data\" (localized) */\nexport const emptyLayout = (c: LayoutContext): LayoutResult => {\n const { area, theme } = c;\n const cx = area.x + area.width / 2;\n const cy = area.y + area.height / 2;\n const r1 = Math.max(0, Math.min(area.width, area.height) / 2 - 6);\n return {\n nodes: [\n {\n kind: \"sector\",\n cx,\n cy,\n r0: r1 * 0.66,\n r1,\n a0: 0,\n a1: TAU,\n pad: 0,\n corner: 0,\n fill: toCss(theme.grid, 0.8),\n },\n {\n kind: \"text\",\n x: cx,\n y: cy,\n text: c.labels.noData,\n font: font(theme, 12),\n color: toCss(theme.textMuted),\n align: \"center\",\n baseline: \"middle\",\n },\n ],\n items: [],\n dim: 1,\n empty: true,\n };\n};\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("../color.cjs"),t=require("../overlay.cjs"),n=require("./scene.cjs"),r=require("./labels.cjs");var i=18,a=(e,t)=>{let r=0,i=(e,a,o)=>{let s=n.uniqueKeys(e.map(e=>e.name));return e.map((e,c)=>{let l=a?o:c,u={node:e,key:`${a?.key??``}/${s[c]}`,path:[...a?.path??[],e.name],top:l,index:r++,depth:(a?.depth??0)+1,target:0,parent:a,children:[]};return e.children?.length?(u.children=i(e.children,u,l),u.target=n.sum(u.children.map(e=>e.target))):u.target=t.has(l)?0:n.positive(e.value),u})};return i(e??[],null,0)},o=(e,t)=>{let n=e,r=null;for(let e of t){let t=n.find(t=>t.node.name===e&&t.children.length&&t.target>0);if(!t)break;r=t,n=t.children}return r},s=(e,t,n)=>o(a(e.data,n),t)?.path??[],c=e=>e.reduce((e,t)=>t.target>0?Math.max(e,t.children.length?c(t.children):t.depth):e,0),l=(e,t,r)=>{let i=n.sum(e.map(e=>e.target)),a=t?t.depth:0,o=0,s=1;if(t&&i>0){let n=0;for(let r=t;r;r=r.parent){let t=r.parent?r.parent.children:e;for(let e of t){if(e===r)break;n+=e.target}}o=n/i,s=o+t.target/i}let l=Math.max(1,c(t?t.children:e)-a);return{a0:o,a1:s,depth:a,levels:Math.min(typeof r==`number`&&r>=1?Math.floor(r):l,l)}},u=(e,t,n,r)=>{let i=a(e.data,t),s=e=>e.forEach(e=>{e.children.length?s(e.children):r.set(e.key,e.target)});s(i);let c=l(i,o(i,n),e.levels);r.set(`@a0`,c.a0),r.set(`@a1`,c.a1),r.set(`@d`,c.depth),r.set(`@levels`,c.levels)},d=(s,c)=>{let{theme:u,area:d,measure:f,hidden:p}=c,m=a(s.data,p),h=n.sum(m.map(e=>e.target)),g=new Map,_=e=>{let t=e.children.length?n.sum(e.children.map(_)):Math.max(0,c.value(e.key,e.target));return g.set(e,t),t},v=n.sum(m.map(_));if(h<=0&&v<=1e-9)return n.emptyLayout(c);let y=o(m,c.focus),b=l(m,y,s.levels),x=c.value(`@a0`,b.a0),S=c.value(`@a1`,b.a1);S-x>1e-6||(x=0,S=1);let C=c.value(`@d`,b.depth),w=d.x+d.width/2,T=d.y+d.height/2,E=Math.max(4,Math.min(d.width,d.height)/2-2),D=E*n.clamp(n.finite(s.innerRadius,.26),0,.8),O=Math.max(1,Math.floor((E-D)/i)),k=Math.max(1,c.value(`@levels`,b.levels)),A=(E-D)/Math.min(k,O),j=n.clamp(c.enter,0,1),M=n.finite(s.startAngle)*Math.PI/180-Math.PI/2,N=e=>M+n.clamp((e-x)/(S-x),0,1)*n.TAU*j,P=Math.max(0,n.finite(s.padAngle,1)),F=Math.max(0,n.finite(s.cornerRadius,2)),I=s.labels??`auto`,L=t.font(u,11),R=n.relativeLuminance(u.background)<.2,z=[],B=[],V=[],H=new Map,U=e=>[e.index,...e.children.flatMap(U)],W=e=>{let t=[];for(let n=e.parent;n;n=n.parent)t.push(n.index);return t},G=(e,t,r,i,a,o,s,c)=>{if(I===`none`)return;let l=r-t,u=a-i,d=(i+a)/2,p=(t+r)/2,m=f(e,L),h=0;if(I!==`radial`&&u>=15){let e=(u-11)/2-1,t=2*d*Math.acos(n.clamp(1-e/d,-1,1));h=Math.max(0,Math.min(l*d-8,t))}let g=0;I!==`tangential`&&l*(i+4)>=13&&(g=Math.max(0,u-10));let _=h>0&&(m<=h||h>=g||I===`tangential`),v=_?h:g;if(v<=0)return;let y=n.ellipsize(e,v,L,f);!y||y!==e&&y.length<4||B.push({kind:`text`,x:w+d*Math.cos(p),y:T+d*Math.sin(p),text:y,font:L,color:n.textOn(o),align:`center`,baseline:`middle`,rotate:n.upright(_?p+Math.PI/2:p),hit:s.index,also:c})},K=(t,r)=>{t.forEach((t,i)=>{let a=r?t.node.color?n.resolveWith(u,t.node.color,r):e.mix(r,u.background,.14+i%3*.06):c.color(t.node.color,t.top);H.set(t,a),t.children.length&&K(t.children,a)})};K(m,null);let q=new Map,J=(e,t)=>{let n=t;for(let t of e)q.set(t,n),t.children.length&&J(t.children,n),n+=(g.get(t)??0)/Math.max(1e-12,v)};J(m,0);let Y=t=>{for(let i of t){let t=g.get(i)??0;if(t<=1e-9)continue;let a=q.get(i)??0,o=a+t/Math.max(1e-12,v),s=N(a),l=N(o),d=i.depth-C,f=Math.max(D,D+(d-1)*A),p=Math.min(E,D+d*A);if(l-s>1e-4&&p-f>.5){let t=H.get(i)??u.primary,a=n.readableFill(R?e.mix(t,u.background,.12):t,3),o=[...W(i),...U(i).slice(1)];if(z.push({kind:`sector`,cx:w,cy:T,r0:f,r1:p,a0:s,a1:l,pad:P,corner:F,fill:e.toCss(a),hit:i.index,also:o}),G(i.node.name,s,l,f,p,a,i,o),i.target>0){let t=h>0?i.target/h:0,n=i.parent?.target??0,o=(f+p)/2,u=(s+l)/2;V.push({index:i.index,name:i.node.name,value:i.target,percent:t,share:c.percent(t),color:e.toCss(a),path:i.path,x:w+o*Math.cos(u),y:T+o*Math.sin(u),rows:[{name:c.labels.value,value:c.format(i.target)},{name:c.labels.share,value:c.percent(t)},...i.parent&&n>0?[{name:r.interpolate(c.labels.ofName,{name:i.parent.node.name}),value:c.percent(i.target/n)}]:[]],...i.children.length?{drill:i.path}:{}})}}i.children.length&&p<E-.5&&Y(i.children)}};Y(m),z.push(...B);let X=D-3;if(X>=14){let r=n.clamp(X*.3,12,24);if(y){let r=H.get(y)??u.primary,i=e.toCss(e.mix(r,u.background,.84)),a=e.toCss(r),o=y.children.flatMap(U);z.push({kind:`circle`,cx:w,cy:T,r:X,fill:i,stroke:e.toCss(r,.5),lineWidth:1,hit:y.index,also:o});let s=t.font(u,n.clamp(X*.2,11,14),600),l=n.ellipsize(y.node.name,X*1.6,s,f),d=c.format(y.target),p=X>=30,m=p?T-2:T+4,g=m-(p?18:12);X>=24&&z.push({kind:`line`,points:[w-5,g+3,w,g-2,w+5,g+3],color:e.toCss(u.textMuted),width:1.5,hit:y.index,also:o}),l&&z.push({kind:`text`,x:w,y:m,text:l,font:s,color:e.toCss(u.text),align:`center`,baseline:`middle`,hit:y.index,also:o}),p&&z.push({kind:`text`,x:w,y:T+16,text:n.ellipsize(d,X*1.6,t.font(u,12),f),font:t.font(u,12),color:e.toCss(u.textMuted),align:`center`,baseline:`middle`,hit:y.index,also:o});let _=h>0?y.target/h:0;V.push({index:y.index,name:y.node.name,value:y.target,percent:_,share:c.percent(_),color:a,path:y.path,x:w,y:T,rows:[{name:c.labels.value,value:c.format(y.target)},{name:c.labels.share,value:c.percent(_)}],drill:y.path.slice(0,-1)})}else if(h>0){let i=t.font(u,r,600),a=n.ellipsize(c.format(h),X*1.7,i,f);a&&z.push({kind:`text`,x:w,y:T,text:a,font:i,color:e.toCss(u.text),align:`center`,baseline:`middle`})}}return V.sort((e,t)=>e.index-t.index),{nodes:z,items:V,dim:.35,empty:!1}};exports.layoutSunburst=d,exports.resolveSunburstPath=s,exports.sunburstValues=u;
2
+ //# sourceMappingURL=sunburst.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sunburst.cjs","names":["uniqueKeys","sum","positive","emptyLayout","clamp","finite","TAU","font","relativeLuminance","ellipsize","textOn","upright","resolveWith","mix","readableFill","toCss","interpolate","require_color","require_overlay","require_scene","require_labels","MIN_RING","build","count","walk","keys","nodes","nd","t","parent","top","j","b","node","ch","hidden","data","focusOf","list","tree","found","name","path","next","resolveSunburstPath","o","deepest","d","view","total","depth","focus","a0","a1","f","p","siblings","s","below","levels","sunburstValues","visit","out","v","focusPath","layoutSunburst","shown","measureShown","shownTotal","target","w0","w1","cx","area","cy","R","R0","fit","ring","enter","start","angle","pad","corner","mode","labelFont","theme","dark","labels","items","colorOf","subtree","ancestors","label","span","thick","r1","r0","rm","m","full","measure","tangential","sag","chord","radial","useTangential","room","text","fill","color","parentColor","fracStart","place","from","sectors","f0","f1","rel","base","also","percent","rc","valueSize","css","nameFont","value","showValue","nameY","chevronY","valueFont","a"],"sources":["../../../../../../../charts/src/engine/shapes/sunburst.ts"],"sourcesContent":["// Sunburst layout: the hierarchy as concentric rings around a center circle.\n// Drilling into a node animates the angular window (the node's share of the\n// root) and the depth: its children open to the full circle while the\n// ancestors slide into the center. Labels follow the arc or the radius,\n// whichever fits.\n\nimport { mix, toCss, type Rgba } from \"../color\";\nimport { font } from \"../overlay\";\nimport { interpolate } from \"./labels\";\nimport {\n clamp,\n ellipsize,\n emptyLayout,\n finite,\n positive,\n readableFill,\n relativeLuminance,\n resolveWith,\n sum,\n TAU,\n textOn,\n uniqueKeys,\n upright,\n type LayoutContext,\n type LayoutResult,\n type ShapeItem,\n type ShapeNode,\n} from \"./scene\";\nimport type { SunburstChartOptions, TreemapNode } from \"./types\";\n\n/** Thinnest ring, in pixels (fewer levels are shown below) */\nconst MIN_RING = 18;\n\ninterface SNode {\n node: TreemapNode;\n key: string;\n path: string[];\n /** Index of the top-level ancestor (legend) */\n top: number;\n /** Depth-first index (hover `index`) */\n index: number;\n /** 1 for the top-level nodes */\n depth: number;\n target: number;\n parent: SNode | null;\n children: SNode[];\n}\n\n/** Tree with the target values; hidden top-level nodes count 0 */\nconst build = (\n data: readonly TreemapNode[],\n hidden: ReadonlySet<number>,\n): SNode[] => {\n let count = 0;\n const walk = (\n nodes: readonly TreemapNode[],\n parent: SNode | null,\n top: number,\n ): SNode[] => {\n const keys = uniqueKeys(nodes.map((nd) => nd.name));\n return nodes.map((node, j) => {\n const t = parent ? top : j;\n const b: SNode = {\n node,\n key: `${parent?.key ?? \"\"}/${keys[j]}`,\n path: [...(parent?.path ?? []), node.name],\n top: t,\n index: count++,\n depth: (parent?.depth ?? 0) + 1,\n target: 0,\n parent,\n children: [],\n };\n if (node.children?.length) {\n b.children = walk(node.children, b, t);\n b.target = sum(b.children.map((ch) => ch.target));\n } else b.target = hidden.has(t) ? 0 : positive(node.value);\n return b;\n });\n };\n return walk(data ?? [], null, 0);\n};\n\n/**\n * The deepest node of `path` that can be focused (a parent with a value),\n * `null` for the root\n */\nconst focusOf = (tree: SNode[], path: readonly string[]): SNode | null => {\n let list = tree;\n let found: SNode | null = null;\n for (const name of path) {\n const next = list.find(\n (b) => b.node.name === name && b.children.length && b.target > 0,\n );\n if (!next) break;\n found = next;\n list = next.children;\n }\n return found;\n};\n\n/** Valid part of a drill path (names from the root to a focusable parent) */\nexport const resolveSunburstPath = (\n o: SunburstChartOptions,\n path: readonly string[],\n hidden: ReadonlySet<number>,\n): string[] => focusOf(build(o.data, hidden), path)?.path ?? [];\n\nconst deepest = (list: readonly SNode[]): number =>\n list.reduce(\n (d, b) =>\n b.target > 0\n ? Math.max(d, b.children.length ? deepest(b.children) : b.depth)\n : d,\n 0,\n );\n\n/** Angular window of the focused node (shares of the root) and depths */\nconst view = (tree: SNode[], focus: SNode | null, levels?: number) => {\n const total = sum(tree.map((b) => b.target));\n const depth = focus ? focus.depth : 0;\n let a0 = 0;\n let a1 = 1;\n if (focus && total > 0) {\n // start: shares of the previous siblings of every ancestor\n let f = 0;\n for (let p: SNode | null = focus; p; p = p.parent) {\n const siblings: SNode[] = p.parent ? p.parent.children : tree;\n for (const s of siblings) {\n if (s === p) break;\n f += s.target;\n }\n }\n a0 = f / total;\n a1 = a0 + focus.target / total;\n }\n const below = Math.max(1, deepest(focus ? focus.children : tree) - depth);\n const wanted =\n typeof levels === \"number\" && levels >= 1 ? Math.floor(levels) : below;\n return { a0, a1, depth, levels: Math.min(wanted, below) };\n};\n\nexport const sunburstValues = (\n o: SunburstChartOptions,\n hidden: ReadonlySet<number>,\n focusPath: readonly string[],\n out: Map<string, number>,\n) => {\n const tree = build(o.data, hidden);\n const visit = (nodes: SNode[]) =>\n nodes.forEach((b) => {\n if (b.children.length) visit(b.children);\n else out.set(b.key, b.target);\n });\n visit(tree);\n const v = view(tree, focusOf(tree, focusPath), o.levels);\n out.set(\"@a0\", v.a0);\n out.set(\"@a1\", v.a1);\n out.set(\"@d\", v.depth);\n out.set(\"@levels\", v.levels);\n};\n\nexport const layoutSunburst = (\n o: SunburstChartOptions,\n c: LayoutContext,\n): LayoutResult => {\n const { theme, area, measure, hidden } = c;\n const tree = build(o.data, hidden);\n const total = sum(tree.map((b) => b.target));\n // displayed (animated) values\n const shown = new Map<SNode, number>();\n const measureShown = (b: SNode): number => {\n const v = b.children.length\n ? sum(b.children.map(measureShown))\n : Math.max(0, c.value(b.key, b.target));\n shown.set(b, v);\n return v;\n };\n const shownTotal = sum(tree.map(measureShown));\n if (total <= 0 && shownTotal <= 1e-9) return emptyLayout(c);\n\n const focus = focusOf(tree, c.focus);\n const target = view(tree, focus, o.levels);\n let w0 = c.value(\"@a0\", target.a0);\n let w1 = c.value(\"@a1\", target.a1);\n if (!(w1 - w0 > 1e-6)) {\n w0 = 0;\n w1 = 1;\n }\n const d = c.value(\"@d\", target.depth);\n const cx = area.x + area.width / 2;\n const cy = area.y + area.height / 2;\n const R = Math.max(4, Math.min(area.width, area.height) / 2 - 2);\n const R0 = R * clamp(finite(o.innerRadius, 0.26), 0, 0.8);\n const fit = Math.max(1, Math.floor((R - R0) / MIN_RING));\n const levels = Math.max(1, c.value(\"@levels\", target.levels));\n const ring = (R - R0) / Math.min(levels, fit);\n const enter = clamp(c.enter, 0, 1);\n const start = (finite(o.startAngle) * Math.PI) / 180 - Math.PI / 2;\n const angle = (f: number) =>\n start + clamp((f - w0) / (w1 - w0), 0, 1) * TAU * enter;\n const pad = Math.max(0, finite(o.padAngle, 1));\n const corner = Math.max(0, finite(o.cornerRadius, 2));\n const mode = o.labels ?? \"auto\";\n const labelFont = font(theme, 11);\n const dark = relativeLuminance(theme.background) < 0.2;\n\n const nodes: ShapeNode[] = [];\n const labels: ShapeNode[] = [];\n const items: ShapeItem[] = [];\n const colorOf = new Map<SNode, Rgba>();\n const subtree = (b: SNode): number[] => [\n b.index,\n ...b.children.flatMap(subtree),\n ];\n const ancestors = (b: SNode) => {\n const out: number[] = [];\n for (let p = b.parent; p; p = p.parent) out.push(p.index);\n return out;\n };\n\n const label = (\n name: string,\n a0: number,\n a1: number,\n r0: number,\n r1: number,\n fill: Rgba,\n b: SNode,\n also: number[],\n ) => {\n if (mode === \"none\") return;\n const span = a1 - a0;\n const thick = r1 - r0;\n const rm = (r0 + r1) / 2;\n const m = (a0 + a1) / 2;\n const size = 11;\n const full = measure(name, labelFont);\n // tangential: straight text across the middle of the sector, its sag kept in the ring\n let tangential = 0;\n if (mode !== \"radial\" && thick >= size + 4) {\n const sag = (thick - size) / 2 - 1;\n const chord = 2 * rm * Math.acos(clamp(1 - sag / rm, -1, 1));\n tangential = Math.max(0, Math.min(span * rm - 8, chord));\n }\n // radial: along the radius, the sector wide enough at its inner end\n let radial = 0;\n if (mode !== \"tangential\" && span * (r0 + 4) >= size + 2)\n radial = Math.max(0, thick - 10);\n const useTangential =\n tangential > 0 &&\n (full <= tangential || tangential >= radial || mode === \"tangential\");\n const room = useTangential ? tangential : radial;\n if (room <= 0) return;\n const text = ellipsize(name, room, labelFont, measure);\n if (!text || (text !== name && text.length < 4)) return;\n labels.push({\n kind: \"text\",\n x: cx + rm * Math.cos(m),\n y: cy + rm * Math.sin(m),\n text,\n font: labelFont,\n color: textOn(fill),\n align: \"center\",\n baseline: \"middle\",\n rotate: upright(useTangential ? m + Math.PI / 2 : m),\n hit: b.index,\n also,\n });\n };\n\n const visit = (list: SNode[], parentColor: Rgba | null) => {\n list.forEach((b, j) => {\n const color = parentColor\n ? b.node.color\n ? resolveWith(theme, b.node.color, parentColor)\n : mix(parentColor, theme.background, 0.14 + (j % 3) * 0.06)\n : c.color(b.node.color, b.top);\n colorOf.set(b, color);\n if (b.children.length) visit(b.children, color);\n });\n };\n visit(tree, null);\n\n // fractions from the displayed values\n const fracStart = new Map<SNode, number>();\n const place = (list: SNode[], from: number) => {\n let f = from;\n for (const b of list) {\n fracStart.set(b, f);\n if (b.children.length) place(b.children, f);\n f += (shown.get(b) ?? 0) / Math.max(1e-12, shownTotal);\n }\n };\n place(tree, 0);\n\n const sectors = (list: SNode[]) => {\n for (const b of list) {\n const v = shown.get(b) ?? 0;\n if (v <= 1e-9) continue;\n const f0 = fracStart.get(b) ?? 0;\n const f1 = f0 + v / Math.max(1e-12, shownTotal);\n const a0 = angle(f0);\n const a1 = angle(f1);\n const rel = b.depth - d;\n const r0 = Math.max(R0, R0 + (rel - 1) * ring);\n const r1 = Math.min(R, R0 + rel * ring);\n if (a1 - a0 > 1e-4 && r1 - r0 > 0.5) {\n const base = colorOf.get(b) ?? theme.primary;\n const fill = readableFill(\n dark ? mix(base, theme.background, 0.12) : base,\n 3,\n );\n const also = [...ancestors(b), ...subtree(b).slice(1)];\n nodes.push({\n kind: \"sector\",\n cx,\n cy,\n r0,\n r1,\n a0,\n a1,\n pad,\n corner,\n fill: toCss(fill),\n hit: b.index,\n also,\n });\n label(b.node.name, a0, a1, r0, r1, fill, b, also);\n if (b.target > 0) {\n const percent = total > 0 ? b.target / total : 0;\n const parent = b.parent?.target ?? 0;\n const rm = (r0 + r1) / 2;\n const m = (a0 + a1) / 2;\n items.push({\n index: b.index,\n name: b.node.name,\n value: b.target,\n percent,\n share: c.percent(percent),\n color: toCss(fill),\n path: b.path,\n x: cx + rm * Math.cos(m),\n y: cy + rm * Math.sin(m),\n rows: [\n { name: c.labels.value, value: c.format(b.target) },\n { name: c.labels.share, value: c.percent(percent) },\n ...(b.parent && parent > 0\n ? [\n {\n name: interpolate(c.labels.ofName, {\n name: b.parent.node.name,\n }),\n value: c.percent(b.target / parent),\n },\n ]\n : []),\n ],\n ...(b.children.length ? { drill: b.path } : {}),\n });\n }\n }\n if (b.children.length && r1 < R - 0.5) sectors(b.children);\n }\n };\n sectors(tree);\n nodes.push(...labels);\n\n // center: the focused node (click to go up) or the total\n const rc = R0 - 3;\n if (rc >= 14) {\n const valueSize = clamp(rc * 0.3, 12, 24);\n if (focus) {\n const base = colorOf.get(focus) ?? theme.primary;\n const fill = toCss(mix(base, theme.background, 0.84));\n const css = toCss(base);\n const also = focus.children.flatMap(subtree);\n nodes.push({\n kind: \"circle\",\n cx,\n cy,\n r: rc,\n fill,\n stroke: toCss(base, 0.5),\n lineWidth: 1,\n hit: focus.index,\n also,\n });\n const nameFont = font(theme, clamp(rc * 0.2, 11, 14), 600);\n const name = ellipsize(focus.node.name, rc * 1.6, nameFont, measure);\n const value = c.format(focus.target);\n const showValue = rc >= 30;\n const nameY = showValue ? cy - 2 : cy + 4;\n // chevron: \"go up\"\n const chevronY = nameY - (showValue ? 18 : 12);\n if (rc >= 24)\n nodes.push({\n kind: \"line\",\n points: [\n cx - 5,\n chevronY + 3,\n cx,\n chevronY - 2,\n cx + 5,\n chevronY + 3,\n ],\n color: toCss(theme.textMuted),\n width: 1.5,\n hit: focus.index,\n also,\n });\n if (name)\n nodes.push({\n kind: \"text\",\n x: cx,\n y: nameY,\n text: name,\n font: nameFont,\n color: toCss(theme.text),\n align: \"center\",\n baseline: \"middle\",\n hit: focus.index,\n also,\n });\n if (showValue)\n nodes.push({\n kind: \"text\",\n x: cx,\n y: cy + 16,\n text: ellipsize(value, rc * 1.6, font(theme, 12), measure),\n font: font(theme, 12),\n color: toCss(theme.textMuted),\n align: \"center\",\n baseline: \"middle\",\n hit: focus.index,\n also,\n });\n const percent = total > 0 ? focus.target / total : 0;\n items.push({\n index: focus.index,\n name: focus.node.name,\n value: focus.target,\n percent,\n share: c.percent(percent),\n color: css,\n path: focus.path,\n x: cx,\n y: cy,\n rows: [\n { name: c.labels.value, value: c.format(focus.target) },\n { name: c.labels.share, value: c.percent(percent) },\n ],\n drill: focus.path.slice(0, -1),\n });\n } else if (total > 0) {\n const valueFont = font(theme, valueSize, 600);\n const text = ellipsize(c.format(total), rc * 1.7, valueFont, measure);\n if (text)\n nodes.push({\n kind: \"text\",\n x: cx,\n y: cy,\n text,\n font: valueFont,\n color: toCss(theme.text),\n align: \"center\",\n baseline: \"middle\",\n });\n }\n }\n items.sort((a, b) => a.index - b.index);\n\n return { nodes, items, dim: 0.35, empty: false };\n};\n"],"mappings":"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"}
@@ -0,0 +1,261 @@
1
+ import { mix as e, toCss as t } from "../color.js";
2
+ import { font as n } from "../overlay.js";
3
+ import { TAU as r, clamp as i, ellipsize as a, emptyLayout as o, finite as s, positive as c, readableFill as l, relativeLuminance as u, resolveWith as d, sum as f, textOn as p, uniqueKeys as m, upright as h } from "./scene.js";
4
+ import { interpolate as g } from "./labels.js";
5
+ //#region ../charts/src/engine/shapes/sunburst.ts
6
+ var _ = 18, v = (e, t) => {
7
+ let n = 0, r = (e, i, a) => {
8
+ let o = m(e.map((e) => e.name));
9
+ return e.map((e, s) => {
10
+ let l = i ? a : s, u = {
11
+ node: e,
12
+ key: `${i?.key ?? ""}/${o[s]}`,
13
+ path: [...i?.path ?? [], e.name],
14
+ top: l,
15
+ index: n++,
16
+ depth: (i?.depth ?? 0) + 1,
17
+ target: 0,
18
+ parent: i,
19
+ children: []
20
+ };
21
+ return e.children?.length ? (u.children = r(e.children, u, l), u.target = f(u.children.map((e) => e.target))) : u.target = t.has(l) ? 0 : c(e.value), u;
22
+ });
23
+ };
24
+ return r(e ?? [], null, 0);
25
+ }, y = (e, t) => {
26
+ let n = e, r = null;
27
+ for (let e of t) {
28
+ let t = n.find((t) => t.node.name === e && t.children.length && t.target > 0);
29
+ if (!t) break;
30
+ r = t, n = t.children;
31
+ }
32
+ return r;
33
+ }, b = (e, t, n) => y(v(e.data, n), t)?.path ?? [], x = (e) => e.reduce((e, t) => t.target > 0 ? Math.max(e, t.children.length ? x(t.children) : t.depth) : e, 0), S = (e, t, n) => {
34
+ let r = f(e.map((e) => e.target)), i = t ? t.depth : 0, a = 0, o = 1;
35
+ if (t && r > 0) {
36
+ let n = 0;
37
+ for (let r = t; r; r = r.parent) {
38
+ let t = r.parent ? r.parent.children : e;
39
+ for (let e of t) {
40
+ if (e === r) break;
41
+ n += e.target;
42
+ }
43
+ }
44
+ a = n / r, o = a + t.target / r;
45
+ }
46
+ let s = Math.max(1, x(t ? t.children : e) - i);
47
+ return {
48
+ a0: a,
49
+ a1: o,
50
+ depth: i,
51
+ levels: Math.min(typeof n == "number" && n >= 1 ? Math.floor(n) : s, s)
52
+ };
53
+ }, C = (e, t, n, r) => {
54
+ let i = v(e.data, t), a = (e) => e.forEach((e) => {
55
+ e.children.length ? a(e.children) : r.set(e.key, e.target);
56
+ });
57
+ a(i);
58
+ let o = S(i, y(i, n), e.levels);
59
+ r.set("@a0", o.a0), r.set("@a1", o.a1), r.set("@d", o.depth), r.set("@levels", o.levels);
60
+ }, w = (c, m) => {
61
+ let { theme: b, area: x, measure: C, hidden: w } = m, T = v(c.data, w), E = f(T.map((e) => e.target)), D = /* @__PURE__ */ new Map(), O = (e) => {
62
+ let t = e.children.length ? f(e.children.map(O)) : Math.max(0, m.value(e.key, e.target));
63
+ return D.set(e, t), t;
64
+ }, k = f(T.map(O));
65
+ if (E <= 0 && k <= 1e-9) return o(m);
66
+ let A = y(T, m.focus), j = S(T, A, c.levels), M = m.value("@a0", j.a0), N = m.value("@a1", j.a1);
67
+ N - M > 1e-6 || (M = 0, N = 1);
68
+ let ee = m.value("@d", j.depth), P = x.x + x.width / 2, F = x.y + x.height / 2, I = Math.max(4, Math.min(x.width, x.height) / 2 - 2), L = I * i(s(c.innerRadius, .26), 0, .8), te = Math.max(1, Math.floor((I - L) / _)), ne = Math.max(1, m.value("@levels", j.levels)), R = (I - L) / Math.min(ne, te), re = i(m.enter, 0, 1), z = s(c.startAngle) * Math.PI / 180 - Math.PI / 2, B = (e) => z + i((e - M) / (N - M), 0, 1) * r * re, V = Math.max(0, s(c.padAngle, 1)), ie = Math.max(0, s(c.cornerRadius, 2)), H = c.labels ?? "auto", U = n(b, 11), ae = u(b.background) < .2, W = [], G = [], K = [], q = /* @__PURE__ */ new Map(), J = (e) => [e.index, ...e.children.flatMap(J)], oe = (e) => {
69
+ let t = [];
70
+ for (let n = e.parent; n; n = n.parent) t.push(n.index);
71
+ return t;
72
+ }, se = (e, t, n, r, o, s, c, l) => {
73
+ if (H === "none") return;
74
+ let u = n - t, d = o - r, f = (r + o) / 2, m = (t + n) / 2, g = C(e, U), _ = 0;
75
+ if (H !== "radial" && d >= 15) {
76
+ let e = (d - 11) / 2 - 1, t = 2 * f * Math.acos(i(1 - e / f, -1, 1));
77
+ _ = Math.max(0, Math.min(u * f - 8, t));
78
+ }
79
+ let v = 0;
80
+ H !== "tangential" && u * (r + 4) >= 13 && (v = Math.max(0, d - 10));
81
+ let y = _ > 0 && (g <= _ || _ >= v || H === "tangential"), b = y ? _ : v;
82
+ if (b <= 0) return;
83
+ let x = a(e, b, U, C);
84
+ !x || x !== e && x.length < 4 || G.push({
85
+ kind: "text",
86
+ x: P + f * Math.cos(m),
87
+ y: F + f * Math.sin(m),
88
+ text: x,
89
+ font: U,
90
+ color: p(s),
91
+ align: "center",
92
+ baseline: "middle",
93
+ rotate: h(y ? m + Math.PI / 2 : m),
94
+ hit: c.index,
95
+ also: l
96
+ });
97
+ }, Y = (t, n) => {
98
+ t.forEach((t, r) => {
99
+ let i = n ? t.node.color ? d(b, t.node.color, n) : e(n, b.background, .14 + r % 3 * .06) : m.color(t.node.color, t.top);
100
+ q.set(t, i), t.children.length && Y(t.children, i);
101
+ });
102
+ };
103
+ Y(T, null);
104
+ let X = /* @__PURE__ */ new Map(), Z = (e, t) => {
105
+ let n = t;
106
+ for (let t of e) X.set(t, n), t.children.length && Z(t.children, n), n += (D.get(t) ?? 0) / Math.max(1e-12, k);
107
+ };
108
+ Z(T, 0);
109
+ let Q = (n) => {
110
+ for (let r of n) {
111
+ let n = D.get(r) ?? 0;
112
+ if (n <= 1e-9) continue;
113
+ let i = X.get(r) ?? 0, a = i + n / Math.max(1e-12, k), o = B(i), s = B(a), c = r.depth - ee, u = Math.max(L, L + (c - 1) * R), d = Math.min(I, L + c * R);
114
+ if (s - o > 1e-4 && d - u > .5) {
115
+ let n = q.get(r) ?? b.primary, i = l(ae ? e(n, b.background, .12) : n, 3), a = [...oe(r), ...J(r).slice(1)];
116
+ if (W.push({
117
+ kind: "sector",
118
+ cx: P,
119
+ cy: F,
120
+ r0: u,
121
+ r1: d,
122
+ a0: o,
123
+ a1: s,
124
+ pad: V,
125
+ corner: ie,
126
+ fill: t(i),
127
+ hit: r.index,
128
+ also: a
129
+ }), se(r.node.name, o, s, u, d, i, r, a), r.target > 0) {
130
+ let e = E > 0 ? r.target / E : 0, n = r.parent?.target ?? 0, a = (u + d) / 2, c = (o + s) / 2;
131
+ K.push({
132
+ index: r.index,
133
+ name: r.node.name,
134
+ value: r.target,
135
+ percent: e,
136
+ share: m.percent(e),
137
+ color: t(i),
138
+ path: r.path,
139
+ x: P + a * Math.cos(c),
140
+ y: F + a * Math.sin(c),
141
+ rows: [
142
+ {
143
+ name: m.labels.value,
144
+ value: m.format(r.target)
145
+ },
146
+ {
147
+ name: m.labels.share,
148
+ value: m.percent(e)
149
+ },
150
+ ...r.parent && n > 0 ? [{
151
+ name: g(m.labels.ofName, { name: r.parent.node.name }),
152
+ value: m.percent(r.target / n)
153
+ }] : []
154
+ ],
155
+ ...r.children.length ? { drill: r.path } : {}
156
+ });
157
+ }
158
+ }
159
+ r.children.length && d < I - .5 && Q(r.children);
160
+ }
161
+ };
162
+ Q(T), W.push(...G);
163
+ let $ = L - 3;
164
+ if ($ >= 14) {
165
+ let r = i($ * .3, 12, 24);
166
+ if (A) {
167
+ let r = q.get(A) ?? b.primary, o = t(e(r, b.background, .84)), s = t(r), c = A.children.flatMap(J);
168
+ W.push({
169
+ kind: "circle",
170
+ cx: P,
171
+ cy: F,
172
+ r: $,
173
+ fill: o,
174
+ stroke: t(r, .5),
175
+ lineWidth: 1,
176
+ hit: A.index,
177
+ also: c
178
+ });
179
+ let l = n(b, i($ * .2, 11, 14), 600), u = a(A.node.name, $ * 1.6, l, C), d = m.format(A.target), f = $ >= 30, p = f ? F - 2 : F + 4, h = p - (f ? 18 : 12);
180
+ $ >= 24 && W.push({
181
+ kind: "line",
182
+ points: [
183
+ P - 5,
184
+ h + 3,
185
+ P,
186
+ h - 2,
187
+ P + 5,
188
+ h + 3
189
+ ],
190
+ color: t(b.textMuted),
191
+ width: 1.5,
192
+ hit: A.index,
193
+ also: c
194
+ }), u && W.push({
195
+ kind: "text",
196
+ x: P,
197
+ y: p,
198
+ text: u,
199
+ font: l,
200
+ color: t(b.text),
201
+ align: "center",
202
+ baseline: "middle",
203
+ hit: A.index,
204
+ also: c
205
+ }), f && W.push({
206
+ kind: "text",
207
+ x: P,
208
+ y: F + 16,
209
+ text: a(d, $ * 1.6, n(b, 12), C),
210
+ font: n(b, 12),
211
+ color: t(b.textMuted),
212
+ align: "center",
213
+ baseline: "middle",
214
+ hit: A.index,
215
+ also: c
216
+ });
217
+ let g = E > 0 ? A.target / E : 0;
218
+ K.push({
219
+ index: A.index,
220
+ name: A.node.name,
221
+ value: A.target,
222
+ percent: g,
223
+ share: m.percent(g),
224
+ color: s,
225
+ path: A.path,
226
+ x: P,
227
+ y: F,
228
+ rows: [{
229
+ name: m.labels.value,
230
+ value: m.format(A.target)
231
+ }, {
232
+ name: m.labels.share,
233
+ value: m.percent(g)
234
+ }],
235
+ drill: A.path.slice(0, -1)
236
+ });
237
+ } else if (E > 0) {
238
+ let e = n(b, r, 600), i = a(m.format(E), $ * 1.7, e, C);
239
+ i && W.push({
240
+ kind: "text",
241
+ x: P,
242
+ y: F,
243
+ text: i,
244
+ font: e,
245
+ color: t(b.text),
246
+ align: "center",
247
+ baseline: "middle"
248
+ });
249
+ }
250
+ }
251
+ return K.sort((e, t) => e.index - t.index), {
252
+ nodes: W,
253
+ items: K,
254
+ dim: .35,
255
+ empty: !1
256
+ };
257
+ };
258
+ //#endregion
259
+ export { w as layoutSunburst, b as resolveSunburstPath, C as sunburstValues };
260
+
261
+ //# sourceMappingURL=sunburst.js.map