minerva-design 1.4.0 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (824) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/README.md +21 -21
  3. package/custom-elements.json +3072 -611
  4. package/dist/angular/fesm2022/minerva-angular.mjs +1491 -5
  5. package/dist/angular/fesm2022/minerva-angular.mjs.map +1 -1
  6. package/dist/angular/types/minerva-angular.d.ts +595 -5
  7. package/dist/charts/canvas.d.cts +4 -3
  8. package/dist/charts/canvas.d.ts +4 -3
  9. package/dist/charts/core.cjs +1 -1
  10. package/dist/charts/core.d.cts +6 -4
  11. package/dist/charts/core.d.ts +6 -4
  12. package/dist/charts/core.js +24 -16
  13. package/dist/charts/engine/axis.cjs +1 -1
  14. package/dist/charts/engine/axis.cjs.map +1 -1
  15. package/dist/charts/engine/axis.js +42 -19
  16. package/dist/charts/engine/axis.js.map +1 -1
  17. package/dist/charts/engine/canvas.cjs +1 -1
  18. package/dist/charts/engine/canvas.cjs.map +1 -1
  19. package/dist/charts/engine/canvas.js +155 -127
  20. package/dist/charts/engine/canvas.js.map +1 -1
  21. package/dist/charts/engine/chart.cjs +1 -1
  22. package/dist/charts/engine/chart.cjs.map +1 -1
  23. package/dist/charts/engine/chart.js +370 -255
  24. package/dist/charts/engine/chart.js.map +1 -1
  25. package/dist/charts/engine/color.cjs +1 -1
  26. package/dist/charts/engine/color.cjs.map +1 -1
  27. package/dist/charts/engine/color.d.cts +18 -0
  28. package/dist/charts/engine/color.d.ts +18 -0
  29. package/dist/charts/engine/color.js +48 -2
  30. package/dist/charts/engine/color.js.map +1 -1
  31. package/dist/charts/engine/controller.cjs +2 -2
  32. package/dist/charts/engine/controller.cjs.map +1 -1
  33. package/dist/charts/engine/controller.d.cts +34 -1
  34. package/dist/charts/engine/controller.d.ts +34 -1
  35. package/dist/charts/engine/controller.js +318 -273
  36. package/dist/charts/engine/controller.js.map +1 -1
  37. package/dist/charts/engine/data.cjs +1 -1
  38. package/dist/charts/engine/data.cjs.map +1 -1
  39. package/dist/charts/engine/data.d.cts +3 -1
  40. package/dist/charts/engine/data.d.ts +3 -1
  41. package/dist/charts/engine/data.js +6 -4
  42. package/dist/charts/engine/data.js.map +1 -1
  43. package/dist/charts/engine/defaults.cjs +2 -0
  44. package/dist/charts/engine/defaults.cjs.map +1 -0
  45. package/dist/charts/engine/defaults.d.cts +20 -0
  46. package/dist/charts/engine/defaults.d.ts +20 -0
  47. package/dist/charts/engine/defaults.js +35 -0
  48. package/dist/charts/engine/defaults.js.map +1 -0
  49. package/dist/charts/engine/format.cjs +1 -1
  50. package/dist/charts/engine/format.cjs.map +1 -1
  51. package/dist/charts/engine/format.d.cts +6 -0
  52. package/dist/charts/engine/format.d.ts +6 -0
  53. package/dist/charts/engine/format.js +15 -2
  54. package/dist/charts/engine/format.js.map +1 -1
  55. package/dist/charts/engine/graph/chart.cjs +2 -0
  56. package/dist/charts/engine/graph/chart.cjs.map +1 -0
  57. package/dist/charts/engine/graph/chart.d.cts +3 -0
  58. package/dist/charts/engine/graph/chart.d.ts +3 -0
  59. package/dist/charts/engine/graph/chart.js +1708 -0
  60. package/dist/charts/engine/graph/chart.js.map +1 -0
  61. package/dist/charts/engine/graph/circular.cjs +2 -0
  62. package/dist/charts/engine/graph/circular.cjs.map +1 -0
  63. package/dist/charts/engine/graph/circular.d.cts +16 -0
  64. package/dist/charts/engine/graph/circular.d.ts +16 -0
  65. package/dist/charts/engine/graph/circular.js +62 -0
  66. package/dist/charts/engine/graph/circular.js.map +1 -0
  67. package/dist/charts/engine/graph/dag.cjs +2 -0
  68. package/dist/charts/engine/graph/dag.cjs.map +1 -0
  69. package/dist/charts/engine/graph/dag.d.cts +34 -0
  70. package/dist/charts/engine/graph/dag.d.ts +34 -0
  71. package/dist/charts/engine/graph/dag.js +339 -0
  72. package/dist/charts/engine/graph/dag.js.map +1 -0
  73. package/dist/charts/engine/graph/dom.cjs +2 -0
  74. package/dist/charts/engine/graph/dom.cjs.map +1 -0
  75. package/dist/charts/engine/graph/dom.d.cts +23 -0
  76. package/dist/charts/engine/graph/dom.d.ts +23 -0
  77. package/dist/charts/engine/graph/dom.js +158 -0
  78. package/dist/charts/engine/graph/dom.js.map +1 -0
  79. package/dist/charts/engine/graph/force.cjs +2 -0
  80. package/dist/charts/engine/graph/force.cjs.map +1 -0
  81. package/dist/charts/engine/graph/force.d.cts +76 -0
  82. package/dist/charts/engine/graph/force.d.ts +76 -0
  83. package/dist/charts/engine/graph/force.js +423 -0
  84. package/dist/charts/engine/graph/force.js.map +1 -0
  85. package/dist/charts/engine/graph/geometry.cjs +2 -0
  86. package/dist/charts/engine/graph/geometry.cjs.map +1 -0
  87. package/dist/charts/engine/graph/geometry.d.cts +50 -0
  88. package/dist/charts/engine/graph/geometry.d.ts +50 -0
  89. package/dist/charts/engine/graph/geometry.js +197 -0
  90. package/dist/charts/engine/graph/geometry.js.map +1 -0
  91. package/dist/charts/engine/graph/index.cjs +1 -0
  92. package/dist/charts/engine/graph/index.d.cts +6 -0
  93. package/dist/charts/engine/graph/index.d.ts +6 -0
  94. package/dist/charts/engine/graph/index.js +6 -0
  95. package/dist/charts/engine/graph/labels.cjs +2 -0
  96. package/dist/charts/engine/graph/labels.cjs.map +1 -0
  97. package/dist/charts/engine/graph/labels.d.cts +12 -0
  98. package/dist/charts/engine/graph/labels.d.ts +12 -0
  99. package/dist/charts/engine/graph/labels.js +128 -0
  100. package/dist/charts/engine/graph/labels.js.map +1 -0
  101. package/dist/charts/engine/graph/model.cjs +2 -0
  102. package/dist/charts/engine/graph/model.cjs.map +1 -0
  103. package/dist/charts/engine/graph/model.d.cts +52 -0
  104. package/dist/charts/engine/graph/model.d.ts +52 -0
  105. package/dist/charts/engine/graph/model.js +108 -0
  106. package/dist/charts/engine/graph/model.js.map +1 -0
  107. package/dist/charts/engine/graph/sizing.cjs +2 -0
  108. package/dist/charts/engine/graph/sizing.cjs.map +1 -0
  109. package/dist/charts/engine/graph/sizing.d.cts +33 -0
  110. package/dist/charts/engine/graph/sizing.d.ts +33 -0
  111. package/dist/charts/engine/graph/sizing.js +60 -0
  112. package/dist/charts/engine/graph/sizing.js.map +1 -0
  113. package/dist/charts/engine/graph/tree.cjs +2 -0
  114. package/dist/charts/engine/graph/tree.cjs.map +1 -0
  115. package/dist/charts/engine/graph/tree.d.cts +30 -0
  116. package/dist/charts/engine/graph/tree.d.ts +30 -0
  117. package/dist/charts/engine/graph/tree.js +218 -0
  118. package/dist/charts/engine/graph/tree.js.map +1 -0
  119. package/dist/charts/engine/graph/types.d.cts +640 -0
  120. package/dist/charts/engine/graph/types.d.ts +640 -0
  121. package/dist/charts/engine/graph/worker.cjs +52 -0
  122. package/dist/charts/engine/graph/worker.cjs.map +1 -0
  123. package/dist/charts/engine/graph/worker.d.cts +36 -0
  124. package/dist/charts/engine/graph/worker.d.ts +36 -0
  125. package/dist/charts/engine/graph/worker.js +135 -0
  126. package/dist/charts/engine/graph/worker.js.map +1 -0
  127. package/dist/charts/engine/items.cjs +1 -1
  128. package/dist/charts/engine/items.cjs.map +1 -1
  129. package/dist/charts/engine/items.d.cts +15 -2
  130. package/dist/charts/engine/items.d.ts +15 -2
  131. package/dist/charts/engine/items.js +131 -112
  132. package/dist/charts/engine/items.js.map +1 -1
  133. package/dist/charts/engine/labels.cjs +1 -1
  134. package/dist/charts/engine/labels.cjs.map +1 -1
  135. package/dist/charts/engine/labels.d.cts +17 -0
  136. package/dist/charts/engine/labels.d.ts +17 -0
  137. package/dist/charts/engine/labels.js +28 -4
  138. package/dist/charts/engine/labels.js.map +1 -1
  139. package/dist/charts/engine/layout.cjs +1 -1
  140. package/dist/charts/engine/layout.cjs.map +1 -1
  141. package/dist/charts/engine/layout.d.cts +9 -0
  142. package/dist/charts/engine/layout.d.ts +9 -0
  143. package/dist/charts/engine/layout.js +11 -2
  144. package/dist/charts/engine/layout.js.map +1 -1
  145. package/dist/charts/engine/model.cjs +1 -1
  146. package/dist/charts/engine/model.cjs.map +1 -1
  147. package/dist/charts/engine/model.d.cts +73 -3
  148. package/dist/charts/engine/model.d.ts +73 -3
  149. package/dist/charts/engine/model.js +258 -154
  150. package/dist/charts/engine/model.js.map +1 -1
  151. package/dist/charts/engine/orderbook/field.cjs +37 -0
  152. package/dist/charts/engine/orderbook/field.cjs.map +1 -0
  153. package/dist/charts/engine/orderbook/field.d.cts +92 -0
  154. package/dist/charts/engine/orderbook/field.d.ts +92 -0
  155. package/dist/charts/engine/orderbook/field.js +297 -0
  156. package/dist/charts/engine/orderbook/field.js.map +1 -0
  157. package/dist/charts/engine/orderbook/format.cjs +1 -1
  158. package/dist/charts/engine/orderbook/format.cjs.map +1 -1
  159. package/dist/charts/engine/orderbook/format.d.cts +3 -2
  160. package/dist/charts/engine/orderbook/format.d.ts +3 -2
  161. package/dist/charts/engine/orderbook/format.js +5 -5
  162. package/dist/charts/engine/orderbook/format.js.map +1 -1
  163. package/dist/charts/engine/orderbook/heatmap.cjs +1 -1
  164. package/dist/charts/engine/orderbook/heatmap.cjs.map +1 -1
  165. package/dist/charts/engine/orderbook/heatmap.js +566 -475
  166. package/dist/charts/engine/orderbook/heatmap.js.map +1 -1
  167. package/dist/charts/engine/orderbook/host.cjs +1 -1
  168. package/dist/charts/engine/orderbook/host.cjs.map +1 -1
  169. package/dist/charts/engine/orderbook/host.d.cts +8 -1
  170. package/dist/charts/engine/orderbook/host.d.ts +8 -1
  171. package/dist/charts/engine/orderbook/host.js +27 -5
  172. package/dist/charts/engine/orderbook/host.js.map +1 -1
  173. package/dist/charts/engine/orderbook/ladder.cjs +1 -1
  174. package/dist/charts/engine/orderbook/ladder.cjs.map +1 -1
  175. package/dist/charts/engine/orderbook/ladder.js +1 -1
  176. package/dist/charts/engine/orderbook/ladder.js.map +1 -1
  177. package/dist/charts/engine/orderbook/layout.cjs +2 -0
  178. package/dist/charts/engine/orderbook/layout.cjs.map +1 -0
  179. package/dist/charts/engine/orderbook/layout.d.cts +42 -0
  180. package/dist/charts/engine/orderbook/layout.d.ts +42 -0
  181. package/dist/charts/engine/orderbook/layout.js +76 -0
  182. package/dist/charts/engine/orderbook/layout.js.map +1 -0
  183. package/dist/charts/engine/orderbook/tape.cjs +1 -1
  184. package/dist/charts/engine/orderbook/tape.cjs.map +1 -1
  185. package/dist/charts/engine/orderbook/tape.js +4 -4
  186. package/dist/charts/engine/orderbook/tape.js.map +1 -1
  187. package/dist/charts/engine/orderbook/types.d.cts +27 -3
  188. package/dist/charts/engine/orderbook/types.d.ts +27 -3
  189. package/dist/charts/engine/overlay.cjs +1 -1
  190. package/dist/charts/engine/overlay.cjs.map +1 -1
  191. package/dist/charts/engine/overlay.d.cts +27 -0
  192. package/dist/charts/engine/overlay.d.ts +27 -0
  193. package/dist/charts/engine/overlay.js +34 -12
  194. package/dist/charts/engine/overlay.js.map +1 -1
  195. package/dist/charts/engine/presets.cjs +2 -2
  196. package/dist/charts/engine/presets.cjs.map +1 -1
  197. package/dist/charts/engine/presets.d.cts +35 -3
  198. package/dist/charts/engine/presets.d.ts +35 -3
  199. package/dist/charts/engine/presets.js +121 -101
  200. package/dist/charts/engine/presets.js.map +1 -1
  201. package/dist/charts/engine/renderers/canvas2d.cjs +1 -1
  202. package/dist/charts/engine/renderers/canvas2d.cjs.map +1 -1
  203. package/dist/charts/engine/renderers/canvas2d.js +13 -9
  204. package/dist/charts/engine/renderers/canvas2d.js.map +1 -1
  205. package/dist/charts/engine/renderers/detect.cjs +1 -1
  206. package/dist/charts/engine/renderers/detect.cjs.map +1 -1
  207. package/dist/charts/engine/renderers/detect.d.cts +2 -1
  208. package/dist/charts/engine/renderers/detect.d.ts +2 -1
  209. package/dist/charts/engine/renderers/detect.js +23 -21
  210. package/dist/charts/engine/renderers/detect.js.map +1 -1
  211. package/dist/charts/engine/renderers/follow.cjs +2 -0
  212. package/dist/charts/engine/renderers/follow.cjs.map +1 -0
  213. package/dist/charts/engine/renderers/follow.d.cts +8 -0
  214. package/dist/charts/engine/renderers/follow.d.ts +8 -0
  215. package/dist/charts/engine/renderers/follow.js +10 -0
  216. package/dist/charts/engine/renderers/follow.js.map +1 -0
  217. package/dist/charts/engine/renderers/gl-budget.cjs +2 -0
  218. package/dist/charts/engine/renderers/gl-budget.cjs.map +1 -0
  219. package/dist/charts/engine/renderers/gl-budget.d.cts +32 -0
  220. package/dist/charts/engine/renderers/gl-budget.d.ts +32 -0
  221. package/dist/charts/engine/renderers/gl-budget.js +95 -0
  222. package/dist/charts/engine/renderers/gl-budget.js.map +1 -0
  223. package/dist/charts/engine/renderers/gl.cjs +1 -1
  224. package/dist/charts/engine/renderers/gl.cjs.map +1 -1
  225. package/dist/charts/engine/renderers/gl.js +1 -1
  226. package/dist/charts/engine/renderers/gl.js.map +1 -1
  227. package/dist/charts/engine/renderers/shaders.cjs +9 -6
  228. package/dist/charts/engine/renderers/shaders.cjs.map +1 -1
  229. package/dist/charts/engine/renderers/shaders.d.cts +1 -1
  230. package/dist/charts/engine/renderers/shaders.d.ts +1 -1
  231. package/dist/charts/engine/renderers/shaders.js +9 -6
  232. package/dist/charts/engine/renderers/shaders.js.map +1 -1
  233. package/dist/charts/engine/renderers/types.cjs.map +1 -1
  234. package/dist/charts/engine/renderers/types.d.cts +2 -0
  235. package/dist/charts/engine/renderers/types.d.ts +2 -0
  236. package/dist/charts/engine/renderers/types.js.map +1 -1
  237. package/dist/charts/engine/renderers/webgl.cjs +1 -1
  238. package/dist/charts/engine/renderers/webgl.cjs.map +1 -1
  239. package/dist/charts/engine/renderers/webgl.js +85 -64
  240. package/dist/charts/engine/renderers/webgl.js.map +1 -1
  241. package/dist/charts/engine/renderers/webgl2.cjs +1 -1
  242. package/dist/charts/engine/renderers/webgl2.cjs.map +1 -1
  243. package/dist/charts/engine/renderers/webgl2.js +72 -58
  244. package/dist/charts/engine/renderers/webgl2.js.map +1 -1
  245. package/dist/charts/engine/renderers/webgpu.cjs +1 -1
  246. package/dist/charts/engine/renderers/webgpu.cjs.map +1 -1
  247. package/dist/charts/engine/renderers/webgpu.js +1 -1
  248. package/dist/charts/engine/renderers/webgpu.js.map +1 -1
  249. package/dist/charts/engine/scene.cjs +1 -1
  250. package/dist/charts/engine/scene.cjs.map +1 -1
  251. package/dist/charts/engine/scene.d.cts +104 -4
  252. package/dist/charts/engine/scene.d.ts +104 -4
  253. package/dist/charts/engine/scene.js +412 -193
  254. package/dist/charts/engine/scene.js.map +1 -1
  255. package/dist/charts/engine/shapes/bullet.cjs +1 -1
  256. package/dist/charts/engine/shapes/bullet.cjs.map +1 -1
  257. package/dist/charts/engine/shapes/bullet.js +110 -110
  258. package/dist/charts/engine/shapes/bullet.js.map +1 -1
  259. package/dist/charts/engine/shapes/chart.cjs +1 -1
  260. package/dist/charts/engine/shapes/chart.cjs.map +1 -1
  261. package/dist/charts/engine/shapes/chart.js +4 -1
  262. package/dist/charts/engine/shapes/chart.js.map +1 -1
  263. package/dist/charts/engine/shapes/chord.cjs +2 -0
  264. package/dist/charts/engine/shapes/chord.cjs.map +1 -0
  265. package/dist/charts/engine/shapes/chord.d.cts +18 -0
  266. package/dist/charts/engine/shapes/chord.d.ts +18 -0
  267. package/dist/charts/engine/shapes/chord.js +419 -0
  268. package/dist/charts/engine/shapes/chord.js.map +1 -0
  269. package/dist/charts/engine/shapes/draw.cjs +1 -1
  270. package/dist/charts/engine/shapes/draw.cjs.map +1 -1
  271. package/dist/charts/engine/shapes/draw.d.cts +5 -1
  272. package/dist/charts/engine/shapes/draw.d.ts +5 -1
  273. package/dist/charts/engine/shapes/draw.js +47 -17
  274. package/dist/charts/engine/shapes/draw.js.map +1 -1
  275. package/dist/charts/engine/shapes/hit.cjs +1 -1
  276. package/dist/charts/engine/shapes/hit.cjs.map +1 -1
  277. package/dist/charts/engine/shapes/hit.d.cts +3 -1
  278. package/dist/charts/engine/shapes/hit.d.ts +3 -1
  279. package/dist/charts/engine/shapes/hit.js +75 -46
  280. package/dist/charts/engine/shapes/hit.js.map +1 -1
  281. package/dist/charts/engine/shapes/index.d.cts +3 -2
  282. package/dist/charts/engine/shapes/index.d.ts +3 -2
  283. package/dist/charts/engine/shapes/labels.cjs +1 -1
  284. package/dist/charts/engine/shapes/labels.cjs.map +1 -1
  285. package/dist/charts/engine/shapes/labels.js +12 -4
  286. package/dist/charts/engine/shapes/labels.js.map +1 -1
  287. package/dist/charts/engine/shapes/layout.cjs +2 -2
  288. package/dist/charts/engine/shapes/layout.cjs.map +1 -1
  289. package/dist/charts/engine/shapes/layout.d.cts +3 -1
  290. package/dist/charts/engine/shapes/layout.d.ts +3 -1
  291. package/dist/charts/engine/shapes/layout.js +106 -78
  292. package/dist/charts/engine/shapes/layout.js.map +1 -1
  293. package/dist/charts/engine/shapes/scene.cjs +1 -1
  294. package/dist/charts/engine/shapes/scene.cjs.map +1 -1
  295. package/dist/charts/engine/shapes/scene.d.cts +33 -3
  296. package/dist/charts/engine/shapes/scene.d.ts +33 -3
  297. package/dist/charts/engine/shapes/scene.js +62 -19
  298. package/dist/charts/engine/shapes/scene.js.map +1 -1
  299. package/dist/charts/engine/shapes/types.d.cts +121 -8
  300. package/dist/charts/engine/shapes/types.d.ts +121 -8
  301. package/dist/charts/engine/signature.cjs +1 -1
  302. package/dist/charts/engine/signature.cjs.map +1 -1
  303. package/dist/charts/engine/signature.js +1 -1
  304. package/dist/charts/engine/signature.js.map +1 -1
  305. package/dist/charts/engine/three-d/canvas2d.cjs +1 -1
  306. package/dist/charts/engine/three-d/canvas2d.cjs.map +1 -1
  307. package/dist/charts/engine/three-d/canvas2d.d.cts +41 -3
  308. package/dist/charts/engine/three-d/canvas2d.d.ts +41 -3
  309. package/dist/charts/engine/three-d/canvas2d.js +166 -67
  310. package/dist/charts/engine/three-d/canvas2d.js.map +1 -1
  311. package/dist/charts/engine/three-d/chart.cjs +1 -1
  312. package/dist/charts/engine/three-d/chart.cjs.map +1 -1
  313. package/dist/charts/engine/three-d/chart.js +219 -215
  314. package/dist/charts/engine/three-d/chart.js.map +1 -1
  315. package/dist/charts/engine/three-d/detect.cjs +1 -1
  316. package/dist/charts/engine/three-d/detect.cjs.map +1 -1
  317. package/dist/charts/engine/three-d/detect.d.cts +3 -2
  318. package/dist/charts/engine/three-d/detect.d.ts +3 -2
  319. package/dist/charts/engine/three-d/detect.js +22 -20
  320. package/dist/charts/engine/three-d/detect.js.map +1 -1
  321. package/dist/charts/engine/three-d/geometry.cjs +1 -1
  322. package/dist/charts/engine/three-d/geometry.cjs.map +1 -1
  323. package/dist/charts/engine/three-d/geometry.d.cts +6 -0
  324. package/dist/charts/engine/three-d/geometry.d.ts +6 -0
  325. package/dist/charts/engine/three-d/geometry.js +106 -90
  326. package/dist/charts/engine/three-d/geometry.js.map +1 -1
  327. package/dist/charts/engine/three-d/model.cjs +1 -1
  328. package/dist/charts/engine/three-d/model.cjs.map +1 -1
  329. package/dist/charts/engine/three-d/model.d.cts +2 -0
  330. package/dist/charts/engine/three-d/model.d.ts +2 -0
  331. package/dist/charts/engine/three-d/model.js +2 -0
  332. package/dist/charts/engine/three-d/model.js.map +1 -1
  333. package/dist/charts/engine/three-d/oit.cjs +109 -0
  334. package/dist/charts/engine/three-d/oit.cjs.map +1 -0
  335. package/dist/charts/engine/three-d/oit.d.cts +34 -0
  336. package/dist/charts/engine/three-d/oit.d.ts +34 -0
  337. package/dist/charts/engine/three-d/oit.js +111 -0
  338. package/dist/charts/engine/three-d/oit.js.map +1 -0
  339. package/dist/charts/engine/three-d/overlay.cjs +1 -1
  340. package/dist/charts/engine/three-d/overlay.cjs.map +1 -1
  341. package/dist/charts/engine/three-d/overlay.js +43 -36
  342. package/dist/charts/engine/three-d/overlay.js.map +1 -1
  343. package/dist/charts/engine/three-d/render-types.cjs +1 -1
  344. package/dist/charts/engine/three-d/render-types.cjs.map +1 -1
  345. package/dist/charts/engine/three-d/render-types.d.cts +37 -3
  346. package/dist/charts/engine/three-d/render-types.d.ts +37 -3
  347. package/dist/charts/engine/three-d/render-types.js +6 -10
  348. package/dist/charts/engine/three-d/render-types.js.map +1 -1
  349. package/dist/charts/engine/three-d/shaders.cjs +109 -48
  350. package/dist/charts/engine/three-d/shaders.cjs.map +1 -1
  351. package/dist/charts/engine/three-d/shaders.d.cts +12 -5
  352. package/dist/charts/engine/three-d/shaders.d.ts +12 -5
  353. package/dist/charts/engine/three-d/shaders.js +118 -55
  354. package/dist/charts/engine/three-d/shaders.js.map +1 -1
  355. package/dist/charts/engine/three-d/sort.cjs +1 -1
  356. package/dist/charts/engine/three-d/sort.cjs.map +1 -1
  357. package/dist/charts/engine/three-d/sort.d.cts +18 -5
  358. package/dist/charts/engine/three-d/sort.d.ts +18 -5
  359. package/dist/charts/engine/three-d/sort.js +129 -43
  360. package/dist/charts/engine/three-d/sort.js.map +1 -1
  361. package/dist/charts/engine/three-d/types.d.cts +36 -0
  362. package/dist/charts/engine/three-d/types.d.ts +36 -0
  363. package/dist/charts/engine/three-d/webgl.cjs +1 -1
  364. package/dist/charts/engine/three-d/webgl.cjs.map +1 -1
  365. package/dist/charts/engine/three-d/webgl.d.cts +9 -0
  366. package/dist/charts/engine/three-d/webgl.d.ts +9 -0
  367. package/dist/charts/engine/three-d/webgl.js +199 -74
  368. package/dist/charts/engine/three-d/webgl.js.map +1 -1
  369. package/dist/charts/engine/three-d/webgpu.cjs +1 -1
  370. package/dist/charts/engine/three-d/webgpu.cjs.map +1 -1
  371. package/dist/charts/engine/three-d/webgpu.js +231 -94
  372. package/dist/charts/engine/three-d/webgpu.js.map +1 -1
  373. package/dist/charts/engine/trading/chart.cjs +1 -1
  374. package/dist/charts/engine/trading/chart.cjs.map +1 -1
  375. package/dist/charts/engine/trading/chart.d.cts +10 -1
  376. package/dist/charts/engine/trading/chart.d.ts +10 -1
  377. package/dist/charts/engine/trading/chart.js +1677 -813
  378. package/dist/charts/engine/trading/chart.js.map +1 -1
  379. package/dist/charts/engine/trading/drawings.cjs +2 -1
  380. package/dist/charts/engine/trading/drawings.cjs.map +1 -1
  381. package/dist/charts/engine/trading/drawings.d.cts +53 -9
  382. package/dist/charts/engine/trading/drawings.d.ts +53 -9
  383. package/dist/charts/engine/trading/drawings.js +346 -71
  384. package/dist/charts/engine/trading/drawings.js.map +1 -1
  385. package/dist/charts/engine/trading/format.cjs +1 -1
  386. package/dist/charts/engine/trading/format.cjs.map +1 -1
  387. package/dist/charts/engine/trading/format.d.cts +19 -0
  388. package/dist/charts/engine/trading/format.d.ts +19 -0
  389. package/dist/charts/engine/trading/format.js +65 -21
  390. package/dist/charts/engine/trading/format.js.map +1 -1
  391. package/dist/charts/engine/trading/geometry.cjs +1 -1
  392. package/dist/charts/engine/trading/geometry.cjs.map +1 -1
  393. package/dist/charts/engine/trading/geometry.d.cts +16 -0
  394. package/dist/charts/engine/trading/geometry.d.ts +16 -0
  395. package/dist/charts/engine/trading/geometry.js +19 -4
  396. package/dist/charts/engine/trading/geometry.js.map +1 -1
  397. package/dist/charts/engine/trading/index.cjs +1 -1
  398. package/dist/charts/engine/trading/index.d.cts +2 -1
  399. package/dist/charts/engine/trading/index.d.ts +2 -1
  400. package/dist/charts/engine/trading/index.js +4 -3
  401. package/dist/charts/engine/trading/indicators.cjs +1 -1
  402. package/dist/charts/engine/trading/indicators.cjs.map +1 -1
  403. package/dist/charts/engine/trading/indicators.d.cts +180 -10
  404. package/dist/charts/engine/trading/indicators.d.ts +180 -10
  405. package/dist/charts/engine/trading/indicators.js +449 -173
  406. package/dist/charts/engine/trading/indicators.js.map +1 -1
  407. package/dist/charts/engine/trading/labels.cjs +1 -1
  408. package/dist/charts/engine/trading/labels.cjs.map +1 -1
  409. package/dist/charts/engine/trading/labels.js +104 -4
  410. package/dist/charts/engine/trading/labels.js.map +1 -1
  411. package/dist/charts/engine/trading/store.cjs +1 -1
  412. package/dist/charts/engine/trading/store.cjs.map +1 -1
  413. package/dist/charts/engine/trading/store.d.cts +21 -0
  414. package/dist/charts/engine/trading/store.d.ts +21 -0
  415. package/dist/charts/engine/trading/store.js +22 -1
  416. package/dist/charts/engine/trading/store.js.map +1 -1
  417. package/dist/charts/engine/trading/studies.cjs +1 -1
  418. package/dist/charts/engine/trading/studies.cjs.map +1 -1
  419. package/dist/charts/engine/trading/studies.d.cts +49 -8
  420. package/dist/charts/engine/trading/studies.d.ts +49 -8
  421. package/dist/charts/engine/trading/studies.js +352 -93
  422. package/dist/charts/engine/trading/studies.js.map +1 -1
  423. package/dist/charts/engine/trading/sync.cjs +2 -0
  424. package/dist/charts/engine/trading/sync.cjs.map +1 -0
  425. package/dist/charts/engine/trading/sync.d.cts +8 -0
  426. package/dist/charts/engine/trading/sync.d.ts +8 -0
  427. package/dist/charts/engine/trading/sync.js +25 -0
  428. package/dist/charts/engine/trading/sync.js.map +1 -0
  429. package/dist/charts/engine/trading/types.d.cts +514 -16
  430. package/dist/charts/engine/trading/types.d.ts +514 -16
  431. package/dist/charts/engine/types.d.cts +106 -11
  432. package/dist/charts/engine/types.d.ts +106 -11
  433. package/dist/charts/index.cjs +1 -1
  434. package/dist/charts/index.d.cts +3 -2
  435. package/dist/charts/index.d.ts +3 -2
  436. package/dist/charts/index.js +30 -22
  437. package/dist/charts/react/charts.cjs +1 -1
  438. package/dist/charts/react/charts.cjs.map +1 -1
  439. package/dist/charts/react/charts.js +51 -34
  440. package/dist/charts/react/charts.js.map +1 -1
  441. package/dist/charts/react/graph.cjs +2 -0
  442. package/dist/charts/react/graph.cjs.map +1 -0
  443. package/dist/charts/react/graph.d.cts +219 -0
  444. package/dist/charts/react/graph.d.ts +219 -0
  445. package/dist/charts/react/graph.js +160 -0
  446. package/dist/charts/react/graph.js.map +1 -0
  447. package/dist/charts/react/orderbook.cjs +1 -1
  448. package/dist/charts/react/orderbook.cjs.map +1 -1
  449. package/dist/charts/react/orderbook.d.cts +3 -1
  450. package/dist/charts/react/orderbook.d.ts +3 -1
  451. package/dist/charts/react/orderbook.js +1 -0
  452. package/dist/charts/react/orderbook.js.map +1 -1
  453. package/dist/charts/react/shapes.cjs +1 -1
  454. package/dist/charts/react/shapes.cjs.map +1 -1
  455. package/dist/charts/react/shapes.d.cts +88 -4
  456. package/dist/charts/react/shapes.d.ts +88 -4
  457. package/dist/charts/react/shapes.js +55 -12
  458. package/dist/charts/react/shapes.js.map +1 -1
  459. package/dist/charts/react/three-d.cjs +1 -1
  460. package/dist/charts/react/three-d.cjs.map +1 -1
  461. package/dist/charts/react/three-d.d.cts +7 -0
  462. package/dist/charts/react/three-d.d.ts +7 -0
  463. package/dist/charts/react/three-d.js +14 -13
  464. package/dist/charts/react/three-d.js.map +1 -1
  465. package/dist/charts/react/trading.cjs +1 -1
  466. package/dist/charts/react/trading.cjs.map +1 -1
  467. package/dist/charts/react/trading.d.cts +54 -2
  468. package/dist/charts/react/trading.d.ts +54 -2
  469. package/dist/charts/react/trading.js +68 -37
  470. package/dist/charts/react/trading.js.map +1 -1
  471. package/dist/charts/react/types.d.cts +11 -0
  472. package/dist/charts/react/types.d.ts +11 -0
  473. package/dist/core/contracts.cjs +1 -1
  474. package/dist/core/contracts.cjs.map +1 -1
  475. package/dist/core/contracts.js +1 -1
  476. package/dist/core/contracts.js.map +1 -1
  477. package/dist/native/charts/src/canvas.cjs +1 -1
  478. package/dist/native/charts/src/canvas.js +5 -4
  479. package/dist/native/charts/src/engine/axis.cjs +1 -1
  480. package/dist/native/charts/src/engine/axis.cjs.map +1 -1
  481. package/dist/native/charts/src/engine/axis.js +42 -19
  482. package/dist/native/charts/src/engine/axis.js.map +1 -1
  483. package/dist/native/charts/src/engine/color.cjs +1 -1
  484. package/dist/native/charts/src/engine/color.cjs.map +1 -1
  485. package/dist/native/charts/src/engine/color.js +47 -5
  486. package/dist/native/charts/src/engine/color.js.map +1 -1
  487. package/dist/native/charts/src/engine/controller.cjs +2 -2
  488. package/dist/native/charts/src/engine/controller.cjs.map +1 -1
  489. package/dist/native/charts/src/engine/controller.js +296 -251
  490. package/dist/native/charts/src/engine/controller.js.map +1 -1
  491. package/dist/native/charts/src/engine/data.cjs +1 -1
  492. package/dist/native/charts/src/engine/data.cjs.map +1 -1
  493. package/dist/native/charts/src/engine/data.js +6 -4
  494. package/dist/native/charts/src/engine/data.js.map +1 -1
  495. package/dist/native/charts/src/engine/format.cjs +1 -1
  496. package/dist/native/charts/src/engine/format.cjs.map +1 -1
  497. package/dist/native/charts/src/engine/format.js +15 -2
  498. package/dist/native/charts/src/engine/format.js.map +1 -1
  499. package/dist/native/charts/src/engine/labels.cjs +1 -1
  500. package/dist/native/charts/src/engine/labels.cjs.map +1 -1
  501. package/dist/native/charts/src/engine/labels.js +42 -5
  502. package/dist/native/charts/src/engine/labels.js.map +1 -1
  503. package/dist/native/charts/src/engine/layout.cjs +1 -1
  504. package/dist/native/charts/src/engine/layout.cjs.map +1 -1
  505. package/dist/native/charts/src/engine/layout.js +11 -2
  506. package/dist/native/charts/src/engine/layout.js.map +1 -1
  507. package/dist/native/charts/src/engine/model.cjs +1 -1
  508. package/dist/native/charts/src/engine/model.cjs.map +1 -1
  509. package/dist/native/charts/src/engine/model.js +278 -174
  510. package/dist/native/charts/src/engine/model.js.map +1 -1
  511. package/dist/native/charts/src/engine/overlay.cjs.map +1 -1
  512. package/dist/native/charts/src/engine/overlay.js.map +1 -1
  513. package/dist/native/charts/src/engine/presets.cjs +2 -2
  514. package/dist/native/charts/src/engine/presets.cjs.map +1 -1
  515. package/dist/native/charts/src/engine/presets.js +110 -90
  516. package/dist/native/charts/src/engine/presets.js.map +1 -1
  517. package/dist/native/charts/src/engine/scene.cjs +1 -1
  518. package/dist/native/charts/src/engine/scene.cjs.map +1 -1
  519. package/dist/native/charts/src/engine/scene.js +421 -202
  520. package/dist/native/charts/src/engine/scene.js.map +1 -1
  521. package/dist/native/charts/src/engine/shapes/bullet.cjs +1 -1
  522. package/dist/native/charts/src/engine/shapes/bullet.cjs.map +1 -1
  523. package/dist/native/charts/src/engine/shapes/bullet.js +110 -110
  524. package/dist/native/charts/src/engine/shapes/bullet.js.map +1 -1
  525. package/dist/native/charts/src/engine/shapes/calendar.cjs +1 -1
  526. package/dist/native/charts/src/engine/shapes/calendar.cjs.map +1 -1
  527. package/dist/native/charts/src/engine/shapes/calendar.js +21 -16
  528. package/dist/native/charts/src/engine/shapes/calendar.js.map +1 -1
  529. package/dist/native/charts/src/engine/shapes/chord.cjs +2 -0
  530. package/dist/native/charts/src/engine/shapes/chord.cjs.map +1 -0
  531. package/dist/native/charts/src/engine/shapes/chord.js +419 -0
  532. package/dist/native/charts/src/engine/shapes/chord.js.map +1 -0
  533. package/dist/native/charts/src/engine/shapes/draw.cjs +1 -1
  534. package/dist/native/charts/src/engine/shapes/draw.cjs.map +1 -1
  535. package/dist/native/charts/src/engine/shapes/draw.js +47 -17
  536. package/dist/native/charts/src/engine/shapes/draw.js.map +1 -1
  537. package/dist/native/charts/src/engine/shapes/hit.cjs +1 -1
  538. package/dist/native/charts/src/engine/shapes/hit.cjs.map +1 -1
  539. package/dist/native/charts/src/engine/shapes/hit.js +73 -44
  540. package/dist/native/charts/src/engine/shapes/hit.js.map +1 -1
  541. package/dist/native/charts/src/engine/shapes/labels.cjs +1 -1
  542. package/dist/native/charts/src/engine/shapes/labels.cjs.map +1 -1
  543. package/dist/native/charts/src/engine/shapes/labels.js +12 -4
  544. package/dist/native/charts/src/engine/shapes/labels.js.map +1 -1
  545. package/dist/native/charts/src/engine/shapes/layout.cjs +2 -2
  546. package/dist/native/charts/src/engine/shapes/layout.cjs.map +1 -1
  547. package/dist/native/charts/src/engine/shapes/layout.js +136 -94
  548. package/dist/native/charts/src/engine/shapes/layout.js.map +1 -1
  549. package/dist/native/charts/src/engine/shapes/scene.cjs +1 -1
  550. package/dist/native/charts/src/engine/shapes/scene.cjs.map +1 -1
  551. package/dist/native/charts/src/engine/shapes/scene.js +62 -19
  552. package/dist/native/charts/src/engine/shapes/scene.js.map +1 -1
  553. package/dist/native/components/Chart/ChartBase.cjs +1 -1
  554. package/dist/native/components/Chart/ChartBase.cjs.map +1 -1
  555. package/dist/native/components/Chart/ChartBase.js +127 -115
  556. package/dist/native/components/Chart/ChartBase.js.map +1 -1
  557. package/dist/native/components/Chart/charts.cjs +1 -1
  558. package/dist/native/components/Chart/charts.cjs.map +1 -1
  559. package/dist/native/components/Chart/charts.js +8 -5
  560. package/dist/native/components/Chart/charts.js.map +1 -1
  561. package/dist/native/components/Chart/scene.cjs +1 -1
  562. package/dist/native/components/Chart/scene.cjs.map +1 -1
  563. package/dist/native/components/Chart/scene.d.cts +6 -1
  564. package/dist/native/components/Chart/scene.d.ts +6 -1
  565. package/dist/native/components/Chart/scene.js +226 -108
  566. package/dist/native/components/Chart/scene.js.map +1 -1
  567. package/dist/native/components/Chart/types.d.cts +7 -1
  568. package/dist/native/components/Chart/types.d.ts +7 -1
  569. package/dist/native/components/Charts/charts.cjs +1 -1
  570. package/dist/native/components/Charts/charts.cjs.map +1 -1
  571. package/dist/native/components/Charts/charts.js +60 -43
  572. package/dist/native/components/Charts/charts.js.map +1 -1
  573. package/dist/native/components/Charts/types.d.cts +11 -0
  574. package/dist/native/components/Charts/types.d.ts +11 -0
  575. package/dist/native/components/ShapeChart/ShapeChartBase.cjs +1 -1
  576. package/dist/native/components/ShapeChart/ShapeChartBase.cjs.map +1 -1
  577. package/dist/native/components/ShapeChart/ShapeChartBase.d.cts +1 -1
  578. package/dist/native/components/ShapeChart/ShapeChartBase.d.ts +1 -1
  579. package/dist/native/components/ShapeChart/ShapeChartBase.js +97 -106
  580. package/dist/native/components/ShapeChart/ShapeChartBase.js.map +1 -1
  581. package/dist/native/components/ShapeChart/charts.cjs +1 -1
  582. package/dist/native/components/ShapeChart/charts.cjs.map +1 -1
  583. package/dist/native/components/ShapeChart/charts.d.cts +6 -1
  584. package/dist/native/components/ShapeChart/charts.d.ts +6 -1
  585. package/dist/native/components/ShapeChart/charts.js +138 -96
  586. package/dist/native/components/ShapeChart/charts.js.map +1 -1
  587. package/dist/native/components/ShapeChart/draw.cjs +1 -1
  588. package/dist/native/components/ShapeChart/draw.cjs.map +1 -1
  589. package/dist/native/components/ShapeChart/draw.d.cts +1 -1
  590. package/dist/native/components/ShapeChart/draw.d.ts +1 -1
  591. package/dist/native/components/ShapeChart/draw.js +26 -17
  592. package/dist/native/components/ShapeChart/draw.js.map +1 -1
  593. package/dist/native/components/ShapeChart/geometry.cjs +1 -1
  594. package/dist/native/components/ShapeChart/geometry.cjs.map +1 -1
  595. package/dist/native/components/ShapeChart/geometry.js +233 -70
  596. package/dist/native/components/ShapeChart/geometry.js.map +1 -1
  597. package/dist/native/components/ShapeChart/index.cjs +1 -1
  598. package/dist/native/components/ShapeChart/index.d.cts +1 -1
  599. package/dist/native/components/ShapeChart/index.d.ts +1 -1
  600. package/dist/native/components/ShapeChart/index.js +2 -2
  601. package/dist/native/components/ShapeChart/recorder.cjs +1 -1
  602. package/dist/native/components/ShapeChart/recorder.cjs.map +1 -1
  603. package/dist/native/components/ShapeChart/recorder.d.cts +10 -1
  604. package/dist/native/components/ShapeChart/recorder.d.ts +10 -1
  605. package/dist/native/components/ShapeChart/recorder.js +19 -10
  606. package/dist/native/components/ShapeChart/recorder.js.map +1 -1
  607. package/dist/native/components/ShapeChart/types.d.cts +95 -8
  608. package/dist/native/components/ShapeChart/types.d.ts +95 -8
  609. package/dist/native/index.cjs +1 -1
  610. package/dist/native/index.js +2 -2
  611. package/dist/native/source/components/Chart/ChartBase.tsx +19 -6
  612. package/dist/native/source/components/Chart/charts.tsx +10 -3
  613. package/dist/native/source/components/Chart/scene.tsx +243 -14
  614. package/dist/native/source/components/Chart/types.ts +7 -0
  615. package/dist/native/source/components/Charts/charts.tsx +37 -2
  616. package/dist/native/source/components/Charts/types.ts +11 -0
  617. package/dist/native/source/components/ShapeChart/ShapeChartBase.tsx +10 -34
  618. package/dist/native/source/components/ShapeChart/charts.tsx +91 -35
  619. package/dist/native/source/components/ShapeChart/draw.tsx +39 -8
  620. package/dist/native/source/components/ShapeChart/geometry.ts +376 -25
  621. package/dist/native/source/components/ShapeChart/index.ts +1 -0
  622. package/dist/native/source/components/ShapeChart/recorder.ts +20 -5
  623. package/dist/native/source/components/ShapeChart/types.ts +99 -6
  624. package/dist/native/source/manifest.ts +1 -0
  625. package/dist/taro/chart-a11y.d.ts +7 -0
  626. package/dist/taro/charts.d.ts +29 -6
  627. package/dist/taro/index.js +3129 -1902
  628. package/dist/taro/shape-charts.d.ts +99 -5
  629. package/dist/uni/AreaChart.vue +2 -1
  630. package/dist/uni/AreaChart.vue.d.ts +5 -1
  631. package/dist/uni/Badge.vue.d.ts +1 -1
  632. package/dist/uni/BarChart.vue +2 -1
  633. package/dist/uni/BarChart.vue.d.ts +5 -1
  634. package/dist/uni/BoxPlotChart.vue +2 -1
  635. package/dist/uni/BoxPlotChart.vue.d.ts +8 -0
  636. package/dist/uni/BubbleChart.vue +2 -1
  637. package/dist/uni/BubbleChart.vue.d.ts +4 -0
  638. package/dist/uni/BulletChart.vue.d.ts +4 -0
  639. package/dist/uni/CalendarHeatmap.vue.d.ts +2 -0
  640. package/dist/uni/CandlestickChart.vue +2 -1
  641. package/dist/uni/CandlestickChart.vue.d.ts +4 -0
  642. package/dist/uni/Chart.vue +2 -1
  643. package/dist/uni/Chart.vue.d.ts +4 -0
  644. package/dist/uni/ChordChart.vue +93 -0
  645. package/dist/uni/ChordChart.vue.d.ts +136 -0
  646. package/dist/uni/Divider.vue.d.ts +1 -1
  647. package/dist/uni/DonutChart.vue.d.ts +5 -1
  648. package/dist/uni/FunnelChart.vue.d.ts +4 -0
  649. package/dist/uni/GanttChart.vue +2 -1
  650. package/dist/uni/GanttChart.vue.d.ts +15 -0
  651. package/dist/uni/GaugeChart.vue.d.ts +5 -1
  652. package/dist/uni/HeatmapChart.vue +2 -1
  653. package/dist/uni/HeatmapChart.vue.d.ts +8 -2
  654. package/dist/uni/HistogramChart.vue +2 -1
  655. package/dist/uni/HistogramChart.vue.d.ts +4 -0
  656. package/dist/uni/HorizontalBarChart.vue +2 -1
  657. package/dist/uni/HorizontalBarChart.vue.d.ts +3 -1
  658. package/dist/uni/LineChart.vue +2 -1
  659. package/dist/uni/LineChart.vue.d.ts +4 -0
  660. package/dist/uni/MixedChart.vue +2 -1
  661. package/dist/uni/MixedChart.vue.d.ts +4 -0
  662. package/dist/uni/PieChart.vue.d.ts +5 -1
  663. package/dist/uni/QuadrantChart.vue +2 -1
  664. package/dist/uni/QuadrantChart.vue.d.ts +4 -0
  665. package/dist/uni/RadarChart.vue.d.ts +4 -0
  666. package/dist/uni/RadialBarChart.vue.d.ts +4 -0
  667. package/dist/uni/RangeAreaChart.vue +2 -1
  668. package/dist/uni/RangeAreaChart.vue.d.ts +4 -0
  669. package/dist/uni/SankeyChart.vue.d.ts +4 -0
  670. package/dist/uni/ScatterChart.vue +2 -1
  671. package/dist/uni/ScatterChart.vue.d.ts +4 -0
  672. package/dist/uni/Sparkline.vue +2 -1
  673. package/dist/uni/Sparkline.vue.d.ts +4 -0
  674. package/dist/uni/SunburstChart.vue.d.ts +4 -0
  675. package/dist/uni/ToastProvider.vue.d.ts +1 -1
  676. package/dist/uni/TreemapChart.vue.d.ts +4 -0
  677. package/dist/uni/WaterfallChart.vue +2 -1
  678. package/dist/uni/WaterfallChart.vue.d.ts +9 -0
  679. package/dist/uni/chart-a11y.d.ts +7 -0
  680. package/dist/uni/chart-a11y.js +29 -0
  681. package/dist/uni/chart-canvas.d.ts +12 -0
  682. package/dist/uni/chart-canvas.js +15 -1
  683. package/dist/uni/chart-types.d.ts +36 -5
  684. package/dist/uni/chart-types.js +31 -3
  685. package/dist/uni/charts-canvas.js +3 -2
  686. package/dist/uni/index.d.ts +2 -1
  687. package/dist/uni/index.js +1 -0
  688. package/dist/uni/manifest.d.ts +7 -0
  689. package/dist/uni/manifest.js +10 -0
  690. package/dist/uni/named-chart-options.d.ts +11 -2
  691. package/dist/uni/named-chart-options.js +21 -1
  692. package/dist/uni/shape-chart-canvas.d.ts +3 -3
  693. package/dist/uni/shape-chart-canvas.js +17 -58
  694. package/dist/uni/shape-chart-types.d.ts +53 -3
  695. package/dist/uni/shape-chart-types.js +45 -1
  696. package/dist/vue/charts-global.d.ts +48 -0
  697. package/dist/vue/charts.d.ts +18 -0
  698. package/dist/vue/charts.js +56 -0
  699. package/dist/vue/charts.js.map +1 -0
  700. package/dist/vue/components/Chart/Bar3DChart.vue.d.ts +2 -0
  701. package/dist/vue/components/Chart/BoxPlotChart.vue.d.ts +8 -0
  702. package/dist/vue/components/Chart/BoxPlotChart.vue.js.map +1 -1
  703. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js +8 -2
  704. package/dist/vue/components/Chart/BoxPlotChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  705. package/dist/vue/components/Chart/ChordChart.vue.d.ts +153 -0
  706. package/dist/vue/components/Chart/ChordChart.vue.js +7 -0
  707. package/dist/vue/components/Chart/ChordChart.vue.js.map +1 -0
  708. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js +81 -0
  709. package/dist/vue/components/Chart/ChordChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  710. package/dist/vue/components/Chart/DependencyGraph.vue.d.ts +181 -0
  711. package/dist/vue/components/Chart/DependencyGraph.vue.js +7 -0
  712. package/dist/vue/components/Chart/DependencyGraph.vue.js.map +1 -0
  713. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js +65 -0
  714. package/dist/vue/components/Chart/DependencyGraph.vue_vue_type_script_setup_true_lang.js.map +1 -0
  715. package/dist/vue/components/Chart/GanttChart.vue.d.ts +19 -0
  716. package/dist/vue/components/Chart/GanttChart.vue.js.map +1 -1
  717. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js +12 -1
  718. package/dist/vue/components/Chart/GanttChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  719. package/dist/vue/components/Chart/GraphChart.vue.d.ts +186 -0
  720. package/dist/vue/components/Chart/GraphChart.vue.js +7 -0
  721. package/dist/vue/components/Chart/GraphChart.vue.js.map +1 -0
  722. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js +62 -0
  723. package/dist/vue/components/Chart/GraphChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  724. package/dist/vue/components/Chart/HeatmapChart.vue.d.ts +9 -5
  725. package/dist/vue/components/Chart/HeatmapChart.vue.js.map +1 -1
  726. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js +3 -1
  727. package/dist/vue/components/Chart/HeatmapChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  728. package/dist/vue/components/Chart/Line3DChart.vue.d.ts +2 -0
  729. package/dist/vue/components/Chart/OrderBookHeatmap.vue.d.ts +2 -0
  730. package/dist/vue/components/Chart/Scatter3DChart.vue.d.ts +2 -0
  731. package/dist/vue/components/Chart/Surface3DChart.vue.d.ts +2 -0
  732. package/dist/vue/components/Chart/TimeAndSales.vue.d.ts +2 -0
  733. package/dist/vue/components/Chart/TradingChart.vue.d.ts +58 -1
  734. package/dist/vue/components/Chart/TradingChart.vue.js.map +1 -1
  735. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js +31 -0
  736. package/dist/vue/components/Chart/TradingChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  737. package/dist/vue/components/Chart/TreeChart.vue.d.ts +174 -0
  738. package/dist/vue/components/Chart/TreeChart.vue.js +7 -0
  739. package/dist/vue/components/Chart/TreeChart.vue.js.map +1 -0
  740. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js +56 -0
  741. package/dist/vue/components/Chart/TreeChart.vue_vue_type_script_setup_true_lang.js.map +1 -0
  742. package/dist/vue/components/Chart/WaterfallChart.vue.d.ts +12 -1
  743. package/dist/vue/components/Chart/WaterfallChart.vue.js.map +1 -1
  744. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js +8 -2
  745. package/dist/vue/components/Chart/WaterfallChart.vue_vue_type_script_setup_true_lang.js.map +1 -1
  746. package/dist/vue/components/Chart/graph.d.ts +156 -0
  747. package/dist/vue/components/Chart/graph.js +137 -0
  748. package/dist/vue/components/Chart/graph.js.map +1 -0
  749. package/dist/vue/components/Chart/index.d.ts +5 -1
  750. package/dist/vue/components/Chart/index.js +5 -1
  751. package/dist/vue/components/Chart/orderbook.d.ts +5 -1
  752. package/dist/vue/components/Chart/orderbook.js +2 -0
  753. package/dist/vue/components/Chart/orderbook.js.map +1 -1
  754. package/dist/vue/components/Chart/three-d.d.ts +3 -0
  755. package/dist/vue/components/Chart/three-d.js +2 -0
  756. package/dist/vue/components/Chart/three-d.js.map +1 -1
  757. package/dist/vue/components/Chart/trading.d.ts +30 -3
  758. package/dist/vue/components/Chart/trading.js +9 -0
  759. package/dist/vue/components/Chart/trading.js.map +1 -1
  760. package/dist/vue/components/Chart/types.d.ts +74 -2
  761. package/dist/vue/global.d.ts +2 -38
  762. package/dist/vue/groups/charts.js +10 -2
  763. package/dist/vue/groups/charts.js.map +1 -1
  764. package/dist/vue/index.js +6 -2
  765. package/dist/vue/internal/register.d.ts +7 -0
  766. package/dist/vue/internal/register.js +14 -0
  767. package/dist/vue/internal/register.js.map +1 -0
  768. package/dist/vue/plugin.d.ts +9 -4
  769. package/dist/vue/plugin.js +6 -11
  770. package/dist/vue/plugin.js.map +1 -1
  771. package/dist/weapp/area-chart/index.wxml +1 -1
  772. package/dist/weapp/bar-chart/index.wxml +1 -1
  773. package/dist/weapp/box-plot-chart/index.wxml +1 -1
  774. package/dist/weapp/bubble-chart/index.wxml +1 -1
  775. package/dist/weapp/candlestick-chart/index.wxml +1 -1
  776. package/dist/weapp/chart/index.wxml +1 -1
  777. package/dist/weapp/charts/canvas.js +1987 -175
  778. package/dist/weapp/charts/core.js +3 -0
  779. package/dist/weapp/chord-chart/index.js +1 -0
  780. package/dist/weapp/chord-chart/index.json +1 -0
  781. package/dist/weapp/chord-chart/index.wxml +1 -0
  782. package/dist/weapp/chord-chart/index.wxss +1 -0
  783. package/dist/weapp/controls.js +148 -57
  784. package/dist/weapp/gantt-chart/index.wxml +1 -1
  785. package/dist/weapp/heatmap-chart/index.wxml +1 -1
  786. package/dist/weapp/histogram-chart/index.wxml +1 -1
  787. package/dist/weapp/horizontal-bar-chart/index.wxml +1 -1
  788. package/dist/weapp/line-chart/index.wxml +1 -1
  789. package/dist/weapp/mixed-chart/index.wxml +1 -1
  790. package/dist/weapp/quadrant-chart/index.wxml +1 -1
  791. package/dist/weapp/range-area-chart/index.wxml +1 -1
  792. package/dist/weapp/scatter-chart/index.wxml +1 -1
  793. package/dist/weapp/sparkline/index.wxml +1 -1
  794. package/dist/weapp/types.d.ts +96 -4
  795. package/dist/weapp/waterfall-chart/index.wxml +1 -1
  796. package/dist/web-components/components/chart/charts.d.ts +4 -2
  797. package/dist/web-components/components/chart/charts.js +8 -1
  798. package/dist/web-components/components/chart/charts.js.map +1 -1
  799. package/dist/web-components/components/chart/extended.d.ts +21 -7
  800. package/dist/web-components/components/chart/extended.js +29 -9
  801. package/dist/web-components/components/chart/extended.js.map +1 -1
  802. package/dist/web-components/components/chart/shapes-extended.d.ts +37 -1
  803. package/dist/web-components/components/chart/shapes-extended.js +27 -1
  804. package/dist/web-components/components/chart/shapes-extended.js.map +1 -1
  805. package/dist/web-components/components/chart-3d/chart-3d.d.ts +1 -1
  806. package/dist/web-components/components/chart-3d/chart-3d.js.map +1 -1
  807. package/dist/web-components/components/graph/graph.d.ts +156 -0
  808. package/dist/web-components/components/graph/graph.js +150 -0
  809. package/dist/web-components/components/graph/graph.js.map +1 -0
  810. package/dist/web-components/components/trading-chart/trading-chart.d.ts +49 -2
  811. package/dist/web-components/components/trading-chart/trading-chart.js +62 -0
  812. package/dist/web-components/components/trading-chart/trading-chart.js.map +1 -1
  813. package/dist/web-components/elements/chart.d.ts +1 -1
  814. package/dist/web-components/elements/chart.js +6 -5
  815. package/dist/web-components/elements/chart.js.map +1 -1
  816. package/dist/web-components/elements/graph.d.ts +2 -0
  817. package/dist/web-components/elements/graph.js +12 -0
  818. package/dist/web-components/elements/graph.js.map +1 -0
  819. package/dist/web-components/html-custom-data.json +318 -4
  820. package/dist/web-components/types/react.d.ts +63 -4
  821. package/dist/web-components/types/solid.d.ts +55 -8
  822. package/dist/web-components/types/svelte.d.ts +55 -8
  823. package/dist/web-components/types/vue.d.ts +55 -4
  824. package/package.json +16 -1
