minerva-design 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +3072 -611
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +595 -5
  7. package/dist/charts/canvas.d.cts +4 -3
  8. package/dist/charts/canvas.d.ts +4 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +6 -4
  11. package/dist/charts/core.d.ts +6 -4
  12. package/dist/charts/core.js +24 -16
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +42 -19
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.js +155 -127
  20. package/dist/charts/engine/canvas.js.map +1 -1
  21. package/dist/charts/engine/chart.cjs +1 -1
  22. package/dist/charts/engine/chart.cjs.map +1 -1
  23. package/dist/charts/engine/chart.js +370 -255
  24. package/dist/charts/engine/chart.js.map +1 -1
  25. package/dist/charts/engine/color.cjs +1 -1
  26. package/dist/charts/engine/color.cjs.map +1 -1
  27. package/dist/charts/engine/color.d.cts +18 -0
  28. package/dist/charts/engine/color.d.ts +18 -0
  29. package/dist/charts/engine/color.js +48 -2
  30. package/dist/charts/engine/color.js.map +1 -1
  31. package/dist/charts/engine/controller.cjs +2 -2
  32. package/dist/charts/engine/controller.cjs.map +1 -1
  33. package/dist/charts/engine/controller.d.cts +34 -1
  34. package/dist/charts/engine/controller.d.ts +34 -1
  35. package/dist/charts/engine/controller.js +318 -273
  36. package/dist/charts/engine/controller.js.map +1 -1
  37. package/dist/charts/engine/data.cjs +1 -1
  38. package/dist/charts/engine/data.cjs.map +1 -1
  39. package/dist/charts/engine/data.d.cts +3 -1
  40. package/dist/charts/engine/data.d.ts +3 -1
  41. package/dist/charts/engine/data.js +6 -4
  42. package/dist/charts/engine/data.js.map +1 -1
  43. package/dist/charts/engine/defaults.cjs +2 -0
  44. package/dist/charts/engine/defaults.cjs.map +1 -0
  45. package/dist/charts/engine/defaults.d.cts +20 -0
  46. package/dist/charts/engine/defaults.d.ts +20 -0
  47. package/dist/charts/engine/defaults.js +35 -0
  48. package/dist/charts/engine/defaults.js.map +1 -0
  49. package/dist/charts/engine/format.cjs +1 -1
  50. package/dist/charts/engine/format.cjs.map +1 -1
  51. package/dist/charts/engine/format.d.cts +6 -0
  52. package/dist/charts/engine/format.d.ts +6 -0
  53. package/dist/charts/engine/format.js +15 -2
  54. package/dist/charts/engine/format.js.map +1 -1
  55. package/dist/charts/engine/graph/chart.cjs +2 -0
  56. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  57. package/dist/charts/engine/graph/chart.d.cts +3 -0
  58. package/dist/charts/engine/graph/chart.d.ts +3 -0
  59. package/dist/charts/engine/graph/chart.js +1708 -0
  60. package/dist/charts/engine/graph/chart.js.map +1 -0
  61. package/dist/charts/engine/graph/circular.cjs +2 -0
  62. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  63. package/dist/charts/engine/graph/circular.d.cts +16 -0
  64. package/dist/charts/engine/graph/circular.d.ts +16 -0
  65. package/dist/charts/engine/graph/circular.js +62 -0
  66. package/dist/charts/engine/graph/circular.js.map +1 -0
  67. package/dist/charts/engine/graph/dag.cjs +2 -0
  68. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  69. package/dist/charts/engine/graph/dag.d.cts +34 -0
  70. package/dist/charts/engine/graph/dag.d.ts +34 -0
  71. package/dist/charts/engine/graph/dag.js +339 -0
  72. package/dist/charts/engine/graph/dag.js.map +1 -0
  73. package/dist/charts/engine/graph/dom.cjs +2 -0
  74. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  75. package/dist/charts/engine/graph/dom.d.cts +23 -0
  76. package/dist/charts/engine/graph/dom.d.ts +23 -0
  77. package/dist/charts/engine/graph/dom.js +158 -0
  78. package/dist/charts/engine/graph/dom.js.map +1 -0
  79. package/dist/charts/engine/graph/force.cjs +2 -0
  80. package/dist/charts/engine/graph/force.cjs.map +1 -0
  81. package/dist/charts/engine/graph/force.d.cts +76 -0
  82. package/dist/charts/engine/graph/force.d.ts +76 -0
  83. package/dist/charts/engine/graph/force.js +423 -0
  84. package/dist/charts/engine/graph/force.js.map +1 -0
  85. package/dist/charts/engine/graph/geometry.cjs +2 -0
  86. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  87. package/dist/charts/engine/graph/geometry.d.cts +50 -0
  88. package/dist/charts/engine/graph/geometry.d.ts +50 -0
  89. package/dist/charts/engine/graph/geometry.js +197 -0
  90. package/dist/charts/engine/graph/geometry.js.map +1 -0
  91. package/dist/charts/engine/graph/index.cjs +1 -0
  92. package/dist/charts/engine/graph/index.d.cts +6 -0
  93. package/dist/charts/engine/graph/index.d.ts +6 -0
  94. package/dist/charts/engine/graph/index.js +6 -0
  95. package/dist/charts/engine/graph/labels.cjs +2 -0
  96. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  97. package/dist/charts/engine/graph/labels.d.cts +12 -0
  98. package/dist/charts/engine/graph/labels.d.ts +12 -0
  99. package/dist/charts/engine/graph/labels.js +128 -0
  100. package/dist/charts/engine/graph/labels.js.map +1 -0
  101. package/dist/charts/engine/graph/model.cjs +2 -0
  102. package/dist/charts/engine/graph/model.cjs.map +1 -0
  103. package/dist/charts/engine/graph/model.d.cts +52 -0
  104. package/dist/charts/engine/graph/model.d.ts +52 -0
  105. package/dist/charts/engine/graph/model.js +108 -0
  106. package/dist/charts/engine/graph/model.js.map +1 -0
  107. package/dist/charts/engine/graph/sizing.cjs +2 -0
  108. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  109. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  110. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  111. package/dist/charts/engine/graph/sizing.js +60 -0
  112. package/dist/charts/engine/graph/sizing.js.map +1 -0
  113. package/dist/charts/engine/graph/tree.cjs +2 -0
  114. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  115. package/dist/charts/engine/graph/tree.d.cts +30 -0
  116. package/dist/charts/engine/graph/tree.d.ts +30 -0
  117. package/dist/charts/engine/graph/tree.js +218 -0
  118. package/dist/charts/engine/graph/tree.js.map +1 -0
  119. package/dist/charts/engine/graph/types.d.cts +640 -0
  120. package/dist/charts/engine/graph/types.d.ts +640 -0
  121. package/dist/charts/engine/graph/worker.cjs +52 -0
  122. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  123. package/dist/charts/engine/graph/worker.d.cts +36 -0
  124. package/dist/charts/engine/graph/worker.d.ts +36 -0
  125. package/dist/charts/engine/graph/worker.js +135 -0
  126. package/dist/charts/engine/graph/worker.js.map +1 -0
  127. package/dist/charts/engine/items.cjs +1 -1
  128. package/dist/charts/engine/items.cjs.map +1 -1
  129. package/dist/charts/engine/items.d.cts +15 -2
  130. package/dist/charts/engine/items.d.ts +15 -2
  131. package/dist/charts/engine/items.js +131 -112
  132. package/dist/charts/engine/items.js.map +1 -1
  133. package/dist/charts/engine/labels.cjs +1 -1
  134. package/dist/charts/engine/labels.cjs.map +1 -1
  135. package/dist/charts/engine/labels.d.cts +17 -0
  136. package/dist/charts/engine/labels.d.ts +17 -0
  137. package/dist/charts/engine/labels.js +28 -4
  138. package/dist/charts/engine/labels.js.map +1 -1
  139. package/dist/charts/engine/layout.cjs +1 -1
  140. package/dist/charts/engine/layout.cjs.map +1 -1
  141. package/dist/charts/engine/layout.d.cts +9 -0
  142. package/dist/charts/engine/layout.d.ts +9 -0
  143. package/dist/charts/engine/layout.js +11 -2
  144. package/dist/charts/engine/layout.js.map +1 -1
  145. package/dist/charts/engine/model.cjs +1 -1
  146. package/dist/charts/engine/model.cjs.map +1 -1
  147. package/dist/charts/engine/model.d.cts +73 -3
  148. package/dist/charts/engine/model.d.ts +73 -3
  149. package/dist/charts/engine/model.js +258 -154
  150. package/dist/charts/engine/model.js.map +1 -1
  151. package/dist/charts/engine/orderbook/field.cjs +37 -0
  152. package/dist/charts/engine/orderbook/field.cjs.map +1 -0
  153. package/dist/charts/engine/orderbook/field.d.cts +92 -0
  154. package/dist/charts/engine/orderbook/field.d.ts +92 -0
  155. package/dist/charts/engine/orderbook/field.js +297 -0
  156. package/dist/charts/engine/orderbook/field.js.map +1 -0
  157. package/dist/charts/engine/orderbook/format.cjs +1 -1
  158. package/dist/charts/engine/orderbook/format.cjs.map +1 -1
  159. package/dist/charts/engine/orderbook/format.d.cts +3 -2
  160. package/dist/charts/engine/orderbook/format.d.ts +3 -2
  161. package/dist/charts/engine/orderbook/format.js +5 -5
  162. package/dist/charts/engine/orderbook/format.js.map +1 -1
  163. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  164. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  165. package/dist/charts/engine/orderbook/heatmap.js +566 -475
  166. package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
  167. package/dist/charts/engine/orderbook/host.cjs +1 -1
  168. package/dist/charts/engine/orderbook/host.cjs.map +1 -1
  169. package/dist/charts/engine/orderbook/host.d.cts +8 -1
  170. package/dist/charts/engine/orderbook/host.d.ts +8 -1
  171. package/dist/charts/engine/orderbook/host.js +27 -5
  172. package/dist/charts/engine/orderbook/host.js.map +1 -1
  173. package/dist/charts/engine/orderbook/ladder.cjs +1 -1
  174. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
  175. package/dist/charts/engine/orderbook/ladder.js +1 -1
  176. package/dist/charts/engine/orderbook/ladder.js.map +1 -1
  177. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  178. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  179. package/dist/charts/engine/orderbook/layout.d.cts +42 -0
  180. package/dist/charts/engine/orderbook/layout.d.ts +42 -0
  181. package/dist/charts/engine/orderbook/layout.js +76 -0
  182. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  183. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  184. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  185. package/dist/charts/engine/orderbook/tape.js +4 -4
  186. package/dist/charts/engine/orderbook/tape.js.map +1 -1
  187. package/dist/charts/engine/orderbook/types.d.cts +27 -3
  188. package/dist/charts/engine/orderbook/types.d.ts +27 -3
  189. package/dist/charts/engine/overlay.cjs +1 -1
  190. package/dist/charts/engine/overlay.cjs.map +1 -1
  191. package/dist/charts/engine/overlay.d.cts +27 -0
  192. package/dist/charts/engine/overlay.d.ts +27 -0
  193. package/dist/charts/engine/overlay.js +34 -12
  194. package/dist/charts/engine/overlay.js.map +1 -1
  195. package/dist/charts/engine/presets.cjs +2 -2
  196. package/dist/charts/engine/presets.cjs.map +1 -1
  197. package/dist/charts/engine/presets.d.cts +35 -3
  198. package/dist/charts/engine/presets.d.ts +35 -3
  199. package/dist/charts/engine/presets.js +121 -101
  200. package/dist/charts/engine/presets.js.map +1 -1
  201. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  202. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  203. package/dist/charts/engine/renderers/canvas2d.js +13 -9
  204. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  205. package/dist/charts/engine/renderers/detect.cjs +1 -1
  206. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  207. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  208. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  209. package/dist/charts/engine/renderers/detect.js +23 -21
  210. package/dist/charts/engine/renderers/detect.js.map +1 -1
  211. package/dist/charts/engine/renderers/follow.cjs +2 -0
  212. package/dist/charts/engine/renderers/follow.cjs.map +1 -0
  213. package/dist/charts/engine/renderers/follow.d.cts +8 -0
  214. package/dist/charts/engine/renderers/follow.d.ts +8 -0
  215. package/dist/charts/engine/renderers/follow.js +10 -0
  216. package/dist/charts/engine/renderers/follow.js.map +1 -0
  217. package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
  218. package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
  219. package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
  220. package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
  221. package/dist/charts/engine/renderers/gl-budget.js +95 -0
  222. package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
  223. package/dist/charts/engine/renderers/gl.cjs +1 -1
  224. package/dist/charts/engine/renderers/gl.cjs.map +1 -1
  225. package/dist/charts/engine/renderers/gl.js +1 -1
  226. package/dist/charts/engine/renderers/gl.js.map +1 -1
  227. package/dist/charts/engine/renderers/shaders.cjs +9 -6
  228. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/shaders.d.cts +1 -1
  230. package/dist/charts/engine/renderers/shaders.d.ts +1 -1
  231. package/dist/charts/engine/renderers/shaders.js +9 -6
  232. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  233. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  234. package/dist/charts/engine/renderers/types.d.cts +2 -0
  235. package/dist/charts/engine/renderers/types.d.ts +2 -0
  236. package/dist/charts/engine/renderers/types.js.map +1 -1
  237. package/dist/charts/engine/renderers/webgl.cjs +1 -1
  238. package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
  239. package/dist/charts/engine/renderers/webgl.js +85 -64
  240. package/dist/charts/engine/renderers/webgl.js.map +1 -1
  241. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  242. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  243. package/dist/charts/engine/renderers/webgl2.js +72 -58
  244. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  246. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  247. package/dist/charts/engine/renderers/webgpu.js +1 -1
  248. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  249. package/dist/charts/engine/scene.cjs +1 -1
  250. package/dist/charts/engine/scene.cjs.map +1 -1
  251. package/dist/charts/engine/scene.d.cts +104 -4
  252. package/dist/charts/engine/scene.d.ts +104 -4
  253. package/dist/charts/engine/scene.js +412 -193
  254. package/dist/charts/engine/scene.js.map +1 -1
  255. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  256. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  257. package/dist/charts/engine/shapes/bullet.js +110 -110
  258. package/dist/charts/engine/shapes/bullet.js.map +1 -1
  259. package/dist/charts/engine/shapes/chart.cjs +1 -1
  260. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  261. package/dist/charts/engine/shapes/chart.js +4 -1
  262. package/dist/charts/engine/shapes/chart.js.map +1 -1
  263. package/dist/charts/engine/shapes/chord.cjs +2 -0
  264. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  266. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  267. package/dist/charts/engine/shapes/chord.js +419 -0
  268. package/dist/charts/engine/shapes/chord.js.map +1 -0
  269. package/dist/charts/engine/shapes/draw.cjs +1 -1
  270. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  271. package/dist/charts/engine/shapes/draw.d.cts +5 -1
  272. package/dist/charts/engine/shapes/draw.d.ts +5 -1
  273. package/dist/charts/engine/shapes/draw.js +47 -17
  274. package/dist/charts/engine/shapes/draw.js.map +1 -1
  275. package/dist/charts/engine/shapes/hit.cjs +1 -1
  276. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  278. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  279. package/dist/charts/engine/shapes/hit.js +75 -46
  280. package/dist/charts/engine/shapes/hit.js.map +1 -1
  281. package/dist/charts/engine/shapes/index.d.cts +3 -2
  282. package/dist/charts/engine/shapes/index.d.ts +3 -2
  283. package/dist/charts/engine/shapes/labels.cjs +1 -1
  284. package/dist/charts/engine/shapes/labels.cjs.map +1 -1
  285. package/dist/charts/engine/shapes/labels.js +12 -4
  286. package/dist/charts/engine/shapes/labels.js.map +1 -1
  287. package/dist/charts/engine/shapes/layout.cjs +2 -2
  288. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  289. package/dist/charts/engine/shapes/layout.d.cts +3 -1
  290. package/dist/charts/engine/shapes/layout.d.ts +3 -1
  291. package/dist/charts/engine/shapes/layout.js +106 -78
  292. package/dist/charts/engine/shapes/layout.js.map +1 -1
  293. package/dist/charts/engine/shapes/scene.cjs +1 -1
  294. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  295. package/dist/charts/engine/shapes/scene.d.cts +33 -3
  296. package/dist/charts/engine/shapes/scene.d.ts +33 -3
  297. package/dist/charts/engine/shapes/scene.js +62 -19
  298. package/dist/charts/engine/shapes/scene.js.map +1 -1
  299. package/dist/charts/engine/shapes/types.d.cts +121 -8
  300. package/dist/charts/engine/shapes/types.d.ts +121 -8
  301. package/dist/charts/engine/signature.cjs +1 -1
  302. package/dist/charts/engine/signature.cjs.map +1 -1
  303. package/dist/charts/engine/signature.js +1 -1
  304. package/dist/charts/engine/signature.js.map +1 -1
  305. package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
  306. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
  307. package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
  308. package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
  309. package/dist/charts/engine/three-d/canvas2d.js +166 -67
  310. package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
  311. package/dist/charts/engine/three-d/chart.cjs +1 -1
  312. package/dist/charts/engine/three-d/chart.cjs.map +1 -1
  313. package/dist/charts/engine/three-d/chart.js +219 -215
  314. package/dist/charts/engine/three-d/chart.js.map +1 -1
  315. package/dist/charts/engine/three-d/detect.cjs +1 -1
  316. package/dist/charts/engine/three-d/detect.cjs.map +1 -1
  317. package/dist/charts/engine/three-d/detect.d.cts +3 -2
  318. package/dist/charts/engine/three-d/detect.d.ts +3 -2
  319. package/dist/charts/engine/three-d/detect.js +22 -20
  320. package/dist/charts/engine/three-d/detect.js.map +1 -1
  321. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  322. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  323. package/dist/charts/engine/three-d/geometry.d.cts +6 -0
  324. package/dist/charts/engine/three-d/geometry.d.ts +6 -0
  325. package/dist/charts/engine/three-d/geometry.js +106 -90
  326. package/dist/charts/engine/three-d/geometry.js.map +1 -1
  327. package/dist/charts/engine/three-d/model.cjs +1 -1
  328. package/dist/charts/engine/three-d/model.cjs.map +1 -1
  329. package/dist/charts/engine/three-d/model.d.cts +2 -0
  330. package/dist/charts/engine/three-d/model.d.ts +2 -0
  331. package/dist/charts/engine/three-d/model.js +2 -0
  332. package/dist/charts/engine/three-d/model.js.map +1 -1
  333. package/dist/charts/engine/three-d/oit.cjs +109 -0
  334. package/dist/charts/engine/three-d/oit.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/oit.d.cts +34 -0
  336. package/dist/charts/engine/three-d/oit.d.ts +34 -0
  337. package/dist/charts/engine/three-d/oit.js +111 -0
  338. package/dist/charts/engine/three-d/oit.js.map +1 -0
  339. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  340. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  341. package/dist/charts/engine/three-d/overlay.js +43 -36
  342. package/dist/charts/engine/three-d/overlay.js.map +1 -1
  343. package/dist/charts/engine/three-d/render-types.cjs +1 -1
  344. package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
  345. package/dist/charts/engine/three-d/render-types.d.cts +37 -3
  346. package/dist/charts/engine/three-d/render-types.d.ts +37 -3
  347. package/dist/charts/engine/three-d/render-types.js +6 -10
  348. package/dist/charts/engine/three-d/render-types.js.map +1 -1
  349. package/dist/charts/engine/three-d/shaders.cjs +109 -48
  350. package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
  351. package/dist/charts/engine/three-d/shaders.d.cts +12 -5
  352. package/dist/charts/engine/three-d/shaders.d.ts +12 -5
  353. package/dist/charts/engine/three-d/shaders.js +118 -55
  354. package/dist/charts/engine/three-d/shaders.js.map +1 -1
  355. package/dist/charts/engine/three-d/sort.cjs +1 -1
  356. package/dist/charts/engine/three-d/sort.cjs.map +1 -1
  357. package/dist/charts/engine/three-d/sort.d.cts +18 -5
  358. package/dist/charts/engine/three-d/sort.d.ts +18 -5
  359. package/dist/charts/engine/three-d/sort.js +129 -43
  360. package/dist/charts/engine/three-d/sort.js.map +1 -1
  361. package/dist/charts/engine/three-d/types.d.cts +36 -0
  362. package/dist/charts/engine/three-d/types.d.ts +36 -0
  363. package/dist/charts/engine/three-d/webgl.cjs +1 -1
  364. package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
  365. package/dist/charts/engine/three-d/webgl.d.cts +9 -0
  366. package/dist/charts/engine/three-d/webgl.d.ts +9 -0
  367. package/dist/charts/engine/three-d/webgl.js +199 -74
  368. package/dist/charts/engine/three-d/webgl.js.map +1 -1
  369. package/dist/charts/engine/three-d/webgpu.cjs +1 -1
  370. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
  371. package/dist/charts/engine/three-d/webgpu.js +231 -94
  372. package/dist/charts/engine/three-d/webgpu.js.map +1 -1
  373. package/dist/charts/engine/trading/chart.cjs +1 -1
  374. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  375. package/dist/charts/engine/trading/chart.d.cts +10 -1
  376. package/dist/charts/engine/trading/chart.d.ts +10 -1
  377. package/dist/charts/engine/trading/chart.js +1677 -813
  378. package/dist/charts/engine/trading/chart.js.map +1 -1
  379. package/dist/charts/engine/trading/drawings.cjs +2 -1
  380. package/dist/charts/engine/trading/drawings.cjs.map +1 -1
  381. package/dist/charts/engine/trading/drawings.d.cts +53 -9
  382. package/dist/charts/engine/trading/drawings.d.ts +53 -9
  383. package/dist/charts/engine/trading/drawings.js +346 -71
  384. package/dist/charts/engine/trading/drawings.js.map +1 -1
  385. package/dist/charts/engine/trading/format.cjs +1 -1
  386. package/dist/charts/engine/trading/format.cjs.map +1 -1
  387. package/dist/charts/engine/trading/format.d.cts +19 -0
  388. package/dist/charts/engine/trading/format.d.ts +19 -0
  389. package/dist/charts/engine/trading/format.js +65 -21
  390. package/dist/charts/engine/trading/format.js.map +1 -1
  391. package/dist/charts/engine/trading/geometry.cjs +1 -1
  392. package/dist/charts/engine/trading/geometry.cjs.map +1 -1
  393. package/dist/charts/engine/trading/geometry.d.cts +16 -0
  394. package/dist/charts/engine/trading/geometry.d.ts +16 -0
  395. package/dist/charts/engine/trading/geometry.js +19 -4
  396. package/dist/charts/engine/trading/geometry.js.map +1 -1
  397. package/dist/charts/engine/trading/index.cjs +1 -1
  398. package/dist/charts/engine/trading/index.d.cts +2 -1
  399. package/dist/charts/engine/trading/index.d.ts +2 -1
  400. package/dist/charts/engine/trading/index.js +4 -3
  401. package/dist/charts/engine/trading/indicators.cjs +1 -1
  402. package/dist/charts/engine/trading/indicators.cjs.map +1 -1
  403. package/dist/charts/engine/trading/indicators.d.cts +180 -10
  404. package/dist/charts/engine/trading/indicators.d.ts +180 -10
  405. package/dist/charts/engine/trading/indicators.js +449 -173
  406. package/dist/charts/engine/trading/indicators.js.map +1 -1
  407. package/dist/charts/engine/trading/labels.cjs +1 -1
  408. package/dist/charts/engine/trading/labels.cjs.map +1 -1
  409. package/dist/charts/engine/trading/labels.js +104 -4
  410. package/dist/charts/engine/trading/labels.js.map +1 -1
  411. package/dist/charts/engine/trading/store.cjs +1 -1
  412. package/dist/charts/engine/trading/store.cjs.map +1 -1
  413. package/dist/charts/engine/trading/store.d.cts +21 -0
  414. package/dist/charts/engine/trading/store.d.ts +21 -0
  415. package/dist/charts/engine/trading/store.js +22 -1
  416. package/dist/charts/engine/trading/store.js.map +1 -1
  417. package/dist/charts/engine/trading/studies.cjs +1 -1
  418. package/dist/charts/engine/trading/studies.cjs.map +1 -1
  419. package/dist/charts/engine/trading/studies.d.cts +49 -8
  420. package/dist/charts/engine/trading/studies.d.ts +49 -8
  421. package/dist/charts/engine/trading/studies.js +352 -93
  422. package/dist/charts/engine/trading/studies.js.map +1 -1
  423. package/dist/charts/engine/trading/sync.cjs +2 -0
  424. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  425. package/dist/charts/engine/trading/sync.d.cts +8 -0
  426. package/dist/charts/engine/trading/sync.d.ts +8 -0
  427. package/dist/charts/engine/trading/sync.js +25 -0
  428. package/dist/charts/engine/trading/sync.js.map +1 -0
  429. package/dist/charts/engine/trading/types.d.cts +514 -16
  430. package/dist/charts/engine/trading/types.d.ts +514 -16
  431. package/dist/charts/engine/types.d.cts +106 -11
  432. package/dist/charts/engine/types.d.ts +106 -11
  433. package/dist/charts/index.cjs +1 -1
  434. package/dist/charts/index.d.cts +3 -2
  435. package/dist/charts/index.d.ts +3 -2
  436. package/dist/charts/index.js +30 -22
  437. package/dist/charts/react/charts.cjs +1 -1
  438. package/dist/charts/react/charts.cjs.map +1 -1
  439. package/dist/charts/react/charts.js +51 -34
  440. package/dist/charts/react/charts.js.map +1 -1
  441. package/dist/charts/react/graph.cjs +2 -0
  442. package/dist/charts/react/graph.cjs.map +1 -0
  443. package/dist/charts/react/graph.d.cts +219 -0
  444. package/dist/charts/react/graph.d.ts +219 -0
  445. package/dist/charts/react/graph.js +160 -0
  446. package/dist/charts/react/graph.js.map +1 -0
  447. package/dist/charts/react/orderbook.cjs +1 -1
  448. package/dist/charts/react/orderbook.cjs.map +1 -1
  449. package/dist/charts/react/orderbook.d.cts +3 -1
  450. package/dist/charts/react/orderbook.d.ts +3 -1
  451. package/dist/charts/react/orderbook.js +1 -0
  452. package/dist/charts/react/orderbook.js.map +1 -1
  453. package/dist/charts/react/shapes.cjs +1 -1
  454. package/dist/charts/react/shapes.cjs.map +1 -1
  455. package/dist/charts/react/shapes.d.cts +88 -4
  456. package/dist/charts/react/shapes.d.ts +88 -4
  457. package/dist/charts/react/shapes.js +55 -12
  458. package/dist/charts/react/shapes.js.map +1 -1
  459. package/dist/charts/react/three-d.cjs +1 -1
  460. package/dist/charts/react/three-d.cjs.map +1 -1
  461. package/dist/charts/react/three-d.d.cts +7 -0
  462. package/dist/charts/react/three-d.d.ts +7 -0
  463. package/dist/charts/react/three-d.js +14 -13
  464. package/dist/charts/react/three-d.js.map +1 -1
  465. package/dist/charts/react/trading.cjs +1 -1
  466. package/dist/charts/react/trading.cjs.map +1 -1
  467. package/dist/charts/react/trading.d.cts +54 -2
  468. package/dist/charts/react/trading.d.ts +54 -2
  469. package/dist/charts/react/trading.js +68 -37
  470. package/dist/charts/react/trading.js.map +1 -1
  471. package/dist/charts/react/types.d.cts +11 -0
  472. package/dist/charts/react/types.d.ts +11 -0
  473. package/dist/core/contracts.cjs +1 -1
  474. package/dist/core/contracts.cjs.map +1 -1
  475. package/dist/core/contracts.js +1 -1
  476. package/dist/core/contracts.js.map +1 -1
  477. package/dist/native/charts/src/canvas.cjs +1 -1
  478. package/dist/native/charts/src/canvas.js +5 -4
  479. package/dist/native/charts/src/engine/axis.cjs +1 -1
  480. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  481. package/dist/native/charts/src/engine/axis.js +42 -19
  482. package/dist/native/charts/src/engine/axis.js.map +1 -1
  483. package/dist/native/charts/src/engine/color.cjs +1 -1
  484. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  485. package/dist/native/charts/src/engine/color.js +47 -5
  486. package/dist/native/charts/src/engine/color.js.map +1 -1
  487. package/dist/native/charts/src/engine/controller.cjs +2 -2
  488. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  489. package/dist/native/charts/src/engine/controller.js +296 -251
  490. package/dist/native/charts/src/engine/controller.js.map +1 -1
  491. package/dist/native/charts/src/engine/data.cjs +1 -1
  492. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  493. package/dist/native/charts/src/engine/data.js +6 -4
  494. package/dist/native/charts/src/engine/data.js.map +1 -1
  495. package/dist/native/charts/src/engine/format.cjs +1 -1
  496. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  497. package/dist/native/charts/src/engine/format.js +15 -2
  498. package/dist/native/charts/src/engine/format.js.map +1 -1
  499. package/dist/native/charts/src/engine/labels.cjs +1 -1
  500. package/dist/native/charts/src/engine/labels.cjs.map +1 -1
  501. package/dist/native/charts/src/engine/labels.js +42 -5
  502. package/dist/native/charts/src/engine/labels.js.map +1 -1
  503. package/dist/native/charts/src/engine/layout.cjs +1 -1
  504. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  505. package/dist/native/charts/src/engine/layout.js +11 -2
  506. package/dist/native/charts/src/engine/layout.js.map +1 -1
  507. package/dist/native/charts/src/engine/model.cjs +1 -1
  508. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  509. package/dist/native/charts/src/engine/model.js +278 -174
  510. package/dist/native/charts/src/engine/model.js.map +1 -1
  511. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  512. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  513. package/dist/native/charts/src/engine/presets.cjs +2 -2
  514. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  515. package/dist/native/charts/src/engine/presets.js +110 -90
  516. package/dist/native/charts/src/engine/presets.js.map +1 -1
  517. package/dist/native/charts/src/engine/scene.cjs +1 -1
  518. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  519. package/dist/native/charts/src/engine/scene.js +421 -202
  520. package/dist/native/charts/src/engine/scene.js.map +1 -1
  521. package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
  522. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
  523. package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
  524. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
  525. package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
  526. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
  527. package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
  528. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
  529. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  530. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  531. package/dist/native/charts/src/engine/shapes/chord.js +419 -0
  532. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  533. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  534. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  535. package/dist/native/charts/src/engine/shapes/draw.js +47 -17
  536. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  537. package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
  538. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
  539. package/dist/native/charts/src/engine/shapes/hit.js +73 -44
  540. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
  541. package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
  542. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
  543. package/dist/native/charts/src/engine/shapes/labels.js +12 -4
  544. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
  545. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  546. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  547. package/dist/native/charts/src/engine/shapes/layout.js +136 -94
  548. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  549. package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
  550. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
  551. package/dist/native/charts/src/engine/shapes/scene.js +62 -19
  552. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
  553. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  554. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  555. package/dist/native/components/Chart/ChartBase.js +127 -115
  556. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  557. package/dist/native/components/Chart/charts.cjs +1 -1
  558. package/dist/native/components/Chart/charts.cjs.map +1 -1
  559. package/dist/native/components/Chart/charts.js +8 -5
  560. package/dist/native/components/Chart/charts.js.map +1 -1
  561. package/dist/native/components/Chart/scene.cjs +1 -1
  562. package/dist/native/components/Chart/scene.cjs.map +1 -1
  563. package/dist/native/components/Chart/scene.d.cts +6 -1
  564. package/dist/native/components/Chart/scene.d.ts +6 -1
  565. package/dist/native/components/Chart/scene.js +226 -108
  566. package/dist/native/components/Chart/scene.js.map +1 -1
  567. package/dist/native/components/Chart/types.d.cts +7 -1
  568. package/dist/native/components/Chart/types.d.ts +7 -1
  569. package/dist/native/components/Charts/charts.cjs +1 -1
  570. package/dist/native/components/Charts/charts.cjs.map +1 -1
  571. package/dist/native/components/Charts/charts.js +60 -43
  572. package/dist/native/components/Charts/charts.js.map +1 -1
  573. package/dist/native/components/Charts/types.d.cts +11 -0
  574. package/dist/native/components/Charts/types.d.ts +11 -0
  575. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
  576. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
  577. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
  578. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
  579. package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
  580. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
  581. package/dist/native/components/ShapeChart/charts.cjs +1 -1
  582. package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
  583. package/dist/native/components/ShapeChart/charts.d.cts +6 -1
  584. package/dist/native/components/ShapeChart/charts.d.ts +6 -1
  585. package/dist/native/components/ShapeChart/charts.js +138 -96
  586. package/dist/native/components/ShapeChart/charts.js.map +1 -1
  587. package/dist/native/components/ShapeChart/draw.cjs +1 -1
  588. package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
  589. package/dist/native/components/ShapeChart/draw.d.cts +1 -1
  590. package/dist/native/components/ShapeChart/draw.d.ts +1 -1
  591. package/dist/native/components/ShapeChart/draw.js +26 -17
  592. package/dist/native/components/ShapeChart/draw.js.map +1 -1
  593. package/dist/native/components/ShapeChart/geometry.cjs +1 -1
  594. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
  595. package/dist/native/components/ShapeChart/geometry.js +233 -70
  596. package/dist/native/components/ShapeChart/geometry.js.map +1 -1
  597. package/dist/native/components/ShapeChart/index.cjs +1 -1
  598. package/dist/native/components/ShapeChart/index.d.cts +1 -1
  599. package/dist/native/components/ShapeChart/index.d.ts +1 -1
  600. package/dist/native/components/ShapeChart/index.js +2 -2
  601. package/dist/native/components/ShapeChart/recorder.cjs +1 -1
  602. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
  603. package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
  604. package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
  605. package/dist/native/components/ShapeChart/recorder.js +19 -10
  606. package/dist/native/components/ShapeChart/recorder.js.map +1 -1
  607. package/dist/native/components/ShapeChart/types.d.cts +95 -8
  608. package/dist/native/components/ShapeChart/types.d.ts +95 -8
  609. package/dist/native/index.cjs +1 -1
  610. package/dist/native/index.js +2 -2
  611. package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
  612. package/dist/native/source/components/Chart/charts.tsx +10 -3
  613. package/dist/native/source/components/Chart/scene.tsx +243 -14
  614. package/dist/native/source/components/Chart/types.ts +7 -0
  615. package/dist/native/source/components/Charts/charts.tsx +37 -2
  616. package/dist/native/source/components/Charts/types.ts +11 -0
  617. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
  618. package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
  619. package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
  620. package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
  621. package/dist/native/source/components/ShapeChart/index.ts +1 -0
  622. package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
  623. package/dist/native/source/components/ShapeChart/types.ts +99 -6
  624. package/dist/native/source/manifest.ts +1 -0
  625. package/dist/taro/chart-a11y.d.ts +7 -0
  626. package/dist/taro/charts.d.ts +29 -6
  627. package/dist/taro/index.js +3129 -1902
  628. package/dist/taro/shape-charts.d.ts +99 -5
  629. package/dist/uni/AreaChart.vue +2 -1
  630. package/dist/uni/AreaChart.vue.d.ts +5 -1
  631. package/dist/uni/Badge.vue.d.ts +1 -1
  632. package/dist/uni/BarChart.vue +2 -1
  633. package/dist/uni/BarChart.vue.d.ts +5 -1
  634. package/dist/uni/BoxPlotChart.vue +2 -1
  635. package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
  636. package/dist/uni/BubbleChart.vue +2 -1
  637. package/dist/uni/BubbleChart.vue.d.ts +4 -0
  638. package/dist/uni/BulletChart.vue.d.ts +4 -0
  639. package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
  640. package/dist/uni/CandlestickChart.vue +2 -1
  641. package/dist/uni/CandlestickChart.vue.d.ts +4 -0
  642. package/dist/uni/Chart.vue +2 -1
  643. package/dist/uni/Chart.vue.d.ts +4 -0
  644. package/dist/uni/ChordChart.vue +93 -0
  645. package/dist/uni/ChordChart.vue.d.ts +136 -0
  646. package/dist/uni/Divider.vue.d.ts +1 -1
  647. package/dist/uni/DonutChart.vue.d.ts +5 -1
  648. package/dist/uni/FunnelChart.vue.d.ts +4 -0
  649. package/dist/uni/GanttChart.vue +2 -1
  650. package/dist/uni/GanttChart.vue.d.ts +15 -0
  651. package/dist/uni/GaugeChart.vue.d.ts +5 -1
  652. package/dist/uni/HeatmapChart.vue +2 -1
  653. package/dist/uni/HeatmapChart.vue.d.ts +8 -2
  654. package/dist/uni/HistogramChart.vue +2 -1
  655. package/dist/uni/HistogramChart.vue.d.ts +4 -0
  656. package/dist/uni/HorizontalBarChart.vue +2 -1
  657. package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
  658. package/dist/uni/LineChart.vue +2 -1
  659. package/dist/uni/LineChart.vue.d.ts +4 -0
  660. package/dist/uni/MixedChart.vue +2 -1
  661. package/dist/uni/MixedChart.vue.d.ts +4 -0
  662. package/dist/uni/PieChart.vue.d.ts +5 -1
  663. package/dist/uni/QuadrantChart.vue +2 -1
  664. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  665. package/dist/uni/RadarChart.vue.d.ts +4 -0
  666. package/dist/uni/RadialBarChart.vue.d.ts +4 -0
  667. package/dist/uni/RangeAreaChart.vue +2 -1
  668. package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
  669. package/dist/uni/SankeyChart.vue.d.ts +4 -0
  670. package/dist/uni/ScatterChart.vue +2 -1
  671. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  672. package/dist/uni/Sparkline.vue +2 -1
  673. package/dist/uni/Sparkline.vue.d.ts +4 -0
  674. package/dist/uni/SunburstChart.vue.d.ts +4 -0
  675. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  676. package/dist/uni/TreemapChart.vue.d.ts +4 -0
  677. package/dist/uni/WaterfallChart.vue +2 -1
  678. package/dist/uni/WaterfallChart.vue.d.ts +9 -0
  679. package/dist/uni/chart-a11y.d.ts +7 -0
  680. package/dist/uni/chart-a11y.js +29 -0
  681. package/dist/uni/chart-canvas.d.ts +12 -0
  682. package/dist/uni/chart-canvas.js +15 -1
  683. package/dist/uni/chart-types.d.ts +36 -5
  684. package/dist/uni/chart-types.js +31 -3
  685. package/dist/uni/charts-canvas.js +3 -2
  686. package/dist/uni/index.d.ts +2 -1
  687. package/dist/uni/index.js +1 -0
  688. package/dist/uni/manifest.d.ts +7 -0
  689. package/dist/uni/manifest.js +10 -0
  690. package/dist/uni/named-chart-options.d.ts +11 -2
  691. package/dist/uni/named-chart-options.js +21 -1
  692. package/dist/uni/shape-chart-canvas.d.ts +3 -3
  693. package/dist/uni/shape-chart-canvas.js +17 -58
  694. package/dist/uni/shape-chart-types.d.ts +53 -3
  695. package/dist/uni/shape-chart-types.js +45 -1
  696. package/dist/vue/charts-global.d.ts +48 -0
  697. package/dist/vue/charts.d.ts +18 -0
  698. package/dist/vue/charts.js +56 -0
  699. package/dist/vue/charts.js.map +1 -0
  700. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +2 -0
  701. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
  702. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
  703. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
  704. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  705. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  706. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  707. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  708. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  709. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  710. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +181 -0
  711. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  712. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  713. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  714. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  715. package/dist/vue/components/Chart/GanttChart.vue.d.ts +19 -0
  716. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
  717. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
  718. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  719. package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -0
  720. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  721. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  722. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  723. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  724. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
  725. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
  726. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
  727. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  728. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
  729. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
  730. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
  731. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
  732. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
  733. package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
  734. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
  735. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
  736. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  737. package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -0
  738. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  739. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  740. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  741. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  742. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
  743. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
  744. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
  745. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  746. package/dist/vue/components/Chart/graph.d.ts +156 -0
  747. package/dist/vue/components/Chart/graph.js +137 -0
  748. package/dist/vue/components/Chart/graph.js.map +1 -0
  749. package/dist/vue/components/Chart/index.d.ts +5 -1
  750. package/dist/vue/components/Chart/index.js +5 -1
  751. package/dist/vue/components/Chart/orderbook.d.ts +5 -1
  752. package/dist/vue/components/Chart/orderbook.js +2 -0
  753. package/dist/vue/components/Chart/orderbook.js.map +1 -1
  754. package/dist/vue/components/Chart/three-d.d.ts +3 -0
  755. package/dist/vue/components/Chart/three-d.js +2 -0
  756. package/dist/vue/components/Chart/three-d.js.map +1 -1
  757. package/dist/vue/components/Chart/trading.d.ts +30 -3
  758. package/dist/vue/components/Chart/trading.js +9 -0
  759. package/dist/vue/components/Chart/trading.js.map +1 -1
  760. package/dist/vue/components/Chart/types.d.ts +74 -2
  761. package/dist/vue/global.d.ts +2 -38
  762. package/dist/vue/groups/charts.js +10 -2
  763. package/dist/vue/groups/charts.js.map +1 -1
  764. package/dist/vue/index.js +6 -2
  765. package/dist/vue/internal/register.d.ts +7 -0
  766. package/dist/vue/internal/register.js +14 -0
  767. package/dist/vue/internal/register.js.map +1 -0
  768. package/dist/vue/plugin.d.ts +9 -4
  769. package/dist/vue/plugin.js +6 -11
  770. package/dist/vue/plugin.js.map +1 -1
  771. package/dist/weapp/area-chart/index.wxml +1 -1
  772. package/dist/weapp/bar-chart/index.wxml +1 -1
  773. package/dist/weapp/box-plot-chart/index.wxml +1 -1
  774. package/dist/weapp/bubble-chart/index.wxml +1 -1
  775. package/dist/weapp/candlestick-chart/index.wxml +1 -1
  776. package/dist/weapp/chart/index.wxml +1 -1
  777. package/dist/weapp/charts/canvas.js +1987 -175
  778. package/dist/weapp/charts/core.js +3 -0
  779. package/dist/weapp/chord-chart/index.js +1 -0
  780. package/dist/weapp/chord-chart/index.json +1 -0
  781. package/dist/weapp/chord-chart/index.wxml +1 -0
  782. package/dist/weapp/chord-chart/index.wxss +1 -0
  783. package/dist/weapp/controls.js +148 -57
  784. package/dist/weapp/gantt-chart/index.wxml +1 -1
  785. package/dist/weapp/heatmap-chart/index.wxml +1 -1
  786. package/dist/weapp/histogram-chart/index.wxml +1 -1
  787. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
  788. package/dist/weapp/line-chart/index.wxml +1 -1
  789. package/dist/weapp/mixed-chart/index.wxml +1 -1
  790. package/dist/weapp/quadrant-chart/index.wxml +1 -1
  791. package/dist/weapp/range-area-chart/index.wxml +1 -1
  792. package/dist/weapp/scatter-chart/index.wxml +1 -1
  793. package/dist/weapp/sparkline/index.wxml +1 -1
  794. package/dist/weapp/types.d.ts +96 -4
  795. package/dist/weapp/waterfall-chart/index.wxml +1 -1
  796. package/dist/web-components/components/chart/charts.d.ts +4 -2
  797. package/dist/web-components/components/chart/charts.js +8 -1
  798. package/dist/web-components/components/chart/charts.js.map +1 -1
  799. package/dist/web-components/components/chart/extended.d.ts +21 -7
  800. package/dist/web-components/components/chart/extended.js +29 -9
  801. package/dist/web-components/components/chart/extended.js.map +1 -1
  802. package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
  803. package/dist/web-components/components/chart/shapes-extended.js +27 -1
  804. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  805. package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
  806. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
  807. package/dist/web-components/components/graph/graph.d.ts +156 -0
  808. package/dist/web-components/components/graph/graph.js +150 -0
  809. package/dist/web-components/components/graph/graph.js.map +1 -0
  810. package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
  811. package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
  812. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
  813. package/dist/web-components/elements/chart.d.ts +1 -1
  814. package/dist/web-components/elements/chart.js +6 -5
  815. package/dist/web-components/elements/chart.js.map +1 -1
  816. package/dist/web-components/elements/graph.d.ts +2 -0
  817. package/dist/web-components/elements/graph.js +12 -0
  818. package/dist/web-components/elements/graph.js.map +1 -0
  819. package/dist/web-components/html-custom-data.json +318 -4
  820. package/dist/web-components/types/react.d.ts +63 -4
  821. package/dist/web-components/types/solid.d.ts +55 -8
  822. package/dist/web-components/types/svelte.d.ts +55 -8
  823. package/dist/web-components/types/vue.d.ts +55 -4
  824. package/package.json +16 -1
