@weng-lab/visualization 2.6.0-beta.1 → 2.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 (1292) hide show
  1. package/dist/src/components/Heatmap/Heatmap.d.ts.map +1 -1
  2. package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts +19 -5
  3. package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts.map +1 -1
  4. package/dist/src/components/Heatmap/HeatmapGrid.d.ts +36 -0
  5. package/dist/src/components/Heatmap/HeatmapGrid.d.ts.map +1 -0
  6. package/dist/src/components/Heatmap/{scrollable/HeatmapMiniMap.d.ts → HeatmapMiniMap.d.ts} +1 -1
  7. package/dist/src/components/Heatmap/HeatmapMiniMap.d.ts.map +1 -0
  8. package/dist/src/components/Heatmap/{scrollable/HeatmapMiniMapPopup.d.ts → HeatmapMiniMapPopup.d.ts} +1 -1
  9. package/dist/src/components/Heatmap/HeatmapMiniMapPopup.d.ts.map +1 -0
  10. package/dist/src/components/Heatmap/heatmapAxisProps.d.ts +2 -15
  11. package/dist/src/components/Heatmap/heatmapAxisProps.d.ts.map +1 -1
  12. package/dist/src/components/Heatmap/heatmapCellAppearance.d.ts +2 -2
  13. package/dist/src/components/Heatmap/heatmapExport.d.ts +20 -0
  14. package/dist/src/components/Heatmap/heatmapExport.d.ts.map +1 -0
  15. package/dist/src/components/Heatmap/heatmapLayout.d.ts +4 -18
  16. package/dist/src/components/Heatmap/heatmapLayout.d.ts.map +1 -1
  17. package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts +4 -3
  18. package/dist/src/components/Heatmap/hooks/useHeatmapCanvasGrid.d.ts.map +1 -1
  19. package/dist/src/components/Heatmap/types.d.ts +13 -5
  20. package/dist/src/components/Heatmap/types.d.ts.map +1 -1
  21. package/dist/src/utility.d.ts +34 -20
  22. package/dist/src/utility.d.ts.map +1 -1
  23. package/dist/visualization.es10.js +11 -11
  24. package/dist/visualization.es100.js +556 -44
  25. package/dist/visualization.es100.js.map +1 -1
  26. package/dist/visualization.es101.js +214 -76
  27. package/dist/visualization.es101.js.map +1 -1
  28. package/dist/visualization.es102.js +2 -25
  29. package/dist/visualization.es102.js.map +1 -1
  30. package/dist/visualization.es103.js +4795 -80
  31. package/dist/visualization.es103.js.map +1 -1
  32. package/dist/visualization.es104.js +25 -36
  33. package/dist/visualization.es104.js.map +1 -1
  34. package/dist/visualization.es105.js +43 -220
  35. package/dist/visualization.es105.js.map +1 -1
  36. package/dist/visualization.es106.js +144 -2
  37. package/dist/visualization.es106.js.map +1 -1
  38. package/dist/visualization.es107.js +146 -556
  39. package/dist/visualization.es107.js.map +1 -1
  40. package/dist/visualization.es108.js +14 -213
  41. package/dist/visualization.es108.js.map +1 -1
  42. package/dist/visualization.es109.js +15 -2
  43. package/dist/visualization.es109.js.map +1 -1
  44. package/dist/visualization.es11.js +10 -10
  45. package/dist/visualization.es110.js +54 -4799
  46. package/dist/visualization.es110.js.map +1 -1
  47. package/dist/visualization.es111.js +24 -25
  48. package/dist/visualization.es111.js.map +1 -1
  49. package/dist/visualization.es112.js +80 -41
  50. package/dist/visualization.es112.js.map +1 -1
  51. package/dist/visualization.es113.js +244 -143
  52. package/dist/visualization.es113.js.map +1 -1
  53. package/dist/visualization.es114.js +17 -146
  54. package/dist/visualization.es114.js.map +1 -1
  55. package/dist/visualization.es115.js +140 -56
  56. package/dist/visualization.es115.js.map +1 -1
  57. package/dist/visualization.es116.js +173 -30
  58. package/dist/visualization.es116.js.map +1 -1
  59. package/dist/visualization.es117.js +102 -17
  60. package/dist/visualization.es117.js.map +1 -1
  61. package/dist/visualization.es118.js +37 -14
  62. package/dist/visualization.es118.js.map +1 -1
  63. package/dist/visualization.es119.js +23 -23
  64. package/dist/visualization.es119.js.map +1 -1
  65. package/dist/visualization.es120.js +69 -14
  66. package/dist/visualization.es120.js.map +1 -1
  67. package/dist/visualization.es121.js +32 -15
  68. package/dist/visualization.es121.js.map +1 -1
  69. package/dist/visualization.es122.js +44 -25
  70. package/dist/visualization.es122.js.map +1 -1
  71. package/dist/visualization.es123.js +76 -70
  72. package/dist/visualization.es123.js.map +1 -1
  73. package/dist/visualization.es124.js +24 -54
  74. package/dist/visualization.es124.js.map +1 -1
  75. package/dist/visualization.es125.js +85 -24
  76. package/dist/visualization.es125.js.map +1 -1
  77. package/dist/visualization.es126.js +34 -82
  78. package/dist/visualization.es126.js.map +1 -1
  79. package/dist/visualization.es127.js +58 -223
  80. package/dist/visualization.es127.js.map +1 -1
  81. package/dist/visualization.es128.js +31 -17
  82. package/dist/visualization.es128.js.map +1 -1
  83. package/dist/visualization.es129.js +18 -103
  84. package/dist/visualization.es129.js.map +1 -1
  85. package/dist/visualization.es13.js +2 -2
  86. package/dist/visualization.es130.js +14 -175
  87. package/dist/visualization.es130.js.map +1 -1
  88. package/dist/visualization.es131.js +26 -82
  89. package/dist/visualization.es131.js.map +1 -1
  90. package/dist/visualization.es132.js +2 -37
  91. package/dist/visualization.es132.js.map +1 -1
  92. package/dist/visualization.es133.js +1606 -56
  93. package/dist/visualization.es133.js.map +1 -1
  94. package/dist/visualization.es134.js +18 -47
  95. package/dist/visualization.es134.js.map +1 -1
  96. package/dist/visualization.es135.js +61 -2
  97. package/dist/visualization.es135.js.map +1 -1
  98. package/dist/visualization.es136.js +37 -1604
  99. package/dist/visualization.es136.js.map +1 -1
  100. package/dist/visualization.es137.js +36 -17
  101. package/dist/visualization.es137.js.map +1 -1
  102. package/dist/visualization.es138.js +82 -83
  103. package/dist/visualization.es138.js.map +1 -1
  104. package/dist/visualization.es139.js +29 -5
  105. package/dist/visualization.es139.js.map +1 -1
  106. package/dist/visualization.es14.js +7 -7
  107. package/dist/visualization.es140.js +7 -89
  108. package/dist/visualization.es140.js.map +1 -1
  109. package/dist/visualization.es141.js +4 -12
  110. package/dist/visualization.es141.js.map +1 -1
  111. package/dist/visualization.es142.js +2 -4
  112. package/dist/visualization.es142.js.map +1 -1
  113. package/dist/visualization.es143.js +63 -14
  114. package/dist/visualization.es143.js.map +1 -1
  115. package/dist/visualization.es144.js +7 -7
  116. package/dist/visualization.es144.js.map +1 -1
  117. package/dist/visualization.es145.js +5 -14
  118. package/dist/visualization.es145.js.map +1 -1
  119. package/dist/visualization.es146.js +42 -4
  120. package/dist/visualization.es146.js.map +1 -1
  121. package/dist/visualization.es147.js +84 -7
  122. package/dist/visualization.es147.js.map +1 -1
  123. package/dist/visualization.es148.js +88 -59
  124. package/dist/visualization.es148.js.map +1 -1
  125. package/dist/visualization.es149.js +11 -37
  126. package/dist/visualization.es149.js.map +1 -1
  127. package/dist/visualization.es150.js +5 -36
  128. package/dist/visualization.es150.js.map +1 -1
  129. package/dist/visualization.es151.js +14 -83
  130. package/dist/visualization.es151.js.map +1 -1
  131. package/dist/visualization.es152.js +7 -29
  132. package/dist/visualization.es152.js.map +1 -1
  133. package/dist/visualization.es153.js +13 -3
  134. package/dist/visualization.es153.js.map +1 -1
  135. package/dist/visualization.es157.js +2 -2
  136. package/dist/visualization.es158.js +20 -8
  137. package/dist/visualization.es158.js.map +1 -1
  138. package/dist/visualization.es159.js +27 -15
  139. package/dist/visualization.es159.js.map +1 -1
  140. package/dist/visualization.es16.js +8 -8
  141. package/dist/visualization.es160.js +31 -11
  142. package/dist/visualization.es160.js.map +1 -1
  143. package/dist/visualization.es161.js +7 -5
  144. package/dist/visualization.es161.js.map +1 -1
  145. package/dist/visualization.es162.js +6 -11
  146. package/dist/visualization.es162.js.map +1 -1
  147. package/dist/visualization.es163.js +3 -3
  148. package/dist/visualization.es163.js.map +1 -1
  149. package/dist/visualization.es164.js +17 -2
  150. package/dist/visualization.es164.js.map +1 -1
  151. package/dist/visualization.es165.js +16 -10
  152. package/dist/visualization.es165.js.map +1 -1
  153. package/dist/visualization.es166.js +31 -29
  154. package/dist/visualization.es166.js.map +1 -1
  155. package/dist/visualization.es167.js +13 -39
  156. package/dist/visualization.es167.js.map +1 -1
  157. package/dist/visualization.es168.js +8 -47
  158. package/dist/visualization.es168.js.map +1 -1
  159. package/dist/visualization.es169.js +7 -3
  160. package/dist/visualization.es169.js.map +1 -1
  161. package/dist/visualization.es170.js +7 -3
  162. package/dist/visualization.es170.js.map +1 -1
  163. package/dist/visualization.es171.js +10 -5
  164. package/dist/visualization.es171.js.map +1 -1
  165. package/dist/visualization.es172.js +4 -4
  166. package/dist/visualization.es172.js.map +1 -1
  167. package/dist/visualization.es173.js +4 -10
  168. package/dist/visualization.es173.js.map +1 -1
  169. package/dist/visualization.es174.js +8 -3
  170. package/dist/visualization.es174.js.map +1 -1
  171. package/dist/visualization.es175.js +4 -17
  172. package/dist/visualization.es175.js.map +1 -1
  173. package/dist/visualization.es176.js +11 -17
  174. package/dist/visualization.es176.js.map +1 -1
  175. package/dist/visualization.es177.js +26 -36
  176. package/dist/visualization.es177.js.map +1 -1
  177. package/dist/visualization.es178.js +8 -2
  178. package/dist/visualization.es178.js.map +1 -1
  179. package/dist/visualization.es179.js +16 -2
  180. package/dist/visualization.es179.js.map +1 -1
  181. package/dist/visualization.es180.js +11 -4
  182. package/dist/visualization.es180.js.map +1 -1
  183. package/dist/visualization.es181.js +5 -14
  184. package/dist/visualization.es181.js.map +1 -1
  185. package/dist/visualization.es182.js +12 -3
  186. package/dist/visualization.es182.js.map +1 -1
  187. package/dist/visualization.es183.js +4 -7
  188. package/dist/visualization.es183.js.map +1 -1
  189. package/dist/visualization.es184.js +2 -3
  190. package/dist/visualization.es184.js.map +1 -1
  191. package/dist/visualization.es185.js +11 -7
  192. package/dist/visualization.es185.js.map +1 -1
  193. package/dist/visualization.es186.js +30 -3
  194. package/dist/visualization.es186.js.map +1 -1
  195. package/dist/visualization.es187.js +40 -61
  196. package/dist/visualization.es187.js.map +1 -1
  197. package/dist/visualization.es188.js +50 -7
  198. package/dist/visualization.es188.js.map +1 -1
  199. package/dist/visualization.es189.js +3 -43
  200. package/dist/visualization.es189.js.map +1 -1
  201. package/dist/visualization.es19.js +1 -1
  202. package/dist/visualization.es190.js +3 -10
  203. package/dist/visualization.es190.js.map +1 -1
  204. package/dist/visualization.es191.js +5 -6
  205. package/dist/visualization.es191.js.map +1 -1
  206. package/dist/visualization.es192.js +4 -7
  207. package/dist/visualization.es192.js.map +1 -1
  208. package/dist/visualization.es193.js +10 -9
  209. package/dist/visualization.es193.js.map +1 -1
  210. package/dist/visualization.es194.js +3 -6
  211. package/dist/visualization.es194.js.map +1 -1
  212. package/dist/visualization.es195.js +17 -6
  213. package/dist/visualization.es195.js.map +1 -1
  214. package/dist/visualization.es196.js +18 -5
  215. package/dist/visualization.es196.js.map +1 -1
  216. package/dist/visualization.es197.js +36 -14
  217. package/dist/visualization.es197.js.map +1 -1
  218. package/dist/visualization.es198.js +2 -6
  219. package/dist/visualization.es198.js.map +1 -1
  220. package/dist/visualization.es199.js +2 -4
  221. package/dist/visualization.es199.js.map +1 -1
  222. package/dist/visualization.es2.js +8 -8
  223. package/dist/visualization.es200.js +4 -7
  224. package/dist/visualization.es200.js.map +1 -1
  225. package/dist/visualization.es201.js +14 -6
  226. package/dist/visualization.es201.js.map +1 -1
  227. package/dist/visualization.es202.js +3 -10
  228. package/dist/visualization.es202.js.map +1 -1
  229. package/dist/visualization.es203.js +7 -31
  230. package/dist/visualization.es203.js.map +1 -1
  231. package/dist/visualization.es204.js +3 -8
  232. package/dist/visualization.es204.js.map +1 -1
  233. package/dist/visualization.es205.js +6 -6
  234. package/dist/visualization.es205.js.map +1 -1
  235. package/dist/visualization.es206.js +3 -3
  236. package/dist/visualization.es206.js.map +1 -1
  237. package/dist/visualization.es207.js +74 -16
  238. package/dist/visualization.es207.js.map +1 -1
  239. package/dist/visualization.es208.js +2 -17
  240. package/dist/visualization.es208.js.map +1 -1
  241. package/dist/visualization.es209.js +482 -32
  242. package/dist/visualization.es209.js.map +1 -1
  243. package/dist/visualization.es21.js +43 -63
  244. package/dist/visualization.es21.js.map +1 -1
  245. package/dist/visualization.es210.js +2 -17
  246. package/dist/visualization.es210.js.map +1 -1
  247. package/dist/visualization.es211.js +17 -9
  248. package/dist/visualization.es211.js.map +1 -1
  249. package/dist/visualization.es212.js +3 -6
  250. package/dist/visualization.es212.js.map +1 -1
  251. package/dist/visualization.es213.js +35 -6
  252. package/dist/visualization.es213.js.map +1 -1
  253. package/dist/visualization.es214.js +72 -10
  254. package/dist/visualization.es214.js.map +1 -1
  255. package/dist/visualization.es215.js +22 -4
  256. package/dist/visualization.es215.js.map +1 -1
  257. package/dist/visualization.es216.js +22 -4
  258. package/dist/visualization.es216.js.map +1 -1
  259. package/dist/visualization.es217.js +40 -8
  260. package/dist/visualization.es217.js.map +1 -1
  261. package/dist/visualization.es218.js +6 -3
  262. package/dist/visualization.es218.js.map +1 -1
  263. package/dist/visualization.es219.js +11 -11
  264. package/dist/visualization.es219.js.map +1 -1
  265. package/dist/visualization.es22.js +10 -66
  266. package/dist/visualization.es22.js.map +1 -1
  267. package/dist/visualization.es220.js +17 -26
  268. package/dist/visualization.es220.js.map +1 -1
  269. package/dist/visualization.es221.js +36 -3
  270. package/dist/visualization.es221.js.map +1 -1
  271. package/dist/visualization.es222.js +24 -5
  272. package/dist/visualization.es222.js.map +1 -1
  273. package/dist/visualization.es223.js +27 -33
  274. package/dist/visualization.es223.js.map +1 -1
  275. package/dist/visualization.es224.js +32 -15
  276. package/dist/visualization.es224.js.map +1 -1
  277. package/dist/visualization.es225.js +113 -6
  278. package/dist/visualization.es225.js.map +1 -1
  279. package/dist/visualization.es226.js +3 -11
  280. package/dist/visualization.es226.js.map +1 -1
  281. package/dist/visualization.es227.js +4 -31
  282. package/dist/visualization.es227.js.map +1 -1
  283. package/dist/visualization.es228.js +31 -112
  284. package/dist/visualization.es228.js.map +1 -1
  285. package/dist/visualization.es229.js +14 -17
  286. package/dist/visualization.es229.js.map +1 -1
  287. package/dist/visualization.es23.js +63 -112
  288. package/dist/visualization.es23.js.map +1 -1
  289. package/dist/visualization.es230.js +7 -3
  290. package/dist/visualization.es230.js.map +1 -1
  291. package/dist/visualization.es231.js +11 -35
  292. package/dist/visualization.es231.js.map +1 -1
  293. package/dist/visualization.es232.js +9 -19
  294. package/dist/visualization.es232.js.map +1 -1
  295. package/dist/visualization.es233.js +6 -27
  296. package/dist/visualization.es233.js.map +1 -1
  297. package/dist/visualization.es234.js +7 -72
  298. package/dist/visualization.es234.js.map +1 -1
  299. package/dist/visualization.es235.js +9 -22
  300. package/dist/visualization.es235.js.map +1 -1
  301. package/dist/visualization.es236.js +5 -21
  302. package/dist/visualization.es236.js.map +1 -1
  303. package/dist/visualization.es237.js +5 -39
  304. package/dist/visualization.es237.js.map +1 -1
  305. package/dist/visualization.es238.js +5 -7
  306. package/dist/visualization.es238.js.map +1 -1
  307. package/dist/visualization.es239.js +14 -12
  308. package/dist/visualization.es239.js.map +1 -1
  309. package/dist/visualization.es24.js +62 -143
  310. package/dist/visualization.es24.js.map +1 -1
  311. package/dist/visualization.es240.js +5 -17
  312. package/dist/visualization.es240.js.map +1 -1
  313. package/dist/visualization.es241.js +3 -36
  314. package/dist/visualization.es241.js.map +1 -1
  315. package/dist/visualization.es242.js +6 -24
  316. package/dist/visualization.es242.js.map +1 -1
  317. package/dist/visualization.es243.js +6 -27
  318. package/dist/visualization.es243.js.map +1 -1
  319. package/dist/visualization.es244.js +9 -74
  320. package/dist/visualization.es244.js.map +1 -1
  321. package/dist/visualization.es245.js +124 -2
  322. package/dist/visualization.es245.js.map +1 -1
  323. package/dist/visualization.es246.js +2 -483
  324. package/dist/visualization.es246.js.map +1 -1
  325. package/dist/visualization.es247.js +4 -2
  326. package/dist/visualization.es247.js.map +1 -1
  327. package/dist/visualization.es248.js +3 -123
  328. package/dist/visualization.es248.js.map +1 -1
  329. package/dist/visualization.es249.js +3 -63
  330. package/dist/visualization.es249.js.map +1 -1
  331. package/dist/visualization.es25.js +113 -8
  332. package/dist/visualization.es25.js.map +1 -1
  333. package/dist/visualization.es250.js +3 -60
  334. package/dist/visualization.es250.js.map +1 -1
  335. package/dist/visualization.es251.js +4 -2
  336. package/dist/visualization.es251.js.map +1 -1
  337. package/dist/visualization.es252.js +3 -34
  338. package/dist/visualization.es252.js.map +1 -1
  339. package/dist/visualization.es253.js +4 -2
  340. package/dist/visualization.es253.js.map +1 -1
  341. package/dist/visualization.es254.js +6 -22
  342. package/dist/visualization.es254.js.map +1 -1
  343. package/dist/visualization.es255.js +48 -53
  344. package/dist/visualization.es255.js.map +1 -1
  345. package/dist/visualization.es256.js +3 -20
  346. package/dist/visualization.es256.js.map +1 -1
  347. package/dist/visualization.es257.js +6 -3
  348. package/dist/visualization.es257.js.map +1 -1
  349. package/dist/visualization.es258.js +4 -3
  350. package/dist/visualization.es258.js.map +1 -1
  351. package/dist/visualization.es259.js +3 -3
  352. package/dist/visualization.es259.js.map +1 -1
  353. package/dist/visualization.es26.js +176 -7
  354. package/dist/visualization.es26.js.map +1 -1
  355. package/dist/visualization.es260.js +6 -3
  356. package/dist/visualization.es260.js.map +1 -1
  357. package/dist/visualization.es261.js +4 -3
  358. package/dist/visualization.es261.js.map +1 -1
  359. package/dist/visualization.es262.js +34 -3
  360. package/dist/visualization.es262.js.map +1 -1
  361. package/dist/visualization.es263.js +2 -4
  362. package/dist/visualization.es263.js.map +1 -1
  363. package/dist/visualization.es264.js +22 -6
  364. package/dist/visualization.es264.js.map +1 -1
  365. package/dist/visualization.es265.js +53 -48
  366. package/dist/visualization.es265.js.map +1 -1
  367. package/dist/visualization.es266.js +20 -3
  368. package/dist/visualization.es266.js.map +1 -1
  369. package/dist/visualization.es267.js +52 -5
  370. package/dist/visualization.es267.js.map +1 -1
  371. package/dist/visualization.es268.js +31 -4
  372. package/dist/visualization.es268.js.map +1 -1
  373. package/dist/visualization.es269.js +33 -3
  374. package/dist/visualization.es269.js.map +1 -1
  375. package/dist/visualization.es27.js +7 -47
  376. package/dist/visualization.es27.js.map +1 -1
  377. package/dist/visualization.es270.js +12 -6
  378. package/dist/visualization.es270.js.map +1 -1
  379. package/dist/visualization.es271.js +29 -4
  380. package/dist/visualization.es271.js.map +1 -1
  381. package/dist/visualization.es275.js +23 -23
  382. package/dist/visualization.es276.js +12 -12
  383. package/dist/visualization.es277.js +1 -1
  384. package/dist/visualization.es278.js +5 -51
  385. package/dist/visualization.es278.js.map +1 -1
  386. package/dist/visualization.es279.js +137 -28
  387. package/dist/visualization.es279.js.map +1 -1
  388. package/dist/visualization.es28.js +7 -20
  389. package/dist/visualization.es28.js.map +1 -1
  390. package/dist/visualization.es280.js +5 -33
  391. package/dist/visualization.es280.js.map +1 -1
  392. package/dist/visualization.es281.js +21 -12
  393. package/dist/visualization.es281.js.map +1 -1
  394. package/dist/visualization.es282.js +35 -5
  395. package/dist/visualization.es282.js.map +1 -1
  396. package/dist/visualization.es283.js +29 -135
  397. package/dist/visualization.es283.js.map +1 -1
  398. package/dist/visualization.es284.js +15 -6
  399. package/dist/visualization.es284.js.map +1 -1
  400. package/dist/visualization.es285.js +19 -22
  401. package/dist/visualization.es285.js.map +1 -1
  402. package/dist/visualization.es286.js +8 -37
  403. package/dist/visualization.es286.js.map +1 -1
  404. package/dist/visualization.es287.js +104 -29
  405. package/dist/visualization.es287.js.map +1 -1
  406. package/dist/visualization.es288.js +11 -13
  407. package/dist/visualization.es288.js.map +1 -1
  408. package/dist/visualization.es289.js +141 -18
  409. package/dist/visualization.es289.js.map +1 -1
  410. package/dist/visualization.es29.js +48 -5
  411. package/dist/visualization.es29.js.map +1 -1
  412. package/dist/visualization.es290.js +6 -9
  413. package/dist/visualization.es290.js.map +1 -1
  414. package/dist/visualization.es291.js +61 -99
  415. package/dist/visualization.es291.js.map +1 -1
  416. package/dist/visualization.es292.js +35 -12
  417. package/dist/visualization.es292.js.map +1 -1
  418. package/dist/visualization.es293.js +20 -141
  419. package/dist/visualization.es293.js.map +1 -1
  420. package/dist/visualization.es294.js +3 -5
  421. package/dist/visualization.es294.js.map +1 -1
  422. package/dist/visualization.es295.js +19 -66
  423. package/dist/visualization.es295.js.map +1 -1
  424. package/dist/visualization.es296.js +29 -34
  425. package/dist/visualization.es296.js.map +1 -1
  426. package/dist/visualization.es297.js +2 -21
  427. package/dist/visualization.es297.js.map +1 -1
  428. package/dist/visualization.es298.js +2 -4
  429. package/dist/visualization.es298.js.map +1 -1
  430. package/dist/visualization.es299.js +5 -24
  431. package/dist/visualization.es299.js.map +1 -1
  432. package/dist/visualization.es3.js +11 -11
  433. package/dist/visualization.es30.js +18 -31
  434. package/dist/visualization.es30.js.map +1 -1
  435. package/dist/visualization.es300.js +15 -31
  436. package/dist/visualization.es300.js.map +1 -1
  437. package/dist/visualization.es301.js +35 -2
  438. package/dist/visualization.es301.js.map +1 -1
  439. package/dist/visualization.es302.js +28 -2
  440. package/dist/visualization.es302.js.map +1 -1
  441. package/dist/visualization.es303.js +10 -5
  442. package/dist/visualization.es303.js.map +1 -1
  443. package/dist/visualization.es304.js +7 -15
  444. package/dist/visualization.es304.js.map +1 -1
  445. package/dist/visualization.es305.js +13 -34
  446. package/dist/visualization.es305.js.map +1 -1
  447. package/dist/visualization.es306.js +12 -28
  448. package/dist/visualization.es306.js.map +1 -1
  449. package/dist/visualization.es307.js +2 -11
  450. package/dist/visualization.es307.js.map +1 -1
  451. package/dist/visualization.es308.js +3 -7
  452. package/dist/visualization.es308.js.map +1 -1
  453. package/dist/visualization.es309.js +2 -14
  454. package/dist/visualization.es309.js.map +1 -1
  455. package/dist/visualization.es31.js +5 -35
  456. package/dist/visualization.es31.js.map +1 -1
  457. package/dist/visualization.es310.js +104 -12
  458. package/dist/visualization.es310.js.map +1 -1
  459. package/dist/visualization.es311.js +5 -2
  460. package/dist/visualization.es311.js.map +1 -1
  461. package/dist/visualization.es312.js +3 -3
  462. package/dist/visualization.es312.js.map +1 -1
  463. package/dist/visualization.es313.js +19 -2
  464. package/dist/visualization.es313.js.map +1 -1
  465. package/dist/visualization.es314.js +5 -103
  466. package/dist/visualization.es314.js.map +1 -1
  467. package/dist/visualization.es315.js +14 -4
  468. package/dist/visualization.es315.js.map +1 -1
  469. package/dist/visualization.es316.js +5 -3
  470. package/dist/visualization.es316.js.map +1 -1
  471. package/dist/visualization.es317.js +28 -18
  472. package/dist/visualization.es317.js.map +1 -1
  473. package/dist/visualization.es318.js +6 -5
  474. package/dist/visualization.es318.js.map +1 -1
  475. package/dist/visualization.es319.js +2 -15
  476. package/dist/visualization.es319.js.map +1 -1
  477. package/dist/visualization.es32.js +33 -67
  478. package/dist/visualization.es32.js.map +1 -1
  479. package/dist/visualization.es320.js +20 -5
  480. package/dist/visualization.es320.js.map +1 -1
  481. package/dist/visualization.es321.js +21 -29
  482. package/dist/visualization.es321.js.map +1 -1
  483. package/dist/visualization.es322.js +5 -6
  484. package/dist/visualization.es322.js.map +1 -1
  485. package/dist/visualization.es323.js +8 -2
  486. package/dist/visualization.es323.js.map +1 -1
  487. package/dist/visualization.es324.js +19 -20
  488. package/dist/visualization.es324.js.map +1 -1
  489. package/dist/visualization.es325.js +44 -21
  490. package/dist/visualization.es325.js.map +1 -1
  491. package/dist/visualization.es326.js +7 -6
  492. package/dist/visualization.es326.js.map +1 -1
  493. package/dist/visualization.es327.js +18 -6
  494. package/dist/visualization.es327.js.map +1 -1
  495. package/dist/visualization.es328.js +53 -18
  496. package/dist/visualization.es328.js.map +1 -1
  497. package/dist/visualization.es329.js +27 -44
  498. package/dist/visualization.es329.js.map +1 -1
  499. package/dist/visualization.es33.js +34 -267
  500. package/dist/visualization.es33.js.map +1 -1
  501. package/dist/visualization.es330.js +11 -7
  502. package/dist/visualization.es330.js.map +1 -1
  503. package/dist/visualization.es331.js +17 -18
  504. package/dist/visualization.es331.js.map +1 -1
  505. package/dist/visualization.es332.js +10 -52
  506. package/dist/visualization.es332.js.map +1 -1
  507. package/dist/visualization.es333.js +4 -26
  508. package/dist/visualization.es333.js.map +1 -1
  509. package/dist/visualization.es334.js +4 -11
  510. package/dist/visualization.es334.js.map +1 -1
  511. package/dist/visualization.es335.js +3 -18
  512. package/dist/visualization.es335.js.map +1 -1
  513. package/dist/visualization.es336.js +174 -10
  514. package/dist/visualization.es336.js.map +1 -1
  515. package/dist/visualization.es337.js +39 -4
  516. package/dist/visualization.es337.js.map +1 -1
  517. package/dist/visualization.es338.js +6 -4
  518. package/dist/visualization.es338.js.map +1 -1
  519. package/dist/visualization.es339.js +3 -3
  520. package/dist/visualization.es339.js.map +1 -1
  521. package/dist/visualization.es34.js +43 -140
  522. package/dist/visualization.es34.js.map +1 -1
  523. package/dist/visualization.es340.js +2 -176
  524. package/dist/visualization.es340.js.map +1 -1
  525. package/dist/visualization.es341.js +30 -40
  526. package/dist/visualization.es341.js.map +1 -1
  527. package/dist/visualization.es342.js +8 -6
  528. package/dist/visualization.es342.js.map +1 -1
  529. package/dist/visualization.es343.js +10 -3
  530. package/dist/visualization.es343.js.map +1 -1
  531. package/dist/visualization.es344.js +4 -2
  532. package/dist/visualization.es344.js.map +1 -1
  533. package/dist/visualization.es345.js +66 -30
  534. package/dist/visualization.es345.js.map +1 -1
  535. package/dist/visualization.es346.js +7 -8
  536. package/dist/visualization.es346.js.map +1 -1
  537. package/dist/visualization.es347.js +4 -10
  538. package/dist/visualization.es347.js.map +1 -1
  539. package/dist/visualization.es348.js +13 -3
  540. package/dist/visualization.es348.js.map +1 -1
  541. package/dist/visualization.es349.js +34 -65
  542. package/dist/visualization.es349.js.map +1 -1
  543. package/dist/visualization.es35.js +36 -27
  544. package/dist/visualization.es35.js.map +1 -1
  545. package/dist/visualization.es350.js +5 -7
  546. package/dist/visualization.es350.js.map +1 -1
  547. package/dist/visualization.es351.js +9 -4
  548. package/dist/visualization.es351.js.map +1 -1
  549. package/dist/visualization.es352.js +2 -14
  550. package/dist/visualization.es352.js.map +1 -1
  551. package/dist/visualization.es353.js +4 -34
  552. package/dist/visualization.es353.js.map +1 -1
  553. package/dist/visualization.es354.js +2 -5
  554. package/dist/visualization.es354.js.map +1 -1
  555. package/dist/visualization.es355.js +9 -9
  556. package/dist/visualization.es355.js.map +1 -1
  557. package/dist/visualization.es356.js +10 -2
  558. package/dist/visualization.es356.js.map +1 -1
  559. package/dist/visualization.es357.js +12 -4
  560. package/dist/visualization.es357.js.map +1 -1
  561. package/dist/visualization.es358.js +2 -2
  562. package/dist/visualization.es358.js.map +1 -1
  563. package/dist/visualization.es359.js +10 -10
  564. package/dist/visualization.es359.js.map +1 -1
  565. package/dist/visualization.es36.js +69 -21
  566. package/dist/visualization.es36.js.map +1 -1
  567. package/dist/visualization.es360.js +8 -10
  568. package/dist/visualization.es360.js.map +1 -1
  569. package/dist/visualization.es361.js +6 -13
  570. package/dist/visualization.es361.js.map +1 -1
  571. package/dist/visualization.es362.js +25 -2
  572. package/dist/visualization.es362.js.map +1 -1
  573. package/dist/visualization.es363.js +19 -10
  574. package/dist/visualization.es363.js.map +1 -1
  575. package/dist/visualization.es364.js +40 -7
  576. package/dist/visualization.es364.js.map +1 -1
  577. package/dist/visualization.es365.js +3 -6
  578. package/dist/visualization.es365.js.map +1 -1
  579. package/dist/visualization.es366.js +8 -24
  580. package/dist/visualization.es366.js.map +1 -1
  581. package/dist/visualization.es367.js +9 -19
  582. package/dist/visualization.es367.js.map +1 -1
  583. package/dist/visualization.es368.js +34 -39
  584. package/dist/visualization.es368.js.map +1 -1
  585. package/dist/visualization.es369.js +10 -3
  586. package/dist/visualization.es369.js.map +1 -1
  587. package/dist/visualization.es37.js +12 -18
  588. package/dist/visualization.es37.js.map +1 -1
  589. package/dist/visualization.es370.js +31 -8
  590. package/dist/visualization.es370.js.map +1 -1
  591. package/dist/visualization.es371.js +4 -8
  592. package/dist/visualization.es371.js.map +1 -1
  593. package/dist/visualization.es372.js +2 -36
  594. package/dist/visualization.es372.js.map +1 -1
  595. package/dist/visualization.es373.js +15 -9
  596. package/dist/visualization.es373.js.map +1 -1
  597. package/dist/visualization.es374.js +23 -30
  598. package/dist/visualization.es374.js.map +1 -1
  599. package/dist/visualization.es375.js +2 -5
  600. package/dist/visualization.es375.js.map +1 -1
  601. package/dist/visualization.es376.js +63 -2
  602. package/dist/visualization.es376.js.map +1 -1
  603. package/dist/visualization.es377.js +2 -16
  604. package/dist/visualization.es377.js.map +1 -1
  605. package/dist/visualization.es378.js +2 -25
  606. package/dist/visualization.es378.js.map +1 -1
  607. package/dist/visualization.es379.js +6 -2
  608. package/dist/visualization.es379.js.map +1 -1
  609. package/dist/visualization.es38.js +18701 -20
  610. package/dist/visualization.es38.js.map +1 -1
  611. package/dist/visualization.es380.js +34 -60
  612. package/dist/visualization.es380.js.map +1 -1
  613. package/dist/visualization.es381.js +21 -2
  614. package/dist/visualization.es381.js.map +1 -1
  615. package/dist/visualization.es382.js +4 -2
  616. package/dist/visualization.es382.js.map +1 -1
  617. package/dist/visualization.es383.js +4 -5
  618. package/dist/visualization.es383.js.map +1 -1
  619. package/dist/visualization.es384.js +4 -36
  620. package/dist/visualization.es384.js.map +1 -1
  621. package/dist/visualization.es385.js +46 -18
  622. package/dist/visualization.es385.js.map +1 -1
  623. package/dist/visualization.es386.js +26 -3
  624. package/dist/visualization.es386.js.map +1 -1
  625. package/dist/visualization.es387.js +16 -4
  626. package/dist/visualization.es387.js.map +1 -1
  627. package/dist/visualization.es388.js +10 -5
  628. package/dist/visualization.es388.js.map +1 -1
  629. package/dist/visualization.es389.js +17 -46
  630. package/dist/visualization.es389.js.map +1 -1
  631. package/dist/visualization.es39.js +5 -70
  632. package/dist/visualization.es39.js.map +1 -1
  633. package/dist/visualization.es390.js +13 -26
  634. package/dist/visualization.es390.js.map +1 -1
  635. package/dist/visualization.es391.js +3 -16
  636. package/dist/visualization.es391.js.map +1 -1
  637. package/dist/visualization.es392.js +12 -9
  638. package/dist/visualization.es392.js.map +1 -1
  639. package/dist/visualization.es393.js +46 -17
  640. package/dist/visualization.es393.js.map +1 -1
  641. package/dist/visualization.es394.js +6 -14
  642. package/dist/visualization.es394.js.map +1 -1
  643. package/dist/visualization.es395.js +12 -3
  644. package/dist/visualization.es395.js.map +1 -1
  645. package/dist/visualization.es396.js +2 -13
  646. package/dist/visualization.es396.js.map +1 -1
  647. package/dist/visualization.es397.js +6 -48
  648. package/dist/visualization.es397.js.map +1 -1
  649. package/dist/visualization.es398.js +209 -5
  650. package/dist/visualization.es398.js.map +1 -1
  651. package/dist/visualization.es399.js +25 -11
  652. package/dist/visualization.es399.js.map +1 -1
  653. package/dist/visualization.es4.js +6 -6
  654. package/dist/visualization.es40.js +5 -81
  655. package/dist/visualization.es40.js.map +1 -1
  656. package/dist/visualization.es400.js +4 -2
  657. package/dist/visualization.es400.js.map +1 -1
  658. package/dist/visualization.es401.js +16 -7
  659. package/dist/visualization.es401.js.map +1 -1
  660. package/dist/visualization.es402.js +15 -210
  661. package/dist/visualization.es402.js.map +1 -1
  662. package/dist/visualization.es403.js +15 -27
  663. package/dist/visualization.es403.js.map +1 -1
  664. package/dist/visualization.es404.js +2 -4
  665. package/dist/visualization.es404.js.map +1 -1
  666. package/dist/visualization.es405.js +2 -16
  667. package/dist/visualization.es405.js.map +1 -1
  668. package/dist/visualization.es406.js +2 -15
  669. package/dist/visualization.es406.js.map +1 -1
  670. package/dist/visualization.es407.js +4 -14
  671. package/dist/visualization.es407.js.map +1 -1
  672. package/dist/visualization.es408.js +2 -2
  673. package/dist/visualization.es408.js.map +1 -1
  674. package/dist/visualization.es409.js +25 -2
  675. package/dist/visualization.es409.js.map +1 -1
  676. package/dist/visualization.es41.js +42 -18684
  677. package/dist/visualization.es41.js.map +1 -1
  678. package/dist/visualization.es410.js +22 -2
  679. package/dist/visualization.es410.js.map +1 -1
  680. package/dist/visualization.es411.js +8 -4
  681. package/dist/visualization.es411.js.map +1 -1
  682. package/dist/visualization.es412.js +68 -2
  683. package/dist/visualization.es412.js.map +1 -1
  684. package/dist/visualization.es413.js +6 -25
  685. package/dist/visualization.es413.js.map +1 -1
  686. package/dist/visualization.es414.js +28 -21
  687. package/dist/visualization.es414.js.map +1 -1
  688. package/dist/visualization.es415.js +10 -9
  689. package/dist/visualization.es415.js.map +1 -1
  690. package/dist/visualization.es416.js +6 -68
  691. package/dist/visualization.es416.js.map +1 -1
  692. package/dist/visualization.es417.js +2 -6
  693. package/dist/visualization.es417.js.map +1 -1
  694. package/dist/visualization.es418.js +5 -29
  695. package/dist/visualization.es418.js.map +1 -1
  696. package/dist/visualization.es419.js +25 -9
  697. package/dist/visualization.es419.js.map +1 -1
  698. package/dist/visualization.es42.js +811 -5
  699. package/dist/visualization.es42.js.map +1 -1
  700. package/dist/visualization.es420.js +11 -6
  701. package/dist/visualization.es420.js.map +1 -1
  702. package/dist/visualization.es421.js +27 -2
  703. package/dist/visualization.es421.js.map +1 -1
  704. package/dist/visualization.es422.js +9 -4
  705. package/dist/visualization.es422.js.map +1 -1
  706. package/dist/visualization.es423.js +10 -25
  707. package/dist/visualization.es423.js.map +1 -1
  708. package/dist/visualization.es424.js +2 -11
  709. package/dist/visualization.es424.js.map +1 -1
  710. package/dist/visualization.es425.js +16 -27
  711. package/dist/visualization.es425.js.map +1 -1
  712. package/dist/visualization.es426.js +29 -9
  713. package/dist/visualization.es426.js.map +1 -1
  714. package/dist/visualization.es427.js +26 -11
  715. package/dist/visualization.es427.js.map +1 -1
  716. package/dist/visualization.es428.js +2 -2
  717. package/dist/visualization.es428.js.map +1 -1
  718. package/dist/visualization.es429.js +9 -16
  719. package/dist/visualization.es429.js.map +1 -1
  720. package/dist/visualization.es430.js +12 -29
  721. package/dist/visualization.es430.js.map +1 -1
  722. package/dist/visualization.es431.js +23 -26
  723. package/dist/visualization.es431.js.map +1 -1
  724. package/dist/visualization.es432.js +13 -2
  725. package/dist/visualization.es432.js.map +1 -1
  726. package/dist/visualization.es433.js +3 -9
  727. package/dist/visualization.es433.js.map +1 -1
  728. package/dist/visualization.es434.js +2 -13
  729. package/dist/visualization.es434.js.map +1 -1
  730. package/dist/visualization.es435.js +16 -21
  731. package/dist/visualization.es435.js.map +1 -1
  732. package/dist/visualization.es436.js +3 -12
  733. package/dist/visualization.es436.js.map +1 -1
  734. package/dist/visualization.es437.js +12 -3
  735. package/dist/visualization.es437.js.map +1 -1
  736. package/dist/visualization.es438.js +11 -2
  737. package/dist/visualization.es438.js.map +1 -1
  738. package/dist/visualization.es439.js +6 -17
  739. package/dist/visualization.es439.js.map +1 -1
  740. package/dist/visualization.es44.js +130 -59
  741. package/dist/visualization.es44.js.map +1 -1
  742. package/dist/visualization.es440.js +19 -4
  743. package/dist/visualization.es440.js.map +1 -1
  744. package/dist/visualization.es441.js +22 -11
  745. package/dist/visualization.es441.js.map +1 -1
  746. package/dist/visualization.es442.js +12 -11
  747. package/dist/visualization.es442.js.map +1 -1
  748. package/dist/visualization.es443.js +50 -6
  749. package/dist/visualization.es443.js.map +1 -1
  750. package/dist/visualization.es444.js +18 -19
  751. package/dist/visualization.es444.js.map +1 -1
  752. package/dist/visualization.es445.js +35 -22
  753. package/dist/visualization.es445.js.map +1 -1
  754. package/dist/visualization.es446.js +20 -9
  755. package/dist/visualization.es446.js.map +1 -1
  756. package/dist/visualization.es447.js +31 -50
  757. package/dist/visualization.es447.js.map +1 -1
  758. package/dist/visualization.es448.js +3 -17
  759. package/dist/visualization.es448.js.map +1 -1
  760. package/dist/visualization.es449.js +19 -36
  761. package/dist/visualization.es449.js.map +1 -1
  762. package/dist/visualization.es45.js +52 -808
  763. package/dist/visualization.es45.js.map +1 -1
  764. package/dist/visualization.es450.js +14 -23
  765. package/dist/visualization.es450.js.map +1 -1
  766. package/dist/visualization.es451.js +10 -31
  767. package/dist/visualization.es451.js.map +1 -1
  768. package/dist/visualization.es452.js +29 -3
  769. package/dist/visualization.es452.js.map +1 -1
  770. package/dist/visualization.es453.js +6 -19
  771. package/dist/visualization.es453.js.map +1 -1
  772. package/dist/visualization.es454.js +8 -14
  773. package/dist/visualization.es454.js.map +1 -1
  774. package/dist/visualization.es455.js +2 -11
  775. package/dist/visualization.es455.js.map +1 -1
  776. package/dist/visualization.es456.js +15 -28
  777. package/dist/visualization.es456.js.map +1 -1
  778. package/dist/visualization.es457.js +9 -6
  779. package/dist/visualization.es457.js.map +1 -1
  780. package/dist/visualization.es458.js +9 -7
  781. package/dist/visualization.es458.js.map +1 -1
  782. package/dist/visualization.es459.js +616 -2
  783. package/dist/visualization.es459.js.map +1 -1
  784. package/dist/visualization.es46.js +114 -0
  785. package/dist/visualization.es46.js.map +1 -0
  786. package/dist/visualization.es460.js +45 -11
  787. package/dist/visualization.es460.js.map +1 -1
  788. package/dist/visualization.es461.js +13 -9
  789. package/dist/visualization.es461.js.map +1 -1
  790. package/dist/visualization.es462.js +11 -10
  791. package/dist/visualization.es462.js.map +1 -1
  792. package/dist/visualization.es463.js +23 -616
  793. package/dist/visualization.es463.js.map +1 -1
  794. package/dist/visualization.es464.js +31 -47
  795. package/dist/visualization.es464.js.map +1 -1
  796. package/dist/visualization.es465.js +12 -12
  797. package/dist/visualization.es465.js.map +1 -1
  798. package/dist/visualization.es466.js +19 -11
  799. package/dist/visualization.es466.js.map +1 -1
  800. package/dist/visualization.es467.js +25 -22
  801. package/dist/visualization.es467.js.map +1 -1
  802. package/dist/visualization.es468.js +25 -33
  803. package/dist/visualization.es468.js.map +1 -1
  804. package/dist/visualization.es469.js +41 -11
  805. package/dist/visualization.es469.js.map +1 -1
  806. package/dist/visualization.es47.js +8 -131
  807. package/dist/visualization.es47.js.map +1 -1
  808. package/dist/visualization.es470.js +15 -14
  809. package/dist/visualization.es470.js.map +1 -1
  810. package/dist/visualization.es471.js +32 -17
  811. package/dist/visualization.es471.js.map +1 -1
  812. package/dist/visualization.es472.js +55 -24
  813. package/dist/visualization.es472.js.map +1 -1
  814. package/dist/visualization.es473.js +3 -42
  815. package/dist/visualization.es473.js.map +1 -1
  816. package/dist/visualization.es474.js +3 -20
  817. package/dist/visualization.es474.js.map +1 -1
  818. package/dist/visualization.es475.js +7 -41
  819. package/dist/visualization.es475.js.map +1 -1
  820. package/dist/visualization.es476.js +14 -56
  821. package/dist/visualization.es476.js.map +1 -1
  822. package/dist/visualization.es477.js +2 -4
  823. package/dist/visualization.es477.js.map +1 -1
  824. package/dist/visualization.es478.js +2 -3
  825. package/dist/visualization.es478.js.map +1 -1
  826. package/dist/visualization.es479.js +2 -7
  827. package/dist/visualization.es479.js.map +1 -1
  828. package/dist/visualization.es48.js +32 -34
  829. package/dist/visualization.es48.js.map +1 -1
  830. package/dist/visualization.es480.js +29 -16
  831. package/dist/visualization.es480.js.map +1 -1
  832. package/dist/visualization.es481.js +120 -2
  833. package/dist/visualization.es481.js.map +1 -1
  834. package/dist/visualization.es482.js +30 -2
  835. package/dist/visualization.es482.js.map +1 -1
  836. package/dist/visualization.es483.js +11 -2
  837. package/dist/visualization.es483.js.map +1 -1
  838. package/dist/visualization.es484.js +14 -7
  839. package/dist/visualization.es484.js.map +1 -1
  840. package/dist/visualization.es485.js +29 -31
  841. package/dist/visualization.es485.js.map +1 -1
  842. package/dist/visualization.es486.js +28 -3
  843. package/dist/visualization.es486.js.map +1 -1
  844. package/dist/visualization.es487.js +10 -3
  845. package/dist/visualization.es487.js.map +1 -1
  846. package/dist/visualization.es488.js +12 -6
  847. package/dist/visualization.es488.js.map +1 -1
  848. package/dist/visualization.es489.js +17 -12
  849. package/dist/visualization.es489.js.map +1 -1
  850. package/dist/visualization.es49.js +3 -3
  851. package/dist/visualization.es490.js +24 -2
  852. package/dist/visualization.es490.js.map +1 -1
  853. package/dist/visualization.es491.js +16 -3
  854. package/dist/visualization.es491.js.map +1 -1
  855. package/dist/visualization.es492.js +96 -3
  856. package/dist/visualization.es492.js.map +1 -1
  857. package/dist/visualization.es493.js +28 -10
  858. package/dist/visualization.es493.js.map +1 -1
  859. package/dist/visualization.es494.js +71 -4
  860. package/dist/visualization.es494.js.map +1 -1
  861. package/dist/visualization.es495.js +50 -31
  862. package/dist/visualization.es495.js.map +1 -1
  863. package/dist/visualization.es496.js +35 -29
  864. package/dist/visualization.es496.js.map +1 -1
  865. package/dist/visualization.es497.js +39 -117
  866. package/dist/visualization.es497.js.map +1 -1
  867. package/dist/visualization.es498.js +8 -28
  868. package/dist/visualization.es498.js.map +1 -1
  869. package/dist/visualization.es499.js +9 -10
  870. package/dist/visualization.es499.js.map +1 -1
  871. package/dist/visualization.es5.js +99 -106
  872. package/dist/visualization.es5.js.map +1 -1
  873. package/dist/visualization.es50.js +53 -9
  874. package/dist/visualization.es50.js.map +1 -1
  875. package/dist/visualization.es500.js +6 -13
  876. package/dist/visualization.es500.js.map +1 -1
  877. package/dist/visualization.es501.js +8 -32
  878. package/dist/visualization.es501.js.map +1 -1
  879. package/dist/visualization.es502.js +5 -27
  880. package/dist/visualization.es502.js.map +1 -1
  881. package/dist/visualization.es503.js +5 -10
  882. package/dist/visualization.es503.js.map +1 -1
  883. package/dist/visualization.es504.js +14 -12
  884. package/dist/visualization.es504.js.map +1 -1
  885. package/dist/visualization.es505.js +5 -17
  886. package/dist/visualization.es505.js.map +1 -1
  887. package/dist/visualization.es506.js +6 -23
  888. package/dist/visualization.es506.js.map +1 -1
  889. package/dist/visualization.es507.js +6 -16
  890. package/dist/visualization.es507.js.map +1 -1
  891. package/dist/visualization.es508.js +6 -96
  892. package/dist/visualization.es508.js.map +1 -1
  893. package/dist/visualization.es509.js +3 -28
  894. package/dist/visualization.es509.js.map +1 -1
  895. package/dist/visualization.es51.js +23 -55
  896. package/dist/visualization.es51.js.map +1 -1
  897. package/dist/visualization.es510.js +4 -71
  898. package/dist/visualization.es510.js.map +1 -1
  899. package/dist/visualization.es511.js +8 -50
  900. package/dist/visualization.es511.js.map +1 -1
  901. package/dist/visualization.es512.js +7 -35
  902. package/dist/visualization.es512.js.map +1 -1
  903. package/dist/visualization.es513.js +33 -40
  904. package/dist/visualization.es513.js.map +1 -1
  905. package/dist/visualization.es514.js +3 -61
  906. package/dist/visualization.es514.js.map +1 -1
  907. package/dist/visualization.es515.js +3 -237
  908. package/dist/visualization.es515.js.map +1 -1
  909. package/dist/visualization.es516.js +6 -992
  910. package/dist/visualization.es516.js.map +1 -1
  911. package/dist/visualization.es517.js +12 -29
  912. package/dist/visualization.es517.js.map +1 -1
  913. package/dist/visualization.es518.js +2 -10
  914. package/dist/visualization.es518.js.map +1 -1
  915. package/dist/visualization.es519.js +3 -9
  916. package/dist/visualization.es519.js.map +1 -1
  917. package/dist/visualization.es52.js +180 -44
  918. package/dist/visualization.es52.js.map +1 -1
  919. package/dist/visualization.es520.js +3 -6
  920. package/dist/visualization.es520.js.map +1 -1
  921. package/dist/visualization.es521.js +10 -8
  922. package/dist/visualization.es521.js.map +1 -1
  923. package/dist/visualization.es522.js +4 -6
  924. package/dist/visualization.es522.js.map +1 -1
  925. package/dist/visualization.es523.js +32 -5
  926. package/dist/visualization.es523.js.map +1 -1
  927. package/dist/visualization.es524.js +236 -13
  928. package/dist/visualization.es524.js.map +1 -1
  929. package/dist/visualization.es525.js +992 -5
  930. package/dist/visualization.es525.js.map +1 -1
  931. package/dist/visualization.es526.js +61 -6
  932. package/dist/visualization.es526.js.map +1 -1
  933. package/dist/visualization.es527.js +33 -6
  934. package/dist/visualization.es527.js.map +1 -1
  935. package/dist/visualization.es528.js +29 -6
  936. package/dist/visualization.es528.js.map +1 -1
  937. package/dist/visualization.es529.js +33 -3
  938. package/dist/visualization.es529.js.map +1 -1
  939. package/dist/visualization.es53.js +141 -29
  940. package/dist/visualization.es53.js.map +1 -1
  941. package/dist/visualization.es530.js +25 -5
  942. package/dist/visualization.es530.js.map +1 -1
  943. package/dist/visualization.es531.js +44 -8
  944. package/dist/visualization.es531.js.map +1 -1
  945. package/dist/visualization.es532.js +9 -34
  946. package/dist/visualization.es532.js.map +1 -1
  947. package/dist/visualization.es533.js +15 -30
  948. package/dist/visualization.es533.js.map +1 -1
  949. package/dist/visualization.es534.js +16 -34
  950. package/dist/visualization.es534.js.map +1 -1
  951. package/dist/visualization.es535.js +15 -24
  952. package/dist/visualization.es535.js.map +1 -1
  953. package/dist/visualization.es536.js +24 -46
  954. package/dist/visualization.es536.js.map +1 -1
  955. package/dist/visualization.es537.js +6 -9
  956. package/dist/visualization.es537.js.map +1 -1
  957. package/dist/visualization.es538.js +28 -15
  958. package/dist/visualization.es538.js.map +1 -1
  959. package/dist/visualization.es539.js +11 -16
  960. package/dist/visualization.es539.js.map +1 -1
  961. package/dist/visualization.es54.js +180 -65
  962. package/dist/visualization.es54.js.map +1 -1
  963. package/dist/visualization.es540.js +14 -16
  964. package/dist/visualization.es540.js.map +1 -1
  965. package/dist/visualization.es541.js +8 -24
  966. package/dist/visualization.es541.js.map +1 -1
  967. package/dist/visualization.es542.js +8 -6
  968. package/dist/visualization.es542.js.map +1 -1
  969. package/dist/visualization.es543.js +19 -10
  970. package/dist/visualization.es543.js.map +1 -1
  971. package/dist/visualization.es544.js +61 -12
  972. package/dist/visualization.es544.js.map +1 -1
  973. package/dist/visualization.es545.js +5 -8
  974. package/dist/visualization.es545.js.map +1 -1
  975. package/dist/visualization.es546.js +4 -8
  976. package/dist/visualization.es546.js.map +1 -1
  977. package/dist/visualization.es547.js +2 -20
  978. package/dist/visualization.es547.js.map +1 -1
  979. package/dist/visualization.es548.js +17 -61
  980. package/dist/visualization.es548.js.map +1 -1
  981. package/dist/visualization.es549.js +282 -28
  982. package/dist/visualization.es549.js.map +1 -1
  983. package/dist/visualization.es55.js +50 -42
  984. package/dist/visualization.es55.js.map +1 -1
  985. package/dist/visualization.es550.js +2 -5
  986. package/dist/visualization.es550.js.map +1 -1
  987. package/dist/visualization.es551.js +127 -3
  988. package/dist/visualization.es551.js.map +1 -1
  989. package/dist/visualization.es552.js +4 -2
  990. package/dist/visualization.es552.js.map +1 -1
  991. package/dist/visualization.es553.js +3 -281
  992. package/dist/visualization.es553.js.map +1 -1
  993. package/dist/visualization.es554.js +16 -2
  994. package/dist/visualization.es554.js.map +1 -1
  995. package/dist/visualization.es555.js +3 -127
  996. package/dist/visualization.es555.js.map +1 -1
  997. package/dist/visualization.es556.js +8 -17
  998. package/dist/visualization.es556.js.map +1 -1
  999. package/dist/visualization.es557.js +4 -3
  1000. package/dist/visualization.es557.js.map +1 -1
  1001. package/dist/visualization.es558.js +5 -3
  1002. package/dist/visualization.es558.js.map +1 -1
  1003. package/dist/visualization.es559.js +8 -14
  1004. package/dist/visualization.es559.js.map +1 -1
  1005. package/dist/visualization.es56.js +39 -46
  1006. package/dist/visualization.es56.js.map +1 -1
  1007. package/dist/visualization.es560.js +5 -1
  1008. package/dist/visualization.es560.js.map +1 -1
  1009. package/dist/visualization.es561.js +4 -9
  1010. package/dist/visualization.es561.js.map +1 -1
  1011. package/dist/visualization.es562.js +3 -4
  1012. package/dist/visualization.es562.js.map +1 -1
  1013. package/dist/visualization.es563.js +4 -6
  1014. package/dist/visualization.es563.js.map +1 -1
  1015. package/dist/visualization.es564.js +11 -9
  1016. package/dist/visualization.es564.js.map +1 -1
  1017. package/dist/visualization.es565.js +9 -7
  1018. package/dist/visualization.es565.js.map +1 -1
  1019. package/dist/visualization.es566.js +30 -4
  1020. package/dist/visualization.es566.js.map +1 -1
  1021. package/dist/visualization.es567.js +24 -3
  1022. package/dist/visualization.es567.js.map +1 -1
  1023. package/dist/visualization.es568.js +52 -4
  1024. package/dist/visualization.es568.js.map +1 -1
  1025. package/dist/visualization.es569.js +3 -11
  1026. package/dist/visualization.es569.js.map +1 -1
  1027. package/dist/visualization.es57.js +42 -3
  1028. package/dist/visualization.es57.js.map +1 -1
  1029. package/dist/visualization.es570.js +8 -9
  1030. package/dist/visualization.es570.js.map +1 -1
  1031. package/dist/visualization.es571.js +20 -30
  1032. package/dist/visualization.es571.js.map +1 -1
  1033. package/dist/visualization.es572.js +7 -24
  1034. package/dist/visualization.es572.js.map +1 -1
  1035. package/dist/visualization.es573.js +6 -51
  1036. package/dist/visualization.es573.js.map +1 -1
  1037. package/dist/visualization.es574.js +5 -3
  1038. package/dist/visualization.es574.js.map +1 -1
  1039. package/dist/visualization.es575.js +7 -8
  1040. package/dist/visualization.es575.js.map +1 -1
  1041. package/dist/visualization.es576.js +15 -20
  1042. package/dist/visualization.es576.js.map +1 -1
  1043. package/dist/visualization.es577.js +4 -7
  1044. package/dist/visualization.es577.js.map +1 -1
  1045. package/dist/visualization.es578.js +6 -6
  1046. package/dist/visualization.es578.js.map +1 -1
  1047. package/dist/visualization.es579.js +34 -5
  1048. package/dist/visualization.es579.js.map +1 -1
  1049. package/dist/visualization.es58.js +5 -46
  1050. package/dist/visualization.es58.js.map +1 -1
  1051. package/dist/visualization.es580.js +7 -6
  1052. package/dist/visualization.es580.js.map +1 -1
  1053. package/dist/visualization.es581.js +32 -15
  1054. package/dist/visualization.es581.js.map +1 -1
  1055. package/dist/visualization.es582.js +9 -4
  1056. package/dist/visualization.es582.js.map +1 -1
  1057. package/dist/visualization.es583.js +9 -6
  1058. package/dist/visualization.es583.js.map +1 -1
  1059. package/dist/visualization.es584.js +17 -33
  1060. package/dist/visualization.es584.js.map +1 -1
  1061. package/dist/visualization.es585.js +6 -7
  1062. package/dist/visualization.es585.js.map +1 -1
  1063. package/dist/visualization.es586.js +7 -32
  1064. package/dist/visualization.es586.js.map +1 -1
  1065. package/dist/visualization.es587.js +13 -9
  1066. package/dist/visualization.es587.js.map +1 -1
  1067. package/dist/visualization.es588.js +71 -8
  1068. package/dist/visualization.es588.js.map +1 -1
  1069. package/dist/visualization.es589.js +28 -17
  1070. package/dist/visualization.es589.js.map +1 -1
  1071. package/dist/visualization.es59.js +4 -3
  1072. package/dist/visualization.es59.js.map +1 -1
  1073. package/dist/visualization.es590.js +5 -7
  1074. package/dist/visualization.es590.js.map +1 -1
  1075. package/dist/visualization.es591.js +24 -6
  1076. package/dist/visualization.es591.js.map +1 -1
  1077. package/dist/visualization.es592.js +11 -13
  1078. package/dist/visualization.es592.js.map +1 -1
  1079. package/dist/visualization.es593.js +4 -72
  1080. package/dist/visualization.es593.js.map +1 -1
  1081. package/dist/visualization.es594.js +4 -29
  1082. package/dist/visualization.es594.js.map +1 -1
  1083. package/dist/visualization.es595.js +4 -5
  1084. package/dist/visualization.es595.js.map +1 -1
  1085. package/dist/visualization.es596.js +13 -26
  1086. package/dist/visualization.es596.js.map +1 -1
  1087. package/dist/visualization.es597.js +17 -11
  1088. package/dist/visualization.es597.js.map +1 -1
  1089. package/dist/visualization.es598.js +13 -4
  1090. package/dist/visualization.es598.js.map +1 -1
  1091. package/dist/visualization.es599.js +13 -4
  1092. package/dist/visualization.es599.js.map +1 -1
  1093. package/dist/visualization.es6.js +16 -16
  1094. package/dist/visualization.es60.js +18 -282
  1095. package/dist/visualization.es60.js.map +1 -1
  1096. package/dist/visualization.es600.js +8 -4
  1097. package/dist/visualization.es600.js.map +1 -1
  1098. package/dist/visualization.es601.js +11 -11
  1099. package/dist/visualization.es601.js.map +1 -1
  1100. package/dist/visualization.es602.js +24 -17
  1101. package/dist/visualization.es602.js.map +1 -1
  1102. package/dist/visualization.es603.js +18 -12
  1103. package/dist/visualization.es603.js.map +1 -1
  1104. package/dist/visualization.es604.js +7 -14
  1105. package/dist/visualization.es604.js.map +1 -1
  1106. package/dist/visualization.es605.js +6 -9
  1107. package/dist/visualization.es605.js.map +1 -1
  1108. package/dist/visualization.es606.js +3 -12
  1109. package/dist/visualization.es606.js.map +1 -1
  1110. package/dist/visualization.es607.js +64 -24
  1111. package/dist/visualization.es607.js.map +1 -1
  1112. package/dist/visualization.es608.js +4 -19
  1113. package/dist/visualization.es608.js.map +1 -1
  1114. package/dist/visualization.es609.js +9 -7
  1115. package/dist/visualization.es609.js.map +1 -1
  1116. package/dist/visualization.es61.js +4 -18
  1117. package/dist/visualization.es61.js.map +1 -1
  1118. package/dist/visualization.es610.js +7 -6
  1119. package/dist/visualization.es610.js.map +1 -1
  1120. package/dist/visualization.es611.js +18 -3
  1121. package/dist/visualization.es611.js.map +1 -1
  1122. package/dist/visualization.es612.js +13 -63
  1123. package/dist/visualization.es612.js.map +1 -1
  1124. package/dist/visualization.es613.js +290 -4
  1125. package/dist/visualization.es613.js.map +1 -1
  1126. package/dist/visualization.es614.js +32 -8
  1127. package/dist/visualization.es614.js.map +1 -1
  1128. package/dist/visualization.es615.js +3 -6
  1129. package/dist/visualization.es615.js.map +1 -1
  1130. package/dist/visualization.es616.js +10 -17
  1131. package/dist/visualization.es616.js.map +1 -1
  1132. package/dist/visualization.es617.js +3 -14
  1133. package/dist/visualization.es617.js.map +1 -1
  1134. package/dist/visualization.es618.js +5 -32
  1135. package/dist/visualization.es618.js.map +1 -1
  1136. package/dist/visualization.es619.js +4 -289
  1137. package/dist/visualization.es619.js.map +1 -1
  1138. package/dist/visualization.es62.js +26 -54
  1139. package/dist/visualization.es62.js.map +1 -1
  1140. package/dist/visualization.es620.js +13 -3
  1141. package/dist/visualization.es620.js.map +1 -1
  1142. package/dist/visualization.es621.js +117 -11
  1143. package/dist/visualization.es621.js.map +1 -1
  1144. package/dist/visualization.es622.js +65 -3
  1145. package/dist/visualization.es622.js.map +1 -1
  1146. package/dist/visualization.es623.js +4 -5
  1147. package/dist/visualization.es623.js.map +1 -1
  1148. package/dist/visualization.es624.js +6 -4
  1149. package/dist/visualization.es624.js.map +1 -1
  1150. package/dist/visualization.es625.js +7 -13
  1151. package/dist/visualization.es625.js.map +1 -1
  1152. package/dist/visualization.es626.js +15 -116
  1153. package/dist/visualization.es626.js.map +1 -1
  1154. package/dist/visualization.es627.js +19 -66
  1155. package/dist/visualization.es627.js.map +1 -1
  1156. package/dist/visualization.es628.js +9 -4
  1157. package/dist/visualization.es628.js.map +1 -1
  1158. package/dist/visualization.es629.js +3 -7
  1159. package/dist/visualization.es629.js.map +1 -1
  1160. package/dist/visualization.es63.js +31 -111
  1161. package/dist/visualization.es63.js.map +1 -1
  1162. package/dist/visualization.es630.js +28 -7
  1163. package/dist/visualization.es630.js.map +1 -1
  1164. package/dist/visualization.es631.js +6 -17
  1165. package/dist/visualization.es631.js.map +1 -1
  1166. package/dist/visualization.es632.js +11 -19
  1167. package/dist/visualization.es632.js.map +1 -1
  1168. package/dist/visualization.es633.js +6 -9
  1169. package/dist/visualization.es633.js.map +1 -1
  1170. package/dist/visualization.es634.js +11 -3
  1171. package/dist/visualization.es634.js.map +1 -1
  1172. package/dist/visualization.es635.js +21 -28
  1173. package/dist/visualization.es635.js.map +1 -1
  1174. package/dist/visualization.es636.js +2 -6
  1175. package/dist/visualization.es636.js.map +1 -1
  1176. package/dist/visualization.es637.js +10 -8
  1177. package/dist/visualization.es637.js.map +1 -1
  1178. package/dist/visualization.es638.js +302 -6
  1179. package/dist/visualization.es638.js.map +1 -1
  1180. package/dist/visualization.es639.js +25 -10
  1181. package/dist/visualization.es639.js.map +1 -1
  1182. package/dist/visualization.es64.js +68 -8
  1183. package/dist/visualization.es64.js.map +1 -1
  1184. package/dist/visualization.es640.js +77 -21
  1185. package/dist/visualization.es640.js.map +1 -1
  1186. package/dist/visualization.es641.js +35 -2
  1187. package/dist/visualization.es641.js.map +1 -1
  1188. package/dist/visualization.es642.js +11 -11
  1189. package/dist/visualization.es642.js.map +1 -1
  1190. package/dist/visualization.es643.js +7 -302
  1191. package/dist/visualization.es643.js.map +1 -1
  1192. package/dist/visualization.es644.js +8 -25
  1193. package/dist/visualization.es644.js.map +1 -1
  1194. package/dist/visualization.es645.js +3 -78
  1195. package/dist/visualization.es645.js.map +1 -1
  1196. package/dist/visualization.es65.js +267 -33
  1197. package/dist/visualization.es65.js.map +1 -1
  1198. package/dist/visualization.es66.js +139 -50
  1199. package/dist/visualization.es66.js.map +1 -1
  1200. package/dist/visualization.es67.js +25 -53
  1201. package/dist/visualization.es67.js.map +1 -1
  1202. package/dist/visualization.es68.js +21 -42
  1203. package/dist/visualization.es68.js.map +1 -1
  1204. package/dist/visualization.es69.js +18 -6
  1205. package/dist/visualization.es69.js.map +1 -1
  1206. package/dist/visualization.es7.js +11 -11
  1207. package/dist/visualization.es70.js +20 -4
  1208. package/dist/visualization.es70.js.map +1 -1
  1209. package/dist/visualization.es71.js +70 -18
  1210. package/dist/visualization.es71.js.map +1 -1
  1211. package/dist/visualization.es72.js +81 -5
  1212. package/dist/visualization.es72.js.map +1 -1
  1213. package/dist/visualization.es73.js +39 -26
  1214. package/dist/visualization.es73.js.map +1 -1
  1215. package/dist/visualization.es74.js +80 -30
  1216. package/dist/visualization.es74.js.map +1 -1
  1217. package/dist/visualization.es75.js +45 -7
  1218. package/dist/visualization.es75.js.map +1 -1
  1219. package/dist/visualization.es76.js +55 -7
  1220. package/dist/visualization.es76.js.map +1 -1
  1221. package/dist/visualization.es77.js +6 -69
  1222. package/dist/visualization.es77.js.map +1 -1
  1223. package/dist/visualization.es78.js +24 -10
  1224. package/dist/visualization.es78.js.map +1 -1
  1225. package/dist/visualization.es79.js +12 -39
  1226. package/dist/visualization.es79.js.map +1 -1
  1227. package/dist/visualization.es8.js +11 -11
  1228. package/dist/visualization.es80.js +56 -79
  1229. package/dist/visualization.es80.js.map +1 -1
  1230. package/dist/visualization.es81.js +7 -45
  1231. package/dist/visualization.es81.js.map +1 -1
  1232. package/dist/visualization.es82.js +7 -55
  1233. package/dist/visualization.es82.js.map +1 -1
  1234. package/dist/visualization.es83.js +29 -7
  1235. package/dist/visualization.es83.js.map +1 -1
  1236. package/dist/visualization.es84.js +64 -25
  1237. package/dist/visualization.es84.js.map +1 -1
  1238. package/dist/visualization.es85.js +61 -12
  1239. package/dist/visualization.es85.js.map +1 -1
  1240. package/dist/visualization.es86.js +3 -57
  1241. package/dist/visualization.es86.js.map +1 -1
  1242. package/dist/visualization.es87.js +47 -36
  1243. package/dist/visualization.es87.js.map +1 -1
  1244. package/dist/visualization.es88.js +3 -193
  1245. package/dist/visualization.es88.js.map +1 -1
  1246. package/dist/visualization.es89.js +278 -141
  1247. package/dist/visualization.es89.js.map +1 -1
  1248. package/dist/visualization.es9.js +1 -1
  1249. package/dist/visualization.es90.js +19 -188
  1250. package/dist/visualization.es90.js.map +1 -1
  1251. package/dist/visualization.es91.js +12 -119
  1252. package/dist/visualization.es91.js.map +1 -1
  1253. package/dist/visualization.es92.js +74 -13
  1254. package/dist/visualization.es92.js.map +1 -1
  1255. package/dist/visualization.es93.js +31 -72
  1256. package/dist/visualization.es93.js.map +1 -1
  1257. package/dist/visualization.es94.js +12 -32
  1258. package/dist/visualization.es94.js.map +1 -1
  1259. package/dist/visualization.es95.js +5 -13
  1260. package/dist/visualization.es95.js.map +1 -1
  1261. package/dist/visualization.es96.js +5 -5
  1262. package/dist/visualization.es97.js +5 -5
  1263. package/dist/visualization.es97.js.map +1 -1
  1264. package/dist/visualization.es98.js +222 -5
  1265. package/dist/visualization.es98.js.map +1 -1
  1266. package/dist/visualization.es99.js +2 -32
  1267. package/dist/visualization.es99.js.map +1 -1
  1268. package/package.json +1 -1
  1269. package/dist/src/components/Heatmap/HeatmapCell.d.ts +0 -29
  1270. package/dist/src/components/Heatmap/HeatmapCell.d.ts.map +0 -1
  1271. package/dist/src/components/Heatmap/HeatmapCells.d.ts +0 -29
  1272. package/dist/src/components/Heatmap/HeatmapCells.d.ts.map +0 -1
  1273. package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts +0 -32
  1274. package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts.map +0 -1
  1275. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +0 -1
  1276. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts.map +0 -1
  1277. package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts +0 -29
  1278. package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts.map +0 -1
  1279. package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts +0 -25
  1280. package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +0 -1
  1281. package/dist/visualization.es43.js +0 -8
  1282. package/dist/visualization.es43.js.map +0 -1
  1283. package/dist/visualization.es646.js +0 -38
  1284. package/dist/visualization.es646.js.map +0 -1
  1285. package/dist/visualization.es647.js +0 -16
  1286. package/dist/visualization.es647.js.map +0 -1
  1287. package/dist/visualization.es648.js +0 -11
  1288. package/dist/visualization.es648.js.map +0 -1
  1289. package/dist/visualization.es649.js +0 -13
  1290. package/dist/visualization.es649.js.map +0 -1
  1291. package/dist/visualization.es650.js +0 -6
  1292. package/dist/visualization.es650.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es127.js","sources":["../src/components/Heatmap/HeatmapCanvasCells.ts"],"sourcesContent":["import type { ColumnDatum, HeatmapCellId } from \"./types\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport { DIMMED_OPACITY, isOutsideRange, resolveCellAppearance } from \"./heatmapCellAppearance\";\nimport { selectedCellsIn, selectionFrame, type SelectionMarks } from \"./heatmapSelection\";\n\n/** What the canvas renderers and hit-testing need to place and color cells as the SVG renderer does. */\nexport interface CanvasCellParams {\n data: ColumnDatum[];\n numRows: number;\n xScale: (column: number) => number;\n cellYScale: (row: number) => number;\n colorScale: (count: number) => string | undefined;\n /** The counts colorScale spans, which the overview samples it across. */\n minValue: number;\n maxValue: number;\n gap: number;\n isRect: boolean;\n binWidth: number;\n binHeight: number;\n yMax: number;\n /** The selected cells' keys, which the grid frames; null where nothing is selected. */\n selectedKeys: Set<string> | null;\n /** The columns and rows holding the selection, which the minimap marks along its edges. */\n selectionMarks: SelectionMarks;\n highlightRange: [number, number] | null;\n}\n\nexport interface CanvasDrawRange {\n colStart: number;\n colEnd: number;\n rowStart: number;\n rowEnd: number;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n// Mirrors @visx/heatmap's HeatmapRect/HeatmapCircle geometry, so canvas cells land on the pixels SVG\n// cells would. A circle's x is centered in its cell, as HeatmapCell.tsx recomputes it.\ntype CellGeometry =\n | { isRect: true; x: number; y: number; width: number; height: number }\n | { isRect: false; cx: number; cy: number; r: number; radius: number };\n\nfunction getCellGeometry(params: CanvasCellParams, col: number, row: number): CellGeometry {\n const { xScale, cellYScale, gap, isRect, binWidth, binHeight } = params;\n if (isRect) {\n return { isRect: true, x: xScale(col), y: cellYScale(row) + gap, width: binWidth - gap, height: binHeight - gap };\n }\n const radius = Math.min(binWidth, binHeight) / 2;\n return { isRect: false, cx: col * binWidth + binWidth / 2, cy: cellYScale(row) + gap + radius, r: radius - gap, radius };\n}\n\n/**\n * The columns and rows (inclusive) within the scrolled viewport, plus `overscan` either side. Row 0\n * is at the bottom, so the row under content y is floor((yMax - y) / binHeight).\n */\nexport function getVisibleRange(\n params: CanvasCellParams,\n scrollLeft: number,\n scrollTop: number,\n viewportWidth: number,\n viewportHeight: number,\n overscan: number\n): CanvasDrawRange {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n return {\n colStart: clamp(Math.floor(scrollLeft / binWidth) - overscan, 0, Math.max(0, data.length - 1)),\n colEnd: clamp(Math.ceil((scrollLeft + viewportWidth) / binWidth) + overscan, 0, Math.max(0, data.length - 1)),\n rowStart: clamp(Math.floor((yMax - (scrollTop + viewportHeight)) / binHeight) - overscan, 0, Math.max(0, numRows - 1)),\n rowEnd: clamp(Math.floor((yMax - scrollTop) / binHeight) + overscan, 0, Math.max(0, numRows - 1)),\n };\n}\n\n/** Paints the cells in `range` onto `ctx`, whose origin is already at content-space (0,0), and the selection's frame over them. */\nexport function drawHeatmapCells(\n ctx: CanvasRenderingContext2D,\n params: CanvasCellParams,\n range: CanvasDrawRange,\n hoveredCell: HeatmapCellId | null\n) {\n const { data, colorScale, selectedKeys, highlightRange } = params;\n // Setting fillStyle re-parses the color even when unchanged, so repeats are skipped: an export\n // runs this for every cell. A path is built only for the hovered cell, to stroke its outline.\n let lastFill: string | null = null;\n let lastAlpha = -1;\n for (let col = range.colStart; col <= range.colEnd; col++) {\n const columnDatum = data[col];\n if (!columnDatum) continue;\n for (let row = range.rowStart; row <= range.rowEnd; row++) {\n const rowDatum = columnDatum.rows[row];\n if (!rowDatum) continue;\n const count = rowDatum.count;\n const color = count == null ? undefined : colorScale(count);\n const isDimmed = isOutsideRange(count, highlightRange);\n const { fill, fillOpacity } = resolveCellAppearance(count, color, isDimmed);\n if (fillOpacity <= 0) continue;\n\n const geometry = getCellGeometry(params, col, row);\n if (fillOpacity !== lastAlpha) {\n ctx.globalAlpha = fillOpacity;\n lastAlpha = fillOpacity;\n }\n if (fill !== lastFill) {\n ctx.fillStyle = fill;\n lastFill = fill;\n }\n\n const isHovered = hoveredCell !== null && hoveredCell.row === row && hoveredCell.column === col;\n if (geometry.isRect) {\n const width = Math.max(geometry.width, 0);\n const height = Math.max(geometry.height, 0);\n ctx.fillRect(geometry.x, geometry.y, width, height);\n if (isHovered) {\n ctx.beginPath();\n ctx.rect(geometry.x, geometry.y, width, height);\n }\n } else {\n ctx.beginPath();\n ctx.arc(geometry.cx, geometry.cy, Math.max(geometry.r, 0), 0, Math.PI * 2);\n ctx.fill();\n }\n\n if (isHovered) {\n ctx.globalAlpha = 1;\n lastAlpha = 1;\n ctx.lineWidth = 2;\n ctx.strokeStyle = fill;\n ctx.stroke();\n }\n }\n }\n ctx.globalAlpha = 1;\n\n if (selectedKeys) {\n // Past the range by a cell, so the frame's line for a selected cell just outside it still shows.\n const around = {\n colStart: range.colStart - 1,\n colEnd: range.colEnd + 1,\n rowStart: range.rowStart - 1,\n rowEnd: range.rowEnd + 1,\n };\n const bounds = { width: data.length * params.binWidth, height: params.yMax };\n for (const { x, y, width, height, fill } of selectionFrame(selectedKeys, selectedCellsIn(selectedKeys, around), params, bounds)) {\n ctx.fillStyle = fill;\n ctx.fillRect(x, y, width, height);\n }\n }\n}\n\n// Colors sampled from colorScale for the overview, which looks them up rather than calling it per cell.\nconst OVERVIEW_LEVELS = 256;\n\nlet colorParser: CanvasRenderingContext2D | null = null;\n/** Any CSS color as RGB, read back off a 1px canvas, so a color the browser understands is one this does. */\nfunction parseColor(css: string): [number, number, number] {\n colorParser ??= document.createElement(\"canvas\").getContext(\"2d\", { willReadFrequently: true });\n if (!colorParser) return [0, 0, 0];\n colorParser.clearRect(0, 0, 1, 1);\n colorParser.fillStyle = \"#000\";\n colorParser.fillStyle = css;\n colorParser.fillRect(0, 0, 1, 1);\n const [r, g, b] = colorParser.getImageData(0, 0, 1, 1).data;\n return [r, g, b];\n}\n\n// Keyed on identities the layout memoizes, which a highlight sweep leaves alone.\nconst lutCache = new WeakMap<object, Uint8ClampedArray>();\nconst countsCache = new WeakMap<ColumnDatum[], Float64Array>();\n\nfunction colorLut(params: CanvasCellParams): Uint8ClampedArray {\n const cached = lutCache.get(params.colorScale);\n if (cached) return cached;\n const { colorScale, minValue, maxValue } = params;\n const lut = new Uint8ClampedArray(OVERVIEW_LEVELS * 3);\n for (let i = 0; i < OVERVIEW_LEVELS; i++) {\n const [r, g, b] = parseColor(colorScale(minValue + ((maxValue - minValue) * i) / (OVERVIEW_LEVELS - 1)) ?? \"#000\");\n lut.set([r, g, b], i * 3);\n }\n lutCache.set(params.colorScale, lut);\n return lut;\n}\n\n/** Every count in one column-major array, NaN where there is none: several times faster to scan than the row objects. */\nfunction flatCounts(data: ColumnDatum[], numRows: number): Float64Array {\n const cached = countsCache.get(data);\n if (cached && cached.length === data.length * numRows) return cached;\n const counts = new Float64Array(data.length * numRows).fill(NaN);\n data.forEach((column, c) =>\n column.rows.forEach((row, r) => {\n if (r < numRows && row.count != null) counts[c * numRows + r] = row.count;\n })\n );\n countsCache.set(data, counts);\n return counts;\n}\n\n/**\n * The whole grid resampled to `width` x `height` pixels for the minimap, written straight into an\n * ImageData: a fillRect per cell took ~400ms on a million-cell grid.\n *\n * Each pixel averages the cells under it. While highlightRange is set, a pixel holding any cell in\n * the range shows those cells alone at full strength, so a lone outlier isn't averaged away. Cells\n * are drawn as solid squares, without gaps, circles or the selection frame - the minimap marks the\n * selection along its edges instead.\n */\nfunction renderHeatmapOverview(params: CanvasCellParams, width: number, height: number): ImageData | null {\n const { data, numRows, highlightRange, minValue, maxValue } = params;\n const numColumns = data.length;\n if (numColumns === 0 || numRows === 0 || width < 1 || height < 1) return null;\n\n const lut = colorLut(params);\n const counts = flatCounts(data, numRows);\n const span = maxValue - minValue;\n // With no range, every cell is inside it: nothing fades and nothing is singled out.\n const [low, high] = highlightRange ?? [-Infinity, Infinity];\n const image = new ImageData(width, height);\n const pixels = image.data;\n\n // The run of columns (rows) each pixel column (row) covers: at least one, and between them every one.\n const spans = (cells: number, size: number) =>\n Array.from({ length: size }, (_, i) => {\n const start = Math.min(Math.floor((i * cells) / size), cells - 1);\n return [start, Math.max(start + 1, Math.floor(((i + 1) * cells) / size))] as const;\n });\n const columnSpans = spans(numColumns, width);\n // From the top down, where row 0 sits at the bottom of the grid (see cellYScale).\n const rowSpans = spans(numRows, height);\n\n // Scalars and typed arrays only in here: it runs once per cell per redraw.\n for (let y = 0; y < height; y++) {\n const [rowFrom, rowTo] = rowSpans[y];\n for (let x = 0; x < width; x++) {\n const [columnFrom, columnTo] = columnSpans[x];\n // Opacity-weighted sums over every cell, and plain sums over the highlighted ones.\n let r = 0, g = 0, b = 0, a = 0, cells = 0;\n let hr = 0, hg = 0, hb = 0, highlighted = 0;\n for (let column = columnFrom; column < columnTo; column++) {\n const base = column * numRows;\n for (let fromTop = rowFrom; fromTop < rowTo; fromTop++) {\n const index = base + numRows - 1 - fromTop;\n cells++;\n const count = counts[index];\n if (count !== count) continue; // NaN: transparent, as a null cell is drawn nowhere.\n // Held at the ends, as the color scale itself clamps.\n const level = span > 0 ? Math.round(Math.min(Math.max((count - minValue) / span, 0), 1) * (OVERVIEW_LEVELS - 1)) * 3 : 0;\n const cr = lut[level], cg = lut[level + 1], cb = lut[level + 2];\n // isOutsideRange, inlined.\n const inRange = count >= low && count <= high;\n if (inRange && highlightRange) {\n hr += cr; hg += cg; hb += cb; highlighted++;\n }\n const opacity = inRange ? 1 : DIMMED_OPACITY;\n r += cr * opacity; g += cg * opacity; b += cb * opacity; a += opacity;\n }\n }\n const offset = (y * width + x) * 4;\n if (highlighted > 0) {\n pixels[offset] = hr / highlighted;\n pixels[offset + 1] = hg / highlighted;\n pixels[offset + 2] = hb / highlighted;\n pixels[offset + 3] = 255;\n } else if (a > 0) {\n pixels[offset] = r / a;\n pixels[offset + 1] = g / a;\n pixels[offset + 2] = b / a;\n pixels[offset + 3] = (a / cells) * 255;\n }\n }\n }\n return image;\n}\n\nlet overviewScratch: HTMLCanvasElement | null = null;\n\n/**\n * The whole grid, filling the canvas. Rendered at no more than a pixel per cell and stretched\n * nearest-neighbor from there: resampling every pixel of the expanded minimap took over 100ms.\n */\nexport function drawHeatmapOverview(ctx: CanvasRenderingContext2D, params: CanvasCellParams) {\n const { width, height } = ctx.canvas;\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n ctx.clearRect(0, 0, width, height);\n const overviewWidth = Math.min(width, params.data.length);\n const overviewHeight = Math.min(height, params.numRows);\n const overview = renderHeatmapOverview(params, overviewWidth, overviewHeight);\n if (!overview) return;\n if (overviewWidth === width && overviewHeight === height) {\n ctx.putImageData(overview, 0, 0);\n } else {\n overviewScratch ??= document.createElement(\"canvas\");\n overviewScratch.width = overviewWidth;\n overviewScratch.height = overviewHeight;\n overviewScratch.getContext(\"2d\")?.putImageData(overview, 0, 0);\n ctx.imageSmoothingEnabled = false;\n ctx.drawImage(overviewScratch, 0, 0, width, height);\n }\n}\n\n/** Content-space (post-scroll-offset) coordinates -> the cell under them, or null if none. */\nexport function hitTestCell(params: CanvasCellParams, contentX: number, contentY: number): HeatmapCellId | null {\n const { data, numRows, binWidth, binHeight, yMax } = params;\n if (contentX < 0 || contentY < 0) return null;\n const column = Math.floor(contentX / binWidth);\n const row = Math.floor((yMax - contentY) / binHeight);\n if (column < 0 || column >= data.length || row < 0 || row >= numRows) return null;\n if (!data[column]?.rows[row]) return null;\n return { row, column };\n}\n\n/** Builds the same bin shape @visx/heatmap's RectCell/CircleCell provide, for onClick/tooltipBody. */\nexport function buildBin(params: CanvasCellParams, cell: HeatmapCellId): AnyBin | null {\n const columnDatum = params.data[cell.column];\n const rowDatum = columnDatum?.rows[cell.row];\n if (!columnDatum || !rowDatum) return null;\n\n const count = rowDatum.count;\n const color = count == null ? undefined : params.colorScale(count);\n const geometry = getCellGeometry(params, cell.column, cell.row);\n const shared = { bin: rowDatum, row: cell.row, column: cell.column, datum: columnDatum, gap: params.gap, count, color, opacity: count == null ? undefined : 1 };\n\n return geometry.isRect\n ? ({ ...shared, x: geometry.x, y: geometry.y, width: geometry.width, height: geometry.height } as AnyBin)\n : ({ ...shared, cx: geometry.cx, cy: geometry.cy, r: geometry.r, radius: geometry.radius } as AnyBin);\n}\n"],"names":["clamp","value","min","max","Math","getCellGeometry","params","col","row","xScale","cellYScale","gap","isRect","binWidth","binHeight","x","y","width","height","radius","cx","cy","r","getVisibleRange","scrollLeft","scrollTop","viewportWidth","viewportHeight","overscan","data","numRows","yMax","colStart","floor","length","colEnd","ceil","rowStart","rowEnd","drawHeatmapCells","ctx","range","hoveredCell","colorScale","selectedKeys","highlightRange","lastFill","lastAlpha","columnDatum","rowDatum","rows","count","color","undefined","isDimmed","isOutsideRange","fill","fillOpacity","resolveCellAppearance","geometry","globalAlpha","fillStyle","isHovered","column","fillRect","beginPath","rect","arc","PI","lineWidth","strokeStyle","stroke","around","bounds","selectionFrame","selectedCellsIn","OVERVIEW_LEVELS","colorParser","parseColor","css","document","createElement","getContext","willReadFrequently","clearRect","g","b","getImageData","lutCache","WeakMap","countsCache","colorLut","cached","get","minValue","maxValue","lut","Uint8ClampedArray","i","set","flatCounts","counts","Float64Array","NaN","forEach","c","renderHeatmapOverview","numColumns","span","low","high","Infinity","image","ImageData","pixels","spans","cells","size","Array","from","_","start","columnSpans","rowSpans","rowFrom","rowTo","columnFrom","columnTo","a","hr","hg","hb","highlighted","base","fromTop","index","level","round","cr","cg","cb","inRange","opacity","DIMMED_OPACITY","offset","overviewScratch","drawHeatmapOverview","canvas","setTransform","overviewWidth","overviewHeight","overview","putImageData","imageSmoothingEnabled","drawImage","hitTestCell","contentX","contentY","buildBin","cell","shared","bin","datum"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es127.js","sources":["../src/components/PhyloTree/ControlPanel.tsx"],"sourcesContent":["import { Add, Remove, SettingsBackupRestore, Timeline } from \"@mui/icons-material\";\nimport { Tooltip, IconButton } from \"@mui/material\";\nimport { ProvidedZoom } from \"@visx/zoom\";\n\nexport type ControlPanelProps = {\n scaleZoom: ProvidedZoom<SVGSVGElement>[\"scale\"]\n resetZoom: ProvidedZoom<SVGSVGElement>[\"reset\"]\n toggleBranchLength: () => void\n}\n\nexport const ControlPanel = ({scaleZoom, resetZoom, toggleBranchLength}: ControlPanelProps) => {\n return (\n <div\n style={{\n position: \"absolute\",\n margin: \"4px\",\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"flex-start\",\n background: \"rgba(255, 255, 255, 0.6)\",\n backdropFilter: \"blur(2px)\",\n WebkitBackdropFilter: \"blur(2px)\", // Safari support\n border: \"1px solid rgba(255, 255, 255, 0.3)\",\n boxShadow: \"0 2px 8px rgba(0, 0, 0, 0.1)\",\n }}\n >\n <Tooltip title=\"Zoom In\" placement=\"right\">\n <IconButton onClick={() => scaleZoom({ scaleX: 1.2, scaleY: 1.2 })}>\n <Add fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Zoom Out\" placement=\"right\">\n <IconButton onClick={() => scaleZoom({ scaleX: 1 / 1.2, scaleY: 1 / 1.2 })}>\n <Remove fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Reset Zoom\" placement=\"right\">\n <IconButton onClick={resetZoom}>\n <SettingsBackupRestore fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Toggle Evolutionary Distance\" placement=\"right\">\n <IconButton onClick={toggleBranchLength}>\n <Timeline fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n </div>\n );\n}"],"names":["ControlPanel","t0","$","_c","scaleZoom","resetZoom","toggleBranchLength","t1","Symbol","for","position","margin","display","flexDirection","alignItems","background","backdropFilter","WebkitBackdropFilter","border","boxShadow","t2","scaleX","scaleY","t3","Add","t4","jsx","Tooltip","IconButton","t5","t6","Remove","t7","t8","SettingsBackupRestore","t9","t10","Timeline","t11","t12","jsxs"],"mappings":"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"}
