minerva-design 1.2.0 → 1.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1226) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +13630 -4757
  4. package/dist/angular/fesm2022/minerva-angular.mjs +6872 -172
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +2240 -0
  7. package/dist/charts/canvas.d.cts +10 -2
  8. package/dist/charts/canvas.d.ts +10 -2
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +9 -3
  11. package/dist/charts/core.d.ts +9 -3
  12. package/dist/charts/core.js +19 -6
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +6 -6
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.d.cts +11 -1
  20. package/dist/charts/engine/canvas.d.ts +11 -1
  21. package/dist/charts/engine/canvas.js +161 -99
  22. package/dist/charts/engine/canvas.js.map +1 -1
  23. package/dist/charts/engine/chart.cjs +1 -2
  24. package/dist/charts/engine/chart.cjs.map +1 -1
  25. package/dist/charts/engine/chart.d.cts +1 -1
  26. package/dist/charts/engine/chart.d.ts +1 -1
  27. package/dist/charts/engine/chart.js +390 -349
  28. package/dist/charts/engine/chart.js.map +1 -1
  29. package/dist/charts/engine/color.cjs +1 -1
  30. package/dist/charts/engine/color.cjs.map +1 -1
  31. package/dist/charts/engine/color.d.cts +17 -0
  32. package/dist/charts/engine/color.d.ts +17 -0
  33. package/dist/charts/engine/color.js +27 -3
  34. package/dist/charts/engine/color.js.map +1 -1
  35. package/dist/charts/engine/controller.cjs +2 -2
  36. package/dist/charts/engine/controller.cjs.map +1 -1
  37. package/dist/charts/engine/controller.d.cts +17 -2
  38. package/dist/charts/engine/controller.d.ts +17 -2
  39. package/dist/charts/engine/controller.js +404 -280
  40. package/dist/charts/engine/controller.js.map +1 -1
  41. package/dist/charts/engine/curve.cjs +2 -0
  42. package/dist/charts/engine/curve.cjs.map +1 -0
  43. package/dist/charts/engine/curve.d.cts +15 -0
  44. package/dist/charts/engine/curve.d.ts +15 -0
  45. package/dist/charts/engine/curve.js +56 -0
  46. package/dist/charts/engine/curve.js.map +1 -0
  47. package/dist/charts/engine/data.cjs +1 -1
  48. package/dist/charts/engine/data.cjs.map +1 -1
  49. package/dist/charts/engine/data.d.cts +21 -2
  50. package/dist/charts/engine/data.d.ts +21 -2
  51. package/dist/charts/engine/data.js +117 -43
  52. package/dist/charts/engine/data.js.map +1 -1
  53. package/dist/charts/engine/dom.cjs +1 -1
  54. package/dist/charts/engine/dom.cjs.map +1 -1
  55. package/dist/charts/engine/dom.d.cts +5 -3
  56. package/dist/charts/engine/dom.d.ts +5 -3
  57. package/dist/charts/engine/dom.js +27 -22
  58. package/dist/charts/engine/dom.js.map +1 -1
  59. package/dist/charts/engine/format.cjs +1 -1
  60. package/dist/charts/engine/format.cjs.map +1 -1
  61. package/dist/charts/engine/format.d.cts +21 -6
  62. package/dist/charts/engine/format.d.ts +21 -6
  63. package/dist/charts/engine/format.js +46 -21
  64. package/dist/charts/engine/format.js.map +1 -1
  65. package/dist/charts/engine/items.cjs +1 -1
  66. package/dist/charts/engine/items.cjs.map +1 -1
  67. package/dist/charts/engine/items.js +290 -62
  68. package/dist/charts/engine/items.js.map +1 -1
  69. package/dist/charts/engine/labels.cjs +2 -0
  70. package/dist/charts/engine/labels.cjs.map +1 -0
  71. package/dist/charts/engine/labels.d.cts +13 -0
  72. package/dist/charts/engine/labels.d.ts +13 -0
  73. package/dist/charts/engine/labels.js +74 -0
  74. package/dist/charts/engine/labels.js.map +1 -0
  75. package/dist/charts/engine/layout.cjs +1 -1
  76. package/dist/charts/engine/layout.cjs.map +1 -1
  77. package/dist/charts/engine/layout.d.cts +34 -2
  78. package/dist/charts/engine/layout.d.ts +34 -2
  79. package/dist/charts/engine/layout.js +53 -12
  80. package/dist/charts/engine/layout.js.map +1 -1
  81. package/dist/charts/engine/locale.cjs +2 -0
  82. package/dist/charts/engine/locale.cjs.map +1 -0
  83. package/dist/charts/engine/locale.d.cts +33 -0
  84. package/dist/charts/engine/locale.d.ts +33 -0
  85. package/dist/charts/engine/locale.js +68 -0
  86. package/dist/charts/engine/locale.js.map +1 -0
  87. package/dist/charts/engine/model.cjs +1 -1
  88. package/dist/charts/engine/model.cjs.map +1 -1
  89. package/dist/charts/engine/model.d.cts +68 -3
  90. package/dist/charts/engine/model.d.ts +68 -3
  91. package/dist/charts/engine/model.js +332 -108
  92. package/dist/charts/engine/model.js.map +1 -1
  93. package/dist/charts/engine/orderbook/book.cjs +2 -0
  94. package/dist/charts/engine/orderbook/book.cjs.map +1 -0
  95. package/dist/charts/engine/orderbook/book.d.cts +28 -0
  96. package/dist/charts/engine/orderbook/book.d.ts +28 -0
  97. package/dist/charts/engine/orderbook/book.js +134 -0
  98. package/dist/charts/engine/orderbook/book.js.map +1 -0
  99. package/dist/charts/engine/orderbook/depth.cjs +2 -0
  100. package/dist/charts/engine/orderbook/depth.cjs.map +1 -0
  101. package/dist/charts/engine/orderbook/depth.d.cts +7 -0
  102. package/dist/charts/engine/orderbook/depth.d.ts +7 -0
  103. package/dist/charts/engine/orderbook/depth.js +413 -0
  104. package/dist/charts/engine/orderbook/depth.js.map +1 -0
  105. package/dist/charts/engine/orderbook/format.cjs +2 -0
  106. package/dist/charts/engine/orderbook/format.cjs.map +1 -0
  107. package/dist/charts/engine/orderbook/format.d.cts +48 -0
  108. package/dist/charts/engine/orderbook/format.d.ts +48 -0
  109. package/dist/charts/engine/orderbook/format.js +65 -0
  110. package/dist/charts/engine/orderbook/format.js.map +1 -0
  111. package/dist/charts/engine/orderbook/heatmap.cjs +2 -0
  112. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -0
  113. package/dist/charts/engine/orderbook/heatmap.d.cts +9 -0
  114. package/dist/charts/engine/orderbook/heatmap.d.ts +9 -0
  115. package/dist/charts/engine/orderbook/heatmap.js +703 -0
  116. package/dist/charts/engine/orderbook/heatmap.js.map +1 -0
  117. package/dist/charts/engine/orderbook/host.cjs +2 -0
  118. package/dist/charts/engine/orderbook/host.cjs.map +1 -0
  119. package/dist/charts/engine/orderbook/host.d.cts +50 -0
  120. package/dist/charts/engine/orderbook/host.d.ts +50 -0
  121. package/dist/charts/engine/orderbook/host.js +161 -0
  122. package/dist/charts/engine/orderbook/host.js.map +1 -0
  123. package/dist/charts/engine/orderbook/index.cjs +1 -0
  124. package/dist/charts/engine/orderbook/index.d.cts +6 -0
  125. package/dist/charts/engine/orderbook/index.d.ts +6 -0
  126. package/dist/charts/engine/orderbook/index.js +6 -0
  127. package/dist/charts/engine/orderbook/ladder.cjs +2 -0
  128. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -0
  129. package/dist/charts/engine/orderbook/ladder.d.cts +6 -0
  130. package/dist/charts/engine/orderbook/ladder.d.ts +6 -0
  131. package/dist/charts/engine/orderbook/ladder.js +341 -0
  132. package/dist/charts/engine/orderbook/ladder.js.map +1 -0
  133. package/dist/charts/engine/orderbook/tape.cjs +2 -0
  134. package/dist/charts/engine/orderbook/tape.cjs.map +1 -0
  135. package/dist/charts/engine/orderbook/tape.d.cts +6 -0
  136. package/dist/charts/engine/orderbook/tape.d.ts +6 -0
  137. package/dist/charts/engine/orderbook/tape.js +450 -0
  138. package/dist/charts/engine/orderbook/tape.js.map +1 -0
  139. package/dist/charts/engine/orderbook/types.d.cts +735 -0
  140. package/dist/charts/engine/orderbook/types.d.ts +735 -0
  141. package/dist/charts/engine/overlay.cjs +1 -1
  142. package/dist/charts/engine/overlay.cjs.map +1 -1
  143. package/dist/charts/engine/overlay.d.cts +18 -0
  144. package/dist/charts/engine/overlay.d.ts +18 -0
  145. package/dist/charts/engine/overlay.js +138 -102
  146. package/dist/charts/engine/overlay.js.map +1 -1
  147. package/dist/charts/engine/presets.cjs +2 -2
  148. package/dist/charts/engine/presets.cjs.map +1 -1
  149. package/dist/charts/engine/presets.d.cts +319 -5
  150. package/dist/charts/engine/presets.d.ts +319 -5
  151. package/dist/charts/engine/presets.js +463 -38
  152. package/dist/charts/engine/presets.js.map +1 -1
  153. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  154. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  155. package/dist/charts/engine/renderers/canvas2d.js +149 -111
  156. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  157. package/dist/charts/engine/renderers/detect.cjs +1 -1
  158. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  159. package/dist/charts/engine/renderers/detect.js +18 -15
  160. package/dist/charts/engine/renderers/detect.js.map +1 -1
  161. package/dist/charts/engine/renderers/gl.cjs +2 -0
  162. package/dist/charts/engine/renderers/gl.cjs.map +1 -0
  163. package/dist/charts/engine/renderers/gl.d.cts +21 -0
  164. package/dist/charts/engine/renderers/gl.d.ts +21 -0
  165. package/dist/charts/engine/renderers/gl.js +56 -0
  166. package/dist/charts/engine/renderers/gl.js.map +1 -0
  167. package/dist/charts/engine/renderers/range.cjs +1 -1
  168. package/dist/charts/engine/renderers/range.cjs.map +1 -1
  169. package/dist/charts/engine/renderers/range.js +4 -4
  170. package/dist/charts/engine/renderers/range.js.map +1 -1
  171. package/dist/charts/engine/renderers/shaders.cjs +180 -20
  172. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  173. package/dist/charts/engine/renderers/shaders.d.cts +18 -2
  174. package/dist/charts/engine/renderers/shaders.d.ts +18 -2
  175. package/dist/charts/engine/renderers/shaders.js +176 -20
  176. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  177. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  178. package/dist/charts/engine/renderers/types.d.cts +11 -4
  179. package/dist/charts/engine/renderers/types.d.ts +11 -4
  180. package/dist/charts/engine/renderers/types.js.map +1 -1
  181. package/dist/charts/engine/renderers/webgl.cjs +2 -0
  182. package/dist/charts/engine/renderers/webgl.cjs.map +1 -0
  183. package/dist/charts/engine/renderers/webgl.d.cts +4 -0
  184. package/dist/charts/engine/renderers/webgl.d.ts +4 -0
  185. package/dist/charts/engine/renderers/webgl.js +133 -0
  186. package/dist/charts/engine/renderers/webgl.js.map +1 -0
  187. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  188. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  189. package/dist/charts/engine/renderers/webgl2.d.cts +0 -1
  190. package/dist/charts/engine/renderers/webgl2.d.ts +0 -1
  191. package/dist/charts/engine/renderers/webgl2.js +62 -90
  192. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  193. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  194. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  195. package/dist/charts/engine/renderers/webgpu.js +18 -15
  196. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  197. package/dist/charts/engine/scale.cjs +1 -1
  198. package/dist/charts/engine/scale.cjs.map +1 -1
  199. package/dist/charts/engine/scale.js +1 -1
  200. package/dist/charts/engine/scale.js.map +1 -1
  201. package/dist/charts/engine/scene.cjs +1 -1
  202. package/dist/charts/engine/scene.cjs.map +1 -1
  203. package/dist/charts/engine/scene.d.cts +32 -9
  204. package/dist/charts/engine/scene.d.ts +32 -9
  205. package/dist/charts/engine/scene.js +363 -122
  206. package/dist/charts/engine/scene.js.map +1 -1
  207. package/dist/charts/engine/shapes/bullet.cjs +2 -0
  208. package/dist/charts/engine/shapes/bullet.cjs.map +1 -0
  209. package/dist/charts/engine/shapes/bullet.d.cts +6 -0
  210. package/dist/charts/engine/shapes/bullet.d.ts +6 -0
  211. package/dist/charts/engine/shapes/bullet.js +255 -0
  212. package/dist/charts/engine/shapes/bullet.js.map +1 -0
  213. package/dist/charts/engine/shapes/calendar.cjs +2 -0
  214. package/dist/charts/engine/shapes/calendar.cjs.map +1 -0
  215. package/dist/charts/engine/shapes/calendar.d.cts +38 -0
  216. package/dist/charts/engine/shapes/calendar.d.ts +38 -0
  217. package/dist/charts/engine/shapes/calendar.js +369 -0
  218. package/dist/charts/engine/shapes/calendar.js.map +1 -0
  219. package/dist/charts/engine/shapes/canvas.cjs +2 -0
  220. package/dist/charts/engine/shapes/canvas.cjs.map +1 -0
  221. package/dist/charts/engine/shapes/canvas.d.cts +65 -0
  222. package/dist/charts/engine/shapes/canvas.d.ts +65 -0
  223. package/dist/charts/engine/shapes/canvas.js +168 -0
  224. package/dist/charts/engine/shapes/canvas.js.map +1 -0
  225. package/dist/charts/engine/shapes/chart.cjs +2 -0
  226. package/dist/charts/engine/shapes/chart.cjs.map +1 -0
  227. package/dist/charts/engine/shapes/chart.d.cts +7 -0
  228. package/dist/charts/engine/shapes/chart.d.ts +7 -0
  229. package/dist/charts/engine/shapes/chart.js +292 -0
  230. package/dist/charts/engine/shapes/chart.js.map +1 -0
  231. package/dist/charts/engine/shapes/draw.cjs +2 -0
  232. package/dist/charts/engine/shapes/draw.cjs.map +1 -0
  233. package/dist/charts/engine/shapes/draw.d.cts +22 -0
  234. package/dist/charts/engine/shapes/draw.d.ts +22 -0
  235. package/dist/charts/engine/shapes/draw.js +165 -0
  236. package/dist/charts/engine/shapes/draw.js.map +1 -0
  237. package/dist/charts/engine/shapes/funnel.cjs +2 -0
  238. package/dist/charts/engine/shapes/funnel.cjs.map +1 -0
  239. package/dist/charts/engine/shapes/funnel.d.cts +6 -0
  240. package/dist/charts/engine/shapes/funnel.d.ts +6 -0
  241. package/dist/charts/engine/shapes/funnel.js +149 -0
  242. package/dist/charts/engine/shapes/funnel.js.map +1 -0
  243. package/dist/charts/engine/shapes/gauge.cjs +2 -0
  244. package/dist/charts/engine/shapes/gauge.cjs.map +1 -0
  245. package/dist/charts/engine/shapes/gauge.d.cts +7 -0
  246. package/dist/charts/engine/shapes/gauge.d.ts +7 -0
  247. package/dist/charts/engine/shapes/gauge.js +210 -0
  248. package/dist/charts/engine/shapes/gauge.js.map +1 -0
  249. package/dist/charts/engine/shapes/hit.cjs +2 -0
  250. package/dist/charts/engine/shapes/hit.cjs.map +1 -0
  251. package/dist/charts/engine/shapes/hit.d.cts +30 -0
  252. package/dist/charts/engine/shapes/hit.d.ts +30 -0
  253. package/dist/charts/engine/shapes/hit.js +145 -0
  254. package/dist/charts/engine/shapes/hit.js.map +1 -0
  255. package/dist/charts/engine/shapes/index.d.cts +12 -0
  256. package/dist/charts/engine/shapes/index.d.ts +12 -0
  257. package/dist/charts/engine/shapes/labels.cjs +2 -0
  258. package/dist/charts/engine/shapes/labels.cjs.map +1 -0
  259. package/dist/charts/engine/shapes/labels.d.cts +14 -0
  260. package/dist/charts/engine/shapes/labels.d.ts +14 -0
  261. package/dist/charts/engine/shapes/labels.js +146 -0
  262. package/dist/charts/engine/shapes/labels.js.map +1 -0
  263. package/dist/charts/engine/shapes/layout.cjs +3 -0
  264. package/dist/charts/engine/shapes/layout.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/layout.d.cts +93 -0
  266. package/dist/charts/engine/shapes/layout.d.ts +93 -0
  267. package/dist/charts/engine/shapes/layout.js +353 -0
  268. package/dist/charts/engine/shapes/layout.js.map +1 -0
  269. package/dist/charts/engine/shapes/pie.cjs +2 -0
  270. package/dist/charts/engine/shapes/pie.cjs.map +1 -0
  271. package/dist/charts/engine/shapes/pie.d.cts +20 -0
  272. package/dist/charts/engine/shapes/pie.d.ts +20 -0
  273. package/dist/charts/engine/shapes/pie.js +302 -0
  274. package/dist/charts/engine/shapes/pie.js.map +1 -0
  275. package/dist/charts/engine/shapes/radar.cjs +2 -0
  276. package/dist/charts/engine/shapes/radar.cjs.map +1 -0
  277. package/dist/charts/engine/shapes/radar.d.cts +8 -0
  278. package/dist/charts/engine/shapes/radar.d.ts +8 -0
  279. package/dist/charts/engine/shapes/radar.js +198 -0
  280. package/dist/charts/engine/shapes/radar.js.map +1 -0
  281. package/dist/charts/engine/shapes/radialBar.cjs +2 -0
  282. package/dist/charts/engine/shapes/radialBar.cjs.map +1 -0
  283. package/dist/charts/engine/shapes/radialBar.d.cts +8 -0
  284. package/dist/charts/engine/shapes/radialBar.d.ts +8 -0
  285. package/dist/charts/engine/shapes/radialBar.js +155 -0
  286. package/dist/charts/engine/shapes/radialBar.js.map +1 -0
  287. package/dist/charts/engine/shapes/runtime.cjs +2 -0
  288. package/dist/charts/engine/shapes/runtime.cjs.map +1 -0
  289. package/dist/charts/engine/shapes/runtime.d.cts +36 -0
  290. package/dist/charts/engine/shapes/runtime.d.ts +36 -0
  291. package/dist/charts/engine/shapes/runtime.js +107 -0
  292. package/dist/charts/engine/shapes/runtime.js.map +1 -0
  293. package/dist/charts/engine/shapes/sankey.cjs +2 -0
  294. package/dist/charts/engine/shapes/sankey.cjs.map +1 -0
  295. package/dist/charts/engine/shapes/sankey.d.cts +29 -0
  296. package/dist/charts/engine/shapes/sankey.d.ts +29 -0
  297. package/dist/charts/engine/shapes/sankey.js +372 -0
  298. package/dist/charts/engine/shapes/sankey.js.map +1 -0
  299. package/dist/charts/engine/shapes/scene.cjs +2 -0
  300. package/dist/charts/engine/shapes/scene.cjs.map +1 -0
  301. package/dist/charts/engine/shapes/scene.d.cts +311 -0
  302. package/dist/charts/engine/shapes/scene.d.ts +311 -0
  303. package/dist/charts/engine/shapes/scene.js +125 -0
  304. package/dist/charts/engine/shapes/scene.js.map +1 -0
  305. package/dist/charts/engine/shapes/sunburst.cjs +2 -0
  306. package/dist/charts/engine/shapes/sunburst.cjs.map +1 -0
  307. package/dist/charts/engine/shapes/sunburst.d.cts +6 -0
  308. package/dist/charts/engine/shapes/sunburst.d.ts +6 -0
  309. package/dist/charts/engine/shapes/sunburst.js +261 -0
  310. package/dist/charts/engine/shapes/sunburst.js.map +1 -0
  311. package/dist/charts/engine/shapes/treemap.cjs +2 -0
  312. package/dist/charts/engine/shapes/treemap.cjs.map +1 -0
  313. package/dist/charts/engine/shapes/treemap.d.cts +14 -0
  314. package/dist/charts/engine/shapes/treemap.d.ts +14 -0
  315. package/dist/charts/engine/shapes/treemap.js +213 -0
  316. package/dist/charts/engine/shapes/treemap.js.map +1 -0
  317. package/dist/charts/engine/shapes/types.d.cts +719 -0
  318. package/dist/charts/engine/shapes/types.d.ts +719 -0
  319. package/dist/charts/engine/signature.cjs +2 -0
  320. package/dist/charts/engine/signature.cjs.map +1 -0
  321. package/dist/charts/engine/signature.d.cts +9 -0
  322. package/dist/charts/engine/signature.d.ts +9 -0
  323. package/dist/charts/engine/signature.js +13 -0
  324. package/dist/charts/engine/signature.js.map +1 -0
  325. package/dist/charts/engine/theme.cjs +1 -1
  326. package/dist/charts/engine/theme.cjs.map +1 -1
  327. package/dist/charts/engine/theme.d.cts +10 -1
  328. package/dist/charts/engine/theme.d.ts +10 -1
  329. package/dist/charts/engine/theme.js +40 -16
  330. package/dist/charts/engine/theme.js.map +1 -1
  331. package/dist/charts/engine/three-d/canvas2d.cjs +2 -0
  332. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -0
  333. package/dist/charts/engine/three-d/canvas2d.d.cts +4 -0
  334. package/dist/charts/engine/three-d/canvas2d.d.ts +4 -0
  335. package/dist/charts/engine/three-d/canvas2d.js +104 -0
  336. package/dist/charts/engine/three-d/canvas2d.js.map +1 -0
  337. package/dist/charts/engine/three-d/chart.cjs +2 -0
  338. package/dist/charts/engine/three-d/chart.cjs.map +1 -0
  339. package/dist/charts/engine/three-d/chart.d.cts +15 -0
  340. package/dist/charts/engine/three-d/chart.d.ts +15 -0
  341. package/dist/charts/engine/three-d/chart.js +621 -0
  342. package/dist/charts/engine/three-d/chart.js.map +1 -0
  343. package/dist/charts/engine/three-d/colormap.cjs +2 -0
  344. package/dist/charts/engine/three-d/colormap.cjs.map +1 -0
  345. package/dist/charts/engine/three-d/colormap.d.cts +16 -0
  346. package/dist/charts/engine/three-d/colormap.d.ts +16 -0
  347. package/dist/charts/engine/three-d/colormap.js +166 -0
  348. package/dist/charts/engine/three-d/colormap.js.map +1 -0
  349. package/dist/charts/engine/three-d/contours.cjs +2 -0
  350. package/dist/charts/engine/three-d/contours.cjs.map +1 -0
  351. package/dist/charts/engine/three-d/contours.d.cts +7 -0
  352. package/dist/charts/engine/three-d/contours.d.ts +7 -0
  353. package/dist/charts/engine/three-d/contours.js +47 -0
  354. package/dist/charts/engine/three-d/contours.js.map +1 -0
  355. package/dist/charts/engine/three-d/detect.cjs +2 -0
  356. package/dist/charts/engine/three-d/detect.cjs.map +1 -0
  357. package/dist/charts/engine/three-d/detect.d.cts +11 -0
  358. package/dist/charts/engine/three-d/detect.d.ts +11 -0
  359. package/dist/charts/engine/three-d/detect.js +35 -0
  360. package/dist/charts/engine/three-d/detect.js.map +1 -0
  361. package/dist/charts/engine/three-d/dom.cjs +2 -0
  362. package/dist/charts/engine/three-d/dom.cjs.map +1 -0
  363. package/dist/charts/engine/three-d/dom.d.cts +21 -0
  364. package/dist/charts/engine/three-d/dom.d.ts +21 -0
  365. package/dist/charts/engine/three-d/dom.js +98 -0
  366. package/dist/charts/engine/three-d/dom.js.map +1 -0
  367. package/dist/charts/engine/three-d/geometry.cjs +2 -0
  368. package/dist/charts/engine/three-d/geometry.cjs.map +1 -0
  369. package/dist/charts/engine/three-d/geometry.d.cts +76 -0
  370. package/dist/charts/engine/three-d/geometry.d.ts +76 -0
  371. package/dist/charts/engine/three-d/geometry.js +529 -0
  372. package/dist/charts/engine/three-d/geometry.js.map +1 -0
  373. package/dist/charts/engine/three-d/hover.cjs +2 -0
  374. package/dist/charts/engine/three-d/hover.cjs.map +1 -0
  375. package/dist/charts/engine/three-d/hover.d.cts +25 -0
  376. package/dist/charts/engine/three-d/hover.d.ts +25 -0
  377. package/dist/charts/engine/three-d/hover.js +131 -0
  378. package/dist/charts/engine/three-d/hover.js.map +1 -0
  379. package/dist/charts/engine/three-d/index.cjs +1 -0
  380. package/dist/charts/engine/three-d/index.d.cts +2 -0
  381. package/dist/charts/engine/three-d/index.d.ts +2 -0
  382. package/dist/charts/engine/three-d/index.js +2 -0
  383. package/dist/charts/engine/three-d/labels.cjs +2 -0
  384. package/dist/charts/engine/three-d/labels.cjs.map +1 -0
  385. package/dist/charts/engine/three-d/labels.d.cts +23 -0
  386. package/dist/charts/engine/three-d/labels.d.ts +23 -0
  387. package/dist/charts/engine/three-d/labels.js +136 -0
  388. package/dist/charts/engine/three-d/labels.js.map +1 -0
  389. package/dist/charts/engine/three-d/math.cjs +2 -0
  390. package/dist/charts/engine/three-d/math.cjs.map +1 -0
  391. package/dist/charts/engine/three-d/math.d.cts +84 -0
  392. package/dist/charts/engine/three-d/math.d.ts +84 -0
  393. package/dist/charts/engine/three-d/math.js +150 -0
  394. package/dist/charts/engine/three-d/math.js.map +1 -0
  395. package/dist/charts/engine/three-d/model.cjs +2 -0
  396. package/dist/charts/engine/three-d/model.cjs.map +1 -0
  397. package/dist/charts/engine/three-d/model.d.cts +130 -0
  398. package/dist/charts/engine/three-d/model.d.ts +130 -0
  399. package/dist/charts/engine/three-d/model.js +277 -0
  400. package/dist/charts/engine/three-d/model.js.map +1 -0
  401. package/dist/charts/engine/three-d/overlay.cjs +2 -0
  402. package/dist/charts/engine/three-d/overlay.cjs.map +1 -0
  403. package/dist/charts/engine/three-d/overlay.d.cts +72 -0
  404. package/dist/charts/engine/three-d/overlay.d.ts +72 -0
  405. package/dist/charts/engine/three-d/overlay.js +197 -0
  406. package/dist/charts/engine/three-d/overlay.js.map +1 -0
  407. package/dist/charts/engine/three-d/pick.cjs +2 -0
  408. package/dist/charts/engine/three-d/pick.cjs.map +1 -0
  409. package/dist/charts/engine/three-d/pick.d.cts +52 -0
  410. package/dist/charts/engine/three-d/pick.d.ts +52 -0
  411. package/dist/charts/engine/three-d/pick.js +220 -0
  412. package/dist/charts/engine/three-d/pick.js.map +1 -0
  413. package/dist/charts/engine/three-d/render-types.cjs +2 -0
  414. package/dist/charts/engine/three-d/render-types.cjs.map +1 -0
  415. package/dist/charts/engine/three-d/render-types.d.cts +82 -0
  416. package/dist/charts/engine/three-d/render-types.d.ts +82 -0
  417. package/dist/charts/engine/three-d/render-types.js +13 -0
  418. package/dist/charts/engine/three-d/render-types.js.map +1 -0
  419. package/dist/charts/engine/three-d/shaders.cjs +276 -0
  420. package/dist/charts/engine/three-d/shaders.cjs.map +1 -0
  421. package/dist/charts/engine/three-d/shaders.d.cts +26 -0
  422. package/dist/charts/engine/three-d/shaders.d.ts +26 -0
  423. package/dist/charts/engine/three-d/shaders.js +191 -0
  424. package/dist/charts/engine/three-d/shaders.js.map +1 -0
  425. package/dist/charts/engine/three-d/sort.cjs +2 -0
  426. package/dist/charts/engine/three-d/sort.cjs.map +1 -0
  427. package/dist/charts/engine/three-d/sort.d.cts +18 -0
  428. package/dist/charts/engine/three-d/sort.d.ts +18 -0
  429. package/dist/charts/engine/three-d/sort.js +71 -0
  430. package/dist/charts/engine/three-d/sort.js.map +1 -0
  431. package/dist/charts/engine/three-d/types.d.cts +588 -0
  432. package/dist/charts/engine/three-d/types.d.ts +588 -0
  433. package/dist/charts/engine/three-d/webgl.cjs +2 -0
  434. package/dist/charts/engine/three-d/webgl.cjs.map +1 -0
  435. package/dist/charts/engine/three-d/webgl.d.cts +10 -0
  436. package/dist/charts/engine/three-d/webgl.d.ts +10 -0
  437. package/dist/charts/engine/three-d/webgl.js +130 -0
  438. package/dist/charts/engine/three-d/webgl.js.map +1 -0
  439. package/dist/charts/engine/three-d/webgpu.cjs +2 -0
  440. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -0
  441. package/dist/charts/engine/three-d/webgpu.d.cts +5 -0
  442. package/dist/charts/engine/three-d/webgpu.d.ts +5 -0
  443. package/dist/charts/engine/three-d/webgpu.js +249 -0
  444. package/dist/charts/engine/three-d/webgpu.js.map +1 -0
  445. package/dist/charts/engine/time.cjs +1 -1
  446. package/dist/charts/engine/time.cjs.map +1 -1
  447. package/dist/charts/engine/time.d.cts +13 -4
  448. package/dist/charts/engine/time.d.ts +13 -4
  449. package/dist/charts/engine/time.js +156 -91
  450. package/dist/charts/engine/time.js.map +1 -1
  451. package/dist/charts/engine/trading/chart.cjs +2 -0
  452. package/dist/charts/engine/trading/chart.cjs.map +1 -0
  453. package/dist/charts/engine/trading/chart.d.cts +3 -0
  454. package/dist/charts/engine/trading/chart.d.ts +3 -0
  455. package/dist/charts/engine/trading/chart.js +1507 -0
  456. package/dist/charts/engine/trading/chart.js.map +1 -0
  457. package/dist/charts/engine/trading/drawings.cjs +2 -0
  458. package/dist/charts/engine/trading/drawings.cjs.map +1 -0
  459. package/dist/charts/engine/trading/drawings.d.cts +57 -0
  460. package/dist/charts/engine/trading/drawings.d.ts +57 -0
  461. package/dist/charts/engine/trading/drawings.js +160 -0
  462. package/dist/charts/engine/trading/drawings.js.map +1 -0
  463. package/dist/charts/engine/trading/format.cjs +2 -0
  464. package/dist/charts/engine/trading/format.cjs.map +1 -0
  465. package/dist/charts/engine/trading/format.d.cts +60 -0
  466. package/dist/charts/engine/trading/format.d.ts +60 -0
  467. package/dist/charts/engine/trading/format.js +131 -0
  468. package/dist/charts/engine/trading/format.js.map +1 -0
  469. package/dist/charts/engine/trading/geometry.cjs +2 -0
  470. package/dist/charts/engine/trading/geometry.cjs.map +1 -0
  471. package/dist/charts/engine/trading/geometry.d.cts +55 -0
  472. package/dist/charts/engine/trading/geometry.d.ts +55 -0
  473. package/dist/charts/engine/trading/geometry.js +131 -0
  474. package/dist/charts/engine/trading/geometry.js.map +1 -0
  475. package/dist/charts/engine/trading/index.cjs +1 -0
  476. package/dist/charts/engine/trading/index.d.cts +3 -0
  477. package/dist/charts/engine/trading/index.d.ts +3 -0
  478. package/dist/charts/engine/trading/index.js +3 -0
  479. package/dist/charts/engine/trading/indicators.cjs +2 -0
  480. package/dist/charts/engine/trading/indicators.cjs.map +1 -0
  481. package/dist/charts/engine/trading/indicators.d.cts +105 -0
  482. package/dist/charts/engine/trading/indicators.d.ts +105 -0
  483. package/dist/charts/engine/trading/indicators.js +268 -0
  484. package/dist/charts/engine/trading/indicators.js.map +1 -0
  485. package/dist/charts/engine/trading/labels.cjs +2 -0
  486. package/dist/charts/engine/trading/labels.cjs.map +1 -0
  487. package/dist/charts/engine/trading/labels.d.cts +7 -0
  488. package/dist/charts/engine/trading/labels.d.ts +7 -0
  489. package/dist/charts/engine/trading/labels.js +91 -0
  490. package/dist/charts/engine/trading/labels.js.map +1 -0
  491. package/dist/charts/engine/trading/scale.cjs +2 -0
  492. package/dist/charts/engine/trading/scale.cjs.map +1 -0
  493. package/dist/charts/engine/trading/scale.d.cts +46 -0
  494. package/dist/charts/engine/trading/scale.d.ts +46 -0
  495. package/dist/charts/engine/trading/scale.js +100 -0
  496. package/dist/charts/engine/trading/scale.js.map +1 -0
  497. package/dist/charts/engine/trading/store.cjs +2 -0
  498. package/dist/charts/engine/trading/store.cjs.map +1 -0
  499. package/dist/charts/engine/trading/store.d.cts +62 -0
  500. package/dist/charts/engine/trading/store.d.ts +62 -0
  501. package/dist/charts/engine/trading/store.js +129 -0
  502. package/dist/charts/engine/trading/store.js.map +1 -0
  503. package/dist/charts/engine/trading/studies.cjs +2 -0
  504. package/dist/charts/engine/trading/studies.cjs.map +1 -0
  505. package/dist/charts/engine/trading/studies.d.cts +52 -0
  506. package/dist/charts/engine/trading/studies.d.ts +52 -0
  507. package/dist/charts/engine/trading/studies.js +254 -0
  508. package/dist/charts/engine/trading/studies.js.map +1 -0
  509. package/dist/charts/engine/trading/types.d.cts +656 -0
  510. package/dist/charts/engine/trading/types.d.ts +656 -0
  511. package/dist/charts/engine/types.d.cts +227 -15
  512. package/dist/charts/engine/types.d.ts +227 -15
  513. package/dist/charts/index.cjs +1 -1
  514. package/dist/charts/index.d.cts +7 -2
  515. package/dist/charts/index.d.ts +7 -2
  516. package/dist/charts/index.js +22 -8
  517. package/dist/charts/react/Chart.cjs +1 -1
  518. package/dist/charts/react/Chart.cjs.map +1 -1
  519. package/dist/charts/react/Chart.d.cts +11 -4
  520. package/dist/charts/react/Chart.d.ts +11 -4
  521. package/dist/charts/react/Chart.js +70 -47
  522. package/dist/charts/react/Chart.js.map +1 -1
  523. package/dist/charts/react/charts.cjs +1 -1
  524. package/dist/charts/react/charts.cjs.map +1 -1
  525. package/dist/charts/react/charts.d.cts +48 -2
  526. package/dist/charts/react/charts.d.ts +48 -2
  527. package/dist/charts/react/charts.js +371 -76
  528. package/dist/charts/react/charts.js.map +1 -1
  529. package/dist/charts/react/orderbook.cjs +2 -0
  530. package/dist/charts/react/orderbook.cjs.map +1 -0
  531. package/dist/charts/react/orderbook.d.cts +142 -0
  532. package/dist/charts/react/orderbook.d.ts +142 -0
  533. package/dist/charts/react/orderbook.js +182 -0
  534. package/dist/charts/react/orderbook.js.map +1 -0
  535. package/dist/charts/react/shapes.cjs +2 -0
  536. package/dist/charts/react/shapes.cjs.map +1 -0
  537. package/dist/charts/react/shapes.d.cts +537 -0
  538. package/dist/charts/react/shapes.d.ts +537 -0
  539. package/dist/charts/react/shapes.js +429 -0
  540. package/dist/charts/react/shapes.js.map +1 -0
  541. package/dist/charts/react/three-d.cjs +2 -0
  542. package/dist/charts/react/three-d.cjs.map +1 -0
  543. package/dist/charts/react/three-d.d.cts +151 -0
  544. package/dist/charts/react/three-d.d.ts +151 -0
  545. package/dist/charts/react/three-d.js +154 -0
  546. package/dist/charts/react/three-d.js.map +1 -0
  547. package/dist/charts/react/trading.cjs +2 -0
  548. package/dist/charts/react/trading.cjs.map +1 -0
  549. package/dist/charts/react/trading.d.cts +93 -0
  550. package/dist/charts/react/trading.d.ts +93 -0
  551. package/dist/charts/react/trading.js +95 -0
  552. package/dist/charts/react/trading.js.map +1 -0
  553. package/dist/charts/react/types.d.cts +200 -7
  554. package/dist/charts/react/types.d.ts +200 -7
  555. package/dist/core/contracts.cjs +1 -1
  556. package/dist/core/contracts.cjs.map +1 -1
  557. package/dist/core/contracts.js +1 -1
  558. package/dist/core/contracts.js.map +1 -1
  559. package/dist/native/charts/src/canvas.cjs +1 -1
  560. package/dist/native/charts/src/canvas.js +9 -3
  561. package/dist/native/charts/src/engine/axis.cjs +1 -1
  562. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  563. package/dist/native/charts/src/engine/axis.js +6 -6
  564. package/dist/native/charts/src/engine/axis.js.map +1 -1
  565. package/dist/native/charts/src/engine/color.cjs +1 -1
  566. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  567. package/dist/native/charts/src/engine/color.js +12 -3
  568. package/dist/native/charts/src/engine/color.js.map +1 -1
  569. package/dist/native/charts/src/engine/controller.cjs +2 -2
  570. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  571. package/dist/native/charts/src/engine/controller.js +418 -294
  572. package/dist/native/charts/src/engine/controller.js.map +1 -1
  573. package/dist/native/charts/src/engine/curve.cjs +2 -0
  574. package/dist/native/charts/src/engine/curve.cjs.map +1 -0
  575. package/dist/native/charts/src/engine/curve.js +56 -0
  576. package/dist/native/charts/src/engine/curve.js.map +1 -0
  577. package/dist/native/charts/src/engine/data.cjs +1 -1
  578. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  579. package/dist/native/charts/src/engine/data.js +117 -43
  580. package/dist/native/charts/src/engine/data.js.map +1 -1
  581. package/dist/native/charts/src/engine/format.cjs +1 -1
  582. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  583. package/dist/native/charts/src/engine/format.js +46 -21
  584. package/dist/native/charts/src/engine/format.js.map +1 -1
  585. package/dist/native/charts/src/engine/labels.cjs +2 -0
  586. package/dist/native/charts/src/engine/labels.cjs.map +1 -0
  587. package/dist/native/charts/src/engine/labels.js +74 -0
  588. package/dist/native/charts/src/engine/labels.js.map +1 -0
  589. package/dist/native/charts/src/engine/layout.cjs +1 -1
  590. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  591. package/dist/native/charts/src/engine/layout.js +53 -12
  592. package/dist/native/charts/src/engine/layout.js.map +1 -1
  593. package/dist/native/charts/src/engine/locale.cjs +2 -0
  594. package/dist/native/charts/src/engine/locale.cjs.map +1 -0
  595. package/dist/native/charts/src/engine/locale.js +60 -0
  596. package/dist/native/charts/src/engine/locale.js.map +1 -0
  597. package/dist/native/charts/src/engine/model.cjs +1 -1
  598. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  599. package/dist/native/charts/src/engine/model.js +335 -111
  600. package/dist/native/charts/src/engine/model.js.map +1 -1
  601. package/dist/native/charts/src/engine/overlay.cjs +1 -1
  602. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  603. package/dist/native/charts/src/engine/overlay.js +54 -31
  604. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  605. package/dist/native/charts/src/engine/presets.cjs +2 -2
  606. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  607. package/dist/native/charts/src/engine/presets.js +456 -34
  608. package/dist/native/charts/src/engine/presets.js.map +1 -1
  609. package/dist/native/charts/src/engine/scale.cjs +1 -1
  610. package/dist/native/charts/src/engine/scale.cjs.map +1 -1
  611. package/dist/native/charts/src/engine/scale.js +1 -1
  612. package/dist/native/charts/src/engine/scale.js.map +1 -1
  613. package/dist/native/charts/src/engine/scene.cjs +1 -1
  614. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  615. package/dist/native/charts/src/engine/scene.js +369 -128
  616. package/dist/native/charts/src/engine/scene.js.map +1 -1
  617. package/dist/native/charts/src/engine/shapes/bullet.cjs +2 -0
  618. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -0
  619. package/dist/native/charts/src/engine/shapes/bullet.js +255 -0
  620. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -0
  621. package/dist/native/charts/src/engine/shapes/calendar.cjs +2 -0
  622. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -0
  623. package/dist/native/charts/src/engine/shapes/calendar.js +364 -0
  624. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -0
  625. package/dist/native/charts/src/engine/shapes/canvas.cjs +2 -0
  626. package/dist/native/charts/src/engine/shapes/canvas.cjs.map +1 -0
  627. package/dist/native/charts/src/engine/shapes/canvas.js +168 -0
  628. package/dist/native/charts/src/engine/shapes/canvas.js.map +1 -0
  629. package/dist/native/charts/src/engine/shapes/draw.cjs +2 -0
  630. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -0
  631. package/dist/native/charts/src/engine/shapes/draw.js +165 -0
  632. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -0
  633. package/dist/native/charts/src/engine/shapes/funnel.cjs +2 -0
  634. package/dist/native/charts/src/engine/shapes/funnel.cjs.map +1 -0
  635. package/dist/native/charts/src/engine/shapes/funnel.js +149 -0
  636. package/dist/native/charts/src/engine/shapes/funnel.js.map +1 -0
  637. package/dist/native/charts/src/engine/shapes/gauge.cjs +2 -0
  638. package/dist/native/charts/src/engine/shapes/gauge.cjs.map +1 -0
  639. package/dist/native/charts/src/engine/shapes/gauge.js +210 -0
  640. package/dist/native/charts/src/engine/shapes/gauge.js.map +1 -0
  641. package/dist/native/charts/src/engine/shapes/hit.cjs +2 -0
  642. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -0
  643. package/dist/native/charts/src/engine/shapes/hit.js +106 -0
  644. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -0
  645. package/dist/native/charts/src/engine/shapes/labels.cjs +2 -0
  646. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -0
  647. package/dist/native/charts/src/engine/shapes/labels.js +146 -0
  648. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -0
  649. package/dist/native/charts/src/engine/shapes/layout.cjs +3 -0
  650. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -0
  651. package/dist/native/charts/src/engine/shapes/layout.js +331 -0
  652. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -0
  653. package/dist/native/charts/src/engine/shapes/pie.cjs +2 -0
  654. package/dist/native/charts/src/engine/shapes/pie.cjs.map +1 -0
  655. package/dist/native/charts/src/engine/shapes/pie.js +302 -0
  656. package/dist/native/charts/src/engine/shapes/pie.js.map +1 -0
  657. package/dist/native/charts/src/engine/shapes/radar.cjs +2 -0
  658. package/dist/native/charts/src/engine/shapes/radar.cjs.map +1 -0
  659. package/dist/native/charts/src/engine/shapes/radar.js +198 -0
  660. package/dist/native/charts/src/engine/shapes/radar.js.map +1 -0
  661. package/dist/native/charts/src/engine/shapes/radialBar.cjs +2 -0
  662. package/dist/native/charts/src/engine/shapes/radialBar.cjs.map +1 -0
  663. package/dist/native/charts/src/engine/shapes/radialBar.js +155 -0
  664. package/dist/native/charts/src/engine/shapes/radialBar.js.map +1 -0
  665. package/dist/native/charts/src/engine/shapes/runtime.cjs +2 -0
  666. package/dist/native/charts/src/engine/shapes/runtime.cjs.map +1 -0
  667. package/dist/native/charts/src/engine/shapes/runtime.js +107 -0
  668. package/dist/native/charts/src/engine/shapes/runtime.js.map +1 -0
  669. package/dist/native/charts/src/engine/shapes/sankey.cjs +2 -0
  670. package/dist/native/charts/src/engine/shapes/sankey.cjs.map +1 -0
  671. package/dist/native/charts/src/engine/shapes/sankey.js +372 -0
  672. package/dist/native/charts/src/engine/shapes/sankey.js.map +1 -0
  673. package/dist/native/charts/src/engine/shapes/scene.cjs +2 -0
  674. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -0
  675. package/dist/native/charts/src/engine/shapes/scene.js +125 -0
  676. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -0
  677. package/dist/native/charts/src/engine/shapes/sunburst.cjs +2 -0
  678. package/dist/native/charts/src/engine/shapes/sunburst.cjs.map +1 -0
  679. package/dist/native/charts/src/engine/shapes/sunburst.js +261 -0
  680. package/dist/native/charts/src/engine/shapes/sunburst.js.map +1 -0
  681. package/dist/native/charts/src/engine/shapes/treemap.cjs +2 -0
  682. package/dist/native/charts/src/engine/shapes/treemap.cjs.map +1 -0
  683. package/dist/native/charts/src/engine/shapes/treemap.js +213 -0
  684. package/dist/native/charts/src/engine/shapes/treemap.js.map +1 -0
  685. package/dist/native/charts/src/engine/theme.cjs.map +1 -1
  686. package/dist/native/charts/src/engine/theme.js.map +1 -1
  687. package/dist/native/charts/src/engine/time.cjs +1 -1
  688. package/dist/native/charts/src/engine/time.cjs.map +1 -1
  689. package/dist/native/charts/src/engine/time.js +156 -91
  690. package/dist/native/charts/src/engine/time.js.map +1 -1
  691. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  692. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  693. package/dist/native/components/Chart/ChartBase.d.cts +1 -1
  694. package/dist/native/components/Chart/ChartBase.d.ts +1 -1
  695. package/dist/native/components/Chart/ChartBase.js +110 -107
  696. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  697. package/dist/native/components/Chart/charts.cjs +1 -1
  698. package/dist/native/components/Chart/charts.cjs.map +1 -1
  699. package/dist/native/components/Chart/charts.d.cts +6 -1
  700. package/dist/native/components/Chart/charts.d.ts +6 -1
  701. package/dist/native/components/Chart/charts.js +53 -29
  702. package/dist/native/components/Chart/charts.js.map +1 -1
  703. package/dist/native/components/Chart/index.cjs +1 -1
  704. package/dist/native/components/Chart/index.d.cts +1 -1
  705. package/dist/native/components/Chart/index.d.ts +1 -1
  706. package/dist/native/components/Chart/index.js +2 -2
  707. package/dist/native/components/Chart/scene.cjs +1 -1
  708. package/dist/native/components/Chart/scene.cjs.map +1 -1
  709. package/dist/native/components/Chart/scene.js +244 -215
  710. package/dist/native/components/Chart/scene.js.map +1 -1
  711. package/dist/native/components/Chart/types.d.cts +26 -3
  712. package/dist/native/components/Chart/types.d.ts +26 -3
  713. package/dist/native/components/Charts/charts.cjs +2 -0
  714. package/dist/native/components/Charts/charts.cjs.map +1 -0
  715. package/dist/native/components/Charts/charts.d.cts +41 -0
  716. package/dist/native/components/Charts/charts.d.ts +41 -0
  717. package/dist/native/components/Charts/charts.js +338 -0
  718. package/dist/native/components/Charts/charts.js.map +1 -0
  719. package/dist/native/components/Charts/index.cjs +1 -0
  720. package/dist/native/components/Charts/index.d.cts +2 -0
  721. package/dist/native/components/Charts/index.d.ts +2 -0
  722. package/dist/native/components/Charts/index.js +2 -0
  723. package/dist/native/components/Charts/types.d.cts +144 -0
  724. package/dist/native/components/Charts/types.d.ts +144 -0
  725. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +2 -0
  726. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -0
  727. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +24 -0
  728. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +24 -0
  729. package/dist/native/components/ShapeChart/ShapeChartBase.js +271 -0
  730. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -0
  731. package/dist/native/components/ShapeChart/charts.cjs +2 -0
  732. package/dist/native/components/ShapeChart/charts.cjs.map +1 -0
  733. package/dist/native/components/ShapeChart/charts.d.cts +38 -0
  734. package/dist/native/components/ShapeChart/charts.d.ts +38 -0
  735. package/dist/native/components/ShapeChart/charts.js +387 -0
  736. package/dist/native/components/ShapeChart/charts.js.map +1 -0
  737. package/dist/native/components/ShapeChart/draw.cjs +2 -0
  738. package/dist/native/components/ShapeChart/draw.cjs.map +1 -0
  739. package/dist/native/components/ShapeChart/draw.d.cts +4 -0
  740. package/dist/native/components/ShapeChart/draw.d.ts +4 -0
  741. package/dist/native/components/ShapeChart/draw.js +104 -0
  742. package/dist/native/components/ShapeChart/draw.js.map +1 -0
  743. package/dist/native/components/ShapeChart/geometry.cjs +2 -0
  744. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -0
  745. package/dist/native/components/ShapeChart/geometry.d.cts +71 -0
  746. package/dist/native/components/ShapeChart/geometry.d.ts +71 -0
  747. package/dist/native/components/ShapeChart/geometry.js +602 -0
  748. package/dist/native/components/ShapeChart/geometry.js.map +1 -0
  749. package/dist/native/components/ShapeChart/index.cjs +1 -0
  750. package/dist/native/components/ShapeChart/index.d.cts +2 -0
  751. package/dist/native/components/ShapeChart/index.d.ts +2 -0
  752. package/dist/native/components/ShapeChart/index.js +2 -0
  753. package/dist/native/components/ShapeChart/recorder.cjs +2 -0
  754. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -0
  755. package/dist/native/components/ShapeChart/recorder.d.cts +106 -0
  756. package/dist/native/components/ShapeChart/recorder.d.ts +106 -0
  757. package/dist/native/components/ShapeChart/recorder.js +574 -0
  758. package/dist/native/components/ShapeChart/recorder.js.map +1 -0
  759. package/dist/native/components/ShapeChart/types.d.cts +509 -0
  760. package/dist/native/components/ShapeChart/types.d.ts +509 -0
  761. package/dist/native/index.cjs +1 -1
  762. package/dist/native/index.d.cts +2 -0
  763. package/dist/native/index.d.ts +2 -0
  764. package/dist/native/index.js +14 -10
  765. package/dist/native/manifest.d.cts +6 -4
  766. package/dist/native/manifest.d.ts +6 -4
  767. package/dist/native/source/components/Chart/ChartBase.tsx +8 -1
  768. package/dist/native/source/components/Chart/charts.tsx +42 -6
  769. package/dist/native/source/components/Chart/index.ts +1 -0
  770. package/dist/native/source/components/Chart/scene.tsx +204 -100
  771. package/dist/native/source/components/Chart/types.ts +31 -1
  772. package/dist/native/source/components/Charts/charts.tsx +493 -0
  773. package/dist/native/source/components/Charts/index.ts +14 -0
  774. package/dist/native/source/components/Charts/types.ts +207 -0
  775. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +484 -0
  776. package/dist/native/source/components/ShapeChart/charts.tsx +605 -0
  777. package/dist/native/source/components/ShapeChart/draw.tsx +170 -0
  778. package/dist/native/source/components/ShapeChart/geometry.ts +1185 -0
  779. package/dist/native/source/components/ShapeChart/index.ts +15 -0
  780. package/dist/native/source/components/ShapeChart/recorder.ts +830 -0
  781. package/dist/native/source/components/ShapeChart/types.ts +564 -0
  782. package/dist/native/source/index.ts +2 -0
  783. package/dist/native/source/manifest.ts +30 -4
  784. package/dist/taro/charts.d.ts +209 -4
  785. package/dist/taro/index.d.ts +1 -0
  786. package/dist/taro/index.js +8032 -1891
  787. package/dist/taro/manifest.d.ts +1 -0
  788. package/dist/taro/shape-charts.d.ts +537 -0
  789. package/dist/uni/AreaChart.vue +68 -0
  790. package/dist/uni/AreaChart.vue.d.ts +120 -0
  791. package/dist/uni/Badge.vue.d.ts +1 -1
  792. package/dist/uni/BoxPlotChart.vue +66 -0
  793. package/dist/uni/BoxPlotChart.vue.d.ts +102 -0
  794. package/dist/uni/BubbleChart.vue +68 -0
  795. package/dist/uni/BubbleChart.vue.d.ts +106 -0
  796. package/dist/uni/BulletChart.vue +86 -0
  797. package/dist/uni/BulletChart.vue.d.ts +110 -0
  798. package/dist/uni/CalendarHeatmap.vue +92 -0
  799. package/dist/uni/CalendarHeatmap.vue.d.ts +129 -0
  800. package/dist/uni/CandlestickChart.vue +66 -0
  801. package/dist/uni/CandlestickChart.vue.d.ts +100 -0
  802. package/dist/uni/DonutChart.vue +72 -0
  803. package/dist/uni/DonutChart.vue.d.ts +114 -0
  804. package/dist/uni/FunnelChart.vue +67 -0
  805. package/dist/uni/FunnelChart.vue.d.ts +104 -0
  806. package/dist/uni/GanttChart.vue +67 -0
  807. package/dist/uni/GanttChart.vue.d.ts +123 -0
  808. package/dist/uni/GaugeChart.vue +77 -0
  809. package/dist/uni/GaugeChart.vue.d.ts +123 -0
  810. package/dist/uni/HeatmapChart.vue +66 -0
  811. package/dist/uni/HeatmapChart.vue.d.ts +114 -0
  812. package/dist/uni/HistogramChart.vue +66 -0
  813. package/dist/uni/HistogramChart.vue.d.ts +121 -0
  814. package/dist/uni/HorizontalBarChart.vue +68 -0
  815. package/dist/uni/HorizontalBarChart.vue.d.ts +127 -0
  816. package/dist/uni/Input.vue.d.ts +1 -1
  817. package/dist/uni/MixedChart.vue +68 -0
  818. package/dist/uni/MixedChart.vue.d.ts +106 -0
  819. package/dist/uni/NumberInput.vue.d.ts +1 -1
  820. package/dist/uni/PieChart.vue +72 -0
  821. package/dist/uni/PieChart.vue.d.ts +114 -0
  822. package/dist/uni/RadarChart.vue +67 -0
  823. package/dist/uni/RadarChart.vue.d.ts +110 -0
  824. package/dist/uni/RadialBarChart.vue +90 -0
  825. package/dist/uni/RadialBarChart.vue.d.ts +132 -0
  826. package/dist/uni/RangeAreaChart.vue +68 -0
  827. package/dist/uni/RangeAreaChart.vue.d.ts +102 -0
  828. package/dist/uni/ResponsiveGrid.vue.d.ts +1 -1
  829. package/dist/uni/SankeyChart.vue +88 -0
  830. package/dist/uni/SankeyChart.vue.d.ts +121 -0
  831. package/dist/uni/ShapeChart.vue +73 -0
  832. package/dist/uni/ShapeChart.vue.d.ts +54 -0
  833. package/dist/uni/Sparkline.vue +58 -0
  834. package/dist/uni/Sparkline.vue.d.ts +77 -0
  835. package/dist/uni/SunburstChart.vue +90 -0
  836. package/dist/uni/SunburstChart.vue.d.ts +114 -0
  837. package/dist/uni/Textarea.vue.d.ts +1 -1
  838. package/dist/uni/TimePicker.vue.d.ts +1 -1
  839. package/dist/uni/TreemapChart.vue +65 -0
  840. package/dist/uni/TreemapChart.vue.d.ts +100 -0
  841. package/dist/uni/WaterfallChart.vue +66 -0
  842. package/dist/uni/WaterfallChart.vue.d.ts +125 -0
  843. package/dist/uni/chart-types.d.ts +216 -2
  844. package/dist/uni/chart-types.js +174 -0
  845. package/dist/uni/charts-canvas.js +10 -3
  846. package/dist/uni/index.d.ts +26 -1
  847. package/dist/uni/index.js +26 -1
  848. package/dist/uni/manifest.d.ts +272 -0
  849. package/dist/uni/manifest.js +387 -0
  850. package/dist/uni/named-chart-options.d.ts +88 -0
  851. package/dist/uni/named-chart-options.js +156 -0
  852. package/dist/uni/shape-chart-canvas.d.ts +51 -0
  853. package/dist/uni/shape-chart-canvas.js +342 -0
  854. package/dist/uni/shape-chart-types.d.ts +381 -0
  855. package/dist/uni/shape-chart-types.js +261 -0
  856. package/dist/vue/components/Chart/AreaChart.vue.d.ts +124 -0
  857. package/dist/vue/components/Chart/AreaChart.vue.js +7 -0
  858. package/dist/vue/components/Chart/AreaChart.vue.js.map +1 -0
  859. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js +49 -0
  860. package/dist/vue/components/Chart/AreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  861. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +132 -0
  862. package/dist/vue/components/Chart/Bar3DChart.vue.js +7 -0
  863. package/dist/vue/components/Chart/Bar3DChart.vue.js.map +1 -0
  864. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js +55 -0
  865. package/dist/vue/components/Chart/Bar3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  866. package/dist/vue/components/Chart/BarChart.vue.d.ts +123 -0
  867. package/dist/vue/components/Chart/BarChart.vue.js +7 -0
  868. package/dist/vue/components/Chart/BarChart.vue.js.map +1 -0
  869. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js +53 -0
  870. package/dist/vue/components/Chart/BarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  871. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +112 -0
  872. package/dist/vue/components/Chart/BoxPlotChart.vue.js +7 -0
  873. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -0
  874. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +57 -0
  875. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  876. package/dist/vue/components/Chart/BubbleChart.vue.d.ts +106 -0
  877. package/dist/vue/components/Chart/BubbleChart.vue.js +7 -0
  878. package/dist/vue/components/Chart/BubbleChart.vue.js.map +1 -0
  879. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js +52 -0
  880. package/dist/vue/components/Chart/BubbleChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  881. package/dist/vue/components/Chart/BulletChart.vue.d.ts +117 -0
  882. package/dist/vue/components/Chart/BulletChart.vue.js +7 -0
  883. package/dist/vue/components/Chart/BulletChart.vue.js.map +1 -0
  884. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js +64 -0
  885. package/dist/vue/components/Chart/BulletChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  886. package/dist/vue/components/Chart/CalendarHeatmap.vue.d.ts +144 -0
  887. package/dist/vue/components/Chart/CalendarHeatmap.vue.js +7 -0
  888. package/dist/vue/components/Chart/CalendarHeatmap.vue.js.map +1 -0
  889. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js +77 -0
  890. package/dist/vue/components/Chart/CalendarHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  891. package/dist/vue/components/Chart/CandlestickChart.vue.d.ts +94 -0
  892. package/dist/vue/components/Chart/CandlestickChart.vue.js +7 -0
  893. package/dist/vue/components/Chart/CandlestickChart.vue.js.map +1 -0
  894. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js +44 -0
  895. package/dist/vue/components/Chart/CandlestickChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  896. package/dist/vue/components/Chart/Chart.vue.d.ts +103 -0
  897. package/dist/vue/components/Chart/Chart.vue.js +7 -0
  898. package/dist/vue/components/Chart/Chart.vue.js.map +1 -0
  899. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js +47 -0
  900. package/dist/vue/components/Chart/Chart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  901. package/dist/vue/components/Chart/DepthChart.vue.d.ts +139 -0
  902. package/dist/vue/components/Chart/DepthChart.vue.js +7 -0
  903. package/dist/vue/components/Chart/DepthChart.vue.js.map +1 -0
  904. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js +42 -0
  905. package/dist/vue/components/Chart/DepthChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  906. package/dist/vue/components/Chart/DonutChart.vue.d.ts +104 -0
  907. package/dist/vue/components/Chart/DonutChart.vue.js +7 -0
  908. package/dist/vue/components/Chart/DonutChart.vue.js.map +1 -0
  909. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js +53 -0
  910. package/dist/vue/components/Chart/DonutChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  911. package/dist/vue/components/Chart/FunnelChart.vue.d.ts +105 -0
  912. package/dist/vue/components/Chart/FunnelChart.vue.js +7 -0
  913. package/dist/vue/components/Chart/FunnelChart.vue.js.map +1 -0
  914. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js +58 -0
  915. package/dist/vue/components/Chart/FunnelChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  916. package/dist/vue/components/Chart/GanttChart.vue.d.ts +132 -0
  917. package/dist/vue/components/Chart/GanttChart.vue.js +7 -0
  918. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -0
  919. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +98 -0
  920. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  921. package/dist/vue/components/Chart/GaugeChart.vue.d.ts +132 -0
  922. package/dist/vue/components/Chart/GaugeChart.vue.js +7 -0
  923. package/dist/vue/components/Chart/GaugeChart.vue.js.map +1 -0
  924. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js +71 -0
  925. package/dist/vue/components/Chart/GaugeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  926. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +125 -0
  927. package/dist/vue/components/Chart/HeatmapChart.vue.js +7 -0
  928. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -0
  929. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +65 -0
  930. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  931. package/dist/vue/components/Chart/HistogramChart.vue.d.ts +132 -0
  932. package/dist/vue/components/Chart/HistogramChart.vue.js +7 -0
  933. package/dist/vue/components/Chart/HistogramChart.vue.js.map +1 -0
  934. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js +66 -0
  935. package/dist/vue/components/Chart/HistogramChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  936. package/dist/vue/components/Chart/HorizontalBarChart.vue.d.ts +121 -0
  937. package/dist/vue/components/Chart/HorizontalBarChart.vue.js +7 -0
  938. package/dist/vue/components/Chart/HorizontalBarChart.vue.js.map +1 -0
  939. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js +55 -0
  940. package/dist/vue/components/Chart/HorizontalBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  941. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +121 -0
  942. package/dist/vue/components/Chart/Line3DChart.vue.js +7 -0
  943. package/dist/vue/components/Chart/Line3DChart.vue.js.map +1 -0
  944. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  945. package/dist/vue/components/Chart/Line3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  946. package/dist/vue/components/Chart/LineChart.vue.d.ts +125 -0
  947. package/dist/vue/components/Chart/LineChart.vue.js +7 -0
  948. package/dist/vue/components/Chart/LineChart.vue.js.map +1 -0
  949. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js +50 -0
  950. package/dist/vue/components/Chart/LineChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  951. package/dist/vue/components/Chart/MixedChart.vue.d.ts +103 -0
  952. package/dist/vue/components/Chart/MixedChart.vue.js +7 -0
  953. package/dist/vue/components/Chart/MixedChart.vue.js.map +1 -0
  954. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js +47 -0
  955. package/dist/vue/components/Chart/MixedChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  956. package/dist/vue/components/Chart/OrderBook.vue.d.ts +125 -0
  957. package/dist/vue/components/Chart/OrderBook.vue.js +7 -0
  958. package/dist/vue/components/Chart/OrderBook.vue.js.map +1 -0
  959. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js +38 -0
  960. package/dist/vue/components/Chart/OrderBook.vue_vue_type_script_setup_true_lang.js.map +1 -0
  961. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +128 -0
  962. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js +7 -0
  963. package/dist/vue/components/Chart/OrderBookHeatmap.vue.js.map +1 -0
  964. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js +46 -0
  965. package/dist/vue/components/Chart/OrderBookHeatmap.vue_vue_type_script_setup_true_lang.js.map +1 -0
  966. package/dist/vue/components/Chart/PieChart.vue.d.ts +104 -0
  967. package/dist/vue/components/Chart/PieChart.vue.js +7 -0
  968. package/dist/vue/components/Chart/PieChart.vue.js.map +1 -0
  969. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js +53 -0
  970. package/dist/vue/components/Chart/PieChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  971. package/dist/vue/components/Chart/QuadrantChart.vue.d.ts +186 -0
  972. package/dist/vue/components/Chart/QuadrantChart.vue.js +7 -0
  973. package/dist/vue/components/Chart/QuadrantChart.vue.js.map +1 -0
  974. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js +107 -0
  975. package/dist/vue/components/Chart/QuadrantChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  976. package/dist/vue/components/Chart/RadarChart.vue.d.ts +111 -0
  977. package/dist/vue/components/Chart/RadarChart.vue.js +7 -0
  978. package/dist/vue/components/Chart/RadarChart.vue.js.map +1 -0
  979. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js +61 -0
  980. package/dist/vue/components/Chart/RadarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  981. package/dist/vue/components/Chart/RadialBarChart.vue.d.ts +147 -0
  982. package/dist/vue/components/Chart/RadialBarChart.vue.js +7 -0
  983. package/dist/vue/components/Chart/RadialBarChart.vue.js.map +1 -0
  984. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js +78 -0
  985. package/dist/vue/components/Chart/RadialBarChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  986. package/dist/vue/components/Chart/RangeAreaChart.vue.d.ts +106 -0
  987. package/dist/vue/components/Chart/RangeAreaChart.vue.js +7 -0
  988. package/dist/vue/components/Chart/RangeAreaChart.vue.js.map +1 -0
  989. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js +51 -0
  990. package/dist/vue/components/Chart/RangeAreaChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  991. package/dist/vue/components/Chart/SankeyChart.vue.d.ts +132 -0
  992. package/dist/vue/components/Chart/SankeyChart.vue.js +7 -0
  993. package/dist/vue/components/Chart/SankeyChart.vue.js.map +1 -0
  994. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js +71 -0
  995. package/dist/vue/components/Chart/SankeyChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  996. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +121 -0
  997. package/dist/vue/components/Chart/Scatter3DChart.vue.js +7 -0
  998. package/dist/vue/components/Chart/Scatter3DChart.vue.js.map +1 -0
  999. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js +47 -0
  1000. package/dist/vue/components/Chart/Scatter3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1001. package/dist/vue/components/Chart/ScatterChart.vue.d.ts +94 -0
  1002. package/dist/vue/components/Chart/ScatterChart.vue.js +7 -0
  1003. package/dist/vue/components/Chart/ScatterChart.vue.js.map +1 -0
  1004. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js +44 -0
  1005. package/dist/vue/components/Chart/ScatterChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1006. package/dist/vue/components/Chart/ShapeChart.vue.d.ts +39 -0
  1007. package/dist/vue/components/Chart/ShapeChart.vue.js +7 -0
  1008. package/dist/vue/components/Chart/ShapeChart.vue.js.map +1 -0
  1009. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js +43 -0
  1010. package/dist/vue/components/Chart/ShapeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1011. package/dist/vue/components/Chart/Sparkline.vue.d.ts +90 -0
  1012. package/dist/vue/components/Chart/Sparkline.vue.js +7 -0
  1013. package/dist/vue/components/Chart/Sparkline.vue.js.map +1 -0
  1014. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js +66 -0
  1015. package/dist/vue/components/Chart/Sparkline.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1016. package/dist/vue/components/Chart/SunburstChart.vue.d.ts +123 -0
  1017. package/dist/vue/components/Chart/SunburstChart.vue.js +7 -0
  1018. package/dist/vue/components/Chart/SunburstChart.vue.js.map +1 -0
  1019. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1020. package/dist/vue/components/Chart/SunburstChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1021. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +143 -0
  1022. package/dist/vue/components/Chart/Surface3DChart.vue.js +7 -0
  1023. package/dist/vue/components/Chart/Surface3DChart.vue.js.map +1 -0
  1024. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js +60 -0
  1025. package/dist/vue/components/Chart/Surface3DChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1026. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +114 -0
  1027. package/dist/vue/components/Chart/TimeAndSales.vue.js +7 -0
  1028. package/dist/vue/components/Chart/TimeAndSales.vue.js.map +1 -0
  1029. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js +46 -0
  1030. package/dist/vue/components/Chart/TimeAndSales.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1031. package/dist/vue/components/Chart/TradingChart.vue.d.ts +160 -0
  1032. package/dist/vue/components/Chart/TradingChart.vue.js +7 -0
  1033. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -0
  1034. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +70 -0
  1035. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1036. package/dist/vue/components/Chart/TreemapChart.vue.d.ts +97 -0
  1037. package/dist/vue/components/Chart/TreemapChart.vue.js +7 -0
  1038. package/dist/vue/components/Chart/TreemapChart.vue.js.map +1 -0
  1039. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js +54 -0
  1040. package/dist/vue/components/Chart/TreemapChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1041. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +132 -0
  1042. package/dist/vue/components/Chart/WaterfallChart.vue.js +7 -0
  1043. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -0
  1044. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +68 -0
  1045. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  1046. package/dist/vue/components/Chart/cartesian.d.ts +47 -0
  1047. package/dist/vue/components/Chart/cartesian.js +56 -0
  1048. package/dist/vue/components/Chart/cartesian.js.map +1 -0
  1049. package/dist/vue/components/Chart/engine.d.ts +35 -0
  1050. package/dist/vue/components/Chart/engine.js +35 -0
  1051. package/dist/vue/components/Chart/engine.js.map +1 -0
  1052. package/dist/vue/components/Chart/index.d.ts +41 -0
  1053. package/dist/vue/components/Chart/index.js +40 -0
  1054. package/dist/vue/components/Chart/orderbook.d.ts +359 -0
  1055. package/dist/vue/components/Chart/orderbook.js +126 -0
  1056. package/dist/vue/components/Chart/orderbook.js.map +1 -0
  1057. package/dist/vue/components/Chart/props.d.ts +188 -0
  1058. package/dist/vue/components/Chart/props.js +92 -0
  1059. package/dist/vue/components/Chart/props.js.map +1 -0
  1060. package/dist/vue/components/Chart/shape.d.ts +41 -0
  1061. package/dist/vue/components/Chart/shape.js +42 -0
  1062. package/dist/vue/components/Chart/shape.js.map +1 -0
  1063. package/dist/vue/components/Chart/three-d.d.ts +106 -0
  1064. package/dist/vue/components/Chart/three-d.js +88 -0
  1065. package/dist/vue/components/Chart/three-d.js.map +1 -0
  1066. package/dist/vue/components/Chart/trading.d.ts +105 -0
  1067. package/dist/vue/components/Chart/trading.js +55 -0
  1068. package/dist/vue/components/Chart/trading.js.map +1 -0
  1069. package/dist/vue/components/Chart/types.d.ts +137 -0
  1070. package/dist/vue/global.d.ts +38 -0
  1071. package/dist/vue/groups/charts.d.ts +1 -0
  1072. package/dist/vue/groups/charts.js +87 -0
  1073. package/dist/vue/groups/charts.js.map +1 -0
  1074. package/dist/vue/index.d.ts +1 -0
  1075. package/dist/vue/index.js +63 -23
  1076. package/dist/vue/plugin.js +12 -10
  1077. package/dist/vue/plugin.js.map +1 -1
  1078. package/dist/weapp/area-chart/index.js +1 -0
  1079. package/dist/weapp/area-chart/index.json +1 -0
  1080. package/dist/weapp/area-chart/index.wxml +1 -0
  1081. package/dist/weapp/area-chart/index.wxss +1 -0
  1082. package/dist/weapp/box-plot-chart/index.js +1 -0
  1083. package/dist/weapp/box-plot-chart/index.json +1 -0
  1084. package/dist/weapp/box-plot-chart/index.wxml +1 -0
  1085. package/dist/weapp/box-plot-chart/index.wxss +1 -0
  1086. package/dist/weapp/bubble-chart/index.js +1 -0
  1087. package/dist/weapp/bubble-chart/index.json +1 -0
  1088. package/dist/weapp/bubble-chart/index.wxml +1 -0
  1089. package/dist/weapp/bubble-chart/index.wxss +1 -0
  1090. package/dist/weapp/bullet-chart/index.js +1 -0
  1091. package/dist/weapp/bullet-chart/index.json +1 -0
  1092. package/dist/weapp/bullet-chart/index.wxml +1 -0
  1093. package/dist/weapp/bullet-chart/index.wxss +1 -0
  1094. package/dist/weapp/calendar-heatmap/index.js +1 -0
  1095. package/dist/weapp/calendar-heatmap/index.json +1 -0
  1096. package/dist/weapp/calendar-heatmap/index.wxml +1 -0
  1097. package/dist/weapp/calendar-heatmap/index.wxss +1 -0
  1098. package/dist/weapp/candlestick-chart/index.js +1 -0
  1099. package/dist/weapp/candlestick-chart/index.json +1 -0
  1100. package/dist/weapp/candlestick-chart/index.wxml +1 -0
  1101. package/dist/weapp/candlestick-chart/index.wxss +1 -0
  1102. package/dist/weapp/charts/canvas.js +11436 -0
  1103. package/dist/weapp/charts/core.d.ts +2 -0
  1104. package/dist/weapp/charts/core.js +41 -0
  1105. package/dist/weapp/controls.js +1428 -3732
  1106. package/dist/weapp/donut-chart/index.js +1 -0
  1107. package/dist/weapp/donut-chart/index.json +1 -0
  1108. package/dist/weapp/donut-chart/index.wxml +1 -0
  1109. package/dist/weapp/donut-chart/index.wxss +1 -0
  1110. package/dist/weapp/funnel-chart/index.js +1 -0
  1111. package/dist/weapp/funnel-chart/index.json +1 -0
  1112. package/dist/weapp/funnel-chart/index.wxml +1 -0
  1113. package/dist/weapp/funnel-chart/index.wxss +1 -0
  1114. package/dist/weapp/gantt-chart/index.js +1 -0
  1115. package/dist/weapp/gantt-chart/index.json +1 -0
  1116. package/dist/weapp/gantt-chart/index.wxml +1 -0
  1117. package/dist/weapp/gantt-chart/index.wxss +1 -0
  1118. package/dist/weapp/gauge-chart/index.js +1 -0
  1119. package/dist/weapp/gauge-chart/index.json +1 -0
  1120. package/dist/weapp/gauge-chart/index.wxml +1 -0
  1121. package/dist/weapp/gauge-chart/index.wxss +1 -0
  1122. package/dist/weapp/heatmap-chart/index.js +1 -0
  1123. package/dist/weapp/heatmap-chart/index.json +1 -0
  1124. package/dist/weapp/heatmap-chart/index.wxml +1 -0
  1125. package/dist/weapp/heatmap-chart/index.wxss +1 -0
  1126. package/dist/weapp/histogram-chart/index.js +1 -0
  1127. package/dist/weapp/histogram-chart/index.json +1 -0
  1128. package/dist/weapp/histogram-chart/index.wxml +1 -0
  1129. package/dist/weapp/histogram-chart/index.wxss +1 -0
  1130. package/dist/weapp/horizontal-bar-chart/index.js +1 -0
  1131. package/dist/weapp/horizontal-bar-chart/index.json +1 -0
  1132. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -0
  1133. package/dist/weapp/horizontal-bar-chart/index.wxss +1 -0
  1134. package/dist/weapp/mixed-chart/index.js +1 -0
  1135. package/dist/weapp/mixed-chart/index.json +1 -0
  1136. package/dist/weapp/mixed-chart/index.wxml +1 -0
  1137. package/dist/weapp/mixed-chart/index.wxss +1 -0
  1138. package/dist/weapp/pie-chart/index.js +1 -0
  1139. package/dist/weapp/pie-chart/index.json +1 -0
  1140. package/dist/weapp/pie-chart/index.wxml +1 -0
  1141. package/dist/weapp/pie-chart/index.wxss +1 -0
  1142. package/dist/weapp/radar-chart/index.js +1 -0
  1143. package/dist/weapp/radar-chart/index.json +1 -0
  1144. package/dist/weapp/radar-chart/index.wxml +1 -0
  1145. package/dist/weapp/radar-chart/index.wxss +1 -0
  1146. package/dist/weapp/radial-bar-chart/index.js +1 -0
  1147. package/dist/weapp/radial-bar-chart/index.json +1 -0
  1148. package/dist/weapp/radial-bar-chart/index.wxml +1 -0
  1149. package/dist/weapp/radial-bar-chart/index.wxss +1 -0
  1150. package/dist/weapp/range-area-chart/index.js +1 -0
  1151. package/dist/weapp/range-area-chart/index.json +1 -0
  1152. package/dist/weapp/range-area-chart/index.wxml +1 -0
  1153. package/dist/weapp/range-area-chart/index.wxss +1 -0
  1154. package/dist/weapp/sankey-chart/index.js +1 -0
  1155. package/dist/weapp/sankey-chart/index.json +1 -0
  1156. package/dist/weapp/sankey-chart/index.wxml +1 -0
  1157. package/dist/weapp/sankey-chart/index.wxss +1 -0
  1158. package/dist/weapp/shape-chart/index.js +1 -0
  1159. package/dist/weapp/shape-chart/index.json +1 -0
  1160. package/dist/weapp/shape-chart/index.wxml +1 -0
  1161. package/dist/weapp/shape-chart/index.wxss +1 -0
  1162. package/dist/weapp/sparkline/index.js +1 -0
  1163. package/dist/weapp/sparkline/index.json +1 -0
  1164. package/dist/weapp/sparkline/index.wxml +1 -0
  1165. package/dist/weapp/sparkline/index.wxss +1 -0
  1166. package/dist/weapp/sunburst-chart/index.js +1 -0
  1167. package/dist/weapp/sunburst-chart/index.json +1 -0
  1168. package/dist/weapp/sunburst-chart/index.wxml +1 -0
  1169. package/dist/weapp/sunburst-chart/index.wxss +1 -0
  1170. package/dist/weapp/treemap-chart/index.js +1 -0
  1171. package/dist/weapp/treemap-chart/index.json +1 -0
  1172. package/dist/weapp/treemap-chart/index.wxml +1 -0
  1173. package/dist/weapp/treemap-chart/index.wxss +1 -0
  1174. package/dist/weapp/types.d.ts +466 -0
  1175. package/dist/weapp/waterfall-chart/index.js +1 -0
  1176. package/dist/weapp/waterfall-chart/index.json +1 -0
  1177. package/dist/weapp/waterfall-chart/index.wxml +1 -0
  1178. package/dist/weapp/waterfall-chart/index.wxss +1 -0
  1179. package/dist/web-components/components/chart/chart.d.ts +58 -0
  1180. package/dist/web-components/components/chart/chart.js +55 -0
  1181. package/dist/web-components/components/chart/chart.js.map +1 -0
  1182. package/dist/web-components/components/chart/charts.d.ts +252 -0
  1183. package/dist/web-components/components/chart/charts.js +201 -0
  1184. package/dist/web-components/components/chart/charts.js.map +1 -0
  1185. package/dist/web-components/components/chart/engine-element.d.ts +53 -0
  1186. package/dist/web-components/components/chart/engine-element.js +77 -0
  1187. package/dist/web-components/components/chart/engine-element.js.map +1 -0
  1188. package/dist/web-components/components/chart/extended.d.ts +224 -0
  1189. package/dist/web-components/components/chart/extended.js +183 -0
  1190. package/dist/web-components/components/chart/extended.js.map +1 -0
  1191. package/dist/web-components/components/chart/series.d.ts +7 -0
  1192. package/dist/web-components/components/chart/series.js +14 -0
  1193. package/dist/web-components/components/chart/series.js.map +1 -0
  1194. package/dist/web-components/components/chart/shape-chart.d.ts +199 -0
  1195. package/dist/web-components/components/chart/shape-chart.js +161 -0
  1196. package/dist/web-components/components/chart/shape-chart.js.map +1 -0
  1197. package/dist/web-components/components/chart/shapes-extended.d.ts +162 -0
  1198. package/dist/web-components/components/chart/shapes-extended.js +156 -0
  1199. package/dist/web-components/components/chart/shapes-extended.js.map +1 -0
  1200. package/dist/web-components/components/chart-3d/chart-3d.d.ts +111 -0
  1201. package/dist/web-components/components/chart-3d/chart-3d.js +97 -0
  1202. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -0
  1203. package/dist/web-components/components/order-book/order-book.d.ts +165 -0
  1204. package/dist/web-components/components/order-book/order-book.js +174 -0
  1205. package/dist/web-components/components/order-book/order-book.js.map +1 -0
  1206. package/dist/web-components/components/trading-chart/trading-chart.d.ts +96 -0
  1207. package/dist/web-components/components/trading-chart/trading-chart.js +96 -0
  1208. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -0
  1209. package/dist/web-components/elements/chart-3d.d.ts +2 -0
  1210. package/dist/web-components/elements/chart-3d.js +13 -0
  1211. package/dist/web-components/elements/chart-3d.js.map +1 -0
  1212. package/dist/web-components/elements/chart.d.ts +7 -0
  1213. package/dist/web-components/elements/chart.js +43 -0
  1214. package/dist/web-components/elements/chart.js.map +1 -0
  1215. package/dist/web-components/elements/order-book.d.ts +2 -0
  1216. package/dist/web-components/elements/order-book.js +13 -0
  1217. package/dist/web-components/elements/order-book.js.map +1 -0
  1218. package/dist/web-components/elements/trading-chart.d.ts +2 -0
  1219. package/dist/web-components/elements/trading-chart.js +8 -0
  1220. package/dist/web-components/elements/trading-chart.js.map +1 -0
  1221. package/dist/web-components/html-custom-data.json +1192 -29
  1222. package/dist/web-components/types/react.d.ts +435 -0
  1223. package/dist/web-components/types/solid.d.ts +321 -0
  1224. package/dist/web-components/types/svelte.d.ts +321 -0
  1225. package/dist/web-components/types/vue.d.ts +359 -0
  1226. package/package.json +113 -1
