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 @@
1
+ {"version":3,"file":"dom.cjs","names":["style","el","css","VISUALLY_HIDDEN","nextId","layerCanvas","canvas","doc","createChart3DDom","container","root","legend","stage","background","foreground","tooltip","summary","live","swatch","round","color","sizeCanvas","w","width","dpr","h","height"],"sources":["../../../../../charts/src/engine/three-d/dom.ts"],"sourcesContent":["// DOM of a 3D chart: legend, focusable stage with the canvas layers (back\n// walls, data, labels / hover), tooltip, a visually hidden data summary and\n// a live region. Styled inline with the Minerva CSS variables.\n\nexport interface Chart3DDom {\n root: HTMLDivElement;\n legend: HTMLDivElement;\n stage: HTMLDivElement;\n /** Walls, grid lines (below the data) */\n background: HTMLCanvasElement;\n /** Tick labels, titles, color bar, hover highlight (above the data) */\n foreground: HTMLCanvasElement;\n tooltip: HTMLDivElement;\n /** Visually hidden description of the data (`aria-describedby` of the stage) */\n summary: HTMLDivElement;\n live: HTMLDivElement;\n}\n\nexport const style = <T extends HTMLElement>(\n el: T,\n css: Partial<CSSStyleDeclaration>,\n): T => {\n Object.assign(el.style, css);\n return el;\n};\n\nconst VISUALLY_HIDDEN: Partial<CSSStyleDeclaration> = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n whiteSpace: \"nowrap\",\n};\n\nlet nextId = 0;\n\n/** Canvas layer covering the stage */\nexport const layerCanvas = (doc: Document): HTMLCanvasElement => {\n const canvas = style(doc.createElement(\"canvas\"), {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n pointerEvents: \"none\",\n });\n canvas.setAttribute(\"aria-hidden\", \"true\");\n return canvas;\n};\n\nexport const createChart3DDom = (container: HTMLElement): Chart3DDom => {\n const doc = container.ownerDocument;\n const root = style(doc.createElement(\"div\"), {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n height: \"100%\",\n minHeight: \"0\",\n fontFamily: \"var(--font-family-sans, system-ui, sans-serif)\",\n color: \"var(--text-color, #1f2937)\",\n });\n root.className = \"minerva-chart minerva-chart-3d\";\n\n const legend = style(doc.createElement(\"div\"), {\n display: \"none\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n gap: \"4px 14px\",\n padding: \"0 4px 8px\",\n fontSize: \"12px\",\n lineHeight: \"18px\",\n });\n legend.className = \"minerva-chart-legend\";\n\n const stage = style(doc.createElement(\"div\"), {\n position: \"relative\",\n flex: \"1 1 auto\",\n minHeight: \"0\",\n outline: \"none\",\n touchAction: \"none\",\n userSelect: \"none\",\n borderRadius: \"6px\",\n cursor: \"grab\",\n });\n stage.className = \"minerva-chart-stage\";\n stage.setAttribute(\"role\", \"figure\");\n stage.setAttribute(\"aria-roledescription\", \"3D chart\");\n\n const background = layerCanvas(doc);\n const foreground = layerCanvas(doc);\n\n const tooltip = style(doc.createElement(\"div\"), {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n zIndex: \"2\",\n display: \"none\",\n pointerEvents: \"none\",\n minWidth: \"128px\",\n maxWidth: \"320px\",\n padding: \"8px 12px\",\n borderRadius: \"10px\",\n border:\n \"1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 60%, transparent)\",\n background: \"var(--surface-elevated-color, var(--background-color, #fff))\",\n color: \"var(--text-color, #1f2937)\",\n boxShadow:\n \"0 12px 32px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08)\",\n fontSize: \"12px\",\n lineHeight: \"20px\",\n whiteSpace: \"nowrap\",\n });\n tooltip.className = \"minerva-chart-tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n\n const summary = style(doc.createElement(\"div\"), VISUALLY_HIDDEN);\n summary.id = `minerva-chart-3d-summary-${++nextId}`;\n stage.setAttribute(\"aria-describedby\", summary.id);\n\n const live = style(doc.createElement(\"div\"), VISUALLY_HIDDEN);\n live.setAttribute(\"aria-live\", \"polite\");\n\n stage.append(background, foreground, tooltip, summary, live);\n root.append(legend, stage);\n container.appendChild(root);\n return {\n root,\n legend,\n stage,\n background,\n foreground,\n tooltip,\n summary,\n live,\n };\n};\n\n/** Color square / dot of the legend and the tooltip */\nexport const swatch = (doc: Document, color: string, round: boolean) =>\n style(doc.createElement(\"span\"), {\n display: \"inline-block\",\n flex: \"none\",\n width: \"9px\",\n height: \"9px\",\n borderRadius: round ? \"50%\" : \"2px\",\n background: color,\n });\n\n/** Sizes a canvas to the stage (CSS pixels × device pixel ratio) */\nexport const sizeCanvas = (\n canvas: HTMLCanvasElement,\n width: number,\n height: number,\n dpr: number,\n): void => {\n const w = Math.max(1, Math.round(width * dpr));\n const h = Math.max(1, Math.round(height * dpr));\n if (canvas.width !== w) canvas.width = w;\n if (canvas.height !== h) canvas.height = h;\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n};\n"],"mappings":"AAkBA,IAAaA,GACX,EACA,KAEA,OAAO,OAAOC,EAAG,MAAOC,CAAG,EACpBD,GAGHE,EAAgD,CACpD,SAAU,WACV,MAAO,MACP,OAAQ,MACR,SAAU,SACV,KAAM,gBACN,SAAU,aACV,WAAY,QACd,EAEIC,EAAS,EAGAC,EAAe,GAAqC,CAC/D,IAAMC,EAASN,EAAMO,EAAI,cAAc,QAAQ,EAAG,CAChD,SAAU,WACV,KAAM,IACN,IAAK,IACL,cAAe,MACjB,CAAC,EAED,OADAD,EAAO,aAAa,cAAe,MAAM,EAClCA,CACT,EAEaE,EAAoB,GAAuC,CACtE,IAAMD,EAAME,EAAU,cAChBC,EAAOV,EAAMO,EAAI,cAAc,KAAK,EAAG,CAC3C,SAAU,WACV,QAAS,OACT,cAAe,SACf,MAAO,OACP,OAAQ,OACR,UAAW,IACX,WAAY,iDACZ,MAAO,4BACT,CAAC,EACD,EAAK,UAAY,iCAEjB,IAAMI,EAASX,EAAMO,EAAI,cAAc,KAAK,EAAG,CAC7C,QAAS,OACT,SAAU,OACV,WAAY,SACZ,IAAK,WACL,QAAS,YACT,SAAU,OACV,WAAY,MACd,CAAC,EACD,EAAO,UAAY,uBAEnB,IAAMK,EAAQZ,EAAMO,EAAI,cAAc,KAAK,EAAG,CAC5C,SAAU,WACV,KAAM,WACN,UAAW,IACX,QAAS,OACT,YAAa,OACb,WAAY,OACZ,aAAc,MACd,OAAQ,MACV,CAAC,EACD,EAAM,UAAY,sBAClBK,EAAM,aAAa,OAAQ,QAAQ,EACnCA,EAAM,aAAa,uBAAwB,UAAU,EAErD,IAAMC,EAAaR,EAAYE,CAAG,EAC5BO,EAAaT,EAAYE,CAAG,EAE5BQ,EAAUf,EAAMO,EAAI,cAAc,KAAK,EAAG,CAC9C,SAAU,WACV,KAAM,IACN,IAAK,IACL,OAAQ,IACR,QAAS,OACT,cAAe,OACf,SAAU,QACV,SAAU,QACV,QAAS,WACT,aAAc,OACd,OACE,8EACF,WAAY,+DACZ,MAAO,6BACP,UACE,kFACF,SAAU,OACV,WAAY,OACZ,WAAY,QACd,CAAC,EACD,EAAQ,UAAY,wBACpBQ,EAAQ,aAAa,OAAQ,SAAS,EAEtC,IAAMC,EAAUhB,EAAMO,EAAI,cAAc,KAAK,EAAGJ,CAAe,EAC/D,EAAQ,GAAK,4BAA4B,EAAEC,IAC3CQ,EAAM,aAAa,mBAAoBI,EAAQ,EAAE,EAEjD,IAAMC,EAAOjB,EAAMO,EAAI,cAAc,KAAK,EAAGJ,CAAe,EAM5D,OALAc,EAAK,aAAa,YAAa,QAAQ,EAEvCL,EAAM,OAAOC,EAAYC,EAAYC,EAASC,EAASC,CAAI,EAC3DP,EAAK,OAAOC,EAAQC,CAAK,EACzBH,EAAU,YAAYC,CAAI,EACnB,CACL,OACA,SACA,QACA,aACA,aACA,UACA,UACA,MACF,CACF,EAGaQ,GAAU,EAAe,EAAe,IACnDlB,EAAMO,EAAI,cAAc,MAAM,EAAG,CAC/B,QAAS,eACT,KAAM,OACN,MAAO,MACP,OAAQ,MACR,aAAcY,EAAQ,MAAQ,MAC9B,WAAYC,CACd,CAAC,EAGUC,GACX,EACA,EACA,EACA,IACS,CACT,IAAMC,EAAI,KAAK,IAAI,EAAG,KAAK,MAAMC,EAAQC,CAAG,CAAC,EACvCC,EAAI,KAAK,IAAI,EAAG,KAAK,MAAMC,EAASF,CAAG,CAAC,EAC1ClB,EAAO,QAAUgB,IAAG,EAAO,MAAQA,GACnChB,EAAO,SAAWmB,IAAG,EAAO,OAASA,GACzC,EAAO,MAAM,MAAQ,GAAGF,EAAM,IAC9B,EAAO,MAAM,OAAS,GAAGG,EAAO,GAClC"}
@@ -0,0 +1,21 @@
1
+ export interface Chart3DDom {
2
+ root: HTMLDivElement;
3
+ legend: HTMLDivElement;
4
+ stage: HTMLDivElement;
5
+ /** Walls, grid lines (below the data) */
6
+ background: HTMLCanvasElement;
7
+ /** Tick labels, titles, color bar, hover highlight (above the data) */
8
+ foreground: HTMLCanvasElement;
9
+ tooltip: HTMLDivElement;
10
+ /** Visually hidden description of the data (`aria-describedby` of the stage) */
11
+ summary: HTMLDivElement;
12
+ live: HTMLDivElement;
13
+ }
14
+ export declare const style: <T extends HTMLElement>(el: T, css: Partial<CSSStyleDeclaration>) => T;
15
+ /** Canvas layer covering the stage */
16
+ export declare const layerCanvas: (doc: Document) => HTMLCanvasElement;
17
+ export declare const createChart3DDom: (container: HTMLElement) => Chart3DDom;
18
+ /** Color square / dot of the legend and the tooltip */
19
+ export declare const swatch: (doc: Document, color: string, round: boolean) => HTMLSpanElement;
20
+ /** Sizes a canvas to the stage (CSS pixels × device pixel ratio) */
21
+ export declare const sizeCanvas: (canvas: HTMLCanvasElement, width: number, height: number, dpr: number) => void;
@@ -0,0 +1,21 @@
1
+ export interface Chart3DDom {
2
+ root: HTMLDivElement;
3
+ legend: HTMLDivElement;
4
+ stage: HTMLDivElement;
5
+ /** Walls, grid lines (below the data) */
6
+ background: HTMLCanvasElement;
7
+ /** Tick labels, titles, color bar, hover highlight (above the data) */
8
+ foreground: HTMLCanvasElement;
9
+ tooltip: HTMLDivElement;
10
+ /** Visually hidden description of the data (`aria-describedby` of the stage) */
11
+ summary: HTMLDivElement;
12
+ live: HTMLDivElement;
13
+ }
14
+ export declare const style: <T extends HTMLElement>(el: T, css: Partial<CSSStyleDeclaration>) => T;
15
+ /** Canvas layer covering the stage */
16
+ export declare const layerCanvas: (doc: Document) => HTMLCanvasElement;
17
+ export declare const createChart3DDom: (container: HTMLElement) => Chart3DDom;
18
+ /** Color square / dot of the legend and the tooltip */
19
+ export declare const swatch: (doc: Document, color: string, round: boolean) => HTMLSpanElement;
20
+ /** Sizes a canvas to the stage (CSS pixels × device pixel ratio) */
21
+ export declare const sizeCanvas: (canvas: HTMLCanvasElement, width: number, height: number, dpr: number) => void;
@@ -0,0 +1,98 @@
1
+ //#region src/engine/three-d/dom.ts
2
+ var e = (e, t) => (Object.assign(e.style, t), e), t = {
3
+ position: "absolute",
4
+ width: "1px",
5
+ height: "1px",
6
+ overflow: "hidden",
7
+ clip: "rect(0 0 0 0)",
8
+ clipPath: "inset(50%)",
9
+ whiteSpace: "nowrap"
10
+ }, n = 0, r = (t) => {
11
+ let n = e(t.createElement("canvas"), {
12
+ position: "absolute",
13
+ left: "0",
14
+ top: "0",
15
+ pointerEvents: "none"
16
+ });
17
+ return n.setAttribute("aria-hidden", "true"), n;
18
+ }, i = (i) => {
19
+ let a = i.ownerDocument, o = e(a.createElement("div"), {
20
+ position: "relative",
21
+ display: "flex",
22
+ flexDirection: "column",
23
+ width: "100%",
24
+ height: "100%",
25
+ minHeight: "0",
26
+ fontFamily: "var(--font-family-sans, system-ui, sans-serif)",
27
+ color: "var(--text-color, #1f2937)"
28
+ });
29
+ o.className = "minerva-chart minerva-chart-3d";
30
+ let s = e(a.createElement("div"), {
31
+ display: "none",
32
+ flexWrap: "wrap",
33
+ alignItems: "center",
34
+ gap: "4px 14px",
35
+ padding: "0 4px 8px",
36
+ fontSize: "12px",
37
+ lineHeight: "18px"
38
+ });
39
+ s.className = "minerva-chart-legend";
40
+ let c = e(a.createElement("div"), {
41
+ position: "relative",
42
+ flex: "1 1 auto",
43
+ minHeight: "0",
44
+ outline: "none",
45
+ touchAction: "none",
46
+ userSelect: "none",
47
+ borderRadius: "6px",
48
+ cursor: "grab"
49
+ });
50
+ c.className = "minerva-chart-stage", c.setAttribute("role", "figure"), c.setAttribute("aria-roledescription", "3D chart");
51
+ let l = r(a), u = r(a), d = e(a.createElement("div"), {
52
+ position: "absolute",
53
+ left: "0",
54
+ top: "0",
55
+ zIndex: "2",
56
+ display: "none",
57
+ pointerEvents: "none",
58
+ minWidth: "128px",
59
+ maxWidth: "320px",
60
+ padding: "8px 12px",
61
+ borderRadius: "10px",
62
+ border: "1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 60%, transparent)",
63
+ background: "var(--surface-elevated-color, var(--background-color, #fff))",
64
+ color: "var(--text-color, #1f2937)",
65
+ boxShadow: "0 12px 32px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08)",
66
+ fontSize: "12px",
67
+ lineHeight: "20px",
68
+ whiteSpace: "nowrap"
69
+ });
70
+ d.className = "minerva-chart-tooltip", d.setAttribute("role", "tooltip");
71
+ let f = e(a.createElement("div"), t);
72
+ f.id = `minerva-chart-3d-summary-${++n}`, c.setAttribute("aria-describedby", f.id);
73
+ let p = e(a.createElement("div"), t);
74
+ return p.setAttribute("aria-live", "polite"), c.append(l, u, d, f, p), o.append(s, c), i.appendChild(o), {
75
+ root: o,
76
+ legend: s,
77
+ stage: c,
78
+ background: l,
79
+ foreground: u,
80
+ tooltip: d,
81
+ summary: f,
82
+ live: p
83
+ };
84
+ }, a = (t, n, r) => e(t.createElement("span"), {
85
+ display: "inline-block",
86
+ flex: "none",
87
+ width: "9px",
88
+ height: "9px",
89
+ borderRadius: r ? "50%" : "2px",
90
+ background: n
91
+ }), o = (e, t, n, r) => {
92
+ let i = Math.max(1, Math.round(t * r)), a = Math.max(1, Math.round(n * r));
93
+ e.width !== i && (e.width = i), e.height !== a && (e.height = a), e.style.width = `${t}px`, e.style.height = `${n}px`;
94
+ };
95
+ //#endregion
96
+ export { i as createChart3DDom, r as layerCanvas, o as sizeCanvas, e as style, a as swatch };
97
+
98
+ //# sourceMappingURL=dom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dom.js","names":["style","el","css","VISUALLY_HIDDEN","nextId","layerCanvas","canvas","doc","createChart3DDom","container","root","legend","stage","background","foreground","tooltip","summary","live","swatch","round","color","sizeCanvas","w","width","dpr","h","height"],"sources":["../../../../../charts/src/engine/three-d/dom.ts"],"sourcesContent":["// DOM of a 3D chart: legend, focusable stage with the canvas layers (back\n// walls, data, labels / hover), tooltip, a visually hidden data summary and\n// a live region. Styled inline with the Minerva CSS variables.\n\nexport interface Chart3DDom {\n root: HTMLDivElement;\n legend: HTMLDivElement;\n stage: HTMLDivElement;\n /** Walls, grid lines (below the data) */\n background: HTMLCanvasElement;\n /** Tick labels, titles, color bar, hover highlight (above the data) */\n foreground: HTMLCanvasElement;\n tooltip: HTMLDivElement;\n /** Visually hidden description of the data (`aria-describedby` of the stage) */\n summary: HTMLDivElement;\n live: HTMLDivElement;\n}\n\nexport const style = <T extends HTMLElement>(\n el: T,\n css: Partial<CSSStyleDeclaration>,\n): T => {\n Object.assign(el.style, css);\n return el;\n};\n\nconst VISUALLY_HIDDEN: Partial<CSSStyleDeclaration> = {\n position: \"absolute\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n clip: \"rect(0 0 0 0)\",\n clipPath: \"inset(50%)\",\n whiteSpace: \"nowrap\",\n};\n\nlet nextId = 0;\n\n/** Canvas layer covering the stage */\nexport const layerCanvas = (doc: Document): HTMLCanvasElement => {\n const canvas = style(doc.createElement(\"canvas\"), {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n pointerEvents: \"none\",\n });\n canvas.setAttribute(\"aria-hidden\", \"true\");\n return canvas;\n};\n\nexport const createChart3DDom = (container: HTMLElement): Chart3DDom => {\n const doc = container.ownerDocument;\n const root = style(doc.createElement(\"div\"), {\n position: \"relative\",\n display: \"flex\",\n flexDirection: \"column\",\n width: \"100%\",\n height: \"100%\",\n minHeight: \"0\",\n fontFamily: \"var(--font-family-sans, system-ui, sans-serif)\",\n color: \"var(--text-color, #1f2937)\",\n });\n root.className = \"minerva-chart minerva-chart-3d\";\n\n const legend = style(doc.createElement(\"div\"), {\n display: \"none\",\n flexWrap: \"wrap\",\n alignItems: \"center\",\n gap: \"4px 14px\",\n padding: \"0 4px 8px\",\n fontSize: \"12px\",\n lineHeight: \"18px\",\n });\n legend.className = \"minerva-chart-legend\";\n\n const stage = style(doc.createElement(\"div\"), {\n position: \"relative\",\n flex: \"1 1 auto\",\n minHeight: \"0\",\n outline: \"none\",\n touchAction: \"none\",\n userSelect: \"none\",\n borderRadius: \"6px\",\n cursor: \"grab\",\n });\n stage.className = \"minerva-chart-stage\";\n stage.setAttribute(\"role\", \"figure\");\n stage.setAttribute(\"aria-roledescription\", \"3D chart\");\n\n const background = layerCanvas(doc);\n const foreground = layerCanvas(doc);\n\n const tooltip = style(doc.createElement(\"div\"), {\n position: \"absolute\",\n left: \"0\",\n top: \"0\",\n zIndex: \"2\",\n display: \"none\",\n pointerEvents: \"none\",\n minWidth: \"128px\",\n maxWidth: \"320px\",\n padding: \"8px 12px\",\n borderRadius: \"10px\",\n border:\n \"1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 60%, transparent)\",\n background: \"var(--surface-elevated-color, var(--background-color, #fff))\",\n color: \"var(--text-color, #1f2937)\",\n boxShadow:\n \"0 12px 32px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08)\",\n fontSize: \"12px\",\n lineHeight: \"20px\",\n whiteSpace: \"nowrap\",\n });\n tooltip.className = \"minerva-chart-tooltip\";\n tooltip.setAttribute(\"role\", \"tooltip\");\n\n const summary = style(doc.createElement(\"div\"), VISUALLY_HIDDEN);\n summary.id = `minerva-chart-3d-summary-${++nextId}`;\n stage.setAttribute(\"aria-describedby\", summary.id);\n\n const live = style(doc.createElement(\"div\"), VISUALLY_HIDDEN);\n live.setAttribute(\"aria-live\", \"polite\");\n\n stage.append(background, foreground, tooltip, summary, live);\n root.append(legend, stage);\n container.appendChild(root);\n return {\n root,\n legend,\n stage,\n background,\n foreground,\n tooltip,\n summary,\n live,\n };\n};\n\n/** Color square / dot of the legend and the tooltip */\nexport const swatch = (doc: Document, color: string, round: boolean) =>\n style(doc.createElement(\"span\"), {\n display: \"inline-block\",\n flex: \"none\",\n width: \"9px\",\n height: \"9px\",\n borderRadius: round ? \"50%\" : \"2px\",\n background: color,\n });\n\n/** Sizes a canvas to the stage (CSS pixels × device pixel ratio) */\nexport const sizeCanvas = (\n canvas: HTMLCanvasElement,\n width: number,\n height: number,\n dpr: number,\n): void => {\n const w = Math.max(1, Math.round(width * dpr));\n const h = Math.max(1, Math.round(height * dpr));\n if (canvas.width !== w) canvas.width = w;\n if (canvas.height !== h) canvas.height = h;\n canvas.style.width = `${width}px`;\n canvas.style.height = `${height}px`;\n};\n"],"mappings":";AAkBA,IAAaA,KACX,GACA,OAEA,OAAO,OAAOC,EAAG,OAAOC,CAAG,GACpBD,IAGHE,IAAgD;CACpD,UAAU;CACV,OAAO;CACP,QAAQ;CACR,UAAU;CACV,MAAM;CACN,UAAU;CACV,YAAY;AACd,GAEIC,IAAS,GAGAC,KAAe,MAAqC;CAC/D,IAAMC,IAASN,EAAMO,EAAI,cAAc,QAAQ,GAAG;EAChD,UAAU;EACV,MAAM;EACN,KAAK;EACL,eAAe;CACjB,CAAC;CAED,OADAD,EAAO,aAAa,eAAe,MAAM,GAClCA;AACT,GAEaE,KAAoB,MAAuC;CACtE,IAAMD,IAAME,EAAU,eAChBC,IAAOV,EAAMO,EAAI,cAAc,KAAK,GAAG;EAC3C,UAAU;EACV,SAAS;EACT,eAAe;EACf,OAAO;EACP,QAAQ;EACR,WAAW;EACX,YAAY;EACZ,OAAO;CACT,CAAC;CACD,EAAK,YAAY;CAEjB,IAAMI,IAASX,EAAMO,EAAI,cAAc,KAAK,GAAG;EAC7C,SAAS;EACT,UAAU;EACV,YAAY;EACZ,KAAK;EACL,SAAS;EACT,UAAU;EACV,YAAY;CACd,CAAC;CACD,EAAO,YAAY;CAEnB,IAAMK,IAAQZ,EAAMO,EAAI,cAAc,KAAK,GAAG;EAC5C,UAAU;EACV,MAAM;EACN,WAAW;EACX,SAAS;EACT,aAAa;EACb,YAAY;EACZ,cAAc;EACd,QAAQ;CACV,CAAC;CAGD,AAFA,EAAM,YAAY,uBAClBK,EAAM,aAAa,QAAQ,QAAQ,GACnCA,EAAM,aAAa,wBAAwB,UAAU;CAErD,IAAMC,IAAaR,EAAYE,CAAG,GAC5BO,IAAaT,EAAYE,CAAG,GAE5BQ,IAAUf,EAAMO,EAAI,cAAc,KAAK,GAAG;EAC9C,UAAU;EACV,MAAM;EACN,KAAK;EACL,QAAQ;EACR,SAAS;EACT,eAAe;EACf,UAAU;EACV,UAAU;EACV,SAAS;EACT,cAAc;EACd,QACE;EACF,YAAY;EACZ,OAAO;EACP,WACE;EACF,UAAU;EACV,YAAY;EACZ,YAAY;CACd,CAAC;CAED,AADA,EAAQ,YAAY,yBACpBQ,EAAQ,aAAa,QAAQ,SAAS;CAEtC,IAAMC,IAAUhB,EAAMO,EAAI,cAAc,KAAK,GAAGJ,CAAe;CAE/D,AADA,EAAQ,KAAK,4BAA4B,EAAEC,KAC3CQ,EAAM,aAAa,oBAAoBI,EAAQ,EAAE;CAEjD,IAAMC,IAAOjB,EAAMO,EAAI,cAAc,KAAK,GAAGJ,CAAe;CAM5D,OALAc,EAAK,aAAa,aAAa,QAAQ,GAEvCL,EAAM,OAAOC,GAAYC,GAAYC,GAASC,GAASC,CAAI,GAC3DP,EAAK,OAAOC,GAAQC,CAAK,GACzBH,EAAU,YAAYC,CAAI,GACnB;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF,GAGaQ,KAAU,GAAe,GAAe,MACnDlB,EAAMO,EAAI,cAAc,MAAM,GAAG;CAC/B,SAAS;CACT,MAAM;CACN,OAAO;CACP,QAAQ;CACR,cAAcY,IAAQ,QAAQ;CAC9B,YAAYC;AACd,CAAC,GAGUC,KACX,GACA,GACA,GACA,MACS;CACT,IAAMC,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMC,IAAQC,CAAG,CAAC,GACvCC,IAAI,KAAK,IAAI,GAAG,KAAK,MAAMC,IAASF,CAAG,CAAC;CAI9C,AAHIlB,EAAO,UAAUgB,MAAG,EAAO,QAAQA,IACnChB,EAAO,WAAWmB,MAAG,EAAO,SAASA,IACzC,EAAO,MAAM,QAAQ,GAAGF,EAAM,KAC9B,EAAO,MAAM,SAAS,GAAGG,EAAO;AAClC"}
@@ -0,0 +1,2 @@
1
+ const e=require("../color.cjs"),t=require("../scale.cjs"),n=require("./colormap.cjs"),r=require("./contours.cjs"),i=require("./model.cjs");var a={maxGridSide:2048},o={maxGridSide:72},s=1,c=new WeakMap,l=e=>{if(!e)return 0;let t=c.get(e);return t===void 0&&(t=s++,c.set(e,t)),t},u=e=>e.map(e=>e.toFixed(4)).join(`,`),d=e=>`${e.domain[0]},${e.domain[1]},${e.half},${e.categories?.length??-1}`,f=e=>e===e&&e!==1/0&&e!==-1/0,p=(e,t,r,i)=>!t||!f(r)?i:e.packed[n.lutIndex(r,t[0],t[1])],m=(t,n,r,i)=>{let{cols:a}=t,o=a.count,s=new ArrayBuffer(o*20),c=new Float32Array(s),l=new Uint32Array(s),u=e.packColor(r.series[t.index]??[.5,.5,.5,1]),d=t.colorBy!==`series`,m=t.colorBy===`value`&&a.value?a.value:a.z,h=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;for(let t=0;t<o;t++){let s=a.x[t],v=a.y[t],y=a.z[t];if(!f(s)||!f(v)||!f(y)){if(!g){g=new Uint32Array(o);for(let e=0;e<_;e++)g[e]=e}continue}g&&(g[_]=t);let b=_*5;c[b]=s*x+w,c[b+1]=v*S+T,c[b+2]=y*C+E;let D=a.size?a.size[t]:NaN;c[b+3]=f(D)?D:i;let O=a.colors?.[t],k;if(O!==void 0){let t=h.get(O);t===void 0&&(t=e.packColor(r.resolve(O)),h.set(O,t)),k=t}else k=d?p(r.lut,n.colorDomain,m[t],u):u;l[b+4]=k,_++}return{data:s,count:_,source:g?g.subarray(0,_):null,sized:!!a.size}},h=(e,t)=>{if(e<=t){let t=new Int32Array(e);for(let n=0;n<e;n++)t[n]=n;return t}let n=new Int32Array(t);for(let r=0;r<t;r++)n[r]=Math.round(r*(e-1)/(t-1));return n},g=(t,n,r,a,o,s)=>{let{grid:c}=t,l=h(c.rows,a.maxGridSide),u=h(c.cols,a.maxGridSide),d=l.length,m=u.length,g=d*m,_=new Float32Array(g*3);for(let e=0;e<d;e++){let t=i.toWorld(n.y,c.y[l[e]]);for(let r=0;r<m;r++){let a=i.toWorld(n.x,c.x[u[r]]),o=c.z[l[e]*c.cols+u[r]],s=(e*m+r)*3;_[s]=a,_[s+1]=t,_[s+2]=f(o)?i.toWorld(n.z,o):NaN}}if(t.series.fill===!1)return{positions:_,rowIndex:l,colIndex:u,mesh:null};let v=new ArrayBuffer(g*28),y=new Float32Array(v),b=new Uint32Array(v),x=e.packColor(r.series[t.index]??[.5,.5,.5,1]),S=t.colorBy===`value`&&c.value,C=(e,t,n)=>_[(e*m+t)*3+n],w=(e,t)=>e>=0&&e<d&&t>=0&&t<m&&f(C(e,t,2));for(let e=0;e<d;e++)for(let i=0;i<m;i++){let a=(e*m+i)*7;y[a]=C(e,i,0),y[a+1]=C(e,i,1),y[a+2]=f(C(e,i,2))?C(e,i,2):0;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;if(w(e,i)&&o!==s&&d!==h){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);g=-n*r,_=-t*a,v=t*r;let c=Math.hypot(g,_,v)||1;g/=c,_/=c,v/=c,v<0&&(g=-g,_=-_,v=-v)}y[a+3]=g,y[a+4]=_,y[a+5]=v;let T=l[e]*c.cols+u[i];b[a+6]=t.colorBy===`series`?x:p(r.lut,n.colorDomain,S?c.value[T]:c.z[T],x)}let T=new Uint32Array((d-1)*(m-1)*6),E=0;for(let e=0;e<d-1;e++)for(let t=0;t<m-1;t++){if(!w(e,t)||!w(e,t+1)||!w(e+1,t)||!w(e+1,t+1))continue;let n=e*m+t,r=n+1,i=n+m,a=i+1;T[E++]=n,T[E++]=r,T[E++]=a,T[E++]=n,T[E++]=a,T[E++]=i}return{positions:_,rowIndex:l,colIndex:u,mesh:{kind:`mesh`,key:o,version:s,opacity:t.opacity,vertices:v,vertexCount:g,indices:T.subarray(0,E)}}},_=(e,t)=>{let n=t.length,r=new ArrayBuffer(n*28),i=new Float32Array(r),a=new Uint32Array(r);for(let r=0;r<n;r++){let n=r*7;for(let t=0;t<6;t++)i[n+t]=e[r*6+t];a[n+6]=t[r]}return{buffer:r,count:n}},v=64,y=(e,t)=>{let n=[];for(let r=0;r<e;r+=t)n.push(r);return e>0&&n[n.length-1]!==e-1&&n.push(e-1),n},b=(e,t,n,r,i)=>{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/v))),d=Math.max(1,Math.round(t.step??Math.ceil(o/v))),p=(e,t)=>{f(s[e*3+2])&&f(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))};for(let e of y(a,u))for(let t=0;t<o-1;t++)p(e*o+t,e*o+t+1);for(let e of y(o,d))for(let t=0;t<a-1;t++)p(t*o+e,(t+1)*o+e);let{buffer:m,count:h}=_(c,l);return{kind:`lines`,key:r,version:i,opacity:1,data:m,count:h,width:t.width??1,bias:.0015}},x=(e,n,r)=>{if(e.levels)return e.levels.filter(f);if(!(r>n))return[];let i=Math.max(1,Math.round(e.count??10)),a=t.linearTicks(n,r,i).filter(e=>e>n&&e<r);return a.length>=Math.max(2,i/2)?a:Array.from({length:i},(e,t)=>n+(t+.5)*(r-n)/i)},S=(t,a,o,s,c,l)=>{let{grid:u}=t,d=x(s,u.extent.z.min,u.extent.z.max);if(!d.length)return null;let f=s.floor??!0,p=s.surface??!1;if(!f&&!p)return null;let m=s.color?e.packColor(o.resolve(s.color)):null,h=-a.z.half+.002,g=a.colorDomain&&t.colorBy!==`value`?a.colorDomain:[u.extent.z.min,u.extent.z.max],v=[],y=[],b=e=>{let t=Math.floor(e),n=e-t,r=u.x[Math.min(t,u.cols-1)],o=u.x[Math.min(t+1,u.cols-1)];return i.toWorld(a.x,r+(o-r)*n)},S=e=>{let t=Math.floor(e),n=e-t,r=u.y[Math.min(t,u.rows-1)],o=u.y[Math.min(t+1,u.rows-1)];return i.toWorld(a.y,r+(o-r)*n)},C=[];for(let e of d){if(C.length=0,r.contourSegments(u.z,u.rows,u.cols,e,C),!C.length)continue;let t=m??o.lut.packed[n.lutIndex(e,g[0],g[1])],s=i.toWorld(a.z,e);for(let e=0;e<C.length;e+=4){let n=b(C[e]),r=S(C[e+1]),i=b(C[e+2]),a=S(C[e+3]);f&&(v.push(n,r,h,i,a,h),y.push(t)),p&&(v.push(n,r,s,i,a,s),y.push(t))}}if(!y.length)return null;let{buffer:w,count:T}=_(v,y);return{kind:`lines`,key:c,version:l,opacity:1,data:w,count:T,width:s.width??1,bias:.002}},C=[{n:[0,0,1],c:[0,0,1,1,0,1,1,1,1,0,1,1]},{n:[0,0,-1],c:[0,0,0,0,1,0,1,1,0,1,0,0]},{n:[1,0,0],c:[1,0,0,1,1,0,1,1,1,1,0,1]},{n:[-1,0,0],c:[0,0,0,0,0,1,0,1,1,0,1,0]},{n:[0,1,0],c:[0,1,0,0,1,1,1,1,1,1,1,0]},{n:[0,-1,0],c:[0,0,0,1,0,0,1,0,1,0,0,1]}],w=(t,n,r,a,o)=>{let{bars:s}=t,c=s.count,l=new ArrayBuffer(c*24*28),u=new Float32Array(l),d=new Uint32Array(l),f=new Uint32Array(c*36),m=new Float32Array(c*6),h=e.packColor(r.series[t.index]??[.5,.5,.5,1]),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=new Map,S=0,w=0;for(let a=0;a<c;a++){let o=i.toWorld(n.x,s.xi[a]),c=i.toWorld(n.y,s.yi[a]),l=i.toWorld(n.z,s.z0[a]),g=i.toWorld(n.z,s.z1[a]),_=[o-y,c-b,Math.min(l,g)],v=[o+y,c+b,Math.max(l,g)];m.set([_[0],_[1],_[2],v[0],v[1],v[2]],a*6);let T=s.colors?.[a],E;if(T!==void 0)E=x.get(T)??e.packColor(r.resolve(T)),x.set(T,E);else if(t.colorBy===`series`)E=h;else{let e=t.colorBy===`value`&&s.value?s.value[a]:s.z[a];E=p(r.lut,n.colorDomain,e,h)}for(let e of C){for(let t=0;t<4;t++){let n=(S+t)*7;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}f[w++]=S,f[w++]=S+1,f[w++]=S+2,f[w++]=S,f[w++]=S+2,f[w++]=S+3,S+=4}}return{mesh:{kind:`mesh`,key:a,version:o,opacity:t.opacity,vertices:l,vertexCount:S,indices:f},target:{kind:`bars`,series:t.index,count:c,boxes:m}}},T=(e,t,n,r)=>{let i=new Float32Array(t.data),a=new Uint32Array(t.data),o=[],s=[],c=e.opacity;for(let e=0;e<t.count-1;e++){if(t.source&&t.source[e+1]!==t.source[e]+1)continue;let n=e*5,r=n+5;o.push(i[n],i[n+1],i[n+2],i[r],i[r+1],i[r+2]),s.push(a[n+4])}let{buffer:l,count:u}=_(o,s);return{kind:`lines`,key:n,version:r,opacity:c,data:l,count:u,width:e.series.lineWidth??2,bias:0}},E=()=>{let e=new Map,t=0,n=(e,t,n,r,i)=>{let a=e.series,o=JSON.stringify({type:e.type,colorBy:e.colorBy,opacity:e.opacity,pointSize:a.pointSize,lineWidth:a.lineWidth,perspectiveSize:a.perspectiveSize,wireframe:a.wireframe,contours:a.contours,fill:a.fill,barWidth:a.barWidth});return[l(e.series.data),o,d(t.x),d(t.y),d(t.z),t.colorDomain?.join()??``,u(n.series[e.index]??[0,0,0,0]),u(n.wire),i,r.maxGridSide,e.type===`bar`?k(e):``].join(`|`)};return(r,i,a,o)=>{let s=new Map,c=[],l=[],u=[];for(let d of r.series){let f=`${d.index}:${d.id}`;if(d.hidden){u.push(0);let t=e.get(f);t&&s.set(f,t);continue}let p=n(d,r,i,a,o),m=e.get(f);(!m||m.signature!==p)&&(m=D(d,r,i,a,`s${f}`,++t,p)),s.set(f,m),c.push(...m.items),l.push(...m.target),u.push(m.count)}return e=s,{items:c,targets:l,counts:u}}},D=(t,n,r,i,a,o,s)=>{switch(t.type){case`surface`:{let c=g(t,n,r,i,`${a}:mesh`,o),l=[];c.mesh&&l.push(c.mesh);let u=t.series.wireframe;if(u){let t=u===!0?{}:u,n=t.color?e.packColor(r.resolve(t.color)):e.packColor(r.wire);l.push(b(c,t,n,`${a}:wire`,o))}let d=t.series.contours;if(d){let e=S(t,n,r,d===!0?{}:d,`${a}:contours`,o);e&&l.push(e)}return{signature:s,items:l,target:[{kind:`surface`,series:t.index,rows:c.rowIndex.length,cols:c.colIndex.length,positions:c.positions,rowIndex:c.rowIndex,colIndex:c.colIndex}],count:t.grid.rows*t.grid.cols}}case`bar`:{let{mesh:e,target:i}=w(t,n,r,`${a}:bars`,o);return{signature:s,items:[e],target:[i],count:t.bars.count}}case`line`:{let e=t.series.pointSize??0,i=m(t,n,r,e),c=[T(t,i,`${a}:line`,o)];return e>0&&c.push({kind:`points`,key:`${a}:points`,version:o,opacity:t.opacity,data:i.data,count:i.count,perspective:!1}),{signature:s,items:c,target:[O(t.index,i,Math.max(e,t.series.lineWidth??2))],count:i.count}}default:{let e=t.series.pointSize??6,i=m(t,n,r,e);return{signature:s,items:[{kind:`points`,key:`${a}:points`,version:o,opacity:t.opacity,data:i.data,count:i.count,perspective:t.series.perspectiveSize??!0}],target:[O(t.index,i,e)],count:i.count}}}},O=(e,t,n)=>({kind:`points`,series:e,positions:new Float32Array(t.data),stride:5,count:t.count,sized:t.sized,defaultSize:n,source:t.source,packed:new Uint32Array(t.data)}),k=e=>{let t=e.bars.count;for(let n=0;n<e.bars.count;n++)t=(t*31+e.bars.z0[n]*997+e.bars.z1[n]*13)%0xe8d4a51000;return String(t)},A=t=>e.toCss([(t&255)/255,(t>>>8&255)/255,(t>>>16&255)/255,(t>>>24&255)/255]);exports.CPU_BUDGET=o,exports.GPU_BUDGET=a,exports.contourLevels=x,exports.createGeometryBuilder=E,exports.objectId=l,exports.packedCss=A,exports.stepped=y;
2
+ //# sourceMappingURL=geometry.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"geometry.cjs","names":["lutIndex","packColor","toWorld","linearTicks","toCss","require_color","require_scale","require_colormap","require_contours","require_model","GPU_BUDGET","CPU_BUDGET","nextId","ids","objectId","value","id","colorKey","c","v","domainKey","a","isFiniteNumber","scaleColor","domain","fallback","lut","buildPoints","m","n","cols","buffer","f32","u32","seriesColor","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","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","buildContours","levels","floor","onSurface","fixed","floorZ","xAt","f","yAt","segments","level","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"],"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":"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"}
@@ -0,0 +1,76 @@
1
+ import { Rgba } from '../color.cjs';
2
+ import { ColorLut } from './colormap.cjs';
3
+ import { Model3D } from './model.cjs';
4
+ import { Item3D } from './render-types.cjs';
5
+ import { Surface3DContourOptions } from './types.cjs';
6
+ /** Colors the geometry needs, resolved by the chart */
7
+ export interface GeometryColors {
8
+ /** Color of every series (option or palette) */
9
+ series: Rgba[];
10
+ /** Resolves a CSS color of the data */
11
+ resolve: (value: string) => Rgba;
12
+ /** Sampled color scale */
13
+ lut: ColorLut;
14
+ /** Default wireframe color */
15
+ wire: Rgba;
16
+ }
17
+ /** Limits of the CPU (Canvas2D) backend */
18
+ export interface GeometryBudget {
19
+ /** Largest surface grid side drawn (resampled above) */
20
+ maxGridSide: number;
21
+ }
22
+ export declare const GPU_BUDGET: GeometryBudget;
23
+ export declare const CPU_BUDGET: GeometryBudget;
24
+ /** Picking data of a point cloud (scatter dots, line vertices) */
25
+ export interface PointTarget {
26
+ kind: "points";
27
+ series: number;
28
+ /** World positions, stride `stride` floats */
29
+ positions: Float32Array;
30
+ stride: number;
31
+ count: number;
32
+ /** Diameters in CSS pixels (stride as positions, offset 3) or `null` */
33
+ sized: boolean;
34
+ defaultSize: number;
35
+ /** Index in the series data of every drawn point (`null`: identity) */
36
+ source: Uint32Array | null;
37
+ /** Packed colors (offset 4 of the stride) or the series color */
38
+ packed: Uint32Array | null;
39
+ }
40
+ /** Picking data of a surface: its (possibly resampled) world grid */
41
+ export interface SurfaceTarget {
42
+ kind: "surface";
43
+ series: number;
44
+ rows: number;
45
+ cols: number;
46
+ /** World positions of the sampled vertices (x, y, z) */
47
+ positions: Float32Array;
48
+ /** Rows / columns of the data grid the samples come from */
49
+ rowIndex: Int32Array;
50
+ colIndex: Int32Array;
51
+ }
52
+ /** Picking data of bars: one world box per bar */
53
+ export interface BarTarget {
54
+ kind: "bars";
55
+ series: number;
56
+ count: number;
57
+ /** min x, y, z, max x, y, z per bar */
58
+ boxes: Float32Array;
59
+ }
60
+ export type PickTarget = PointTarget | SurfaceTarget | BarTarget;
61
+ export interface Geometry {
62
+ items: Item3D[];
63
+ targets: PickTarget[];
64
+ /** Total number of drawn points / cells / bars (summary) */
65
+ counts: number[];
66
+ }
67
+ /** Stable identity number of an object (data arrays) */
68
+ export declare const objectId: (value: object | null | undefined) => number;
69
+ /** 0, step, 2 step, … and the last index */
70
+ export declare const stepped: (count: number, step: number) => number[];
71
+ /** Levels of the contour lines */
72
+ export declare const contourLevels: (options: Surface3DContourOptions, min: number, max: number) => number[];
73
+ /** Builds the items of every visible series, reusing the unchanged ones */
74
+ export declare const createGeometryBuilder: () => (model: Model3D, colors: GeometryColors, budget: GeometryBudget, lutId: number) => Geometry;
75
+ /** CSS color of a packed color */
76
+ export declare const packedCss: (packed: number) => string;
@@ -0,0 +1,76 @@
1
+ import { Rgba } from '../color.js';
2
+ import { ColorLut } from './colormap.js';
3
+ import { Model3D } from './model.js';
4
+ import { Item3D } from './render-types.js';
5
+ import { Surface3DContourOptions } from './types.js';
6
+ /** Colors the geometry needs, resolved by the chart */
7
+ export interface GeometryColors {
8
+ /** Color of every series (option or palette) */
9
+ series: Rgba[];
10
+ /** Resolves a CSS color of the data */
11
+ resolve: (value: string) => Rgba;
12
+ /** Sampled color scale */
13
+ lut: ColorLut;
14
+ /** Default wireframe color */
15
+ wire: Rgba;
16
+ }
17
+ /** Limits of the CPU (Canvas2D) backend */
18
+ export interface GeometryBudget {
19
+ /** Largest surface grid side drawn (resampled above) */
20
+ maxGridSide: number;
21
+ }
22
+ export declare const GPU_BUDGET: GeometryBudget;
23
+ export declare const CPU_BUDGET: GeometryBudget;
24
+ /** Picking data of a point cloud (scatter dots, line vertices) */
25
+ export interface PointTarget {
26
+ kind: "points";
27
+ series: number;
28
+ /** World positions, stride `stride` floats */
29
+ positions: Float32Array;
30
+ stride: number;
31
+ count: number;
32
+ /** Diameters in CSS pixels (stride as positions, offset 3) or `null` */
33
+ sized: boolean;
34
+ defaultSize: number;
35
+ /** Index in the series data of every drawn point (`null`: identity) */
36
+ source: Uint32Array | null;
37
+ /** Packed colors (offset 4 of the stride) or the series color */
38
+ packed: Uint32Array | null;
39
+ }
40
+ /** Picking data of a surface: its (possibly resampled) world grid */
41
+ export interface SurfaceTarget {
42
+ kind: "surface";
43
+ series: number;
44
+ rows: number;
45
+ cols: number;
46
+ /** World positions of the sampled vertices (x, y, z) */
47
+ positions: Float32Array;
48
+ /** Rows / columns of the data grid the samples come from */
49
+ rowIndex: Int32Array;
50
+ colIndex: Int32Array;
51
+ }
52
+ /** Picking data of bars: one world box per bar */
53
+ export interface BarTarget {
54
+ kind: "bars";
55
+ series: number;
56
+ count: number;
57
+ /** min x, y, z, max x, y, z per bar */
58
+ boxes: Float32Array;
59
+ }
60
+ export type PickTarget = PointTarget | SurfaceTarget | BarTarget;
61
+ export interface Geometry {
62
+ items: Item3D[];
63
+ targets: PickTarget[];
64
+ /** Total number of drawn points / cells / bars (summary) */
65
+ counts: number[];
66
+ }
67
+ /** Stable identity number of an object (data arrays) */
68
+ export declare const objectId: (value: object | null | undefined) => number;
69
+ /** 0, step, 2 step, … and the last index */
70
+ export declare const stepped: (count: number, step: number) => number[];
71
+ /** Levels of the contour lines */
72
+ export declare const contourLevels: (options: Surface3DContourOptions, min: number, max: number) => number[];
73
+ /** Builds the items of every visible series, reusing the unchanged ones */
74
+ export declare const createGeometryBuilder: () => (model: Model3D, colors: GeometryColors, budget: GeometryBudget, lutId: number) => Geometry;
75
+ /** CSS color of a packed color */
76
+ export declare const packedCss: (packed: number) => string;