@@ -1,21 +1,35 @@
1
- import { jsx as i } from "react/jsx-runtime";
1
+ import { jsx as u } from "react/jsx-runtime";
2
2
  import { c as p } from "react/compiler-runtime";
3
- import { SELECTION_COLOR as f } from "./visualization.es126.js";
4
- const m = 6, n = 4, u = ($) => {
5
- const t = p(6), {
6
- axis: r,
7
- marked: s,
8
- scale: l
9
- } = $;
10
- let e;
11
- t[0] !== s ? (e = [...s], t[0] = s, t[1] = e) : e = t[1];
12
- let o;
13
- return t[2] !== r || t[3] !== l || t[4] !== e ? (o = /* @__PURE__ */ i("g", { fill: f, pointerEvents: "none", children: e.map((c) => {
14
- const a = l(c + 0.5);
15
- return /* @__PURE__ */ i("path", { d: r === "column" ? `M${a},1 l${n},${m} h${-2 * n} z` : `M-1,${a} l${-m},${-n} v${2 * n} z` }, c);
16
- }) }), t[2] = r, t[3] = l, t[4] = e, t[5] = o) : o = t[5], o;
17
- };
3
+ import { memo as g } from "react";
4
+ import M from "./visualization.es37.js";
5
+ const D = g((a) => {
6
+ const o = p(11), {
7
+ dragStart: r,
8
+ dragMove: s,
9
+ dragEnd: e,
10
+ scale: c,
11
+ isDragging: l
12
+ } = a;
13
+ let t;
14
+ o[0] !== e || o[1] !== l ? (t = () => {
15
+ l && e();
16
+ }, o[0] = e, o[1] = l, o[2] = t) : t = o[2];
17
+ let n;
18
+ o[3] !== c ? (n = (m) => {
19
+ const f = M(m) || {
20
+ x: 0,
21
+ y: 0
22
+ };
23
+ c({
24
+ scaleX: 1.5,
25
+ scaleY: 1.5,
26
+ point: f
27
+ });
28
+ }, o[3] = c, o[4] = n) : n = o[4];
29
+ let i;
30
+ return o[5] !== e || o[6] !== s || o[7] !== r || o[8] !== t || o[9] !== n ? (i = /* @__PURE__ */ u("rect", { width: "100%", height: "100%", fill: "transparent", onTouchStart: r, onTouchMove: s, onTouchEnd: e, onMouseDown: r, onMouseMove: s, onMouseUp: e, onMouseLeave: t, onDoubleClick: n }), o[5] = e, o[6] = s, o[7] = r, o[8] = t, o[9] = n, o[10] = i) : i = o[10], i;
31
+ });
18
32
  export {
19
- u as default
33
+ D as ZoomSurface
20
34
  };