@@ -17,7 +17,13 @@ var t = {
17
17
  y: "y",
18
18
  series: "Series",
19
19
  chart: "Chart",
20
- chartOf: "Chart: {series}"
20
+ chartOf: "Chart: {series}",
21
+ start: "Start",
22
+ end: "End",
23
+ duration: "Duration",
24
+ progress: "Progress",
25
+ dependencies: "Depends on",
26
+ outlier: "Outlier"
21
27
  },
22
28
  zh: {
23
29
  open: "开盘",
@@ -33,7 +39,13 @@ var t = {
33
39
  value: "数值",
34
40
  series: "系列",
35
41
  chart: "图表",
36
- chartOf: "图表:{series}"
42
+ chartOf: "图表:{series}",
43
+ start: "开始",
44
+ end: "结束",
45
+ duration: "时长",
46
+ progress: "进度",
47
+ dependencies: "前置任务",
48
+ outlier: "异常值"
37
49
  },
38
50
  ja: {
39
51
  open: "始値",
@@ -49,7 +61,13 @@ var t = {
49
61
  value: "値",
50
62
  series: "系列",
51
63
  chart: "グラフ",
52
- chartOf: "グラフ:{series}"
64
+ chartOf: "グラフ:{series}",
65
+ start: "開始",
66
+ end: "終了",
67
+ duration: "期間",
68
+ progress: "進捗",
69
+ dependencies: "先行タスク",
70
+ outlier: "外れ値"
53
71
  },
54
72
  fr: {
55
73
  open: "Ouverture",
@@ -65,7 +83,13 @@ var t = {
65
83
  value: "Valeur",
66
84
  series: "Série",
67
85
  chart: "Graphique",
68
- chartOf: "Graphique : {series}"
86
+ chartOf: "Graphique : {series}",
87
+ start: "Début",
88
+ end: "Fin",
89
+ duration: "Durée",
90
+ progress: "Avancement",
91
+ dependencies: "Dépend de",
92
+ outlier: "Valeur aberrante"
69
93
  }
70
94
  }, n = (n, r) => e(t, n, r), r = (e) => /^(zh|ja)\b/i.test(e) ? "、" : ", ", i = (e) => e.series.length ? e.labels.chartOf.replace("{series}", e.series.map((e) => e.name).join(r(e.locale))) : e.labels.chart;
71
95
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"labels.js","names":["CHART_LABELS","chartLabels","localeLabels","locale","overrides","listSeparator","chartAriaLabel","model","s"],"sources":["../../../../charts/src/engine/labels.ts"],"sourcesContent":["// Built-in texts of the cartesian engine (tooltip rows, accessible names).\n\nimport { localeLabels, type LabelDictionary } from \"./locale\";\nimport type { ChartLabels } from \"./types\";\n\nexport const CHART_LABELS: LabelDictionary<ChartLabels> = {\n en: {\n open: \"Open\",\n high: \"High\",\n low: \"Low\",\n close: \"Close\",\n max: \"Max\",\n q3: \"Q3\",\n median: \"Median\",\n q1: \"Q1\",\n min: \"Min\",\n outliers: \"Outliers\",\n value: \"Value\",\n x: \"x\",\n y: \"y\",\n series: \"Series\",\n chart: \"Chart\",\n chartOf: \"Chart: {series}\",\n },\n zh: {\n open: \"开盘\",\n high: \"最高\",\n low: \"最低\",\n close: \"收盘\",\n max: \"最大值\",\n q3: \"上四分位\",\n median: \"中位数\",\n q1: \"下四分位\",\n min: \"最小值\",\n outliers: \"异常值\",\n value: \"数值\",\n series: \"系列\",\n chart: \"图表\",\n chartOf: \"图表:{series}\",\n },\n ja: {\n open: \"始値\",\n high: \"高値\",\n low: \"安値\",\n close: \"終値\",\n max: \"最大値\",\n q3: \"第3四分位\",\n median: \"中央値\",\n q1: \"第1四分位\",\n min: \"最小値\",\n outliers: \"外れ値\",\n value: \"値\",\n series: \"系列\",\n chart: \"グラフ\",\n chartOf: \"グラフ:{series}\",\n },\n fr: {\n open: \"Ouverture\",\n high: \"Plus haut\",\n low: \"Plus bas\",\n close: \"Clôture\",\n max: \"Max\",\n q3: \"Q3\",\n median: \"Médiane\",\n q1: \"Q1\",\n min: \"Min\",\n outliers: \"Valeurs aberrantes\",\n value: \"Valeur\",\n series: \"Série\",\n chart: \"Graphique\",\n chartOf: \"Graphique : {series}\",\n },\n};\n\n/** Texts of a locale with the overrides */\nexport const chartLabels = (\n locale: string,\n overrides?: Partial<ChartLabels>,\n): ChartLabels => localeLabels(CHART_LABELS, locale, overrides);\n\n/** Separator of the list of series names in accessible names */\nconst listSeparator = (locale: string) =>\n /^(zh|ja)\\b/i.test(locale) ? \"、\" : \", \";\n\n/** Default accessible name of a chart model: \"Chart: Revenue, Costs\" */\nexport const chartAriaLabel = (model: {\n labels: ChartLabels;\n locale: string;\n series: readonly { name: string }[];\n}): string =>\n model.series.length\n ? model.labels.chartOf.replace(\n \"{series}\",\n model.series.map((s) => s.name).join(listSeparator(model.locale)),\n )\n : model.labels.chart;\n"],"mappings":";;AAKA,IAAaA,IAA6C;CACxD,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,GAAG;EACH,GAAG;EACH,QAAQ;EACR,OAAO;EACP,SAAS;CACX;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,QAAQ;EACR,OAAO;EACP,SAAS;CACX;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,QAAQ;EACR,OAAO;EACP,SAAS;CACX;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,QAAQ;EACR,OAAO;EACP,SAAS;CACX;AACF,GAGaC,KACX,GACA,MACgBC,EAAaF,GAAcG,GAAQC,CAAS,GAGxDC,KAAiB,MACrB,cAAc,KAAKF,CAAM,IAAI,MAAM,MAGxBG,KAAkB,MAK7BC,EAAM,OAAO,SACTA,EAAM,OAAO,QAAQ,QACnB,YACAA,EAAM,OAAO,KAAK,MAAMC,EAAE,IAAI,CAAC,CAAC,KAAKH,EAAcE,EAAM,MAAM,CAAC,CAClE,IACAA,EAAM,OAAO"}
1
+ {"version":3,"file":"labels.js","names":["CHART_LABELS","chartLabels","localeLabels","locale","overrides","listSeparator","chartAriaLabel","model","s"],"sources":["../../../../charts/src/engine/labels.ts"],"sourcesContent":["// Built-in texts of the cartesian engine (tooltip rows, accessible names).\n\nimport { localeLabels, type LabelDictionary } from \"./locale\";\nimport type { ChartLabels } from \"./types\";\n\nexport const CHART_LABELS: LabelDictionary<ChartLabels> = {\n en: {\n open: \"Open\",\n high: \"High\",\n low: \"Low\",\n close: \"Close\",\n max: \"Max\",\n q3: \"Q3\",\n median: \"Median\",\n q1: \"Q1\",\n min: \"Min\",\n outliers: \"Outliers\",\n value: \"Value\",\n x: \"x\",\n y: \"y\",\n series: \"Series\",\n chart: \"Chart\",\n chartOf: \"Chart: {series}\",\n start: \"Start\",\n end: \"End\",\n duration: \"Duration\",\n progress: \"Progress\",\n dependencies: \"Depends on\",\n outlier: \"Outlier\",\n },\n zh: {\n open: \"开盘\",\n high: \"最高\",\n low: \"最低\",\n close: \"收盘\",\n max: \"最大值\",\n q3: \"上四分位\",\n median: \"中位数\",\n q1: \"下四分位\",\n min: \"最小值\",\n outliers: \"异常值\",\n value: \"数值\",\n series: \"系列\",\n chart: \"图表\",\n chartOf: \"图表:{series}\",\n start: \"开始\",\n end: \"结束\",\n duration: \"时长\",\n progress: \"进度\",\n dependencies: \"前置任务\",\n outlier: \"异常值\",\n },\n ja: {\n open: \"始値\",\n high: \"高値\",\n low: \"安値\",\n close: \"終値\",\n max: \"最大値\",\n q3: \"第3四分位\",\n median: \"中央値\",\n q1: \"第1四分位\",\n min: \"最小値\",\n outliers: \"外れ値\",\n value: \"値\",\n series: \"系列\",\n chart: \"グラフ\",\n chartOf: \"グラフ:{series}\",\n start: \"開始\",\n end: \"終了\",\n duration: \"期間\",\n progress: \"進捗\",\n dependencies: \"先行タスク\",\n outlier: \"外れ値\",\n },\n fr: {\n open: \"Ouverture\",\n high: \"Plus haut\",\n low: \"Plus bas\",\n close: \"Clôture\",\n max: \"Max\",\n q3: \"Q3\",\n median: \"Médiane\",\n q1: \"Q1\",\n min: \"Min\",\n outliers: \"Valeurs aberrantes\",\n value: \"Valeur\",\n series: \"Série\",\n chart: \"Graphique\",\n chartOf: \"Graphique : {series}\",\n start: \"Début\",\n end: \"Fin\",\n duration: \"Durée\",\n progress: \"Avancement\",\n dependencies: \"Dépend de\",\n outlier: \"Valeur aberrante\",\n },\n};\n\n/** Texts of a locale with the overrides */\nexport const chartLabels = (\n locale: string,\n overrides?: Partial<ChartLabels>,\n): ChartLabels => localeLabels(CHART_LABELS, locale, overrides);\n\n/** Separator of the list of series names in accessible names */\nconst listSeparator = (locale: string) =>\n /^(zh|ja)\\b/i.test(locale) ? \"、\" : \", \";\n\n/** Default accessible name of a chart model: \"Chart: Revenue, Costs\" */\nexport const chartAriaLabel = (model: {\n labels: ChartLabels;\n locale: string;\n series: readonly { name: string }[];\n}): string =>\n model.series.length\n ? model.labels.chartOf.replace(\n \"{series}\",\n model.series.map((s) => s.name).join(listSeparator(model.locale)),\n )\n : model.labels.chart;\n\n/**\n * Localized accessible description of a chart, for platforms that build their\n * own accessible name (\"Chart: Revenue, Costs\", \"营收:营收、成本\").\n * With a `title`, the title replaces the generic \"Chart\" word.\n */\nexport function describeChart(input: {\n /** BCP 47 locale (default \"en\") */\n locale?: string;\n /** Series of the chart (only their names are used) */\n series?: readonly { name: string }[];\n /** Title of the chart */\n title?: string;\n /** Overrides of the built-in texts */\n labels?: Partial<ChartLabels>;\n}): string {\n const locale = input.locale ?? \"en\";\n const labels = chartLabels(locale, input.labels);\n const series = input.series ?? [];\n const title = input.title?.trim();\n const generic = chartAriaLabel({ labels, locale, series });\n if (!title) return generic;\n if (!series.length) return title;\n const index = labels.chartOf.indexOf(labels.chart);\n if (index < 0 || !labels.chart) return `${title}. ${generic}`;\n const names = series.map((s) => s.name).join(listSeparator(locale));\n const fill = (part: string) => part.split(\"{series}\").join(names);\n return (\n fill(labels.chartOf.slice(0, index)) +\n title +\n fill(labels.chartOf.slice(index + labels.chart.length))\n );\n}\n"],"mappings":";;AAKA,IAAaA,IAA6C;CACxD,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,GAAG;EACH,GAAG;EACH,QAAQ;EACR,OAAO;EACP,SAAS;EACT,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU;EACV,cAAc;EACd,SAAS;CACX;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,QAAQ;EACR,OAAO;EACP,SAAS;EACT,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU;EACV,cAAc;EACd,SAAS;CACX;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,QAAQ;EACR,OAAO;EACP,SAAS;EACT,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU;EACV,cAAc;EACd,SAAS;CACX;CACA,IAAI;EACF,MAAM;EACN,MAAM;EACN,KAAK;EACL,OAAO;EACP,KAAK;EACL,IAAI;EACJ,QAAQ;EACR,IAAI;EACJ,KAAK;EACL,UAAU;EACV,OAAO;EACP,QAAQ;EACR,OAAO;EACP,SAAS;EACT,OAAO;EACP,KAAK;EACL,UAAU;EACV,UAAU;EACV,cAAc;EACd,SAAS;CACX;AACF,GAGaC,KACX,GACA,MACgBC,EAAaF,GAAcG,GAAQC,CAAS,GAGxDC,KAAiB,MACrB,cAAc,KAAKF,CAAM,IAAI,MAAM,MAGxBG,KAAkB,MAK7BC,EAAM,OAAO,SACTA,EAAM,OAAO,QAAQ,QACnB,YACAA,EAAM,OAAO,KAAK,MAAMC,EAAE,IAAI,CAAC,CAAC,KAAKH,EAAcE,EAAM,MAAM,CAAC,CAClE,IACAA,EAAM,OAAO"}
@@ -1,2 +1,2 @@
1
- var e=(e,t,n,r,i=!1)=>{let[a,o]=t.x,[s,c]=t.y,l=e.x,u=e.x+e.width,d=e.y,f=e.y+e.height;if(i){let p=e.height/(o-a||1),m=e.width/(c-s||1);return{plot:e,view:t,horizontal:i,xToPx:n?e=>f-(e-a)*p:e=>d+(e-a)*p,yToPx:r?e=>u-(e-s)*m:e=>l+(e-s)*m,pxToX:n?e=>a+(f-e)/p:e=>a+(e-d)/p,pxToY:r?e=>s+(u-e)/m:e=>s+(e-l)/m,xPerPx:1/p,yPerPx:1/m}}let p=e.width/(o-a||1),m=e.height/(c-s||1);return{plot:e,view:t,horizontal:i,xToPx:n?e=>u-(e-a)*p:e=>l+(e-a)*p,yToPx:r?e=>d+(e-s)*m:e=>f-(e-s)*m,pxToX:n?e=>a+(u-e)/p:e=>a+(e-l)/p,pxToY:r?e=>s+(e-d)/m:e=>s+(f-e)/m,xPerPx:1/p,yPerPx:1/m}},t=(e,t,n)=>e.horizontal?{x:e.yToPx(n),y:e.xToPx(t)}:{x:e.xToPx(t),y:e.yToPx(n)},n=(e,t,n)=>e.horizontal?{x:e.pxToX(n),y:e.pxToY(t)}:{x:e.pxToX(t),y:e.pxToY(n)},r=(e,t,n)=>e.horizontal?n:t,i=(e,t,n)=>e.horizontal?t:n,a=(e,t,n,r,i)=>{let a=Math.min(t,n),o=Math.max(t,n),s=Math.min(r,i),c=Math.max(r,i);return e.horizontal?{x:s,y:a,width:c-s,height:o-a}:{x:a,y:s,width:o-a,height:c-s}},o=e=>{let{width:t,height:n,padding:r,fontSize:i}=e,a=Math.ceil(i*1.4),o=r.left+(e.yLabelWidth>0?e.yLabelWidth+8:0)+(e.yTitle?a+6:0),s=r.bottom+(e.xAxisVisible?a+8:0)+(e.xTitle?a+4:0),c=r.top,l=e.y2LabelWidth??0,u=l>0||e.y2Title?Math.max(4,r.left)+(l>0?l+8:0)+(e.y2Title?a+6:0):r.right;return{x:Math.round(o),y:Math.round(c),width:Math.max(10,Math.round(t-o-u)),height:Math.max(10,Math.round(n-c-s))}};exports.alongX=r,exports.alongY=i,exports.computePlot=o,exports.createScales=e,exports.screenRect=a,exports.toData=n,exports.toScreen=t;
1
+ var e=(e,t,n,r,i=!1)=>{let[a,o]=t.x,[s,c]=t.y,l=e.x,u=e.x+e.width,d=e.y,f=e.y+e.height;if(i){let p=e.height/(o-a||1),m=e.width/(c-s||1);return{plot:e,view:t,horizontal:i,xToPx:n?e=>f-(e-a)*p:e=>d+(e-a)*p,yToPx:r?e=>u-(e-s)*m:e=>l+(e-s)*m,pxToX:n?e=>a+(f-e)/p:e=>a+(e-d)/p,pxToY:r?e=>s+(u-e)/m:e=>s+(e-l)/m,xPerPx:1/p,yPerPx:1/m}}let p=e.width/(o-a||1),m=e.height/(c-s||1);return{plot:e,view:t,horizontal:i,xToPx:n?e=>u-(e-a)*p:e=>l+(e-a)*p,yToPx:r?e=>d+(e-s)*m:e=>f-(e-s)*m,pxToX:n?e=>a+(u-e)/p:e=>a+(e-l)/p,pxToY:r?e=>s+(e-d)/m:e=>s+(f-e)/m,xPerPx:1/p,yPerPx:1/m}},t=(e,t,n)=>e.horizontal?{x:e.yToPx(n),y:e.xToPx(t)}:{x:e.xToPx(t),y:e.yToPx(n)},n=(e,t,n)=>e.horizontal?{x:e.pxToX(n),y:e.pxToY(t)}:{x:e.pxToX(t),y:e.pxToY(n)},r=(e,t,n)=>e.horizontal?n:t,i=(e,t,n)=>e.horizontal?t:n,a=(e,t,n,r,i)=>{let a=Math.min(t,n),o=Math.max(t,n),s=Math.min(r,i),c=Math.max(r,i);return e.horizontal?{x:s,y:a,width:c-s,height:o-a}:{x:a,y:s,width:o-a,height:c-s}},o=(e,t,n)=>{let r=Math.min(Math.abs(e),Math.abs(t));return r>=4?{inset:Math.round(Math.min(1,.5+r/96)*4)/4,radius:Math.round(Math.max(0,Math.min(n,r*.2))*4)/4}:{inset:0,radius:0}},s=e=>{let{width:t,height:n,padding:r,fontSize:i}=e,a=Math.ceil(i*1.4),o=r.left+(e.yLabelWidth>0?e.yLabelWidth+8:0)+(e.yTitle?a+6:0),s=r.bottom+(e.xAxisVisible?a+8:0)+(e.xTitle?a+4:0),c=r.top,l=e.y2LabelWidth??0,u=l>0||e.y2Title?Math.max(4,r.left)+(l>0?l+8:0)+(e.y2Title?a+6:0):r.right;return{x:Math.round(o),y:Math.round(c),width:Math.max(10,Math.round(t-o-u)),height:Math.max(10,Math.round(n-c-s))}};exports.alongX=r,exports.alongY=i,exports.computePlot=s,exports.createScales=e,exports.heatCellStyle=o,exports.screenRect=a,exports.toData=n,exports.toScreen=t;
2
2
  //# sourceMappingURL=layout.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.cjs","names":["createScales","x0","x1","view","y0","y1","left","plot","right","top","bottom","horizontal","xs","ys","reverseX","v","reverseY","p","toScreen","s","y","x","toData","py","px","alongX","alongY","screenRect","xa","xb","b","c","ya","yb","d","computePlot","input","line","fontSize","padding","y2Width","width","height"],"sources":["../../../../charts/src/engine/layout.ts"],"sourcesContent":["// Plot rectangle and data <-> pixel mappings (CSS pixels of the stage).\n\nimport type { ChartView } from \"./types\";\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Data <-> pixel mappings of a plot. `xToPx` / `yToPx` give the pixel along\n * the axis showing that data axis: the screen x / y of vertical charts, the\n * screen y / x of horizontal ones (use `toScreen` / `toData` for points).\n */\nexport interface Scales {\n plot: Rect;\n view: ChartView;\n /** The x axis runs down the left side, the values along the bottom */\n horizontal: boolean;\n xToPx(value: number): number;\n yToPx(value: number): number;\n pxToX(px: number): number;\n pxToY(px: number): number;\n /** Data units per CSS pixel */\n xPerPx: number;\n yPerPx: number;\n}\n\nexport const createScales = (\n plot: Rect,\n view: ChartView,\n reverseX: boolean,\n reverseY: boolean,\n horizontal = false,\n): Scales => {\n const [x0, x1] = view.x;\n const [y0, y1] = view.y;\n const left = plot.x;\n const right = plot.x + plot.width;\n const top = plot.y;\n const bottom = plot.y + plot.height;\n if (horizontal) {\n // x from top to bottom, y from left to right\n const xs = plot.height / (x1 - x0 || 1);\n const ys = plot.width / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => bottom - (v - x0) * xs\n : (v) => top + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => right - (v - y0) * ys\n : (v) => left + (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (bottom - p) / xs\n : (p) => x0 + (p - top) / xs,\n pxToY: reverseY\n ? (p) => y0 + (right - p) / ys\n : (p) => y0 + (p - left) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n }\n const xs = plot.width / (x1 - x0 || 1);\n const ys = plot.height / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => right - (v - x0) * xs\n : (v) => left + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => top + (v - y0) * ys\n : (v) => bottom - (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (right - p) / xs\n : (p) => x0 + (p - left) / xs,\n pxToY: reverseY\n ? (p) => y0 + (p - top) / ys\n : (p) => y0 + (bottom - p) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n};\n\n/** Screen pixel of a data point */\nexport const toScreen = (\n s: Scales,\n x: number,\n y: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.yToPx(y), y: s.xToPx(x) }\n : { x: s.xToPx(x), y: s.yToPx(y) };\n\n/** Data point under a screen pixel */\nexport const toData = (\n s: Scales,\n px: number,\n py: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.pxToX(py), y: s.pxToY(px) }\n : { x: s.pxToX(px), y: s.pxToY(py) };\n\n/** Coordinate of a screen pixel along the x axis (`xToPx` space) */\nexport const alongX = (s: Scales, px: number, py: number) =>\n s.horizontal ? py : px;\n\n/** Coordinate of a screen pixel along the value axis (`yToPx` space) */\nexport const alongY = (s: Scales, px: number, py: number) =>\n s.horizontal ? px : py;\n\n/**\n * Screen rectangle between two pixels along x (`xa`, `xb`) and two along\n * y (`ya`, `yb`)\n */\nexport const screenRect = (\n s: Scales,\n xa: number,\n xb: number,\n ya: number,\n yb: number,\n): Rect => {\n const a = Math.min(xa, xb);\n const b = Math.max(xa, xb);\n const c = Math.min(ya, yb);\n const d = Math.max(ya, yb);\n return s.horizontal\n ? { x: c, y: a, width: d - c, height: b - a }\n : { x: a, y: c, width: b - a, height: d - c };\n};\n\n/** Length in pixels of the x axis (plot width, height when horizontal) */\nexport const xLength = (s: Scales) =>\n s.horizontal ? s.plot.height : s.plot.width;\n\nexport interface LayoutInput {\n width: number;\n height: number;\n padding: { top: number; right: number; bottom: number; left: number };\n /** Width of the widest tick label of the left axis (0 when the axis is hidden) */\n yLabelWidth: number;\n /** Width of the widest tick label of the right axis (0 without one) */\n y2LabelWidth?: number;\n /** The right axis has a title */\n y2Title?: boolean;\n xAxisVisible: boolean;\n xTitle: boolean;\n yTitle: boolean;\n fontSize: number;\n}\n\n/** Room for the axes, then the plot area */\nexport const computePlot = (input: LayoutInput): Rect => {\n const { width, height, padding, fontSize } = input;\n const line = Math.ceil(fontSize * 1.4);\n const left =\n padding.left +\n (input.yLabelWidth > 0 ? input.yLabelWidth + 8 : 0) +\n (input.yTitle ? line + 6 : 0);\n const bottom =\n padding.bottom +\n (input.xAxisVisible ? line + 8 : 0) +\n (input.xTitle ? line + 4 : 0);\n const top = padding.top;\n const y2Width = input.y2LabelWidth ?? 0;\n const right =\n y2Width > 0 || input.y2Title\n ? Math.max(4, padding.left) +\n (y2Width > 0 ? y2Width + 8 : 0) +\n (input.y2Title ? line + 6 : 0)\n : padding.right;\n return {\n x: Math.round(left),\n y: Math.round(top),\n width: Math.max(10, Math.round(width - left - right)),\n height: Math.max(10, Math.round(height - top - bottom)),\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"layout.cjs","names":["createScales","x0","x1","view","y0","y1","left","plot","right","top","bottom","horizontal","xs","ys","reverseX","v","reverseY","p","toScreen","s","y","x","toData","py","px","alongX","alongY","screenRect","xa","xb","b","c","ya","yb","d","heatCellStyle","size","width","height","radius","computePlot","input","line","fontSize","padding","y2Width"],"sources":["../../../../charts/src/engine/layout.ts"],"sourcesContent":["// Plot rectangle and data <-> pixel mappings (CSS pixels of the stage).\n\nimport type { ChartView } from \"./types\";\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Data <-> pixel mappings of a plot. `xToPx` / `yToPx` give the pixel along\n * the axis showing that data axis: the screen x / y of vertical charts, the\n * screen y / x of horizontal ones (use `toScreen` / `toData` for points).\n */\nexport interface Scales {\n plot: Rect;\n view: ChartView;\n /** The x axis runs down the left side, the values along the bottom */\n horizontal: boolean;\n xToPx(value: number): number;\n yToPx(value: number): number;\n pxToX(px: number): number;\n pxToY(px: number): number;\n /** Data units per CSS pixel */\n xPerPx: number;\n yPerPx: number;\n}\n\nexport const createScales = (\n plot: Rect,\n view: ChartView,\n reverseX: boolean,\n reverseY: boolean,\n horizontal = false,\n): Scales => {\n const [x0, x1] = view.x;\n const [y0, y1] = view.y;\n const left = plot.x;\n const right = plot.x + plot.width;\n const top = plot.y;\n const bottom = plot.y + plot.height;\n if (horizontal) {\n // x from top to bottom, y from left to right\n const xs = plot.height / (x1 - x0 || 1);\n const ys = plot.width / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => bottom - (v - x0) * xs\n : (v) => top + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => right - (v - y0) * ys\n : (v) => left + (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (bottom - p) / xs\n : (p) => x0 + (p - top) / xs,\n pxToY: reverseY\n ? (p) => y0 + (right - p) / ys\n : (p) => y0 + (p - left) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n }\n const xs = plot.width / (x1 - x0 || 1);\n const ys = plot.height / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => right - (v - x0) * xs\n : (v) => left + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => top + (v - y0) * ys\n : (v) => bottom - (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (right - p) / xs\n : (p) => x0 + (p - left) / xs,\n pxToY: reverseY\n ? (p) => y0 + (p - top) / ys\n : (p) => y0 + (bottom - p) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n};\n\n/** Screen pixel of a data point */\nexport const toScreen = (\n s: Scales,\n x: number,\n y: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.yToPx(y), y: s.xToPx(x) }\n : { x: s.xToPx(x), y: s.yToPx(y) };\n\n/** Data point under a screen pixel */\nexport const toData = (\n s: Scales,\n px: number,\n py: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.pxToX(py), y: s.pxToY(px) }\n : { x: s.pxToX(px), y: s.pxToY(py) };\n\n/** Coordinate of a screen pixel along the x axis (`xToPx` space) */\nexport const alongX = (s: Scales, px: number, py: number) =>\n s.horizontal ? py : px;\n\n/** Coordinate of a screen pixel along the value axis (`yToPx` space) */\nexport const alongY = (s: Scales, px: number, py: number) =>\n s.horizontal ? px : py;\n\n/**\n * Screen rectangle between two pixels along x (`xa`, `xb`) and two along\n * y (`ya`, `yb`)\n */\nexport const screenRect = (\n s: Scales,\n xa: number,\n xb: number,\n ya: number,\n yb: number,\n): Rect => {\n const a = Math.min(xa, xb);\n const b = Math.max(xa, xb);\n const c = Math.min(ya, yb);\n const d = Math.max(ya, yb);\n return s.horizontal\n ? { x: c, y: a, width: d - c, height: b - a }\n : { x: a, y: c, width: b - a, height: d - c };\n};\n\n/** Length in pixels of the x axis (plot width, height when horizontal) */\nexport const xLength = (s: Scales) =>\n s.horizontal ? s.plot.height : s.plot.width;\n\n/**\n * Inset (per side) and corner radius of heatmap cells of `width` ×\n * `height` CSS pixels: a hairline apart (1px, 2px on large cells), corners\n * of `radius` at most 20% of the cell; tiny cells touch\n */\nexport const heatCellStyle = (\n width: number,\n height: number,\n radius: number,\n): { inset: number; radius: number } => {\n const size = Math.min(Math.abs(width), Math.abs(height));\n if (!(size >= 4)) return { inset: 0, radius: 0 };\n return {\n inset: Math.round(Math.min(1, 0.5 + size / 96) * 4) / 4,\n radius: Math.round(Math.max(0, Math.min(radius, size * 0.2)) * 4) / 4,\n };\n};\n\nexport interface LayoutInput {\n width: number;\n height: number;\n padding: { top: number; right: number; bottom: number; left: number };\n /** Width of the widest tick label of the left axis (0 when the axis is hidden) */\n yLabelWidth: number;\n /** Width of the widest tick label of the right axis (0 without one) */\n y2LabelWidth?: number;\n /** The right axis has a title */\n y2Title?: boolean;\n xAxisVisible: boolean;\n xTitle: boolean;\n yTitle: boolean;\n fontSize: number;\n}\n\n/** Room for the axes, then the plot area */\nexport const computePlot = (input: LayoutInput): Rect => {\n const { width, height, padding, fontSize } = input;\n const line = Math.ceil(fontSize * 1.4);\n const left =\n padding.left +\n (input.yLabelWidth > 0 ? input.yLabelWidth + 8 : 0) +\n (input.yTitle ? line + 6 : 0);\n const bottom =\n padding.bottom +\n (input.xAxisVisible ? line + 8 : 0) +\n (input.xTitle ? line + 4 : 0);\n const top = padding.top;\n const y2Width = input.y2LabelWidth ?? 0;\n const right =\n y2Width > 0 || input.y2Title\n ? Math.max(4, padding.left) +\n (y2Width > 0 ? y2Width + 8 : 0) +\n (input.y2Title ? line + 6 : 0)\n : padding.right;\n return {\n x: Math.round(left),\n y: Math.round(top),\n width: Math.max(10, Math.round(width - left - right)),\n height: Math.max(10, Math.round(height - top - bottom)),\n };\n};\n"],"mappings":"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"}
@@ -45,6 +45,15 @@ export declare const alongY: (s: Scales, px: number, py: number) => number;
45
45
  export declare const screenRect: (s: Scales, xa: number, xb: number, ya: number, yb: number) => Rect;
46
46
  /** Length in pixels of the x axis (plot width, height when horizontal) */
47
47
  export declare const xLength: (s: Scales) => number;
48
+ /**
49
+ * Inset (per side) and corner radius of heatmap cells of `width` ×
50
+ * `height` CSS pixels: a hairline apart (1px, 2px on large cells), corners
51
+ * of `radius` at most 20% of the cell; tiny cells touch
52
+ */
53
+ export declare const heatCellStyle: (width: number, height: number, radius: number) => {
54
+ inset: number;
55
+ radius: number;
56
+ };
48
57
  export interface LayoutInput {
49
58
  width: number;
50
59
  height: number;
@@ -45,6 +45,15 @@ export declare const alongY: (s: Scales, px: number, py: number) => number;
45
45
  export declare const screenRect: (s: Scales, xa: number, xb: number, ya: number, yb: number) => Rect;
46
46
  /** Length in pixels of the x axis (plot width, height when horizontal) */
47
47
  export declare const xLength: (s: Scales) => number;
48
+ /**
49
+ * Inset (per side) and corner radius of heatmap cells of `width` ×
50
+ * `height` CSS pixels: a hairline apart (1px, 2px on large cells), corners
51
+ * of `radius` at most 20% of the cell; tiny cells touch
52
+ */
53
+ export declare const heatCellStyle: (width: number, height: number, radius: number) => {
54
+ inset: number;
55
+ radius: number;
56
+ };
48
57
  export interface LayoutInput {
49
58
  width: number;
50
59
  height: number;
@@ -52,7 +52,16 @@ var e = (e, t, n, r, i = !1) => {
52
52
  width: o - a,
53
53
  height: c - s
54
54
  };
55
- }, o = (e) => {
55
+ }, o = (e, t, n) => {
56
+ let r = Math.min(Math.abs(e), Math.abs(t));
57
+ return r >= 4 ? {
58
+ inset: Math.round(Math.min(1, .5 + r / 96) * 4) / 4,
59
+ radius: Math.round(Math.max(0, Math.min(n, r * .2)) * 4) / 4
60
+ } : {
61
+ inset: 0,
62
+ radius: 0
63
+ };
64
+ }, s = (e) => {
56
65
  let { width: t, height: n, padding: r, fontSize: i } = e, a = Math.ceil(i * 1.4), o = r.left + (e.yLabelWidth > 0 ? e.yLabelWidth + 8 : 0) + (e.yTitle ? a + 6 : 0), s = r.bottom + (e.xAxisVisible ? a + 8 : 0) + (e.xTitle ? a + 4 : 0), c = r.top, l = e.y2LabelWidth ?? 0, u = l > 0 || e.y2Title ? Math.max(4, r.left) + (l > 0 ? l + 8 : 0) + (e.y2Title ? a + 6 : 0) : r.right;
57
66
  return {
58
67
  x: Math.round(o),
@@ -62,6 +71,6 @@ var e = (e, t, n, r, i = !1) => {
62
71
  };
63
72
  };
64
73
  //#endregion
65
- export { r as alongX, i as alongY, o as computePlot, e as createScales, a as screenRect, n as toData, t as toScreen };
74
+ export { r as alongX, i as alongY, s as computePlot, e as createScales, o as heatCellStyle, a as screenRect, n as toData, t as toScreen };
66
75
 
67
76
  //# sourceMappingURL=layout.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"layout.js","names":["createScales","x0","x1","view","y0","y1","left","plot","right","top","bottom","horizontal","xs","ys","reverseX","v","reverseY","p","toScreen","s","y","x","toData","py","px","alongX","alongY","screenRect","xa","xb","b","c","ya","yb","d","computePlot","input","line","fontSize","padding","y2Width","width","height"],"sources":["../../../../charts/src/engine/layout.ts"],"sourcesContent":["// Plot rectangle and data <-> pixel mappings (CSS pixels of the stage).\n\nimport type { ChartView } from \"./types\";\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Data <-> pixel mappings of a plot. `xToPx` / `yToPx` give the pixel along\n * the axis showing that data axis: the screen x / y of vertical charts, the\n * screen y / x of horizontal ones (use `toScreen` / `toData` for points).\n */\nexport interface Scales {\n plot: Rect;\n view: ChartView;\n /** The x axis runs down the left side, the values along the bottom */\n horizontal: boolean;\n xToPx(value: number): number;\n yToPx(value: number): number;\n pxToX(px: number): number;\n pxToY(px: number): number;\n /** Data units per CSS pixel */\n xPerPx: number;\n yPerPx: number;\n}\n\nexport const createScales = (\n plot: Rect,\n view: ChartView,\n reverseX: boolean,\n reverseY: boolean,\n horizontal = false,\n): Scales => {\n const [x0, x1] = view.x;\n const [y0, y1] = view.y;\n const left = plot.x;\n const right = plot.x + plot.width;\n const top = plot.y;\n const bottom = plot.y + plot.height;\n if (horizontal) {\n // x from top to bottom, y from left to right\n const xs = plot.height / (x1 - x0 || 1);\n const ys = plot.width / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => bottom - (v - x0) * xs\n : (v) => top + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => right - (v - y0) * ys\n : (v) => left + (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (bottom - p) / xs\n : (p) => x0 + (p - top) / xs,\n pxToY: reverseY\n ? (p) => y0 + (right - p) / ys\n : (p) => y0 + (p - left) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n }\n const xs = plot.width / (x1 - x0 || 1);\n const ys = plot.height / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => right - (v - x0) * xs\n : (v) => left + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => top + (v - y0) * ys\n : (v) => bottom - (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (right - p) / xs\n : (p) => x0 + (p - left) / xs,\n pxToY: reverseY\n ? (p) => y0 + (p - top) / ys\n : (p) => y0 + (bottom - p) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n};\n\n/** Screen pixel of a data point */\nexport const toScreen = (\n s: Scales,\n x: number,\n y: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.yToPx(y), y: s.xToPx(x) }\n : { x: s.xToPx(x), y: s.yToPx(y) };\n\n/** Data point under a screen pixel */\nexport const toData = (\n s: Scales,\n px: number,\n py: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.pxToX(py), y: s.pxToY(px) }\n : { x: s.pxToX(px), y: s.pxToY(py) };\n\n/** Coordinate of a screen pixel along the x axis (`xToPx` space) */\nexport const alongX = (s: Scales, px: number, py: number) =>\n s.horizontal ? py : px;\n\n/** Coordinate of a screen pixel along the value axis (`yToPx` space) */\nexport const alongY = (s: Scales, px: number, py: number) =>\n s.horizontal ? px : py;\n\n/**\n * Screen rectangle between two pixels along x (`xa`, `xb`) and two along\n * y (`ya`, `yb`)\n */\nexport const screenRect = (\n s: Scales,\n xa: number,\n xb: number,\n ya: number,\n yb: number,\n): Rect => {\n const a = Math.min(xa, xb);\n const b = Math.max(xa, xb);\n const c = Math.min(ya, yb);\n const d = Math.max(ya, yb);\n return s.horizontal\n ? { x: c, y: a, width: d - c, height: b - a }\n : { x: a, y: c, width: b - a, height: d - c };\n};\n\n/** Length in pixels of the x axis (plot width, height when horizontal) */\nexport const xLength = (s: Scales) =>\n s.horizontal ? s.plot.height : s.plot.width;\n\nexport interface LayoutInput {\n width: number;\n height: number;\n padding: { top: number; right: number; bottom: number; left: number };\n /** Width of the widest tick label of the left axis (0 when the axis is hidden) */\n yLabelWidth: number;\n /** Width of the widest tick label of the right axis (0 without one) */\n y2LabelWidth?: number;\n /** The right axis has a title */\n y2Title?: boolean;\n xAxisVisible: boolean;\n xTitle: boolean;\n yTitle: boolean;\n fontSize: number;\n}\n\n/** Room for the axes, then the plot area */\nexport const computePlot = (input: LayoutInput): Rect => {\n const { width, height, padding, fontSize } = input;\n const line = Math.ceil(fontSize * 1.4);\n const left =\n padding.left +\n (input.yLabelWidth > 0 ? input.yLabelWidth + 8 : 0) +\n (input.yTitle ? line + 6 : 0);\n const bottom =\n padding.bottom +\n (input.xAxisVisible ? line + 8 : 0) +\n (input.xTitle ? line + 4 : 0);\n const top = padding.top;\n const y2Width = input.y2LabelWidth ?? 0;\n const right =\n y2Width > 0 || input.y2Title\n ? Math.max(4, padding.left) +\n (y2Width > 0 ? y2Width + 8 : 0) +\n (input.y2Title ? line + 6 : 0)\n : padding.right;\n return {\n x: Math.round(left),\n y: Math.round(top),\n width: Math.max(10, Math.round(width - left - right)),\n height: Math.max(10, Math.round(height - top - bottom)),\n };\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"layout.js","names":["createScales","x0","x1","view","y0","y1","left","plot","right","top","bottom","horizontal","xs","ys","reverseX","v","reverseY","p","toScreen","s","y","x","toData","py","px","alongX","alongY","screenRect","xa","xb","b","c","ya","yb","d","heatCellStyle","size","width","height","radius","computePlot","input","line","fontSize","padding","y2Width"],"sources":["../../../../charts/src/engine/layout.ts"],"sourcesContent":["// Plot rectangle and data <-> pixel mappings (CSS pixels of the stage).\n\nimport type { ChartView } from \"./types\";\n\nexport interface Rect {\n x: number;\n y: number;\n width: number;\n height: number;\n}\n\n/**\n * Data <-> pixel mappings of a plot. `xToPx` / `yToPx` give the pixel along\n * the axis showing that data axis: the screen x / y of vertical charts, the\n * screen y / x of horizontal ones (use `toScreen` / `toData` for points).\n */\nexport interface Scales {\n plot: Rect;\n view: ChartView;\n /** The x axis runs down the left side, the values along the bottom */\n horizontal: boolean;\n xToPx(value: number): number;\n yToPx(value: number): number;\n pxToX(px: number): number;\n pxToY(px: number): number;\n /** Data units per CSS pixel */\n xPerPx: number;\n yPerPx: number;\n}\n\nexport const createScales = (\n plot: Rect,\n view: ChartView,\n reverseX: boolean,\n reverseY: boolean,\n horizontal = false,\n): Scales => {\n const [x0, x1] = view.x;\n const [y0, y1] = view.y;\n const left = plot.x;\n const right = plot.x + plot.width;\n const top = plot.y;\n const bottom = plot.y + plot.height;\n if (horizontal) {\n // x from top to bottom, y from left to right\n const xs = plot.height / (x1 - x0 || 1);\n const ys = plot.width / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => bottom - (v - x0) * xs\n : (v) => top + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => right - (v - y0) * ys\n : (v) => left + (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (bottom - p) / xs\n : (p) => x0 + (p - top) / xs,\n pxToY: reverseY\n ? (p) => y0 + (right - p) / ys\n : (p) => y0 + (p - left) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n }\n const xs = plot.width / (x1 - x0 || 1);\n const ys = plot.height / (y1 - y0 || 1);\n return {\n plot,\n view,\n horizontal,\n xToPx: reverseX\n ? (v) => right - (v - x0) * xs\n : (v) => left + (v - x0) * xs,\n yToPx: reverseY\n ? (v) => top + (v - y0) * ys\n : (v) => bottom - (v - y0) * ys,\n pxToX: reverseX\n ? (p) => x0 + (right - p) / xs\n : (p) => x0 + (p - left) / xs,\n pxToY: reverseY\n ? (p) => y0 + (p - top) / ys\n : (p) => y0 + (bottom - p) / ys,\n xPerPx: 1 / xs,\n yPerPx: 1 / ys,\n };\n};\n\n/** Screen pixel of a data point */\nexport const toScreen = (\n s: Scales,\n x: number,\n y: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.yToPx(y), y: s.xToPx(x) }\n : { x: s.xToPx(x), y: s.yToPx(y) };\n\n/** Data point under a screen pixel */\nexport const toData = (\n s: Scales,\n px: number,\n py: number,\n): { x: number; y: number } =>\n s.horizontal\n ? { x: s.pxToX(py), y: s.pxToY(px) }\n : { x: s.pxToX(px), y: s.pxToY(py) };\n\n/** Coordinate of a screen pixel along the x axis (`xToPx` space) */\nexport const alongX = (s: Scales, px: number, py: number) =>\n s.horizontal ? py : px;\n\n/** Coordinate of a screen pixel along the value axis (`yToPx` space) */\nexport const alongY = (s: Scales, px: number, py: number) =>\n s.horizontal ? px : py;\n\n/**\n * Screen rectangle between two pixels along x (`xa`, `xb`) and two along\n * y (`ya`, `yb`)\n */\nexport const screenRect = (\n s: Scales,\n xa: number,\n xb: number,\n ya: number,\n yb: number,\n): Rect => {\n const a = Math.min(xa, xb);\n const b = Math.max(xa, xb);\n const c = Math.min(ya, yb);\n const d = Math.max(ya, yb);\n return s.horizontal\n ? { x: c, y: a, width: d - c, height: b - a }\n : { x: a, y: c, width: b - a, height: d - c };\n};\n\n/** Length in pixels of the x axis (plot width, height when horizontal) */\nexport const xLength = (s: Scales) =>\n s.horizontal ? s.plot.height : s.plot.width;\n\n/**\n * Inset (per side) and corner radius of heatmap cells of `width` ×\n * `height` CSS pixels: a hairline apart (1px, 2px on large cells), corners\n * of `radius` at most 20% of the cell; tiny cells touch\n */\nexport const heatCellStyle = (\n width: number,\n height: number,\n radius: number,\n): { inset: number; radius: number } => {\n const size = Math.min(Math.abs(width), Math.abs(height));\n if (!(size >= 4)) return { inset: 0, radius: 0 };\n return {\n inset: Math.round(Math.min(1, 0.5 + size / 96) * 4) / 4,\n radius: Math.round(Math.max(0, Math.min(radius, size * 0.2)) * 4) / 4,\n };\n};\n\nexport interface LayoutInput {\n width: number;\n height: number;\n padding: { top: number; right: number; bottom: number; left: number };\n /** Width of the widest tick label of the left axis (0 when the axis is hidden) */\n yLabelWidth: number;\n /** Width of the widest tick label of the right axis (0 without one) */\n y2LabelWidth?: number;\n /** The right axis has a title */\n y2Title?: boolean;\n xAxisVisible: boolean;\n xTitle: boolean;\n yTitle: boolean;\n fontSize: number;\n}\n\n/** Room for the axes, then the plot area */\nexport const computePlot = (input: LayoutInput): Rect => {\n const { width, height, padding, fontSize } = input;\n const line = Math.ceil(fontSize * 1.4);\n const left =\n padding.left +\n (input.yLabelWidth > 0 ? input.yLabelWidth + 8 : 0) +\n (input.yTitle ? line + 6 : 0);\n const bottom =\n padding.bottom +\n (input.xAxisVisible ? line + 8 : 0) +\n (input.xTitle ? line + 4 : 0);\n const top = padding.top;\n const y2Width = input.y2LabelWidth ?? 0;\n const right =\n y2Width > 0 || input.y2Title\n ? Math.max(4, padding.left) +\n (y2Width > 0 ? y2Width + 8 : 0) +\n (input.y2Title ? line + 6 : 0)\n : padding.right;\n return {\n x: Math.round(left),\n y: Math.round(top),\n width: Math.max(10, Math.round(width - left - right)),\n height: Math.max(10, Math.round(height - top - bottom)),\n };\n};\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- const e=require("./data.cjs"),t=require("./color.cjs"),n=require("./locale.cjs"),r=require("./labels.cjs"),i=require("./scale.cjs"),a=require("./format.cjs"),o=require("./spatial.cjs");var s=e=>{if(typeof e==`object`&&e&&!(`length`in e)){let t=e.x;return t&&t.length?t[0]:void 0}let t=e;for(let e=0;e<Math.min(t.length,8);e++){let n=t[e];if(Array.isArray(n))return n[0];if(n&&typeof n==`object`)return n.x}},c=e=>{for(let t of e){let e=s(t);if(e instanceof Date)return`time`;if(typeof e==`string`)return`category`}return`linear`},l=(e,t,n,r,i)=>({type:t,reverse:!!e?.reverse,categories:n,title:e?.title,format:e?.format,grid:e?.grid??r,visible:e?.visible??!0,tickCount:e?.tickCount,locale:i,timeZone:e?.timeZone??`local`}),u=e=>{let t={};if(!e)return t;for(let n of Object.keys(e))e[n]!==void 0&&(t[n]=e[n]);return t},d=e=>{let t=1/0,n=-1/0;for(let r=0;r<e.length;r++){let i=e[r];Number.isFinite(i)&&(i<t&&(t=i),i>n&&(n=i))}return[t,n]},f=(e,t)=>{let n=1/0;return e.forEach((e,r)=>{let i=t[r]?e:Float64Array.from(e).sort();for(let e=1;e<i.length;e++){let t=i[e]-i[e-1];t>0&&t<n&&(n=t)}}),n},p=(e,t,n)=>{if(n)return 1;let r=f(e.map(e=>t===`x`?e.cols.x:e.cols.y),e.map(e=>t===`x`&&e.cols.sorted));return Number.isFinite(r)?r:1},m=(e,t)=>{let n=new Map;if(t)for(let{s:t,stack:r}of e){let e=n.get(r);e||n.set(r,e=new Map);let{x:i,y:a,count:o}=t.cols;for(let t=0;t<o;t++){let n=a[t];if(!Number.isFinite(n))continue;let r=e.get(i[t])??[0,0];n>=0?r[0]+=n:r[1]-=n,e.set(i[t],r)}}let r=new Map,i=new Map;for(let{stack:t}of e)i.set(t,(i.get(t)??0)+1);return e.map(({s:e,stack:a})=>{let{x:o,y:s,count:c}=e.cols;if(!t&&i.get(a)===1){let e=new Float64Array(c),t=new Float64Array(c);for(let n=0;n<c;n++){let r=s[n],i=Number.isFinite(r);e[n]=i?0:NaN,t[n]=i?r:NaN}return{base:e,top:t}}let l=r.get(a);l||r.set(a,l=new Map);let u=n.get(a),d=new Float64Array(c),f=new Float64Array(c);for(let e=0;e<c;e++){let t=s[e];if(!Number.isFinite(t)){d[e]=NaN,f[e]=NaN;continue}if(u){let n=u.get(o[e]),r=n?t>=0?n[0]:n[1]:0;t=r>0?t/r*100:0}let n=l.get(o[e])??[0,0],r=t>=0?n[0]:n[1];d[e]=r,f[e]=r+t,t>=0?n[0]+=t:n[1]+=t,l.set(o[e],n)}return{base:d,top:f}})},ee=`var(--success-color, #16a34a)`,te=`var(--danger-color, #dc2626)`,h=e=>{for(let t of e){if(typeof t!=`object`||!t||!(`length`in t))continue;let e=t;for(let t=0;t<Math.min(e.length,8);t++){let n=e[t];if(n&&typeof n==`object`&&!Array.isArray(n)){let e=n;if(e.y instanceof Date||e.y0 instanceof Date)return!0}}}return!1},g=e=>Number(e.toPrecision(12)),_=e=>{let t=10**Math.floor(Math.log10(e)+1e-9),n=e/t;return(n<1.5?2:n<3.5?5:10)*t},v=(e,t,n,r)=>{let[a,o]=n,s=i.tickStep(a,o,r),c=s>0?Math.round((o-a)/s):0;if([e,t]=i.ensureSpan(e,t),c<1||Math.abs(c*s-(o-a))>s*1e-6)return i.niceDomain(e,t,r);let l=i.tickStep(e,t,c);for(let n=0;n<40&&l>0;n++){let n=Math.floor(e/l+1e-9)*l;if(n+c*l>=t-l*1e-9)return[g(n),g(n+c*l)];l=_(l)}return i.niceDomain(e,t,r)},y=new WeakMap,ne=(e,t)=>{let n=`${t.scale},${t.offset}`,r=y.get(e);if(r&&r.key===n)return r.cols;let i=e=>e*t.scale+t.offset,a=e=>e?e.map(i):null,o=i(e.yMin),s=i(e.yMax),c={...e,y:e.y.map(i),open:a(e.open),high:a(e.high),low:a(e.low),y0:a(e.y0),q1:a(e.q1),q3:a(e.q3),outliers:e.outliers?e.outliers.map(e=>e?.map(i)):null,yMin:Math.min(o,s),yMax:Math.max(o,s)};return y.set(e,{key:n,cols:c}),c},b=(o,s,f,g,_=null)=>{let y=_??s.resolve??((e,n)=>t.resolveStaticColor(e,{},n)),b=o.series,x=n.resolveLocale(o.locale),S=typeof o.tooltip==`object`?o.tooltip:void 0,C=r.chartLabels(x,{...u(S?.labels),...u(o.labels)}),w=b.map(e=>e.data),T=o.xAxis?.type??c(w),E=T===`category`?[...o.xAxis?.categories??e.collectCategories(w)]:[],re=new Map(E.map((e,t)=>[e,t])),ie=e.xResolver(T,e=>re.get(e)??NaN),D=o.yAxis,ae=b.filter(e=>e.type===`heatmap`).map(e=>e.data),O=D?.type===`category`||!D?.type&&ae.length?[...D?.categories??e.collectYCategories(ae)]:[],k=D?.type===`category`||O.length?`category`:D?.type===`time`||!D?.type&&h(w)?`time`:`linear`,oe=new Map(O.map((e,t)=>[e,t])),se=e=>typeof e==`number`?e:typeof e==`string`?k===`category`?oe.get(e)??NaN:k===`time`?Date.parse(e):Number(e):e instanceof Date?e.getTime():NaN,A=`${T}|${E.join(``)}|${k}|${O.join(``)}`,j=o.stackMode===`percent`,M=o.orientation===`horizontal`,N=new Set,P=b.map((n,r)=>{let i=n.id??`#${r}`;for(;N.has(i);)i+=`'`;N.add(i);let a=g.get(i);(!a||a.data!==n.data||a.resolverKey!==A)&&(a={data:n.data,resolverKey:A,cols:e.normalizeData(n.data,ie,se)},g.set(i,a));let o=n.type??`line`,c=s.palette[r%s.palette.length],l=n.color?y(n.color,c):c,u=a.cols,d=null;if((o===`scatter`||o===`bar`||o===`boxplot`)&&u.colors){let e=new Map;d=u.colors.map(t=>{if(t===void 0)return;let n=e.get(t);return n||e.set(t,n=y(t,l)),n})}let p=[],m=[0,1],h=null;if(o===`heatmap`){p=n.colorScale&&n.colorScale.length?n.colorScale.map(e=>y(e,l)):[t.mix(s.background,l,.08),l],m=n.valueRange?[n.valueRange[0],n.valueRange[1]]:[u.valueMin,u.valueMax],Number.isFinite(m[0])||(m=[0,1]);let e=u.value??u.y,[r,i]=m,a=i-r||1;h=new Uint32Array(u.count);for(let n=0;n<u.count;n++){let i=e[n];Number.isFinite(i)&&Number.isFinite(u.y[n])&&(h[n]=t.packColor(t.rampColor(p,(i-r)/a)))}}let _=n.id??String(r);return{index:r,key:i,id:_,name:n.name??`${C.series} ${r+1}`,type:o,color:l,colorCss:t.toCss(l),lineWidth:n.lineWidth??(o===`candlestick`?1:o===`boxplot`?1.5:2),pointSize:n.pointSize??(o===`boxplot`?6:8),opacity:n.opacity??(o===`area`?.28:o===`scatter`?.78:o===`boxplot`?.22:1),hidden:!!n.hidden||f.has(_),showLabels:!!n.showLabels,curve:n.curve??`linear`,cols:u,raw:u,yAxis:n.yAxis===`right`&&!M?`right`:`left`,floating:o===`bar`&&!!u.y0,barOffset:0,barHalfWidth:0,barBase:null,barTop:null,stackBase:null,stackTop:null,pointColors:d,upColor:o===`candlestick`?y(n.upColor??ee,[.09,.64,.29,1]):l,downColor:o===`candlestick`?y(n.downColor??te,[.86,.15,.15,1]):l,cellColors:h,cellHalf:{x:.5,y:.5},colorScale:p,valueRange:m,radius:n.radius??(o===`heatmap`?2:o===`boxplot`?0:3),format:n.format,valueName:n.valueName}}),F=P.filter(e=>!e.hidden),I=P.length>0&&P.every(e=>e.type===`scatter`||e.type===`heatmap`),L=F.filter(e=>e.type===`bar`||e.type===`boxplot`),R=F.filter(e=>e.type===`bar`),z=p(L,`x`,T===`category`);if(L.length){let e=new Map,t=e=>b[e.index].stack??`\u0000${e.key}`;for(let n of L)e.has(t(n))||e.set(t(n),e.size);let n=0;for(let e of L){let t=b[e.index].barWidth;t!==void 0&&t>n&&(n=Math.min(1,t))}let r=z*(n||(e.size>1?.78:.62)),i=r/e.size;for(let n of L){let a=e.get(t(n))??0;n.barOffset=-r/2+i*(a+.5),n.barHalfWidth=i/2*(e.size>1?.86:1)}let a=R.filter(e=>!e.floating),o=m(a.map(e=>({s:e,stack:t(e)})),!1),s=j?m(a.filter(e=>b[e.index].stack!==void 0).map(e=>({s:e,stack:t(e)})),!0):[],c=0;a.forEach((e,t)=>{let n=j&&b[e.index].stack!==void 0?s[c++]:o[t];e.barBase=n.base,e.barTop=n.top});for(let e of R){let{y:t,y0:n,count:r}=e.cols;if(!e.floating||!n)continue;let i=new Float64Array(r),a=new Float64Array(r);for(let e=0;e<r;e++){let r=Number.isFinite(t[e]);i[e]=r?Number.isFinite(n[e])?n[e]:0:NaN,a[e]=r?t[e]:NaN}e.barBase=i,e.barTop=a}}for(let e of F)e.type===`area`&&e.cols.y0&&b[e.index].stack===void 0&&(e.stackBase=e.cols.y0);let B=F.filter(e=>(e.type===`line`||e.type===`area`)&&b[e.index].stack!==void 0);if(B.length){let e=m(B.map(e=>({s:e,stack:b[e.index].stack??``})),j);B.forEach((t,n)=>{t.stackBase=e[n].base,t.stackTop=e[n].top})}let V=F.filter(e=>e.type===`candlestick`),H=p(V,`x`,T===`category`);for(let e of V)e.barHalfWidth=H*.3;let U=F.filter(e=>e.type===`heatmap`);if(U.length){let e=p(U,`x`,T===`category`)/2,t=p(U,`y`,k===`category`)/2;for(let n of U)n.cellHalf={x:e,y:t}}let W=o.xAxis,G;if(T===`category`)G=[-.5,Math.max(1,E.length)-.5];else{let e=[];for(let t of F){e.push(t.cols.xMin,t.cols.xMax);let n=t.type===`bar`||t.type===`boxplot`?z/2:t.type===`candlestick`?H/2:t.type===`heatmap`?t.cellHalf.x:0;n&&e.push(t.cols.xMin-n,t.cols.xMax+n)}G=i.ensureSpan(...d(e),T===`time`?[Date.now()-864e5,Date.now()]:[0,1]);let t=P.every(e=>e.type===`scatter`);if(t){let e=(G[1]-G[0])*.04;G=[G[0]-e,G[1]+e]}(W?.nice??(t&&T===`linear`))&&T===`linear`&&(G=i.niceDomain(G[0],G[1],W?.tickCount??6))}W?.min!==void 0&&(G[0]=W.min),W?.max!==void 0&&(G[1]=W.max),G=i.ensureSpan(G[0],G[1]);let K=(e,t)=>{let n=[];for(let t of e)t.type===`bar`&&t.barBase&&t.barTop?n.push(...d(t.barBase),...d(t.barTop)):t.stackBase&&t.stackTop?n.push(...d(t.stackBase),...d(t.stackTop)):t.type===`heatmap`?n.push(t.cols.yMin-t.cellHalf.y,t.cols.yMax+t.cellHalf.y):n.push(t.cols.yMin,t.cols.yMax);let r=e.filter(e=>e.type===`bar`);if((r.some(e=>!e.floating)||t)&&n.push(0),r.some(e=>e.showLabels)){let[e,t]=d(n);t>0&&n.push(t+(t-Math.min(0,e))*.1),e<0&&n.push(e-(Math.max(0,t)-e)*.1)}return n},q=F.filter(e=>e.yAxis===`left`),J=q.length?q:F,Y=J.filter(e=>e.type===`bar`),X;if(k===`category`)X=[-.5,Math.max(1,O.length)-.5];else{let e=K(J,D?.zero),t=Y.length>0||J.some(e=>e.type===`area`);if(X=i.ensureSpan(...d(e)),P.every(e=>e.type===`scatter`)){let e=(X[1]-X[0])*.06;X=[X[0]-e,X[1]+e]}else if((V.length||J.some(e=>e.type===`boxplot`))&&!Y.length){let e=(X[1]-X[0])*.04;X=[X[0]-e,X[1]+e]}(D?.nice??!U.length)&&k===`linear`&&(X=i.niceDomain(X[0],X[1],D?.tickCount??5)),j&&(R.length||B.length)&&(X=[d(e)[0]<0?-100:0,100]),t&&!D?.zero&&X[0]<0&&d(e)[0]>=0&&(X[0]=0)}D?.min!==void 0&&(X[0]=D.min),D?.max!==void 0&&(X[1]=D.max),X=i.ensureSpan(X[0],X[1]);let Z=o.yAxis2,ce=null,le=null,Q=P.filter(e=>e.yAxis===`right`);if(Q.length&&k!==`category`){let e=K(Q.filter(e=>!e.hidden),Z?.zero),[t,n]=i.ensureSpan(...d(e)),r=Z?.nice===!1?[t,n]:v(t,n,X,D?.tickCount??5);Z?.min!==void 0&&(r[0]=Z.min),Z?.max!==void 0&&(r[1]=Z.max),r=i.ensureSpan(r[0],r[1]);let a=(X[1]-X[0])/(r[1]-r[0]),o={scale:a,offset:X[0]-r[0]*a};le=o;let s=e=>e*o.scale+o.offset,c=e=>e?e.map(s):null,u=s(Math.min(Math.max(0,r[0]),r[1]));for(let e of Q){let t=e.stackBase;e.cols=ne(e.raw,o),e.barBase=c(e.barBase),e.barTop=c(e.barTop),e.stackTop=c(e.stackTop),e.stackBase=t&&t===e.raw.y0?e.cols.y0:t?c(t):e.type===`area`?new Float64Array(e.cols.count).fill(u):null}ce=l(Z,`linear`,[],!1,x)}let $=o.interaction===!1?!1:o.interaction===!0||o.interaction===void 0?!0:o.interaction.zoom??!0,ue=$===!1?{x:!1,y:!1}:$===!0?{x:!0,y:I}:{x:$.includes(`x`),y:$.includes(`y`)},de=D?.format??(j&&(R.length||B.length)?e=>a.formatPercent(e,x):void 0);return{series:P,x:l(W,T,E,!1,x),y:{...l(D,k,O,k!==`category`,x),format:de},y2:ce,y2Map:le,horizontal:M,locale:x,labels:C,formatValue:a.valueFormatter(x),base:{x:G,y:X},allScatter:I,zoom:ue,tooltipMode:S?.mode??(I?`nearest`:`axis`),baseline:Math.min(Math.max(0,X[0]),X[1]),minSpan:{x:T===`category`?1:(G[1]-G[0])*1e-7,y:k===`category`?1:(X[1]-X[0])*1e-7},percent:j,stacks:b.map(e=>e.stack!==void 0&&(e.type===`bar`||e.type===`line`||e.type===`area`||!e.type)?`${e.type===`bar`?`bar`:`line`}:${e.stack}`:null)}},x=(e,t)=>e.barTop?e.barTop[t]:e.stackTop?e.stackTop[t]:e.cols.y[t],S=new WeakMap,C=e=>{let t=S.get(e.cols);return t||(t=new o.GridIndex(e.cols.x,e.cols.y,e.cols.count),S.set(e.cols,t)),t};exports.alignedDomain=v,exports.buildModel=b,exports.detectXType=c,exports.gridOf=C,exports.plottedY=x;
1
+ const e=require("./data.cjs"),t=require("./color.cjs"),n=require("./locale.cjs"),r=require("./labels.cjs"),i=require("./scale.cjs"),a=require("./format.cjs"),o=require("./spatial.cjs");var s={scale:1,offset:0,log:!0},c=e=>{if(typeof e==`object`&&e&&!(`length`in e)){let t=e.x;return t&&t.length?t[0]:void 0}let t=e;for(let e=0;e<Math.min(t.length,8);e++){let n=t[e];if(Array.isArray(n))return n[0];if(n&&typeof n==`object`)return n.x}},l=e=>{for(let t of e){let e=c(t);if(e instanceof Date)return`time`;if(typeof e==`string`)return`category`}return`linear`},u=(e,t,n,r,i)=>({type:t,reverse:!!e?.reverse,categories:n,title:e?.title,format:e?.format,grid:e?.grid??r,visible:e?.visible??!0,tickCount:e?.tickCount,locale:i,timeZone:e?.timeZone??`local`}),d=e=>{let t={};if(!e)return t;for(let n of Object.keys(e))e[n]!==void 0&&(t[n]=e[n]);return t},f=e=>{let t=1/0,n=-1/0;for(let r=0;r<e.length;r++){let i=e[r];Number.isFinite(i)&&(i<t&&(t=i),i>n&&(n=i))}return[t,n]},p=(e,t)=>{let n=1/0;return e.forEach((e,r)=>{let i=t[r]?e:Float64Array.from(e).sort();for(let e=1;e<i.length;e++){let t=i[e]-i[e-1];t>0&&t<n&&(n=t)}}),n},m=(e,t,n)=>{if(n)return 1;let r=p(e.map(e=>t===`x`?e.cols.x:e.cols.y),e.map(e=>t===`x`&&e.cols.sorted));return Number.isFinite(r)?r:1},h=(e,t)=>{let n=new Map;if(t)for(let{s:t,stack:r}of e){let e=n.get(r);e||n.set(r,e=new Map);let{x:i,y:a,count:o}=t.cols;for(let t=0;t<o;t++){let n=a[t];if(!Number.isFinite(n))continue;let r=e.get(i[t])??[0,0];n>=0?r[0]+=n:r[1]-=n,e.set(i[t],r)}}let r=new Map,i=new Map;for(let{stack:t}of e)i.set(t,(i.get(t)??0)+1);return e.map(({s:e,stack:a})=>{let{x:o,y:s,count:c}=e.cols;if(!t&&i.get(a)===1){let e=new Float64Array(c),t=new Float64Array(c);for(let n=0;n<c;n++){let r=s[n],i=Number.isFinite(r);e[n]=i?0:NaN,t[n]=i?r:NaN}return{base:e,top:t}}let l=r.get(a);l||r.set(a,l=new Map);let u=n.get(a),d=new Float64Array(c),f=new Float64Array(c);for(let e=0;e<c;e++){let t=s[e];if(!Number.isFinite(t)){d[e]=NaN,f[e]=NaN;continue}if(u){let n=u.get(o[e]),r=n?t>=0?n[0]:n[1]:0;t=r>0?t/r*100:0}let n=l.get(o[e])??[0,0],r=t>=0?n[0]:n[1];d[e]=r,f[e]=r+t,t>=0?n[0]+=t:n[1]+=t,l.set(o[e],n)}return{base:d,top:f}})},ee=`var(--success-color, #16a34a)`,te=`var(--danger-color, #dc2626)`,g=e=>{for(let t of e){if(typeof t!=`object`||!t||!(`length`in t))continue;let e=t;for(let t=0;t<Math.min(e.length,8);t++){let n=e[t];if(n&&typeof n==`object`&&!Array.isArray(n)){let e=n;if(e.y instanceof Date||e.y0 instanceof Date)return!0}}}return!1},_=e=>Number(e.toPrecision(12)),v=e=>{let t=10**Math.floor(Math.log10(e)+1e-9),n=e/t;return(n<1.5?2:n<3.5?5:10)*t},y=(e,t,n,r)=>{let[a,o]=n,s=i.tickStep(a,o,r),c=s>0?Math.round((o-a)/s):0;if([e,t]=i.ensureSpan(e,t),c<1||Math.abs(c*s-(o-a))>s*1e-6)return i.niceDomain(e,t,r);let l=i.tickStep(e,t,c);for(let n=0;n<40&&l>0;n++){let n=Math.floor(e/l+1e-9)*l;if(n+c*l>=t-l*1e-9)return[_(n),_(n+c*l)];l=v(l)}return i.niceDomain(e,t,r)},b=new WeakMap,x=(e,t)=>{let n=`${t.scale},${t.offset},${!!t.log}`,r=b.get(e);if(r&&r.key===n)return r.cols;let i=C(t),a=e=>e?e.map(i):null,o=e,s={...o,y:o.y.map(i),open:a(o.open),high:a(o.high),low:a(o.low),y0:a(o.y0),q1:a(o.q1),q3:a(o.q3),outliers:o.outliers?o.outliers.map(e=>e?.map(i)):null};if(t.log){let e=[1/0,-1/0],t=t=>{if(t)for(let n=0;n<t.length;n++){let r=t[n];Number.isFinite(r)&&(r<e[0]&&(e[0]=r),r>e[1]&&(e[1]=r))}};for(let e of[s.y,s.y0,s.high,s.low,s.q1,s.q3])t(e);s.outliers?.forEach(e=>t(e)),s.yMin=e[0]<=e[1]?e[0]:NaN,s.yMax=e[0]<=e[1]?e[1]:NaN}else{let e=i(o.yMin),t=i(o.yMax);s.yMin=Math.min(e,t),s.yMax=Math.max(e,t)}return b.set(e,{key:n,cols:s}),s},S=e=>{let t=Math.floor(e[0]+1e-9),n=Math.ceil(e[1]-1e-9);return[t,n>t?n:t+1]},ne=(e,t,n=-1/0)=>{let r=C(t),i=e=>e?e.map(r):null,a=e.stackBase;e.cols=x(e.cols,t),e.barBase=e.barBase&&!e.floating?e.barBase.map(e=>e===0?t.log?-1/0:r(0):r(e)):i(e.barBase),e.barTop=i(e.barTop),e.stackTop=i(e.stackTop),e.stackBase=a&&a===e.raw.y0?e.cols.y0:a?i(a):e.type===`area`?new Float64Array(e.cols.count).fill(n):null},C=e=>t=>(e.log?Math.log10(t):t)*e.scale+e.offset,w=(e,t)=>e.y.type===`log`?Math.log10(t):t,T=(e,t)=>e.y.type===`log`?10**t:t,E=(e,t)=>e.x.type===`log`?Math.log10(t):t,D=(e,t)=>e.x.type===`log`?10**t:t,O=(e,t)=>({x:[D(e,t.x[0]),D(e,t.x[1])],y:[T(e,t.y[0]),T(e,t.y[1])]}),k=(e,t,n)=>({x:t.x?[E(e,t.x[0]),E(e,t.x[1])]:n.x,y:t.y?[w(e,t.y[0]),w(e,t.y[1])]:n.y}),A=new WeakMap,re=e=>{let t=A.get(e);if(t)return t;let n=e.x.map(e=>e>0?Math.log10(e):NaN),r=e.y,i=!1;for(let t=0;t<e.count;t++)Number.isFinite(n[t])||(i||(r=Float64Array.from(e.y)),i=!0,r[t]=NaN);let[a,o]=f(n),s={...e,x:n,y:r,xMin:a,xMax:o,sorted:e.sorted&&!i};return A.set(e,s),s},ie=(e,t)=>{for(let n of[e.barBase,e.stackBase])if(n)for(let e=0;e<n.length;e++)n[e]===-1/0&&(n[e]=t)},ae=(e,t)=>{let[n,r]=e.valueRange,i=e.colorMidpoint,a;return a=i!==null&&i>n&&i<r?t<i?(t-n)/(i-n)*.5:.5+(t-i)/(r-i)*.5:(t-n)/(r-n||1),a<0?0:a>1?1:a},oe=(e,n,r,i)=>{let a=t.luminance(r.background)<.4;if(e===`diverging`){let e=t.mixOklab(r.surface,r.textMuted,a?.12:.08),o=e=>a?t.withLightness(e,.7,1.25):t.withLightness(e,.5,1.05),s=n=>t.mixOklab(e,o(n),.5);return[o(i),s(i),e,s(n),o(n)]}return a?[t.mixOklab(r.surface,n,.14),t.withLightness(n,.46,.95),t.withLightness(n,.64,1.2),t.withLightness(n,.8,1.15)]:[t.mixOklab(r.surface,n,.06),t.withLightness(n,.8,.6),t.withLightness(n,.58,1),t.withLightness(n,.36,.9)]},se=(o,c,p,_,v=null)=>{let b=v??c.resolve??((e,n)=>t.resolveStaticColor(e,{},n)),w=o.series,T=n.resolveLocale(o.locale),E=typeof o.tooltip==`object`?o.tooltip:void 0,D=r.chartLabels(T,{...d(E?.labels),...d(o.labels)}),O=w.map(e=>e.data),k=o.xAxis?.type??l(O),A=k===`category`?[...o.xAxis?.categories??e.collectCategories(O)]:[],se=new Map(A.map((e,t)=>[e,t])),ce=e.xResolver(k,e=>se.get(e)??NaN),j=o.yAxis,M=w.filter(e=>e.type===`heatmap`).map(e=>e.data),N=j?.type===`category`||!j?.type&&M.length?[...j?.categories??e.collectYCategories(M)]:[],P=j?.type===`category`||N.length?`category`:j?.type===`time`||!j?.type&&g(O)?`time`:j?.type===`log`?`log`:`linear`,F=P===`log`,le=new Map(N.map((e,t)=>[e,t])),ue=e=>typeof e==`number`?e:typeof e==`string`?P===`category`?le.get(e)??NaN:P===`time`?Date.parse(e):Number(e):e instanceof Date?e.getTime():NaN,de=`${k}|${A.join(``)}|${P}|${N.join(``)}`,I=o.stackMode===`percent`,fe=o.orientation===`horizontal`,pe=new Set,L=w.map((n,r)=>{let i=n.id??`#${r}`;for(;pe.has(i);)i+=`'`;pe.add(i);let a=_.get(i);(!a||a.data!==n.data||a.resolverKey!==de)&&(a={data:n.data,resolverKey:de,cols:e.normalizeData(n.data,ce,ue)},_.set(i,a));let o=n.type??`line`,s=c.palette[r%c.palette.length],l=n.color?b(n.color,s):s,u=a.cols,d=null;if((o===`scatter`||o===`bar`||o===`boxplot`)&&u.colors){let e=new Map;d=u.colors.map(t=>{if(t===void 0)return;let n=e.get(t);return n||e.set(t,n=b(t,l)),n})}let f=[],m=[0,1],h=null,g=null,v=null;if(o===`heatmap`){let e=n.colorScale,r=e===`diverging`?`diverging`:`sequential`;f=typeof e==`object`&&e.length?e.map(e=>b(e,l)):oe(r,l,c,b(te,[.86,.15,.15,1])),m=n.valueRange?[n.valueRange[0],n.valueRange[1]]:[u.valueMin,u.valueMax],Number.isFinite(m[0])||(m=[0,1]);let[i,a]=m;g=n.colorMidpoint??(r===`diverging`&&typeof e!=`object`?i<0&&a>0?0:(i+a)/2:null);let o=t.oklabRamp(f);v=o;let s=u.value??u.y,d={valueRange:m,colorMidpoint:g};h=new Uint32Array(u.count);for(let e=0;e<u.count;e++){let t=s[e];Number.isFinite(t)&&Number.isFinite(u.y[e])&&(h[e]=o[Math.round(ae(d,t)*255)])}}let y=n.connector?typeof n.connector==`object`?n.connector:{}:null,x=n.id??String(r);return{index:r,key:i,id:x,name:n.name??`${D.series} ${r+1}`,type:o,color:l,colorCss:t.toCss(l),lineWidth:n.lineWidth??(o===`candlestick`?1:o===`boxplot`?1.5:2),pointSize:n.pointSize??(o===`boxplot`?6:8),opacity:n.opacity??(o===`area`?.28:o===`scatter`?.78:o===`boxplot`?.22:1),hidden:!!n.hidden||p.has(x),showLabels:!!n.showLabels,curve:n.curve??`linear`,cols:u,raw:u,yAxis:n.yAxis===`right`&&!fe?`right`:`left`,floating:o===`bar`&&!!u.y0,barOffset:0,barHalfWidth:0,barBase:null,barTop:null,stackBase:null,stackTop:null,pointColors:d,upColor:o===`candlestick`?b(n.upColor??ee,[.09,.64,.29,1]):l,downColor:o===`candlestick`?b(n.downColor??te,[.86,.15,.15,1]):l,cellColors:h,cellHalf:{x:.5,y:.5},colorScale:f,valueRange:m,colorMidpoint:g,colorLut:v,tooltip:n.tooltip!==!1,outlierShape:n.outlierShape??`hollow`,outlierSize:n.outlierSize??n.pointSize??7,connector:y&&o===`bar`?{color:y.color?b(y.color,c.textMuted):c.textMuted,dash:[...y.dash??[3,3]],width:y.width??1}:null,radius:n.radius??(o===`heatmap`?2:o===`boxplot`?0:3),format:n.format,valueName:n.valueName}}),R=L.filter(e=>!e.hidden),z=k===`log`;if(z)for(let e of L)e.cols=re(e.raw);let B=L.length>0&&L.every(e=>e.type===`scatter`||e.type===`heatmap`),V=R.filter(e=>e.type===`bar`||e.type===`boxplot`),H=R.filter(e=>e.type===`bar`),me=m(V,`x`,k===`category`);if(V.length){let e=new Map,t=e=>w[e.index].stack??`\u0000${e.key}`;for(let n of V)e.has(t(n))||e.set(t(n),e.size);let n=0;for(let e of V){let t=w[e.index].barWidth;t!==void 0&&t>n&&(n=Math.min(1,t))}let r=me*(n||(e.size>1?.78:.62)),i=r/e.size;for(let n of V){let a=e.get(t(n))??0;n.barOffset=-r/2+i*(a+.5),n.barHalfWidth=i/2*(e.size>1?.86:1)}let a=H.filter(e=>!e.floating),o=h(a.map(e=>({s:e,stack:t(e)})),!1),s=I?h(a.filter(e=>w[e.index].stack!==void 0).map(e=>({s:e,stack:t(e)})),!0):[],c=0;a.forEach((e,t)=>{let n=I&&w[e.index].stack!==void 0?s[c++]:o[t];e.barBase=n.base,e.barTop=n.top});for(let e of H){let{y:t,y0:n,count:r}=e.cols;if(!e.floating||!n)continue;let i=new Float64Array(r),a=new Float64Array(r);for(let e=0;e<r;e++){let r=Number.isFinite(t[e]);i[e]=r?Number.isFinite(n[e])?n[e]:0:NaN,a[e]=r?t[e]:NaN}e.barBase=i,e.barTop=a}}for(let e of R)e.type===`area`&&e.cols.y0&&w[e.index].stack===void 0&&(e.stackBase=e.cols.y0);let U=R.filter(e=>(e.type===`line`||e.type===`area`)&&w[e.index].stack!==void 0);if(U.length){let e=h(U.map(e=>({s:e,stack:w[e.index].stack??``})),I);U.forEach((t,n)=>{t.stackBase=e[n].base,t.stackTop=e[n].top})}let W=R.filter(e=>e.type===`candlestick`),he=m(W,`x`,k===`category`);for(let e of W)e.barHalfWidth=he*.3;let G=R.filter(e=>e.type===`heatmap`);if(G.length){let e=m(G,`x`,k===`category`)/2,t=m(G,`y`,P===`category`)/2;for(let n of G)n.cellHalf={x:e,y:t}}let K=o.xAxis,q;if(k===`category`)q=[-.5,Math.max(1,A.length)-.5];else{let e=[];for(let t of R){e.push(t.cols.xMin,t.cols.xMax);let n=t.type===`bar`||t.type===`boxplot`?me/2:t.type===`candlestick`?he/2:t.type===`heatmap`?t.cellHalf.x:0;n&&e.push(t.cols.xMin-n,t.cols.xMax+n)}q=i.ensureSpan(...f(e),k===`time`?[Date.now()-864e5,Date.now()]:[0,1]);let t=L.every(e=>e.type===`scatter`);if(t){let e=(q[1]-q[0])*.04;q=[q[0]-e,q[1]+e]}(K?.nice??(t&&k===`linear`))&&k===`linear`&&(q=i.niceDomain(q[0],q[1],K?.tickCount??6)),z&&K?.nice!==!1&&(q=S(q))}let ge=e=>z?Math.log10(e):e;if(K?.min!==void 0&&(q[0]=ge(K.min)),K?.max!==void 0&&(q[1]=ge(K.max)),q=i.ensureSpan(q[0],q[1]),F)for(let e of L)e.yAxis!==`right`&&e.type!==`heatmap`&&ne(e,s);let _e=(e,t,n=!1)=>{let r=[];for(let t of e)t.type===`bar`&&t.barBase&&t.barTop?r.push(...f(t.barBase),...f(t.barTop)):t.stackBase&&t.stackTop?r.push(...f(t.stackBase),...f(t.stackTop)):t.type===`heatmap`?r.push(t.cols.yMin-t.cellHalf.y,t.cols.yMax+t.cellHalf.y):r.push(t.cols.yMin,t.cols.yMax);let i=e.filter(e=>e.type===`bar`);if(!n&&(i.some(e=>!e.floating)||t)&&r.push(0),i.some(e=>e.showLabels)){let[e,t]=f(r);t>0&&r.push(t+(t-Math.min(0,e))*.1),e<0&&r.push(e-(Math.max(0,t)-e)*.1)}return r},ve=R.filter(e=>e.yAxis===`left`),J=ve.length?ve:R,ye=J.filter(e=>e.type===`bar`),Y;if(P===`category`)Y=[-.5,Math.max(1,N.length)-.5];else{let e=_e(J,j?.zero,F),t=ye.length>0||J.some(e=>e.type===`area`);if(Y=i.ensureSpan(...f(e)),L.every(e=>e.type===`scatter`)){let e=(Y[1]-Y[0])*.06;Y=[Y[0]-e,Y[1]+e]}else if((W.length||J.some(e=>e.type===`boxplot`))&&!ye.length){let e=(Y[1]-Y[0])*.04;Y=[Y[0]-e,Y[1]+e]}(j?.nice??!G.length)&&P===`linear`&&(Y=i.niceDomain(Y[0],Y[1],j?.tickCount??5)),F&&j?.nice!==!1&&(Y=S(Y)),I&&(H.length||U.length)&&(Y=[f(e)[0]<0?-100:0,100]),t&&!j?.zero&&!F&&Y[0]<0&&f(e)[0]>=0&&(Y[0]=0)}let be=e=>F?Math.log10(e):e;if(j?.min!==void 0&&(Y[0]=be(j.min)),j?.max!==void 0&&(Y[1]=be(j.max)),Y=i.ensureSpan(Y[0],Y[1]),F)for(let e of L)e.yAxis===`left`&&ie(e,Y[0]);let X=o.yAxis2,xe=null,Z=null,Q=L.filter(e=>e.yAxis===`right`);if(Q.length&&P!==`category`){let e=X?.type===`log`,t=Q.filter(e=>!e.hidden),n=e?t.flatMap(e=>{let t=x(e.raw,s);return[t.yMin,t.yMax]}):_e(t,X?.zero),[r,a]=i.ensureSpan(...f(n)),o=X?.nice===!1?[r,a]:e?S([r,a]):y(r,a,Y,j?.tickCount??5),c=t=>e?Math.log10(t):t;X?.min!==void 0&&(o[0]=c(X.min)),X?.max!==void 0&&(o[1]=c(X.max)),o=i.ensureSpan(o[0],o[1]);let l=(Y[1]-Y[0])/(o[1]-o[0]),d={scale:l,offset:Y[0]-o[0]*l,log:e};Z=d;let p=e?Y[0]:C(d)(Math.min(Math.max(0,o[0]),o[1]));for(let e of Q)ne(e,d,p),ie(e,Y[0]);xe=u(X,e?`log`:`linear`,[],!1,T)}let Se=P===`time`&&L.some(e=>e.type===`bar`)&&L.every(e=>e.type===`bar`?e.floating:e.type===`scatter`),$=o.interaction===!1?!1:o.interaction===!0||o.interaction===void 0?!0:o.interaction.zoom??!0,Ce=$===!1?{x:!1,y:!1}:$===!0?{x:!0,y:B}:{x:$.includes(`x`),y:$.includes(`y`)},we=j?.format??(I&&(H.length||U.length)?e=>a.formatPercent(e,T):void 0);return{series:L,x:u(K,k,A,!1,T),y:{...u(j,P,N,P!==`category`,T),format:we},y2:xe,y2Map:Z,horizontal:fe,locale:T,labels:D,formatValue:a.valueFormatter(T),base:{x:q,y:Y},allScatter:B,zoom:Ce,tooltipMode:E?.mode??(B?`nearest`:Se?`item`:`axis`),baseline:F?Y[0]:Math.min(Math.max(0,Y[0]),Y[1]),minSpan:{x:k===`category`?1:(q[1]-q[0])*1e-7,y:P===`category`?1:(Y[1]-Y[0])*1e-7},percent:I,stacks:w.map(e=>e.stack!==void 0&&(e.type===`bar`||e.type===`line`||e.type===`area`||!e.type)?`${e.type===`bar`?`bar`:`line`}:${e.stack}`:null)}},ce=(e,t)=>e.barTop?e.barTop[t]:e.stackTop?e.stackTop[t]:e.cols.y[t],j=new WeakMap,M=e=>{let t=j.get(e.cols);return t||(t=new o.GridIndex(e.cols.x,e.cols.y,e.cols.count),j.set(e.cols,t)),t};exports.alignedDomain=y,exports.buildModel=se,exports.detectXType=l,exports.fromPlotX=D,exports.fromPlotY=T,exports.gridOf=M,exports.heatPosition=ae,exports.heatmapStops=oe,exports.plottedY=ce,exports.toPlotX=E,exports.toPlotY=w,exports.viewFromValues=k,exports.viewToValues=O;
2
2
  //# sourceMappingURL=model.cjs.map