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":"chart.js","names":["wheelFactor","pixels","deltaMode","deltaY","pinch","DEFAULT_LIGHTING","ROTATE_SPEED","DRAG_DEGREES","KEY_DEGREES","TWEEN_MS","initialCamera","clampCamera","camera","DEFAULT_CAMERA","copyCamera","c","sameCamera","a","b","lerpCamera","da","t","stageLayout","side","width","top","height","bottom","barSpace","colorBar","fit","h","createChart3D","doc","container","win","dom","createChart3DDom","stage","options","initialOptions","theme","readTheme","themeVersion","destroyed","listeners","emit","type","fn","event","toggled","model","buildModel","colors","lut","lutKey","lutId","buildGeometry","createGeometryBuilder","geometry","geometryDirty","picker","createPicker","sortTransparent","createDepthSorter","renderer","rendererToken","resolveReady","ready","resolve","homeCamera","cameraKey","tween","frameId","dataDirty","lastFrame","lastLayout","overlay","overlayStyle","isDark","hoverHit","hoverEvt","pendingHover","lastPointer","pointerInside","visible","lastRotate","reducedMotion","interaction","o","rotateSpeed","showsColorBar","effectiveOptions","id","s","i","resolveColor","value","parseColor","refreshColors","key","colorLut","colorStops","f","palette","m","rebuild","renderLegend","updateAccessibility","invalidate","scheduleHover","legendKey","named","show","config","toggle","toCss","focused","item","fill","labels","style","swatch","names","lines","count","name","size","axis","range","data","frame","rotating","drag","lightDirection","v","normalize","dpr","time","eased","dt","sizeCanvas","layout","fov","half","cameraFrame","bg","drawWalls","CPU_BUDGET","GPU_BUDGET","w","l","frame3d","drawForeground","fg","drawAxes","colorBarFormat","shape","highlightShape","drawHighlight","d","locale","step","tickStep","tooltipEnabled","stageOffset","setHover","hit","hoverEvent","changed","renderTooltip","tip","custom","content","defaultTooltip","tw","th","x","y","fragment","header","valueName","row","tooltipRows","el","n","pickAt","hoverFrame","p","pointers","local","r","fitHeight","setCameraInternal","clamped","next","notify","animateTo","target","pinchInfo","pts","startDrag","mode","onPointerDown","ia","pan","onPointerMove","scale","distance","center","dx","dy","onPointerUp","wasDrag","rest","onPointerCancel","onPointerEnter","onPointerLeave","onWheel","factor","zoom","ratio","cx","cy","nx","ny","onDoubleClick","onContextMenu","onFocus","keyboard","onBlur","onKeyDown","resizeObserver","intersection","entry","entries","was","onVisibility","dprQuery","onDprChange","watchDpr","onMotionChange","refreshTheme","themeColorsChanged","unwatchTheme","watchTheme","langObserver","resolveLocale","initRenderer","token","createRenderer3D","canvas","layerCanvas","kind","exclude","previous","set","listener","luminance"],"sources":["../../../../../charts/src/engine/three-d/chart.ts"],"sourcesContent":["// createChart3D: 3D scatter / surface / bar / line charts. The data layer\n// is drawn by a GPU backend (WebGPU -> WebGL2 -> WebGL) or by Canvas2D (CPU\n// projection, painter's algorithm); walls, labels, color bar and hover\n// highlight are 2D canvases around it. Frames are drawn on demand: the only\n// animation loop is the optional auto rotation (paused off-screen, while\n// hovered and with prefers-reduced-motion).\n\nimport { luminance, parseColor, toCss, type Rgba } from \"../color\";\nimport { resolveLocale } from \"../locale\";\nimport { tickStep } from \"../scale\";\nimport {\n readTheme,\n themeColorsChanged,\n watchTheme,\n type ChartTheme,\n} from \"../theme\";\nimport type { ChartRendererKind } from \"../types\";\nimport { colorLut, colorStops, type ColorLut } from \"./colormap\";\nimport { createRenderer3D } from \"./detect\";\nimport {\n createChart3DDom,\n layerCanvas,\n sizeCanvas,\n style,\n swatch,\n} from \"./dom\";\nimport {\n CPU_BUDGET,\n GPU_BUDGET,\n createGeometryBuilder,\n type Geometry,\n type GeometryColors,\n} from \"./geometry\";\nimport { highlightShape, hoverEvent, tooltipRows } from \"./hover\";\nimport { fill } from \"./labels\";\nimport {\n DEFAULT_CAMERA,\n cameraFrame,\n clampCamera,\n normalize,\n type CameraFrame,\n type FitRect,\n type Vec3,\n} from \"./math\";\nimport { buildModel, type Model3D } from \"./model\";\nimport {\n drawAxes,\n drawColorBar,\n drawHighlight,\n drawWalls,\n overlayStyle,\n type HighlightShape,\n type OverlayStyle,\n} from \"./overlay\";\nimport { createPicker, type PickHit } from \"./pick\";\nimport type { Frame3D, Renderer3D } from \"./render-types\";\nimport { createDepthSorter } from \"./sort\";\nimport type {\n Chart3DCameraOptions,\n Chart3DCameraState,\n Chart3DEventMap,\n Chart3DHoverEvent,\n Chart3DInstance,\n Chart3DInteractionOptions,\n Chart3DOptions,\n} from \"./types\";\n\n/** Zoom factor of a wheel event (same feel as the 2D charts) */\nconst wheelFactor = (deltaY: number, deltaMode: number, pinch: boolean) => {\n const pixels =\n deltaMode === 1 ? deltaY * 16 : deltaMode === 2 ? deltaY * 400 : deltaY;\n const speed = pinch ? 0.01 : 0.0025;\n return Math.exp(Math.max(-1, Math.min(1, pixels * speed)));\n};\n\nconst DEFAULT_LIGHTING = {\n ambient: 0.5,\n diffuse: 0.6,\n specular: 0.25,\n shininess: 32,\n};\n\nconst ROTATE_SPEED = 12;\nconst DRAG_DEGREES = 0.45;\nconst KEY_DEGREES = 5;\nconst TWEEN_MS = 380;\n\n/** Camera of the options (also the one restored by a reset) */\nexport const initialCamera = (\n camera: Chart3DCameraOptions | undefined,\n): Chart3DCameraState =>\n clampCamera({\n azimuth: camera?.azimuth ?? DEFAULT_CAMERA.azimuth,\n elevation: camera?.elevation ?? DEFAULT_CAMERA.elevation,\n zoom: camera?.zoom ?? DEFAULT_CAMERA.zoom,\n pan: [0, 0],\n projection: camera?.projection ?? DEFAULT_CAMERA.projection,\n });\n\nconst copyCamera = (c: Chart3DCameraState): Chart3DCameraState => ({\n ...c,\n pan: [c.pan[0], c.pan[1]],\n});\n\nconst sameCamera = (a: Chart3DCameraState, b: Chart3DCameraState) =>\n a.azimuth === b.azimuth &&\n a.elevation === b.elevation &&\n a.zoom === b.zoom &&\n a.pan[0] === b.pan[0] &&\n a.pan[1] === b.pan[1] &&\n a.projection === b.projection;\n\n/** Interpolated camera (shortest way around for the azimuth) */\nconst lerpCamera = (\n a: Chart3DCameraState,\n b: Chart3DCameraState,\n t: number,\n): Chart3DCameraState => {\n let da = (b.azimuth - a.azimuth) % 360;\n if (da > 180) da -= 360;\n if (da < -180) da += 360;\n return clampCamera({\n azimuth: a.azimuth + da * t,\n elevation: a.elevation + (b.elevation - a.elevation) * t,\n zoom: a.zoom * Math.pow(b.zoom / a.zoom, t),\n pan: [\n a.pan[0] + (b.pan[0] - a.pan[0]) * t,\n a.pan[1] + (b.pan[1] - a.pan[1]) * t,\n ],\n projection: t < 0.5 ? a.projection : b.projection,\n });\n};\n\n/** Layout of the stage: area the box is fitted into and the color bar */\nexport const stageLayout = (\n width: number,\n height: number,\n colorBar: boolean,\n): {\n fit: FitRect;\n bar: { x: number; y: number; w: number; h: number } | null;\n} => {\n const side = Math.max(30, Math.min(72, width * 0.08));\n const top = Math.max(14, Math.min(28, height * 0.05));\n const bottom = Math.max(30, Math.min(56, height * 0.1));\n const barSpace = colorBar ? 74 : 0;\n const fit: FitRect = {\n x: side,\n y: top,\n width: Math.max(10, width - side * 2 - barSpace),\n height: Math.max(10, height - top - bottom),\n };\n if (!colorBar) return { fit, bar: null };\n const h = Math.max(40, Math.min(260, height * 0.62));\n return {\n fit,\n bar: { x: width - 66, y: (height - h) / 2 + 8, w: 12, h },\n };\n};\n\nexport const createChart3D = (\n container: HTMLElement,\n initialOptions: Chart3DOptions,\n): Chart3DInstance => {\n const doc = container.ownerDocument;\n const win = doc.defaultView;\n const dom = createChart3DDom(container);\n const stage = dom.stage;\n let options = initialOptions;\n let theme: ChartTheme = readTheme(dom.root, options.palette);\n let themeVersion = 0;\n let destroyed = false;\n\n const listeners = new Map<keyof Chart3DEventMap, Set<(e: never) => void>>();\n const emit = <K extends keyof Chart3DEventMap>(\n type: K,\n event: Chart3DEventMap[K],\n ) => {\n listeners\n .get(type)\n ?.forEach((fn) => (fn as (e: Chart3DEventMap[K]) => void)(event));\n };\n\n // ------------------------------------------------------------- state\n\n /** Series whose visibility the legend flipped (ids) */\n const toggled = new Set<string>();\n let model: Model3D = buildModel(options);\n let colors: GeometryColors;\n let lut: ColorLut;\n let lutKey = \"\";\n let lutId = 0;\n const buildGeometry = createGeometryBuilder();\n let geometry: Geometry = { items: [], targets: [], counts: [] };\n let geometryDirty = true;\n const picker = createPicker();\n const sortTransparent = createDepthSorter();\n\n let renderer: Renderer3D | null = null;\n let rendererToken = 0;\n let resolveReady: (kind: ChartRendererKind | null) => void = () => {};\n const ready = new Promise<ChartRendererKind | null>((resolve) => {\n resolveReady = resolve;\n });\n\n let homeCamera = initialCamera(options.camera);\n let cameraKey = JSON.stringify(options.camera ?? {});\n let camera = copyCamera(homeCamera);\n let tween: {\n from: Chart3DCameraState;\n to: Chart3DCameraState;\n start: number;\n } | null = null;\n\n let frameId = 0;\n let dataDirty = true;\n let lastFrame: CameraFrame | null = null;\n let lastLayout: ReturnType<typeof stageLayout> | null = null;\n let overlay: OverlayStyle = overlayStyle(theme, isDark(theme));\n\n let hoverHit: PickHit | null = null;\n let hoverEvt: Chart3DHoverEvent | null = null;\n let pendingHover: { x: number; y: number } | null = null;\n let lastPointer: { x: number; y: number } | null = null;\n let pointerInside = false;\n let visible = true;\n let lastRotate = 0;\n\n const reducedMotion =\n typeof win?.matchMedia === \"function\"\n ? win.matchMedia(\"(prefers-reduced-motion: reduce)\")\n : null;\n\n // ------------------------------------------------------------ options\n\n const interaction = (): Required<Chart3DInteractionOptions> | null => {\n const o = options.interaction;\n if (o === false) return null;\n const c = typeof o === \"object\" ? o : {};\n return {\n rotate: c.rotate ?? true,\n zoom: c.zoom ?? true,\n wheel: c.wheel ?? \"modifier\",\n pan: c.pan ?? true,\n keyboard: c.keyboard ?? true,\n };\n };\n\n const rotateSpeed = () => {\n const a = options.autoRotate;\n if (a === true) return ROTATE_SPEED;\n return typeof a === \"number\" && Number.isFinite(a) ? a : 0;\n };\n\n const showsColorBar = () => {\n const o = options.colorBar;\n if (o === false) return false;\n return !!model.colorDomain;\n };\n\n const effectiveOptions = (): Chart3DOptions => ({\n ...options,\n series: options.series.map((s, i) => {\n const id = s.id ?? String(i);\n return toggled.has(id) ? { ...s, hidden: !s.hidden } : s;\n }),\n });\n\n const resolveColor = (value: string): Rgba =>\n theme.resolve\n ? theme.resolve(value, [0.5, 0.5, 0.5, 1])\n : (parseColor(value) ?? [0.5, 0.5, 0.5, 1]);\n\n const refreshColors = () => {\n const key = `${JSON.stringify(options.colorScale ?? \"viridis\")}|${themeVersion}`;\n if (key !== lutKey || !lut) {\n lutKey = key;\n lut = colorLut(\n colorStops(options.colorScale, (c, f) =>\n theme.resolve ? theme.resolve(c, f) : (parseColor(c) ?? f),\n ),\n );\n lutId++;\n }\n const palette = theme.palette.length ? theme.palette : [theme.primary];\n colors = {\n series: model.series.map((m, i) =>\n m.color\n ? resolveColor(m.color)\n : (palette[i % palette.length] ?? theme.primary),\n ),\n resolve: resolveColor,\n lut,\n wire: [theme.text[0], theme.text[1], theme.text[2], 0.38],\n };\n };\n\n const rebuild = () => {\n model = buildModel(effectiveOptions());\n refreshColors();\n geometryDirty = true;\n overlay = overlayStyle(theme, isDark(theme));\n renderLegend();\n updateAccessibility();\n invalidate(true);\n // the hovered item may have moved (live data): pick it again after the frame\n if (hoverHit && lastPointer) scheduleHover(lastPointer.x, lastPointer.y);\n };\n\n // ------------------------------------------------------------- legend\n\n let legendKey = \"\";\n const renderLegend = () => {\n const o = options.legend;\n const named = model.series.filter((s) => s.name).length;\n const show = o === undefined ? named > 1 : !!o;\n const config = typeof o === \"object\" ? o : {};\n const toggle = config.toggle ?? true;\n const bottom = config.position === \"bottom\";\n let key = `${show}|${bottom}|${toggle}`;\n if (show) {\n model.series.forEach((s, i) => {\n key += `\\n${s.id}\\u0001${s.name}\\u0001${toCss(colors.series[i] ?? theme.primary)}\\u0001${s.hidden}`;\n });\n }\n if (key === legendKey) return;\n legendKey = key;\n const focused = [...dom.legend.children].indexOf(\n doc.activeElement as Element,\n );\n dom.legend.replaceChildren();\n dom.legend.style.display = show ? \"flex\" : \"none\";\n if (!show) return;\n dom.legend.style.order = bottom ? \"1\" : \"0\";\n dom.legend.style.padding = bottom ? \"8px 4px 0\" : \"0 4px 8px\";\n model.series.forEach((s, i) => {\n if (!s.name) return;\n const item = doc.createElement(toggle ? \"button\" : \"span\");\n if (item instanceof HTMLButtonElement) {\n item.type = \"button\";\n item.setAttribute(\"aria-pressed\", String(!s.hidden));\n item.addEventListener(\"click\", () => {\n if (toggled.has(s.id)) toggled.delete(s.id);\n else toggled.add(s.id);\n const { labels } = model.locale;\n dom.live.textContent = fill(s.hidden ? labels.shown : labels.hidden, {\n name: s.name,\n });\n rebuild();\n });\n }\n style(item, {\n display: \"inline-flex\",\n alignItems: \"center\",\n gap: \"6px\",\n padding: \"2px 4px\",\n margin: \"0\",\n border: \"0\",\n borderRadius: \"4px\",\n background: \"none\",\n font: \"inherit\",\n color: \"var(--text-secondary-color, #6b7280)\",\n cursor: toggle ? \"pointer\" : \"default\",\n opacity: s.hidden ? \"0.45\" : \"1\",\n textDecoration: s.hidden ? \"line-through\" : \"none\",\n });\n item.append(\n swatch(\n doc,\n toCss(colors.series[i] ?? theme.primary),\n s.type !== \"bar\" && s.type !== \"surface\",\n ),\n doc.createTextNode(s.name),\n );\n dom.legend.appendChild(item);\n });\n if (focused >= 0)\n (dom.legend.children[focused] as HTMLElement | undefined)?.focus();\n };\n\n // ------------------------------------------------------ accessibility\n\n const updateAccessibility = () => {\n const { labels, count } = model.locale;\n const names = model.series\n .map((s) => s.name)\n .filter(Boolean)\n .join(labels.listSeparator);\n stage.setAttribute(\"aria-roledescription\", labels.chart);\n stage.setAttribute(\n \"aria-label\",\n options.ariaLabel ??\n (names ? fill(labels.chartNamed, { names }) : labels.chart),\n );\n const keyboard = interaction()?.keyboard;\n if (keyboard) stage.tabIndex = 0;\n else stage.removeAttribute(\"tabindex\");\n stage.style.cursor = interaction()?.rotate ? \"grab\" : \"default\";\n const lines: string[] = [];\n lines.push(fill(labels.seriesCount, { count: count(model.series.length) }));\n for (const m of model.series) {\n const name = m.name || fill(labels.series, { n: m.index + 1 });\n const size =\n m.type === \"surface\"\n ? fill(labels.grid, {\n rows: count(m.grid.rows),\n cols: count(m.grid.cols),\n })\n : m.type === \"bar\"\n ? fill(labels.bars, { count: count(m.bars.count) })\n : fill(m.type === \"line\" ? labels.vertices : labels.points, {\n count: count(m.cols.count),\n });\n lines.push(\n fill(m.hidden ? labels.seriesSummaryHidden : labels.seriesSummary, {\n name,\n type: labels[m.type],\n size,\n }),\n );\n }\n for (const key of [\"x\", \"y\", \"z\"] as const) {\n const axis = model[key];\n const range = axis.categories\n ? axis.categories.join(labels.listSeparator)\n : fill(labels.range, {\n min: axis.format(axis.domain[0]),\n max: axis.format(axis.domain[1]),\n });\n lines.push(\n fill(axis.title ? labels.axisTitled : labels.axis, {\n axis: key.toUpperCase(),\n title: axis.title,\n range,\n }),\n );\n }\n dom.summary.textContent = lines.join(\" \");\n };\n\n // -------------------------------------------------------------- frame\n\n function invalidate(data = true) {\n if (data) dataDirty = true;\n if (destroyed || frameId || !win) return;\n frameId = win.requestAnimationFrame(frame);\n }\n\n const rotating = () =>\n rotateSpeed() !== 0 &&\n visible &&\n !pointerInside &&\n !drag &&\n !tween &&\n !reducedMotion?.matches &&\n !(doc.visibilityState === \"hidden\");\n\n const lightDirection = (f: CameraFrame): Vec3 => {\n // a headlight from the upper left, slightly raised towards the sky\n const v: Vec3 = [0, 0, 0];\n for (let i = 0; i < 3; i++) {\n v[i] = -f.right[i]! * 0.35 + f.up[i]! * 0.55 - f.forward[i]! * 0.7;\n }\n v[2] += 0.35;\n return normalize(v);\n };\n\n function frame(time: number) {\n frameId = 0;\n if (destroyed) return;\n const width = stage.clientWidth;\n const height = stage.clientHeight;\n if (width <= 0 || height <= 0) return;\n const dpr = win?.devicePixelRatio || 1;\n // camera animations\n if (tween) {\n const t = Math.min(1, (time - tween.start) / TWEEN_MS);\n const eased = 1 - Math.pow(1 - t, 3);\n camera = lerpCamera(tween.from, tween.to, eased);\n if (t >= 1) {\n camera = copyCamera(tween.to);\n tween = null;\n emit(\"camera\", copyCamera(camera));\n }\n dataDirty = true;\n } else if (rotating()) {\n const dt = lastRotate ? Math.min(0.1, (time - lastRotate) / 1000) : 0;\n if (dt > 0) {\n camera = clampCamera({\n ...camera,\n azimuth: camera.azimuth - rotateSpeed() * dt,\n });\n dataDirty = true;\n }\n lastRotate = time;\n } else {\n lastRotate = 0;\n }\n\n sizeCanvas(dom.background, width, height, dpr);\n sizeCanvas(dom.foreground, width, height, dpr);\n const layout = stageLayout(width, height, showsColorBar());\n const fov = options.camera?.fov ?? 32;\n const half: Vec3 = [model.x.half, model.y.half, model.z.half];\n const f = cameraFrame(camera, half, width, height, layout.fit, fov);\n lastFrame = f;\n lastLayout = layout;\n\n if (dataDirty) {\n dataDirty = false;\n const bg = dom.background.getContext(\"2d\");\n if (bg) {\n bg.setTransform(dpr, 0, 0, dpr, 0, 0);\n bg.clearRect(0, 0, width, height);\n if (options.box !== false) drawWalls(bg, f, model, overlay);\n }\n if (renderer) {\n if (geometryDirty) {\n geometry = buildGeometry(\n model,\n colors,\n renderer.kind === \"canvas2d\" ? CPU_BUDGET : GPU_BUDGET,\n lutId,\n );\n geometryDirty = false;\n picker.reset();\n }\n const w = Math.max(1, Math.round(width * dpr));\n const h = Math.max(1, Math.round(height * dpr));\n if (renderer.canvas.width !== w || renderer.canvas.height !== h)\n renderer.resize(w, h);\n renderer.canvas.style.width = `${width}px`;\n renderer.canvas.style.height = `${height}px`;\n const l = options.lighting ?? {};\n const frame3d: Frame3D = {\n viewProj: f.viewProj,\n eye: f.eye,\n light: lightDirection(f),\n orthographic: f.orthographic,\n distance: f.distance,\n radius: f.radius,\n width: w,\n height: h,\n dpr,\n lighting: [\n l.ambient ?? DEFAULT_LIGHTING.ambient,\n l.diffuse ?? DEFAULT_LIGHTING.diffuse,\n l.specular ?? DEFAULT_LIGHTING.specular,\n l.shininess ?? DEFAULT_LIGHTING.shininess,\n ],\n fog: theme.background,\n };\n renderer.render(\n renderer.kind === \"canvas2d\"\n ? geometry.items\n : sortTransparent(geometry.items, frame3d),\n frame3d,\n );\n }\n }\n drawForeground(f, layout, width, height, dpr);\n if (tween || rotating()) invalidate(true);\n }\n\n const drawForeground = (\n f: CameraFrame,\n layout: ReturnType<typeof stageLayout>,\n width: number,\n height: number,\n dpr: number,\n ) => {\n const fg = dom.foreground.getContext(\"2d\");\n if (!fg) return;\n fg.setTransform(dpr, 0, 0, dpr, 0, 0);\n fg.clearRect(0, 0, width, height);\n if (options.box !== false) {\n drawAxes(fg, f, model, overlay, {\n left: 4,\n top: 4,\n right: layout.bar ? layout.bar.x - 10 : width - 4,\n bottom: height - 4,\n });\n }\n if (layout.bar && model.colorDomain) {\n const o = typeof options.colorBar === \"object\" ? options.colorBar : {};\n drawColorBar(\n fg,\n layout.bar,\n lut,\n model.colorDomain,\n o.format ?? colorBarFormat(),\n o.title ?? (model.colorFromZ ? model.z.title : \"\"),\n overlay,\n width,\n );\n }\n if (hoverHit && hoverEvt) {\n const shape: HighlightShape | null = highlightShape(\n geometry.targets,\n hoverHit,\n hoverEvt.color,\n );\n if (shape) drawHighlight(fg, f, model, shape, overlay);\n }\n };\n\n const colorBarFormat = () => {\n const d = model.colorDomain;\n const { locale } = model;\n if (!d) return locale.value;\n if (model.colorFromZ && options.zAxis?.format) return options.zAxis.format;\n const step = tickStep(d[0], d[1], 5);\n return step > 0\n ? locale.ticks(step, Math.max(Math.abs(d[0]), Math.abs(d[1])))\n : locale.value;\n };\n\n // -------------------------------------------------------------- hover\n\n const tooltipEnabled = () => options.tooltip !== false;\n\n const stageOffset = () => ({ x: stage.offsetLeft, y: stage.offsetTop });\n\n const setHover = (hit: PickHit | null) => {\n const event =\n hit && !geometryDirty\n ? hoverEvent(model, geometry.targets, hit, colors, stageOffset())\n : null;\n const changed =\n (event === null) !== (hoverEvt === null) ||\n (!!event &&\n !!hoverEvt &&\n (event.seriesIndex !== hoverEvt.seriesIndex ||\n event.index !== hoverEvt.index ||\n event.type !== hoverEvt.type));\n hoverHit = event ? hit : null;\n hoverEvt = event;\n renderTooltip();\n if (lastFrame && lastLayout) {\n const width = stage.clientWidth;\n const height = stage.clientHeight;\n if (width > 0 && height > 0)\n drawForeground(\n lastFrame,\n lastLayout,\n width,\n height,\n win?.devicePixelRatio || 1,\n );\n }\n if (changed) emit(\"hover\", event);\n };\n\n const renderTooltip = () => {\n const tip = dom.tooltip;\n if (!hoverEvt || !hoverHit || !tooltipEnabled()) {\n tip.style.display = \"none\";\n return;\n }\n const custom =\n typeof options.tooltip === \"object\" ? options.tooltip.render : undefined;\n const content = custom ? custom(hoverEvt) : defaultTooltip(hoverEvt);\n if (content === null) {\n tip.style.display = \"none\";\n return;\n }\n if (typeof content === \"string\") tip.textContent = content;\n else tip.replaceChildren(content);\n tip.style.display = \"block\";\n const width = stage.clientWidth;\n const height = stage.clientHeight;\n const tw = tip.offsetWidth;\n const th = tip.offsetHeight;\n let x = hoverHit.x + 16;\n if (x + tw > width - 4) x = hoverHit.x - 16 - tw;\n x = Math.max(4, x);\n const y = Math.max(4, Math.min(height - th - 4, hoverHit.y - th / 2));\n tip.style.transform = `translate(${Math.round(x)}px, ${Math.round(y)}px)`;\n };\n\n const defaultTooltip = (event: Chart3DHoverEvent): Node => {\n const fragment = doc.createDocumentFragment();\n const header = style(doc.createElement(\"div\"), {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"6px\",\n fontWeight: \"600\",\n marginBottom: \"4px\",\n color: \"var(--text-color, #1f2937)\",\n });\n header.append(\n swatch(doc, event.color, event.type !== \"bar\"),\n doc.createTextNode(\n event.seriesName ||\n fill(model.locale.labels.series, { n: event.seriesIndex + 1 }),\n ),\n );\n fragment.append(header);\n const valueName =\n typeof options.colorBar === \"object\" && options.colorBar.title\n ? options.colorBar.title\n : \"\";\n for (const row of tooltipRows(model, event, valueName)) {\n const el = style(doc.createElement(\"div\"), {\n display: \"flex\",\n alignItems: \"center\",\n gap: \"8px\",\n });\n const n = style(doc.createElement(\"span\"), {\n flex: \"1 1 auto\",\n color: \"var(--text-secondary-color, #6b7280)\",\n });\n n.textContent = row.name;\n const v = style(doc.createElement(\"span\"), {\n fontWeight: row.name ? \"600\" : \"400\",\n fontVariantNumeric: \"tabular-nums\",\n marginLeft: row.name ? \"12px\" : \"0\",\n });\n v.textContent = row.value;\n if (row.name) el.append(n, v);\n else el.append(v);\n fragment.append(el);\n }\n return fragment;\n };\n\n const pickAt = (x: number, y: number): PickHit | null => {\n if (!lastFrame || geometryDirty || !renderer) return null;\n return picker.pick(geometry.targets, lastFrame, x, y);\n };\n\n let hoverFrame = 0;\n const scheduleHover = (x: number, y: number) => {\n pendingHover = { x, y };\n if (hoverFrame || !win) return;\n hoverFrame = win.requestAnimationFrame(() => {\n hoverFrame = 0;\n const p = pendingHover;\n pendingHover = null;\n if (!p || destroyed || drag) return;\n setHover(pickAt(p.x, p.y));\n });\n };\n\n // -------------------------------------------------------- interaction\n\n interface DragState {\n mode: \"rotate\" | \"pan\" | \"pinch\";\n pointers: Map<number, { x: number; y: number }>;\n start: Chart3DCameraState;\n origin: { x: number; y: number };\n distance: number;\n moved: boolean;\n }\n let drag: DragState | null = null;\n const pointers = new Map<number, { x: number; y: number }>();\n\n const local = (e: { clientX: number; clientY: number }) => {\n const r = stage.getBoundingClientRect();\n return { x: e.clientX - r.left, y: e.clientY - r.top };\n };\n\n const fitHeight = () =>\n lastLayout?.fit.height ?? Math.max(1, stage.clientHeight);\n\n const setCameraInternal = (next: Chart3DCameraState, notify = true) => {\n const clamped = clampCamera(next);\n if (sameCamera(clamped, camera)) return;\n camera = clamped;\n tween = null;\n if (hoverHit) setHover(null);\n invalidate(true);\n if (notify) emit(\"camera\", copyCamera(camera));\n };\n\n const animateTo = (target: Chart3DCameraState) => {\n if (reducedMotion?.matches || !win) {\n setCameraInternal(target);\n return;\n }\n tween = {\n from: copyCamera(camera),\n to: copyCamera(target),\n start: win.performance.now(),\n };\n invalidate(true);\n };\n\n const pinchInfo = () => {\n const pts = [...pointers.values()];\n const a = pts[0] ?? { x: 0, y: 0 };\n const b = pts[1] ?? a;\n return {\n distance: Math.hypot(a.x - b.x, a.y - b.y),\n center: { x: (a.x + b.x) / 2, y: (a.y + b.y) / 2 },\n };\n };\n\n const startDrag = (\n mode: DragState[\"mode\"],\n origin: { x: number; y: number },\n ) => {\n drag = {\n mode,\n pointers,\n start: copyCamera(camera),\n origin,\n distance: mode === \"pinch\" ? pinchInfo().distance : 0,\n moved: false,\n };\n tween = null;\n if (hoverHit) setHover(null);\n stage.style.cursor = mode === \"rotate\" ? \"grabbing\" : \"move\";\n };\n\n const onPointerDown = (e: PointerEvent) => {\n const ia = interaction();\n if (!ia) return;\n const p = local(e);\n pointers.set(e.pointerId, p);\n stage.setPointerCapture?.(e.pointerId);\n if (pointers.size === 2 && (ia.zoom || ia.pan)) {\n startDrag(\"pinch\", pinchInfo().center);\n return;\n }\n if (pointers.size > 1) return;\n const pan = ia.pan && (e.button === 2 || e.shiftKey || e.button === 1);\n if (pan) startDrag(\"pan\", p);\n else if (ia.rotate && e.button === 0) startDrag(\"rotate\", p);\n else drag = null;\n if (pan || e.button === 1) e.preventDefault();\n };\n\n const onPointerMove = (e: PointerEvent) => {\n const p = local(e);\n lastPointer = p;\n if (pointers.has(e.pointerId)) pointers.set(e.pointerId, p);\n if (!drag) {\n if (e.pointerType === \"touch\" && pointers.size) return;\n if (\n tooltipEnabled() ||\n listeners.get(\"hover\")?.size ||\n listeners.get(\"click\")?.size\n )\n scheduleHover(p.x, p.y);\n return;\n }\n const ia = interaction();\n if (!ia) return;\n if (drag.mode === \"pinch\") {\n const { distance, center } = pinchInfo();\n const scale = drag.distance > 0 ? distance / drag.distance : 1;\n const h = fitHeight();\n setCameraInternal({\n ...drag.start,\n zoom: ia.zoom ? drag.start.zoom * scale : drag.start.zoom,\n pan: ia.pan\n ? [\n drag.start.pan[0] + (center.x - drag.origin.x) / h,\n drag.start.pan[1] + (center.y - drag.origin.y) / h,\n ]\n : drag.start.pan,\n });\n drag.moved = true;\n return;\n }\n const dx = p.x - drag.origin.x;\n const dy = p.y - drag.origin.y;\n if (!drag.moved && Math.hypot(dx, dy) < 3) return;\n drag.moved = true;\n if (drag.mode === \"pan\") {\n const h = fitHeight();\n setCameraInternal({\n ...drag.start,\n pan: [drag.start.pan[0] + dx / h, drag.start.pan[1] + dy / h],\n });\n } else {\n setCameraInternal({\n ...drag.start,\n azimuth: drag.start.azimuth - dx * DRAG_DEGREES,\n elevation: drag.start.elevation + dy * DRAG_DEGREES,\n });\n }\n };\n\n const onPointerUp = (e: PointerEvent) => {\n const wasDrag = drag;\n pointers.delete(e.pointerId);\n if (stage.hasPointerCapture?.(e.pointerId))\n stage.releasePointerCapture(e.pointerId);\n if (pointers.size === 1 && wasDrag?.mode === \"pinch\") {\n // continue with the remaining finger as a rotation\n const rest = [...pointers.values()][0]!;\n startDrag(\"rotate\", rest);\n return;\n }\n if (pointers.size) return;\n drag = null;\n stage.style.cursor = interaction()?.rotate ? \"grab\" : \"default\";\n if (wasDrag && !wasDrag.moved && e.button === 0) {\n const p = local(e);\n const hit = pickAt(p.x, p.y);\n setHover(hit);\n if (hoverEvt) emit(\"click\", hoverEvt);\n }\n if (rotating()) invalidate(false);\n };\n\n const onPointerCancel = (e: PointerEvent) => {\n pointers.delete(e.pointerId);\n if (!pointers.size) {\n drag = null;\n stage.style.cursor = interaction()?.rotate ? \"grab\" : \"default\";\n }\n };\n\n const onPointerEnter = (e: PointerEvent) => {\n if (e.pointerType !== \"touch\") pointerInside = true;\n };\n\n const onPointerLeave = () => {\n pointerInside = false;\n pendingHover = null;\n lastPointer = null;\n if (!drag && hoverHit) setHover(null);\n if (rotating()) invalidate(false);\n };\n\n const onWheel = (e: WheelEvent) => {\n const ia = interaction();\n if (!ia?.zoom) return;\n const pinch = e.ctrlKey && !e.metaKey;\n if (ia.wheel === \"modifier\" && !e.ctrlKey && !e.metaKey) return;\n e.preventDefault();\n const factor = wheelFactor(e.deltaY, e.deltaMode, pinch);\n const zoom = camera.zoom / factor;\n // keep the point under the pointer in place\n const layout = lastLayout;\n if (!layout) {\n setCameraInternal({ ...camera, zoom });\n return;\n }\n const clamped = clampCamera({ ...camera, zoom });\n const ratio = clamped.zoom / camera.zoom;\n const h = layout.fit.height;\n const cx = layout.fit.x + layout.fit.width / 2 + camera.pan[0] * h;\n const cy = layout.fit.y + layout.fit.height / 2 + camera.pan[1] * h;\n const m = local(e);\n const nx = m.x - ratio * (m.x - cx);\n const ny = m.y - ratio * (m.y - cy);\n setCameraInternal({\n ...clamped,\n pan: [camera.pan[0] + (nx - cx) / h, camera.pan[1] + (ny - cy) / h],\n });\n if (hoverHit) setHover(null);\n };\n\n const onDoubleClick = (e: MouseEvent) => {\n if (!interaction()) return;\n e.preventDefault();\n animateTo(homeCamera);\n };\n\n const onContextMenu = (e: MouseEvent) => {\n if (interaction()?.pan) e.preventDefault();\n };\n\n // a focus ring for keyboard users only\n const onFocus = () => {\n let keyboard: boolean;\n try {\n keyboard = stage.matches(\":focus-visible\");\n } catch {\n keyboard = true;\n }\n if (keyboard)\n stage.style.boxShadow = \"0 0 0 2px var(--primary-color, #4f46e5)\";\n };\n\n const onBlur = () => {\n stage.style.boxShadow = \"\";\n };\n\n const onKeyDown = (e: KeyboardEvent) => {\n const ia = interaction();\n if (!ia?.keyboard) return;\n let next: Chart3DCameraState | null = null;\n const step = e.shiftKey ? KEY_DEGREES * 3 : KEY_DEGREES;\n switch (e.key) {\n case \"ArrowLeft\":\n if (ia.rotate) next = { ...camera, azimuth: camera.azimuth + step };\n break;\n case \"ArrowRight\":\n if (ia.rotate) next = { ...camera, azimuth: camera.azimuth - step };\n break;\n case \"ArrowUp\":\n if (ia.rotate) next = { ...camera, elevation: camera.elevation + step };\n break;\n case \"ArrowDown\":\n if (ia.rotate) next = { ...camera, elevation: camera.elevation - step };\n break;\n case \"+\":\n case \"=\":\n if (ia.zoom) next = { ...camera, zoom: camera.zoom * 1.2 };\n break;\n case \"-\":\n case \"_\":\n if (ia.zoom) next = { ...camera, zoom: camera.zoom / 1.2 };\n break;\n case \"0\":\n case \"Home\":\n e.preventDefault();\n animateTo(homeCamera);\n return;\n case \"Escape\":\n lastPointer = null;\n if (hoverHit) {\n e.preventDefault();\n setHover(null);\n }\n return;\n default:\n return;\n }\n if (!next) return;\n e.preventDefault();\n setCameraInternal(next);\n };\n\n stage.addEventListener(\"pointerdown\", onPointerDown);\n stage.addEventListener(\"pointermove\", onPointerMove);\n stage.addEventListener(\"pointerup\", onPointerUp);\n stage.addEventListener(\"pointercancel\", onPointerCancel);\n stage.addEventListener(\"pointerenter\", onPointerEnter);\n stage.addEventListener(\"pointerleave\", onPointerLeave);\n stage.addEventListener(\"wheel\", onWheel, { passive: false });\n stage.addEventListener(\"dblclick\", onDoubleClick);\n stage.addEventListener(\"contextmenu\", onContextMenu);\n stage.addEventListener(\"keydown\", onKeyDown);\n stage.addEventListener(\"focus\", onFocus);\n stage.addEventListener(\"blur\", onBlur);\n\n // ----------------------------------------------------------- watchers\n\n const resizeObserver =\n typeof ResizeObserver === \"function\"\n ? new ResizeObserver(() => {\n picker.reset();\n invalidate(true);\n })\n : null;\n resizeObserver?.observe(stage);\n\n const intersection =\n typeof IntersectionObserver === \"function\"\n ? new IntersectionObserver((entries) => {\n const entry = entries[entries.length - 1];\n if (!entry) return;\n const was = visible;\n visible = entry.isIntersecting;\n if (visible && !was) invalidate(true);\n })\n : null;\n intersection?.observe(stage);\n\n const onVisibility = () => {\n if (doc.visibilityState !== \"hidden\") invalidate(false);\n };\n doc.addEventListener(\"visibilitychange\", onVisibility);\n\n // device pixel ratio changes (zoom, moving to another screen)\n let dprQuery: MediaQueryList | null = null;\n const onDprChange = () => {\n watchDpr();\n invalidate(true);\n };\n const watchDpr = () => {\n dprQuery?.removeEventListener?.(\"change\", onDprChange);\n dprQuery =\n typeof win?.matchMedia === \"function\"\n ? win.matchMedia(`(resolution: ${win.devicePixelRatio || 1}dppx)`)\n : null;\n dprQuery?.addEventListener?.(\"change\", onDprChange);\n };\n watchDpr();\n\n const onMotionChange = () => invalidate(false);\n reducedMotion?.addEventListener?.(\"change\", onMotionChange);\n\n const refreshTheme = () => {\n if (destroyed) return;\n const next = readTheme(dom.root, options.palette);\n if (themeColorsChanged(theme, next)) themeVersion++;\n theme = next;\n rebuild();\n };\n const unwatchTheme = watchTheme(refreshTheme);\n\n // texts follow the page language when no `locale` is set\n const langObserver =\n typeof win?.MutationObserver === \"function\"\n ? new win.MutationObserver(() => {\n if (\n !destroyed &&\n resolveLocale(options.locale) !== model.locale.locale\n )\n rebuild();\n })\n : null;\n langObserver?.observe(doc.documentElement, {\n attributes: true,\n attributeFilter: [\"lang\"],\n });\n\n // ----------------------------------------------------------- renderer\n\n const initRenderer = async (exclude: Set<ChartRendererKind> = new Set()) => {\n const token = ++rendererToken;\n const next = await createRenderer3D(\n options.renderer ?? \"auto\",\n () => {\n const canvas = layerCanvas(doc);\n canvas.className = \"minerva-chart-data\";\n return canvas;\n },\n (kind) => {\n if (destroyed || renderer?.kind !== kind) return;\n renderer.destroy();\n renderer.canvas.remove();\n renderer = null;\n void initRenderer(new Set([...exclude, kind]));\n },\n exclude,\n );\n if (destroyed || token !== rendererToken) {\n next?.destroy();\n return;\n }\n if (renderer) {\n renderer.destroy();\n renderer.canvas.remove();\n }\n renderer = next;\n geometryDirty = true;\n if (next) {\n dom.root.dataset.renderer = next.kind;\n stage.insertBefore(next.canvas, dom.foreground);\n emit(\"renderer\", next.kind);\n } else {\n delete dom.root.dataset.renderer;\n }\n resolveReady(next?.kind ?? null);\n invalidate(true);\n };\n\n refreshColors();\n rebuild();\n void initRenderer();\n\n // ---------------------------------------------------------------- api\n\n const instance: Chart3DInstance = {\n setOptions(next) {\n if (destroyed) return;\n const previous = options;\n options = next;\n if ((next.palette ?? []).join() !== (previous.palette ?? []).join()) {\n theme = readTheme(dom.root, next.palette);\n themeVersion++;\n }\n const key = JSON.stringify(next.camera ?? {});\n if (key !== cameraKey) {\n cameraKey = key;\n homeCamera = initialCamera(next.camera);\n setCameraInternal({ ...homeCamera });\n }\n if ((next.renderer ?? \"auto\") !== (previous.renderer ?? \"auto\"))\n void initRenderer();\n rebuild();\n },\n resize() {\n picker.reset();\n invalidate(true);\n },\n resetCamera() {\n setCameraInternal(copyCamera(homeCamera));\n },\n getCamera: () => copyCamera(camera),\n setCamera(next) {\n if (destroyed) return;\n setCameraInternal({\n azimuth: next.azimuth ?? camera.azimuth,\n elevation: next.elevation ?? camera.elevation,\n zoom: next.zoom ?? camera.zoom,\n pan: next.pan ? [next.pan[0], next.pan[1]] : camera.pan,\n projection: next.projection ?? camera.projection,\n });\n },\n getRenderer: () => renderer?.kind ?? null,\n ready,\n refreshTheme,\n on(type, listener) {\n let set = listeners.get(type);\n if (!set) {\n set = new Set();\n listeners.set(type, set);\n }\n set.add(listener as (e: never) => void);\n return () => {\n set.delete(listener as (e: never) => void);\n };\n },\n destroy() {\n if (destroyed) return;\n destroyed = true;\n rendererToken++;\n if (frameId) win?.cancelAnimationFrame(frameId);\n if (hoverFrame) win?.cancelAnimationFrame(hoverFrame);\n frameId = 0;\n hoverFrame = 0;\n resizeObserver?.disconnect();\n intersection?.disconnect();\n doc.removeEventListener(\"visibilitychange\", onVisibility);\n dprQuery?.removeEventListener?.(\"change\", onDprChange);\n reducedMotion?.removeEventListener?.(\"change\", onMotionChange);\n unwatchTheme();\n langObserver?.disconnect();\n stage.removeEventListener(\"pointerdown\", onPointerDown);\n stage.removeEventListener(\"pointermove\", onPointerMove);\n stage.removeEventListener(\"pointerup\", onPointerUp);\n stage.removeEventListener(\"pointercancel\", onPointerCancel);\n stage.removeEventListener(\"pointerenter\", onPointerEnter);\n stage.removeEventListener(\"pointerleave\", onPointerLeave);\n stage.removeEventListener(\"wheel\", onWheel);\n stage.removeEventListener(\"dblclick\", onDoubleClick);\n stage.removeEventListener(\"contextmenu\", onContextMenu);\n stage.removeEventListener(\"keydown\", onKeyDown);\n stage.removeEventListener(\"focus\", onFocus);\n stage.removeEventListener(\"blur\", onBlur);\n renderer?.destroy();\n renderer = null;\n listeners.clear();\n resolveReady(null);\n dom.root.remove();\n },\n };\n return instance;\n};\n\nfunction isDark(theme: ChartTheme): boolean {\n return luminance(theme.background) < 0.4 || luminance(theme.text) > 0.6;\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ const e=require("../color.cjs");var t=e=>[parseInt(e.slice(1,3),16)/255,parseInt(e.slice(3,5),16)/255,parseInt(e.slice(5,7),16)/255,1],n={viridis:[`#440154`,`#482878`,`#3e4989`,`#31688e`,`#26828e`,`#1f9e89`,`#35b779`,`#6ece58`,`#b5de2b`,`#fde725`],plasma:[`#0d0887`,`#46039f`,`#7201a8`,`#9c179e`,`#bd3786`,`#d8576b`,`#ed7953`,`#fb9f3a`,`#fdca26`,`#f0f921`],inferno:[`#000004`,`#1b0c41`,`#4a0c6b`,`#781c6d`,`#a52c60`,`#cf4446`,`#ed6925`,`#fb9b06`,`#f7d13d`,`#fcffa4`],magma:[`#000004`,`#180f3d`,`#440f76`,`#721f81`,`#9e2f7f`,`#cd4071`,`#f1605d`,`#fd9668`,`#feca8d`,`#fcfdbf`],cividis:[`#00224e`,`#123570`,`#3b496c`,`#575d6d`,`#707173`,`#8a8678`,`#a59c74`,`#c3b369`,`#e1cc55`,`#fee838`],turbo:[`#30123b`,`#4145ab`,`#4675ed`,`#39a2fc`,`#1bcfd4`,`#24eca6`,`#61fc6c`,`#a4fc3b`,`#d1e834`,`#f3c63a`,`#fe9b2d`,`#f36315`,`#d93806`,`#b11901`,`#7a0403`],spectral:[`#5e4fa2`,`#3288bd`,`#66c2a5`,`#abdda4`,`#e6f598`,`#ffffbf`,`#fee08b`,`#fdae61`,`#f46d43`,`#d53e4f`,`#9e0142`],coolwarm:[`#3b4cc0`,`#6788ee`,`#9abbff`,`#c9d7f0`,`#edd1c2`,`#f7a889`,`#e26952`,`#b40426`],terrain:[`#333399`,`#1a66cc`,`#0099ff`,`#00cc66`,`#66dd77`,`#ccee88`,`#ffff99`,`#ccbb7a`,`#997a5c`,`#a08c86`,`#d0c5c2`,`#ffffff`],blues:[`#f7fbff`,`#deebf7`,`#c6dbef`,`#9ecae1`,`#6baed6`,`#4292c6`,`#2171b5`,`#08519c`,`#08306b`]};Object.keys(n);var r=(r,i)=>{if(typeof r==`string`)return(n[r]??n.viridis).map(t);if(r&&r.length>0){let t=[.5,.5,.5,1],n=r.map(n=>i?i(n,t):e.parseColor(n)??t);return n.length===1?[n[0],n[0]]:n}return n.viridis.map(t)},i=t=>{let n=new Uint32Array(256),r=[];for(let i=0;i<256;i++){let a=e.rampColor(t,i/255);r.push(a),n[i]=e.packColor(a)}return{packed:n,rgba:r,stops:[...t]}},a=(e,t,n)=>{let r=n-t,i=r>0?(e-t)/r:.5,a=Math.round(i*255);return a<0?0:a>255?255:a};exports.colorLut=i,exports.colorStops=r,exports.lutIndex=a;
2
+ //# sourceMappingURL=colormap.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colormap.cjs","names":["parseColor","rampColor","packColor","require_color","hex","value","RAMPS","colorStops","scale","fallback","stops","resolve","c","colorLut","packed","rgba","lutIndex","span","max","min","t","i"],"sources":["../../../../../charts/src/engine/three-d/colormap.ts"],"sourcesContent":["// Color ramps of the 3D charts: built-in maps (matplotlib / d3 stops) and\n// custom CSS color lists, sampled into 256-entry lookup tables.\n\nimport {\n packColor,\n parseColor,\n rampColor,\n type ColorResolver,\n type Rgba,\n} from \"../color\";\nimport type { Chart3DColorMap, Chart3DColorScale } from \"./types\";\n\nconst hex = (value: string): Rgba => [\n parseInt(value.slice(1, 3), 16) / 255,\n parseInt(value.slice(3, 5), 16) / 255,\n parseInt(value.slice(5, 7), 16) / 255,\n 1,\n];\n\nconst RAMPS: Record<Chart3DColorMap, readonly string[]> = {\n viridis: [\n \"#440154\",\n \"#482878\",\n \"#3e4989\",\n \"#31688e\",\n \"#26828e\",\n \"#1f9e89\",\n \"#35b779\",\n \"#6ece58\",\n \"#b5de2b\",\n \"#fde725\",\n ],\n plasma: [\n \"#0d0887\",\n \"#46039f\",\n \"#7201a8\",\n \"#9c179e\",\n \"#bd3786\",\n \"#d8576b\",\n \"#ed7953\",\n \"#fb9f3a\",\n \"#fdca26\",\n \"#f0f921\",\n ],\n inferno: [\n \"#000004\",\n \"#1b0c41\",\n \"#4a0c6b\",\n \"#781c6d\",\n \"#a52c60\",\n \"#cf4446\",\n \"#ed6925\",\n \"#fb9b06\",\n \"#f7d13d\",\n \"#fcffa4\",\n ],\n magma: [\n \"#000004\",\n \"#180f3d\",\n \"#440f76\",\n \"#721f81\",\n \"#9e2f7f\",\n \"#cd4071\",\n \"#f1605d\",\n \"#fd9668\",\n \"#feca8d\",\n \"#fcfdbf\",\n ],\n cividis: [\n \"#00224e\",\n \"#123570\",\n \"#3b496c\",\n \"#575d6d\",\n \"#707173\",\n \"#8a8678\",\n \"#a59c74\",\n \"#c3b369\",\n \"#e1cc55\",\n \"#fee838\",\n ],\n turbo: [\n \"#30123b\",\n \"#4145ab\",\n \"#4675ed\",\n \"#39a2fc\",\n \"#1bcfd4\",\n \"#24eca6\",\n \"#61fc6c\",\n \"#a4fc3b\",\n \"#d1e834\",\n \"#f3c63a\",\n \"#fe9b2d\",\n \"#f36315\",\n \"#d93806\",\n \"#b11901\",\n \"#7a0403\",\n ],\n spectral: [\n \"#5e4fa2\",\n \"#3288bd\",\n \"#66c2a5\",\n \"#abdda4\",\n \"#e6f598\",\n \"#ffffbf\",\n \"#fee08b\",\n \"#fdae61\",\n \"#f46d43\",\n \"#d53e4f\",\n \"#9e0142\",\n ],\n coolwarm: [\n \"#3b4cc0\",\n \"#6788ee\",\n \"#9abbff\",\n \"#c9d7f0\",\n \"#edd1c2\",\n \"#f7a889\",\n \"#e26952\",\n \"#b40426\",\n ],\n terrain: [\n \"#333399\",\n \"#1a66cc\",\n \"#0099ff\",\n \"#00cc66\",\n \"#66dd77\",\n \"#ccee88\",\n \"#ffff99\",\n \"#ccbb7a\",\n \"#997a5c\",\n \"#a08c86\",\n \"#d0c5c2\",\n \"#ffffff\",\n ],\n blues: [\n \"#f7fbff\",\n \"#deebf7\",\n \"#c6dbef\",\n \"#9ecae1\",\n \"#6baed6\",\n \"#4292c6\",\n \"#2171b5\",\n \"#08519c\",\n \"#08306b\",\n ],\n};\n\n/** Names of the built-in ramps */\nexport const COLOR_MAPS = Object.keys(RAMPS) as Chart3DColorMap[];\n\n/** Color stops of a scale; custom colors go through `resolve` (CSS variables included) */\nexport const colorStops = (\n scale: Chart3DColorScale | undefined,\n resolve?: ColorResolver,\n): Rgba[] => {\n if (typeof scale === \"string\") {\n const ramp = RAMPS[scale as Chart3DColorMap] ?? RAMPS.viridis;\n return ramp.map(hex);\n }\n if (scale && scale.length > 0) {\n const fallback: Rgba = [0.5, 0.5, 0.5, 1];\n const stops = scale.map((c) =>\n resolve ? resolve(c, fallback) : (parseColor(c) ?? fallback),\n );\n return stops.length === 1 ? [stops[0], stops[0]] : stops;\n }\n return RAMPS.viridis.map(hex);\n};\n\nexport const LUT_SIZE = 256;\n\n/** A sampled color scale: packed `unorm8x4` colors and their RGBA */\nexport interface ColorLut {\n packed: Uint32Array;\n rgba: Rgba[];\n stops: Rgba[];\n}\n\nexport const colorLut = (stops: readonly Rgba[]): ColorLut => {\n const packed = new Uint32Array(LUT_SIZE);\n const rgba: Rgba[] = [];\n for (let i = 0; i < LUT_SIZE; i++) {\n const c = rampColor(stops, i / (LUT_SIZE - 1));\n rgba.push(c);\n packed[i] = packColor(c);\n }\n return { packed, rgba, stops: [...stops] };\n};\n\n/** Index into the lookup table of `value` within `[min, max]` (clamped) */\nexport const lutIndex = (value: number, min: number, max: number): number => {\n const span = max - min;\n const t = span > 0 ? (value - min) / span : 0.5;\n const i = Math.round(t * (LUT_SIZE - 1));\n return i < 0 ? 0 : i > LUT_SIZE - 1 ? LUT_SIZE - 1 : i;\n};\n"],"mappings":"gCAYA,IAAMI,EAAO,GAAwB,CACnC,SAASC,EAAM,MAAM,EAAG,CAAC,EAAG,EAAE,EAAI,IAClC,SAASA,EAAM,MAAM,EAAG,CAAC,EAAG,EAAE,EAAI,IAClC,SAASA,EAAM,MAAM,EAAG,CAAC,EAAG,EAAE,EAAI,IAClC,CACF,EAEMC,EAAoD,CACxD,QAAS,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,OAAQ,CACN,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,QAAS,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,MAAO,CACL,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,QAAS,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,MAAO,CACL,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,SAAU,CACR,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,SAAU,CACR,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,QAAS,CACP,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,EACA,MAAO,CACL,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,SACF,CACF,EAG0B,OAAO,KAAKA,CAAK,EAG3C,IAAaC,GACX,EACA,IACW,CACX,GAAI,OAAOC,GAAU,SAEnB,OADaF,EAAME,IAA6BF,EAAM,QAAA,CAC1C,IAAIF,CAAG,EAErB,GAAII,GAASA,EAAM,OAAS,EAAG,CAC7B,IAAMC,EAAiB,CAAC,GAAK,GAAK,GAAK,CAAC,EAClCC,EAAQF,EAAM,IAAK,GACvBG,EAAUA,EAAQC,EAAGH,CAAQ,EAAKT,EAAAA,WAAWY,CAAC,GAAKH,CACrD,EACA,OAAOC,EAAM,SAAW,EAAI,CAACA,EAAM,GAAIA,EAAM,EAAE,EAAIA,CACrD,CACA,OAAOJ,EAAM,QAAQ,IAAIF,CAAG,CAC9B,EAWaS,EAAY,GAAqC,CAC5D,IAAMC,EAAS,IAAI,YAAA,GAAoB,EACjCC,EAAe,CAAC,EACtB,IAAK,IAAI,EAAI,EAAG,EAAA,IAAc,IAAK,CACjC,IAAMH,EAAIX,EAAAA,UAAUS,EAAO,EAAK,GAAa,EAC7CK,EAAK,KAAKH,CAAC,EACX,EAAO,GAAKV,EAAAA,UAAUU,CAAC,CACzB,CACA,MAAO,CAAE,SAAQ,OAAM,MAAO,CAAC,GAAGF,CAAK,CAAE,CAC3C,EAGaM,GAAY,EAAe,EAAa,IAAwB,CAC3E,IAAMC,EAAOC,EAAMC,EACbC,EAAIH,EAAO,GAAKZ,EAAQc,GAAOF,EAAO,GACtCI,EAAI,KAAK,MAAMD,EAAK,GAAa,EACvC,OAAOC,EAAI,EAAI,EAAIA,EAAI,IAAe,IAAeA,CACvD"}
@@ -0,0 +1,16 @@
1
+ import { ColorResolver, Rgba } from '../color.cjs';
2
+ import { Chart3DColorMap, Chart3DColorScale } from './types.cjs';
3
+ /** Names of the built-in ramps */
4
+ export declare const COLOR_MAPS: Chart3DColorMap[];
5
+ /** Color stops of a scale; custom colors go through `resolve` (CSS variables included) */
6
+ export declare const colorStops: (scale: Chart3DColorScale | undefined, resolve?: ColorResolver) => Rgba[];
7
+ export declare const LUT_SIZE = 256;
8
+ /** A sampled color scale: packed `unorm8x4` colors and their RGBA */
9
+ export interface ColorLut {
10
+ packed: Uint32Array;
11
+ rgba: Rgba[];
12
+ stops: Rgba[];
13
+ }
14
+ export declare const colorLut: (stops: readonly Rgba[]) => ColorLut;
15
+ /** Index into the lookup table of `value` within `[min, max]` (clamped) */
16
+ export declare const lutIndex: (value: number, min: number, max: number) => number;
@@ -0,0 +1,16 @@
1
+ import { ColorResolver, Rgba } from '../color.js';
2
+ import { Chart3DColorMap, Chart3DColorScale } from './types.js';
3
+ /** Names of the built-in ramps */
4
+ export declare const COLOR_MAPS: Chart3DColorMap[];
5
+ /** Color stops of a scale; custom colors go through `resolve` (CSS variables included) */
6
+ export declare const colorStops: (scale: Chart3DColorScale | undefined, resolve?: ColorResolver) => Rgba[];
7
+ export declare const LUT_SIZE = 256;
8
+ /** A sampled color scale: packed `unorm8x4` colors and their RGBA */
9
+ export interface ColorLut {
10
+ packed: Uint32Array;
11
+ rgba: Rgba[];
12
+ stops: Rgba[];
13
+ }
14
+ export declare const colorLut: (stops: readonly Rgba[]) => ColorLut;
15
+ /** Index into the lookup table of `value` within `[min, max]` (clamped) */
16
+ export declare const lutIndex: (value: number, min: number, max: number) => number;
@@ -0,0 +1,166 @@
1
+ import { packColor as e, parseColor as t, rampColor as n } from "../color.js";
2
+ //#region src/engine/three-d/colormap.ts
3
+ var r = (e) => [
4
+ parseInt(e.slice(1, 3), 16) / 255,
5
+ parseInt(e.slice(3, 5), 16) / 255,
6
+ parseInt(e.slice(5, 7), 16) / 255,
7
+ 1
8
+ ], i = {
9
+ viridis: [
10
+ "#440154",
11
+ "#482878",
12
+ "#3e4989",
13
+ "#31688e",
14
+ "#26828e",
15
+ "#1f9e89",
16
+ "#35b779",
17
+ "#6ece58",
18
+ "#b5de2b",
19
+ "#fde725"
20
+ ],
21
+ plasma: [
22
+ "#0d0887",
23
+ "#46039f",
24
+ "#7201a8",
25
+ "#9c179e",
26
+ "#bd3786",
27
+ "#d8576b",
28
+ "#ed7953",
29
+ "#fb9f3a",
30
+ "#fdca26",
31
+ "#f0f921"
32
+ ],
33
+ inferno: [
34
+ "#000004",
35
+ "#1b0c41",
36
+ "#4a0c6b",
37
+ "#781c6d",
38
+ "#a52c60",
39
+ "#cf4446",
40
+ "#ed6925",
41
+ "#fb9b06",
42
+ "#f7d13d",
43
+ "#fcffa4"
44
+ ],
45
+ magma: [
46
+ "#000004",
47
+ "#180f3d",
48
+ "#440f76",
49
+ "#721f81",
50
+ "#9e2f7f",
51
+ "#cd4071",
52
+ "#f1605d",
53
+ "#fd9668",
54
+ "#feca8d",
55
+ "#fcfdbf"
56
+ ],
57
+ cividis: [
58
+ "#00224e",
59
+ "#123570",
60
+ "#3b496c",
61
+ "#575d6d",
62
+ "#707173",
63
+ "#8a8678",
64
+ "#a59c74",
65
+ "#c3b369",
66
+ "#e1cc55",
67
+ "#fee838"
68
+ ],
69
+ turbo: [
70
+ "#30123b",
71
+ "#4145ab",
72
+ "#4675ed",
73
+ "#39a2fc",
74
+ "#1bcfd4",
75
+ "#24eca6",
76
+ "#61fc6c",
77
+ "#a4fc3b",
78
+ "#d1e834",
79
+ "#f3c63a",
80
+ "#fe9b2d",
81
+ "#f36315",
82
+ "#d93806",
83
+ "#b11901",
84
+ "#7a0403"
85
+ ],
86
+ spectral: [
87
+ "#5e4fa2",
88
+ "#3288bd",
89
+ "#66c2a5",
90
+ "#abdda4",
91
+ "#e6f598",
92
+ "#ffffbf",
93
+ "#fee08b",
94
+ "#fdae61",
95
+ "#f46d43",
96
+ "#d53e4f",
97
+ "#9e0142"
98
+ ],
99
+ coolwarm: [
100
+ "#3b4cc0",
101
+ "#6788ee",
102
+ "#9abbff",
103
+ "#c9d7f0",
104
+ "#edd1c2",
105
+ "#f7a889",
106
+ "#e26952",
107
+ "#b40426"
108
+ ],
109
+ terrain: [
110
+ "#333399",
111
+ "#1a66cc",
112
+ "#0099ff",
113
+ "#00cc66",
114
+ "#66dd77",
115
+ "#ccee88",
116
+ "#ffff99",
117
+ "#ccbb7a",
118
+ "#997a5c",
119
+ "#a08c86",
120
+ "#d0c5c2",
121
+ "#ffffff"
122
+ ],
123
+ blues: [
124
+ "#f7fbff",
125
+ "#deebf7",
126
+ "#c6dbef",
127
+ "#9ecae1",
128
+ "#6baed6",
129
+ "#4292c6",
130
+ "#2171b5",
131
+ "#08519c",
132
+ "#08306b"
133
+ ]
134
+ };
135
+ Object.keys(i);
136
+ var a = (e, n) => {
137
+ if (typeof e == "string") return (i[e] ?? i.viridis).map(r);
138
+ if (e && e.length > 0) {
139
+ let r = [
140
+ .5,
141
+ .5,
142
+ .5,
143
+ 1
144
+ ], i = e.map((e) => n ? n(e, r) : t(e) ?? r);
145
+ return i.length === 1 ? [i[0], i[0]] : i;
146
+ }
147
+ return i.viridis.map(r);
148
+ }, o = (t) => {
149
+ let r = /* @__PURE__ */ new Uint32Array(256), i = [];
150
+ for (let a = 0; a < 256; a++) {
151
+ let o = n(t, a / 255);
152
+ i.push(o), r[a] = e(o);
153
+ }
154
+ return {
155
+ packed: r,
156
+ rgba: i,
157
+ stops: [...t]
158
+ };
159
+ }, s = (e, t, n) => {
160
+ let r = n - t, i = r > 0 ? (e - t) / r : .5, a = Math.round(i * 255);
161
+ return a < 0 ? 0 : a > 255 ? 255 : a;
162
+ };
163
+ //#endregion
164
+ export { o as colorLut, a as colorStops, s as lutIndex };
165
+
166
+ //# sourceMappingURL=colormap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colormap.js","names":["hex","value","RAMPS","colorStops","scale","fallback","stops","resolve","c","parseColor","colorLut","packed","rgba","i","rampColor","packColor","lutIndex","span","max","min","t"],"sources":["../../../../../charts/src/engine/three-d/colormap.ts"],"sourcesContent":["// Color ramps of the 3D charts: built-in maps (matplotlib / d3 stops) and\n// custom CSS color lists, sampled into 256-entry lookup tables.\n\nimport {\n packColor,\n parseColor,\n rampColor,\n type ColorResolver,\n type Rgba,\n} from \"../color\";\nimport type { Chart3DColorMap, Chart3DColorScale } from \"./types\";\n\nconst hex = (value: string): Rgba => [\n parseInt(value.slice(1, 3), 16) / 255,\n parseInt(value.slice(3, 5), 16) / 255,\n parseInt(value.slice(5, 7), 16) / 255,\n 1,\n];\n\nconst RAMPS: Record<Chart3DColorMap, readonly string[]> = {\n viridis: [\n \"#440154\",\n \"#482878\",\n \"#3e4989\",\n \"#31688e\",\n \"#26828e\",\n \"#1f9e89\",\n \"#35b779\",\n \"#6ece58\",\n \"#b5de2b\",\n \"#fde725\",\n ],\n plasma: [\n \"#0d0887\",\n \"#46039f\",\n \"#7201a8\",\n \"#9c179e\",\n \"#bd3786\",\n \"#d8576b\",\n \"#ed7953\",\n \"#fb9f3a\",\n \"#fdca26\",\n \"#f0f921\",\n ],\n inferno: [\n \"#000004\",\n \"#1b0c41\",\n \"#4a0c6b\",\n \"#781c6d\",\n \"#a52c60\",\n \"#cf4446\",\n \"#ed6925\",\n \"#fb9b06\",\n \"#f7d13d\",\n \"#fcffa4\",\n ],\n magma: [\n \"#000004\",\n \"#180f3d\",\n \"#440f76\",\n \"#721f81\",\n \"#9e2f7f\",\n \"#cd4071\",\n \"#f1605d\",\n \"#fd9668\",\n \"#feca8d\",\n \"#fcfdbf\",\n ],\n cividis: [\n \"#00224e\",\n \"#123570\",\n \"#3b496c\",\n \"#575d6d\",\n \"#707173\",\n \"#8a8678\",\n \"#a59c74\",\n \"#c3b369\",\n \"#e1cc55\",\n \"#fee838\",\n ],\n turbo: [\n \"#30123b\",\n \"#4145ab\",\n \"#4675ed\",\n \"#39a2fc\",\n \"#1bcfd4\",\n \"#24eca6\",\n \"#61fc6c\",\n \"#a4fc3b\",\n \"#d1e834\",\n \"#f3c63a\",\n \"#fe9b2d\",\n \"#f36315\",\n \"#d93806\",\n \"#b11901\",\n \"#7a0403\",\n ],\n spectral: [\n \"#5e4fa2\",\n \"#3288bd\",\n \"#66c2a5\",\n \"#abdda4\",\n \"#e6f598\",\n \"#ffffbf\",\n \"#fee08b\",\n \"#fdae61\",\n \"#f46d43\",\n \"#d53e4f\",\n \"#9e0142\",\n ],\n coolwarm: [\n \"#3b4cc0\",\n \"#6788ee\",\n \"#9abbff\",\n \"#c9d7f0\",\n \"#edd1c2\",\n \"#f7a889\",\n \"#e26952\",\n \"#b40426\",\n ],\n terrain: [\n \"#333399\",\n \"#1a66cc\",\n \"#0099ff\",\n \"#00cc66\",\n \"#66dd77\",\n \"#ccee88\",\n \"#ffff99\",\n \"#ccbb7a\",\n \"#997a5c\",\n \"#a08c86\",\n \"#d0c5c2\",\n \"#ffffff\",\n ],\n blues: [\n \"#f7fbff\",\n \"#deebf7\",\n \"#c6dbef\",\n \"#9ecae1\",\n \"#6baed6\",\n \"#4292c6\",\n \"#2171b5\",\n \"#08519c\",\n \"#08306b\",\n ],\n};\n\n/** Names of the built-in ramps */\nexport const COLOR_MAPS = Object.keys(RAMPS) as Chart3DColorMap[];\n\n/** Color stops of a scale; custom colors go through `resolve` (CSS variables included) */\nexport const colorStops = (\n scale: Chart3DColorScale | undefined,\n resolve?: ColorResolver,\n): Rgba[] => {\n if (typeof scale === \"string\") {\n const ramp = RAMPS[scale as Chart3DColorMap] ?? RAMPS.viridis;\n return ramp.map(hex);\n }\n if (scale && scale.length > 0) {\n const fallback: Rgba = [0.5, 0.5, 0.5, 1];\n const stops = scale.map((c) =>\n resolve ? resolve(c, fallback) : (parseColor(c) ?? fallback),\n );\n return stops.length === 1 ? [stops[0], stops[0]] : stops;\n }\n return RAMPS.viridis.map(hex);\n};\n\nexport const LUT_SIZE = 256;\n\n/** A sampled color scale: packed `unorm8x4` colors and their RGBA */\nexport interface ColorLut {\n packed: Uint32Array;\n rgba: Rgba[];\n stops: Rgba[];\n}\n\nexport const colorLut = (stops: readonly Rgba[]): ColorLut => {\n const packed = new Uint32Array(LUT_SIZE);\n const rgba: Rgba[] = [];\n for (let i = 0; i < LUT_SIZE; i++) {\n const c = rampColor(stops, i / (LUT_SIZE - 1));\n rgba.push(c);\n packed[i] = packColor(c);\n }\n return { packed, rgba, stops: [...stops] };\n};\n\n/** Index into the lookup table of `value` within `[min, max]` (clamped) */\nexport const lutIndex = (value: number, min: number, max: number): number => {\n const span = max - min;\n const t = span > 0 ? (value - min) / span : 0.5;\n const i = Math.round(t * (LUT_SIZE - 1));\n return i < 0 ? 0 : i > LUT_SIZE - 1 ? LUT_SIZE - 1 : i;\n};\n"],"mappings":";;AAYA,IAAMA,KAAO,MAAwB;CACnC,SAASC,EAAM,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;CAClC,SAASA,EAAM,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;CAClC,SAASA,EAAM,MAAM,GAAG,CAAC,GAAG,EAAE,IAAI;CAClC;AACF,GAEMC,IAAoD;CACxD,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,QAAQ;EACN;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,UAAU;EACR;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,SAAS;EACP;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;AAG0B,OAAO,KAAKA,CAAK;AAG3C,IAAaC,KACX,GACA,MACW;CACX,IAAI,OAAOC,KAAU,UAEnB,QADaF,EAAME,MAA6BF,EAAM,QAAA,CAC1C,IAAIF,CAAG;CAErB,IAAII,KAASA,EAAM,SAAS,GAAG;EAC7B,IAAMC,IAAiB;GAAC;GAAK;GAAK;GAAK;EAAC,GAClCC,IAAQF,EAAM,KAAK,MACvBG,IAAUA,EAAQC,GAAGH,CAAQ,IAAKI,EAAWD,CAAC,KAAKH,CACrD;EACA,OAAOC,EAAM,WAAW,IAAI,CAACA,EAAM,IAAIA,EAAM,EAAE,IAAIA;CACrD;CACA,OAAOJ,EAAM,QAAQ,IAAIF,CAAG;AAC9B,GAWaU,KAAY,MAAqC;CAC5D,IAAMC,oBAAS,IAAI,YAAA,GAAoB,GACjCC,IAAe,CAAC;CACtB,KAAK,IAAIC,IAAI,GAAGA,IAAA,KAAc,KAAK;EACjC,IAAML,IAAIM,EAAUR,GAAOO,IAAK,GAAa;EAE7C,AADAD,EAAK,KAAKJ,CAAC,GACX,EAAOK,KAAKE,EAAUP,CAAC;CACzB;CACA,OAAO;EAAE;EAAQ;EAAM,OAAO,CAAC,GAAGF,CAAK;CAAE;AAC3C,GAGaU,KAAY,GAAe,GAAa,MAAwB;CAC3E,IAAMC,IAAOC,IAAMC,GACbC,IAAIH,IAAO,KAAKhB,IAAQkB,KAAOF,IAAO,IACtCJ,IAAI,KAAK,MAAMO,IAAK,GAAa;CACvC,OAAOP,IAAI,IAAI,IAAIA,IAAI,MAAe,MAAeA;AACvD"}
@@ -0,0 +1,2 @@
1
+ var e=(e,t,n,r,i=[])=>{let a=(e,t)=>{let n=t-e;return n===0?.5:(r-e)/n};for(let o=0;o<t-1;o++)for(let t=0;t<n-1;t++){let s=e[o*n+t],c=e[o*n+t+1],l=e[(o+1)*n+t],u=e[(o+1)*n+t+1];if(!Number.isFinite(s)||!Number.isFinite(c)||!Number.isFinite(l)||!Number.isFinite(u))continue;let d=s>=r|(c>=r?2:0)|(u>=r?4:0)|(l>=r?8:0);if(d===0||d===15)continue;let f=()=>[t+a(s,c),o],p=()=>[t+1,o+a(c,u)],m=()=>[t+a(l,u),o+1],h=()=>[t,o+a(s,l)],g=(e,t)=>i.push(e[0],e[1],t[0],t[1]);switch(d){case 1:case 14:g(h(),f());break;case 2:case 13:g(f(),p());break;case 3:case 12:g(h(),p());break;case 4:case 11:g(p(),m());break;case 6:case 9:g(f(),m());break;case 7:case 8:g(h(),m());break;case 5:case 10:(s+c+l+u)/4>=r==(d===5)?(g(h(),m()),g(f(),p())):(g(h(),f()),g(p(),m()))}}return i};exports.contourSegments=e;
2
+ //# sourceMappingURL=contours.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contours.cjs","names":["contourSegments","t","d","b","a","level","r","rows","c","cols","v00","z","v01","v10","v11","code","bottom","right","top","left","push","out"],"sources":["../../../../../charts/src/engine/three-d/contours.ts"],"sourcesContent":["// Contour lines of a height grid (marching squares).\n\n/**\n * Segments where the grid crosses `level`: 4 numbers per segment\n * (column a, row a, column b, row b), in fractional grid coordinates.\n * Cells touching a non-finite height are skipped; saddles are split by the\n * average of the cell.\n */\nexport const contourSegments = (\n z: ArrayLike<number>,\n rows: number,\n cols: number,\n level: number,\n out: number[] = [],\n): number[] => {\n const t = (a: number, b: number) => {\n const d = b - a;\n return d === 0 ? 0.5 : (level - a) / d;\n };\n for (let r = 0; r < rows - 1; r++) {\n for (let c = 0; c < cols - 1; c++) {\n const v00 = z[r * cols + c];\n const v01 = z[r * cols + c + 1];\n const v10 = z[(r + 1) * cols + c];\n const v11 = z[(r + 1) * cols + c + 1];\n if (\n !Number.isFinite(v00) ||\n !Number.isFinite(v01) ||\n !Number.isFinite(v10) ||\n !Number.isFinite(v11)\n ) {\n continue;\n }\n const code =\n (v00 >= level ? 1 : 0) |\n (v01 >= level ? 2 : 0) |\n (v11 >= level ? 4 : 0) |\n (v10 >= level ? 8 : 0);\n if (code === 0 || code === 15) continue;\n // crossing points on the edges: bottom (r), right (c + 1), top (r + 1), left (c)\n const bottom = () => [c + t(v00, v01), r] as const;\n const right = () => [c + 1, r + t(v01, v11)] as const;\n const top = () => [c + t(v10, v11), r + 1] as const;\n const left = () => [c, r + t(v00, v10)] as const;\n const push = (\n a: readonly [number, number],\n b: readonly [number, number],\n ) => out.push(a[0], a[1], b[0], b[1]);\n switch (code) {\n case 1:\n case 14:\n push(left(), bottom());\n break;\n case 2:\n case 13:\n push(bottom(), right());\n break;\n case 3:\n case 12:\n push(left(), right());\n break;\n case 4:\n case 11:\n push(right(), top());\n break;\n case 6:\n case 9:\n push(bottom(), top());\n break;\n case 7:\n case 8:\n push(left(), top());\n break;\n case 5:\n case 10: {\n const center = (v00 + v01 + v10 + v11) / 4;\n // the corners 00 / 11 (case 5) or 01 / 10 (case 10) are above\n const joined = center >= level === (code === 5);\n if (joined) {\n push(left(), top());\n push(bottom(), right());\n } else {\n push(left(), bottom());\n push(right(), top());\n }\n break;\n }\n default:\n break;\n }\n }\n }\n return out;\n};\n"],"mappings":"AAQA,IAAaA,GACX,EACA,EACA,EACA,EACA,EAAgB,CAAC,IACJ,CACb,IAAMC,GAAK,EAAW,IAAc,CAClC,IAAMC,EAAIC,EAAIC,EACd,OAAOF,IAAM,EAAI,IAAOG,EAAQD,GAAKF,CACvC,EACA,IAAK,IAAII,EAAI,EAAGA,EAAIC,EAAO,EAAG,IAC5B,IAAK,IAAIC,EAAI,EAAGA,EAAIC,EAAO,EAAG,IAAK,CACjC,IAAMC,EAAMC,EAAEL,EAAIG,EAAOD,GACnBI,EAAMD,EAAEL,EAAIG,EAAOD,EAAI,GACvBK,EAAMF,GAAGL,EAAI,GAAKG,EAAOD,GACzBM,EAAMH,GAAGL,EAAI,GAAKG,EAAOD,EAAI,GACnC,GACE,CAAC,OAAO,SAASE,CAAG,GACpB,CAAC,OAAO,SAASE,CAAG,GACpB,CAAC,OAAO,SAASC,CAAG,GACpB,CAAC,OAAO,SAASC,CAAG,EAEpB,SAEF,IAAMC,EACHL,GAAOL,GACPO,GAAOP,EAAQ,EAAI,IACnBS,GAAOT,EAAQ,EAAI,IACnBQ,GAAOR,EAAQ,EAAI,GACtB,GAAIU,IAAS,GAAKA,IAAS,GAAI,SAE/B,IAAMC,MAAe,CAACR,EAAIP,EAAES,EAAKE,CAAG,EAAGN,CAAC,EAClCW,MAAc,CAACT,EAAI,EAAGF,EAAIL,EAAEW,EAAKE,CAAG,CAAC,EACrCI,MAAY,CAACV,EAAIP,EAAEY,EAAKC,CAAG,EAAGR,EAAI,CAAC,EACnCa,MAAa,CAACX,EAAGF,EAAIL,EAAES,EAAKG,CAAG,CAAC,EAChCO,GACJ,EACA,IACGC,EAAI,KAAKjB,EAAE,GAAIA,EAAE,GAAID,EAAE,GAAIA,EAAE,EAAE,EACpC,OAAQY,EAAR,CACE,IAAK,GACL,IAAK,IACHK,EAAKD,EAAK,EAAGH,EAAO,CAAC,EACrB,MACF,IAAK,GACL,IAAK,IACHI,EAAKJ,EAAO,EAAGC,EAAM,CAAC,EACtB,MACF,IAAK,GACL,IAAK,IACHG,EAAKD,EAAK,EAAGF,EAAM,CAAC,EACpB,MACF,IAAK,GACL,IAAK,IACHG,EAAKH,EAAM,EAAGC,EAAI,CAAC,EACnB,MACF,IAAK,GACL,IAAK,GACHE,EAAKJ,EAAO,EAAGE,EAAI,CAAC,EACpB,MACF,IAAK,GACL,IAAK,GACHE,EAAKD,EAAK,EAAGD,EAAI,CAAC,EAClB,MACF,IAAK,GACL,IAAK,KACaR,EAAME,EAAMC,EAAMC,GAAO,GAEhBT,IAAWU,IAAS,IAE3CK,EAAKD,EAAK,EAAGD,EAAI,CAAC,EAClBE,EAAKJ,EAAO,EAAGC,EAAM,CAAC,IAEtBG,EAAKD,EAAK,EAAGH,EAAO,CAAC,EACrBI,EAAKH,EAAM,EAAGC,EAAI,CAAC,EAMzB,CACF,CAEF,OAAOG,CACT"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Segments where the grid crosses `level`: 4 numbers per segment
3
+ * (column a, row a, column b, row b), in fractional grid coordinates.
4
+ * Cells touching a non-finite height are skipped; saddles are split by the
5
+ * average of the cell.
6
+ */
7
+ export declare const contourSegments: (z: ArrayLike<number>, rows: number, cols: number, level: number, out?: number[]) => number[];
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Segments where the grid crosses `level`: 4 numbers per segment
3
+ * (column a, row a, column b, row b), in fractional grid coordinates.
4
+ * Cells touching a non-finite height are skipped; saddles are split by the
5
+ * average of the cell.
6
+ */
7
+ export declare const contourSegments: (z: ArrayLike<number>, rows: number, cols: number, level: number, out?: number[]) => number[];
@@ -0,0 +1,47 @@
1
+ //#region src/engine/three-d/contours.ts
2
+ var e = (e, t, n, r, i = []) => {
3
+ let a = (e, t) => {
4
+ let n = t - e;
5
+ return n === 0 ? .5 : (r - e) / n;
6
+ };
7
+ for (let o = 0; o < t - 1; o++) for (let t = 0; t < n - 1; t++) {
8
+ let s = e[o * n + t], c = e[o * n + t + 1], l = e[(o + 1) * n + t], u = e[(o + 1) * n + t + 1];
9
+ if (!Number.isFinite(s) || !Number.isFinite(c) || !Number.isFinite(l) || !Number.isFinite(u)) continue;
10
+ let d = s >= r | (c >= r ? 2 : 0) | (u >= r ? 4 : 0) | (l >= r ? 8 : 0);
11
+ if (d === 0 || d === 15) continue;
12
+ let f = () => [t + a(s, c), o], p = () => [t + 1, o + a(c, u)], m = () => [t + a(l, u), o + 1], h = () => [t, o + a(s, l)], g = (e, t) => i.push(e[0], e[1], t[0], t[1]);
13
+ switch (d) {
14
+ case 1:
15
+ case 14:
16
+ g(h(), f());
17
+ break;
18
+ case 2:
19
+ case 13:
20
+ g(f(), p());
21
+ break;
22
+ case 3:
23
+ case 12:
24
+ g(h(), p());
25
+ break;
26
+ case 4:
27
+ case 11:
28
+ g(p(), m());
29
+ break;
30
+ case 6:
31
+ case 9:
32
+ g(f(), m());
33
+ break;
34
+ case 7:
35
+ case 8:
36
+ g(h(), m());
37
+ break;
38
+ case 5:
39
+ case 10: (s + c + l + u) / 4 >= r == (d === 5) ? (g(h(), m()), g(f(), p())) : (g(h(), f()), g(p(), m()));
40
+ }
41
+ }
42
+ return i;
43
+ };
44
+ //#endregion
45
+ export { e as contourSegments };
46
+
47
+ //# sourceMappingURL=contours.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contours.js","names":["contourSegments","t","d","b","a","level","r","rows","c","cols","v00","z","v01","v10","v11","code","bottom","right","top","left","push","out"],"sources":["../../../../../charts/src/engine/three-d/contours.ts"],"sourcesContent":["// Contour lines of a height grid (marching squares).\n\n/**\n * Segments where the grid crosses `level`: 4 numbers per segment\n * (column a, row a, column b, row b), in fractional grid coordinates.\n * Cells touching a non-finite height are skipped; saddles are split by the\n * average of the cell.\n */\nexport const contourSegments = (\n z: ArrayLike<number>,\n rows: number,\n cols: number,\n level: number,\n out: number[] = [],\n): number[] => {\n const t = (a: number, b: number) => {\n const d = b - a;\n return d === 0 ? 0.5 : (level - a) / d;\n };\n for (let r = 0; r < rows - 1; r++) {\n for (let c = 0; c < cols - 1; c++) {\n const v00 = z[r * cols + c];\n const v01 = z[r * cols + c + 1];\n const v10 = z[(r + 1) * cols + c];\n const v11 = z[(r + 1) * cols + c + 1];\n if (\n !Number.isFinite(v00) ||\n !Number.isFinite(v01) ||\n !Number.isFinite(v10) ||\n !Number.isFinite(v11)\n ) {\n continue;\n }\n const code =\n (v00 >= level ? 1 : 0) |\n (v01 >= level ? 2 : 0) |\n (v11 >= level ? 4 : 0) |\n (v10 >= level ? 8 : 0);\n if (code === 0 || code === 15) continue;\n // crossing points on the edges: bottom (r), right (c + 1), top (r + 1), left (c)\n const bottom = () => [c + t(v00, v01), r] as const;\n const right = () => [c + 1, r + t(v01, v11)] as const;\n const top = () => [c + t(v10, v11), r + 1] as const;\n const left = () => [c, r + t(v00, v10)] as const;\n const push = (\n a: readonly [number, number],\n b: readonly [number, number],\n ) => out.push(a[0], a[1], b[0], b[1]);\n switch (code) {\n case 1:\n case 14:\n push(left(), bottom());\n break;\n case 2:\n case 13:\n push(bottom(), right());\n break;\n case 3:\n case 12:\n push(left(), right());\n break;\n case 4:\n case 11:\n push(right(), top());\n break;\n case 6:\n case 9:\n push(bottom(), top());\n break;\n case 7:\n case 8:\n push(left(), top());\n break;\n case 5:\n case 10: {\n const center = (v00 + v01 + v10 + v11) / 4;\n // the corners 00 / 11 (case 5) or 01 / 10 (case 10) are above\n const joined = center >= level === (code === 5);\n if (joined) {\n push(left(), top());\n push(bottom(), right());\n } else {\n push(left(), bottom());\n push(right(), top());\n }\n break;\n }\n default:\n break;\n }\n }\n }\n return out;\n};\n"],"mappings":";AAQA,IAAaA,KACX,GACA,GACA,GACA,GACA,IAAgB,CAAC,MACJ;CACb,IAAMC,KAAK,GAAW,MAAc;EAClC,IAAMC,IAAIC,IAAIC;EACd,OAAOF,MAAM,IAAI,MAAOG,IAAQD,KAAKF;CACvC;CACA,KAAK,IAAII,IAAI,GAAGA,IAAIC,IAAO,GAAG,KAC5B,KAAK,IAAIC,IAAI,GAAGA,IAAIC,IAAO,GAAG,KAAK;EACjC,IAAMC,IAAMC,EAAEL,IAAIG,IAAOD,IACnBI,IAAMD,EAAEL,IAAIG,IAAOD,IAAI,IACvBK,IAAMF,GAAGL,IAAI,KAAKG,IAAOD,IACzBM,IAAMH,GAAGL,IAAI,KAAKG,IAAOD,IAAI;EACnC,IACE,CAAC,OAAO,SAASE,CAAG,KACpB,CAAC,OAAO,SAASE,CAAG,KACpB,CAAC,OAAO,SAASC,CAAG,KACpB,CAAC,OAAO,SAASC,CAAG,GAEpB;EAEF,IAAMC,IACHL,KAAOL,KACPO,KAAOP,IAAQ,IAAI,MACnBS,KAAOT,IAAQ,IAAI,MACnBQ,KAAOR,IAAQ,IAAI;EACtB,IAAIU,MAAS,KAAKA,MAAS,IAAI;EAE/B,IAAMC,UAAe,CAACR,IAAIP,EAAES,GAAKE,CAAG,GAAGN,CAAC,GAClCW,UAAc,CAACT,IAAI,GAAGF,IAAIL,EAAEW,GAAKE,CAAG,CAAC,GACrCI,UAAY,CAACV,IAAIP,EAAEY,GAAKC,CAAG,GAAGR,IAAI,CAAC,GACnCa,UAAa,CAACX,GAAGF,IAAIL,EAAES,GAAKG,CAAG,CAAC,GAChCO,KACJ,GACA,MACGC,EAAI,KAAKjB,EAAE,IAAIA,EAAE,IAAID,EAAE,IAAIA,EAAE,EAAE;EACpC,QAAQY,GAAR;GACE,KAAK;GACL,KAAK;IACH,EAAKI,EAAK,GAAGH,EAAO,CAAC;IACrB;GACF,KAAK;GACL,KAAK;IACH,EAAKA,EAAO,GAAGC,EAAM,CAAC;IACtB;GACF,KAAK;GACL,KAAK;IACH,EAAKE,EAAK,GAAGF,EAAM,CAAC;IACpB;GACF,KAAK;GACL,KAAK;IACH,EAAKA,EAAM,GAAGC,EAAI,CAAC;IACnB;GACF,KAAK;GACL,KAAK;IACH,EAAKF,EAAO,GAAGE,EAAI,CAAC;IACpB;GACF,KAAK;GACL,KAAK;IACH,EAAKC,EAAK,GAAGD,EAAI,CAAC;IAClB;GACF,KAAK;GACL,KAAK,IAIH,CAHgBR,IAAME,IAAMC,IAAMC,KAAO,KAEhBT,MAAWU,MAAS,MAE3CK,EAAKD,EAAK,GAAGD,EAAI,CAAC,GAClBE,EAAKJ,EAAO,GAAGC,EAAM,CAAC,MAEtBG,EAAKD,EAAK,GAAGH,EAAO,CAAC,GACrBI,EAAKH,EAAM,GAAGC,EAAI,CAAC;EAMzB;CACF;CAEF,OAAOG;AACT"}
@@ -0,0 +1,2 @@
1
+ const e=require("./canvas2d.cjs"),t=require("./webgl.cjs"),n=require("./webgpu.cjs");var r=[`webgpu`,`webgl2`,`webgl`,`canvas2d`],i=(e,t=new Set)=>{let n=e===`auto`?0:r.indexOf(e);return r.slice(Math.max(0,n)).filter(e=>!t.has(e))},a=async(r,i,a,o)=>{switch(r){case`webgpu`:return n.createWebGpu3D(i,a,o);case`webgl2`:return t.createWebGl3D(i,2,a,o);case`webgl`:return t.createWebGl3D(i,1,a,o);default:return e.createCanvas2d3D(i)}},o=async(e,t,n,r)=>{for(let o of i(e,r)){let r;try{r=await a(o,t(),()=>n(o),e===`auto`||e!==o)}catch{r=null}if(r)return r}return null};exports.createRenderer3D=o,exports.rendererCandidates3D=i;
2
+ //# sourceMappingURL=detect.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.cjs","names":["createWebGpu3D","createWebGl3D","createCanvas2d3D","require_canvas2d","require_webgl","require_webgpu","ORDER","rendererCandidates3D","start","preference","exclude","k","create","kind","canvas","onLost","requireHardware","createRenderer3D","renderer","makeCanvas"],"sources":["../../../../../charts/src/engine/three-d/detect.ts"],"sourcesContent":["// Backend selection of the 3D charts: WebGPU -> WebGL2 -> WebGL -> Canvas2D.\n\nimport type { ChartRendererKind, ChartRendererPreference } from \"../types\";\nimport { createCanvas2d3D } from \"./canvas2d\";\nimport type { Renderer3D } from \"./render-types\";\nimport { createWebGl3D } from \"./webgl\";\nimport { createWebGpu3D } from \"./webgpu\";\n\nconst ORDER: readonly ChartRendererKind[] = [\n \"webgpu\",\n \"webgl2\",\n \"webgl\",\n \"canvas2d\",\n];\n\n/** Backends to try for a preference, best first */\nexport const rendererCandidates3D = (\n preference: ChartRendererPreference,\n exclude: ReadonlySet<ChartRendererKind> = new Set(),\n): ChartRendererKind[] => {\n const start = preference === \"auto\" ? 0 : ORDER.indexOf(preference);\n return ORDER.slice(Math.max(0, start)).filter((k) => !exclude.has(k));\n};\n\nconst create = async (\n kind: ChartRendererKind,\n canvas: HTMLCanvasElement,\n onLost: () => void,\n requireHardware: boolean,\n): Promise<Renderer3D | null> => {\n switch (kind) {\n case \"webgpu\":\n return createWebGpu3D(canvas, onLost, requireHardware);\n case \"webgl2\":\n return createWebGl3D(canvas, 2, onLost, requireHardware);\n case \"webgl\":\n return createWebGl3D(canvas, 1, onLost, requireHardware);\n default:\n return createCanvas2d3D(canvas);\n }\n};\n\n/**\n * Creates the first backend that works, on a fresh canvas for every\n * attempt (a canvas only ever gets one kind of context). Under `auto` and\n * when falling back from the preferred backend, GPUs running in software\n * are skipped: Canvas2D with decimation is faster there.\n */\nexport const createRenderer3D = async (\n preference: ChartRendererPreference,\n makeCanvas: () => HTMLCanvasElement,\n onLost: (kind: ChartRendererKind) => void,\n exclude?: ReadonlySet<ChartRendererKind>,\n): Promise<Renderer3D | null> => {\n for (const kind of rendererCandidates3D(preference, exclude)) {\n let renderer: Renderer3D | null;\n try {\n renderer = await create(\n kind,\n makeCanvas(),\n () => onLost(kind),\n preference === \"auto\" || preference !== kind,\n );\n } catch {\n renderer = null;\n }\n if (renderer) return renderer;\n }\n return null;\n};\n"],"mappings":"qFAQA,IAAMM,EAAsC,CAC1C,SACA,SACA,QACA,UACF,EAGaC,GACX,EACA,EAA0C,IAAI,MACtB,CACxB,IAAMC,EAAQC,IAAe,OAAS,EAAIH,EAAM,QAAQG,CAAU,EAClE,OAAOH,EAAM,MAAM,KAAK,IAAI,EAAGE,CAAK,CAAC,CAAC,CAAC,OAAQ,GAAM,CAACE,EAAQ,IAAIC,CAAC,CAAC,CACtE,EAEMC,EAAS,MACb,EACA,EACA,EACA,IAC+B,CAC/B,OAAQC,EAAR,CACE,IAAK,SACH,OAAOb,EAAAA,eAAec,EAAQC,EAAQC,CAAe,EACvD,IAAK,SACH,OAAOf,EAAAA,cAAca,EAAQ,EAAGC,EAAQC,CAAe,EACzD,IAAK,QACH,OAAOf,EAAAA,cAAca,EAAQ,EAAGC,EAAQC,CAAe,EACzD,QACE,OAAOd,EAAAA,iBAAiBY,CAAM,CAClC,CACF,EAQaG,EAAmB,MAC9B,EACA,EACA,EACA,IAC+B,CAC/B,IAAK,IAAMJ,KAAQN,EAAqBE,EAAYC,CAAO,EAAG,CAC5D,IAAIQ,EACJ,GAAI,CACF,EAAW,MAAMN,EACfC,EACAM,EAAW,MACLJ,EAAOF,CAAI,EACjBJ,IAAe,QAAUA,IAAeI,CAC1C,CACF,MAAQ,CACN,EAAW,IACb,CACA,GAAIK,EAAU,OAAOA,CACvB,CACA,OAAO,IACT"}
@@ -0,0 +1,11 @@
1
+ import { ChartRendererKind, ChartRendererPreference } from '../types.cjs';
2
+ import { Renderer3D } from './render-types.cjs';
3
+ /** Backends to try for a preference, best first */
4
+ export declare const rendererCandidates3D: (preference: ChartRendererPreference, exclude?: ReadonlySet<ChartRendererKind>) => ChartRendererKind[];
5
+ /**
6
+ * Creates the first backend that works, on a fresh canvas for every
7
+ * attempt (a canvas only ever gets one kind of context). Under `auto` and
8
+ * when falling back from the preferred backend, GPUs running in software
9
+ * are skipped: Canvas2D with decimation is faster there.
10
+ */
11
+ export declare const createRenderer3D: (preference: ChartRendererPreference, makeCanvas: () => HTMLCanvasElement, onLost: (kind: ChartRendererKind) => void, exclude?: ReadonlySet<ChartRendererKind>) => Promise<Renderer3D | null>;
@@ -0,0 +1,11 @@
1
+ import { ChartRendererKind, ChartRendererPreference } from '../types.js';
2
+ import { Renderer3D } from './render-types.js';
3
+ /** Backends to try for a preference, best first */
4
+ export declare const rendererCandidates3D: (preference: ChartRendererPreference, exclude?: ReadonlySet<ChartRendererKind>) => ChartRendererKind[];
5
+ /**
6
+ * Creates the first backend that works, on a fresh canvas for every
7
+ * attempt (a canvas only ever gets one kind of context). Under `auto` and
8
+ * when falling back from the preferred backend, GPUs running in software
9
+ * are skipped: Canvas2D with decimation is faster there.
10
+ */
11
+ export declare const createRenderer3D: (preference: ChartRendererPreference, makeCanvas: () => HTMLCanvasElement, onLost: (kind: ChartRendererKind) => void, exclude?: ReadonlySet<ChartRendererKind>) => Promise<Renderer3D | null>;
@@ -0,0 +1,35 @@
1
+ import { createCanvas2d3D as e } from "./canvas2d.js";
2
+ import { createWebGl3D as t } from "./webgl.js";
3
+ import { createWebGpu3D as n } from "./webgpu.js";
4
+ //#region src/engine/three-d/detect.ts
5
+ var r = [
6
+ "webgpu",
7
+ "webgl2",
8
+ "webgl",
9
+ "canvas2d"
10
+ ], i = (e, t = /* @__PURE__ */ new Set()) => {
11
+ let n = e === "auto" ? 0 : r.indexOf(e);
12
+ return r.slice(Math.max(0, n)).filter((e) => !t.has(e));
13
+ }, a = async (r, i, a, o) => {
14
+ switch (r) {
15
+ case "webgpu": return n(i, a, o);
16
+ case "webgl2": return t(i, 2, a, o);
17
+ case "webgl": return t(i, 1, a, o);
18
+ default: return e(i);
19
+ }
20
+ }, o = async (e, t, n, r) => {
21
+ for (let o of i(e, r)) {
22
+ let r;
23
+ try {
24
+ r = await a(o, t(), () => n(o), e === "auto" || e !== o);
25
+ } catch {
26
+ r = null;
27
+ }
28
+ if (r) return r;
29
+ }
30
+ return null;
31
+ };
32
+ //#endregion
33
+ export { o as createRenderer3D, i as rendererCandidates3D };
34
+
35
+ //# sourceMappingURL=detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"detect.js","names":["ORDER","rendererCandidates3D","start","preference","exclude","k","create","kind","createWebGpu3D","canvas","onLost","requireHardware","createWebGl3D","createCanvas2d3D","createRenderer3D","renderer","makeCanvas"],"sources":["../../../../../charts/src/engine/three-d/detect.ts"],"sourcesContent":["// Backend selection of the 3D charts: WebGPU -> WebGL2 -> WebGL -> Canvas2D.\n\nimport type { ChartRendererKind, ChartRendererPreference } from \"../types\";\nimport { createCanvas2d3D } from \"./canvas2d\";\nimport type { Renderer3D } from \"./render-types\";\nimport { createWebGl3D } from \"./webgl\";\nimport { createWebGpu3D } from \"./webgpu\";\n\nconst ORDER: readonly ChartRendererKind[] = [\n \"webgpu\",\n \"webgl2\",\n \"webgl\",\n \"canvas2d\",\n];\n\n/** Backends to try for a preference, best first */\nexport const rendererCandidates3D = (\n preference: ChartRendererPreference,\n exclude: ReadonlySet<ChartRendererKind> = new Set(),\n): ChartRendererKind[] => {\n const start = preference === \"auto\" ? 0 : ORDER.indexOf(preference);\n return ORDER.slice(Math.max(0, start)).filter((k) => !exclude.has(k));\n};\n\nconst create = async (\n kind: ChartRendererKind,\n canvas: HTMLCanvasElement,\n onLost: () => void,\n requireHardware: boolean,\n): Promise<Renderer3D | null> => {\n switch (kind) {\n case \"webgpu\":\n return createWebGpu3D(canvas, onLost, requireHardware);\n case \"webgl2\":\n return createWebGl3D(canvas, 2, onLost, requireHardware);\n case \"webgl\":\n return createWebGl3D(canvas, 1, onLost, requireHardware);\n default:\n return createCanvas2d3D(canvas);\n }\n};\n\n/**\n * Creates the first backend that works, on a fresh canvas for every\n * attempt (a canvas only ever gets one kind of context). Under `auto` and\n * when falling back from the preferred backend, GPUs running in software\n * are skipped: Canvas2D with decimation is faster there.\n */\nexport const createRenderer3D = async (\n preference: ChartRendererPreference,\n makeCanvas: () => HTMLCanvasElement,\n onLost: (kind: ChartRendererKind) => void,\n exclude?: ReadonlySet<ChartRendererKind>,\n): Promise<Renderer3D | null> => {\n for (const kind of rendererCandidates3D(preference, exclude)) {\n let renderer: Renderer3D | null;\n try {\n renderer = await create(\n kind,\n makeCanvas(),\n () => onLost(kind),\n preference === \"auto\" || preference !== kind,\n );\n } catch {\n renderer = null;\n }\n if (renderer) return renderer;\n }\n return null;\n};\n"],"mappings":";;;;AAQA,IAAMA,IAAsC;CAC1C;CACA;CACA;CACA;AACF,GAGaC,KACX,GACA,oBAA0C,IAAI,IAAI,MAC1B;CACxB,IAAMC,IAAQC,MAAe,SAAS,IAAIH,EAAM,QAAQG,CAAU;CAClE,OAAOH,EAAM,MAAM,KAAK,IAAI,GAAGE,CAAK,CAAC,CAAC,CAAC,QAAQ,MAAM,CAACE,EAAQ,IAAIC,CAAC,CAAC;AACtE,GAEMC,IAAS,OACb,GACA,GACA,GACA,MAC+B;CAC/B,QAAQC,GAAR;EACE,KAAK,UACH,OAAOC,EAAeC,GAAQC,GAAQC,CAAe;EACvD,KAAK,UACH,OAAOC,EAAcH,GAAQ,GAAGC,GAAQC,CAAe;EACzD,KAAK,SACH,OAAOC,EAAcH,GAAQ,GAAGC,GAAQC,CAAe;EACzD,SACE,OAAOE,EAAiBJ,CAAM;CAClC;AACF,GAQaK,IAAmB,OAC9B,GACA,GACA,GACA,MAC+B;CAC/B,KAAK,IAAMP,KAAQN,EAAqBE,GAAYC,CAAO,GAAG;EAC5D,IAAIW;EACJ,IAAI;GACF,IAAW,MAAMT,EACfC,GACAS,EAAW,SACLN,EAAOH,CAAI,GACjBJ,MAAe,UAAUA,MAAeI,CAC1C;EACF,QAAQ;GACN,IAAW;EACb;EACA,IAAIQ,GAAU,OAAOA;CACvB;CACA,OAAO;AACT"}
@@ -0,0 +1,2 @@
1
+ var e=(e,t)=>(Object.assign(e.style,t),e),t={position:`absolute`,width:`1px`,height:`1px`,overflow:`hidden`,clip:`rect(0 0 0 0)`,clipPath:`inset(50%)`,whiteSpace:`nowrap`},n=0,r=t=>{let n=e(t.createElement(`canvas`),{position:`absolute`,left:`0`,top:`0`,pointerEvents:`none`});return n.setAttribute(`aria-hidden`,`true`),n},i=i=>{let a=i.ownerDocument,o=e(a.createElement(`div`),{position:`relative`,display:`flex`,flexDirection:`column`,width:`100%`,height:`100%`,minHeight:`0`,fontFamily:`var(--font-family-sans, system-ui, sans-serif)`,color:`var(--text-color, #1f2937)`});o.className=`minerva-chart minerva-chart-3d`;let s=e(a.createElement(`div`),{display:`none`,flexWrap:`wrap`,alignItems:`center`,gap:`4px 14px`,padding:`0 4px 8px`,fontSize:`12px`,lineHeight:`18px`});s.className=`minerva-chart-legend`;let c=e(a.createElement(`div`),{position:`relative`,flex:`1 1 auto`,minHeight:`0`,outline:`none`,touchAction:`none`,userSelect:`none`,borderRadius:`6px`,cursor:`grab`});c.className=`minerva-chart-stage`,c.setAttribute(`role`,`figure`),c.setAttribute(`aria-roledescription`,`3D chart`);let l=r(a),u=r(a),d=e(a.createElement(`div`),{position:`absolute`,left:`0`,top:`0`,zIndex:`2`,display:`none`,pointerEvents:`none`,minWidth:`128px`,maxWidth:`320px`,padding:`8px 12px`,borderRadius:`10px`,border:`1px solid color-mix(in srgb, var(--border-color, #e5e7eb) 60%, transparent)`,background:`var(--surface-elevated-color, var(--background-color, #fff))`,color:`var(--text-color, #1f2937)`,boxShadow:`0 12px 32px -8px rgba(15, 23, 42, 0.16), 0 4px 10px -4px rgba(15, 23, 42, 0.08)`,fontSize:`12px`,lineHeight:`20px`,whiteSpace:`nowrap`});d.className=`minerva-chart-tooltip`,d.setAttribute(`role`,`tooltip`);let f=e(a.createElement(`div`),t);f.id=`minerva-chart-3d-summary-${++n}`,c.setAttribute(`aria-describedby`,f.id);let p=e(a.createElement(`div`),t);return p.setAttribute(`aria-live`,`polite`),c.append(l,u,d,f,p),o.append(s,c),i.appendChild(o),{root:o,legend:s,stage:c,background:l,foreground:u,tooltip:d,summary:f,live:p}},a=(t,n,r)=>e(t.createElement(`span`),{display:`inline-block`,flex:`none`,width:`9px`,height:`9px`,borderRadius:r?`50%`:`2px`,background:n}),o=(e,t,n,r)=>{let i=Math.max(1,Math.round(t*r)),a=Math.max(1,Math.round(n*r));e.width!==i&&(e.width=i),e.height!==a&&(e.height=a),e.style.width=`${t}px`,e.style.height=`${n}px`};exports.createChart3DDom=i,exports.layerCanvas=r,exports.sizeCanvas=o,exports.style=e,exports.swatch=a;
2
+ //# sourceMappingURL=dom.cjs.map