21
35
  //# sourceMappingURL=visualization.es128.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es128.js","sources":["../src/components/Heatmap/HeatmapSelectionPointers.tsx"],"sourcesContent":["import { SELECTION_COLOR } from \"./heatmapSelection\";\n\n/** How far a pointer reaches from the grid, and half its width. */\nconst POINTER_LENGTH = 6;\nconst POINTER_HALF_WIDTH = 4;\n\ninterface HeatmapSelectionPointersProps {\n axis: \"column\" | \"row\";\n /** The columns or rows holding the selection - see selectionMarks. */\n marked: Set<number>;\n /** The axis's scale, from a column or row index to its place along the grid. */\n scale: (value: number) => number;\n}\n\n/**\n * A pointer at the tick of each column or row holding the selection, pointing up at a column from\n * below the grid and right at a row from its left. Drawn in the axis's coordinates, so it scrolls\n * and exports with the axis.\n */\nconst HeatmapSelectionPointers = ({ axis, marked, scale }: HeatmapSelectionPointersProps) => (\n <g fill={SELECTION_COLOR} pointerEvents=\"none\">\n {[...marked].map((index) => {\n const at = scale(index + 0.5);\n return (\n <path\n key={index}\n d={\n axis === \"column\"\n ? `M${at},1 l${POINTER_HALF_WIDTH},${POINTER_LENGTH} h${-2 * POINTER_HALF_WIDTH} z`\n : `M-1,${at} l${-POINTER_LENGTH},${-POINTER_HALF_WIDTH} v${2 * POINTER_HALF_WIDTH} z`\n }\n />\n );\n })}\n </g>\n);\n\nexport default HeatmapSelectionPointers;\n"],"names":["POINTER_LENGTH","POINTER_HALF_WIDTH","HeatmapSelectionPointers","t0","$","_c","axis","marked","scale","t1","t2","SELECTION_COLOR","map","index","at","jsx"],"mappings":";;;AAGA,MAAMA,IAAiB,GACjBC,IAAqB,GAerBC,IAA2BC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,CAAA,GAAC;AAAA,IAAAC,MAAAA;AAAAA,IAAAC,QAAAA;AAAAA,IAAAC,OAAAA;AAAAA,EAAAA,IAAAL;AAAsD,MAAAM;AAAA,EAAAL,SAAAG,KAEnFE,IAAA,CAAA,GAAIF,CAAM,GAACH,OAAAG,GAAAH,OAAAK,KAAAA,IAAAL,EAAA,CAAA;AAAA,MAAAM;AAAA,SAAAN,EAAA,CAAA,MAAAE,KAAAF,SAAAI,KAAAJ,EAAA,CAAA,MAAAK,KADdC,6BAASC,MAAAA,GAA+B,eAAA,QACrCF,UAAAA,EAAWG,IAAKC,CAAAA,MAAA;AACf,UAAAC,IAAWN,EAAMK,IAAQ,GAAG;AAAE,WAE5B,gBAAAE,YAGI,GAAAT,MAAS,WAAT,IACQQ,CAAE,OAAOb,CAAkB,IAAID,CAAc,KAAK,KAAKC,CAAkB,OADjF,OAEWa,CAAE,KAAK,CAACd,CAAc,IAAI,CAACC,CAAkB,KAAK,IAAIA,CAAkB,KAAA,GAJhFY,CAIoF;AAAA,EAEzF,CAEL,EAAA,CACH,GAAIT,OAAAE,GAAAF,OAAAI,GAAAJ,OAAAK,GAAAL,OAAAM,KAAAA,IAAAN,EAAA,CAAA,GAdJM;AAcI;"}