@@ -0,0 +1,529 @@
1
+ import { packColor as e, toCss as t } from "../color.js";
2
+ import { linearTicks as n } from "../scale.js";
3
+ import { lutIndex as r } from "./colormap.js";
4
+ import { contourSegments as i } from "./contours.js";
5
+ import { toWorld as a } from "./model.js";
6
+ //#region src/engine/three-d/geometry.ts
7
+ var o = { maxGridSide: 2048 }, s = { maxGridSide: 72 }, c = 1, l = /* @__PURE__ */ new WeakMap(), u = (e) => {
8
+ if (!e) return 0;
9
+ let t = l.get(e);
10
+ return t === void 0 && (t = c++, l.set(e, t)), t;
11
+ }, d = (e) => e.map((e) => e.toFixed(4)).join(","), f = (e) => `${e.domain[0]},${e.domain[1]},${e.half},${e.categories?.length ?? -1}`, p = (e) => e === e && e !== Infinity && e !== -Infinity, m = (e, t, n, i) => !t || !p(n) ? i : e.packed[r(n, t[0], t[1])], h = (t, n, r, i) => {
12
+ let { cols: a } = t, o = a.count, s = /* @__PURE__ */ new ArrayBuffer(o * 20), c = new Float32Array(s), l = new Uint32Array(s), u = e(r.series[t.index] ?? [
13
+ .5,
14
+ .5,
15
+ .5,
16
+ 1
17
+ ]), d = t.colorBy !== "series", f = t.colorBy === "value" && a.value ? a.value : a.z, h = /* @__PURE__ */ new Map(), g = null, _ = 0, { x: v, y, z: b } = n, x = 2 * v.half / (v.domain[1] - v.domain[0] || 1), S = 2 * y.half / (y.domain[1] - y.domain[0] || 1), C = 2 * b.half / (b.domain[1] - b.domain[0] || 1), w = -v.half - v.domain[0] * x, T = -y.half - y.domain[0] * S, E = -b.half - b.domain[0] * C;
18
+ for (let t = 0; t < o; t++) {
19
+ let s = a.x[t], v = a.y[t], y = a.z[t];
20
+ if (!p(s) || !p(v) || !p(y)) {
21
+ if (!g) {
22
+ g = new Uint32Array(o);
23
+ for (let e = 0; e < _; e++) g[e] = e;
24
+ }
25
+ continue;
26
+ }
27
+ g && (g[_] = t);
28
+ let b = _ * 5;
29
+ c[b] = s * x + w, c[b + 1] = v * S + T, c[b + 2] = y * C + E;
30
+ let D = a.size ? a.size[t] : NaN;
31
+ c[b + 3] = p(D) ? D : i;
32
+ let O = a.colors?.[t], k;
33
+ if (O !== void 0) {
34
+ let t = h.get(O);
35
+ t === void 0 && (t = e(r.resolve(O)), h.set(O, t)), k = t;
36
+ } else k = d ? m(r.lut, n.colorDomain, f[t], u) : u;
37
+ l[b + 4] = k, _++;
38
+ }
39
+ return {
40
+ data: s,
41
+ count: _,
42
+ source: g ? g.subarray(0, _) : null,
43
+ sized: !!a.size
44
+ };
45
+ }, g = (e, t) => {
46
+ if (e <= t) {
47
+ let t = new Int32Array(e);
48
+ for (let n = 0; n < e; n++) t[n] = n;
49
+ return t;
50
+ }
51
+ let n = new Int32Array(t);
52
+ for (let r = 0; r < t; r++) n[r] = Math.round(r * (e - 1) / (t - 1));
53
+ return n;
54
+ }, _ = (t, n, r, i, o, s) => {
55
+ let { grid: c } = t, l = g(c.rows, i.maxGridSide), u = g(c.cols, i.maxGridSide), d = l.length, f = u.length, h = d * f, _ = new Float32Array(h * 3);
56
+ for (let e = 0; e < d; e++) {
57
+ let t = a(n.y, c.y[l[e]]);
58
+ for (let r = 0; r < f; r++) {
59
+ let i = a(n.x, c.x[u[r]]), o = c.z[l[e] * c.cols + u[r]], s = (e * f + r) * 3;
60
+ _[s] = i, _[s + 1] = t, _[s + 2] = p(o) ? a(n.z, o) : NaN;
61
+ }
62
+ }
63
+ if (t.series.fill === !1) return {
64
+ positions: _,
65
+ rowIndex: l,
66
+ colIndex: u,
67
+ mesh: null
68
+ };
69
+ let v = /* @__PURE__ */ new ArrayBuffer(h * 28), y = new Float32Array(v), b = new Uint32Array(v), x = e(r.series[t.index] ?? [
70
+ .5,
71
+ .5,
72
+ .5,
73
+ 1
74
+ ]), S = t.colorBy === "value" && c.value, C = (e, t, n) => _[(e * f + t) * 3 + n], w = (e, t) => e >= 0 && e < d && t >= 0 && t < f && p(C(e, t, 2));
75
+ for (let e = 0; e < d; e++) for (let i = 0; i < f; i++) {
76
+ let a = (e * f + i) * 7;
77
+ y[a] = C(e, i, 0), y[a + 1] = C(e, i, 1), y[a + 2] = p(C(e, i, 2)) ? C(e, i, 2) : 0;
78
+ let o = w(e, i - 1) ? i - 1 : i, s = w(e, i + 1) ? i + 1 : i, d = w(e - 1, i) ? e - 1 : e, h = w(e + 1, i) ? e + 1 : e, g = 0, _ = 0, v = 1;
79
+ if (w(e, i) && o !== s && d !== h) {
80
+ let t = C(e, s, 0) - C(e, o, 0), n = C(e, s, 2) - C(e, o, 2), r = C(h, i, 1) - C(d, i, 1), a = C(h, i, 2) - C(d, i, 2);
81
+ g = -n * r, _ = -t * a, v = t * r;
82
+ let c = Math.hypot(g, _, v) || 1;
83
+ g /= c, _ /= c, v /= c, v < 0 && (g = -g, _ = -_, v = -v);
84
+ }
85
+ y[a + 3] = g, y[a + 4] = _, y[a + 5] = v;
86
+ let T = l[e] * c.cols + u[i];
87
+ b[a + 6] = t.colorBy === "series" ? x : m(r.lut, n.colorDomain, S ? c.value[T] : c.z[T], x);
88
+ }
89
+ let T = new Uint32Array((d - 1) * (f - 1) * 6), E = 0;
90
+ for (let e = 0; e < d - 1; e++) for (let t = 0; t < f - 1; t++) {
91
+ if (!w(e, t) || !w(e, t + 1) || !w(e + 1, t) || !w(e + 1, t + 1)) continue;
92
+ let n = e * f + t, r = n + 1, i = n + f, a = i + 1;
93
+ T[E++] = n, T[E++] = r, T[E++] = a, T[E++] = n, T[E++] = a, T[E++] = i;
94
+ }
95
+ return {
96
+ positions: _,
97
+ rowIndex: l,
98
+ colIndex: u,
99
+ mesh: {
100
+ kind: "mesh",
101
+ key: o,
102
+ version: s,
103
+ opacity: t.opacity,
104
+ vertices: v,
105
+ vertexCount: h,
106
+ indices: T.subarray(0, E)
107
+ }
108
+ };
109
+ }, v = (e, t) => {
110
+ let n = t.length, r = /* @__PURE__ */ new ArrayBuffer(n * 28), i = new Float32Array(r), a = new Uint32Array(r);
111
+ for (let r = 0; r < n; r++) {
112
+ let n = r * 7;
113
+ for (let t = 0; t < 6; t++) i[n + t] = e[r * 6 + t];
114
+ a[n + 6] = t[r];
115
+ }
116
+ return {
117
+ buffer: r,
118
+ count: n
119
+ };
120
+ }, y = 64, b = (e, t) => {
121
+ let n = [];
122
+ for (let r = 0; r < e; r += t) n.push(r);
123
+ return e > 0 && n[n.length - 1] !== e - 1 && n.push(e - 1), n;
124
+ }, x = (e, t, n, r, i) => {
125
+ let a = e.rowIndex.length, o = e.colIndex.length, s = e.positions, c = [], l = [], u = Math.max(1, Math.round(t.step ?? Math.ceil(a / y))), d = Math.max(1, Math.round(t.step ?? Math.ceil(o / y))), f = (e, t) => {
126
+ p(s[e * 3 + 2]) && p(s[t * 3 + 2]) && (c.push(s[e * 3], s[e * 3 + 1], s[e * 3 + 2], s[t * 3], s[t * 3 + 1], s[t * 3 + 2]), l.push(n));
127
+ };
128
+ for (let e of b(a, u)) for (let t = 0; t < o - 1; t++) f(e * o + t, e * o + t + 1);
129
+ for (let e of b(o, d)) for (let t = 0; t < a - 1; t++) f(t * o + e, (t + 1) * o + e);
130
+ let { buffer: m, count: h } = v(c, l);
131
+ return {
132
+ kind: "lines",
133
+ key: r,
134
+ version: i,
135
+ opacity: 1,
136
+ data: m,
137
+ count: h,
138
+ width: t.width ?? 1,
139
+ bias: .0015
140
+ };
141
+ }, S = (e, t, r) => {
142
+ if (e.levels) return e.levels.filter(p);
143
+ if (!(r > t)) return [];
144
+ let i = Math.max(1, Math.round(e.count ?? 10)), a = n(t, r, i).filter((e) => e > t && e < r);
145
+ return a.length >= Math.max(2, i / 2) ? a : Array.from({ length: i }, (e, n) => t + (n + .5) * (r - t) / i);
146
+ }, C = (t, n, o, s, c, l) => {
147
+ let { grid: u } = t, d = S(s, u.extent.z.min, u.extent.z.max);
148
+ if (!d.length) return null;
149
+ let f = s.floor ?? !0, p = s.surface ?? !1;
150
+ if (!f && !p) return null;
151
+ let m = s.color ? e(o.resolve(s.color)) : null, h = -n.z.half + .002, g = n.colorDomain && t.colorBy !== "value" ? n.colorDomain : [u.extent.z.min, u.extent.z.max], _ = [], y = [], b = (e) => {
152
+ let t = Math.floor(e), r = e - t, i = u.x[Math.min(t, u.cols - 1)], o = u.x[Math.min(t + 1, u.cols - 1)];
153
+ return a(n.x, i + (o - i) * r);
154
+ }, x = (e) => {
155
+ let t = Math.floor(e), r = e - t, i = u.y[Math.min(t, u.rows - 1)], o = u.y[Math.min(t + 1, u.rows - 1)];
156
+ return a(n.y, i + (o - i) * r);
157
+ }, C = [];
158
+ for (let e of d) {
159
+ if (C.length = 0, i(u.z, u.rows, u.cols, e, C), !C.length) continue;
160
+ let t = m ?? o.lut.packed[r(e, g[0], g[1])], s = a(n.z, e);
161
+ for (let e = 0; e < C.length; e += 4) {
162
+ let n = b(C[e]), r = x(C[e + 1]), i = b(C[e + 2]), a = x(C[e + 3]);
163
+ f && (_.push(n, r, h, i, a, h), y.push(t)), p && (_.push(n, r, s, i, a, s), y.push(t));
164
+ }
165
+ }
166
+ if (!y.length) return null;
167
+ let { buffer: w, count: T } = v(_, y);
168
+ return {
169
+ kind: "lines",
170
+ key: c,
171
+ version: l,
172
+ opacity: 1,
173
+ data: w,
174
+ count: T,
175
+ width: s.width ?? 1,
176
+ bias: .002
177
+ };
178
+ }, w = [
179
+ {
180
+ n: [
181
+ 0,
182
+ 0,
183
+ 1
184
+ ],
185
+ c: [
186
+ 0,
187
+ 0,
188
+ 1,
189
+ 1,
190
+ 0,
191
+ 1,
192
+ 1,
193
+ 1,
194
+ 1,
195
+ 0,
196
+ 1,
197
+ 1
198
+ ]
199
+ },
200
+ {
201
+ n: [
202
+ 0,
203
+ 0,
204
+ -1
205
+ ],
206
+ c: [
207
+ 0,
208
+ 0,
209
+ 0,
210
+ 0,
211
+ 1,
212
+ 0,
213
+ 1,
214
+ 1,
215
+ 0,
216
+ 1,
217
+ 0,
218
+ 0
219
+ ]
220
+ },
221
+ {
222
+ n: [
223
+ 1,
224
+ 0,
225
+ 0
226
+ ],
227
+ c: [
228
+ 1,
229
+ 0,
230
+ 0,
231
+ 1,
232
+ 1,
233
+ 0,
234
+ 1,
235
+ 1,
236
+ 1,
237
+ 1,
238
+ 0,
239
+ 1
240
+ ]
241
+ },
242
+ {
243
+ n: [
244
+ -1,
245
+ 0,
246
+ 0
247
+ ],
248
+ c: [
249
+ 0,
250
+ 0,
251
+ 0,
252
+ 0,
253
+ 0,
254
+ 1,
255
+ 0,
256
+ 1,
257
+ 1,
258
+ 0,
259
+ 1,
260
+ 0
261
+ ]
262
+ },
263
+ {
264
+ n: [
265
+ 0,
266
+ 1,
267
+ 0
268
+ ],
269
+ c: [
270
+ 0,
271
+ 1,
272
+ 0,
273
+ 0,
274
+ 1,
275
+ 1,
276
+ 1,
277
+ 1,
278
+ 1,
279
+ 1,
280
+ 1,
281
+ 0
282
+ ]
283
+ },
284
+ {
285
+ n: [
286
+ 0,
287
+ -1,
288
+ 0
289
+ ],
290
+ c: [
291
+ 0,
292
+ 0,
293
+ 0,
294
+ 1,
295
+ 0,
296
+ 0,
297
+ 1,
298
+ 0,
299
+ 1,
300
+ 0,
301
+ 0,
302
+ 1
303
+ ]
304
+ }
305
+ ], T = (t, n, r, i, o) => {
306
+ let { bars: s } = t, c = s.count, l = /* @__PURE__ */ new ArrayBuffer(c * 24 * 28), u = new Float32Array(l), d = new Uint32Array(l), f = new Uint32Array(c * 36), p = new Float32Array(c * 6), h = e(r.series[t.index] ?? [
307
+ .5,
308
+ .5,
309
+ .5,
310
+ 1
311
+ ]), g = Math.max(.05, Math.min(1, t.series.barWidth ?? .7)), _ = 2 * n.x.half / Math.max(1, n.x.domain[1] - n.x.domain[0]), v = 2 * n.y.half / Math.max(1, n.y.domain[1] - n.y.domain[0]), y = _ * g / 2, b = v * g / 2, x = /* @__PURE__ */ new Map(), S = 0, C = 0;
312
+ for (let i = 0; i < c; i++) {
313
+ let o = a(n.x, s.xi[i]), c = a(n.y, s.yi[i]), l = a(n.z, s.z0[i]), g = a(n.z, s.z1[i]), _ = [
314
+ o - y,
315
+ c - b,
316
+ Math.min(l, g)
317
+ ], v = [
318
+ o + y,
319
+ c + b,
320
+ Math.max(l, g)
321
+ ];
322
+ p.set([
323
+ _[0],
324
+ _[1],
325
+ _[2],
326
+ v[0],
327
+ v[1],
328
+ v[2]
329
+ ], i * 6);
330
+ let T = s.colors?.[i], E;
331
+ if (T !== void 0) E = x.get(T) ?? e(r.resolve(T)), x.set(T, E);
332
+ else if (t.colorBy === "series") E = h;
333
+ else {
334
+ let e = t.colorBy === "value" && s.value ? s.value[i] : s.z[i];
335
+ E = m(r.lut, n.colorDomain, e, h);
336
+ }
337
+ for (let e of w) {
338
+ for (let t = 0; t < 4; t++) {
339
+ let n = (S + t) * 7;
340
+ u[n] = e.c[t * 3] ? v[0] : _[0], u[n + 1] = e.c[t * 3 + 1] ? v[1] : _[1], u[n + 2] = e.c[t * 3 + 2] ? v[2] : _[2], u[n + 3] = e.n[0], u[n + 4] = e.n[1], u[n + 5] = e.n[2], d[n + 6] = E;
341
+ }
342
+ f[C++] = S, f[C++] = S + 1, f[C++] = S + 2, f[C++] = S, f[C++] = S + 2, f[C++] = S + 3, S += 4;
343
+ }
344
+ }
345
+ return {
346
+ mesh: {
347
+ kind: "mesh",
348
+ key: i,
349
+ version: o,
350
+ opacity: t.opacity,
351
+ vertices: l,
352
+ vertexCount: S,
353
+ indices: f
354
+ },
355
+ target: {
356
+ kind: "bars",
357
+ series: t.index,
358
+ count: c,
359
+ boxes: p
360
+ }
361
+ };
362
+ }, E = (e, t, n, r) => {
363
+ let i = new Float32Array(t.data), a = new Uint32Array(t.data), o = [], s = [], c = e.opacity;
364
+ for (let e = 0; e < t.count - 1; e++) {
365
+ if (t.source && t.source[e + 1] !== t.source[e] + 1) continue;
366
+ let n = e * 5, r = n + 5;
367
+ o.push(i[n], i[n + 1], i[n + 2], i[r], i[r + 1], i[r + 2]), s.push(a[n + 4]);
368
+ }
369
+ let { buffer: l, count: u } = v(o, s);
370
+ return {
371
+ kind: "lines",
372
+ key: n,
373
+ version: r,
374
+ opacity: c,
375
+ data: l,
376
+ count: u,
377
+ width: e.series.lineWidth ?? 2,
378
+ bias: 0
379
+ };
380
+ }, D = () => {
381
+ let e = /* @__PURE__ */ new Map(), t = 0, n = (e, t, n, r, i) => {
382
+ let a = e.series, o = JSON.stringify({
383
+ type: e.type,
384
+ colorBy: e.colorBy,
385
+ opacity: e.opacity,
386
+ pointSize: a.pointSize,
387
+ lineWidth: a.lineWidth,
388
+ perspectiveSize: a.perspectiveSize,
389
+ wireframe: a.wireframe,
390
+ contours: a.contours,
391
+ fill: a.fill,
392
+ barWidth: a.barWidth
393
+ });
394
+ return [
395
+ u(e.series.data),
396
+ o,
397
+ f(t.x),
398
+ f(t.y),
399
+ f(t.z),
400
+ t.colorDomain?.join() ?? "",
401
+ d(n.series[e.index] ?? [
402
+ 0,
403
+ 0,
404
+ 0,
405
+ 0
406
+ ]),
407
+ d(n.wire),
408
+ i,
409
+ r.maxGridSide,
410
+ e.type === "bar" ? A(e) : ""
411
+ ].join("|");
412
+ };
413
+ return (r, i, a, o) => {
414
+ let s = /* @__PURE__ */ new Map(), c = [], l = [], u = [];
415
+ for (let d of r.series) {
416
+ let f = `${d.index}:${d.id}`;
417
+ if (d.hidden) {
418
+ u.push(0);
419
+ let t = e.get(f);
420
+ t && s.set(f, t);
421
+ continue;
422
+ }
423
+ let p = n(d, r, i, a, o), m = e.get(f);
424
+ (!m || m.signature !== p) && (m = O(d, r, i, a, `s${f}`, ++t, p)), s.set(f, m), c.push(...m.items), l.push(...m.target), u.push(m.count);
425
+ }
426
+ return e = s, {
427
+ items: c,
428
+ targets: l,
429
+ counts: u
430
+ };
431
+ };
432
+ }, O = (t, n, r, i, a, o, s) => {
433
+ switch (t.type) {
434
+ case "surface": {
435
+ let c = _(t, n, r, i, `${a}:mesh`, o), l = [];
436
+ c.mesh && l.push(c.mesh);
437
+ let u = t.series.wireframe;
438
+ if (u) {
439
+ let t = u === !0 ? {} : u, n = t.color ? e(r.resolve(t.color)) : e(r.wire);
440
+ l.push(x(c, t, n, `${a}:wire`, o));
441
+ }
442
+ let d = t.series.contours;
443
+ if (d) {
444
+ let e = C(t, n, r, d === !0 ? {} : d, `${a}:contours`, o);
445
+ e && l.push(e);
446
+ }
447
+ return {
448
+ signature: s,
449
+ items: l,
450
+ target: [{
451
+ kind: "surface",
452
+ series: t.index,
453
+ rows: c.rowIndex.length,
454
+ cols: c.colIndex.length,
455
+ positions: c.positions,
456
+ rowIndex: c.rowIndex,
457
+ colIndex: c.colIndex
458
+ }],
459
+ count: t.grid.rows * t.grid.cols
460
+ };
461
+ }
462
+ case "bar": {
463
+ let { mesh: e, target: i } = T(t, n, r, `${a}:bars`, o);
464
+ return {
465
+ signature: s,
466
+ items: [e],
467
+ target: [i],
468
+ count: t.bars.count
469
+ };
470
+ }
471
+ case "line": {
472
+ let e = t.series.pointSize ?? 0, i = h(t, n, r, e), c = [E(t, i, `${a}:line`, o)];
473
+ return e > 0 && c.push({
474
+ kind: "points",
475
+ key: `${a}:points`,
476
+ version: o,
477
+ opacity: t.opacity,
478
+ data: i.data,
479
+ count: i.count,
480
+ perspective: !1
481
+ }), {
482
+ signature: s,
483
+ items: c,
484
+ target: [k(t.index, i, Math.max(e, t.series.lineWidth ?? 2))],
485
+ count: i.count
486
+ };
487
+ }
488
+ default: {
489
+ let e = t.series.pointSize ?? 6, i = h(t, n, r, e);
490
+ return {
491
+ signature: s,
492
+ items: [{
493
+ kind: "points",
494
+ key: `${a}:points`,
495
+ version: o,
496
+ opacity: t.opacity,
497
+ data: i.data,
498
+ count: i.count,
499
+ perspective: t.series.perspectiveSize ?? !0
500
+ }],
501
+ target: [k(t.index, i, e)],
502
+ count: i.count
503
+ };
504
+ }
505
+ }
506
+ }, k = (e, t, n) => ({
507
+ kind: "points",
508
+ series: e,
509
+ positions: new Float32Array(t.data),
510
+ stride: 5,
511
+ count: t.count,
512
+ sized: t.sized,
513
+ defaultSize: n,
514
+ source: t.source,
515
+ packed: new Uint32Array(t.data)
516
+ }), A = (e) => {
517
+ let t = e.bars.count;
518
+ for (let n = 0; n < e.bars.count; n++) t = (t * 31 + e.bars.z0[n] * 997 + e.bars.z1[n] * 13) % 0xe8d4a51000;
519
+ return String(t);
520
+ }, j = (e) => t([
521
+ (e & 255) / 255,
522
+ (e >>> 8 & 255) / 255,
523
+ (e >>> 16 & 255) / 255,
524
+ (e >>> 24 & 255) / 255
525
+ ]);
526
+ //#endregion
527
+ export { s as CPU_BUDGET, o as GPU_BUDGET, S as contourLevels, D as createGeometryBuilder, u as objectId, j as packedCss, b as stepped };
528
+
529
+ //# sourceMappingURL=geometry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.js","names":["GPU_BUDGET","CPU_BUDGET","nextId","ids","objectId","value","id","colorKey","c","v","domainKey","a","isFiniteNumber","scaleColor","domain","fallback","lut","lutIndex","buildPoints","m","n","cols","buffer","f32","u32","seriesColor","packColor","colors","byScale","scaleSource","cache","source","count","ax","ay","az","model","sx","sy","sz","ox","oy","oz","i","x","y","z","k","o","size","defaultSize","own","color","packed","sampleIndices","max","all","out","buildSurface","rowIndex","grid","budget","colIndex","rows","positions","r","gy","toWorld","gx","h","byValue","P","finite","c0","c1","r0","r1","nx","ny","nz","ux","uz","vy","vz","len","gi","indices","b","d","e","segmentBuffer","j","coords","MAX_WIRES","stepped","step","buildWireframe","mesh","rowStep","options","colStep","segment","contourLevels","min","nice","linearTicks","buildContours","levels","floor","onSurface","fixed","floorZ","xAt","f","yAt","segments","level","contourSegments","lz","x0","y0","x1","y1","FACES","buildBars","bars","boxes","width","cellX","cellY","hx","hy","cx","cy","za","zb","lo","hi","face","buildLine","points","opacity","createGeometryBuilder","version","signatureOf","s","lutId","stackHash","next","items","targets","counts","kept","signature","entry","buildSeries","key","wire","contours","lines","target","pointTarget","hash","packedCss","toCss"],"sources":["../../../../../charts/src/engine/three-d/geometry.ts"],"sourcesContent":["// Model -> GPU items (points, meshes, line segments) and the CPU data the\n// hover picking needs. Items keep their version (no re-upload) while their\n// signature is unchanged.\n\nimport { packColor, toCss, type Rgba } from \"../color\";\nimport { linearTicks } from \"../scale\";\nimport { contourSegments } from \"./contours\";\nimport { lutIndex, type ColorLut } from \"./colormap\";\nimport {\n toWorld,\n type AxisModel,\n type BarModel,\n type LineModel,\n type Model3D,\n type ScatterModel,\n type SeriesModel,\n type SurfaceModel,\n} from \"./model\";\nimport {\n POINT_STRIDE,\n SEGMENT_STRIDE,\n VERTEX_STRIDE,\n type Item3D,\n type LinesItem,\n type MeshItem,\n type PointsItem,\n} from \"./render-types\";\nimport type {\n Surface3DContourOptions,\n Surface3DWireframeOptions,\n} from \"./types\";\n\n/** Colors the geometry needs, resolved by the chart */\nexport interface GeometryColors {\n /** Color of every series (option or palette) */\n series: Rgba[];\n /** Resolves a CSS color of the data */\n resolve: (value: string) => Rgba;\n /** Sampled color scale */\n lut: ColorLut;\n /** Default wireframe color */\n wire: Rgba;\n}\n\n/** Limits of the CPU (Canvas2D) backend */\nexport interface GeometryBudget {\n /** Largest surface grid side drawn (resampled above) */\n maxGridSide: number;\n}\n\nexport const GPU_BUDGET: GeometryBudget = { maxGridSide: 2048 };\nexport const CPU_BUDGET: GeometryBudget = { maxGridSide: 72 };\n\n/** Picking data of a point cloud (scatter dots, line vertices) */\nexport interface PointTarget {\n kind: \"points\";\n series: number;\n /** World positions, stride `stride` floats */\n positions: Float32Array;\n stride: number;\n count: number;\n /** Diameters in CSS pixels (stride as positions, offset 3) or `null` */\n sized: boolean;\n defaultSize: number;\n /** Index in the series data of every drawn point (`null`: identity) */\n source: Uint32Array | null;\n /** Packed colors (offset 4 of the stride) or the series color */\n packed: Uint32Array | null;\n}\n\n/** Picking data of a surface: its (possibly resampled) world grid */\nexport interface SurfaceTarget {\n kind: \"surface\";\n series: number;\n rows: number;\n cols: number;\n /** World positions of the sampled vertices (x, y, z) */\n positions: Float32Array;\n /** Rows / columns of the data grid the samples come from */\n rowIndex: Int32Array;\n colIndex: Int32Array;\n}\n\n/** Picking data of bars: one world box per bar */\nexport interface BarTarget {\n kind: \"bars\";\n series: number;\n count: number;\n /** min x, y, z, max x, y, z per bar */\n boxes: Float32Array;\n}\n\nexport type PickTarget = PointTarget | SurfaceTarget | BarTarget;\n\nexport interface Geometry {\n items: Item3D[];\n targets: PickTarget[];\n /** Total number of drawn points / cells / bars (summary) */\n counts: number[];\n}\n\n// -------------------------------------------------------------- utilities\n\nlet nextId = 1;\nconst ids = new WeakMap<object, number>();\n/** Stable identity number of an object (data arrays) */\nexport const objectId = (value: object | null | undefined): number => {\n if (!value) return 0;\n let id = ids.get(value);\n if (id === undefined) {\n id = nextId++;\n ids.set(value, id);\n }\n return id;\n};\n\nconst colorKey = (c: Rgba) => c.map((v) => v.toFixed(4)).join(\",\");\n\nconst domainKey = (a: AxisModel) =>\n `${a.domain[0]},${a.domain[1]},${a.half},${a.categories?.length ?? -1}`;\n\nconst isFiniteNumber = (v: number) =>\n v === v && v !== Infinity && v !== -Infinity;\n\n/** Packs the scale color of `value` (NaN -> fallback) */\nconst scaleColor = (\n lut: ColorLut,\n domain: [number, number] | null,\n value: number,\n fallback: number,\n) => {\n if (!domain || !isFiniteNumber(value)) return fallback;\n return lut.packed[lutIndex(value, domain[0], domain[1])];\n};\n\n// ------------------------------------------------------------------ points\n\nconst buildPoints = (\n m: ScatterModel | LineModel,\n model: Model3D,\n colors: GeometryColors,\n defaultSize: number,\n): {\n data: ArrayBuffer;\n count: number;\n source: Uint32Array | null;\n sized: boolean;\n} => {\n const { cols } = m;\n const n = cols.count;\n const buffer = new ArrayBuffer(n * POINT_STRIDE);\n const f32 = new Float32Array(buffer);\n const u32 = new Uint32Array(buffer);\n const seriesColor = packColor(colors.series[m.index] ?? [0.5, 0.5, 0.5, 1]);\n const byScale = m.colorBy !== \"series\";\n const scaleSource = m.colorBy === \"value\" && cols.value ? cols.value : cols.z;\n const cache = new Map<string, number>();\n let source: Uint32Array | null = null;\n let count = 0;\n const { x: ax, y: ay, z: az } = model;\n // inline world mapping (hot loop for 1M points)\n const sx = (2 * ax.half) / (ax.domain[1] - ax.domain[0] || 1);\n const sy = (2 * ay.half) / (ay.domain[1] - ay.domain[0] || 1);\n const sz = (2 * az.half) / (az.domain[1] - az.domain[0] || 1);\n const ox = -ax.half - ax.domain[0] * sx;\n const oy = -ay.half - ay.domain[0] * sy;\n const oz = -az.half - az.domain[0] * sz;\n for (let i = 0; i < n; i++) {\n const x = cols.x[i];\n const y = cols.y[i];\n const z = cols.z[i];\n if (!isFiniteNumber(x) || !isFiniteNumber(y) || !isFiniteNumber(z)) {\n if (!source) {\n source = new Uint32Array(n);\n for (let k = 0; k < count; k++) source[k] = k;\n }\n continue;\n }\n if (source) source[count] = i;\n const o = count * 5;\n f32[o] = x * sx + ox;\n f32[o + 1] = y * sy + oy;\n f32[o + 2] = z * sz + oz;\n const size = cols.size ? cols.size[i] : NaN;\n f32[o + 3] = isFiniteNumber(size) ? size : defaultSize;\n const own = cols.colors?.[i];\n let color: number;\n if (own !== undefined) {\n let packed = cache.get(own);\n if (packed === undefined) {\n packed = packColor(colors.resolve(own));\n cache.set(own, packed);\n }\n color = packed;\n } else if (byScale) {\n color = scaleColor(\n colors.lut,\n model.colorDomain,\n scaleSource[i],\n seriesColor,\n );\n } else {\n color = seriesColor;\n }\n u32[o + 4] = color;\n count++;\n }\n return {\n data: buffer,\n count,\n source: source ? source.subarray(0, count) : null,\n sized: !!cols.size,\n };\n};\n\n// ----------------------------------------------------------------- surface\n\n/** Indices of the sampled rows / columns: every `step`, the last one included */\nconst sampleIndices = (count: number, max: number): Int32Array => {\n if (count <= max) {\n const all = new Int32Array(count);\n for (let i = 0; i < count; i++) all[i] = i;\n return all;\n }\n const out = new Int32Array(max);\n for (let i = 0; i < max; i++)\n out[i] = Math.round((i * (count - 1)) / (max - 1));\n return out;\n};\n\ninterface SurfaceMesh {\n positions: Float32Array;\n rowIndex: Int32Array;\n colIndex: Int32Array;\n mesh: MeshItem | null;\n}\n\nconst buildSurface = (\n m: SurfaceModel,\n model: Model3D,\n colors: GeometryColors,\n budget: GeometryBudget,\n key: string,\n version: number,\n): SurfaceMesh => {\n const { grid } = m;\n const rowIndex = sampleIndices(grid.rows, budget.maxGridSide);\n const colIndex = sampleIndices(grid.cols, budget.maxGridSide);\n const rows = rowIndex.length;\n const cols = colIndex.length;\n const n = rows * cols;\n const positions = new Float32Array(n * 3);\n for (let r = 0; r < rows; r++) {\n const gy = toWorld(model.y, grid.y[rowIndex[r]]);\n for (let c = 0; c < cols; c++) {\n const gx = toWorld(model.x, grid.x[colIndex[c]]);\n const h = grid.z[rowIndex[r] * grid.cols + colIndex[c]];\n const o = (r * cols + c) * 3;\n positions[o] = gx;\n positions[o + 1] = gy;\n positions[o + 2] = isFiniteNumber(h) ? toWorld(model.z, h) : NaN;\n }\n }\n if (m.series.fill === false) {\n return { positions, rowIndex, colIndex, mesh: null };\n }\n const buffer = new ArrayBuffer(n * VERTEX_STRIDE);\n const f32 = new Float32Array(buffer);\n const u32 = new Uint32Array(buffer);\n const seriesColor = packColor(colors.series[m.index] ?? [0.5, 0.5, 0.5, 1]);\n const byValue = m.colorBy === \"value\" && grid.value;\n const P = (r: number, c: number, k: number) =>\n positions[(r * cols + c) * 3 + k];\n const finite = (r: number, c: number) =>\n r >= 0 && r < rows && c >= 0 && c < cols && isFiniteNumber(P(r, c, 2));\n for (let r = 0; r < rows; r++) {\n for (let c = 0; c < cols; c++) {\n const v = r * cols + c;\n const o = v * 7;\n f32[o] = P(r, c, 0);\n f32[o + 1] = P(r, c, 1);\n f32[o + 2] = isFiniteNumber(P(r, c, 2)) ? P(r, c, 2) : 0;\n // normal: cross product of the central (or one-sided) differences\n const c0 = finite(r, c - 1) ? c - 1 : c;\n const c1 = finite(r, c + 1) ? c + 1 : c;\n const r0 = finite(r - 1, c) ? r - 1 : r;\n const r1 = finite(r + 1, c) ? r + 1 : r;\n let nx = 0;\n let ny = 0;\n let nz = 1;\n if (finite(r, c) && c0 !== c1 && r0 !== r1) {\n const ux = P(r, c1, 0) - P(r, c0, 0);\n const uz = P(r, c1, 2) - P(r, c0, 2);\n const vy = P(r1, c, 1) - P(r0, c, 1);\n const vz = P(r1, c, 2) - P(r0, c, 2);\n // u = (ux, 0, uz), v = (0, vy, vz): u × v\n nx = -uz * vy;\n ny = -ux * vz;\n nz = ux * vy;\n const len = Math.hypot(nx, ny, nz) || 1;\n nx /= len;\n ny /= len;\n nz /= len;\n if (nz < 0) {\n nx = -nx;\n ny = -ny;\n nz = -nz;\n }\n }\n f32[o + 3] = nx;\n f32[o + 4] = ny;\n f32[o + 5] = nz;\n const gi = rowIndex[r] * grid.cols + colIndex[c];\n u32[o + 6] =\n m.colorBy === \"series\"\n ? seriesColor\n : scaleColor(\n colors.lut,\n model.colorDomain,\n byValue ? grid.value![gi] : grid.z[gi],\n seriesColor,\n );\n }\n }\n const indices = new Uint32Array((rows - 1) * (cols - 1) * 6);\n let k = 0;\n for (let r = 0; r < rows - 1; r++) {\n for (let c = 0; c < cols - 1; c++) {\n if (\n !finite(r, c) ||\n !finite(r, c + 1) ||\n !finite(r + 1, c) ||\n !finite(r + 1, c + 1)\n ) {\n continue;\n }\n const a = r * cols + c;\n const b = a + 1;\n const d = a + cols;\n const e = d + 1;\n indices[k++] = a;\n indices[k++] = b;\n indices[k++] = e;\n indices[k++] = a;\n indices[k++] = e;\n indices[k++] = d;\n }\n }\n return {\n positions,\n rowIndex,\n colIndex,\n mesh: {\n kind: \"mesh\",\n key,\n version,\n opacity: m.opacity,\n vertices: buffer,\n vertexCount: n,\n indices: indices.subarray(0, k),\n },\n };\n};\n\n/** Segment buffer from a flat list of world coordinates (6 per segment) and packed colors */\nconst segmentBuffer = (coords: number[], packed: number[]) => {\n const count = packed.length;\n const buffer = new ArrayBuffer(count * SEGMENT_STRIDE);\n const f32 = new Float32Array(buffer);\n const u32 = new Uint32Array(buffer);\n for (let i = 0; i < count; i++) {\n const o = i * 7;\n for (let j = 0; j < 6; j++) f32[o + j] = coords[i * 6 + j];\n u32[o + 6] = packed[i];\n }\n return { buffer, count };\n};\n\nconst MAX_WIRES = 64;\n\n/** 0, step, 2 step, … and the last index */\nexport const stepped = (count: number, step: number): number[] => {\n const out: number[] = [];\n for (let i = 0; i < count; i += step) out.push(i);\n if (count > 0 && out[out.length - 1] !== count - 1) out.push(count - 1);\n return out;\n};\n\nconst buildWireframe = (\n mesh: SurfaceMesh,\n options: Surface3DWireframeOptions,\n color: number,\n key: string,\n version: number,\n): LinesItem => {\n const rows = mesh.rowIndex.length;\n const cols = mesh.colIndex.length;\n const P = mesh.positions;\n const coords: number[] = [];\n const packed: number[] = [];\n const rowStep = Math.max(\n 1,\n Math.round(options.step ?? Math.ceil(rows / MAX_WIRES)),\n );\n const colStep = Math.max(\n 1,\n Math.round(options.step ?? Math.ceil(cols / MAX_WIRES)),\n );\n const segment = (a: number, b: number) => {\n if (!isFiniteNumber(P[a * 3 + 2]) || !isFiniteNumber(P[b * 3 + 2])) return;\n coords.push(\n P[a * 3],\n P[a * 3 + 1],\n P[a * 3 + 2],\n P[b * 3],\n P[b * 3 + 1],\n P[b * 3 + 2],\n );\n packed.push(color);\n };\n for (const r of stepped(rows, rowStep)) {\n for (let c = 0; c < cols - 1; c++) segment(r * cols + c, r * cols + c + 1);\n }\n for (const c of stepped(cols, colStep)) {\n for (let r = 0; r < rows - 1; r++)\n segment(r * cols + c, (r + 1) * cols + c);\n }\n const { buffer, count } = segmentBuffer(coords, packed);\n return {\n kind: \"lines\",\n key,\n version,\n opacity: 1,\n data: buffer,\n count,\n width: options.width ?? 1,\n bias: 0.0015,\n };\n};\n\n/** Levels of the contour lines */\nexport const contourLevels = (\n options: Surface3DContourOptions,\n min: number,\n max: number,\n): number[] => {\n if (options.levels) return options.levels.filter(isFiniteNumber);\n if (!(max > min)) return [];\n const count = Math.max(1, Math.round(options.count ?? 10));\n const nice = linearTicks(min, max, count).filter((v) => v > min && v < max);\n if (nice.length >= Math.max(2, count / 2)) return nice;\n return Array.from(\n { length: count },\n (_, i) => min + ((i + 0.5) * (max - min)) / count,\n );\n};\n\nconst buildContours = (\n m: SurfaceModel,\n model: Model3D,\n colors: GeometryColors,\n options: Surface3DContourOptions,\n key: string,\n version: number,\n): LinesItem | null => {\n const { grid } = m;\n const levels = contourLevels(options, grid.extent.z.min, grid.extent.z.max);\n if (!levels.length) return null;\n const floor = options.floor ?? true;\n const onSurface = options.surface ?? false;\n if (!floor && !onSurface) return null;\n const fixed = options.color ? packColor(colors.resolve(options.color)) : null;\n const floorZ = -model.z.half + 0.002;\n // the color of a level follows the scale when the surface is colored by height\n const domain =\n model.colorDomain && m.colorBy !== \"value\"\n ? model.colorDomain\n : ([grid.extent.z.min, grid.extent.z.max] as [number, number]);\n const coords: number[] = [];\n const packed: number[] = [];\n const xAt = (c: number) => {\n const i = Math.floor(c);\n const f = c - i;\n const a = grid.x[Math.min(i, grid.cols - 1)];\n const b = grid.x[Math.min(i + 1, grid.cols - 1)];\n return toWorld(model.x, a + (b - a) * f);\n };\n const yAt = (r: number) => {\n const i = Math.floor(r);\n const f = r - i;\n const a = grid.y[Math.min(i, grid.rows - 1)];\n const b = grid.y[Math.min(i + 1, grid.rows - 1)];\n return toWorld(model.y, a + (b - a) * f);\n };\n const segments: number[] = [];\n for (const level of levels) {\n segments.length = 0;\n contourSegments(grid.z, grid.rows, grid.cols, level, segments);\n if (!segments.length) continue;\n const color =\n fixed ?? colors.lut.packed[lutIndex(level, domain[0], domain[1])];\n const lz = toWorld(model.z, level);\n for (let i = 0; i < segments.length; i += 4) {\n const x0 = xAt(segments[i]);\n const y0 = yAt(segments[i + 1]);\n const x1 = xAt(segments[i + 2]);\n const y1 = yAt(segments[i + 3]);\n if (floor) {\n coords.push(x0, y0, floorZ, x1, y1, floorZ);\n packed.push(color);\n }\n if (onSurface) {\n coords.push(x0, y0, lz, x1, y1, lz);\n packed.push(color);\n }\n }\n }\n if (!packed.length) return null;\n const { buffer, count } = segmentBuffer(coords, packed);\n return {\n kind: \"lines\",\n key,\n version,\n opacity: 1,\n data: buffer,\n count,\n width: options.width ?? 1,\n bias: 0.002,\n };\n};\n\n// -------------------------------------------------------------------- bars\n\n/** Corners of the 6 faces (4 each, counterclockwise from outside) and their normals */\nconst FACES: readonly { n: [number, number, number]; c: number[] }[] = [\n { n: [0, 0, 1], c: [0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1, 1] },\n { n: [0, 0, -1], c: [0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0] },\n { n: [1, 0, 0], c: [1, 0, 0, 1, 1, 0, 1, 1, 1, 1, 0, 1] },\n { n: [-1, 0, 0], c: [0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0] },\n { n: [0, 1, 0], c: [0, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0] },\n { n: [0, -1, 0], c: [0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 1] },\n];\n\nconst buildBars = (\n m: BarModel,\n model: Model3D,\n colors: GeometryColors,\n key: string,\n version: number,\n): { mesh: MeshItem; target: BarTarget } => {\n const { bars } = m;\n const n = bars.count;\n const buffer = new ArrayBuffer(n * 24 * VERTEX_STRIDE);\n const f32 = new Float32Array(buffer);\n const u32 = new Uint32Array(buffer);\n const indices = new Uint32Array(n * 36);\n const boxes = new Float32Array(n * 6);\n const seriesColor = packColor(colors.series[m.index] ?? [0.5, 0.5, 0.5, 1]);\n const width = Math.max(0.05, Math.min(1, m.series.barWidth ?? 0.7));\n const cellX =\n (2 * model.x.half) / Math.max(1, model.x.domain[1] - model.x.domain[0]);\n const cellY =\n (2 * model.y.half) / Math.max(1, model.y.domain[1] - model.y.domain[0]);\n const hx = (cellX * width) / 2;\n const hy = (cellY * width) / 2;\n const cache = new Map<string, number>();\n let v = 0;\n let k = 0;\n for (let i = 0; i < n; i++) {\n const cx = toWorld(model.x, bars.xi[i]);\n const cy = toWorld(model.y, bars.yi[i]);\n const za = toWorld(model.z, bars.z0[i]);\n const zb = toWorld(model.z, bars.z1[i]);\n const lo: [number, number, number] = [cx - hx, cy - hy, Math.min(za, zb)];\n const hi: [number, number, number] = [cx + hx, cy + hy, Math.max(za, zb)];\n boxes.set([lo[0], lo[1], lo[2], hi[0], hi[1], hi[2]], i * 6);\n const own = bars.colors?.[i];\n let color: number;\n if (own !== undefined) {\n color = cache.get(own) ?? packColor(colors.resolve(own));\n cache.set(own, color);\n } else if (m.colorBy === \"series\") {\n color = seriesColor;\n } else {\n const value =\n m.colorBy === \"value\" && bars.value ? bars.value[i] : bars.z[i];\n color = scaleColor(colors.lut, model.colorDomain, value, seriesColor);\n }\n for (const face of FACES) {\n for (let j = 0; j < 4; j++) {\n const o = (v + j) * 7;\n f32[o] = face.c[j * 3] ? hi[0] : lo[0];\n f32[o + 1] = face.c[j * 3 + 1] ? hi[1] : lo[1];\n f32[o + 2] = face.c[j * 3 + 2] ? hi[2] : lo[2];\n f32[o + 3] = face.n[0];\n f32[o + 4] = face.n[1];\n f32[o + 5] = face.n[2];\n u32[o + 6] = color;\n }\n indices[k++] = v;\n indices[k++] = v + 1;\n indices[k++] = v + 2;\n indices[k++] = v;\n indices[k++] = v + 2;\n indices[k++] = v + 3;\n v += 4;\n }\n }\n return {\n mesh: {\n kind: \"mesh\",\n key,\n version,\n opacity: m.opacity,\n vertices: buffer,\n vertexCount: v,\n indices,\n },\n target: { kind: \"bars\", series: m.index, count: n, boxes },\n };\n};\n\n// ------------------------------------------------------------------- lines\n\nconst buildLine = (\n m: LineModel,\n points: { data: ArrayBuffer; count: number; source: Uint32Array | null },\n key: string,\n version: number,\n): LinesItem => {\n const f32 = new Float32Array(points.data);\n const u32 = new Uint32Array(points.data);\n const coords: number[] = [];\n const packed: number[] = [];\n const opacity = m.opacity;\n for (let i = 0; i < points.count - 1; i++) {\n // a gap in the data (NaN) breaks the line\n if (points.source && points.source[i + 1] !== points.source[i] + 1)\n continue;\n const a = i * 5;\n const b = a + 5;\n coords.push(f32[a], f32[a + 1], f32[a + 2], f32[b], f32[b + 1], f32[b + 2]);\n packed.push(u32[a + 4]);\n }\n const { buffer, count } = segmentBuffer(coords, packed);\n return {\n kind: \"lines\",\n key,\n version,\n opacity,\n data: buffer,\n count,\n width: m.series.lineWidth ?? 2,\n bias: 0,\n };\n};\n\n// -------------------------------------------------------------------- main\n\ninterface CacheEntry {\n signature: string;\n items: Item3D[];\n target: PickTarget[];\n count: number;\n}\n\n/** Builds the items of every visible series, reusing the unchanged ones */\nexport const createGeometryBuilder = () => {\n let cache = new Map<string, CacheEntry>();\n let version = 0;\n\n const signatureOf = (\n m: SeriesModel,\n model: Model3D,\n colors: GeometryColors,\n budget: GeometryBudget,\n lutId: number,\n ): string => {\n const s = m.series as unknown as Record<string, unknown>;\n const options = JSON.stringify({\n type: m.type,\n colorBy: m.colorBy,\n opacity: m.opacity,\n pointSize: s.pointSize,\n lineWidth: s.lineWidth,\n perspectiveSize: s.perspectiveSize,\n wireframe: s.wireframe,\n contours: s.contours,\n fill: s.fill,\n barWidth: s.barWidth,\n });\n return [\n objectId(m.series.data as object),\n options,\n domainKey(model.x),\n domainKey(model.y),\n domainKey(model.z),\n model.colorDomain?.join() ?? \"\",\n colorKey(colors.series[m.index] ?? [0, 0, 0, 0]),\n colorKey(colors.wire),\n lutId,\n budget.maxGridSide,\n // stacked bars depend on the other bar series\n m.type === \"bar\" ? stackHash(m) : \"\",\n ].join(\"|\");\n };\n\n return (\n model: Model3D,\n colors: GeometryColors,\n budget: GeometryBudget,\n lutId: number,\n ): Geometry => {\n const next = new Map<string, CacheEntry>();\n const items: Item3D[] = [];\n const targets: PickTarget[] = [];\n const counts: number[] = [];\n for (const m of model.series) {\n const id = `${m.index}:${m.id}`;\n if (m.hidden) {\n counts.push(0);\n // keep the geometry while hidden: showing it again is instant\n const kept = cache.get(id);\n if (kept) next.set(id, kept);\n continue;\n }\n const signature = signatureOf(m, model, colors, budget, lutId);\n let entry = cache.get(id);\n if (!entry || entry.signature !== signature) {\n entry = buildSeries(\n m,\n model,\n colors,\n budget,\n `s${id}`,\n ++version,\n signature,\n );\n }\n next.set(id, entry);\n items.push(...entry.items);\n targets.push(...entry.target);\n counts.push(entry.count);\n }\n cache = next;\n return { items, targets, counts };\n };\n};\n\nconst buildSeries = (\n m: SeriesModel,\n model: Model3D,\n colors: GeometryColors,\n budget: GeometryBudget,\n key: string,\n version: number,\n signature: string,\n): CacheEntry => {\n switch (m.type) {\n case \"surface\": {\n const mesh = buildSurface(\n m,\n model,\n colors,\n budget,\n `${key}:mesh`,\n version,\n );\n const items: Item3D[] = [];\n if (mesh.mesh) items.push(mesh.mesh);\n const wire = m.series.wireframe;\n if (wire) {\n const o = wire === true ? {} : wire;\n const color = o.color\n ? packColor(colors.resolve(o.color))\n : packColor(colors.wire);\n items.push(buildWireframe(mesh, o, color, `${key}:wire`, version));\n }\n const contours = m.series.contours;\n if (contours) {\n const lines = buildContours(\n m,\n model,\n colors,\n contours === true ? {} : contours,\n `${key}:contours`,\n version,\n );\n if (lines) items.push(lines);\n }\n return {\n signature,\n items,\n target: [\n {\n kind: \"surface\",\n series: m.index,\n rows: mesh.rowIndex.length,\n cols: mesh.colIndex.length,\n positions: mesh.positions,\n rowIndex: mesh.rowIndex,\n colIndex: mesh.colIndex,\n },\n ],\n count: m.grid.rows * m.grid.cols,\n };\n }\n case \"bar\": {\n const { mesh, target } = buildBars(\n m,\n model,\n colors,\n `${key}:bars`,\n version,\n );\n return {\n signature,\n items: [mesh],\n target: [target],\n count: m.bars.count,\n };\n }\n case \"line\": {\n const size = m.series.pointSize ?? 0;\n const points = buildPoints(m, model, colors, size);\n const items: Item3D[] = [buildLine(m, points, `${key}:line`, version)];\n if (size > 0) {\n items.push({\n kind: \"points\",\n key: `${key}:points`,\n version,\n opacity: m.opacity,\n data: points.data,\n count: points.count,\n perspective: false,\n } satisfies PointsItem);\n }\n return {\n signature,\n items,\n target: [\n pointTarget(m.index, points, Math.max(size, m.series.lineWidth ?? 2)),\n ],\n count: points.count,\n };\n }\n default: {\n const size = m.series.pointSize ?? 6;\n const points = buildPoints(m, model, colors, size);\n return {\n signature,\n items: [\n {\n kind: \"points\",\n key: `${key}:points`,\n version,\n opacity: m.opacity,\n data: points.data,\n count: points.count,\n perspective: m.series.perspectiveSize ?? true,\n },\n ],\n target: [pointTarget(m.index, points, size)],\n count: points.count,\n };\n }\n }\n};\n\nconst pointTarget = (\n series: number,\n points: {\n data: ArrayBuffer;\n count: number;\n source: Uint32Array | null;\n sized: boolean;\n },\n defaultSize: number,\n): PointTarget => ({\n kind: \"points\",\n series,\n positions: new Float32Array(points.data),\n stride: 5,\n count: points.count,\n sized: points.sized,\n defaultSize,\n source: points.source,\n packed: new Uint32Array(points.data),\n});\n\nconst stackHash = (m: BarModel) => {\n let hash = m.bars.count;\n for (let i = 0; i < m.bars.count; i++) {\n hash = (hash * 31 + m.bars.z0[i] * 997 + m.bars.z1[i] * 13) % 1e12;\n }\n return String(hash);\n};\n\n/** CSS color of a packed color */\nexport const packedCss = (packed: number): string =>\n toCss([\n (packed & 0xff) / 255,\n ((packed >>> 8) & 0xff) / 255,\n ((packed >>> 16) & 0xff) / 255,\n ((packed >>> 24) & 0xff) / 255,\n ]);\n"],"mappings":";;;;;;AAkDA,IAAaA,IAA6B,EAAE,aAAa,KAAK,GACjDC,IAA6B,EAAE,aAAa,GAAG,GAoDxDC,IAAS,GACPC,oBAAM,IAAI,QAAwB,GAE3BC,KAAY,MAA6C;CACpE,IAAI,CAACC,GAAO,OAAO;CACnB,IAAIC,IAAKH,EAAI,IAAIE,CAAK;CAKtB,OAJIC,MAAO,KAAA,MACT,IAAK,KACLH,EAAI,IAAIE,GAAOC,CAAE,IAEZA;AACT,GAEMC,KAAY,MAAYC,EAAE,KAAK,MAAMC,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,GAE3DC,KAAa,MACjB,GAAGC,EAAE,OAAO,GAAG,GAAGA,EAAE,OAAO,GAAG,GAAGA,EAAE,KAAK,GAAGA,EAAE,YAAY,UAAU,MAE/DC,KAAkB,MACtBH,MAAMA,KAAKA,MAAM,YAAYA,MAAM,WAG/BI,KACJ,GACA,GACA,GACA,MAEI,CAACC,KAAU,CAACF,EAAeP,CAAK,IAAUU,IACvCC,EAAI,OAAOC,EAASZ,GAAOS,EAAO,IAAIA,EAAO,EAAE,IAKlDI,KACJ,GACA,GACA,GACA,MAMG;CACH,IAAM,EAAE,YAASC,GACXC,IAAIC,EAAK,OACTC,oBAAS,IAAI,YAAYF,IAAA,EAAgB,GACzCG,IAAM,IAAI,aAAaD,CAAM,GAC7BE,IAAM,IAAI,YAAYF,CAAM,GAC5BG,IAAcC,EAAUC,EAAO,OAAOR,EAAE,UAAU;EAAC;EAAK;EAAK;EAAK;CAAC,CAAC,GACpES,IAAUT,EAAE,YAAY,UACxBU,IAAcV,EAAE,YAAY,WAAWE,EAAK,QAAQA,EAAK,QAAQA,EAAK,GACtES,oBAAQ,IAAI,IAAoB,GAClCC,IAA6B,MAC7BC,IAAQ,GACN,EAAE,GAAGC,GAAOC,GAAI,GAAGC,MAAOC,GAE1BC,IAAM,IAAIJ,EAAG,QAASA,EAAG,OAAO,KAAKA,EAAG,OAAO,MAAM,IACrDK,IAAM,IAAIJ,EAAG,QAASA,EAAG,OAAO,KAAKA,EAAG,OAAO,MAAM,IACrDK,IAAM,IAAIJ,EAAG,QAASA,EAAG,OAAO,KAAKA,EAAG,OAAO,MAAM,IACrDK,IAAK,CAACP,EAAG,OAAOA,EAAG,OAAO,KAAKI,GAC/BI,IAAK,CAACP,EAAG,OAAOA,EAAG,OAAO,KAAKI,GAC/BI,IAAK,CAACP,EAAG,OAAOA,EAAG,OAAO,KAAKI;CACrC,KAAK,IAAII,IAAI,GAAGA,IAAIvB,GAAG,KAAK;EAC1B,IAAMwB,IAAIvB,EAAK,EAAEsB,IACXE,IAAIxB,EAAK,EAAEsB,IACXG,IAAIzB,EAAK,EAAEsB;EACjB,IAAI,CAAC/B,EAAegC,CAAC,KAAK,CAAChC,EAAeiC,CAAC,KAAK,CAACjC,EAAekC,CAAC,GAAG;GAClE,IAAI,CAACf,GAAQ;IACX,IAAS,IAAI,YAAYX,CAAC;IAC1B,KAAK,IAAI2B,IAAI,GAAGA,IAAIf,GAAO,KAAK,EAAOe,KAAKA;GAC9C;GACA;EACF;EACA,AAAIhB,MAAQ,EAAOC,KAASW;EAC5B,IAAMK,IAAIhB,IAAQ;EAGlB,AAFA,EAAIgB,KAAKJ,IAAIP,IAAKG,GAClB,EAAIQ,IAAI,KAAKH,IAAIP,IAAKG,GACtB,EAAIO,IAAI,KAAKF,IAAIP,IAAKG;EACtB,IAAMO,IAAO5B,EAAK,OAAOA,EAAK,KAAKsB,KAAK;EACxC,EAAIK,IAAI,KAAKpC,EAAeqC,CAAI,IAAIA,IAAOC;EAC3C,IAAMC,IAAM9B,EAAK,SAASsB,IACtBS;EACJ,IAAID,MAAQ,KAAA,GAAW;GACrB,IAAIE,IAASvB,EAAM,IAAIqB,CAAG;GAK1B,AAJIE,MAAW,KAAA,MACb,IAAS3B,EAAUC,EAAO,QAAQwB,CAAG,CAAC,GACtCrB,EAAM,IAAIqB,GAAKE,CAAM,IAEvB,IAAQA;EACV,OAAO,AAQLD,IARSxB,IACDf,EACNc,EAAO,KACPS,EAAM,aACNP,EAAYc,IACZlB,CACF,IAEQA;EAGV,AADA,EAAIuB,IAAI,KAAKI,GACb;CACF;CACA,OAAO;EACL,MAAM9B;EACN;EACA,QAAQS,IAASA,EAAO,SAAS,GAAGC,CAAK,IAAI;EAC7C,OAAO,CAAC,CAACX,EAAK;CAChB;AACF,GAKMiC,KAAiB,GAAe,MAA4B;CAChE,IAAItB,KAASuB,GAAK;EAChB,IAAMC,IAAM,IAAI,WAAWxB,CAAK;EAChC,KAAK,IAAIW,IAAI,GAAGA,IAAIX,GAAO,KAAK,EAAIW,KAAKA;EACzC,OAAOa;CACT;CACA,IAAMC,IAAM,IAAI,WAAWF,CAAG;CAC9B,KAAK,IAAIZ,IAAI,GAAGA,IAAIY,GAAK,KACvB,EAAIZ,KAAK,KAAK,MAAOA,KAAKX,IAAQ,MAAOuB,IAAM,EAAE;CACnD,OAAOE;AACT,GASMC,KACJ,GACA,GACA,GACA,GACA,GACA,MACgB;CAChB,IAAM,EAAE,YAASvC,GACXwC,IAAWL,EAAcM,EAAK,MAAMC,EAAO,WAAW,GACtDC,IAAWR,EAAcM,EAAK,MAAMC,EAAO,WAAW,GACtDE,IAAOJ,EAAS,QAChBtC,IAAOyC,EAAS,QAChB1C,IAAI2C,IAAO1C,GACX2C,IAAY,IAAI,aAAa5C,IAAI,CAAC;CACxC,KAAK,IAAI6C,IAAI,GAAGA,IAAIF,GAAM,KAAK;EAC7B,IAAMG,IAAKC,EAAQ/B,EAAM,GAAGwB,EAAK,EAAED,EAASM,GAAG;EAC/C,KAAK,IAAIzD,IAAI,GAAGA,IAAIa,GAAM,KAAK;GAC7B,IAAM+C,IAAKD,EAAQ/B,EAAM,GAAGwB,EAAK,EAAEE,EAAStD,GAAG,GACzC6D,IAAIT,EAAK,EAAED,EAASM,KAAKL,EAAK,OAAOE,EAAStD,KAC9CwC,KAAKiB,IAAI5C,IAAOb,KAAK;GAG3B,AAFA,EAAUwC,KAAKoB,GACf,EAAUpB,IAAI,KAAKkB,GACnB,EAAUlB,IAAI,KAAKpC,EAAeyD,CAAC,IAAIF,EAAQ/B,EAAM,GAAGiC,CAAC,IAAI;EAC/D;CACF;CACA,IAAIlD,EAAE,OAAO,SAAS,IACpB,OAAO;EAAE;EAAW;EAAU;EAAU,MAAM;CAAK;CAErD,IAAMG,oBAAS,IAAI,YAAYF,IAAA,EAAiB,GAC1CG,IAAM,IAAI,aAAaD,CAAM,GAC7BE,IAAM,IAAI,YAAYF,CAAM,GAC5BG,IAAcC,EAAUC,EAAO,OAAOR,EAAE,UAAU;EAAC;EAAK;EAAK;EAAK;CAAC,CAAC,GACpEmD,IAAUnD,EAAE,YAAY,WAAWyC,EAAK,OACxCW,KAAK,GAAW,GAAW,MAC/BP,GAAWC,IAAI5C,IAAOb,KAAK,IAAIuC,IAC3ByB,KAAU,GAAW,MACzBP,KAAK,KAAKA,IAAIF,KAAQvD,KAAK,KAAKA,IAAIa,KAAQT,EAAe2D,EAAEN,GAAGzD,GAAG,CAAC,CAAC;CACvE,KAAK,IAAIyD,IAAI,GAAGA,IAAIF,GAAM,KACxB,KAAK,IAAIvD,IAAI,GAAGA,IAAIa,GAAM,KAAK;EAE7B,IAAM2B,KADIiB,IAAI5C,IAAOb,KACP;EAGd,AAFA,EAAIwC,KAAKuB,EAAEN,GAAGzD,GAAG,CAAC,GAClB,EAAIwC,IAAI,KAAKuB,EAAEN,GAAGzD,GAAG,CAAC,GACtB,EAAIwC,IAAI,KAAKpC,EAAe2D,EAAEN,GAAGzD,GAAG,CAAC,CAAC,IAAI+D,EAAEN,GAAGzD,GAAG,CAAC,IAAI;EAEvD,IAAMiE,IAAKD,EAAOP,GAAGzD,IAAI,CAAC,IAAIA,IAAI,IAAIA,GAChCkE,IAAKF,EAAOP,GAAGzD,IAAI,CAAC,IAAIA,IAAI,IAAIA,GAChCmE,IAAKH,EAAOP,IAAI,GAAGzD,CAAC,IAAIyD,IAAI,IAAIA,GAChCW,IAAKJ,EAAOP,IAAI,GAAGzD,CAAC,IAAIyD,IAAI,IAAIA,GAClCY,IAAK,GACLC,IAAK,GACLC,IAAK;EACT,IAAIP,EAAOP,GAAGzD,CAAC,KAAKiE,MAAOC,KAAMC,MAAOC,GAAI;GAC1C,IAAMI,IAAKT,EAAEN,GAAGS,GAAI,CAAC,IAAIH,EAAEN,GAAGQ,GAAI,CAAC,GAC7BQ,IAAKV,EAAEN,GAAGS,GAAI,CAAC,IAAIH,EAAEN,GAAGQ,GAAI,CAAC,GAC7BS,IAAKX,EAAEK,GAAIpE,GAAG,CAAC,IAAI+D,EAAEI,GAAInE,GAAG,CAAC,GAC7B2E,IAAKZ,EAAEK,GAAIpE,GAAG,CAAC,IAAI+D,EAAEI,GAAInE,GAAG,CAAC;GAInC,AAFA,IAAK,CAACyE,IAAKC,GACX,IAAK,CAACF,IAAKG,GACX,IAAKH,IAAKE;GACV,IAAME,IAAM,KAAK,MAAMP,GAAIC,GAAIC,CAAE,KAAK;GAItC,AAHA,KAAMK,GACN,KAAMA,GACN,KAAMA,GACFL,IAAK,MACP,IAAK,CAACF,GACN,IAAK,CAACC,GACN,IAAK,CAACC;EAEV;EAGA,AAFA,EAAI/B,IAAI,KAAK6B,GACb,EAAI7B,IAAI,KAAK8B,GACb,EAAI9B,IAAI,KAAK+B;EACb,IAAMM,IAAK1B,EAASM,KAAKL,EAAK,OAAOE,EAAStD;EAC9C,EAAIwC,IAAI,KACN7B,EAAE,YAAY,WACVM,IACAZ,EACEc,EAAO,KACPS,EAAM,aACNkC,IAAUV,EAAK,MAAOyB,KAAMzB,EAAK,EAAEyB,IACnC5D,CACF;CACR;CAEF,IAAM6D,IAAU,IAAI,aAAavB,IAAO,MAAM1C,IAAO,KAAK,CAAC,GACvD0B,IAAI;CACR,KAAK,IAAIkB,IAAI,GAAGA,IAAIF,IAAO,GAAG,KAC5B,KAAK,IAAIvD,IAAI,GAAGA,IAAIa,IAAO,GAAG,KAAK;EACjC,IACE,CAACmD,EAAOP,GAAGzD,CAAC,KACZ,CAACgE,EAAOP,GAAGzD,IAAI,CAAC,KAChB,CAACgE,EAAOP,IAAI,GAAGzD,CAAC,KAChB,CAACgE,EAAOP,IAAI,GAAGzD,IAAI,CAAC,GAEpB;EAEF,IAAMG,IAAIsD,IAAI5C,IAAOb,GACf+E,IAAI5E,IAAI,GACR6E,IAAI7E,IAAIU,GACRoE,IAAID,IAAI;EAMd,AALA,EAAQ,OAAO7E,GACf,EAAQ,OAAO4E,GACf,EAAQ,OAAOE,GACf,EAAQ,OAAO9E,GACf,EAAQ,OAAO8E,GACf,EAAQ,OAAOD;CACjB;CAEF,OAAO;EACL;EACA;EACA;EACA,MAAM;GACJ,MAAM;GACN;GACA;GACA,SAASrE,EAAE;GACX,UAAUG;GACV,aAAaF;GACb,SAASkE,EAAQ,SAAS,GAAGvC,CAAC;EAChC;CACF;AACF,GAGM2C,KAAiB,GAAkB,MAAqB;CAC5D,IAAM1D,IAAQqB,EAAO,QACf/B,oBAAS,IAAI,YAAYU,IAAA,EAAsB,GAC/CT,IAAM,IAAI,aAAaD,CAAM,GAC7BE,IAAM,IAAI,YAAYF,CAAM;CAClC,KAAK,IAAIqB,IAAI,GAAGA,IAAIX,GAAO,KAAK;EAC9B,IAAMgB,IAAIL,IAAI;EACd,KAAK,IAAIgD,IAAI,GAAGA,IAAI,GAAG,KAAK,EAAI3C,IAAI2C,KAAKC,EAAOjD,IAAI,IAAIgD;EACxD,EAAI3C,IAAI,KAAKK,EAAOV;CACtB;CACA,OAAO;EAAE;EAAQ;CAAM;AACzB,GAEMkD,IAAY,IAGLC,KAAW,GAAe,MAA2B;CAChE,IAAMrC,IAAgB,CAAC;CACvB,KAAK,IAAId,IAAI,GAAGA,IAAIX,GAAO,KAAK+D,GAAM,EAAI,KAAKpD,CAAC;CAEhD,OADIX,IAAQ,KAAKyB,EAAIA,EAAI,SAAS,OAAOzB,IAAQ,KAAGyB,EAAI,KAAKzB,IAAQ,CAAC,GAC/DyB;AACT,GAEMuC,KACJ,GACA,GACA,GACA,GACA,MACc;CACd,IAAMjC,IAAOkC,EAAK,SAAS,QACrB5E,IAAO4E,EAAK,SAAS,QACrB1B,IAAI0B,EAAK,WACTL,IAAmB,CAAC,GACpBvC,IAAmB,CAAC,GACpB6C,IAAU,KAAK,IACnB,GACA,KAAK,MAAMC,EAAQ,QAAQ,KAAK,KAAKpC,IAAO8B,CAAS,CAAC,CACxD,GACMO,IAAU,KAAK,IACnB,GACA,KAAK,MAAMD,EAAQ,QAAQ,KAAK,KAAK9E,IAAOwE,CAAS,CAAC,CACxD,GACMQ,KAAW,GAAW,MAAc;EACxC,AAAKzF,EAAe2D,EAAE5D,IAAI,IAAI,EAAE,KAAMC,EAAe2D,EAAEgB,IAAI,IAAI,EAAE,MACjEK,EAAO,KACLrB,EAAE5D,IAAI,IACN4D,EAAE5D,IAAI,IAAI,IACV4D,EAAE5D,IAAI,IAAI,IACV4D,EAAEgB,IAAI,IACNhB,EAAEgB,IAAI,IAAI,IACVhB,EAAEgB,IAAI,IAAI,EACZ,GACAlC,EAAO,KAAKD,CAAK;CACnB;CACA,KAAK,IAAMa,KAAK6B,EAAQ/B,GAAMmC,CAAO,GACnC,KAAK,IAAI1F,IAAI,GAAGA,IAAIa,IAAO,GAAG,KAAK,EAAQ4C,IAAI5C,IAAOb,GAAGyD,IAAI5C,IAAOb,IAAI,CAAC;CAE3E,KAAK,IAAMA,KAAKsF,EAAQzE,GAAM+E,CAAO,GACnC,KAAK,IAAInC,IAAI,GAAGA,IAAIF,IAAO,GAAG,KAC5B,EAAQE,IAAI5C,IAAOb,IAAIyD,IAAI,KAAK5C,IAAOb,CAAC;CAE5C,IAAM,EAAE,WAAQ,aAAUkF,EAAcE,GAAQvC,CAAM;CACtD,OAAO;EACL,MAAM;EACN;EACA;EACA,SAAS;EACT,MAAM/B;EACN;EACA,OAAO6E,EAAQ,SAAS;EACxB,MAAM;CACR;AACF,GAGaG,KACX,GACA,GACA,MACa;CACb,IAAIH,EAAQ,QAAQ,OAAOA,EAAQ,OAAO,OAAOvF,CAAc;CAC/D,IAAI,EAAE2C,IAAMgD,IAAM,OAAO,CAAC;CAC1B,IAAMvE,IAAQ,KAAK,IAAI,GAAG,KAAK,MAAMmE,EAAQ,SAAS,EAAE,CAAC,GACnDK,IAAOC,EAAYF,GAAKhD,GAAKvB,CAAK,CAAC,CAAC,QAAQ,MAAMvB,IAAI8F,KAAO9F,IAAI8C,CAAG;CAE1E,OADIiD,EAAK,UAAU,KAAK,IAAI,GAAGxE,IAAQ,CAAC,IAAUwE,IAC3C,MAAM,KACX,EAAE,QAAQxE,EAAM,IACf,GAAG,MAAMuE,KAAQ5D,IAAI,OAAQY,IAAMgD,KAAQvE,CAC9C;AACF,GAEM0E,KACJ,GACA,GACA,GACA,GACA,GACA,MACqB;CACrB,IAAM,EAAE,YAASvF,GACXwF,IAASL,EAAcH,GAASvC,EAAK,OAAO,EAAE,KAAKA,EAAK,OAAO,EAAE,GAAG;CAC1E,IAAI,CAAC+C,EAAO,QAAQ,OAAO;CAC3B,IAAMC,IAAQT,EAAQ,SAAS,IACzBU,IAAYV,EAAQ,WAAW;CACrC,IAAI,CAACS,KAAS,CAACC,GAAW,OAAO;CACjC,IAAMC,IAAQX,EAAQ,QAAQzE,EAAUC,EAAO,QAAQwE,EAAQ,KAAK,CAAC,IAAI,MACnEY,IAAS,CAAC3E,EAAM,EAAE,OAAO,MAEzBtB,IACJsB,EAAM,eAAejB,EAAE,YAAY,UAC/BiB,EAAM,cACL,CAACwB,EAAK,OAAO,EAAE,KAAKA,EAAK,OAAO,EAAE,GAAG,GACtCgC,IAAmB,CAAC,GACpBvC,IAAmB,CAAC,GACpB2D,KAAO,MAAc;EACzB,IAAMrE,IAAI,KAAK,MAAMnC,CAAC,GAChByG,IAAIzG,IAAImC,GACRhC,IAAIiD,EAAK,EAAE,KAAK,IAAIjB,GAAGiB,EAAK,OAAO,CAAC,IACpC2B,IAAI3B,EAAK,EAAE,KAAK,IAAIjB,IAAI,GAAGiB,EAAK,OAAO,CAAC;EAC9C,OAAOO,EAAQ/B,EAAM,GAAGzB,KAAK4E,IAAI5E,KAAKsG,CAAC;CACzC,GACMC,KAAO,MAAc;EACzB,IAAMvE,IAAI,KAAK,MAAMsB,CAAC,GAChBgD,IAAIhD,IAAItB,GACRhC,IAAIiD,EAAK,EAAE,KAAK,IAAIjB,GAAGiB,EAAK,OAAO,CAAC,IACpC2B,IAAI3B,EAAK,EAAE,KAAK,IAAIjB,IAAI,GAAGiB,EAAK,OAAO,CAAC;EAC9C,OAAOO,EAAQ/B,EAAM,GAAGzB,KAAK4E,IAAI5E,KAAKsG,CAAC;CACzC,GACME,IAAqB,CAAC;CAC5B,KAAK,IAAMC,KAAST,GAAQ;EAG1B,IAFA,EAAS,SAAS,GAClBU,EAAgBzD,EAAK,GAAGA,EAAK,MAAMA,EAAK,MAAMwD,GAAOD,CAAQ,GACzD,CAACA,EAAS,QAAQ;EACtB,IAAM/D,IACJ0D,KAASnF,EAAO,IAAI,OAAOV,EAASmG,GAAOtG,EAAO,IAAIA,EAAO,EAAE,IAC3DwG,IAAKnD,EAAQ/B,EAAM,GAAGgF,CAAK;EACjC,KAAK,IAAIzE,IAAI,GAAGA,IAAIwE,EAAS,QAAQ,KAAK,GAAG;GAC3C,IAAMI,IAAKP,EAAIG,EAASxE,EAAE,GACpB6E,IAAKN,EAAIC,EAASxE,IAAI,EAAE,GACxB8E,IAAKT,EAAIG,EAASxE,IAAI,EAAE,GACxB+E,IAAKR,EAAIC,EAASxE,IAAI,EAAE;GAK9B,AAJIiE,MACFhB,EAAO,KAAK2B,GAAIC,GAAIT,GAAQU,GAAIC,GAAIX,CAAM,GAC1C1D,EAAO,KAAKD,CAAK,IAEfyD,MACFjB,EAAO,KAAK2B,GAAIC,GAAIF,GAAIG,GAAIC,GAAIJ,CAAE,GAClCjE,EAAO,KAAKD,CAAK;EAErB;CACF;CACA,IAAI,CAACC,EAAO,QAAQ,OAAO;CAC3B,IAAM,EAAE,WAAQ,aAAUqC,EAAcE,GAAQvC,CAAM;CACtD,OAAO;EACL,MAAM;EACN;EACA;EACA,SAAS;EACT,MAAM/B;EACN;EACA,OAAO6E,EAAQ,SAAS;EACxB,MAAM;CACR;AACF,GAKMwB,IAAiE;CACrE;EAAE,GAAG;GAAC;GAAG;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;EAAC;CAAE;CACxD;EAAE,GAAG;GAAC;GAAG;GAAG;EAAE;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;EAAC;CAAE;CACzD;EAAE,GAAG;GAAC;GAAG;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;EAAC;CAAE;CACxD;EAAE,GAAG;GAAC;GAAI;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;EAAC;CAAE;CACzD;EAAE,GAAG;GAAC;GAAG;GAAG;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;EAAC;CAAE;CACxD;EAAE,GAAG;GAAC;GAAG;GAAI;EAAC;EAAG,GAAG;GAAC;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;GAAG;EAAC;CAAE;AAC3D,GAEMC,KACJ,GACA,GACA,GACA,GACA,MAC0C;CAC1C,IAAM,EAAE,YAASzG,GACXC,IAAIyG,EAAK,OACTvG,oBAAS,IAAI,YAAYF,IAAI,KAAA,EAAkB,GAC/CG,IAAM,IAAI,aAAaD,CAAM,GAC7BE,IAAM,IAAI,YAAYF,CAAM,GAC5BgE,IAAU,IAAI,YAAYlE,IAAI,EAAE,GAChC0G,IAAQ,IAAI,aAAa1G,IAAI,CAAC,GAC9BK,IAAcC,EAAUC,EAAO,OAAOR,EAAE,UAAU;EAAC;EAAK;EAAK;EAAK;CAAC,CAAC,GACpE4G,IAAQ,KAAK,IAAI,KAAM,KAAK,IAAI,GAAG5G,EAAE,OAAO,YAAY,EAAG,CAAC,GAC5D6G,IACH,IAAI5F,EAAM,EAAE,OAAQ,KAAK,IAAI,GAAGA,EAAM,EAAE,OAAO,KAAKA,EAAM,EAAE,OAAO,EAAE,GAClE6F,IACH,IAAI7F,EAAM,EAAE,OAAQ,KAAK,IAAI,GAAGA,EAAM,EAAE,OAAO,KAAKA,EAAM,EAAE,OAAO,EAAE,GAClE8F,IAAMF,IAAQD,IAAS,GACvBI,IAAMF,IAAQF,IAAS,GACvBjG,oBAAQ,IAAI,IAAoB,GAClCrB,IAAI,GACJsC,IAAI;CACR,KAAK,IAAI,IAAI,GAAG,IAAI3B,GAAG,KAAK;EAC1B,IAAMgH,IAAKjE,EAAQ/B,EAAM,GAAGyF,EAAK,GAAG,EAAE,GAChCQ,IAAKlE,EAAQ/B,EAAM,GAAGyF,EAAK,GAAG,EAAE,GAChCS,IAAKnE,EAAQ/B,EAAM,GAAGyF,EAAK,GAAG,EAAE,GAChCU,IAAKpE,EAAQ/B,EAAM,GAAGyF,EAAK,GAAG,EAAE,GAChCW,IAA+B;GAACJ,IAAKF;GAAIG,IAAKF;GAAI,KAAK,IAAIG,GAAIC,CAAE;EAAC,GAClEE,IAA+B;GAACL,IAAKF;GAAIG,IAAKF;GAAI,KAAK,IAAIG,GAAIC,CAAE;EAAC;EACxE,EAAM,IAAI;GAACC,EAAG;GAAIA,EAAG;GAAIA,EAAG;GAAIC,EAAG;GAAIA,EAAG;GAAIA,EAAG;EAAE,GAAG,IAAI,CAAC;EAC3D,IAAMtF,IAAM0E,EAAK,SAAS,IACtBzE;EACJ,IAAID,MAAQ,KAAA,GAEV,AADA,IAAQrB,EAAM,IAAIqB,CAAG,KAAKzB,EAAUC,EAAO,QAAQwB,CAAG,CAAC,GACvDrB,EAAM,IAAIqB,GAAKC,CAAK;OACf,IAAIjC,EAAE,YAAY,UACvB,IAAQM;OACH;GACL,IAAMpB,IACJc,EAAE,YAAY,WAAW0G,EAAK,QAAQA,EAAK,MAAM,KAAKA,EAAK,EAAE;GAC/D,IAAQhH,EAAWc,EAAO,KAAKS,EAAM,aAAa/B,GAAOoB,CAAW;EACtE;EACA,KAAK,IAAMiH,KAAQf,GAAO;GACxB,KAAK,IAAIhC,IAAI,GAAGA,IAAI,GAAG,KAAK;IAC1B,IAAM3C,KAAKvC,IAAIkF,KAAK;IAOpB,AANA,EAAI3C,KAAK0F,EAAK,EAAE/C,IAAI,KAAK8C,EAAG,KAAKD,EAAG,IACpC,EAAIxF,IAAI,KAAK0F,EAAK,EAAE/C,IAAI,IAAI,KAAK8C,EAAG,KAAKD,EAAG,IAC5C,EAAIxF,IAAI,KAAK0F,EAAK,EAAE/C,IAAI,IAAI,KAAK8C,EAAG,KAAKD,EAAG,IAC5C,EAAIxF,IAAI,KAAK0F,EAAK,EAAE,IACpB,EAAI1F,IAAI,KAAK0F,EAAK,EAAE,IACpB,EAAI1F,IAAI,KAAK0F,EAAK,EAAE,IACpB,EAAI1F,IAAI,KAAKI;GACf;GAOA,AANA,EAAQ,OAAO3C,GACf,EAAQ,OAAOA,IAAI,GACnB,EAAQ,OAAOA,IAAI,GACnB,EAAQ,OAAOA,GACf,EAAQ,OAAOA,IAAI,GACnB,EAAQ,OAAOA,IAAI,GACnB,KAAK;EACP;CACF;CACA,OAAO;EACL,MAAM;GACJ,MAAM;GACN;GACA;GACA,SAASU,EAAE;GACX,UAAUG;GACV,aAAab;GACb;EACF;EACA,QAAQ;GAAE,MAAM;GAAQ,QAAQU,EAAE;GAAO,OAAOC;GAAG;EAAM;CAC3D;AACF,GAIMuH,KACJ,GACA,GACA,GACA,MACc;CACd,IAAMpH,IAAM,IAAI,aAAaqH,EAAO,IAAI,GAClCpH,IAAM,IAAI,YAAYoH,EAAO,IAAI,GACjChD,IAAmB,CAAC,GACpBvC,IAAmB,CAAC,GACpBwF,IAAU1H,EAAE;CAClB,KAAK,IAAIwB,IAAI,GAAGA,IAAIiG,EAAO,QAAQ,GAAG,KAAK;EAEzC,IAAIA,EAAO,UAAUA,EAAO,OAAOjG,IAAI,OAAOiG,EAAO,OAAOjG,KAAK,GAC/D;EACF,IAAMhC,IAAIgC,IAAI,GACR4C,IAAI5E,IAAI;EAEd,AADAiF,EAAO,KAAKrE,EAAIZ,IAAIY,EAAIZ,IAAI,IAAIY,EAAIZ,IAAI,IAAIY,EAAIgE,IAAIhE,EAAIgE,IAAI,IAAIhE,EAAIgE,IAAI,EAAE,GAC1ElC,EAAO,KAAK7B,EAAIb,IAAI,EAAE;CACxB;CACA,IAAM,EAAE,WAAQ,aAAU+E,EAAcE,GAAQvC,CAAM;CACtD,OAAO;EACL,MAAM;EACN;EACA;EACA;EACA,MAAM/B;EACN;EACA,OAAOH,EAAE,OAAO,aAAa;EAC7B,MAAM;CACR;AACF,GAYa2H,UAA8B;CACzC,IAAIhH,oBAAQ,IAAI,IAAwB,GACpCiH,IAAU,GAERC,KACJ,GACA,GACA,GACA,GACA,MACW;EACX,IAAMC,IAAI9H,EAAE,QACNgF,IAAU,KAAK,UAAU;GAC7B,MAAMhF,EAAE;GACR,SAASA,EAAE;GACX,SAASA,EAAE;GACX,WAAW8H,EAAE;GACb,WAAWA,EAAE;GACb,iBAAiBA,EAAE;GACnB,WAAWA,EAAE;GACb,UAAUA,EAAE;GACZ,MAAMA,EAAE;GACR,UAAUA,EAAE;EACd,CAAC;EACD,OAAO;GACL7I,EAASe,EAAE,OAAO,IAAc;GAChCgF;GACAzF,EAAU0B,EAAM,CAAC;GACjB1B,EAAU0B,EAAM,CAAC;GACjB1B,EAAU0B,EAAM,CAAC;GACjBA,EAAM,aAAa,KAAK,KAAK;GAC7B7B,EAASoB,EAAO,OAAOR,EAAE,UAAU;IAAC;IAAG;IAAG;IAAG;GAAC,CAAC;GAC/CZ,EAASoB,EAAO,IAAI;GACpBuH;GACArF,EAAO;GAEP1C,EAAE,SAAS,QAAQgI,EAAUhI,CAAC,IAAI;EACpC,CAAC,CAAC,KAAK,GAAG;CACZ;CAEA,QACE,GACA,GACA,GACA,MACa;EACb,IAAMiI,oBAAO,IAAI,IAAwB,GACnCC,IAAkB,CAAC,GACnBC,IAAwB,CAAC,GACzBC,IAAmB,CAAC;EAC1B,KAAK,IAAMpI,KAAKiB,EAAM,QAAQ;GAC5B,IAAM9B,IAAK,GAAGa,EAAE,MAAM,GAAGA,EAAE;GAC3B,IAAIA,EAAE,QAAQ;IACZ,EAAO,KAAK,CAAC;IAEb,IAAMqI,IAAO1H,EAAM,IAAIxB,CAAE;IACzB,AAAIkJ,KAAMJ,EAAK,IAAI9I,GAAIkJ,CAAI;IAC3B;GACF;GACA,IAAMC,IAAYT,EAAY7H,GAAGiB,GAAOT,GAAQkC,GAAQqF,CAAK,GACzDQ,IAAQ5H,EAAM,IAAIxB,CAAE;GAexB,CAdI,CAACoJ,KAASA,EAAM,cAAcD,OAChC,IAAQE,EACNxI,GACAiB,GACAT,GACAkC,GACA,IAAIvD,KACJ,EAAEyI,GACFU,CACF,IAEFL,EAAK,IAAI9I,GAAIoJ,CAAK,GAClBL,EAAM,KAAK,GAAGK,EAAM,KAAK,GACzBJ,EAAQ,KAAK,GAAGI,EAAM,MAAM,GAC5BH,EAAO,KAAKG,EAAM,KAAK;EACzB;EAEA,OADA,IAAQN,GACD;GAAE;GAAO;GAAS;EAAO;CAClC;AACF,GAEMO,KACJ,GACA,GACA,GACA,GACA,GACA,GACA,MACe;CACf,QAAQxI,EAAE,MAAV;EACE,KAAK,WAAW;GACd,IAAM8E,IAAOvC,EACXvC,GACAiB,GACAT,GACAkC,GACA,GAAG+F,EAAI,QACPb,CACF,GACMM,IAAkB,CAAC;GACzB,AAAIpD,EAAK,QAAMoD,EAAM,KAAKpD,EAAK,IAAI;GACnC,IAAM4D,IAAO1I,EAAE,OAAO;GACtB,IAAI0I,GAAM;IACR,IAAM7G,IAAI6G,MAAS,KAAO,CAAC,IAAIA,GACzBzG,IAAQJ,EAAE,QACZtB,EAAUC,EAAO,QAAQqB,EAAE,KAAK,CAAC,IACjCtB,EAAUC,EAAO,IAAI;IACzB,EAAM,KAAKqE,EAAeC,GAAMjD,GAAGI,GAAO,GAAGwG,EAAI,QAAQb,CAAO,CAAC;GACnE;GACA,IAAMe,IAAW3I,EAAE,OAAO;GAC1B,IAAI2I,GAAU;IACZ,IAAMC,IAAQrD,EACZvF,GACAiB,GACAT,GACAmI,MAAa,KAAO,CAAC,IAAIA,GACzB,GAAGF,EAAI,YACPb,CACF;IACA,AAAIgB,KAAOV,EAAM,KAAKU,CAAK;GAC7B;GACA,OAAO;IACL;IACA;IACA,QAAQ,CACN;KACE,MAAM;KACN,QAAQ5I,EAAE;KACV,MAAM8E,EAAK,SAAS;KACpB,MAAMA,EAAK,SAAS;KACpB,WAAWA,EAAK;KAChB,UAAUA,EAAK;KACf,UAAUA,EAAK;IACjB,CACF;IACA,OAAO9E,EAAE,KAAK,OAAOA,EAAE,KAAK;GAC9B;EACF;EACA,KAAK,OAAO;GACV,IAAM,EAAE,SAAM,cAAWyG,EACvBzG,GACAiB,GACAT,GACA,GAAGiI,EAAI,QACPb,CACF;GACA,OAAO;IACL;IACA,OAAO,CAAC9C,CAAI;IACZ,QAAQ,CAAC+D,CAAM;IACf,OAAO7I,EAAE,KAAK;GAChB;EACF;EACA,KAAK,QAAQ;GACX,IAAM8B,IAAO9B,EAAE,OAAO,aAAa,GAC7ByH,IAAS1H,EAAYC,GAAGiB,GAAOT,GAAQsB,CAAI,GAC3CoG,IAAkB,CAACV,EAAUxH,GAAGyH,GAAQ,GAAGgB,EAAI,QAAQb,CAAO,CAAC;GAYrE,OAXI9F,IAAO,KACToG,EAAM,KAAK;IACT,MAAM;IACN,KAAK,GAAGO,EAAI;IACZ;IACA,SAASzI,EAAE;IACX,MAAMyH,EAAO;IACb,OAAOA,EAAO;IACd,aAAa;GACf,CAAsB,GAEjB;IACL;IACA;IACA,QAAQ,CACNqB,EAAY9I,EAAE,OAAOyH,GAAQ,KAAK,IAAI3F,GAAM9B,EAAE,OAAO,aAAa,CAAC,CAAC,CACtE;IACA,OAAOyH,EAAO;GAChB;EACF;EACA,SAAS;GACP,IAAM3F,IAAO9B,EAAE,OAAO,aAAa,GAC7ByH,IAAS1H,EAAYC,GAAGiB,GAAOT,GAAQsB,CAAI;GACjD,OAAO;IACL;IACA,OAAO,CACL;KACE,MAAM;KACN,KAAK,GAAG2G,EAAI;KACZ;KACA,SAASzI,EAAE;KACX,MAAMyH,EAAO;KACb,OAAOA,EAAO;KACd,aAAazH,EAAE,OAAO,mBAAmB;IAC3C,CACF;IACA,QAAQ,CAAC8I,EAAY9I,EAAE,OAAOyH,GAAQ3F,CAAI,CAAC;IAC3C,OAAO2F,EAAO;GAChB;EACF;CACF;AACF,GAEMqB,KACJ,GACA,GAMA,OACiB;CACjB,MAAM;CACN;CACA,WAAW,IAAI,aAAarB,EAAO,IAAI;CACvC,QAAQ;CACR,OAAOA,EAAO;CACd,OAAOA,EAAO;CACd;CACA,QAAQA,EAAO;CACf,QAAQ,IAAI,YAAYA,EAAO,IAAI;AACrC,IAEMO,KAAa,MAAgB;CACjC,IAAIe,IAAO/I,EAAE,KAAK;CAClB,KAAK,IAAIwB,IAAI,GAAGA,IAAIxB,EAAE,KAAK,OAAO,KAChC,KAAQ+I,IAAO,KAAK/I,EAAE,KAAK,GAAGwB,KAAK,MAAMxB,EAAE,KAAK,GAAGwB,KAAK,MAAM;CAEhE,OAAO,OAAOuH,CAAI;AACpB,GAGaC,KAAa,MACxBC,EAAM;EACH/G,IAAS,OAAQ;EAChBA,MAAW,IAAK,OAAQ;EACxBA,MAAW,KAAM,OAAQ;EACzBA,MAAW,KAAM,OAAQ;AAC7B,CAAC"}
@@ -0,0 +1,2 @@
1
+ const e=require("../color.cjs"),t=require("./colormap.cjs"),n=require("./geometry.cjs");var r=e=>e!==void 0&&Number.isFinite(e),i=(n,i,a,o)=>{let s=n.colorDomain;return!s||!r(a)?e.toCss(o):e.toCss(i.lut.rgba[t.lutIndex(a,s[0],s[1])]??o)},a=(t,a,o,s,c={x:0,y:0})=>{let l=t.series[o.series];if(!l)return null;let u=a.find(e=>e.series===o.series&&e.kind===o.kind);if(!u)return null;let d=s.series[l.index]??[.5,.5,.5,1],f={seriesIndex:l.index,seriesId:l.id,seriesName:l.name,type:l.type,clientX:o.x+c.x,clientY:o.y+c.y};if(u.kind===`points`&&(l.type===`scatter`||l.type===`line`)){let t=u.source?u.source[o.item]:o.item;if(t===void 0)return null;let{cols:i}=l,a=u.packed?.[o.item*u.stride+4],s=i.value?i.value[t]:void 0,c=i.labels?.[t];return{...f,index:t,x:i.x[t]??NaN,y:i.y[t]??NaN,z:i.z[t]??NaN,...r(s)?{value:s}:{},color:a===void 0?e.toCss(d):n.packedCss(a),...c?{label:c}:{}}}if(u.kind===`surface`&&l.type===`surface`){let n=Math.floor(o.item/u.cols),a=o.item%u.cols,c=u.rowIndex[n],p=u.colIndex[a];if(c===void 0||p===void 0)return null;let{grid:m}=l,h=c*m.cols+p,g=m.z[h]??NaN,_=m.value?m.value[h]:void 0,v=l.colorBy===`series`?e.toCss(d):i(t,s,l.colorBy===`value`&&m.value?_:g,d);return{...f,index:h,row:c,col:p,x:m.x[p]??NaN,y:m.y[c]??NaN,z:g,...r(_)?{value:_}:{},color:v}}if(u.kind===`bars`&&l.type===`bar`){let{bars:n}=l,a=o.item,c=n.xi[a]??0,u=n.yi[a]??0,p=n.z[a]??NaN,m=n.value?n.value[a]:void 0,h=n.colors?.[a],g=h?e.toCss(s.resolve(h)):l.colorBy===`series`?e.toCss(d):i(t,s,l.colorBy===`value`&&n.value?m:p,d),_=n.labels?.[a];return{...f,index:n.source[a]??a,x:c,y:u,z:p,...r(m)?{value:m}:{},xCategory:t.x.categories?.[c]??String(c),yCategory:t.y.categories?.[u]??String(u),color:g,..._?{label:_}:{}}}return null},o=(e,t,n)=>{let r=e.series[t.seriesIndex]?.format,{labels:i}=e.locale,a=t=>e[t].title||i[t],o=[];return t.label&&o.push({name:``,value:t.label}),o.push({name:a(`x`),value:t.xCategory??e.x.format(t.x)}),o.push({name:a(`y`),value:t.yCategory??e.y.format(t.y)}),o.push({name:a(`z`),value:r&&t.value===void 0?r(t.z):e.z.format(t.z)}),t.value!==void 0&&o.push({name:n||i.value,value:r?r(t.value):e.locale.value(t.value)}),o},s=(e,t,n)=>{let r=e.find(e=>e.series===t.series&&e.kind===t.kind);if(!r)return null;if(r.kind===`bars`){let e=t.item*6,i=r.boxes;return{kind:`box`,min:[i[e]??0,i[e+1]??0,i[e+2]??0],max:[i[e+3]??0,i[e+4]??0,i[e+5]??0],color:n}}if(r.kind===`surface`)return{kind:`vertex`,world:t.world,color:n};let i=r.sized&&r.positions[t.item*r.stride+3]||r.defaultSize;return{kind:`point`,x:t.x,y:t.y,radius:Math.max(2,i/2),color:n}};exports.highlightShape=s,exports.hoverEvent=a,exports.tooltipRows=o;
2
+ //# sourceMappingURL=hover.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hover.cjs","names":["toCss","lutIndex","packedCss","require_color","require_colormap","require_geometry","finite","v","scaleCss","domain","model","value","fallback","colors","hoverEvent","m","hit","target","targets","t","seriesColor","base","offset","index","packed","cols","label","r","c","row","col","grid","z","colored","i","xi","bars","yi","own","color","tooltipRows","format","event","name","axis","labels","rows","valueName","highlightShape","o","b","size"],"sources":["../../../../../charts/src/engine/three-d/hover.ts"],"sourcesContent":["// Hover helpers of the 3D charts: pick hit -> public event, tooltip rows\n// and highlight shape.\n\nimport { toCss, type Rgba } from \"../color\";\nimport { lutIndex, type ColorLut } from \"./colormap\";\nimport { packedCss, type PickTarget } from \"./geometry\";\nimport type { Vec3 } from \"./math\";\nimport type { Model3D } from \"./model\";\nimport type { HighlightShape } from \"./overlay\";\nimport type { PickHit } from \"./pick\";\nimport type { Chart3DHoverEvent } from \"./types\";\n\nexport interface HoverColors {\n series: readonly Rgba[];\n lut: ColorLut;\n resolve: (value: string) => Rgba;\n}\n\nconst finite = (v: number | undefined): v is number =>\n v !== undefined && Number.isFinite(v);\n\nconst scaleCss = (\n model: Model3D,\n colors: HoverColors,\n value: number | undefined,\n fallback: Rgba,\n) => {\n const domain = model.colorDomain;\n if (!domain || !finite(value)) return toCss(fallback);\n return toCss(\n colors.lut.rgba[lutIndex(value, domain[0], domain[1])] ?? fallback,\n );\n};\n\n/** Public event of a pick hit (`null` when the hit no longer matches the model) */\nexport const hoverEvent = (\n model: Model3D,\n targets: readonly PickTarget[],\n hit: PickHit,\n colors: HoverColors,\n offset: { x: number; y: number } = { x: 0, y: 0 },\n): Chart3DHoverEvent | null => {\n const m = model.series[hit.series];\n if (!m) return null;\n const target = targets.find(\n (t) => t.series === hit.series && t.kind === hit.kind,\n );\n if (!target) return null;\n const seriesColor = colors.series[m.index] ?? [0.5, 0.5, 0.5, 1];\n const base = {\n seriesIndex: m.index,\n seriesId: m.id,\n seriesName: m.name,\n type: m.type,\n clientX: hit.x + offset.x,\n clientY: hit.y + offset.y,\n };\n if (target.kind === \"points\" && (m.type === \"scatter\" || m.type === \"line\")) {\n const index = target.source ? target.source[hit.item] : hit.item;\n if (index === undefined) return null;\n const { cols } = m;\n const packed = target.packed?.[hit.item * target.stride + 4];\n const value = cols.value ? cols.value[index] : undefined;\n const label = cols.labels?.[index];\n return {\n ...base,\n index,\n x: cols.x[index] ?? NaN,\n y: cols.y[index] ?? NaN,\n z: cols.z[index] ?? NaN,\n ...(finite(value) ? { value } : {}),\n color: packed !== undefined ? packedCss(packed) : toCss(seriesColor),\n ...(label ? { label } : {}),\n };\n }\n if (target.kind === \"surface\" && m.type === \"surface\") {\n const r = Math.floor(hit.item / target.cols);\n const c = hit.item % target.cols;\n const row = target.rowIndex[r];\n const col = target.colIndex[c];\n if (row === undefined || col === undefined) return null;\n const { grid } = m;\n const index = row * grid.cols + col;\n const z = grid.z[index] ?? NaN;\n const value = grid.value ? grid.value[index] : undefined;\n const colored =\n m.colorBy === \"series\"\n ? toCss(seriesColor)\n : scaleCss(\n model,\n colors,\n m.colorBy === \"value\" && grid.value ? value : z,\n seriesColor,\n );\n return {\n ...base,\n index,\n row,\n col,\n x: grid.x[col] ?? NaN,\n y: grid.y[row] ?? NaN,\n z,\n ...(finite(value) ? { value } : {}),\n color: colored,\n };\n }\n if (target.kind === \"bars\" && m.type === \"bar\") {\n const { bars } = m;\n const i = hit.item;\n const xi = bars.xi[i] ?? 0;\n const yi = bars.yi[i] ?? 0;\n const z = bars.z[i] ?? NaN;\n const value = bars.value ? bars.value[i] : undefined;\n const own = bars.colors?.[i];\n const color = own\n ? toCss(colors.resolve(own))\n : m.colorBy === \"series\"\n ? toCss(seriesColor)\n : scaleCss(\n model,\n colors,\n m.colorBy === \"value\" && bars.value ? value : z,\n seriesColor,\n );\n const label = bars.labels?.[i];\n return {\n ...base,\n index: bars.source[i] ?? i,\n x: xi,\n y: yi,\n z,\n ...(finite(value) ? { value } : {}),\n xCategory: model.x.categories?.[xi] ?? String(xi),\n yCategory: model.y.categories?.[yi] ?? String(yi),\n color,\n ...(label ? { label } : {}),\n };\n }\n return null;\n};\n\nexport interface TooltipRow {\n name: string;\n value: string;\n}\n\n/** Rows of the default tooltip: the coordinates, the value and the label */\nexport const tooltipRows = (\n model: Model3D,\n event: Chart3DHoverEvent,\n valueName: string,\n): TooltipRow[] => {\n const m = model.series[event.seriesIndex];\n const format = m?.format;\n const { labels } = model.locale;\n const name = (axis: \"x\" | \"y\" | \"z\") => model[axis].title || labels[axis];\n const rows: TooltipRow[] = [];\n if (event.label) rows.push({ name: \"\", value: event.label });\n rows.push({\n name: name(\"x\"),\n value: event.xCategory ?? model.x.format(event.x),\n });\n rows.push({\n name: name(\"y\"),\n value: event.yCategory ?? model.y.format(event.y),\n });\n rows.push({\n name: name(\"z\"),\n value:\n format && event.value === undefined\n ? format(event.z)\n : model.z.format(event.z),\n });\n if (event.value !== undefined) {\n rows.push({\n name: valueName || labels.value,\n value: format ? format(event.value) : model.locale.value(event.value),\n });\n }\n return rows;\n};\n\n/** Shape drawn over the hovered item */\nexport const highlightShape = (\n targets: readonly PickTarget[],\n hit: PickHit,\n color: string,\n): HighlightShape | null => {\n const target = targets.find(\n (t) => t.series === hit.series && t.kind === hit.kind,\n );\n if (!target) return null;\n if (target.kind === \"bars\") {\n const o = hit.item * 6;\n const b = target.boxes;\n const min: Vec3 = [b[o] ?? 0, b[o + 1] ?? 0, b[o + 2] ?? 0];\n const max: Vec3 = [b[o + 3] ?? 0, b[o + 4] ?? 0, b[o + 5] ?? 0];\n return { kind: \"box\", min, max, color };\n }\n if (target.kind === \"surface\")\n return { kind: \"vertex\", world: hit.world, color };\n const size = target.sized\n ? target.positions[hit.item * target.stride + 3] || target.defaultSize\n : target.defaultSize;\n return {\n kind: \"point\",\n x: hit.x,\n y: hit.y,\n radius: Math.max(2, size / 2),\n color,\n };\n};\n"],"mappings":"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"}