@@ -1,35 +1,41 @@
1
- import { ShapeChartBase as e } from "./ShapeChartBase.js";
2
- import { useMemo as t } from "react";
3
- import { jsx as n } from "react/jsx-runtime";
1
+ import { calendarStrips as e } from "../../charts/src/engine/shapes/calendar.js";
2
+ import "../../charts/src/canvas.js";
3
+ import { ShapeChartBase as t } from "./ShapeChartBase.js";
4
+ import { useMemo as n } from "react";
5
+ import { jsx as r } from "react/jsx-runtime";
4
6
  //#region src/components/ShapeChart/charts.tsx
5
- function r({ palette: e, legend: n, tooltip: r, format: i, percentFormat: a, hidden: o, animation: s, padding: c, ariaLabel: l }) {
6
- let u = o ? o.join(",") : null, d = t(() => u === null ? void 0 : u ? u.split(",").map(Number) : [], [u]);
7
- return t(() => ({
7
+ function i({ palette: e, legend: t, tooltip: r, format: i, percentFormat: a, hidden: o, animation: s, padding: c, ariaLabel: l, locale: u, texts: d }) {
8
+ let f = o ? o.join(",") : null, p = n(() => f === null ? void 0 : f ? f.split(",").map(Number) : [], [f]);
9
+ return n(() => ({
8
10
  palette: e,
9
- legend: n,
11
+ legend: t,
10
12
  tooltip: r,
11
13
  format: i,
12
14
  percentFormat: a,
13
- hidden: d,
15
+ hidden: p,
14
16
  animation: s,
15
17
  padding: c,
16
- ariaLabel: l
18
+ ariaLabel: l,
19
+ locale: u,
20
+ texts: d
17
21
  }), [
18
22
  e,
19
- n,
23
+ t,
20
24
  r,
21
25
  i,
22
26
  a,
23
- d,
27
+ p,
24
28
  s,
25
29
  c,
26
- l
30
+ l,
31
+ u,
32
+ d
27
33
  ]);
28
34
  }
29
- function i({ frame: t, options: r, defaultHeight: i, onDrill: a }) {
30
- let { height: o, width: s, style: c, testID: l, ref: u, onHover: d, onClick: f, onToggle: p, renderTooltip: m } = t;
31
- return /* @__PURE__ */ n(e, {
32
- options: r,
35
+ function a({ frame: e, options: n, defaultHeight: i, onDrill: a }) {
36
+ let { height: o, width: s, style: c, testID: l, ref: u, onHover: d, onClick: f, onToggle: p, renderTooltip: m } = e;
37
+ return /* @__PURE__ */ r(t, {
38
+ options: n,
33
39
  height: o ?? i,
34
40
  width: s,
35
41
  style: c,
@@ -42,11 +48,11 @@ function i({ frame: t, options: r, defaultHeight: i, onDrill: a }) {
42
48
  renderTooltip: m
43
49
  });
44
50
  }
45
- function a(e) {
46
- let { data: a, innerRadius: o, startAngle: s, padAngle: c, cornerRadius: l, rose: u, labels: d, labelContent: f, centerValue: p, centerLabel: m, defaultInner: h } = e, g = r(e), _ = t(() => ({
51
+ function o(e) {
52
+ let { data: t, innerRadius: o, startAngle: s, padAngle: c, cornerRadius: l, rose: u, labels: d, labelContent: f, centerValue: p, centerLabel: m, defaultInner: h } = e, g = i(e), _ = n(() => ({
47
53
  ...g,
48
54
  type: "pie",
49
- data: a,
55
+ data: t,
50
56
  innerRadius: o ?? h,
51
57
  startAngle: s,
52
58
  padAngle: c,
@@ -58,7 +64,7 @@ function a(e) {
58
64
  centerLabel: m
59
65
  }), [
60
66
  g,
61
- a,
67
+ t,
62
68
  o,
63
69
  h,
64
70
  s,
@@ -70,52 +76,52 @@ function a(e) {
70
76
  p,
71
77
  m
72
78
  ]);
73
- return /* @__PURE__ */ n(i, {
79
+ return /* @__PURE__ */ r(a, {
74
80
  frame: e,
75
81
  options: _,
76
82
  defaultHeight: 320
77
83
  });
78
84
  }
79
- function o(e) {
80
- return /* @__PURE__ */ n(a, {
85
+ function s(e) {
86
+ return /* @__PURE__ */ r(o, {
81
87
  ...e,
82
88
  defaultInner: 0
83
89
  });
84
90
  }
85
- function s(e) {
86
- return /* @__PURE__ */ n(a, {
91
+ function c(e) {
92
+ return /* @__PURE__ */ r(o, {
87
93
  ...e,
88
94
  defaultInner: .62
89
95
  });
90
96
  }
91
- function c(e) {
92
- let { indicators: a, series: o, shape: s, levels: c, dots: l } = e, u = r(e), d = t(() => ({
97
+ function l(e) {
98
+ let { indicators: t, series: o, shape: s, levels: c, dots: l } = e, u = i(e), d = n(() => ({
93
99
  ...u,
94
100
  type: "radar",
95
- indicators: a,
101
+ indicators: t,
96
102
  series: o,
97
103
  shape: s,
98
104
  levels: c,
99
105
  dots: l
100
106
  }), [
101
107
  u,
102
- a,
108
+ t,
103
109
  o,
104
110
  s,
105
111
  c,
106
112
  l
107
113
  ]);
108
- return /* @__PURE__ */ n(i, {
114
+ return /* @__PURE__ */ r(a, {
109
115
  frame: e,
110
116
  options: d,
111
117
  defaultHeight: 320
112
118
  });
113
119
  }
114
- function l(e) {
115
- let { value: a, min: o, max: s, label: c, sweep: l, thickness: u, bands: d, color: f, needle: p, ticks: m } = e, h = r(e), g = t(() => ({
120
+ function u(e) {
121
+ let { value: t, min: o, max: s, label: c, sweep: l, thickness: u, bands: d, color: f, needle: p, ticks: m } = e, h = i(e), g = n(() => ({
116
122
  ...h,
117
123
  type: "gauge",
118
- value: a ?? 0,
124
+ value: t ?? 0,
119
125
  min: o,
120
126
  max: s,
121
127
  label: c,
@@ -127,7 +133,7 @@ function l(e) {
127
133
  ticks: m
128
134
  }), [
129
135
  h,
130
- a,
136
+ t,
131
137
  o,
132
138
  s,
133
139
  c,
@@ -138,59 +144,59 @@ function l(e) {
138
144
  p,
139
145
  m
140
146
  ]);
141
- return /* @__PURE__ */ n(i, {
147
+ return /* @__PURE__ */ r(a, {
142
148
  frame: e,
143
149
  options: g,
144
150
  defaultHeight: 240
145
151
  });
146
152
  }
147
- function u(e) {
148
- let { data: a, sort: o, gap: s, conversion: c, shape: l } = e, u = r(e), d = t(() => ({
153
+ function d(e) {
154
+ let { data: t, sort: o, gap: s, conversion: c, shape: l } = e, u = i(e), d = n(() => ({
149
155
  ...u,
150
156
  type: "funnel",
151
- data: a,
157
+ data: t,
152
158
  sort: o,
153
159
  gap: s,
154
160
  conversion: c,
155
161
  shape: l
156
162
  }), [
157
163
  u,
158
- a,
164
+ t,
159
165
  o,
160
166
  s,
161
167
  c,
162
168
  l
163
169
  ]);
164
- return /* @__PURE__ */ n(i, {
170
+ return /* @__PURE__ */ r(a, {
165
171
  frame: e,
166
172
  options: d,
167
173
  defaultHeight: 320
168
174
  });
169
175
  }
170
- function d(e) {
171
- let { data: a, gap: o, headers: s } = e, c = r(e), l = t(() => ({
176
+ function f(e) {
177
+ let { data: t, gap: o, headers: s } = e, c = i(e), l = n(() => ({
172
178
  ...c,
173
179
  type: "treemap",
174
- data: a,
180
+ data: t,
175
181
  gap: o,
176
182
  headers: s
177
183
  }), [
178
184
  c,
179
- a,
185
+ t,
180
186
  o,
181
187
  s
182
188
  ]);
183
- return /* @__PURE__ */ n(i, {
189
+ return /* @__PURE__ */ r(a, {
184
190
  frame: e,
185
191
  options: l,
186
192
  defaultHeight: 320
187
193
  });
188
194
  }
189
- function f(e) {
190
- let { nodes: a, links: o, nodeWidth: s, nodePadding: c, align: l, iterations: u, linkColor: d, linkOpacity: f, labels: p, labelValues: m } = e, h = r(e), g = t(() => ({
195
+ function p(e) {
196
+ let { nodes: t, links: o, nodeWidth: s, nodePadding: c, align: l, iterations: u, linkColor: d, linkOpacity: f, labels: p, labelValues: m } = e, h = i(e), g = n(() => ({
191
197
  ...h,
192
198
  type: "sankey",
193
- nodes: a,
199
+ nodes: t,
194
200
  links: o,
195
201
  nodeWidth: s,
196
202
  nodePadding: c,
@@ -202,7 +208,7 @@ function f(e) {
202
208
  labelValues: m
203
209
  }), [
204
210
  h,
205
- a,
211
+ t,
206
212
  o,
207
213
  s,
208
214
  c,
@@ -213,17 +219,17 @@ function f(e) {
213
219
  p,
214
220
  m
215
221
  ]);
216
- return /* @__PURE__ */ n(i, {
222
+ return /* @__PURE__ */ r(a, {
217
223
  frame: e,
218
224
  options: g,
219
225
  defaultHeight: 360
220
226
  });
221
227
  }
222
- function p(e) {
223
- let { data: a, innerRadius: o, levels: s, startAngle: c, padAngle: l, cornerRadius: u, labels: d, drill: f, drillPath: p, onDrill: m } = e, h = r(e), g = p ? JSON.stringify(p) : null, _ = t(() => g === null ? void 0 : JSON.parse(g), [g]), v = t(() => ({
228
+ function m(e) {
229
+ let { data: t, innerRadius: o, levels: s, startAngle: c, padAngle: l, cornerRadius: u, labels: d, drill: f, drillPath: p, onDrill: m } = e, h = i(e), g = p ? JSON.stringify(p) : null, _ = n(() => g === null ? void 0 : JSON.parse(g), [g]), v = n(() => ({
224
230
  ...h,
225
231
  type: "sunburst",
226
- data: a,
232
+ data: t,
227
233
  innerRadius: o,
228
234
  levels: s,
229
235
  startAngle: c,
@@ -234,7 +240,7 @@ function p(e) {
234
240
  drillPath: _
235
241
  }), [
236
242
  h,
237
- a,
243
+ t,
238
244
  o,
239
245
  s,
240
246
  c,
@@ -244,18 +250,18 @@ function p(e) {
244
250
  f,
245
251
  _
246
252
  ]);
247
- return /* @__PURE__ */ n(i, {
253
+ return /* @__PURE__ */ r(a, {
248
254
  frame: e,
249
255
  options: v,
250
256
  defaultHeight: 360,
251
257
  onDrill: m
252
258
  });
253
259
  }
254
- function m(e) {
255
- let { data: a, max: o, innerRadius: s, startAngle: c, sweep: l, gap: u, track: d, rounded: f, labels: p, labelContent: m, centerValue: h, centerLabel: g } = e, _ = r(e), v = t(() => ({
260
+ function h(e) {
261
+ let { data: t, max: o, innerRadius: s, startAngle: c, sweep: l, gap: u, track: d, rounded: f, labels: p, labelContent: m, centerValue: h, centerLabel: g } = e, _ = i(e), v = n(() => ({
256
262
  ..._,
257
263
  type: "radialBar",
258
- data: a,
264
+ data: t,
259
265
  max: o,
260
266
  innerRadius: s,
261
267
  startAngle: c,
@@ -269,7 +275,7 @@ function m(e) {
269
275
  centerLabel: g
270
276
  }), [
271
277
  _,
272
- a,
278
+ t,
273
279
  o,
274
280
  s,
275
281
  c,
@@ -282,41 +288,32 @@ function m(e) {
282
288
  h,
283
289
  g
284
290
  ]);
285
- return /* @__PURE__ */ n(i, {
291
+ return /* @__PURE__ */ r(a, {
286
292
  frame: e,
287
293
  options: v,
288
294
  defaultHeight: 300
289
295
  });
290
296
  }
291
- var h = (e) => {
292
- let t = e instanceof Date ? e.getTime() : typeof e == "number" ? e : Date.parse(e);
293
- return Number.isFinite(t) ? new Date(t).getUTCFullYear() : NaN;
294
- }, g = (e) => {
295
- if (!Array.isArray(e) || e.length < 2) return 1;
296
- let [t, n] = e, r = Math.min(h(t), h(n)), i = Math.max(h(t), h(n));
297
- return i > r ? i - r + 1 : 1;
298
- };
299
- function _(e) {
300
- let { data: a, range: o, layout: s, weekStart: c, locale: l, color: u, colors: d, levels: f, thresholds: p, gap: m, radius: h, maxCellSize: _, monthLabels: v, weekdayLabels: y } = e, b = r(e), x = t(() => ({
297
+ function g(t) {
298
+ let { data: o, range: s, layout: c, weekStart: l, locale: u, color: d, colors: f, levels: p, thresholds: m, gap: h, radius: g, maxCellSize: _, monthLabels: v, weekdayLabels: y } = t, b = i(t), x = n(() => ({
301
299
  ...b,
302
300
  type: "calendarHeatmap",
303
- data: a,
304
- range: o,
305
- layout: s,
306
- weekStart: c,
307
- locale: l,
308
- color: u,
309
- colors: d,
310
- levels: f,
311
- thresholds: p,
312
- gap: m,
313
- radius: h,
301
+ data: o,
302
+ range: s,
303
+ layout: c,
304
+ weekStart: l,
305
+ locale: u,
306
+ color: d,
307
+ colors: f,
308
+ levels: p,
309
+ thresholds: m,
310
+ gap: h,
311
+ radius: g,
314
312
  maxCellSize: _,
315
313
  monthLabels: v,
316
314
  weekdayLabels: y
317
315
  }), [
318
316
  b,
319
- a,
320
317
  o,
321
318
  s,
322
319
  c,
@@ -327,21 +324,22 @@ function _(e) {
327
324
  p,
328
325
  m,
329
326
  h,
327
+ g,
330
328
  _,
331
329
  v,
332
330
  y
333
- ]), S = x.legend === !1 ? 0 : 34, C = s === "months" ? 560 : g(o) * 120 + S + 16;
334
- return /* @__PURE__ */ n(i, {
335
- frame: e,
331
+ ]), S = x.legend === !1 ? 0 : 34, C = c === "months" ? 560 : e(x) * 120 + S + 16;
332
+ return /* @__PURE__ */ r(a, {
333
+ frame: t,
336
334
  options: x,
337
335
  defaultHeight: C
338
336
  });
339
337
  }
340
- function v(e) {
341
- let { data: a, orientation: o, ranges: s, rangeLabels: c, rangeColors: l, barSize: u, targetColor: d, ticks: f } = e, p = r(e), m = t(() => ({
338
+ function _(e) {
339
+ let { data: t, orientation: o, ranges: s, rangeLabels: c, rangeColors: l, barSize: u, targetColor: d, ticks: f } = e, p = i(e), m = n(() => ({
342
340
  ...p,
343
341
  type: "bullet",
344
- data: a,
342
+ data: t,
345
343
  orientation: o,
346
344
  ranges: s,
347
345
  rangeLabels: c,
@@ -351,7 +349,7 @@ function v(e) {
351
349
  ticks: f
352
350
  }), [
353
351
  p,
354
- a,
352
+ t,
355
353
  o,
356
354
  s,
357
355
  c,
@@ -359,29 +357,73 @@ function v(e) {
359
357
  u,
360
358
  d,
361
359
  f
362
- ]), h = m.legend ? 34 : 0, g = o === "vertical" ? 320 : Math.max(96, a.length * 64 + 16) + h;
363
- return /* @__PURE__ */ n(i, {
360
+ ]), h = m.legend ? 34 : 0, g = o === "vertical" ? 320 : Math.max(96, t.length * 64 + 16) + h;
361
+ return /* @__PURE__ */ r(a, {
364
362
  frame: e,
365
363
  options: m,
366
364
  defaultHeight: g
367
365
  });
368
366
  }
367
+ function v(e) {
368
+ let { groups: t, matrix: o, links: s, directed: c, arrows: l, padAngle: u, startAngle: d, sortGroups: f, sortSubgroups: p, ribbonColor: m, ribbonOpacity: h, arcWidth: g, ticks: _, tickFormat: v, labels: y } = e, b = i(e), x = n(() => ({
369
+ ...b,
370
+ type: "chord",
371
+ groups: t,
372
+ matrix: o,
373
+ links: s,
374
+ directed: c,
375
+ arrows: l,
376
+ padAngle: u,
377
+ startAngle: d,
378
+ sortGroups: f,
379
+ sortSubgroups: p,
380
+ ribbonColor: m,
381
+ ribbonOpacity: h,
382
+ arcWidth: g,
383
+ ticks: _,
384
+ tickFormat: v,
385
+ labels: y
386
+ }), [
387
+ b,
388
+ t,
389
+ o,
390
+ s,
391
+ c,
392
+ l,
393
+ u,
394
+ d,
395
+ f,
396
+ p,
397
+ m,
398
+ h,
399
+ g,
400
+ _,
401
+ v,
402
+ y
403
+ ]);
404
+ return /* @__PURE__ */ r(a, {
405
+ frame: e,
406
+ options: x,
407
+ defaultHeight: 420
408
+ });
409
+ }
369
410
  var y = {
370
411
  gauge: 240,
371
412
  radialBar: 300,
372
413
  sankey: 360,
373
- sunburst: 360
414
+ sunburst: 360,
415
+ chord: 420
374
416
  };
375
417
  function b(e) {
376
- let { options: t, onDrill: r } = e;
377
- return /* @__PURE__ */ n(i, {
418
+ let { options: t, onDrill: n } = e;
419
+ return /* @__PURE__ */ r(a, {
378
420
  frame: e,
379
421
  options: t,
380
422
  defaultHeight: y[t.type] ?? 320,
381
- onDrill: r
423
+ onDrill: n
382
424
  });
383
425
  }
384
426
  //#endregion
385
- export { v as BulletChart, _ as CalendarHeatmap, s as DonutChart, u as FunnelChart, l as GaugeChart, o as PieChart, c as RadarChart, m as RadialBarChart, f as SankeyChart, b as ShapeChart, p as SunburstChart, d as TreemapChart };
427
+ export { _ as BulletChart, g as CalendarHeatmap, v as ChordChart, c as DonutChart, d as FunnelChart, u as GaugeChart, s as PieChart, l as RadarChart, h as RadialBarChart, p as SankeyChart, b as ShapeChart, m as SunburstChart, f as TreemapChart };
386
428
 
387
429
  //# sourceMappingURL=charts.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"charts.js","names":["useCommonOptions","hiddenKey","hidden","stableHidden","useMemo","palette","legend","tooltip","format","percentFormat","animation","padding","ariaLabel","ShapeHost","frame","ShapeChartBase","height","defaultHeight","ref","PieBase","props","common","options","innerRadius","defaultInner","data","startAngle","padAngle","cornerRadius","rose","labels","labelContent","centerValue","centerLabel","PieChart","DonutChart","RadarChart","indicators","series","shape","levels","dots","GaugeChart","value","min","max","label","sweep","thickness","bands","color","needle","ticks","FunnelChart","sort","gap","conversion","TreemapChart","headers","SankeyChart","nodes","links","nodeWidth","nodePadding","align","iterations","linkColor","linkOpacity","labelValues","SunburstChart","drillKey","drillPath","stablePath","drill","RadialBarChart","track","rounded","yearOf","time","date","calendarStrips","range","a","b","from","to","CalendarHeatmap","layout","weekStart","locale","colors","thresholds","radius","maxCellSize","monthLabels","weekdayLabels","BulletChart","orientation","ranges","rangeLabels","rangeColors","barSize","targetColor","DEFAULT_HEIGHTS","ShapeChart"],"sources":["../../../../../native/src/components/ShapeChart/charts.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport type {\n BulletChartOptions,\n CalendarDate,\n CalendarHeatmapOptions,\n FunnelChartOptions,\n GaugeChartOptions,\n PieChartOptions,\n RadarChartOptions,\n RadialBarChartOptions,\n SankeyChartOptions,\n ShapeChartCommonOptions,\n ShapeChartOptions,\n ShapeDrillEvent,\n SunburstChartOptions,\n TreemapChartOptions,\n} from \"@minerva/charts/canvas\";\nimport { ShapeChartBase } from \"./ShapeChartBase\";\nimport type {\n BulletChartProps,\n CalendarHeatmapProps,\n DonutChartProps,\n FunnelChartProps,\n GaugeChartProps,\n PieChartProps,\n RadarChartProps,\n RadialBarChartProps,\n SankeyChartProps,\n ShapeChartCommonProps,\n ShapeChartFrameProps,\n ShapeChartProps,\n SunburstChartProps,\n TreemapChartProps,\n} from \"./types\";\n\n/** Engine options shared by every type, stable while the props are equal */\nfunction useCommonOptions({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n hidden,\n animation,\n padding,\n ariaLabel,\n}: ShapeChartCommonProps): ShapeChartCommonOptions {\n // a new array with the same indexes keeps the options (and the animation)\n const hiddenKey = hidden ? hidden.join(\",\") : null;\n const stableHidden = useMemo(\n () =>\n hiddenKey === null\n ? undefined\n : hiddenKey\n ? hiddenKey.split(\",\").map(Number)\n : [],\n [hiddenKey],\n );\n return useMemo(\n () => ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n hidden: stableHidden,\n animation,\n padding,\n ariaLabel,\n }),\n [\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n stableHidden,\n animation,\n padding,\n ariaLabel,\n ],\n );\n}\n\nfunction ShapeHost({\n frame,\n options,\n defaultHeight,\n onDrill,\n}: {\n frame: ShapeChartFrameProps;\n options: ShapeChartOptions;\n defaultHeight: number;\n onDrill?: (event: ShapeDrillEvent) => void;\n}) {\n const {\n height,\n width,\n style,\n testID,\n ref,\n onHover,\n onClick,\n onToggle,\n renderTooltip,\n } = frame;\n return (\n <ShapeChartBase\n options={options}\n height={height ?? defaultHeight}\n width={width}\n style={style}\n testID={testID}\n handleRef={ref}\n onHover={onHover}\n onClick={onClick}\n onToggle={onToggle}\n onDrill={onDrill}\n renderTooltip={renderTooltip}\n />\n );\n}\n\nfunction PieBase(props: PieChartProps & { defaultInner: number }) {\n const {\n data,\n innerRadius,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n defaultInner,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): PieChartOptions => ({\n ...common,\n type: \"pie\",\n data,\n innerRadius: innerRadius ?? defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n innerRadius,\n defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/**\n * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with\n * `rose`): slices with gaps, outside labels with leader lines, legend\n * toggles, tooltip while a slice is pressed.\n */\nexport function PieChart(props: PieChartProps) {\n return <PieBase {...props} defaultInner={0} />;\n}\n\n/** Donut chart: a PieChart with a hole and optional center texts */\nexport function DonutChart(props: DonutChartProps) {\n return <PieBase {...props} defaultInner={0.62} />;\n}\n\n/** Radar (spider) chart comparing series over several indicators */\nexport function RadarChart(props: RadarChartProps) {\n const { indicators, series, shape, levels, dots } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadarChartOptions => ({\n ...common,\n type: \"radar\",\n indicators,\n series,\n shape,\n levels,\n dots,\n }),\n [common, indicators, series, shape, levels, dots],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/** Gauge (speedometer) showing one value on an arc, with colored bands */\nexport function GaugeChart(props: GaugeChartProps) {\n const {\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): GaugeChartOptions => ({\n ...common,\n type: \"gauge\",\n value: value ?? 0,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n }),\n [\n common,\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={240} />;\n}\n\n/** Funnel chart of the stages of a process, with conversion rates */\nexport function FunnelChart(props: FunnelChartProps) {\n const { data, sort, gap, conversion, shape } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): FunnelChartOptions => ({\n ...common,\n type: \"funnel\",\n data,\n sort,\n gap,\n conversion,\n shape,\n }),\n [common, data, sort, gap, conversion, shape],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/** Treemap: nested rectangles of areas proportional to the values */\nexport function TreemapChart(props: TreemapChartProps) {\n const { data, gap, headers } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): TreemapChartOptions => ({\n ...common,\n type: \"treemap\",\n data,\n gap,\n headers,\n }),\n [common, data, gap, headers],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/**\n * Sankey diagram: flows between nodes in columns, link thickness\n * proportional to the flow; pressing a node or a link highlights its flows\n */\nexport function SankeyChart(props: SankeyChartProps) {\n const {\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): SankeyChartOptions => ({\n ...common,\n type: \"sankey\",\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n }),\n [\n common,\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={360} />;\n}\n\n/**\n * Sunburst chart: a hierarchy as concentric rings; tapping a parent zooms\n * into it, tapping the center goes back up\n */\nexport function SunburstChart(props: SunburstChartProps) {\n const {\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath,\n onDrill,\n } = props;\n const common = useCommonOptions(props);\n // a new array with the same names keeps the options (and the animation)\n const drillKey = drillPath ? JSON.stringify(drillPath) : null;\n const stablePath = useMemo(\n () => (drillKey === null ? undefined : (JSON.parse(drillKey) as string[])),\n [drillKey],\n );\n const options = useMemo(\n (): SunburstChartOptions => ({\n ...common,\n type: \"sunburst\",\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath: stablePath,\n }),\n [\n common,\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n stablePath,\n ],\n );\n return (\n <ShapeHost\n frame={props}\n options={options}\n defaultHeight={360}\n onDrill={onDrill}\n />\n );\n}\n\n/** Radial bar chart: concentric progress rings (activity rings, KPI completion) */\nexport function RadialBarChart(props: RadialBarChartProps) {\n const {\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadialBarChartOptions => ({\n ...common,\n type: \"radialBar\",\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={300} />;\n}\n\nconst yearOf = (date: CalendarDate) => {\n const time =\n date instanceof Date\n ? date.getTime()\n : typeof date === \"number\"\n ? date\n : Date.parse(date);\n return Number.isFinite(time) ? new Date(time).getUTCFullYear() : NaN;\n};\n\n/** Strips of the `weeks` layout: one per year when a range spans more than 53 weeks */\nconst calendarStrips = (range: CalendarHeatmapOptions[\"range\"]) => {\n if (!Array.isArray(range) || range.length < 2) return 1;\n const [a, b] = range as readonly [CalendarDate, CalendarDate];\n const from = Math.min(yearOf(a), yearOf(b));\n const to = Math.max(yearOf(a), yearOf(b));\n return to > from ? to - from + 1 : 1;\n};\n\n/** Calendar heatmap: daily values on a calendar, contributions-style */\nexport function CalendarHeatmap(props: CalendarHeatmapProps) {\n const {\n data,\n range,\n layout,\n weekStart,\n locale,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): CalendarHeatmapOptions => ({\n ...common,\n type: \"calendarHeatmap\",\n data,\n range,\n layout,\n weekStart,\n locale,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n }),\n [\n common,\n data,\n range,\n layout,\n weekStart,\n locale,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n ],\n );\n const legend = options.legend === false ? 0 : 34;\n const defaultHeight =\n layout === \"months\" ? 560 : calendarStrips(range) * 120 + legend + 16;\n return (\n <ShapeHost frame={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/** Bullet chart: KPI bars against qualitative ranges and a target marker */\nexport function BulletChart(props: BulletChartProps) {\n const {\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): BulletChartOptions => ({\n ...common,\n type: \"bullet\",\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n }),\n [\n common,\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n ],\n );\n const legend = options.legend ? 34 : 0;\n const defaultHeight =\n orientation === \"vertical\"\n ? 320\n : Math.max(96, data.length * 64 + 16) + legend;\n return (\n <ShapeHost frame={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/** Default height of a shape chart type (ShapeChart) */\nconst DEFAULT_HEIGHTS: Partial<Record<ShapeChartOptions[\"type\"], number>> = {\n gauge: 240,\n radialBar: 300,\n sankey: 360,\n sunburst: 360,\n};\n\n/**\n * Any shape chart from its engine options (`type`: pie, radar, gauge,\n * funnel, treemap and the other shape types of the engine), drawn with views\n */\nexport function ShapeChart(props: ShapeChartProps) {\n const { options, onDrill } = props;\n return (\n <ShapeHost\n frame={props}\n options={options}\n defaultHeight={DEFAULT_HEIGHTS[options.type] ?? 320}\n onDrill={onDrill}\n />\n );\n}\n"],"mappings":";;;;AAoCA,SAASA,EAAiB,EACxB,YACA,WACA,YACA,WACA,kBACA,WACA,cACA,YACA,gBACiD;CAEjD,IAAMC,IAAYC,IAASA,EAAO,KAAK,GAAG,IAAI,MACxCC,IAAeC,QAEjBH,MAAc,OACV,KAAA,IACAA,IACEA,EAAU,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,IAC/B,CAAC,GACT,CAACA,CAAS,CACZ;CACA,OAAOG,SACE;EACL;EACA;EACA;EACA;EACA;EACA,QAAQD;EACR;EACA;EACA;CACF,IACA;EACEE;EACAC;EACAC;EACAC;EACAC;EACAN;EACAO;EACAC;EACAC;CACF,CACF;AACF;AAEA,SAASC,EAAU,EACjB,UACA,YACA,kBACA,cAMC;CACD,IAAM,EACJ,WACA,UACA,UACA,WACA,QACA,YACA,YACA,aACA,qBACEC;CACJ,OACE,kBAACC,GAAD;EACW;EACT,QAAQC,KAAUC;EACX;EACA;EACC;EACR,WAAWC;EACF;EACA;EACC;EACD;EACM;CAChB,CAAA;AAEL;AAEA,SAASC,EAAQ,GAAiD;CAChE,IAAM,EACJ,SACA,gBACA,eACA,aACA,iBACA,SACA,WACA,iBACA,gBACA,gBACA,oBACEC,GACEC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACU;EACtB,GAAGiB;EACH,MAAM;EACN;EACA,aAAaE,KAAeC;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEH;EACAI;EACAF;EACAC;EACAE;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACpB,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAOA,SAAgBc,EAAS,GAAsB;CAC7C,OAAO,kBAACf,GAAD;EAAS,GAAIC;EAAO,cAAc;CAAI,CAAA;AAC/C;AAGA,SAAgBe,EAAW,GAAwB;CACjD,OAAO,kBAAChB,GAAD;EAAS,GAAIC;EAAO,cAAc;CAAO,CAAA;AAClD;AAGA,SAAgBgB,EAAW,GAAwB;CACjD,IAAM,EAAE,eAAY,WAAQ,UAAO,WAAQ,YAAShB,GAC9CC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACY;EACxB,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;CACF,IACA;EAACA;EAAQgB;EAAYC;EAAQC;EAAOC;EAAQC;CAAI,CAClD;CACA,OAAO,kBAAC5B,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBsB,EAAW,GAAwB;CACjD,IAAM,EACJ,UACA,QACA,QACA,UACA,UACA,cACA,UACA,UACA,WACA,aACEtB,GACEC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACY;EACxB,GAAGiB;EACH,MAAM;EACN,OAAOsB,KAAS;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEtB;EACAsB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACvC,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBiC,EAAY,GAAyB;CACnD,IAAM,EAAE,SAAM,SAAM,QAAK,eAAY,aAAUjC,GACzCC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACa;EACzB,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;CACF,IACA;EAACA;EAAQI;EAAM6B;EAAMC;EAAKC;EAAYjB;CAAK,CAC7C;CACA,OAAO,kBAAC1B,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBqC,EAAa,GAA0B;CACrD,IAAM,EAAE,SAAM,QAAK,eAAYrC,GACzBC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACc;EAC1B,GAAGiB;EACH,MAAM;EACN;EACA;EACA;CACF,IACA;EAACA;EAAQI;EAAM8B;EAAKG;CAAO,CAC7B;CACA,OAAO,kBAAC7C,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAMA,SAAgBuC,EAAY,GAAyB;CACnD,IAAM,EACJ,UACA,UACA,cACA,gBACA,UACA,eACA,cACA,gBACA,WACA,mBACEvC,GACEC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACa;EACzB,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAuC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACArC;EACAsC;CACF,CACF;CACA,OAAO,kBAACvD,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAMA,SAAgBiD,EAAc,GAA2B;CACvD,IAAM,EACJ,SACA,gBACA,WACA,eACA,aACA,iBACA,WACA,UACA,cACA,eACEjD,GACEC,IAASrB,EAAiBoB,CAAK,GAE/BkD,IAAWC,IAAY,KAAK,UAAUA,CAAS,IAAI,MACnDC,IAAapE,QACVkE,MAAa,OAAO,KAAA,IAAa,KAAK,MAAMA,CAAQ,GAC3D,CAACA,CAAQ,CACX,GACMhD,IAAUlB,SACe;EAC3B,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAWmD;CACb,IACA;EACEnD;EACAI;EACAF;EACAiB;EACAd;EACAC;EACAC;EACAE;EACA2C;EACAD;CACF,CACF;CACA,OACE,kBAAC3D,GAAD;EACE,OAAOO;EACE;EACT,eAAe;EACN;CACV,CAAA;AAEL;AAGA,SAAgBsD,EAAe,GAA4B;CACzD,IAAM,EACJ,SACA,QACA,gBACA,eACA,UACA,QACA,UACA,YACA,WACA,iBACA,gBACA,mBACEtD,GACEC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACgB;EAC5B,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAI;EACAoB;EACAtB;EACAG;EACAqB;EACAQ;EACAoB;EACAC;EACA9C;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACpB,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAEA,IAAMyD,KAAU,MAAuB;CACrC,IAAMC,IACJC,aAAgB,OACZA,EAAK,QAAQ,IACb,OAAOA,KAAS,WACdA,IACA,KAAK,MAAMA,CAAI;CACvB,OAAO,OAAO,SAASD,CAAI,IAAI,IAAI,KAAKA,CAAI,CAAC,CAAC,eAAe,IAAI;AACnE,GAGME,KAAkB,MAA2C;CACjE,IAAI,CAAC,MAAM,QAAQC,CAAK,KAAKA,EAAM,SAAS,GAAG,OAAO;CACtD,IAAM,CAACC,GAAGC,KAAKF,GACTG,IAAO,KAAK,IAAIP,EAAOK,CAAC,GAAGL,EAAOM,CAAC,CAAC,GACpCE,IAAK,KAAK,IAAIR,EAAOK,CAAC,GAAGL,EAAOM,CAAC,CAAC;CACxC,OAAOE,IAAKD,IAAOC,IAAKD,IAAO,IAAI;AACrC;AAGA,SAAgBE,EAAgB,GAA6B;CAC3D,IAAM,EACJ,SACA,UACA,WACA,cACA,WACA,UACA,WACA,WACA,eACA,QACA,WACA,gBACA,gBACA,qBACElE,GACEC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACiB;EAC7B,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAI;EACAwD;EACAM;EACAC;EACAC;EACAvC;EACAwC;EACAlD;EACAmD;EACApC;EACAqC;EACAC;EACAC;EACAC;CACF,CACF,GACMzF,IAASgB,EAAQ,WAAW,KAAQ,IAAI,IACxCL,IACJsE,MAAW,WAAW,MAAMP,EAAeC,CAAK,IAAI,MAAM3E,IAAS;CACrE,OACE,kBAACO,GAAD;EAAW,OAAOO;EAAgB;EAAwB;CAAgB,CAAA;AAE9E;AAGA,SAAgB4E,EAAY,GAAyB;CACnD,IAAM,EACJ,SACA,gBACA,WACA,gBACA,gBACA,YACA,gBACA,aACE5E,GACEC,IAASrB,EAAiBoB,CAAK,GAC/BE,IAAUlB,SACa;EACzB,GAAGiB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAI;EACAwE;EACAC;EACAC;EACAC;EACAC;EACAC;EACAlD;CACF,CACF,GACM9C,IAASgB,EAAQ,SAAS,KAAK,GAC/BL,IACJgF,MAAgB,aACZ,MACA,KAAK,IAAI,IAAIxE,EAAK,SAAS,KAAK,EAAE,IAAInB;CAC5C,OACE,kBAACO,GAAD;EAAW,OAAOO;EAAgB;EAAwB;CAAgB,CAAA;AAE9E;AAGA,IAAMmF,IAAsE;CAC1E,OAAO;CACP,WAAW;CACX,QAAQ;CACR,UAAU;AACZ;AAMA,SAAgBC,EAAW,GAAwB;CACjD,IAAM,EAAE,YAAS,eAAYpF;CAC7B,OACE,kBAACP,GAAD;EACE,OAAOO;EACE;EACT,eAAemF,EAAgBjF,EAAQ,SAAS;EACvC;CACV,CAAA;AAEL"}
1
+ {"version":3,"file":"charts.js","names":["useCommonOptions","hiddenKey","hidden","stableHidden","useMemo","palette","legend","tooltip","format","percentFormat","animation","padding","ariaLabel","locale","texts","ShapeHost","frame","ShapeChartBase","height","defaultHeight","ref","PieBase","props","common","options","innerRadius","defaultInner","data","startAngle","padAngle","cornerRadius","rose","labels","labelContent","centerValue","centerLabel","PieChart","DonutChart","RadarChart","indicators","series","shape","levels","dots","GaugeChart","value","min","max","label","sweep","thickness","bands","color","needle","ticks","FunnelChart","sort","gap","conversion","TreemapChart","headers","SankeyChart","nodes","links","nodeWidth","nodePadding","align","iterations","linkColor","linkOpacity","labelValues","SunburstChart","drillKey","drillPath","stablePath","drill","RadialBarChart","track","rounded","CalendarHeatmap","range","layout","weekStart","colors","thresholds","radius","maxCellSize","monthLabels","weekdayLabels","calendarStrips","BulletChart","orientation","ranges","rangeLabels","rangeColors","barSize","targetColor","ChordChart","groups","matrix","directed","arrows","sortGroups","sortSubgroups","ribbonColor","ribbonOpacity","arcWidth","tickFormat","DEFAULT_HEIGHTS","ShapeChart"],"sources":["../../../../../native/src/components/ShapeChart/charts.tsx"],"sourcesContent":["import { useMemo } from \"react\";\nimport {\n calendarStrips,\n type BulletChartOptions,\n type CalendarHeatmapOptions,\n type ChordChartOptions,\n type FunnelChartOptions,\n type GaugeChartOptions,\n type PieChartOptions,\n type RadarChartOptions,\n type RadialBarChartOptions,\n type SankeyChartOptions,\n type ShapeChartCommonOptions,\n type ShapeChartOptions,\n type ShapeDrillEvent,\n type SunburstChartOptions,\n type TreemapChartOptions,\n} from \"@minerva/charts/canvas\";\nimport { ShapeChartBase } from \"./ShapeChartBase\";\nimport type {\n BulletChartProps,\n CalendarHeatmapProps,\n ChordChartProps,\n DonutChartProps,\n FunnelChartProps,\n GaugeChartProps,\n PieChartProps,\n RadarChartProps,\n RadialBarChartProps,\n SankeyChartProps,\n ShapeChartCommonProps,\n ShapeChartFrameProps,\n ShapeChartProps,\n SunburstChartProps,\n TreemapChartProps,\n} from \"./types\";\n\n/** Engine options shared by every type, stable while the props are equal */\nfunction useCommonOptions({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n hidden,\n animation,\n padding,\n ariaLabel,\n locale,\n texts,\n}: ShapeChartCommonProps): ShapeChartCommonOptions {\n // a new array with the same indexes keeps the options (and the animation)\n const hiddenKey = hidden ? hidden.join(\",\") : null;\n const stableHidden = useMemo(\n () =>\n hiddenKey === null\n ? undefined\n : hiddenKey\n ? hiddenKey.split(\",\").map(Number)\n : [],\n [hiddenKey],\n );\n return useMemo(\n () => ({\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n hidden: stableHidden,\n animation,\n padding,\n ariaLabel,\n locale,\n texts,\n }),\n [\n palette,\n legend,\n tooltip,\n format,\n percentFormat,\n stableHidden,\n animation,\n padding,\n ariaLabel,\n locale,\n texts,\n ],\n );\n}\n\nfunction ShapeHost({\n frame,\n options,\n defaultHeight,\n onDrill,\n}: {\n frame: ShapeChartFrameProps;\n options: ShapeChartOptions;\n defaultHeight: number;\n onDrill?: (event: ShapeDrillEvent) => void;\n}) {\n const {\n height,\n width,\n style,\n testID,\n ref,\n onHover,\n onClick,\n onToggle,\n renderTooltip,\n } = frame;\n return (\n <ShapeChartBase\n options={options}\n height={height ?? defaultHeight}\n width={width}\n style={style}\n testID={testID}\n handleRef={ref}\n onHover={onHover}\n onClick={onClick}\n onToggle={onToggle}\n onDrill={onDrill}\n renderTooltip={renderTooltip}\n />\n );\n}\n\nfunction PieBase(props: PieChartProps & { defaultInner: number }) {\n const {\n data,\n innerRadius,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n defaultInner,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): PieChartOptions => ({\n ...common,\n type: \"pie\",\n data,\n innerRadius: innerRadius ?? defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n innerRadius,\n defaultInner,\n startAngle,\n padAngle,\n cornerRadius,\n rose,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/**\n * Pie chart (or a donut with `innerRadius`, or a Nightingale rose with\n * `rose`): slices with gaps, outside labels with leader lines, legend\n * toggles, tooltip while a slice is pressed.\n */\nexport function PieChart(props: PieChartProps) {\n return <PieBase {...props} defaultInner={0} />;\n}\n\n/** Donut chart: a PieChart with a hole and optional center texts */\nexport function DonutChart(props: DonutChartProps) {\n return <PieBase {...props} defaultInner={0.62} />;\n}\n\n/** Radar (spider) chart comparing series over several indicators */\nexport function RadarChart(props: RadarChartProps) {\n const { indicators, series, shape, levels, dots } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadarChartOptions => ({\n ...common,\n type: \"radar\",\n indicators,\n series,\n shape,\n levels,\n dots,\n }),\n [common, indicators, series, shape, levels, dots],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/** Gauge (speedometer) showing one value on an arc, with colored bands */\nexport function GaugeChart(props: GaugeChartProps) {\n const {\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): GaugeChartOptions => ({\n ...common,\n type: \"gauge\",\n value: value ?? 0,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n }),\n [\n common,\n value,\n min,\n max,\n label,\n sweep,\n thickness,\n bands,\n color,\n needle,\n ticks,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={240} />;\n}\n\n/** Funnel chart of the stages of a process, with conversion rates */\nexport function FunnelChart(props: FunnelChartProps) {\n const { data, sort, gap, conversion, shape } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): FunnelChartOptions => ({\n ...common,\n type: \"funnel\",\n data,\n sort,\n gap,\n conversion,\n shape,\n }),\n [common, data, sort, gap, conversion, shape],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/** Treemap: nested rectangles of areas proportional to the values */\nexport function TreemapChart(props: TreemapChartProps) {\n const { data, gap, headers } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): TreemapChartOptions => ({\n ...common,\n type: \"treemap\",\n data,\n gap,\n headers,\n }),\n [common, data, gap, headers],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={320} />;\n}\n\n/**\n * Sankey diagram: flows between nodes in columns, link thickness\n * proportional to the flow; pressing a node or a link highlights its flows\n */\nexport function SankeyChart(props: SankeyChartProps) {\n const {\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): SankeyChartOptions => ({\n ...common,\n type: \"sankey\",\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n }),\n [\n common,\n nodes,\n links,\n nodeWidth,\n nodePadding,\n align,\n iterations,\n linkColor,\n linkOpacity,\n labels,\n labelValues,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={360} />;\n}\n\n/**\n * Sunburst chart: a hierarchy as concentric rings; tapping a parent zooms\n * into it, tapping the center goes back up\n */\nexport function SunburstChart(props: SunburstChartProps) {\n const {\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath,\n onDrill,\n } = props;\n const common = useCommonOptions(props);\n // a new array with the same names keeps the options (and the animation)\n const drillKey = drillPath ? JSON.stringify(drillPath) : null;\n const stablePath = useMemo(\n () => (drillKey === null ? undefined : (JSON.parse(drillKey) as string[])),\n [drillKey],\n );\n const options = useMemo(\n (): SunburstChartOptions => ({\n ...common,\n type: \"sunburst\",\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n drillPath: stablePath,\n }),\n [\n common,\n data,\n innerRadius,\n levels,\n startAngle,\n padAngle,\n cornerRadius,\n labels,\n drill,\n stablePath,\n ],\n );\n return (\n <ShapeHost\n frame={props}\n options={options}\n defaultHeight={360}\n onDrill={onDrill}\n />\n );\n}\n\n/** Radial bar chart: concentric progress rings (activity rings, KPI completion) */\nexport function RadialBarChart(props: RadialBarChartProps) {\n const {\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): RadialBarChartOptions => ({\n ...common,\n type: \"radialBar\",\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n }),\n [\n common,\n data,\n max,\n innerRadius,\n startAngle,\n sweep,\n gap,\n track,\n rounded,\n labels,\n labelContent,\n centerValue,\n centerLabel,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={300} />;\n}\n\n/** Calendar heatmap: daily values on a calendar, contributions-style */\nexport function CalendarHeatmap(props: CalendarHeatmapProps) {\n const {\n data,\n range,\n layout,\n weekStart,\n locale,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): CalendarHeatmapOptions => ({\n ...common,\n type: \"calendarHeatmap\",\n data,\n range,\n layout,\n weekStart,\n locale,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n }),\n [\n common,\n data,\n range,\n layout,\n weekStart,\n locale,\n color,\n colors,\n levels,\n thresholds,\n gap,\n radius,\n maxCellSize,\n monthLabels,\n weekdayLabels,\n ],\n );\n const legend = options.legend === false ? 0 : 34;\n // one strip of weeks per year when the range spans more than 53 weeks\n const defaultHeight =\n layout === \"months\" ? 560 : calendarStrips(options) * 120 + legend + 16;\n return (\n <ShapeHost frame={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/** Bullet chart: KPI bars against qualitative ranges and a target marker */\nexport function BulletChart(props: BulletChartProps) {\n const {\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): BulletChartOptions => ({\n ...common,\n type: \"bullet\",\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n }),\n [\n common,\n data,\n orientation,\n ranges,\n rangeLabels,\n rangeColors,\n barSize,\n targetColor,\n ticks,\n ],\n );\n const legend = options.legend ? 34 : 0;\n const defaultHeight =\n orientation === \"vertical\"\n ? 320\n : Math.max(96, data.length * 64 + 16) + legend;\n return (\n <ShapeHost frame={props} options={options} defaultHeight={defaultHeight} />\n );\n}\n\n/**\n * Chord diagram: flows between groups around a circle; pressing a group\n * highlights its ribbons, pressing a ribbon shows both directions\n */\nexport function ChordChart(props: ChordChartProps) {\n const {\n groups,\n matrix,\n links,\n directed,\n arrows,\n padAngle,\n startAngle,\n sortGroups,\n sortSubgroups,\n ribbonColor,\n ribbonOpacity,\n arcWidth,\n ticks,\n tickFormat,\n labels,\n } = props;\n const common = useCommonOptions(props);\n const options = useMemo(\n (): ChordChartOptions => ({\n ...common,\n type: \"chord\",\n groups,\n matrix,\n links,\n directed,\n arrows,\n padAngle,\n startAngle,\n sortGroups,\n sortSubgroups,\n ribbonColor,\n ribbonOpacity,\n arcWidth,\n ticks,\n tickFormat,\n labels,\n }),\n [\n common,\n groups,\n matrix,\n links,\n directed,\n arrows,\n padAngle,\n startAngle,\n sortGroups,\n sortSubgroups,\n ribbonColor,\n ribbonOpacity,\n arcWidth,\n ticks,\n tickFormat,\n labels,\n ],\n );\n return <ShapeHost frame={props} options={options} defaultHeight={420} />;\n}\n\n/** Default height of a shape chart type (ShapeChart) */\nconst DEFAULT_HEIGHTS: Partial<Record<ShapeChartOptions[\"type\"], number>> = {\n gauge: 240,\n radialBar: 300,\n sankey: 360,\n sunburst: 360,\n chord: 420,\n};\n\n/**\n * Any shape chart from its engine options (`type`: pie, radar, gauge,\n * funnel, treemap and the other shape types of the engine), drawn with views\n */\nexport function ShapeChart(props: ShapeChartProps) {\n const { options, onDrill } = props;\n return (\n <ShapeHost\n frame={props}\n options={options}\n defaultHeight={DEFAULT_HEIGHTS[options.type] ?? 320}\n onDrill={onDrill}\n />\n );\n}\n"],"mappings":";;;;;;AAsCA,SAASA,EAAiB,EACxB,YACA,WACA,YACA,WACA,kBACA,WACA,cACA,YACA,cACA,WACA,YACiD;CAEjD,IAAMC,IAAYC,IAASA,EAAO,KAAK,GAAG,IAAI,MACxCC,IAAeC,QAEjBH,MAAc,OACV,KAAA,IACAA,IACEA,EAAU,MAAM,GAAG,CAAC,CAAC,IAAI,MAAM,IAC/B,CAAC,GACT,CAACA,CAAS,CACZ;CACA,OAAOG,SACE;EACL;EACA;EACA;EACA;EACA;EACA,QAAQD;EACR;EACA;EACA;EACA;EACA;CACF,IACA;EACEE;EACAC;EACAC;EACAC;EACAC;EACAN;EACAO;EACAC;EACAC;EACAC;EACAC;CACF,CACF;AACF;AAEA,SAASC,EAAU,EACjB,UACA,YACA,kBACA,cAMC;CACD,IAAM,EACJ,WACA,UACA,UACA,WACA,QACA,YACA,YACA,aACA,qBACEC;CACJ,OACE,kBAACC,GAAD;EACW;EACT,QAAQC,KAAUC;EACX;EACA;EACC;EACR,WAAWC;EACF;EACA;EACC;EACD;EACM;CAChB,CAAA;AAEL;AAEA,SAASC,EAAQ,GAAiD;CAChE,IAAM,EACJ,SACA,gBACA,eACA,aACA,iBACA,SACA,WACA,iBACA,gBACA,gBACA,oBACEC,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACU;EACtB,GAAGmB;EACH,MAAM;EACN;EACA,aAAaE,KAAeC;EAC5B;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEH;EACAI;EACAF;EACAC;EACAE;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACpB,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAOA,SAAgBc,EAAS,GAAsB;CAC7C,OAAO,kBAACf,GAAD;EAAS,GAAIC;EAAO,cAAc;CAAI,CAAA;AAC/C;AAGA,SAAgBe,EAAW,GAAwB;CACjD,OAAO,kBAAChB,GAAD;EAAS,GAAIC;EAAO,cAAc;CAAO,CAAA;AAClD;AAGA,SAAgBgB,EAAW,GAAwB;CACjD,IAAM,EAAE,eAAY,WAAQ,UAAO,WAAQ,YAAShB,GAC9CC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACY;EACxB,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;CACF,IACA;EAACA;EAAQgB;EAAYC;EAAQC;EAAOC;EAAQC;CAAI,CAClD;CACA,OAAO,kBAAC5B,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBsB,EAAW,GAAwB;CACjD,IAAM,EACJ,UACA,QACA,QACA,UACA,UACA,cACA,UACA,UACA,WACA,aACEtB,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACY;EACxB,GAAGmB;EACH,MAAM;EACN,OAAOsB,KAAS;EAChB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEtB;EACAsB;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACvC,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBiC,EAAY,GAAyB;CACnD,IAAM,EAAE,SAAM,SAAM,QAAK,eAAY,aAAUjC,GACzCC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACa;EACzB,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;CACF,IACA;EAACA;EAAQI;EAAM6B;EAAMC;EAAKC;EAAYjB;CAAK,CAC7C;CACA,OAAO,kBAAC1B,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgBqC,EAAa,GAA0B;CACrD,IAAM,EAAE,SAAM,QAAK,eAAYrC,GACzBC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACc;EAC1B,GAAGmB;EACH,MAAM;EACN;EACA;EACA;CACF,IACA;EAACA;EAAQI;EAAM8B;EAAKG;CAAO,CAC7B;CACA,OAAO,kBAAC7C,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAMA,SAAgBuC,EAAY,GAAyB;CACnD,IAAM,EACJ,UACA,UACA,cACA,gBACA,UACA,eACA,cACA,gBACA,WACA,mBACEvC,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACa;EACzB,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAuC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACAC;EACArC;EACAsC;CACF,CACF;CACA,OAAO,kBAACvD,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAMA,SAAgBiD,EAAc,GAA2B;CACvD,IAAM,EACJ,SACA,gBACA,WACA,eACA,aACA,iBACA,WACA,UACA,cACA,eACEjD,GACEC,IAASvB,EAAiBsB,CAAK,GAE/BkD,IAAWC,IAAY,KAAK,UAAUA,CAAS,IAAI,MACnDC,IAAatE,QACVoE,MAAa,OAAO,KAAA,IAAa,KAAK,MAAMA,CAAQ,GAC3D,CAACA,CAAQ,CACX,GACMhD,IAAUpB,SACe;EAC3B,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA,WAAWmD;CACb,IACA;EACEnD;EACAI;EACAF;EACAiB;EACAd;EACAC;EACAC;EACAE;EACA2C;EACAD;CACF,CACF;CACA,OACE,kBAAC3D,GAAD;EACE,OAAOO;EACE;EACT,eAAe;EACN;CACV,CAAA;AAEL;AAGA,SAAgBsD,EAAe,GAA4B;CACzD,IAAM,EACJ,SACA,QACA,gBACA,eACA,UACA,QACA,UACA,YACA,WACA,iBACA,gBACA,mBACEtD,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACgB;EAC5B,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAI;EACAoB;EACAtB;EACAG;EACAqB;EACAQ;EACAoB;EACAC;EACA9C;EACAC;EACAC;EACAC;CACF,CACF;CACA,OAAO,kBAACpB,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,SAAgByD,EAAgB,GAA6B;CAC3D,IAAM,EACJ,SACA,UACA,WACA,cACA,WACA,UACA,WACA,WACA,eACA,QACA,WACA,gBACA,gBACA,qBACEzD,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACiB;EAC7B,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAI;EACAqD;EACAC;EACAC;EACArE;EACAuC;EACA+B;EACAzC;EACA0C;EACA3B;EACA4B;EACAC;EACAC;EACAC;CACF,CACF,GACMlF,IAASkB,EAAQ,WAAW,KAAQ,IAAI,IAExCL,IACJ8D,MAAW,WAAW,MAAMQ,EAAejE,CAAO,IAAI,MAAMlB,IAAS;CACvE,OACE,kBAACS,GAAD;EAAW,OAAOO;EAAgB;EAAwB;CAAgB,CAAA;AAE9E;AAGA,SAAgBoE,EAAY,GAAyB;CACnD,IAAM,EACJ,SACA,gBACA,WACA,gBACA,gBACA,YACA,gBACA,aACEpE,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACa;EACzB,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACAI;EACAgE;EACAC;EACAC;EACAC;EACAC;EACAC;EACA1C;CACF,CACF,GACMhD,IAASkB,EAAQ,SAAS,KAAK,GAC/BL,IACJwE,MAAgB,aACZ,MACA,KAAK,IAAI,IAAIhE,EAAK,SAAS,KAAK,EAAE,IAAIrB;CAC5C,OACE,kBAACS,GAAD;EAAW,OAAOO;EAAgB;EAAwB;CAAgB,CAAA;AAE9E;AAMA,SAAgB2E,EAAW,GAAwB;CACjD,IAAM,EACJ,WACA,WACA,UACA,aACA,WACA,aACA,eACA,eACA,kBACA,gBACA,kBACA,aACA,UACA,eACA,cACE3E,GACEC,IAASvB,EAAiBsB,CAAK,GAC/BE,IAAUpB,SACY;EACxB,GAAGmB;EACH,MAAM;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,IACA;EACEA;EACA2E;EACAC;EACApC;EACAqC;EACAC;EACAxE;EACAD;EACA0E;EACAC;EACAC;EACAC;EACAC;EACApD;EACAqD;EACA3E;CACF,CACF;CACA,OAAO,kBAACjB,GAAD;EAAW,OAAOO;EAAgB;EAAS,eAAe;CAAM,CAAA;AACzE;AAGA,IAAMsF,IAAsE;CAC1E,OAAO;CACP,WAAW;CACX,QAAQ;CACR,UAAU;CACV,OAAO;AACT;AAMA,SAAgBC,EAAW,GAAwB;CACjD,IAAM,EAAE,YAAS,eAAYvF;CAC7B,OACE,kBAACP,GAAD;EACE,OAAOO;EACE;EACT,eAAesF,EAAgBpF,EAAQ,SAAS;EACvC;CACV,CAAA;AAEL"}
@@ -1,2 +1,2 @@
1
- const e=require("../Chart/measure.cjs");let t=require("react-native"),n=require("react/jsx-runtime");var r=e=>Math.ceil(e*1.35),i={shadowColor:`#0f172a`,shadowOpacity:.18,shadowRadius:8,shadowOffset:{width:0,height:6},elevation:6};function a(i,a,o){let s=r(i.size),c=(s-i.size)/2,l=e.measureChartText(i.text,`${i.weight} ${i.size}px sans-serif`),u=i.maxWidth!==void 0&&l>i.maxWidth+.5?Math.max(1,i.maxWidth??0):Math.ceil(l*1.4+i.size*2),d=Math.abs(i.rotate)>1e-4,f={w:2*u+2,h:2*s},p=d?f.w/2:i.x,m=d?f.h/2:i.y,h=i.baseline===`top`?m-c:i.baseline===`bottom`?m-s+c:i.baseline===`middle`?m-s/2:m-i.size*.8-c,g={position:`absolute`,left:i.align===`left`?p:i.align===`right`?p-u:p-u/2,top:h,width:u,textAlign:i.align,fontSize:i.size,lineHeight:s,color:i.color,fontWeight:String(i.weight),includeFontPadding:!1,...o?{fontFamily:o}:null,...i.halo?{textShadowColor:i.halo,textShadowRadius:2,textShadowOffset:{width:0,height:0}}:null},_=(0,n.jsx)(t.Text,{numberOfLines:1,ellipsizeMode:`tail`,style:g,children:i.text},d?void 0:a);return d?(0,n.jsx)(t.View,{style:{position:`absolute`,left:i.x-f.w/2,top:i.y-f.h/2,width:f.w,height:f.h,transform:[{rotate:`${i.rotate}rad`}]},children:_},a):_}function o(e,r,s=``){return e.map((e,c)=>{let l=`${s}${c}`;switch(e.t){case`box`:{let r={position:`absolute`,left:e.x,top:e.y,width:e.w,height:e.h,...e.color?{backgroundColor:e.color}:null,...e.radius?{borderRadius:e.radius}:null,...e.borderWidth?{borderWidth:e.borderWidth,borderColor:e.borderColor}:null,...e.rotate?{transform:[{rotate:`${e.rotate}rad`}]}:null,...e.shadow?i:null};return(0,n.jsx)(t.View,{style:r},l)}case`clip`:return(0,n.jsx)(t.View,{style:{position:`absolute`,left:e.x,top:e.y,width:e.size,height:e.size,overflow:`hidden`,transform:[{rotate:`${e.rotate}rad`}]},children:o(e.children,r,`${l}.`)},l);case`group`:return(0,n.jsx)(t.View,{needsOffscreenAlphaCompositing:e.children.length>1||e.children[0]?.t===`clip`,style:[t.StyleSheet.absoluteFill,{opacity:e.opacity}],children:o(e.children,r,`${l}.`)},l);case`text`:return a(e,l,r);default:return null}})}exports.renderPrims=o;
1
+ const e=require("../Chart/measure.cjs");let t=require("react-native"),n=require("react/jsx-runtime");var r=e=>Math.ceil(e*1.35),i={shadowColor:`#0f172a`,shadowOpacity:.18,shadowRadius:8,shadowOffset:{width:0,height:6},elevation:6};function a(i,a,o){let s=r(i.size),c=(s-i.size)/2,l=e.measureChartText(i.text,`${i.weight} ${i.size}px sans-serif`),u=i.maxWidth!==void 0&&l>i.maxWidth+.5?Math.max(1,i.maxWidth??0):Math.ceil(l*1.4+i.size*2),d=Math.abs(i.rotate)>1e-4,f={w:2*u+2,h:2*s},p=d?f.w/2:i.x,m=d?f.h/2:i.y,h=i.baseline===`top`?m-c:i.baseline===`bottom`?m-s+c:i.baseline===`middle`?m-s/2:m-i.size*.8-c,g={position:`absolute`,left:i.align===`left`?p:i.align===`right`?p-u:p-u/2,top:h,width:u,textAlign:i.align,fontSize:i.size,lineHeight:s,color:i.color,fontWeight:String(i.weight),includeFontPadding:!1,...o?{fontFamily:o}:null,...i.halo?{textShadowColor:i.halo,textShadowRadius:2,textShadowOffset:{width:0,height:0}}:null},_=(0,n.jsx)(t.Text,{numberOfLines:1,ellipsizeMode:`tail`,style:g,children:i.text},d?void 0:a);return d?(0,n.jsx)(t.View,{style:{position:`absolute`,left:i.x-f.w/2,top:i.y-f.h/2,width:f.w,height:f.h,transform:[{rotate:`${i.rotate}rad`}]},children:_},a):_}var o=(e,t,n,r)=>r?{left:0,top:0,transform:[{translateX:e},{translateY:t},...n?[{rotate:`${n}rad`}]:[]]}:{left:e,top:t,...n?{transform:[{rotate:`${n}rad`}]}:null};function s(e,r,c=``,l=!1){return e.map((e,u)=>{let d=`${c}${u}`;switch(e.t){case`box`:{let r={position:`absolute`,...o(e.x,e.y,e.rotate??0,l||!!e.rotate||(e.radius??0)>0),width:e.w,height:e.h,...e.color?{backgroundColor:e.color}:null,...e.radius?{borderRadius:e.radius}:null,...e.borderWidth?{borderWidth:e.borderWidth,borderColor:e.borderColor}:null,...e.shadow?i:null};return(0,n.jsx)(t.View,{style:r},d)}case`clip`:return(0,n.jsx)(t.View,{style:{position:`absolute`,...o(e.x,e.y,e.rotate,!0),width:e.size,height:e.size,overflow:`hidden`},children:s(e.children,r,`${d}.`,!0)},d);case`group`:return(0,n.jsx)(t.View,{needsOffscreenAlphaCompositing:e.children.length>1||e.children[0]?.t===`clip`,style:[t.StyleSheet.absoluteFill,{opacity:e.opacity}],children:s(e.children,r,`${d}.`,l)},d);case`text`:return a(e,d,r);default:return null}})}exports.renderPrims=s;
2
2
  //# sourceMappingURL=draw.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"draw.cjs","names":["measureChartText","Text","View","StyleSheet","require_measure","react_native","react_jsx_runtime","lineHeightOf","size","SHADOW","textView","lh","p","pad","estimate","w","rotated","box","ax","ay","top","style","family","text","key","renderPrims","prims","prefix","i"],"sources":["../../../../../native/src/components/ShapeChart/draw.tsx"],"sourcesContent":["// Renders the view primitives of ./geometry: absolutely positioned <View>\n// and <Text> elements, nested clipping squares for the polygons and sectors.\n\nimport type { ReactNode } from \"react\";\nimport {\n StyleSheet,\n Text,\n View,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport { measureChartText } from \"../Chart/measure\";\nimport type { Prim } from \"./geometry\";\n\ntype TextPrim = Extract<Prim, { t: \"text\" }>;\n\nconst lineHeightOf = (size: number) => Math.ceil(size * 1.35);\n\nconst SHADOW: ViewStyle = {\n shadowColor: \"#0f172a\",\n shadowOpacity: 0.18,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 6 },\n elevation: 6,\n};\n\n/** A one-line text anchored like the canvas `fillText` */\nfunction textView(\n p: TextPrim,\n key: string,\n family: string | undefined,\n): ReactNode {\n const lh = lineHeightOf(p.size);\n const pad = (lh - p.size) / 2;\n const estimate = measureChartText(\n p.text,\n `${p.weight} ${p.size}px sans-serif`,\n );\n // canvas `maxWidth` squeezes the text: ellipsize it when it would not fit\n const squeezed = p.maxWidth !== undefined && estimate > p.maxWidth + 0.5;\n const w = squeezed\n ? Math.max(1, p.maxWidth ?? 0)\n : Math.ceil(estimate * 1.4 + p.size * 2);\n const rotated = Math.abs(p.rotate) > 1e-4;\n // rotated: a wrapper centered on the anchor turns around it (RN rotates\n // around the center); it is sized for the text, as single-line texts are\n // limited to the width of their parent on the web\n const box = { w: 2 * w + 2, h: 2 * lh };\n const ax = rotated ? box.w / 2 : p.x;\n const ay = rotated ? box.h / 2 : p.y;\n const top =\n p.baseline === \"top\"\n ? ay - pad\n : p.baseline === \"bottom\"\n ? ay - lh + pad\n : p.baseline === \"middle\"\n ? ay - lh / 2\n : ay - p.size * 0.8 - pad;\n const left =\n p.align === \"left\" ? ax : p.align === \"right\" ? ax - w : ax - w / 2;\n const style: TextStyle = {\n position: \"absolute\",\n left,\n top,\n width: w,\n textAlign: p.align,\n fontSize: p.size,\n lineHeight: lh,\n color: p.color,\n fontWeight: String(p.weight) as TextStyle[\"fontWeight\"],\n includeFontPadding: false,\n ...(family ? { fontFamily: family } : null),\n ...(p.halo\n ? {\n textShadowColor: p.halo,\n textShadowRadius: 2,\n textShadowOffset: { width: 0, height: 0 },\n }\n : null),\n };\n const text = (\n <Text\n key={rotated ? undefined : key}\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n style={style}\n >\n {p.text}\n </Text>\n );\n if (!rotated) return text;\n return (\n <View\n key={key}\n style={{\n position: \"absolute\",\n left: p.x - box.w / 2,\n top: p.y - box.h / 2,\n width: box.w,\n height: box.h,\n transform: [{ rotate: `${p.rotate}rad` }],\n }}\n >\n {text}\n </View>\n );\n}\n\n/** Elements of the primitives */\nexport function renderPrims(\n prims: readonly Prim[],\n family: string | undefined,\n prefix = \"\",\n): ReactNode[] {\n return prims.map((p, i) => {\n const key = `${prefix}${i}`;\n switch (p.t) {\n case \"box\": {\n const style: ViewStyle = {\n position: \"absolute\",\n left: p.x,\n top: p.y,\n width: p.w,\n height: p.h,\n ...(p.color ? { backgroundColor: p.color } : null),\n ...(p.radius ? { borderRadius: p.radius } : null),\n ...(p.borderWidth\n ? { borderWidth: p.borderWidth, borderColor: p.borderColor }\n : null),\n ...(p.rotate ? { transform: [{ rotate: `${p.rotate}rad` }] } : null),\n ...(p.shadow ? SHADOW : null),\n };\n return <View key={key} style={style} />;\n }\n case \"clip\":\n return (\n <View\n key={key}\n style={{\n position: \"absolute\",\n left: p.x,\n top: p.y,\n width: p.size,\n height: p.size,\n overflow: \"hidden\",\n transform: [{ rotate: `${p.rotate}rad` }],\n }}\n >\n {renderPrims(p.children, family, `${key}.`)}\n </View>\n );\n case \"group\":\n return (\n <View\n key={key}\n needsOffscreenAlphaCompositing={\n p.children.length > 1 || p.children[0]?.t === \"clip\"\n }\n style={[StyleSheet.absoluteFill, { opacity: p.opacity }]}\n >\n {renderPrims(p.children, family, `${key}.`)}\n </View>\n );\n case \"text\":\n return textView(p, key, family);\n default:\n return null;\n }\n });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"draw.cjs","names":["measureChartText","Text","View","StyleSheet","require_measure","react_native","react_jsx_runtime","lineHeightOf","size","SHADOW","textView","lh","p","pad","estimate","w","rotated","box","ax","ay","top","style","family","text","key","placed","exact","x","y","rotate","renderPrims","prims","prefix","i","inClip"],"sources":["../../../../../native/src/components/ShapeChart/draw.tsx"],"sourcesContent":["// Renders the view primitives of ./geometry: absolutely positioned <View>\n// and <Text> elements, nested clipping squares for the polygons and sectors.\n\nimport type { ReactNode } from \"react\";\nimport {\n StyleSheet,\n Text,\n View,\n type TextStyle,\n type ViewStyle,\n} from \"react-native\";\nimport { measureChartText } from \"../Chart/measure\";\nimport type { Prim } from \"./geometry\";\n\ntype TextPrim = Extract<Prim, { t: \"text\" }>;\n\nconst lineHeightOf = (size: number) => Math.ceil(size * 1.35);\n\nconst SHADOW: ViewStyle = {\n shadowColor: \"#0f172a\",\n shadowOpacity: 0.18,\n shadowRadius: 8,\n shadowOffset: { width: 0, height: 6 },\n elevation: 6,\n};\n\n/** A one-line text anchored like the canvas `fillText` */\nfunction textView(\n p: TextPrim,\n key: string,\n family: string | undefined,\n): ReactNode {\n const lh = lineHeightOf(p.size);\n const pad = (lh - p.size) / 2;\n const estimate = measureChartText(\n p.text,\n `${p.weight} ${p.size}px sans-serif`,\n );\n // canvas `maxWidth` squeezes the text: ellipsize it when it would not fit\n const squeezed = p.maxWidth !== undefined && estimate > p.maxWidth + 0.5;\n const w = squeezed\n ? Math.max(1, p.maxWidth ?? 0)\n : Math.ceil(estimate * 1.4 + p.size * 2);\n const rotated = Math.abs(p.rotate) > 1e-4;\n // rotated: a wrapper centered on the anchor turns around it (RN rotates\n // around the center); it is sized for the text, as single-line texts are\n // limited to the width of their parent on the web\n const box = { w: 2 * w + 2, h: 2 * lh };\n const ax = rotated ? box.w / 2 : p.x;\n const ay = rotated ? box.h / 2 : p.y;\n const top =\n p.baseline === \"top\"\n ? ay - pad\n : p.baseline === \"bottom\"\n ? ay - lh + pad\n : p.baseline === \"middle\"\n ? ay - lh / 2\n : ay - p.size * 0.8 - pad;\n const left =\n p.align === \"left\" ? ax : p.align === \"right\" ? ax - w : ax - w / 2;\n const style: TextStyle = {\n position: \"absolute\",\n left,\n top,\n width: w,\n textAlign: p.align,\n fontSize: p.size,\n lineHeight: lh,\n color: p.color,\n fontWeight: String(p.weight) as TextStyle[\"fontWeight\"],\n includeFontPadding: false,\n ...(family ? { fontFamily: family } : null),\n ...(p.halo\n ? {\n textShadowColor: p.halo,\n textShadowRadius: 2,\n textShadowOffset: { width: 0, height: 0 },\n }\n : null),\n };\n const text = (\n <Text\n key={rotated ? undefined : key}\n numberOfLines={1}\n ellipsizeMode=\"tail\"\n style={style}\n >\n {p.text}\n </Text>\n );\n if (!rotated) return text;\n return (\n <View\n key={key}\n style={{\n position: \"absolute\",\n left: p.x - box.w / 2,\n top: p.y - box.h / 2,\n width: box.w,\n height: box.h,\n transform: [{ rotate: `${p.rotate}rad` }],\n }}\n >\n {text}\n </View>\n );\n}\n\n/**\n * Position of a view: rotated or curved views (and anything inside a clip)\n * are placed with a translation, kept exact by the renderers, as layout\n * offsets are rounded to the pixel grid before a rotation applies (up to\n * half a pixel per nested clip: visible steps at the rounded corners);\n * straight views keep the crisp edges of the rounded layout\n */\nconst placed = (\n x: number,\n y: number,\n rotate: number,\n exact: boolean,\n): ViewStyle =>\n exact\n ? {\n left: 0,\n top: 0,\n transform: [\n { translateX: x },\n { translateY: y },\n ...(rotate ? [{ rotate: `${rotate}rad` }] : []),\n ],\n }\n : {\n left: x,\n top: y,\n ...(rotate ? { transform: [{ rotate: `${rotate}rad` }] } : null),\n };\n\n/** Elements of the primitives */\nexport function renderPrims(\n prims: readonly Prim[],\n family: string | undefined,\n prefix = \"\",\n inClip = false,\n): ReactNode[] {\n return prims.map((p, i) => {\n const key = `${prefix}${i}`;\n switch (p.t) {\n case \"box\": {\n const style: ViewStyle = {\n position: \"absolute\",\n ...placed(\n p.x,\n p.y,\n p.rotate ?? 0,\n inClip || !!p.rotate || (p.radius ?? 0) > 0,\n ),\n width: p.w,\n height: p.h,\n ...(p.color ? { backgroundColor: p.color } : null),\n ...(p.radius ? { borderRadius: p.radius } : null),\n ...(p.borderWidth\n ? { borderWidth: p.borderWidth, borderColor: p.borderColor }\n : null),\n ...(p.shadow ? SHADOW : null),\n };\n return <View key={key} style={style} />;\n }\n case \"clip\":\n return (\n <View\n key={key}\n style={{\n position: \"absolute\",\n ...placed(p.x, p.y, p.rotate, true),\n width: p.size,\n height: p.size,\n overflow: \"hidden\",\n }}\n >\n {renderPrims(p.children, family, `${key}.`, true)}\n </View>\n );\n case \"group\":\n return (\n <View\n key={key}\n needsOffscreenAlphaCompositing={\n p.children.length > 1 || p.children[0]?.t === \"clip\"\n }\n style={[StyleSheet.absoluteFill, { opacity: p.opacity }]}\n >\n {renderPrims(p.children, family, `${key}.`, inClip)}\n </View>\n );\n case \"text\":\n return textView(p, key, family);\n default:\n return null;\n }\n });\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { Prim } from './geometry.cjs';
3
3
  /** Elements of the primitives */
4
- export declare function renderPrims(prims: readonly Prim[], family: string | undefined, prefix?: string): ReactNode[];
4
+ export declare function renderPrims(prims: readonly Prim[], family: string | undefined, prefix?: string, inClip?: boolean): ReactNode[];
@@ -1,4 +1,4 @@
1
1
  import { ReactNode } from 'react';
2
2
  import { Prim } from './geometry.js';
3
3
  /** Elements of the primitives */
4
- export declare function renderPrims(prims: readonly Prim[], family: string | undefined, prefix?: string): ReactNode[];
4
+ export declare function renderPrims(prims: readonly Prim[], family: string | undefined, prefix?: string, inClip?: boolean): ReactNode[];