1
+ {"version":3,"file":"visualization.es128.js","sources":["../src/components/PhyloTree/ZoomSurface.tsx"],"sourcesContent":["import { localPoint } from \"@visx/event\";\nimport { memo } from \"react\";\n\ntype ZoomSurfaceProps = {\n dragStart: (event: React.TouchEvent | React.MouseEvent) => void;\n dragMove: (event: React.TouchEvent | React.MouseEvent) => void;\n dragEnd: () => void;\n scale: (args: { scaleX: number; scaleY: number; point?: { x: number; y: number } }) => void;\n isDragging: boolean;\n};\n\n\n/**\n * rect which catches and handles zoom events\n */\n\nexport const ZoomSurface = memo(\n ({ dragStart, dragMove, dragEnd, scale, isDragging }: ZoomSurfaceProps) => {\n return (\n <rect\n width=\"100%\"\n height=\"100%\"\n fill=\"transparent\"\n onTouchStart={dragStart}\n onTouchMove={dragMove}\n onTouchEnd={dragEnd}\n onMouseDown={dragStart}\n onMouseMove={dragMove}\n onMouseUp={dragEnd}\n onMouseLeave={() => {\n if (isDragging) dragEnd();\n }}\n onDoubleClick={(event) => {\n const point = localPoint(event) || { x: 0, y: 0 };\n scale({ scaleX: 1.5, scaleY: 1.5, point });\n }}\n />\n );\n }\n);"],"names":["ZoomSurface","memo","t0","$","_c","dragStart","dragMove","dragEnd","scale","isDragging","t1","t2","event","point","localPoint","x","y","scaleX","scaleY","t3","jsx"],"mappings":";;;;AAgBO,MAAMA,IAAcC,EACzBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAC;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,SAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,YAAAA;AAAAA,EAAAA,IAAAP;AAAqE,MAAAQ;AAAA,EAAAP,EAAA,CAAA,MAAAI,KAAAJ,SAAAM,KAYlDC,IAAAA,MAAA;AACZ,IAAID,KAAYF,EAAAA;AAAAA,EAAU,GAC3BJ,OAAAI,GAAAJ,OAAAM,GAAAN,OAAAO,KAAAA,IAAAP,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,SAAAK,KACcG,IAAAC,CAAAA,MAAA;AACb,UAAAC,IAAcC,EAAWF,CAAuB,KAAlC;AAAA,MAAAG,GAA0B;AAAA,MAACC,GAAK;AAAA,IAAA;AAC9CR,IAAAA,EAAM;AAAA,MAAAS,QAAU;AAAA,MAAGC,QAAU;AAAA,MAAGL,OAAAA;AAAAA,IAAAA,CAAS;AAAA,EAAC,GAC3CV,OAAAK,GAAAL,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAAA,MAAAgB;AAAA,SAAAhB,EAAA,CAAA,MAAAI,KAAAJ,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAO,KAAAP,SAAAQ,KAhBHQ,IAAA,gBAAAC,EAAA,UACQ,OAAA,QACC,QAAA,QACF,MAAA,eACSf,cAAAA,GACDC,aAAAA,GACDC,YAAAA,GACCF,aAAAA,GACAC,aAAAA,GACFC,WAAAA,GACG,cAAAG,GAGC,eAAAC,EAAAA,CAGd,GACDR,OAAAI,GAAAJ,OAAAG,GAAAH,OAAAE,GAAAF,OAAAO,GAAAP,OAAAQ,GAAAR,QAAAgB,KAAAA,IAAAhB,EAAA,EAAA,GAjBFgB;AAiBE,CAGR;"}
@@ -1,106 +1,21 @@
1
- import { jsxs as z, jsx as p } from "react/jsx-runtime";
2
- import { useRef as M, useEffect as J, useCallback as m } from "react";
3
- import { drawHeatmapOverview as Q } from "./visualization.es127.js";
4
- import { SELECTION_COLOR as V } from "./visualization.es126.js";
5
- const f = (u, e, c) => Math.min(Math.max(u, e), c), L = 5, Z = 2, v = ({
6
- canvasCellParams: u,
7
- xMax: e,
8
- yMax: c,
9
- viewportWidth: l,
10
- viewportHeight: d,
11
- scrollLeft: P,
12
- scrollTop: g,
13
- width: i,
14
- height: a,
15
- onNavigate: b,
16
- onCanvasClick: x,
17
- onReady: h,
18
- paused: C = !1
19
- }) => {
20
- const D = M(null), r = e > 0 ? i / e : 0, o = c > 0 ? a / c : 0, I = M(h);
21
- I.current = h, J(() => {
22
- const t = D.current;
23
- if (!t || C || r <= 0 || o <= 0) return;
24
- const n = requestAnimationFrame(() => {
25
- const s = t.getContext("2d");
26
- s && (Q(s, u), I.current?.());
27
- });
28
- return () => cancelAnimationFrame(n);
29
- }, [u, e, c, r, o, C]);
30
- const T = m((t, n) => {
31
- b(f(t - l / 2, 0, Math.max(0, e - l)), f(n - d / 2, 0, Math.max(0, c - d)));
32
- }, [b, l, d, e, c]), j = m((t) => {
33
- if (x) {
34
- x();
35
- return;
36
- }
37
- if (r <= 0 || o <= 0) return;
38
- const n = t.currentTarget.getBoundingClientRect();
39
- T((t.clientX - n.left) / r, (t.clientY - n.top) / o);
40
- }, [x, T, r, o]), R = M(null), F = m((t) => {
41
- t.stopPropagation(), t.currentTarget.setPointerCapture(t.pointerId), R.current = {
42
- x: t.clientX,
43
- y: t.clientY,
44
- left: P,
45
- top: g
46
- };
47
- }, [P, g]), K = m((t) => {
48
- const n = R.current;
49
- !n || r <= 0 || o <= 0 || !t.currentTarget.hasPointerCapture(t.pointerId) || b(f(n.left + (t.clientX - n.x) / r, 0, Math.max(0, e - l)), f(n.top + (t.clientY - n.y) / o, 0, Math.max(0, c - d)));
50
- }, [r, o, e, c, l, d, b]), U = m((t) => {
51
- t.currentTarget.releasePointerCapture(t.pointerId), R.current = null;
52
- }, []), $ = m(() => {
53
- R.current = null;
54
- }, []), {
55
- columns: E,
56
- rows: A
57
- } = u.selectionMarks, q = u.data.length, {
58
- numRows: O
59
- } = u, S = (t, n, s) => {
60
- const H = t * s / n, k = s / n, y = Math.max(0, Z - k) / 2;
61
- return [H - y, k + 2 * y];
62
- }, X = f(P * r, 0, i), Y = f(g * o, 0, a), B = Math.max(0, Math.min(l * r, i - X)), G = Math.max(0, Math.min(d * o, a - Y));
63
- return /* @__PURE__ */ z("div", { style: {
64
- position: "relative",
65
- width: i,
66
- height: a
67
- }, children: [
68
- /* @__PURE__ */ p("canvas", { ref: D, width: i * (window.devicePixelRatio || 1), height: a * (window.devicePixelRatio || 1), style: {
69
- width: i,
70
- height: a,
71
- display: "block",
72
- cursor: "pointer",
73
- border: "1px solid #d5d5d5",
74
- boxSizing: "border-box"
75
- }, onPointerDown: j }),
76
- /* @__PURE__ */ p("div", { onPointerDown: F, onPointerMove: K, onPointerUp: U, onLostPointerCapture: $, style: {
77
- position: "absolute",
78
- left: X,
79
- top: Y,
80
- width: B,
81
- height: G,
82
- border: "2px solid #0d0f98",
83
- backgroundColor: "rgba(13, 15, 152, 0.15)",
84
- cursor: "grab",
85
- boxSizing: "border-box"
86
- } }),
87
- (E.size > 0 || A.size > 0) && /* @__PURE__ */ p("svg", { width: i, height: a, style: {
88
- position: "absolute",
89
- inset: 0,
90
- pointerEvents: "none"
91
- }, "aria-hidden": !0, children: /* @__PURE__ */ z("g", { fill: V, children: [
92
- [...E].map((t) => {
93
- const [n, s] = S(t, q, i);
94
- return /* @__PURE__ */ p("rect", { x: n, y: 0, width: s, height: L }, `c${t}`);
95
- }),
96
- [...A].map((t) => {
97
- const [n, s] = S(O - 1 - t, O, a);
98
- return /* @__PURE__ */ p("rect", { x: 0, y: n, width: L, height: s }, `r${t}`);
99
- })
100
- ] }) })
101
- ] });
102
- };
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { useBranchLengthTransition as m } from "./visualization.es7.js";
3
+ import { memo as a } from "react";
4
+ import { motion as s } from "./visualization.es31.js";
5
+ const c = a(function({
6
+ scaledLinkPath: o,
7
+ baseLinkPath: n,
8
+ color: r,
9
+ strokeWidth: i,
10
+ useBranchLengths: t
11
+ }) {
12
+ return /* @__PURE__ */ e(s.path, { stroke: r, strokeWidth: i, fill: "none", initial: !1, strokeLinecap: "round", strokeLinejoin: "round", animate: {
13
+ d: t ? o : n
14
+ }, transition: {
15
+ d: m
16
+ } });
17
+ });
103
18
  export {
104
- v as default
19
+ c as TreeLink
105
20
  };
106
21
  //# sourceMappingURL=visualization.es129.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es129.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport { drawHeatmapOverview, type CanvasCellParams } from \"../HeatmapCanvasCells\";\nimport { SELECTION_COLOR } from \"../heatmapSelection\";\n\nexport interface HeatmapMiniMapProps {\n canvasCellParams: CanvasCellParams;\n xMax: number;\n yMax: number;\n viewportWidth: number;\n viewportHeight: number;\n scrollLeft: number;\n scrollTop: number;\n width: number;\n height: number;\n onNavigate: (left: number, top: number) => void;\n onCanvasClick?: () => void;\n /** Fires after each draw, so the expanded popup can hide its spinner. */\n onReady?: () => void;\n /**\n * Skips redrawing while out of sight - the inline minimap under the expanded one - so a sweep\n * doesn't draw the whole grid twice. Redraws once lifted.\n */\n paused?: boolean;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\n/** How far a selection mark reaches in from the edge, and its narrowest width. */\nconst MARK_DEPTH = 5;\nconst MARK_MIN_WIDTH = 2;\n\nconst HeatmapMiniMap = ({\n canvasCellParams,\n xMax,\n yMax,\n viewportWidth,\n viewportHeight,\n scrollLeft,\n scrollTop,\n width,\n height,\n onNavigate,\n onCanvasClick,\n onReady,\n paused = false,\n}: HeatmapMiniMapProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const scaleX = xMax > 0 ? width / xMax : 0;\n const scaleY = yMax > 0 ? height / yMax : 0;\n\n // A ref, so an inline onReady doesn't re-run the draw on every parent render.\n const onReadyRef = useRef(onReady);\n onReadyRef.current = onReady;\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || paused || scaleX <= 0 || scaleY <= 0) return;\n // A frame later, so the expanded popup paints before the whole-grid draw.\n const raf = requestAnimationFrame(() => {\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n drawHeatmapOverview(ctx, canvasCellParams);\n onReadyRef.current?.();\n });\n return () => cancelAnimationFrame(raf);\n }, [canvasCellParams, xMax, yMax, scaleX, scaleY, paused]);\n\n const navigateCentered = useCallback(\n (contentX: number, contentY: number) => {\n onNavigate(\n clamp(contentX - viewportWidth / 2, 0, Math.max(0, xMax - viewportWidth)),\n clamp(contentY - viewportHeight / 2, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [onNavigate, viewportWidth, viewportHeight, xMax, yMax]\n );\n\n const handleCanvasPointerDown = useCallback(\n (event: React.PointerEvent<HTMLCanvasElement>) => {\n if (onCanvasClick) {\n onCanvasClick();\n return;\n }\n if (scaleX <= 0 || scaleY <= 0) return;\n const rect = event.currentTarget.getBoundingClientRect();\n navigateCentered((event.clientX - rect.left) / scaleX, (event.clientY - rect.top) / scaleY);\n },\n [onCanvasClick, navigateCentered, scaleX, scaleY]\n );\n\n /**\n * Where the window was grabbed: the pointer, and the scroll position then. Each move places the\n * window by the pointer's distance from here, so it stays under the pointer. Adding each move's\n * movementX to scrollLeft instead drifted: scrollLeft trails the grid's scroll by a frame, and\n * each step's rounding was kept, so the window ran ahead or fell behind further the longer the drag.\n */\n const grabRef = useRef<{ x: number; y: number; left: number; top: number } | null>(null);\n\n const handleRectPointerDown = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.currentTarget.setPointerCapture(event.pointerId);\n grabRef.current = { x: event.clientX, y: event.clientY, left: scrollLeft, top: scrollTop };\n },\n [scrollLeft, scrollTop]\n );\n\n const handleRectPointerMove = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n const grab = grabRef.current;\n if (!grab || scaleX <= 0 || scaleY <= 0 || !event.currentTarget.hasPointerCapture(event.pointerId)) return;\n onNavigate(\n clamp(grab.left + (event.clientX - grab.x) / scaleX, 0, Math.max(0, xMax - viewportWidth)),\n clamp(grab.top + (event.clientY - grab.y) / scaleY, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [scaleX, scaleY, xMax, yMax, viewportWidth, viewportHeight, onNavigate]\n );\n\n const handleRectPointerUp = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n grabRef.current = null;\n }, []);\n\n // A capture can also end without a pointerup, e.g. when the browser cancels the gesture.\n const handleRectLostCapture = useCallback(() => {\n grabRef.current = null;\n }, []);\n\n const { columns, rows } = canvasCellParams.selectionMarks;\n const numColumns = canvasCellParams.data.length;\n const { numRows } = canvasCellParams;\n // Cell i's span along an edge `size` pixels long, widened to at least MARK_MIN_WIDTH.\n const markSpan = (i: number, cells: number, size: number) => {\n const from = (i * size) / cells;\n const run = size / cells;\n const extra = Math.max(0, MARK_MIN_WIDTH - run) / 2;\n return [from - extra, run + 2 * extra] as const;\n };\n\n const rectLeft = clamp(scrollLeft * scaleX, 0, width);\n const rectTop = clamp(scrollTop * scaleY, 0, height);\n const rectWidth = Math.max(0, Math.min(viewportWidth * scaleX, width - rectLeft));\n const rectHeight = Math.max(0, Math.min(viewportHeight * scaleY, height - rectTop));\n\n return (\n <div style={{ position: \"relative\", width, height }}>\n <canvas\n ref={canvasRef}\n width={width * (window.devicePixelRatio || 1)}\n height={height * (window.devicePixelRatio || 1)}\n style={{ width, height, display: \"block\", cursor: \"pointer\", border: \"1px solid #d5d5d5\", boxSizing: \"border-box\" }}\n onPointerDown={handleCanvasPointerDown}\n />\n <div\n onPointerDown={handleRectPointerDown}\n onPointerMove={handleRectPointerMove}\n onPointerUp={handleRectPointerUp}\n onLostPointerCapture={handleRectLostCapture}\n style={{\n position: \"absolute\",\n left: rectLeft,\n top: rectTop,\n width: rectWidth,\n height: rectHeight,\n border: \"2px solid #0d0f98\",\n backgroundColor: \"rgba(13, 15, 152, 0.15)\",\n cursor: \"grab\",\n boxSizing: \"border-box\",\n }}\n />\n {/*\n The selection's columns and rows, marked along the top and left edges since a column here\n can be under a pixel wide. Above the viewport rectangle so its border can't cover them.\n */}\n {(columns.size > 0 || rows.size > 0) && (\n <svg\n width={width}\n height={height}\n style={{ position: \"absolute\", inset: 0, pointerEvents: \"none\" }}\n aria-hidden\n >\n <g fill={SELECTION_COLOR}>\n {[...columns].map((column) => {\n const [x, w] = markSpan(column, numColumns, width);\n return <rect key={`c${column}`} x={x} y={0} width={w} height={MARK_DEPTH} />;\n })}\n {/* Row 0 is at the bottom. */}\n {[...rows].map((row) => {\n const [y, h] = markSpan(numRows - 1 - row, numRows, height);\n return <rect key={`r${row}`} x={0} y={y} width={MARK_DEPTH} height={h} />;\n })}\n </g>\n </svg>\n )}\n </div>\n );\n};\n\nexport default HeatmapMiniMap;\n"],"names":["clamp","value","min","max","Math","MARK_DEPTH","MARK_MIN_WIDTH","HeatmapMiniMap","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","onCanvasClick","onReady","paused","canvasRef","useRef","scaleX","scaleY","onReadyRef","current","useEffect","canvas","raf","requestAnimationFrame","ctx","getContext","drawHeatmapOverview","cancelAnimationFrame","navigateCentered","useCallback","contentX","contentY","handleCanvasPointerDown","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","grabRef","handleRectPointerDown","stopPropagation","setPointerCapture","pointerId","x","y","handleRectPointerMove","grab","hasPointerCapture","handleRectPointerUp","releasePointerCapture","handleRectLostCapture","columns","rows","selectionMarks","numColumns","data","length","numRows","markSpan","i","cells","size","from","run","extra","rectLeft","rectTop","rectWidth","rectHeight","jsxs","position","jsx","window","devicePixelRatio","display","cursor","border","boxSizing","backgroundColor","inset","pointerEvents","SELECTION_COLOR","map","column","w","row","h"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es129.js","sources":["../src/components/PhyloTree/TreeLink.tsx"],"sourcesContent":["import { TreeNode } from \"./types\";\nimport { motion } from \"framer-motion\";\nimport { useBranchLengthTransition } from \"./PhyloTree\";\nimport { memo } from \"react\";\n\nexport type TreeLinkProps = {\n scaledLinkPath: TreeNode[\"scaledLinkPath\"]\n baseLinkPath: TreeNode[\"baseLinkPath\"]\n color: TreeNode[\"color\"]\n strokeWidth: TreeNode[\"linkStrokeWidth\"]\n useBranchLengths: boolean;\n};\n\n/**\n * Link from node to its parent\n */\nexport const TreeLink = memo(function TreeLink({\n scaledLinkPath,\n baseLinkPath,\n color,\n strokeWidth,\n useBranchLengths,\n}: TreeLinkProps) {\n return (\n <motion.path\n stroke={color}\n strokeWidth={strokeWidth}\n fill=\"none\"\n initial={false}\n strokeLinecap={\"round\"}\n strokeLinejoin={\"round\"}\n animate={{\n d: useBranchLengths ? scaledLinkPath : baseLinkPath,\n }}\n transition={{\n d: useBranchLengthTransition,\n }}\n />\n );\n})\n"],"names":["TreeLink","memo","scaledLinkPath","baseLinkPath","color","strokeWidth","useBranchLengths","jsx","motion","d","useBranchLengthTransition"],"mappings":";;;;AAgBO,MAAMA,IAAWC,EAAK,SAAkB;AAAA,EAC7CC,gBAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,kBAAAA;AACa,GAAG;AAChB,SACE,gBAAAC,EAACC,EAAO,MAAP,EACC,QAAQJ,GACR,aAAAC,GACA,MAAK,QACL,SAAS,IACT,eAAe,SACf,gBAAgB,SAChB,SAAS;AAAA,IACPI,GAAGH,IAAmBJ,IAAiBC;AAAAA,EAAAA,GAEzC,YAAY;AAAA,IACVM,GAAGC;AAAAA,EAAAA,GACH;AAGR,CAAC;"}
@@ -1,8 +1,8 @@
1
1
  import { jsx as T } from "react/jsx-runtime";
2
2
  import { c as x } from "react/compiler-runtime";
3
3
  import { memo as P, useState as y, useImperativeHandle as z, useRef as M } from "react";
4
- import O, { defaultStyles as A } from "./visualization.es52.js";
5
- import E from "./visualization.es50.js";
4
+ import O, { defaultStyles as A } from "./visualization.es21.js";
5
+ import E from "./visualization.es22.js";
6
6
  const R = 10, w = 8, v = (o, e, a) => {
7
7
  const s = o + R, n = o - R - e, t = s + e > a - w && n >= w ? n : s;
8
8
  return Math.max(w, Math.min(t, a - e - w));
@@ -1,178 +1,17 @@
1
- import { jsx as s, jsxs as g } from "react/jsx-runtime";
2
- import { c as q } from "react/compiler-runtime";
3
- import { useRef as B, useState as L, useEffect as F } from "react";
4
- import { createPortal as J } from "react-dom";
5
- import Q from "./visualization.es129.js";
6
- const Y = 94, ee = 90, O = 16, te = 2147483647, T = 440, W = 40, ne = 12, ae = (z) => {
7
- const e = q(40);
8
- let o, r, a, t;
9
- e[0] !== z ? ({
10
- onClose: t,
11
- containerRef: o,
12
- legend: r,
13
- ...a
14
- } = z, e[0] = z, e[1] = o, e[2] = r, e[3] = a, e[4] = t) : (o = e[1], r = e[2], a = e[3], t = e[4]);
15
- const G = B(null), [n, U] = L(null);
16
- let _, x;
17
- e[5] !== n || e[6] !== o || e[7] !== t ? (_ = () => {
18
- const u = (b) => {
19
- const l = b.target;
20
- o.current?.contains(l) || G.current?.contains(l) || n && l !== n && n.contains(l) || t();
21
- }, y = (b) => {
22
- b.key === "Escape" && t();
23
- };
24
- return document.addEventListener("pointerdown", u), document.addEventListener("keydown", y), () => {
25
- document.removeEventListener("pointerdown", u), document.removeEventListener("keydown", y);
26
- };
27
- }, x = [o, t, n], e[5] = n, e[6] = o, e[7] = t, e[8] = _, e[9] = x) : (_ = e[8], x = e[9]), F(_, x);
28
- const [i, j] = L(null), [A, $] = L(!1);
29
- let v;
30
- e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (v = () => $(!0), e[10] = v) : v = e[10];
31
- const V = v, C = B(null);
32
- let w;
33
- e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (w = (u) => {
34
- if (C.current?.disconnect(), C.current = null, !u) {
35
- j(null);
36
- return;
37
- }
38
- const y = new ResizeObserver((b) => {
39
- const [l] = b;
40
- if (!l)
41
- return;
42
- const {
43
- width: X,
44
- height: Z
45
- } = l.contentRect;
46
- j({
47
- width: Math.floor(X),
48
- height: Math.floor(Z)
49
- });
50
- });
51
- y.observe(u), C.current = y;
52
- }, e[11] = w) : w = e[11];
53
- const K = w, P = Math.min(T, i?.width ?? T);
54
- let I, M;
55
- e[12] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (I = {
56
- position: "fixed",
57
- inset: 0,
58
- zIndex: te,
59
- background: "rgba(0,0,0,0.45)",
60
- display: "flex",
61
- alignItems: "center",
62
- justifyContent: "center"
63
- }, M = /* @__PURE__ */ s("style", { children: "@keyframes heatmapMiniMapSpinnerRotate { to { transform: rotate(360deg); } }" }), e[12] = I, e[13] = M) : (I = e[12], M = e[13]);
64
- let S, E, R;
65
- e[14] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = {
66
- position: "relative",
67
- width: `${Y}vw`,
68
- height: `${ee}vh`,
69
- boxSizing: "border-box",
70
- display: "flex",
71
- flexDirection: "column",
72
- background: "#fff",
73
- border: "1px solid #d5d5d5",
74
- borderRadius: 8,
75
- boxShadow: "0 8px 32px rgba(0,0,0,0.25)",
76
- overflow: "hidden"
77
- }, E = {
78
- flexShrink: 0,
79
- display: "flex",
80
- alignItems: "center",
81
- justifyContent: "space-between",
82
- padding: `10px ${O}px`,
83
- background: "#f7f7f8",
84
- borderBottom: "1px solid #e5e5e5"
85
- }, R = /* @__PURE__ */ s("span", { style: {
86
- fontSize: 14,
87
- fontWeight: 600,
88
- color: "#333"
89
- }, children: "Minimap" }), e[14] = S, e[15] = E, e[16] = R) : (S = e[14], E = e[15], R = e[16]);
90
- let D;
91
- e[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = {
92
- width: 26,
93
- height: 26,
94
- display: "flex",
95
- alignItems: "center",
96
- justifyContent: "center",
97
- padding: 0,
98
- border: "none",
99
- borderRadius: "50%",
100
- background: "#fff",
101
- color: "#555",
102
- fontSize: 16,
103
- lineHeight: 1,
104
- cursor: "pointer"
105
- }, e[17] = D) : D = e[17];
106
- let d;
107
- e[18] !== t ? (d = /* @__PURE__ */ g("div", { style: E, children: [
108
- R,
109
- /* @__PURE__ */ s("button", { type: "button", "aria-label": "Close expanded minimap", onClick: t, style: D, children: "×" })
110
- ] }), e[18] = t, e[19] = d) : d = e[19];
111
- let k;
112
- e[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (k = {
113
- flex: 1,
114
- minHeight: 0,
115
- display: "flex",
116
- flexDirection: "column",
117
- gap: ne,
118
- padding: O
119
- }, e[20] = k) : k = e[20];
120
- let c;
121
- e[21] !== n || e[22] !== r || e[23] !== P ? (c = r && /* @__PURE__ */ s("svg", { width: P, height: W, style: {
122
- flexShrink: 0,
123
- display: "block",
124
- overflow: "visible"
125
- }, children: r({
126
- width: P,
127
- height: W,
128
- orientation: "horizontal",
129
- overlayContainer: n ?? void 0
130
- }) }), e[21] = n, e[22] = r, e[23] = P, e[24] = c) : c = e[24];
131
- let H;
132
- e[25] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (H = {
133
- flex: 1,
134
- minHeight: 0,
135
- position: "relative"
136
- }, e[25] = H) : H = e[25];
137
- let f;
138
- e[26] !== A ? (f = !A && /* @__PURE__ */ s("div", { "aria-label": "Loading minimap", style: {
139
- position: "absolute",
140
- inset: 0,
141
- zIndex: 1,
142
- display: "flex",
143
- alignItems: "center",
144
- justifyContent: "center",
145
- pointerEvents: "none"
146
- }, children: /* @__PURE__ */ s("div", { style: {
147
- width: 40,
148
- height: 40,
149
- borderRadius: "50%",
150
- border: "4px solid #e5e5e5",
151
- borderTopColor: "#0d0f98",
152
- animation: "heatmapMiniMapSpinnerRotate 0.8s linear infinite"
153
- } }) }), e[26] = A, e[27] = f) : f = e[27];
154
- let h;
155
- e[28] !== a || e[29] !== i ? (h = i && i.width > 0 && i.height > 0 && /* @__PURE__ */ s(Q, { ...a, width: i.width, height: i.height, onReady: V }), e[28] = a, e[29] = i, e[30] = h) : h = e[30];
156
- let m;
157
- e[31] !== f || e[32] !== h ? (m = /* @__PURE__ */ g("div", { ref: K, style: H, children: [
158
- f,
159
- h
160
- ] }), e[31] = f, e[32] = h, e[33] = m) : m = e[33];
161
- let p;
162
- e[34] !== c || e[35] !== m ? (p = /* @__PURE__ */ g("div", { style: k, children: [
163
- c,
164
- m
165
- ] }), e[34] = c, e[35] = m, e[36] = p) : p = e[36];
166
- let N;
167
- return e[37] !== d || e[38] !== p ? (N = J(/* @__PURE__ */ g("div", { ref: U, style: I, children: [
168
- M,
169
- /* @__PURE__ */ g("div", { ref: G, style: S, children: [
170
- d,
171
- p
172
- ] })
173
- ] }), document.body), e[37] = d, e[38] = p, e[39] = N) : N = e[39], N;
174
- };
1
+ import { jsx as e } from "react/jsx-runtime";
2
+ import { useBranchLengthTransition as m } from "./visualization.es7.js";
3
+ import { memo as s } from "react";
4
+ import { motion as a } from "./visualization.es31.js";
5
+ const k = s(function({
6
+ useBranchLengths: n,
7
+ color: i,
8
+ baseLeafLinkExtension: o,
9
+ scaledLeafLinkExtension: t,
10
+ strokeWidth: r
11
+ }) {
12
+ return /* @__PURE__ */ e(a.line, { strokeWidth: r, initial: !1, animate: n ? t : o, stroke: i, transition: m });
13
+ });
175
14
  export {
176
- ae as default
15
+ k as LeafLinkExtension
177
16
  };
178
17
  //# sourceMappingURL=visualization.es130.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es130.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMapPopup.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef, useState, type ReactNode, type RefObject } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport type { HeatmapLegendFrame } from \"../types\";\nimport HeatmapMiniMap, { type HeatmapMiniMapProps } from \"./HeatmapMiniMap\";\n\n// Nearly the whole screen, with enough backdrop showing that it reads as a popup.\nconst MINI_MAP_POPUP_WIDTH_VW = 94;\nconst MINI_MAP_POPUP_HEIGHT_VH = 90;\nconst MINI_MAP_POPUP_PADDING = 16;\n// Portaled to <body>, since a transformed ancestor would trap `position: fixed`, and stacked\n// above anything else the host page puts on top.\nconst MINI_MAP_POPUP_Z_INDEX = 2147483647;\n// The legend's band across the top: long enough to sweep with some precision.\nconst LEGEND_BAND_WIDTH = 440;\nconst LEGEND_BAND_HEIGHT = 40;\nconst LEGEND_BAND_GAP = 12;\n\ntype MiniMapPassThroughProps = Omit<HeatmapMiniMapProps, \"width\" | \"height\" | \"onCanvasClick\">;\n\nexport interface HeatmapMiniMapPopupProps extends MiniMapPassThroughProps {\n onClose: () => void;\n /** The inline minimap's container, where a click doesn't count as outside the popup. */\n containerRef: RefObject<HTMLDivElement | null>;\n /** Draws the plot's legend in a band across the top. Omitted where the plot shows no legend. */\n legend?: (frame: HeatmapLegendFrame) => ReactNode;\n}\n\nconst HeatmapMiniMapPopup = ({ onClose, containerRef, legend, ...miniMapProps }: HeatmapMiniMapPopupProps) => {\n const popupRef = useRef<HTMLDivElement | null>(null);\n // The legend's tooltips portal into the backdrop to show above the popup. State rather than a\n // ref, so the legend re-renders once it exists.\n const [backdrop, setBackdrop] = useState<HTMLDivElement | null>(null);\n useEffect(() => {\n const handlePointerDown = (event: PointerEvent) => {\n const target = event.target as Node;\n if (containerRef.current?.contains(target) || popupRef.current?.contains(target)) return;\n // An overlay the legend opened is part of the popup too; the backdrop itself is outside it.\n if (backdrop && target !== backdrop && backdrop.contains(target)) return;\n onClose();\n };\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\") onClose();\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n document.addEventListener(\"keydown\", handleKeyDown);\n return () => {\n document.removeEventListener(\"pointerdown\", handlePointerDown);\n document.removeEventListener(\"keydown\", handleKeyDown);\n };\n }, [containerRef, onClose, backdrop]);\n\n // The canvas needs pixel dimensions; the popup is sized in vw/vh, so the area is measured as it resizes.\n const [size, setSize] = useState<{ width: number; height: number } | null>(null);\n // A spinner covers the first draw, which can take a moment on a large grid.\n const [isReady, setIsReady] = useState(false);\n const handleReady = useCallback(() => setIsReady(true), []);\n const observerRef = useRef<ResizeObserver | null>(null);\n const areaRef = useCallback((node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n if (!node) {\n setSize(null);\n return;\n }\n const observer = new ResizeObserver(([entry]) => {\n if (!entry) return;\n const { width, height } = entry.contentRect;\n setSize({ width: Math.floor(width), height: Math.floor(height) });\n });\n observer.observe(node);\n observerRef.current = observer;\n }, []);\n\n // Narrower only where the popup itself is: on a phone.\n const legendBandWidth = Math.min(LEGEND_BAND_WIDTH, size?.width ?? LEGEND_BAND_WIDTH);\n\n return createPortal(\n <div\n ref={setBackdrop}\n style={{ position: \"fixed\", inset: 0, zIndex: MINI_MAP_POPUP_Z_INDEX, background: \"rgba(0,0,0,0.45)\", display: \"flex\", alignItems: \"center\", justifyContent: \"center\" }}\n >\n <style>{\"@keyframes heatmapMiniMapSpinnerRotate { to { transform: rotate(360deg); } }\"}</style>\n <div\n ref={popupRef}\n style={{\n position: \"relative\",\n width: `${MINI_MAP_POPUP_WIDTH_VW}vw`,\n height: `${MINI_MAP_POPUP_HEIGHT_VH}vh`,\n boxSizing: \"border-box\",\n display: \"flex\",\n flexDirection: \"column\",\n background: \"#fff\",\n border: \"1px solid #d5d5d5\",\n borderRadius: 8,\n boxShadow: \"0 8px 32px rgba(0,0,0,0.25)\",\n overflow: \"hidden\",\n }}\n >\n <div\n style={{\n flexShrink: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n padding: `10px ${MINI_MAP_POPUP_PADDING}px`,\n background: \"#f7f7f8\",\n borderBottom: \"1px solid #e5e5e5\",\n }}\n >\n <span style={{ fontSize: 14, fontWeight: 600, color: \"#333\" }}>Minimap</span>\n <button\n type=\"button\"\n aria-label=\"Close expanded minimap\"\n onClick={onClose}\n style={{\n width: 26,\n height: 26,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n padding: 0,\n border: \"none\",\n borderRadius: \"50%\",\n background: \"#fff\",\n color: \"#555\",\n fontSize: 16,\n lineHeight: 1,\n cursor: \"pointer\",\n }}\n >\n ×\n </button>\n </div>\n <div style={{ flex: 1, minHeight: 0, display: \"flex\", flexDirection: \"column\", gap: LEGEND_BAND_GAP, padding: MINI_MAP_POPUP_PADDING }}>\n {legend && (\n // Above the map rather than beside it: the popup is wide, so a band costs the map less.\n <svg\n width={legendBandWidth}\n height={LEGEND_BAND_HEIGHT}\n style={{ flexShrink: 0, display: \"block\", overflow: \"visible\" }}\n >\n {legend({\n width: legendBandWidth,\n height: LEGEND_BAND_HEIGHT,\n orientation: \"horizontal\",\n overlayContainer: backdrop ?? undefined,\n })}\n </svg>\n )}\n <div ref={areaRef} style={{ flex: 1, minHeight: 0, position: \"relative\" }}>\n {/* Not gated on `size`, so it shows on the first paint rather than after the measurement. */}\n {!isReady && (\n <div\n aria-label=\"Loading minimap\"\n style={{\n position: \"absolute\",\n inset: 0,\n zIndex: 1,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n pointerEvents: \"none\",\n }}\n >\n <div\n style={{\n width: 40,\n height: 40,\n borderRadius: \"50%\",\n border: \"4px solid #e5e5e5\",\n // The minimap's viewport-rectangle color.\n borderTopColor: \"#0d0f98\",\n animation: \"heatmapMiniMapSpinnerRotate 0.8s linear infinite\",\n }}\n />\n </div>\n )}\n {size && size.width > 0 && size.height > 0 && (\n <HeatmapMiniMap {...miniMapProps} width={size.width} height={size.height} onReady={handleReady} />\n )}\n </div>\n </div>\n </div>\n </div>,\n document.body\n );\n};\n\nexport default HeatmapMiniMapPopup;\n"],"names":["MINI_MAP_POPUP_WIDTH_VW","MINI_MAP_POPUP_HEIGHT_VH","MINI_MAP_POPUP_PADDING","MINI_MAP_POPUP_Z_INDEX","LEGEND_BAND_WIDTH","LEGEND_BAND_HEIGHT","LEGEND_BAND_GAP","HeatmapMiniMapPopup","t0","$","_c","containerRef","legend","miniMapProps","onClose","popupRef","useRef","backdrop","setBackdrop","useState","t1","t2","handlePointerDown","event","target","current","contains","handleKeyDown","event_0","key","document","addEventListener","removeEventListener","useEffect","size","setSize","isReady","setIsReady","t3","Symbol","for","handleReady","observerRef","t4","node","disconnect","observer","ResizeObserver","t5","entry","width","height","contentRect","Math","floor","observe","areaRef","legendBandWidth","min","t6","position","inset","zIndex","background","display","alignItems","justifyContent","jsx","t7","t8","t9","boxSizing","flexDirection","border","borderRadius","boxShadow","overflow","flexShrink","padding","borderBottom","fontSize","fontWeight","color","t10","lineHeight","cursor","t11","t12","flex","minHeight","gap","t13","orientation","overlayContainer","undefined","t14","t15","pointerEvents","borderTopColor","animation","t16","HeatmapMiniMap","t17","jsxs","t18","t19","createPortal","body"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es130.js","sources":["../src/components/PhyloTree/LeafLinkExtension.tsx"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { useBranchLengthTransition } from \"./PhyloTree\";\nimport { memo } from \"react\";\nimport { TreeNode } from \"./types\";\n\n\nexport type LeafLinkExtensionProps = {\n baseLeafLinkExtension: TreeNode[\"baseLeafLinkExtension\"]\n scaledLeafLinkExtension: TreeNode[\"scaledLeafLinkExtension\"]\n color: TreeNode[\"color\"];\n strokeWidth: TreeNode[\"linkStrokeWidth\"]\n useBranchLengths: boolean\n};\n\nexport const LeafLinkExtension = memo(function LinkExtension({\n useBranchLengths,\n color,\n baseLeafLinkExtension,\n scaledLeafLinkExtension,\n strokeWidth\n}: LeafLinkExtensionProps) {\n\n return (\n <motion.line\n strokeWidth={strokeWidth}\n initial={false}\n animate={useBranchLengths ? scaledLeafLinkExtension : baseLeafLinkExtension}\n stroke={color}\n transition={useBranchLengthTransition}\n />\n );\n});\n"],"names":["LeafLinkExtension","memo","useBranchLengths","color","baseLeafLinkExtension","scaledLeafLinkExtension","strokeWidth","jsx","motion","useBranchLengthTransition"],"mappings":";;;;AAcO,MAAMA,IAAoBC,EAAK,SAAuB;AAAA,EAC3DC,kBAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,uBAAAA;AAAAA,EACAC,yBAAAA;AAAAA,EACAC,aAAAA;AACsB,GAAG;AAEzB,SACE,gBAAAC,EAACC,EAAO,MAAP,EACC,aAAAF,GACA,SAAS,IACT,SAASJ,IAAmBG,IAA0BD,GACtD,QAAQD,GACR,YAAYM,GAA0B;AAG5C,CAAC;"}