@weng-lab/visualization 2.5.0 → 2.5.1

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 (1192) hide show
  1. package/dist/src/components/Heatmap/HeatmapStaticSvg.d.ts.map +1 -1
  2. package/dist/src/components/Heatmap/scrollable/HeatmapScrollableGrid.d.ts.map +1 -1
  3. package/dist/src/components/Heatmap/scrollable/heatmapExport.d.ts.map +1 -1
  4. package/dist/visualization.es10.js +11 -11
  5. package/dist/visualization.es100.js +143 -35
  6. package/dist/visualization.es100.js.map +1 -1
  7. package/dist/visualization.es101.js +145 -56
  8. package/dist/visualization.es101.js.map +1 -1
  9. package/dist/visualization.es102.js +5 -32
  10. package/dist/visualization.es102.js.map +1 -1
  11. package/dist/visualization.es103.js +5 -18
  12. package/dist/visualization.es103.js.map +1 -1
  13. package/dist/visualization.es104.js +5 -14
  14. package/dist/visualization.es104.js.map +1 -1
  15. package/dist/visualization.es105.js +31 -25
  16. package/dist/visualization.es105.js.map +1 -1
  17. package/dist/visualization.es106.js +44 -12
  18. package/dist/visualization.es106.js.map +1 -1
  19. package/dist/visualization.es107.js +72 -70
  20. package/dist/visualization.es107.js.map +1 -1
  21. package/dist/visualization.es108.js +24 -32
  22. package/dist/visualization.es108.js.map +1 -1
  23. package/dist/visualization.es109.js +85 -13
  24. package/dist/visualization.es109.js.map +1 -1
  25. package/dist/visualization.es11.js +9 -9
  26. package/dist/visualization.es110.js +35 -221
  27. package/dist/visualization.es110.js.map +1 -1
  28. package/dist/visualization.es111.js +15 -2
  29. package/dist/visualization.es111.js.map +1 -1
  30. package/dist/visualization.es112.js +14 -556
  31. package/dist/visualization.es112.js.map +1 -1
  32. package/dist/visualization.es113.js +44 -213
  33. package/dist/visualization.es113.js.map +1 -1
  34. package/dist/visualization.es114.js +22 -2
  35. package/dist/visualization.es114.js.map +1 -1
  36. package/dist/visualization.es115.js +113 -4789
  37. package/dist/visualization.es115.js.map +1 -1
  38. package/dist/visualization.es116.js +80 -25
  39. package/dist/visualization.es116.js.map +1 -1
  40. package/dist/visualization.es117.js +154 -43
  41. package/dist/visualization.es117.js.map +1 -1
  42. package/dist/visualization.es118.js +82 -143
  43. package/dist/visualization.es118.js.map +1 -1
  44. package/dist/visualization.es119.js +37 -146
  45. package/dist/visualization.es119.js.map +1 -1
  46. package/dist/visualization.es120.js +60 -45
  47. package/dist/visualization.es120.js.map +1 -1
  48. package/dist/visualization.es121.js +47 -22
  49. package/dist/visualization.es121.js.map +1 -1
  50. package/dist/visualization.es122.js +26 -124
  51. package/dist/visualization.es122.js.map +1 -1
  52. package/dist/visualization.es123.js +69 -79
  53. package/dist/visualization.es123.js.map +1 -1
  54. package/dist/visualization.es124.js +13 -156
  55. package/dist/visualization.es124.js.map +1 -1
  56. package/dist/visualization.es125.js +58 -83
  57. package/dist/visualization.es125.js.map +1 -1
  58. package/dist/visualization.es126.js +31 -37
  59. package/dist/visualization.es126.js.map +1 -1
  60. package/dist/visualization.es127.js +17 -59
  61. package/dist/visualization.es127.js.map +1 -1
  62. package/dist/visualization.es128.js +14 -47
  63. package/dist/visualization.es128.js.map +1 -1
  64. package/dist/visualization.es129.js +26 -15
  65. package/dist/visualization.es129.js.map +1 -1
  66. package/dist/visualization.es13.js +2 -2
  67. package/dist/visualization.es130.js +74 -15
  68. package/dist/visualization.es130.js.map +1 -1
  69. package/dist/visualization.es131.js +31 -24
  70. package/dist/visualization.es131.js.map +1 -1
  71. package/dist/visualization.es132.js +11 -68
  72. package/dist/visualization.es132.js.map +1 -1
  73. package/dist/visualization.es134.js +1 -1
  74. package/dist/visualization.es135.js +3 -60
  75. package/dist/visualization.es135.js.map +1 -1
  76. package/dist/visualization.es136.js +72 -38
  77. package/dist/visualization.es136.js.map +1 -1
  78. package/dist/visualization.es137.js +5 -37
  79. package/dist/visualization.es137.js.map +1 -1
  80. package/dist/visualization.es138.js +22 -83
  81. package/dist/visualization.es138.js.map +1 -1
  82. package/dist/visualization.es139.js +22 -28
  83. package/dist/visualization.es139.js.map +1 -1
  84. package/dist/visualization.es14.js +6 -6
  85. package/dist/visualization.es140.js +40 -7
  86. package/dist/visualization.es140.js.map +1 -1
  87. package/dist/visualization.es141.js +7 -4
  88. package/dist/visualization.es141.js.map +1 -1
  89. package/dist/visualization.es142.js +10 -1
  90. package/dist/visualization.es142.js.map +1 -1
  91. package/dist/visualization.es143.js +15 -82
  92. package/dist/visualization.es143.js.map +1 -1
  93. package/dist/visualization.es144.js +37 -5
  94. package/dist/visualization.es144.js.map +1 -1
  95. package/dist/visualization.es145.js +22 -87
  96. package/dist/visualization.es145.js.map +1 -1
  97. package/dist/visualization.es146.js +27 -12
  98. package/dist/visualization.es146.js.map +1 -1
  99. package/dist/visualization.es147.js +60 -5
  100. package/dist/visualization.es147.js.map +1 -1
  101. package/dist/visualization.es148.js +38 -14
  102. package/dist/visualization.es148.js.map +1 -1
  103. package/dist/visualization.es149.js +37 -7
  104. package/dist/visualization.es149.js.map +1 -1
  105. package/dist/visualization.es150.js +83 -13
  106. package/dist/visualization.es150.js.map +1 -1
  107. package/dist/visualization.es151.js +27 -62
  108. package/dist/visualization.es151.js.map +1 -1
  109. package/dist/visualization.es152.js +8 -7
  110. package/dist/visualization.es152.js.map +1 -1
  111. package/dist/visualization.es153.js +4 -42
  112. package/dist/visualization.es153.js.map +1 -1
  113. package/dist/visualization.es154.js +3 -71
  114. package/dist/visualization.es154.js.map +1 -1
  115. package/dist/visualization.es155.js +62 -15
  116. package/dist/visualization.es155.js.map +1 -1
  117. package/dist/visualization.es156.js +7 -12
  118. package/dist/visualization.es156.js.map +1 -1
  119. package/dist/visualization.es157.js +43 -5
  120. package/dist/visualization.es157.js.map +1 -1
  121. package/dist/visualization.es158.js +18 -29
  122. package/dist/visualization.es158.js.map +1 -1
  123. package/dist/visualization.es159.js +26 -6
  124. package/dist/visualization.es159.js.map +1 -1
  125. package/dist/visualization.es16.js +7 -7
  126. package/dist/visualization.es160.js +30 -6
  127. package/dist/visualization.es160.js.map +1 -1
  128. package/dist/visualization.es161.js +7 -3
  129. package/dist/visualization.es161.js.map +1 -1
  130. package/dist/visualization.es162.js +6 -16
  131. package/dist/visualization.es162.js.map +1 -1
  132. package/dist/visualization.es163.js +3 -16
  133. package/dist/visualization.es163.js.map +1 -1
  134. package/dist/visualization.es164.js +16 -32
  135. package/dist/visualization.es164.js.map +1 -1
  136. package/dist/visualization.es165.js +16 -16
  137. package/dist/visualization.es165.js.map +1 -1
  138. package/dist/visualization.es166.js +31 -9
  139. package/dist/visualization.es166.js.map +1 -1
  140. package/dist/visualization.es167.js +16 -6
  141. package/dist/visualization.es167.js.map +1 -1
  142. package/dist/visualization.es168.js +10 -6
  143. package/dist/visualization.es168.js.map +1 -1
  144. package/dist/visualization.es169.js +6 -10
  145. package/dist/visualization.es169.js.map +1 -1
  146. package/dist/visualization.es170.js +6 -4
  147. package/dist/visualization.es170.js.map +1 -1
  148. package/dist/visualization.es171.js +10 -4
  149. package/dist/visualization.es171.js.map +1 -1
  150. package/dist/visualization.es172.js +4 -8
  151. package/dist/visualization.es172.js.map +1 -1
  152. package/dist/visualization.es173.js +3 -3
  153. package/dist/visualization.es173.js.map +1 -1
  154. package/dist/visualization.es174.js +8 -12
  155. package/dist/visualization.es174.js.map +1 -1
  156. package/dist/visualization.es175.js +4 -26
  157. package/dist/visualization.es175.js.map +1 -1
  158. package/dist/visualization.es176.js +11 -8
  159. package/dist/visualization.es176.js.map +1 -1
  160. package/dist/visualization.es177.js +26 -6
  161. package/dist/visualization.es177.js.map +1 -1
  162. package/dist/visualization.es178.js +17 -7
  163. package/dist/visualization.es178.js.map +1 -1
  164. package/dist/visualization.es179.js +71 -9
  165. package/dist/visualization.es179.js.map +1 -1
  166. package/dist/visualization.es180.js +16 -6
  167. package/dist/visualization.es180.js.map +1 -1
  168. package/dist/visualization.es181.js +11 -6
  169. package/dist/visualization.es181.js.map +1 -1
  170. package/dist/visualization.es182.js +5 -6
  171. package/dist/visualization.es182.js.map +1 -1
  172. package/dist/visualization.es183.js +18 -14
  173. package/dist/visualization.es183.js.map +1 -1
  174. package/dist/visualization.es184.js +3 -5
  175. package/dist/visualization.es184.js.map +1 -1
  176. package/dist/visualization.es185.js +35 -3
  177. package/dist/visualization.es185.js.map +1 -1
  178. package/dist/visualization.es186.js +8 -7
  179. package/dist/visualization.es186.js.map +1 -1
  180. package/dist/visualization.es187.js +15 -6
  181. package/dist/visualization.es187.js.map +1 -1
  182. package/dist/visualization.es188.js +11 -10
  183. package/dist/visualization.es188.js.map +1 -1
  184. package/dist/visualization.es189.js +5 -32
  185. package/dist/visualization.es189.js.map +1 -1
  186. package/dist/visualization.es190.js +9 -112
  187. package/dist/visualization.es190.js.map +1 -1
  188. package/dist/visualization.es191.js +3 -3
  189. package/dist/visualization.es191.js.map +1 -1
  190. package/dist/visualization.es192.js +2 -6
  191. package/dist/visualization.es192.js.map +1 -1
  192. package/dist/visualization.es193.js +9 -32
  193. package/dist/visualization.es193.js.map +1 -1
  194. package/dist/visualization.es194.js +30 -15
  195. package/dist/visualization.es194.js.map +1 -1
  196. package/dist/visualization.es195.js +42 -7
  197. package/dist/visualization.es195.js.map +1 -1
  198. package/dist/visualization.es196.js +48 -10
  199. package/dist/visualization.es196.js.map +1 -1
  200. package/dist/visualization.es197.js +3 -8
  201. package/dist/visualization.es197.js.map +1 -1
  202. package/dist/visualization.es198.js +3 -16
  203. package/dist/visualization.es198.js.map +1 -1
  204. package/dist/visualization.es199.js +6 -11
  205. package/dist/visualization.es199.js.map +1 -1
  206. package/dist/visualization.es2.js +7 -7
  207. package/dist/visualization.es200.js +4 -5
  208. package/dist/visualization.es200.js.map +1 -1
  209. package/dist/visualization.es201.js +10 -11
  210. package/dist/visualization.es201.js.map +1 -1
  211. package/dist/visualization.es202.js +3 -3
  212. package/dist/visualization.es202.js.map +1 -1
  213. package/dist/visualization.es203.js +18 -2
  214. package/dist/visualization.es203.js.map +1 -1
  215. package/dist/visualization.es204.js +19 -11
  216. package/dist/visualization.es204.js.map +1 -1
  217. package/dist/visualization.es205.js +36 -30
  218. package/dist/visualization.es205.js.map +1 -1
  219. package/dist/visualization.es206.js +2 -43
  220. package/dist/visualization.es206.js.map +1 -1
  221. package/dist/visualization.es207.js +2 -50
  222. package/dist/visualization.es207.js.map +1 -1
  223. package/dist/visualization.es208.js +4 -3
  224. package/dist/visualization.es208.js.map +1 -1
  225. package/dist/visualization.es209.js +15 -3
  226. package/dist/visualization.es209.js.map +1 -1
  227. package/dist/visualization.es21.js +35 -147
  228. package/dist/visualization.es21.js.map +1 -1
  229. package/dist/visualization.es210.js +3 -6
  230. package/dist/visualization.es210.js.map +1 -1
  231. package/dist/visualization.es211.js +7 -5
  232. package/dist/visualization.es211.js.map +1 -1
  233. package/dist/visualization.es212.js +3 -11
  234. package/dist/visualization.es212.js.map +1 -1
  235. package/dist/visualization.es213.js +6 -3
  236. package/dist/visualization.es213.js.map +1 -1
  237. package/dist/visualization.es214.js +8 -16
  238. package/dist/visualization.es214.js.map +1 -1
  239. package/dist/visualization.es215.js +6 -18
  240. package/dist/visualization.es215.js.map +1 -1
  241. package/dist/visualization.es216.js +7 -36
  242. package/dist/visualization.es216.js.map +1 -1
  243. package/dist/visualization.es217.js +10 -2
  244. package/dist/visualization.es217.js.map +1 -1
  245. package/dist/visualization.es218.js +7 -2
  246. package/dist/visualization.es218.js.map +1 -1
  247. package/dist/visualization.es219.js +7 -4
  248. package/dist/visualization.es219.js.map +1 -1
  249. package/dist/visualization.es22.js +43 -7
  250. package/dist/visualization.es22.js.map +1 -1
  251. package/dist/visualization.es220.js +5 -14
  252. package/dist/visualization.es220.js.map +1 -1
  253. package/dist/visualization.es221.js +15 -3
  254. package/dist/visualization.es221.js.map +1 -1
  255. package/dist/visualization.es222.js +6 -7
  256. package/dist/visualization.es222.js.map +1 -1
  257. package/dist/visualization.es223.js +4 -3
  258. package/dist/visualization.es223.js.map +1 -1
  259. package/dist/visualization.es224.js +6 -6
  260. package/dist/visualization.es224.js.map +1 -1
  261. package/dist/visualization.es225.js +6 -19
  262. package/dist/visualization.es225.js.map +1 -1
  263. package/dist/visualization.es226.js +9 -27
  264. package/dist/visualization.es226.js.map +1 -1
  265. package/dist/visualization.es227.js +3 -3
  266. package/dist/visualization.es227.js.map +1 -1
  267. package/dist/visualization.es228.js +5 -72
  268. package/dist/visualization.es228.js.map +1 -1
  269. package/dist/visualization.es229.js +33 -22
  270. package/dist/visualization.es229.js.map +1 -1
  271. package/dist/visualization.es23.js +2 -2
  272. package/dist/visualization.es230.js +15 -22
  273. package/dist/visualization.es230.js.map +1 -1
  274. package/dist/visualization.es231.js +7 -40
  275. package/dist/visualization.es231.js.map +1 -1
  276. package/dist/visualization.es232.js +10 -6
  277. package/dist/visualization.es232.js.map +1 -1
  278. package/dist/visualization.es233.js +82 -10
  279. package/dist/visualization.es233.js.map +1 -1
  280. package/dist/visualization.es234.js +87 -15
  281. package/dist/visualization.es234.js.map +1 -1
  282. package/dist/visualization.es235.js +12 -36
  283. package/dist/visualization.es235.js.map +1 -1
  284. package/dist/visualization.es236.js +5 -24
  285. package/dist/visualization.es236.js.map +1 -1
  286. package/dist/visualization.es237.js +12 -25
  287. package/dist/visualization.es237.js.map +1 -1
  288. package/dist/visualization.es238.js +7 -75
  289. package/dist/visualization.es238.js.map +1 -1
  290. package/dist/visualization.es239.js +14 -2
  291. package/dist/visualization.es239.js.map +1 -1
  292. package/dist/visualization.es24.js +47 -35
  293. package/dist/visualization.es24.js.map +1 -1
  294. package/dist/visualization.es240.js +2 -483
  295. package/dist/visualization.es240.js.map +1 -1
  296. package/dist/visualization.es241.js +33 -2
  297. package/dist/visualization.es241.js.map +1 -1
  298. package/dist/visualization.es242.js +111 -120
  299. package/dist/visualization.es242.js.map +1 -1
  300. package/dist/visualization.es243.js +72 -61
  301. package/dist/visualization.es243.js.map +1 -1
  302. package/dist/visualization.es244.js +2 -61
  303. package/dist/visualization.es244.js.map +1 -1
  304. package/dist/visualization.es245.js +482 -18
  305. package/dist/visualization.es245.js.map +1 -1
  306. package/dist/visualization.es246.js +2 -4
  307. package/dist/visualization.es246.js.map +1 -1
  308. package/dist/visualization.es247.js +63 -35
  309. package/dist/visualization.es247.js.map +1 -1
  310. package/dist/visualization.es248.js +60 -17
  311. package/dist/visualization.es248.js.map +1 -1
  312. package/dist/visualization.es249.js +124 -2
  313. package/dist/visualization.es249.js.map +1 -1
  314. package/dist/visualization.es25.js +31 -45
  315. package/dist/visualization.es25.js.map +1 -1
  316. package/dist/visualization.es250.js +29 -4
  317. package/dist/visualization.es250.js.map +1 -1
  318. package/dist/visualization.es251.js +119 -3
  319. package/dist/visualization.es251.js.map +1 -1
  320. package/dist/visualization.es252.js +29 -3
  321. package/dist/visualization.es252.js.map +1 -1
  322. package/dist/visualization.es253.js +10 -3
  323. package/dist/visualization.es253.js.map +1 -1
  324. package/dist/visualization.es254.js +13 -3
  325. package/dist/visualization.es254.js.map +1 -1
  326. package/dist/visualization.es255.js +32 -3
  327. package/dist/visualization.es255.js.map +1 -1
  328. package/dist/visualization.es256.js +28 -3
  329. package/dist/visualization.es256.js.map +1 -1
  330. package/dist/visualization.es257.js +10 -7
  331. package/dist/visualization.es257.js.map +1 -1
  332. package/dist/visualization.es258.js +12 -48
  333. package/dist/visualization.es258.js.map +1 -1
  334. package/dist/visualization.es259.js +17 -3
  335. package/dist/visualization.es259.js.map +1 -1
  336. package/dist/visualization.es26.js +6 -33
  337. package/dist/visualization.es26.js.map +1 -1
  338. package/dist/visualization.es260.js +23 -6
  339. package/dist/visualization.es260.js.map +1 -1
  340. package/dist/visualization.es261.js +16 -4
  341. package/dist/visualization.es261.js.map +1 -1
  342. package/dist/visualization.es262.js +96 -3
  343. package/dist/visualization.es262.js.map +1 -1
  344. package/dist/visualization.es263.js +28 -6
  345. package/dist/visualization.es263.js.map +1 -1
  346. package/dist/visualization.es264.js +71 -4
  347. package/dist/visualization.es264.js.map +1 -1
  348. package/dist/visualization.es265.js +51 -34
  349. package/dist/visualization.es265.js.map +1 -1
  350. package/dist/visualization.es266.js +35 -2
  351. package/dist/visualization.es266.js.map +1 -1
  352. package/dist/visualization.es267.js +40 -22
  353. package/dist/visualization.es267.js.map +1 -1
  354. package/dist/visualization.es268.js +34 -53
  355. package/dist/visualization.es268.js.map +1 -1
  356. package/dist/visualization.es269.js +2 -21
  357. package/dist/visualization.es269.js.map +1 -1
  358. package/dist/visualization.es27.js +42 -33
  359. package/dist/visualization.es27.js.map +1 -1
  360. package/dist/visualization.es270.js +3 -53
  361. package/dist/visualization.es270.js.map +1 -1
  362. package/dist/visualization.es271.js +3 -31
  363. package/dist/visualization.es271.js.map +1 -1
  364. package/dist/visualization.es272.js +3 -33
  365. package/dist/visualization.es272.js.map +1 -1
  366. package/dist/visualization.es273.js +3 -12
  367. package/dist/visualization.es273.js.map +1 -1
  368. package/dist/visualization.es274.js +4 -7
  369. package/dist/visualization.es274.js.map +1 -1
  370. package/dist/visualization.es275.js +3 -34
  371. package/dist/visualization.es275.js.map +1 -1
  372. package/dist/visualization.es276.js +3 -3
  373. package/dist/visualization.es276.js.map +1 -1
  374. package/dist/visualization.es277.js +7 -3
  375. package/dist/visualization.es277.js.map +1 -1
  376. package/dist/visualization.es278.js +48 -6
  377. package/dist/visualization.es278.js.map +1 -1
  378. package/dist/visualization.es279.js +3 -12
  379. package/dist/visualization.es279.js.map +1 -1
  380. package/dist/visualization.es28.js +7 -20
  381. package/dist/visualization.es28.js.map +1 -1
  382. package/dist/visualization.es280.js +7 -2
  383. package/dist/visualization.es280.js.map +1 -1
  384. package/dist/visualization.es281.js +4 -3
  385. package/dist/visualization.es281.js.map +1 -1
  386. package/dist/visualization.es282.js +3 -3
  387. package/dist/visualization.es282.js.map +1 -1
  388. package/dist/visualization.es283.js +5 -9
  389. package/dist/visualization.es283.js.map +1 -1
  390. package/dist/visualization.es284.js +4 -4
  391. package/dist/visualization.es284.js.map +1 -1
  392. package/dist/visualization.es285.js +29 -32
  393. package/dist/visualization.es285.js.map +1 -1
  394. package/dist/visualization.es286.js +16 -57
  395. package/dist/visualization.es286.js.map +1 -1
  396. package/dist/visualization.es287.js +47 -231
  397. package/dist/visualization.es287.js.map +1 -1
  398. package/dist/visualization.es288.js +26 -987
  399. package/dist/visualization.es288.js.map +1 -1
  400. package/dist/visualization.es289.js +34 -3
  401. package/dist/visualization.es289.js.map +1 -1
  402. package/dist/visualization.es29.js +66 -10
  403. package/dist/visualization.es29.js.map +1 -1
  404. package/dist/visualization.es290.js +12 -11
  405. package/dist/visualization.es290.js.map +1 -1
  406. package/dist/visualization.es291.js +8 -35
  407. package/dist/visualization.es291.js.map +1 -1
  408. package/dist/visualization.es292.js +9 -260
  409. package/dist/visualization.es292.js.map +1 -1
  410. package/dist/visualization.es293.js +6 -59
  411. package/dist/visualization.es293.js.map +1 -1
  412. package/dist/visualization.es294.js +8 -5
  413. package/dist/visualization.es294.js.map +1 -1
  414. package/dist/visualization.es295.js +6 -21
  415. package/dist/visualization.es295.js.map +1 -1
  416. package/dist/visualization.es296.js +5 -37
  417. package/dist/visualization.es296.js.map +1 -1
  418. package/dist/visualization.es297.js +13 -33
  419. package/dist/visualization.es297.js.map +1 -1
  420. package/dist/visualization.es298.js +6 -15
  421. package/dist/visualization.es298.js.map +1 -1
  422. package/dist/visualization.es299.js +7 -19
  423. package/dist/visualization.es299.js.map +1 -1
  424. package/dist/visualization.es3.js +11 -11
  425. package/dist/visualization.es30.js +112 -54
  426. package/dist/visualization.es30.js.map +1 -1
  427. package/dist/visualization.es300.js +7 -9
  428. package/dist/visualization.es300.js.map +1 -1
  429. package/dist/visualization.es301.js +6 -7
  430. package/dist/visualization.es301.js.map +1 -1
  431. package/dist/visualization.es302.js +3 -140
  432. package/dist/visualization.es302.js.map +1 -1
  433. package/dist/visualization.es303.js +4 -5
  434. package/dist/visualization.es303.js.map +1 -1
  435. package/dist/visualization.es304.js +9 -109
  436. package/dist/visualization.es304.js.map +1 -1
  437. package/dist/visualization.es305.js +58 -11
  438. package/dist/visualization.es305.js.map +1 -1
  439. package/dist/visualization.es306.js +5 -141
  440. package/dist/visualization.es306.js.map +1 -1
  441. package/dist/visualization.es307.js +21 -5
  442. package/dist/visualization.es307.js.map +1 -1
  443. package/dist/visualization.es308.js +31 -65
  444. package/dist/visualization.es308.js.map +1 -1
  445. package/dist/visualization.es309.js +31 -32
  446. package/dist/visualization.es309.js.map +1 -1
  447. package/dist/visualization.es31.js +146 -42
  448. package/dist/visualization.es31.js.map +1 -1
  449. package/dist/visualization.es310.js +15 -21
  450. package/dist/visualization.es310.js.map +1 -1
  451. package/dist/visualization.es311.js +19 -4
  452. package/dist/visualization.es311.js.map +1 -1
  453. package/dist/visualization.es312.js +8 -24
  454. package/dist/visualization.es312.js.map +1 -1
  455. package/dist/visualization.es313.js +3 -31
  456. package/dist/visualization.es313.js.map +1 -1
  457. package/dist/visualization.es314.js +12 -2
  458. package/dist/visualization.es314.js.map +1 -1
  459. package/dist/visualization.es315.js +37 -2
  460. package/dist/visualization.es315.js.map +1 -1
  461. package/dist/visualization.es316.js +260 -5
  462. package/dist/visualization.es316.js.map +1 -1
  463. package/dist/visualization.es317.js +8 -15
  464. package/dist/visualization.es317.js.map +1 -1
  465. package/dist/visualization.es318.js +137 -31
  466. package/dist/visualization.es318.js.map +1 -1
  467. package/dist/visualization.es319.js +5 -27
  468. package/dist/visualization.es319.js.map +1 -1
  469. package/dist/visualization.es32.js +7 -33
  470. package/dist/visualization.es32.js.map +1 -1
  471. package/dist/visualization.es320.js +109 -10
  472. package/dist/visualization.es320.js.map +1 -1
  473. package/dist/visualization.es321.js +12 -6
  474. package/dist/visualization.es321.js.map +1 -1
  475. package/dist/visualization.es322.js +141 -13
  476. package/dist/visualization.es322.js.map +1 -1
  477. package/dist/visualization.es323.js +6 -12
  478. package/dist/visualization.es323.js.map +1 -1
  479. package/dist/visualization.es324.js +72 -2
  480. package/dist/visualization.es324.js.map +1 -1
  481. package/dist/visualization.es325.js +36 -3
  482. package/dist/visualization.es325.js.map +1 -1
  483. package/dist/visualization.es326.js +21 -2
  484. package/dist/visualization.es326.js.map +1 -1
  485. package/dist/visualization.es327.js +3 -103
  486. package/dist/visualization.es327.js.map +1 -1
  487. package/dist/visualization.es328.js +24 -4
  488. package/dist/visualization.es328.js.map +1 -1
  489. package/dist/visualization.es329.js +31 -3
  490. package/dist/visualization.es329.js.map +1 -1
  491. package/dist/visualization.es33.js +21 -29
  492. package/dist/visualization.es33.js.map +1 -1
  493. package/dist/visualization.es330.js +2 -19
  494. package/dist/visualization.es330.js.map +1 -1
  495. package/dist/visualization.es331.js +2 -6
  496. package/dist/visualization.es331.js.map +1 -1
  497. package/dist/visualization.es332.js +5 -14
  498. package/dist/visualization.es332.js.map +1 -1
  499. package/dist/visualization.es333.js +15 -5
  500. package/dist/visualization.es333.js.map +1 -1
  501. package/dist/visualization.es334.js +34 -28
  502. package/dist/visualization.es334.js.map +1 -1
  503. package/dist/visualization.es335.js +27 -6
  504. package/dist/visualization.es335.js.map +1 -1
  505. package/dist/visualization.es336.js +11 -2
  506. package/dist/visualization.es336.js.map +1 -1
  507. package/dist/visualization.es337.js +7 -20
  508. package/dist/visualization.es337.js.map +1 -1
  509. package/dist/visualization.es338.js +14 -21
  510. package/dist/visualization.es338.js.map +1 -1
  511. package/dist/visualization.es339.js +12 -6
  512. package/dist/visualization.es339.js.map +1 -1
  513. package/dist/visualization.es34.js +5 -65
  514. package/dist/visualization.es34.js.map +1 -1
  515. package/dist/visualization.es340.js +2 -8
  516. package/dist/visualization.es340.js.map +1 -1
  517. package/dist/visualization.es341.js +3 -19
  518. package/dist/visualization.es341.js.map +1 -1
  519. package/dist/visualization.es342.js +2 -44
  520. package/dist/visualization.es342.js.map +1 -1
  521. package/dist/visualization.es343.js +104 -7
  522. package/dist/visualization.es343.js.map +1 -1
  523. package/dist/visualization.es344.js +4 -19
  524. package/dist/visualization.es344.js.map +1 -1
  525. package/dist/visualization.es345.js +3 -54
  526. package/dist/visualization.es345.js.map +1 -1
  527. package/dist/visualization.es346.js +18 -26
  528. package/dist/visualization.es346.js.map +1 -1
  529. package/dist/visualization.es347.js +6 -11
  530. package/dist/visualization.es347.js.map +1 -1
  531. package/dist/visualization.es348.js +13 -17
  532. package/dist/visualization.es348.js.map +1 -1
  533. package/dist/visualization.es349.js +4 -11
  534. package/dist/visualization.es349.js.map +1 -1
  535. package/dist/visualization.es35.js +32 -41
  536. package/dist/visualization.es35.js.map +1 -1
  537. package/dist/visualization.es350.js +28 -4
  538. package/dist/visualization.es350.js.map +1 -1
  539. package/dist/visualization.es351.js +7 -4
  540. package/dist/visualization.es351.js.map +1 -1
  541. package/dist/visualization.es352.js +2 -4
  542. package/dist/visualization.es352.js.map +1 -1
  543. package/dist/visualization.es353.js +20 -176
  544. package/dist/visualization.es353.js.map +1 -1
  545. package/dist/visualization.es354.js +21 -40
  546. package/dist/visualization.es354.js.map +1 -1
  547. package/dist/visualization.es355.js +5 -5
  548. package/dist/visualization.es355.js.map +1 -1
  549. package/dist/visualization.es356.js +7 -3
  550. package/dist/visualization.es356.js.map +1 -1
  551. package/dist/visualization.es357.js +19 -2
  552. package/dist/visualization.es357.js.map +1 -1
  553. package/dist/visualization.es358.js +43 -29
  554. package/dist/visualization.es358.js.map +1 -1
  555. package/dist/visualization.es359.js +7 -8
  556. package/dist/visualization.es359.js.map +1 -1
  557. package/dist/visualization.es36.js +53 -60
  558. package/dist/visualization.es36.js.map +1 -1
  559. package/dist/visualization.es360.js +19 -10
  560. package/dist/visualization.es360.js.map +1 -1
  561. package/dist/visualization.es361.js +53 -3
  562. package/dist/visualization.es361.js.map +1 -1
  563. package/dist/visualization.es362.js +26 -65
  564. package/dist/visualization.es362.js.map +1 -1
  565. package/dist/visualization.es363.js +11 -7
  566. package/dist/visualization.es363.js.map +1 -1
  567. package/dist/visualization.es364.js +18 -4
  568. package/dist/visualization.es364.js.map +1 -1
  569. package/dist/visualization.es365.js +10 -12
  570. package/dist/visualization.es365.js.map +1 -1
  571. package/dist/visualization.es366.js +4 -34
  572. package/dist/visualization.es366.js.map +1 -1
  573. package/dist/visualization.es367.js +4 -5
  574. package/dist/visualization.es367.js.map +1 -1
  575. package/dist/visualization.es368.js +3 -9
  576. package/dist/visualization.es368.js.map +1 -1
  577. package/dist/visualization.es369.js +176 -2
  578. package/dist/visualization.es369.js.map +1 -1
  579. package/dist/visualization.es37.js +111 -4
  580. package/dist/visualization.es37.js.map +1 -1
  581. package/dist/visualization.es370.js +40 -5
  582. package/dist/visualization.es370.js.map +1 -1
  583. package/dist/visualization.es371.js +6 -2
  584. package/dist/visualization.es371.js.map +1 -1
  585. package/dist/visualization.es372.js +3 -9
  586. package/dist/visualization.es372.js.map +1 -1
  587. package/dist/visualization.es373.js +2 -10
  588. package/dist/visualization.es373.js.map +1 -1
  589. package/dist/visualization.es374.js +29 -12
  590. package/dist/visualization.es374.js.map +1 -1
  591. package/dist/visualization.es375.js +8 -2
  592. package/dist/visualization.es375.js.map +1 -1
  593. package/dist/visualization.es376.js +11 -10
  594. package/dist/visualization.es376.js.map +1 -1
  595. package/dist/visualization.es377.js +3 -7
  596. package/dist/visualization.es377.js.map +1 -1
  597. package/dist/visualization.es378.js +65 -5
  598. package/dist/visualization.es378.js.map +1 -1
  599. package/dist/visualization.es379.js +7 -25
  600. package/dist/visualization.es379.js.map +1 -1
  601. package/dist/visualization.es38.js +7 -46
  602. package/dist/visualization.es38.js.map +1 -1
  603. package/dist/visualization.es380.js +5 -19
  604. package/dist/visualization.es380.js.map +1 -1
  605. package/dist/visualization.es381.js +12 -39
  606. package/dist/visualization.es381.js.map +1 -1
  607. package/dist/visualization.es382.js +35 -3
  608. package/dist/visualization.es382.js.map +1 -1
  609. package/dist/visualization.es383.js +4 -8
  610. package/dist/visualization.es383.js.map +1 -1
  611. package/dist/visualization.es384.js +9 -8
  612. package/dist/visualization.es384.js.map +1 -1
  613. package/dist/visualization.es385.js +2 -36
  614. package/dist/visualization.es385.js.map +1 -1
  615. package/dist/visualization.es386.js +5 -10
  616. package/dist/visualization.es386.js.map +1 -1
  617. package/dist/visualization.es387.js +2 -32
  618. package/dist/visualization.es387.js.map +1 -1
  619. package/dist/visualization.es388.js +9 -4
  620. package/dist/visualization.es388.js.map +1 -1
  621. package/dist/visualization.es389.js +10 -2
  622. package/dist/visualization.es389.js.map +1 -1
  623. package/dist/visualization.es39.js +33 -3
  624. package/dist/visualization.es39.js.map +1 -1
  625. package/dist/visualization.es390.js +13 -16
  626. package/dist/visualization.es390.js.map +1 -1
  627. package/dist/visualization.es391.js +2 -25
  628. package/dist/visualization.es391.js.map +1 -1
  629. package/dist/visualization.es392.js +10 -2
  630. package/dist/visualization.es392.js.map +1 -1
  631. package/dist/visualization.es393.js +7 -62
  632. package/dist/visualization.es393.js.map +1 -1
  633. package/dist/visualization.es394.js +6 -2
  634. package/dist/visualization.es394.js.map +1 -1
  635. package/dist/visualization.es395.js +25 -2
  636. package/dist/visualization.es395.js.map +1 -1
  637. package/dist/visualization.es396.js +19 -6
  638. package/dist/visualization.es396.js.map +1 -1
  639. package/dist/visualization.es397.js +38 -34
  640. package/dist/visualization.es397.js.map +1 -1
  641. package/dist/visualization.es398.js +3 -21
  642. package/dist/visualization.es398.js.map +1 -1
  643. package/dist/visualization.es399.js +8 -3
  644. package/dist/visualization.es399.js.map +1 -1
  645. package/dist/visualization.es4.js +6 -6
  646. package/dist/visualization.es40.js +18695 -275
  647. package/dist/visualization.es40.js.map +1 -1
  648. package/dist/visualization.es400.js +8 -4
  649. package/dist/visualization.es400.js.map +1 -1
  650. package/dist/visualization.es401.js +35 -4
  651. package/dist/visualization.es401.js.map +1 -1
  652. package/dist/visualization.es402.js +8 -47
  653. package/dist/visualization.es402.js.map +1 -1
  654. package/dist/visualization.es403.js +31 -26
  655. package/dist/visualization.es403.js.map +1 -1
  656. package/dist/visualization.es404.js +4 -16
  657. package/dist/visualization.es404.js.map +1 -1
  658. package/dist/visualization.es405.js +2 -10
  659. package/dist/visualization.es405.js.map +1 -1
  660. package/dist/visualization.es406.js +14 -18
  661. package/dist/visualization.es406.js.map +1 -1
  662. package/dist/visualization.es407.js +24 -13
  663. package/dist/visualization.es407.js.map +1 -1
  664. package/dist/visualization.es408.js +2 -4
  665. package/dist/visualization.es408.js.map +1 -1
  666. package/dist/visualization.es409.js +61 -11
  667. package/dist/visualization.es409.js.map +1 -1
  668. package/dist/visualization.es41.js +5 -19
  669. package/dist/visualization.es41.js.map +1 -1
  670. package/dist/visualization.es410.js +2 -49
  671. package/dist/visualization.es410.js.map +1 -1
  672. package/dist/visualization.es411.js +2 -6
  673. package/dist/visualization.es411.js.map +1 -1
  674. package/dist/visualization.es412.js +5 -12
  675. package/dist/visualization.es412.js.map +1 -1
  676. package/dist/visualization.es413.js +37 -2
  677. package/dist/visualization.es413.js.map +1 -1
  678. package/dist/visualization.es414.js +20 -6
  679. package/dist/visualization.es414.js.map +1 -1
  680. package/dist/visualization.es415.js +3 -209
  681. package/dist/visualization.es415.js.map +1 -1
  682. package/dist/visualization.es416.js +4 -26
  683. package/dist/visualization.es416.js.map +1 -1
  684. package/dist/visualization.es417.js +4 -3
  685. package/dist/visualization.es417.js.map +1 -1
  686. package/dist/visualization.es418.js +47 -14
  687. package/dist/visualization.es418.js.map +1 -1
  688. package/dist/visualization.es419.js +26 -14
  689. package/dist/visualization.es419.js.map +1 -1
  690. package/dist/visualization.es42.js +5 -66
  691. package/dist/visualization.es42.js.map +1 -1
  692. package/dist/visualization.es420.js +16 -14
  693. package/dist/visualization.es420.js.map +1 -1
  694. package/dist/visualization.es421.js +10 -2
  695. package/dist/visualization.es421.js.map +1 -1
  696. package/dist/visualization.es422.js +20 -2
  697. package/dist/visualization.es422.js.map +1 -1
  698. package/dist/visualization.es423.js +14 -2
  699. package/dist/visualization.es423.js.map +1 -1
  700. package/dist/visualization.es424.js +4 -5
  701. package/dist/visualization.es424.js.map +1 -1
  702. package/dist/visualization.es425.js +13 -2
  703. package/dist/visualization.es425.js.map +1 -1
  704. package/dist/visualization.es426.js +49 -25
  705. package/dist/visualization.es426.js.map +1 -1
  706. package/dist/visualization.es427.js +5 -21
  707. package/dist/visualization.es427.js.map +1 -1
  708. package/dist/visualization.es428.js +12 -8
  709. package/dist/visualization.es428.js.map +1 -1
  710. package/dist/visualization.es429.js +2 -68
  711. package/dist/visualization.es429.js.map +1 -1
  712. package/dist/visualization.es43.js +58 -269
  713. package/dist/visualization.es43.js.map +1 -1
  714. package/dist/visualization.es430.js +7 -6
  715. package/dist/visualization.es430.js.map +1 -1
  716. package/dist/visualization.es431.js +210 -29
  717. package/dist/visualization.es431.js.map +1 -1
  718. package/dist/visualization.es432.js +26 -9
  719. package/dist/visualization.es432.js.map +1 -1
  720. package/dist/visualization.es433.js +4 -6
  721. package/dist/visualization.es433.js.map +1 -1
  722. package/dist/visualization.es434.js +16 -2
  723. package/dist/visualization.es434.js.map +1 -1
  724. package/dist/visualization.es435.js +15 -5
  725. package/dist/visualization.es435.js.map +1 -1
  726. package/dist/visualization.es436.js +15 -26
  727. package/dist/visualization.es436.js.map +1 -1
  728. package/dist/visualization.es437.js +2 -11
  729. package/dist/visualization.es437.js.map +1 -1
  730. package/dist/visualization.es438.js +2 -27
  731. package/dist/visualization.es438.js.map +1 -1
  732. package/dist/visualization.es439.js +2 -10
  733. package/dist/visualization.es439.js.map +1 -1
  734. package/dist/visualization.es44.js +806 -98
  735. package/dist/visualization.es44.js.map +1 -1
  736. package/dist/visualization.es440.js +5 -11
  737. package/dist/visualization.es440.js.map +1 -1
  738. package/dist/visualization.es441.js +2 -2
  739. package/dist/visualization.es441.js.map +1 -1
  740. package/dist/visualization.es442.js +25 -16
  741. package/dist/visualization.es442.js.map +1 -1
  742. package/dist/visualization.es443.js +21 -29
  743. package/dist/visualization.es443.js.map +1 -1
  744. package/dist/visualization.es444.js +9 -26
  745. package/dist/visualization.es444.js.map +1 -1
  746. package/dist/visualization.es445.js +68 -2
  747. package/dist/visualization.es445.js.map +1 -1
  748. package/dist/visualization.es446.js +6 -9
  749. package/dist/visualization.es446.js.map +1 -1
  750. package/dist/visualization.es447.js +29 -13
  751. package/dist/visualization.es447.js.map +1 -1
  752. package/dist/visualization.es448.js +9 -22
  753. package/dist/visualization.es448.js.map +1 -1
  754. package/dist/visualization.es449.js +6 -13
  755. package/dist/visualization.es449.js.map +1 -1
  756. package/dist/visualization.es450.js +2 -3
  757. package/dist/visualization.es450.js.map +1 -1
  758. package/dist/visualization.es451.js +5 -2
  759. package/dist/visualization.es451.js.map +1 -1
  760. package/dist/visualization.es452.js +23 -15
  761. package/dist/visualization.es452.js.map +1 -1
  762. package/dist/visualization.es453.js +10 -3
  763. package/dist/visualization.es453.js.map +1 -1
  764. package/dist/visualization.es454.js +26 -11
  765. package/dist/visualization.es454.js.map +1 -1
  766. package/dist/visualization.es455.js +10 -11
  767. package/dist/visualization.es455.js.map +1 -1
  768. package/dist/visualization.es456.js +10 -6
  769. package/dist/visualization.es456.js.map +1 -1
  770. package/dist/visualization.es457.js +2 -19
  771. package/dist/visualization.es457.js.map +1 -1
  772. package/dist/visualization.es458.js +16 -23
  773. package/dist/visualization.es458.js.map +1 -1
  774. package/dist/visualization.es459.js +29 -11
  775. package/dist/visualization.es459.js.map +1 -1
  776. package/dist/visualization.es46.js +128 -19
  777. package/dist/visualization.es46.js.map +1 -1
  778. package/dist/visualization.es460.js +26 -51
  779. package/dist/visualization.es460.js.map +1 -1
  780. package/dist/visualization.es461.js +2 -18
  781. package/dist/visualization.es461.js.map +1 -1
  782. package/dist/visualization.es462.js +8 -35
  783. package/dist/visualization.es462.js.map +1 -1
  784. package/dist/visualization.es463.js +12 -22
  785. package/dist/visualization.es463.js.map +1 -1
  786. package/dist/visualization.es464.js +22 -31
  787. package/dist/visualization.es464.js.map +1 -1
  788. package/dist/visualization.es465.js +12 -3
  789. package/dist/visualization.es465.js.map +1 -1
  790. package/dist/visualization.es466.js +3 -19
  791. package/dist/visualization.es466.js.map +1 -1
  792. package/dist/visualization.es467.js +2 -14
  793. package/dist/visualization.es467.js.map +1 -1
  794. package/dist/visualization.es468.js +16 -9
  795. package/dist/visualization.es468.js.map +1 -1
  796. package/dist/visualization.es469.js +3 -29
  797. package/dist/visualization.es469.js.map +1 -1
  798. package/dist/visualization.es47.js +65 -17
  799. package/dist/visualization.es47.js.map +1 -1
  800. package/dist/visualization.es470.js +12 -6
  801. package/dist/visualization.es470.js.map +1 -1
  802. package/dist/visualization.es471.js +11 -8
  803. package/dist/visualization.es471.js.map +1 -1
  804. package/dist/visualization.es472.js +7 -2
  805. package/dist/visualization.es472.js.map +1 -1
  806. package/dist/visualization.es473.js +19 -17
  807. package/dist/visualization.es473.js.map +1 -1
  808. package/dist/visualization.es474.js +21 -7
  809. package/dist/visualization.es474.js.map +1 -1
  810. package/dist/visualization.es475.js +11 -9
  811. package/dist/visualization.es475.js.map +1 -1
  812. package/dist/visualization.es476.js +41 -606
  813. package/dist/visualization.es476.js.map +1 -1
  814. package/dist/visualization.es477.js +17 -50
  815. package/dist/visualization.es477.js.map +1 -1
  816. package/dist/visualization.es478.js +36 -13
  817. package/dist/visualization.es478.js.map +1 -1
  818. package/dist/visualization.es479.js +23 -11
  819. package/dist/visualization.es479.js.map +1 -1
  820. package/dist/visualization.es48.js +270 -20
  821. package/dist/visualization.es48.js.map +1 -1
  822. package/dist/visualization.es480.js +32 -23
  823. package/dist/visualization.es480.js.map +1 -1
  824. package/dist/visualization.es481.js +3 -34
  825. package/dist/visualization.es481.js.map +1 -1
  826. package/dist/visualization.es482.js +17 -11
  827. package/dist/visualization.es482.js.map +1 -1
  828. package/dist/visualization.es483.js +13 -19
  829. package/dist/visualization.es483.js.map +1 -1
  830. package/dist/visualization.es484.js +10 -40
  831. package/dist/visualization.es484.js.map +1 -1
  832. package/dist/visualization.es485.js +27 -55
  833. package/dist/visualization.es485.js.map +1 -1
  834. package/dist/visualization.es486.js +6 -19
  835. package/dist/visualization.es486.js.map +1 -1
  836. package/dist/visualization.es487.js +7 -25
  837. package/dist/visualization.es487.js.map +1 -1
  838. package/dist/visualization.es488.js +2 -27
  839. package/dist/visualization.es488.js.map +1 -1
  840. package/dist/visualization.es489.js +11 -37
  841. package/dist/visualization.es489.js.map +1 -1
  842. package/dist/visualization.es49.js +102 -69
  843. package/dist/visualization.es49.js.map +1 -1
  844. package/dist/visualization.es490.js +8 -3
  845. package/dist/visualization.es490.js.map +1 -1
  846. package/dist/visualization.es491.js +10 -3
  847. package/dist/visualization.es491.js.map +1 -1
  848. package/dist/visualization.es492.js +616 -7
  849. package/dist/visualization.es492.js.map +1 -1
  850. package/dist/visualization.es493.js +50 -15
  851. package/dist/visualization.es493.js.map +1 -1
  852. package/dist/visualization.es494.js +13 -2
  853. package/dist/visualization.es494.js.map +1 -1
  854. package/dist/visualization.es495.js +11 -2
  855. package/dist/visualization.es495.js.map +1 -1
  856. package/dist/visualization.es496.js +23 -2
  857. package/dist/visualization.es496.js.map +1 -1
  858. package/dist/visualization.es497.js +34 -29
  859. package/dist/visualization.es497.js.map +1 -1
  860. package/dist/visualization.es498.js +13 -29
  861. package/dist/visualization.es498.js.map +1 -1
  862. package/dist/visualization.es499.js +17 -118
  863. package/dist/visualization.es499.js.map +1 -1
  864. package/dist/visualization.es5.js +6 -6
  865. package/dist/visualization.es50.js +26 -80
  866. package/dist/visualization.es50.js.map +1 -1
  867. package/dist/visualization.es500.js +25 -29
  868. package/dist/visualization.es500.js.map +1 -1
  869. package/dist/visualization.es501.js +26 -10
  870. package/dist/visualization.es501.js.map +1 -1
  871. package/dist/visualization.es502.js +42 -13
  872. package/dist/visualization.es502.js.map +1 -1
  873. package/dist/visualization.es503.js +17 -30
  874. package/dist/visualization.es503.js.map +1 -1
  875. package/dist/visualization.es504.js +38 -26
  876. package/dist/visualization.es504.js.map +1 -1
  877. package/dist/visualization.es505.js +57 -10
  878. package/dist/visualization.es505.js.map +1 -1
  879. package/dist/visualization.es506.js +3 -12
  880. package/dist/visualization.es506.js.map +1 -1
  881. package/dist/visualization.es507.js +3 -18
  882. package/dist/visualization.es507.js.map +1 -1
  883. package/dist/visualization.es508.js +7 -24
  884. package/dist/visualization.es508.js.map +1 -1
  885. package/dist/visualization.es509.js +15 -16
  886. package/dist/visualization.es509.js.map +1 -1
  887. package/dist/visualization.es51.js +21 -7
  888. package/dist/visualization.es51.js.map +1 -1
  889. package/dist/visualization.es510.js +2 -97
  890. package/dist/visualization.es510.js.map +1 -1
  891. package/dist/visualization.es511.js +2 -29
  892. package/dist/visualization.es511.js.map +1 -1
  893. package/dist/visualization.es512.js +2 -72
  894. package/dist/visualization.es512.js.map +1 -1
  895. package/dist/visualization.es513.js +58 -48
  896. package/dist/visualization.es513.js.map +1 -1
  897. package/dist/visualization.es514.js +23 -34
  898. package/dist/visualization.es514.js.map +1 -1
  899. package/dist/visualization.es515.js +52 -40
  900. package/dist/visualization.es515.js.map +1 -1
  901. package/dist/visualization.es516.js +7 -10
  902. package/dist/visualization.es516.js.map +1 -1
  903. package/dist/visualization.es517.js +34 -9
  904. package/dist/visualization.es517.js.map +1 -1
  905. package/dist/visualization.es518.js +3 -6
  906. package/dist/visualization.es518.js.map +1 -1
  907. package/dist/visualization.es519.js +3 -8
  908. package/dist/visualization.es519.js.map +1 -1
  909. package/dist/visualization.es52.js +18 -8
  910. package/dist/visualization.es52.js.map +1 -1
  911. package/dist/visualization.es520.js +6 -6
  912. package/dist/visualization.es520.js.map +1 -1
  913. package/dist/visualization.es521.js +12 -5
  914. package/dist/visualization.es521.js.map +1 -1
  915. package/dist/visualization.es522.js +2 -15
  916. package/dist/visualization.es522.js.map +1 -1
  917. package/dist/visualization.es523.js +3 -5
  918. package/dist/visualization.es523.js.map +1 -1
  919. package/dist/visualization.es524.js +3 -6
  920. package/dist/visualization.es524.js.map +1 -1
  921. package/dist/visualization.es525.js +10 -6
  922. package/dist/visualization.es525.js.map +1 -1
  923. package/dist/visualization.es526.js +4 -6
  924. package/dist/visualization.es526.js.map +1 -1
  925. package/dist/visualization.es527.js +32 -3
  926. package/dist/visualization.es527.js.map +1 -1
  927. package/dist/visualization.es528.js +237 -4
  928. package/dist/visualization.es528.js.map +1 -1
  929. package/dist/visualization.es529.js +990 -7
  930. package/dist/visualization.es529.js.map +1 -1
  931. package/dist/visualization.es53.js +19 -65
  932. package/dist/visualization.es53.js.map +1 -1
  933. package/dist/visualization.es532.js +20 -33
  934. package/dist/visualization.es532.js.map +1 -1
  935. package/dist/visualization.es533.js +8 -25
  936. package/dist/visualization.es533.js.map +1 -1
  937. package/dist/visualization.es534.js +3 -45
  938. package/dist/visualization.es534.js.map +1 -1
  939. package/dist/visualization.es535.js +7 -9
  940. package/dist/visualization.es535.js.map +1 -1
  941. package/dist/visualization.es536.js +8 -15
  942. package/dist/visualization.es536.js.map +1 -1
  943. package/dist/visualization.es537.js +6 -16
  944. package/dist/visualization.es537.js.map +1 -1
  945. package/dist/visualization.es538.js +4 -16
  946. package/dist/visualization.es538.js.map +1 -1
  947. package/dist/visualization.es539.js +8 -24
  948. package/dist/visualization.es539.js.map +1 -1
  949. package/dist/visualization.es54.js +69 -112
  950. package/dist/visualization.es54.js.map +1 -1
  951. package/dist/visualization.es540.js +14 -4
  952. package/dist/visualization.es540.js.map +1 -1
  953. package/dist/visualization.es541.js +9 -10
  954. package/dist/visualization.es541.js.map +1 -1
  955. package/dist/visualization.es542.js +4 -13
  956. package/dist/visualization.es542.js.map +1 -1
  957. package/dist/visualization.es543.js +5 -8
  958. package/dist/visualization.es543.js.map +1 -1
  959. package/dist/visualization.es544.js +7 -8
  960. package/dist/visualization.es544.js.map +1 -1
  961. package/dist/visualization.es545.js +30 -19
  962. package/dist/visualization.es545.js.map +1 -1
  963. package/dist/visualization.es546.js +32 -60
  964. package/dist/visualization.es546.js.map +1 -1
  965. package/dist/visualization.es547.js +52 -28
  966. package/dist/visualization.es547.js.map +1 -1
  967. package/dist/visualization.es548.js +9 -5
  968. package/dist/visualization.es548.js.map +1 -1
  969. package/dist/visualization.es549.js +4 -3
  970. package/dist/visualization.es549.js.map +1 -1
  971. package/dist/visualization.es55.js +81 -5
  972. package/dist/visualization.es55.js.map +1 -1
  973. package/dist/visualization.es550.js +6 -2
  974. package/dist/visualization.es550.js.map +1 -1
  975. package/dist/visualization.es551.js +33 -281
  976. package/dist/visualization.es551.js.map +1 -1
  977. package/dist/visualization.es552.js +25 -2
  978. package/dist/visualization.es552.js.map +1 -1
  979. package/dist/visualization.es553.js +44 -126
  980. package/dist/visualization.es553.js.map +1 -1
  981. package/dist/visualization.es554.js +9 -19
  982. package/dist/visualization.es554.js.map +1 -1
  983. package/dist/visualization.es555.js +15 -4
  984. package/dist/visualization.es555.js.map +1 -1
  985. package/dist/visualization.es556.js +16 -4
  986. package/dist/visualization.es556.js.map +1 -1
  987. package/dist/visualization.es557.js +16 -16
  988. package/dist/visualization.es557.js.map +1 -1
  989. package/dist/visualization.es558.js +24 -4
  990. package/dist/visualization.es558.js.map +1 -1
  991. package/dist/visualization.es559.js +5 -9
  992. package/dist/visualization.es559.js.map +1 -1
  993. package/dist/visualization.es56.js +32 -70
  994. package/dist/visualization.es56.js.map +1 -1
  995. package/dist/visualization.es560.js +3 -4
  996. package/dist/visualization.es560.js.map +1 -1
  997. package/dist/visualization.es561.js +15 -5
  998. package/dist/visualization.es561.js.map +1 -1
  999. package/dist/visualization.es562.js +3 -9
  1000. package/dist/visualization.es562.js.map +1 -1
  1001. package/dist/visualization.es563.js +9 -7
  1002. package/dist/visualization.es563.js.map +1 -1
  1003. package/dist/visualization.es564.js +3 -4
  1004. package/dist/visualization.es564.js.map +1 -1
  1005. package/dist/visualization.es565.js +11 -3
  1006. package/dist/visualization.es565.js.map +1 -1
  1007. package/dist/visualization.es566.js +10 -4
  1008. package/dist/visualization.es566.js.map +1 -1
  1009. package/dist/visualization.es567.js +23 -10
  1010. package/dist/visualization.es567.js.map +1 -1
  1011. package/dist/visualization.es568.js +3 -9
  1012. package/dist/visualization.es568.js.map +1 -1
  1013. package/dist/visualization.es569.js +8 -30
  1014. package/dist/visualization.es569.js.map +1 -1
  1015. package/dist/visualization.es57.js +168 -11
  1016. package/dist/visualization.es57.js.map +1 -1
  1017. package/dist/visualization.es570.js +10 -24
  1018. package/dist/visualization.es570.js.map +1 -1
  1019. package/dist/visualization.es571.js +13 -51
  1020. package/dist/visualization.es571.js.map +1 -1
  1021. package/dist/visualization.es572.js +8 -4
  1022. package/dist/visualization.es572.js.map +1 -1
  1023. package/dist/visualization.es573.js +8 -9
  1024. package/dist/visualization.es573.js.map +1 -1
  1025. package/dist/visualization.es574.js +19 -20
  1026. package/dist/visualization.es574.js.map +1 -1
  1027. package/dist/visualization.es575.js +62 -7
  1028. package/dist/visualization.es575.js.map +1 -1
  1029. package/dist/visualization.es576.js +28 -7
  1030. package/dist/visualization.es576.js.map +1 -1
  1031. package/dist/visualization.es577.js +5 -6
  1032. package/dist/visualization.es577.js.map +1 -1
  1033. package/dist/visualization.es578.js +3 -7
  1034. package/dist/visualization.es578.js.map +1 -1
  1035. package/dist/visualization.es579.js +2 -16
  1036. package/dist/visualization.es579.js.map +1 -1
  1037. package/dist/visualization.es58.js +129 -18697
  1038. package/dist/visualization.es58.js.map +1 -1
  1039. package/dist/visualization.es580.js +281 -4
  1040. package/dist/visualization.es580.js.map +1 -1
  1041. package/dist/visualization.es581.js +2 -7
  1042. package/dist/visualization.es581.js.map +1 -1
  1043. package/dist/visualization.es582.js +124 -31
  1044. package/dist/visualization.es582.js.map +1 -1
  1045. package/dist/visualization.es583.js +18 -8
  1046. package/dist/visualization.es583.js.map +1 -1
  1047. package/dist/visualization.es584.js +1 -1
  1048. package/dist/visualization.es585.js +3 -8
  1049. package/dist/visualization.es585.js.map +1 -1
  1050. package/dist/visualization.es586.js +7 -8
  1051. package/dist/visualization.es586.js.map +1 -1
  1052. package/dist/visualization.es587.js +6 -18
  1053. package/dist/visualization.es587.js.map +1 -1
  1054. package/dist/visualization.es588.js +18 -7
  1055. package/dist/visualization.es588.js.map +1 -1
  1056. package/dist/visualization.es589.js +14 -7
  1057. package/dist/visualization.es589.js.map +1 -1
  1058. package/dist/visualization.es59.js +177 -5
  1059. package/dist/visualization.es59.js.map +1 -1
  1060. package/dist/visualization.es591.js +6 -6
  1061. package/dist/visualization.es592.js +1 -1
  1062. package/dist/visualization.es6.js +15 -15
  1063. package/dist/visualization.es60.js +89 -5
  1064. package/dist/visualization.es60.js.map +1 -1
  1065. package/dist/visualization.es604.js +7 -32
  1066. package/dist/visualization.es604.js.map +1 -1
  1067. package/dist/visualization.es605.js +7 -12
  1068. package/dist/visualization.es605.js.map +1 -1
  1069. package/dist/visualization.es606.js +12 -24
  1070. package/dist/visualization.es606.js.map +1 -1
  1071. package/dist/visualization.es607.js +24 -19
  1072. package/dist/visualization.es607.js.map +1 -1
  1073. package/dist/visualization.es608.js +20 -7
  1074. package/dist/visualization.es608.js.map +1 -1
  1075. package/dist/visualization.es609.js +5 -4
  1076. package/dist/visualization.es609.js.map +1 -1
  1077. package/dist/visualization.es61.js +69 -59
  1078. package/dist/visualization.es61.js.map +1 -1
  1079. package/dist/visualization.es610.js +6 -4
  1080. package/dist/visualization.es610.js.map +1 -1
  1081. package/dist/visualization.es611.js +3 -64
  1082. package/dist/visualization.es611.js.map +1 -1
  1083. package/dist/visualization.es612.js +64 -4
  1084. package/dist/visualization.es612.js.map +1 -1
  1085. package/dist/visualization.es613.js +289 -7
  1086. package/dist/visualization.es613.js.map +1 -1
  1087. package/dist/visualization.es614.js +32 -6
  1088. package/dist/visualization.es614.js.map +1 -1
  1089. package/dist/visualization.es615.js +9 -18
  1090. package/dist/visualization.es615.js.map +1 -1
  1091. package/dist/visualization.es616.js +8 -13
  1092. package/dist/visualization.es616.js.map +1 -1
  1093. package/dist/visualization.es617.js +17 -289
  1094. package/dist/visualization.es617.js.map +1 -1
  1095. package/dist/visualization.es618.js +5 -3
  1096. package/dist/visualization.es618.js.map +1 -1
  1097. package/dist/visualization.es619.js +3 -11
  1098. package/dist/visualization.es619.js.map +1 -1
  1099. package/dist/visualization.es62.js +10 -809
  1100. package/dist/visualization.es62.js.map +1 -1
  1101. package/dist/visualization.es620.js +3 -3
  1102. package/dist/visualization.es620.js.map +1 -1
  1103. package/dist/visualization.es621.js +13 -3
  1104. package/dist/visualization.es621.js.map +1 -1
  1105. package/dist/visualization.es622.js +116 -4
  1106. package/dist/visualization.es622.js.map +1 -1
  1107. package/dist/visualization.es623.js +3 -13
  1108. package/dist/visualization.es623.js.map +1 -1
  1109. package/dist/visualization.es624.js +11 -117
  1110. package/dist/visualization.es624.js.map +1 -1
  1111. package/dist/visualization.es63.js +43 -0
  1112. package/dist/visualization.es63.js.map +1 -0
  1113. package/dist/visualization.es635.js +1 -1
  1114. package/dist/visualization.es637.js +1 -1
  1115. package/dist/visualization.es638.js +1 -1
  1116. package/dist/visualization.es64.js +77 -127
  1117. package/dist/visualization.es64.js.map +1 -1
  1118. package/dist/visualization.es65.js +46 -32
  1119. package/dist/visualization.es65.js.map +1 -1
  1120. package/dist/visualization.es66.js +55 -168
  1121. package/dist/visualization.es66.js.map +1 -1
  1122. package/dist/visualization.es67.js +6 -129
  1123. package/dist/visualization.es67.js.map +1 -1
  1124. package/dist/visualization.es68.js +26 -175
  1125. package/dist/visualization.es68.js.map +1 -1
  1126. package/dist/visualization.es69.js +13 -74
  1127. package/dist/visualization.es69.js.map +1 -1
  1128. package/dist/visualization.es7.js +11 -11
  1129. package/dist/visualization.es70.js +56 -53
  1130. package/dist/visualization.es70.js.map +1 -1
  1131. package/dist/visualization.es71.js +51 -110
  1132. package/dist/visualization.es71.js.map +1 -1
  1133. package/dist/visualization.es72.js +54 -7
  1134. package/dist/visualization.es72.js.map +1 -1
  1135. package/dist/visualization.es73.js +40 -31
  1136. package/dist/visualization.es73.js.map +1 -1
  1137. package/dist/visualization.es74.js +5 -39
  1138. package/dist/visualization.es74.js.map +1 -1
  1139. package/dist/visualization.es75.js +4 -80
  1140. package/dist/visualization.es75.js.map +1 -1
  1141. package/dist/visualization.es76.js +18 -46
  1142. package/dist/visualization.es76.js.map +1 -1
  1143. package/dist/visualization.es77.js +4 -55
  1144. package/dist/visualization.es77.js.map +1 -1
  1145. package/dist/visualization.es78.js +26 -6
  1146. package/dist/visualization.es78.js.map +1 -1
  1147. package/dist/visualization.es79.js +29 -24
  1148. package/dist/visualization.es79.js.map +1 -1
  1149. package/dist/visualization.es8.js +10 -10
  1150. package/dist/visualization.es80.js +33 -11
  1151. package/dist/visualization.es80.js.map +1 -1
  1152. package/dist/visualization.es81.js +9 -56
  1153. package/dist/visualization.es81.js.map +1 -1
  1154. package/dist/visualization.es82.js +54 -51
  1155. package/dist/visualization.es82.js.map +1 -1
  1156. package/dist/visualization.es83.js +29 -55
  1157. package/dist/visualization.es83.js.map +1 -1
  1158. package/dist/visualization.es84.js +64 -42
  1159. package/dist/visualization.es84.js.map +1 -1
  1160. package/dist/visualization.es85.js +61 -5
  1161. package/dist/visualization.es85.js.map +1 -1
  1162. package/dist/visualization.es86.js +3 -4
  1163. package/dist/visualization.es86.js.map +1 -1
  1164. package/dist/visualization.es87.js +46 -17
  1165. package/dist/visualization.es87.js.map +1 -1
  1166. package/dist/visualization.es88.js +3 -4
  1167. package/dist/visualization.es88.js.map +1 -1
  1168. package/dist/visualization.es89.js +278 -23
  1169. package/dist/visualization.es89.js.map +1 -1
  1170. package/dist/visualization.es9.js +1 -1
  1171. package/dist/visualization.es90.js +18 -30
  1172. package/dist/visualization.es90.js.map +1 -1
  1173. package/dist/visualization.es91.js +1 -1
  1174. package/dist/visualization.es92.js +222 -5
  1175. package/dist/visualization.es92.js.map +1 -1
  1176. package/dist/visualization.es93.js +2 -5
  1177. package/dist/visualization.es93.js.map +1 -1
  1178. package/dist/visualization.es94.js +557 -5
  1179. package/dist/visualization.es94.js.map +1 -1
  1180. package/dist/visualization.es95.js +214 -32
  1181. package/dist/visualization.es95.js.map +1 -1
  1182. package/dist/visualization.es96.js +2 -45
  1183. package/dist/visualization.es96.js.map +1 -1
  1184. package/dist/visualization.es97.js +4799 -75
  1185. package/dist/visualization.es97.js.map +1 -1
  1186. package/dist/visualization.es98.js +25 -25
  1187. package/dist/visualization.es98.js.map +1 -1
  1188. package/dist/visualization.es99.js +43 -83
  1189. package/dist/visualization.es99.js.map +1 -1
  1190. package/package.json +1 -1
  1191. package/dist/visualization.es45.js +0 -30
  1192. package/dist/visualization.es45.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es118.js","sources":["../src/components/Graph/Legend.tsx"],"sourcesContent":["import React from 'react';\nimport Checkbox from '@mui/material/Checkbox';\nimport { Node, Edge } from './types';\nimport { Typography } from '@mui/material';\n\ninterface LegendProps {\n toggles: { [key: string]: boolean };\n onToggle: (category: string) => void;\n simpleCategories: string[];\n edgeType: boolean;\n colorFunc?: (node: Node | Edge) => string;\n elements: Node[];\n edges: Edge[];\n legendToggle?: (node: Node | Edge) => string;\n legendNodeLabel?: string;\n legendEdgeLabel?: string;\n order?: string[];\n uniqueCat?: string[];\n}\n\nconst Legend: React.FC<LegendProps> = ({\n toggles,\n onToggle,\n simpleCategories,\n edgeType,\n colorFunc,\n elements,\n edges,\n legendToggle,\n legendNodeLabel,\n legendEdgeLabel,\n order,\n uniqueCat,\n}) => {\n const edgeTypes = Array.from(\n new Set(\n edges.map((e) => {\n if (legendToggle) return legendToggle(e);\n else if (e.category) {\n return e.category;\n } else {\n return;\n }\n })\n )\n );\n\n const uniqueCategories = order\n ? order\n : Array.from(new Set(simpleCategories)); // simple names\n\n // loop on uniqueCat if there is order, else loop on uniqueCategories\n return (\n <div\n style={{\n bottom: '10px',\n zIndex: 1000,\n backgroundColor: 'white',\n borderRadius: '5px',\n width: '225px',\n padding: '5px',\n }}\n >\n <Typography\n style={{ fontSize: '18px', margin: '3px', fontFamily: 'Arial' }}\n >\n {legendNodeLabel ? legendNodeLabel : 'Node Type'}\n </Typography>\n {uniqueCat\n ? uniqueCat.map((category) => {\n let color = 'grey';\n let simpleDisplay = '';\n\n elements.forEach((node) => {\n uniqueCategories.forEach((cat) => {\n if (\n colorFunc &&\n legendToggle &&\n legendToggle(node) === cat &&\n node.category === category\n ) {\n color = colorFunc(node);\n simpleDisplay = cat; // simple display category name if legend toggle\n return;\n }\n });\n });\n return (\n <div\n key={category}\n style={{\n display: 'flex',\n alignItems: 'center',\n marginBottom: '4px',\n }}\n >\n <Checkbox\n checked={toggles[category]}\n onChange={() => onToggle(category)}\n color=\"primary\"\n size=\"small\"\n style={{ padding: 0 }}\n />\n <Typography\n variant=\"body2\"\n style={{\n color: color,\n marginLeft: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n onClick={() => onToggle(category)}\n >\n {simpleDisplay} {legendToggle ? '(' : null}\n {legendToggle ? category : null}\n {legendToggle ? ')' : null}\n </Typography>\n </div>\n );\n })\n : uniqueCategories.map((category) => {\n let color = 'grey';\n let nodeCat = '';\n\n elements.forEach((node) => {\n if (\n colorFunc &&\n legendToggle &&\n legendToggle(node) === category\n ) {\n color = colorFunc(node);\n nodeCat = node.category; // category of node\n }\n });\n\n return (\n <div\n key={category}\n style={{\n display: 'flex',\n alignItems: 'center',\n marginBottom: '4px',\n }}\n >\n <Checkbox\n checked={toggles[category]}\n onChange={() => onToggle(category)}\n color=\"primary\"\n size=\"small\"\n style={{ padding: 0 }}\n />\n <Typography\n variant=\"body2\"\n style={{\n color: color,\n marginLeft: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n onClick={() => onToggle(category)}\n >\n {category} {legendToggle ? '(' : null}\n {legendToggle ? nodeCat : null}\n {legendToggle ? ')' : null}\n </Typography>\n </div>\n );\n })}\n\n {edgeType && edgeTypes !== null ? (\n <div>\n <Typography\n style={{ fontSize: '18px', margin: '3px', fontFamily: 'Arial' }}\n >\n {legendEdgeLabel ? legendEdgeLabel : 'Edge Type'}\n </Typography>\n {edgeTypes.map((category) => {\n if (category === undefined) {\n return null;\n }\n let color = 'grey';\n\n edges.forEach((edge) => {\n if (\n colorFunc &&\n legendToggle &&\n legendToggle(edge) === category\n ) {\n color = colorFunc(edge);\n } else if (\n colorFunc &&\n edge.category &&\n edge.category === category\n ) {\n color = colorFunc(edge);\n }\n });\n\n return (\n <div\n key={category}\n style={{\n display: 'flex',\n alignItems: 'center',\n }}\n >\n <Checkbox\n checked={toggles[category]}\n onChange={() => onToggle(category)}\n color=\"primary\"\n size=\"small\"\n style={{ padding: 0 }}\n />\n <Typography\n variant=\"body2\"\n style={{\n color: color,\n marginLeft: '4px',\n cursor: 'pointer',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n onClick={() => onToggle(category)}\n >\n {category}\n </Typography>\n </div>\n );\n })}\n </div>\n ) : null}\n </div>\n );\n};\n\nexport default Legend;\n"],"names":["Legend","t0","$","_c","toggles","onToggle","simpleCategories","edgeType","colorFunc","elements","edges","legendToggle","legendNodeLabel","legendEdgeLabel","order","uniqueCat","t1","t2","e","category","Array","from","Set","map","edgeTypes","uniqueCategories","t3","Symbol","for","bottom","zIndex","backgroundColor","borderRadius","width","padding","t4","fontSize","margin","fontFamily","t5","t6","jsx","Typography","t7","color","simpleDisplay","forEach","node","cat","jsxs","display","alignItems","marginBottom","Checkbox","marginLeft","cursor","category_0","color_0","nodeCat","node_0","t8","category_1","undefined","color_1","edge","t9"],"mappings":";;;;AAoBA,MAAMA,IAAgCC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAC;AAAA,IAAAC,SAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,kBAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,WAAAA;AAAAA,EAAAA,IAAAd;AAatC,MAAAe;AAAA,MAAAd,EAAA,CAAA,MAAAQ,KAAAR,SAAAS,GAAA;AAAA,QAAAM;AAAA,IAAAf,SAAAS,KAGeM,IAAAC,CAAAA,MACJP,IAAqBA,EAAaO,CAAC,IAC9BA,EAACC,WACDD,EAACC,WAAS,QAIpBjB,OAAAS,GAAAT,OAAAe,KAAAA,IAAAf,EAAA,CAAA,GATac,IAAAI,MAAKC,KACrB,IAAIC,IACFZ,EAAKa,IAAKN,CAOT,CACH,CACF,GAACf,OAAAQ,GAAAR,OAAAS,GAAAT,OAAAc;AAAAA,EAAA;AAAAA,IAAAA,IAAAd,EAAA,CAAA;AAXD,QAAAsB,IAAkBR;AAWhB,MAAAC;AAAA,EAAAf,EAAA,CAAA,MAAAY,KAAAZ,SAAAI,KAEuBW,IAAAH,KAErBM,MAAKC,KAAM,IAAIC,IAAIhB,CAAgB,CAAC,GAACJ,OAAAY,GAAAZ,OAAAI,GAAAJ,OAAAe,KAAAA,IAAAf,EAAA,CAAA;AAFzC,QAAAuB,IAAyBR;AAEiB,MAAAS;AAAA,EAAAxB,EAAA,CAAA,MAAAyB,uBAAAC,IAAA,2BAAA,KAK/BF,IAAA;AAAA,IAAAG,QACG;AAAA,IAAMC,QACN;AAAA,IAAIC,iBACK;AAAA,IAAOC,cACV;AAAA,IAAKC,OACZ;AAAA,IAAOC,SACL;AAAA,EAAA,GACVhC,OAAAwB,KAAAA,IAAAxB,EAAA,CAAA;AAAA,MAAAiC;AAAA,EAAAjC,EAAA,CAAA,MAAAyB,uBAAAC,IAAA,2BAAA,KAGQO,IAAA;AAAA,IAAAC,UAAY;AAAA,IAAMC,QAAU;AAAA,IAAKC,YAAc;AAAA,EAAA,GAASpC,OAAAiC,KAAAA,IAAAjC,EAAA,CAAA;AAE9D,QAAAqC,IAAA3B,KAAA;AAA+C,MAAA4B;AAAA,EAAAtC,UAAAqC,KAHlDC,IAAA,gBAAAC,EAACC,GAAA,EACQ,OAAAP,GAENI,UAAAA,GACH,GAAarC,QAAAqC,GAAArC,QAAAsC,KAAAA,IAAAtC,EAAA,EAAA;AAAA,MAAAyC;AAAA,EAAAzC,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAO,KAAAP,EAAA,EAAA,MAAAS,KAAAT,UAAAG,KAAAH,EAAA,EAAA,MAAAE,KAAAF,EAAA,EAAA,MAAAa,KAAAb,EAAA,EAAA,MAAAuB,KACZkB,IAAA5B,IACGA,EAASQ,IAAKJ,CAAAA,MAAA;AACZ,QAAAyB,IAAY,QACZC,IAAoB;AAEpBpC,WAAAA,EAAQqC,QAASC,CAAAA,MAAA;AACftB,MAAAA,EAAgBqB,QAASE,CAAAA,MAAA;AACvB,YACExC,KAAAG,KAEAA,EAAaoC,CAAI,MAAMC,KACvBD,EAAI5B,aAAcA,GAAQ;AAE1ByB,UAAAA,IAAQpC,EAAUuC,CAAI,GACtBF,IAAgBG;AAAH;AAAA,QAAA;AAAA,MAEd,CACF;AAAA,IAAC,CACH,GAEC,gBAAAC,EAAA,SAES,OAAA;AAAA,MAAAC,SACI;AAAA,MAAMC,YACH;AAAA,MAAQC,cACN;AAAA,IAAA,GAGhB,UAAA;AAAA,MAAA,gBAAAX,EAACY,GAAA,EACU,SAAAjD,EAAQe,CAAQ,GACf,UAAA,MAAMd,EAASc,CAAQ,GAC3B,OAAA,WACD,MAAA,SACE,OAAA;AAAA,QAAAe,SAAW;AAAA,MAAA,GAAG;AAAA,MAEvB,gBAAAe,EAACP,GAAA,EACS,SAAA,SACD,OAAA;AAAA,QAAAE,OAAAA;AAAAA,QAAAU,YAEO;AAAA,QAAKC,QACT;AAAA,QAASnB,UACP;AAAA,QAAME,YACJ;AAAA,MAAA,GAEL,SAAA,MAAMjC,EAASc,CAAQ,GAE/B0B,UAAAA;AAAAA,QAAAA;AAAAA,QAAc;AAAA,QAAElC,IAAA,MAAA;AAAA,QAChBA,IAAAQ,IAAA;AAAA,QACAR,IAAA,MAAA;AAAA,MAAA,EAAA,CACH;AAAA,IAAA,EAAA,IACF;AAAA,EAAM,CAmDT,IAhDDc,EAAgBF,IAAKiC,CAAAA,MAAA;AACnB,QAAAC,IAAY,QACZC,IAAc;AAEdjD,WAAAA,EAAQqC,QAASa,CAAAA,MAAA;AACf,MACEnD,KAAAG,KAEAA,EAAaoC,CAAI,MAAM5B,MAEvByB,IAAQpC,EAAUuC,CAAI,GACtBW,IAAUX,EAAI5B;AAAAA,IACf,CACF,GAGC,gBAAA8B,EAAA,SAES,OAAA;AAAA,MAAAC,SACI;AAAA,MAAMC,YACH;AAAA,MAAQC,cACN;AAAA,IAAA,GAGhB,UAAA;AAAA,MAAA,gBAAAX,EAACY,GAAA,EACU,SAAAjD,EAAQe,CAAQ,GACf,UAAA,MAAMd,EAASc,CAAQ,GAC3B,OAAA,WACD,MAAA,SACE,OAAA;AAAA,QAAAe,SAAW;AAAA,MAAA,GAAG;AAAA,MAEvB,gBAAAe,EAACP,GAAA,EACS,SAAA,SACD,OAAA;AAAA,QAAAE,OACEA;AAAAA,QAAKU,YACA;AAAA,QAAKC,QACT;AAAA,QAASnB,UACP;AAAA,QAAME,YACJ;AAAA,MAAA,GAEL,SAAA,MAAMjC,EAASc,CAAQ,GAE/BA,UAAAA;AAAAA,QAAAA;AAAAA,QAAS;AAAA,QAAER,IAAA,MAAA;AAAA,QACXA,IAAA+C,IAAA;AAAA,QACA/C,IAAA,MAAA;AAAA,MAAA,EAAA,CACH;AAAA,IAAA,EAAA,IACF;AAAA,EAAM,CAET,GAACT,QAAAM,GAAAN,QAAAO,GAAAP,QAAAS,GAAAT,QAAAG,GAAAH,QAAAE,GAAAF,QAAAa,GAAAb,QAAAuB,GAAAvB,QAAAyC,KAAAA,IAAAzC,EAAA,EAAA;AAAA,MAAA0D;AAAA,EAAA1D,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAsB,KAAAtB,EAAA,EAAA,MAAAQ,KAAAR,EAAA,EAAA,MAAAW,KAAAX,EAAA,EAAA,MAAAS,KAAAT,EAAA,EAAA,MAAAG,KAAAH,UAAAE,KAELwD,IAAArD,KAAYiB,MAAc,OACzB,gBAAAyB,EAAA,OAAA,EACE,UAAA;AAAA,IAAA,gBAAAR,EAACC,KACQ,OAAA;AAAA,MAAAN,UAAY;AAAA,MAAMC,QAAU;AAAA,MAAKC,YAAc;AAAA,IAAA,GAErDzB,UAAAA,KAAA,YAAA,CACH;AAAA,IACCW,EAASD,IAAKsC,CAAAA,MAAA;AACb,UAAI1C,MAAa2C;AAAS,eACjB;AAET,UAAAC,IAAY;AAEZrD,aAAAA,EAAKoC,QAASkB,CAAAA,MAAA;AACZ,SACExD,KAAAG,KAEAA,EAAaqD,CAAI,MAAM7C,KAIvBX,KACAwD,EAAI7C,YACJ6C,EAAI7C,aAAcA,OAElByB,IAAQpC,EAAUwD,CAAI;AAAA,MACvB,CACF,GAGC,gBAAAf,EAAA,SAES,OAAA;AAAA,QAAAC,SACI;AAAA,QAAMC,YACH;AAAA,MAAA,GAGd,UAAA;AAAA,QAAA,gBAAAV,EAACY,GAAA,EACU,SAAAjD,EAAQe,CAAQ,GACf,UAAA,MAAMd,EAASc,CAAQ,GAC3B,OAAA,WACD,MAAA,SACE,OAAA;AAAA,UAAAe,SAAW;AAAA,QAAA,GAAG;AAAA,QAEvB,gBAAAO,EAACC,GAAA,EACS,SAAA,SACD,OAAA;AAAA,UAAAE,OACEA;AAAAA,UAAKU,YACA;AAAA,UAAKC,QACT;AAAA,UAASnB,UACP;AAAA,UAAME,YACJ;AAAA,QAAA,GAEL,SAAA,MAAMjC,EAASc,CAAQ,gBAGlC;AAAA,MAAA,EAAA,IACF;AAAA,IAAM,CAET;AAAA,EAAA,EAAA,CACH,IA5DD,MA6DOjB,QAAAM,GAAAN,QAAAK,GAAAL,QAAAsB,GAAAtB,QAAAQ,GAAAR,QAAAW,GAAAX,QAAAS,GAAAT,QAAAG,GAAAH,QAAAE,GAAAF,QAAA0D,KAAAA,IAAA1D,EAAA,EAAA;AAAA,MAAA+D;AAAA,SAAA/D,EAAA,EAAA,MAAAsC,KAAAtC,UAAAyC,KAAAzC,EAAA,EAAA,MAAA0D,KAnLVK,+BACS,OAAAvC,GASPc,UAAAA;AAAAA,IAAAA;AAAAA,IAKCG;AAAAA,IAuGAiB;AAAAA,EAAAA,GA8DH,GAAM1D,QAAAsC,GAAAtC,QAAAyC,GAAAzC,QAAA0D,GAAA1D,QAAA+D,KAAAA,IAAA/D,EAAA,EAAA,GApLN+D;AAoLM;"}
1
+ {"version":3,"file":"visualization.es118.js","sources":["../src/components/Heatmap/hooks/useHeatmapCanvasGrid.ts"],"sourcesContent":["import { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport type { HeatmapCellId } from \"../types\";\nimport type { AnyBin } from \"../HeatmapCells\";\nimport type { PlotTooltipHandle } from \"../../../tooltip\";\nimport { drawHeatmapCells, getVisibleRange, hitTestCell, buildBin, type CanvasCellParams } from \"../HeatmapCanvasCells\";\n\n// Extra rows/columns painted/rendered just beyond the visible viewport in scrollable mode, so a\n// cell or tick label is already there before it scrolls into view rather than popping in late.\nconst GRID_OVERSCAN_CELLS = 4;\n\nexport interface UseHeatmapCanvasGridArgs {\n canvasCellParams: CanvasCellParams;\n viewportWidth: number;\n viewportHeight: number;\n xTickValues: number[];\n yTickValues: number[];\n isScrollable: boolean;\n onClick?: (bin: AnyBin) => void;\n}\n\nexport function useHeatmapCanvasGrid({\n canvasCellParams, viewportWidth, viewportHeight, xTickValues, yTickValues, isScrollable, onClick,\n}: UseHeatmapCanvasGridArgs) {\n // mainPaneRef is the only pane with a real native scrollbar - the cell canvas and the\n // row/column tick-label panes all track its scroll position by reading it directly here\n // (rAF-throttled), rather than being natively scrolled themselves: the canvas repaints\n // imperatively (drawCanvas), and the tick label panes shift via a transform driven by\n // axisScrollPos state - both cheaper than the pane actually scrolling 15,000px+ of real content.\n const mainPaneRef = useRef<HTMLDivElement | null>(null);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const hoveredCellRef = useRef<HeatmapCellId | null>(null);\n const canvasTooltipRef = useRef<PlotTooltipHandle<AnyBin>>(null);\n const drawRafRef = useRef<number | null>(null);\n\n useEffect(() => () => {\n if (drawRafRef.current != null) cancelAnimationFrame(drawRafRef.current);\n }, []);\n\n // Imperative canvas paint - deliberately never routed through React state. Driven both by prop\n // changes (the effect below) and by native scroll events (handleGridScroll), and it's the\n // scroll case that matters: an earlier attempt at this drove the redraw through a React state\n // update on every scroll frame, which forced React to reconcile on every frame and made\n // scrolling *slower* than the plain (if huge) static SVG it replaced. Reading scroll position\n // directly off the DOM and painting immediately keeps scrolling itself entirely on the\n // browser's native, free compositor path - React is never involved.\n const drawCanvas = useCallback(() => {\n const canvas = canvasRef.current;\n const main = mainPaneRef.current;\n if (!canvas || !main) return;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n const dpr = window.devicePixelRatio || 1;\n ctx.setTransform(dpr, 0, 0, dpr, 0, 0);\n ctx.clearRect(0, 0, viewportWidth, viewportHeight);\n const range = getVisibleRange(canvasCellParams, main.scrollLeft, main.scrollTop, viewportWidth, viewportHeight, GRID_OVERSCAN_CELLS);\n ctx.translate(-main.scrollLeft, -main.scrollTop);\n drawHeatmapCells(ctx, canvasCellParams, range, hoveredCellRef.current);\n }, [canvasCellParams, viewportWidth, viewportHeight]);\n\n useEffect(() => {\n if (isScrollable) drawCanvas();\n }, [isScrollable, drawCanvas]);\n\n const [axisScrollPos, setAxisScrollPos] = useState({ left: 0, top: 0 });\n const setMainPaneNode = useCallback((node: HTMLDivElement | null) => {\n mainPaneRef.current = node;\n if (node) setAxisScrollPos({ left: node.scrollLeft, top: node.scrollTop });\n }, []);\n\n const axisVisibleRange = useMemo(\n () => getVisibleRange(canvasCellParams, axisScrollPos.left, axisScrollPos.top, viewportWidth, viewportHeight, GRID_OVERSCAN_CELLS),\n [canvasCellParams, axisScrollPos.left, axisScrollPos.top, viewportWidth, viewportHeight]\n );\n const visibleXTickValues = useMemo(\n () => xTickValues.slice(axisVisibleRange.colStart, axisVisibleRange.colEnd + 1),\n [xTickValues, axisVisibleRange.colStart, axisVisibleRange.colEnd]\n );\n const visibleYTickValues = useMemo(\n () => yTickValues.slice(axisVisibleRange.rowStart, axisVisibleRange.rowEnd + 1),\n [yTickValues, axisVisibleRange.rowStart, axisVisibleRange.rowEnd]\n );\n\n const handleGridScroll = useCallback(() => {\n const main = mainPaneRef.current;\n if (!main) return;\n if (drawRafRef.current != null) return;\n drawRafRef.current = requestAnimationFrame(() => {\n drawRafRef.current = null;\n drawCanvas();\n setAxisScrollPos({ left: main.scrollLeft, top: main.scrollTop });\n });\n }, [drawCanvas]);\n\n const handleCanvasMouseMove = useCallback((event: React.MouseEvent<HTMLCanvasElement>) => {\n const main = mainPaneRef.current;\n if (!main) return;\n const contentX = event.nativeEvent.offsetX + main.scrollLeft;\n const contentY = event.nativeEvent.offsetY + main.scrollTop;\n const cell = hitTestCell(canvasCellParams, contentX, contentY);\n // Matches the SVG path's heatmapCellStyles (`.visx-heatmap-cell { cursor: pointer }`):\n // pointer over any real cell - including a null-count one, which still hit-tests true here,\n // same as it still being a hit target there via `pointer-events: all` - not just where\n // onClick is wired up, so hover-only tooltips still get the affordance.\n event.currentTarget.style.cursor = cell ? \"pointer\" : \"default\";\n const prev = hoveredCellRef.current;\n if (prev?.row !== cell?.row || prev?.column !== cell?.column) {\n hoveredCellRef.current = cell;\n drawCanvas();\n }\n if (cell) {\n const bin = buildBin(canvasCellParams, cell);\n if (bin) canvasTooltipRef.current?.show(bin, event);\n } else {\n canvasTooltipRef.current?.hide();\n }\n }, [canvasCellParams, drawCanvas]);\n\n const handleCanvasMouseLeave = useCallback((event: React.MouseEvent<HTMLCanvasElement>) => {\n event.currentTarget.style.cursor = \"default\";\n if (hoveredCellRef.current) {\n hoveredCellRef.current = null;\n drawCanvas();\n }\n canvasTooltipRef.current?.hide();\n }, [drawCanvas]);\n\n const handleCanvasClick = useCallback((event: React.MouseEvent<HTMLCanvasElement>) => {\n const main = mainPaneRef.current;\n if (!main || !onClick) return;\n const contentX = event.nativeEvent.offsetX + main.scrollLeft;\n const contentY = event.nativeEvent.offsetY + main.scrollTop;\n const cell = hitTestCell(canvasCellParams, contentX, contentY);\n if (!cell) return;\n const bin = buildBin(canvasCellParams, cell);\n if (bin) onClick(bin);\n }, [canvasCellParams, onClick]);\n\n return {\n canvasRef, mainPaneRef, canvasTooltipRef, setMainPaneNode, handleGridScroll, axisScrollPos,\n visibleXTickValues, visibleYTickValues,\n canvasHandlers: {\n onMouseMove: handleCanvasMouseMove,\n onMouseLeave: handleCanvasMouseLeave,\n onClick: handleCanvasClick,\n },\n };\n}\n"],"names":["GRID_OVERSCAN_CELLS","useHeatmapCanvasGrid","canvasCellParams","viewportWidth","viewportHeight","xTickValues","yTickValues","isScrollable","onClick","mainPaneRef","useRef","canvasRef","hoveredCellRef","canvasTooltipRef","drawRafRef","useEffect","current","cancelAnimationFrame","drawCanvas","useCallback","canvas","main","ctx","getContext","dpr","window","devicePixelRatio","setTransform","clearRect","range","getVisibleRange","scrollLeft","scrollTop","translate","drawHeatmapCells","axisScrollPos","setAxisScrollPos","useState","left","top","setMainPaneNode","node","axisVisibleRange","useMemo","visibleXTickValues","slice","colStart","colEnd","visibleYTickValues","rowStart","rowEnd","handleGridScroll","requestAnimationFrame","handleCanvasMouseMove","event","contentX","nativeEvent","offsetX","contentY","offsetY","cell","hitTestCell","currentTarget","style","cursor","prev","row","column","bin","buildBin","show","hide","handleCanvasMouseLeave","handleCanvasClick","canvasHandlers","onMouseMove","onMouseLeave"],"mappings":"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"}
@@ -1,150 +1,41 @@
1
- import { jsxs as a, jsx as t, Fragment as J } from "react/jsx-runtime";
2
- import { c as K } from "react/compiler-runtime";
3
- import v from "@mui/material/Typography";
4
- import N from "@mui/icons-material/Info";
5
- import O from "@mui/material/Tooltip";
6
- const Z = (E) => {
7
- const e = K(50), {
8
- scales: u,
9
- width: l,
10
- scaleLabel: k
11
- } = E;
12
- if (u.length === 0)
13
- return null;
14
- let c, s, i, m, o, f, d, h, n, y, p, x;
15
- if (e[0] !== k || e[1] !== u || e[2] !== l) {
16
- const r = [...u].sort(P), R = r[0], W = r[r.length - 1], $ = r[Math.floor(r.length / 4)], q = r[Math.floor(r.length * 3 / 4)];
17
- let z;
18
- if (e[15] !== l) {
19
- const G = l.toString();
20
- z = G.match(/=>\s*(.*)/)?.[1]?.trim().replace("Math.", "") || G, e[15] = l, e[16] = z;
21
- } else
22
- z = e[16];
23
- let w = z;
24
- k && (w = k);
25
- let A;
26
- e[17] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (A = {
27
- top: "20vh",
28
- zIndex: 1e3,
29
- backgroundColor: "white",
30
- padding: "10px",
31
- borderRadius: "5px",
32
- fontSize: "13px",
33
- width: "225px",
34
- textAlign: "left"
35
- }, e[17] = A) : A = e[17];
36
- const H = A;
37
- let C;
38
- e[18] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (C = {
39
- display: "flex",
40
- alignItems: "center",
41
- justifyContent: "left",
42
- marginBottom: "5px"
43
- }, e[18] = C) : C = e[18];
44
- const I = C;
45
- m = H;
46
- let L;
47
- e[19] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (L = {
48
- margin: "3px 0",
49
- fontSize: "16px",
50
- fontFamily: "Arial"
51
- }, e[19] = L) : L = e[19];
52
- let T;
53
- e[20] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (T = {
54
- ml: 0.5
55
- }, e[20] = T) : T = e[20];
56
- let j;
57
- e[21] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (j = /* @__PURE__ */ t(N, { fontSize: "small", style: {
58
- marginBottom: "-4.5px",
59
- marginTop: "-7px"
60
- } }), e[21] = j) : j = e[21], e[22] !== w ? (i = /* @__PURE__ */ a(v, { variant: "body2", component: "h4", style: L, children: [
61
- "Edge Weight Scale:",
62
- /* @__PURE__ */ t(O, { title: w, color: "primary", sx: T, placement: "bottom", children: j })
63
- ] }), e[22] = w, e[23] = i) : i = e[23], e[24] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (n = {
64
- display: "flex",
65
- flexDirection: "column",
66
- alignItems: "left",
67
- marginTop: "10px"
68
- }, e[24] = n) : n = e[24];
69
- let M;
70
- e[25] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (M = {
71
- marginLeft: "10px",
72
- fontSize: "14px",
73
- fontFamily: "Arial"
74
- }, e[25] = M) : M = e[25], y = /* @__PURE__ */ a("div", { style: I, children: [
75
- /* @__PURE__ */ t("div", { style: {
76
- width: l(R),
77
- height: "10px",
78
- backgroundColor: "black",
79
- display: "inline-block"
80
- } }),
81
- /* @__PURE__ */ t(v, { variant: "body2", style: M, children: R.toFixed(2) })
82
- ] });
83
- let B;
84
- e[26] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (B = {
85
- marginLeft: "10px",
86
- fontSize: "14px",
87
- fontFamily: "Arial"
88
- }, e[26] = B) : B = e[26], p = /* @__PURE__ */ a("div", { style: I, children: [
89
- /* @__PURE__ */ t("div", { style: {
90
- width: l($),
91
- height: "10px",
92
- backgroundColor: "black",
93
- display: "inline-block"
94
- } }),
95
- /* @__PURE__ */ t(v, { variant: "body2", style: B, children: $.toFixed(2) })
96
- ] });
97
- let D;
98
- e[27] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (D = {
99
- marginLeft: "10px",
100
- fontSize: "14px",
101
- fontFamily: "Arial"
102
- }, e[27] = D) : D = e[27], x = /* @__PURE__ */ a("div", { style: I, children: [
103
- /* @__PURE__ */ t("div", { style: {
104
- width: l(q),
105
- height: "10px",
106
- backgroundColor: "black",
107
- display: "inline-block"
108
- } }),
109
- /* @__PURE__ */ t(v, { variant: "body2", style: D, children: q.toFixed(2) })
110
- ] }), d = I, h = /* @__PURE__ */ t("div", { style: {
111
- width: l(W),
112
- height: "10px",
113
- backgroundColor: "black",
114
- display: "inline-block"
115
- } }), c = v, s = "body2", e[28] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (o = {
116
- marginLeft: "10px",
117
- fontSize: "14px",
118
- fontFamily: "Arial"
119
- }, e[28] = o) : o = e[28], f = W.toFixed(2), e[0] = k, e[1] = u, e[2] = l, e[3] = c, e[4] = s, e[5] = i, e[6] = m, e[7] = o, e[8] = f, e[9] = d, e[10] = h, e[11] = n, e[12] = y, e[13] = p, e[14] = x;
120
- } else
121
- c = e[3], s = e[4], i = e[5], m = e[6], o = e[7], f = e[8], d = e[9], h = e[10], n = e[11], y = e[12], p = e[13], x = e[14];
122
- let g;
123
- e[29] !== c || e[30] !== s || e[31] !== o || e[32] !== f ? (g = /* @__PURE__ */ t(c, { variant: s, style: o, children: f }), e[29] = c, e[30] = s, e[31] = o, e[32] = f, e[33] = g) : g = e[33];
124
- let b;
125
- e[34] !== g || e[35] !== d || e[36] !== h ? (b = /* @__PURE__ */ a("div", { style: d, children: [
126
- h,
127
- g
128
- ] }), e[34] = g, e[35] = d, e[36] = h, e[37] = b) : b = e[37];
129
- let S;
130
- e[38] !== b || e[39] !== n || e[40] !== y || e[41] !== p || e[42] !== x ? (S = /* @__PURE__ */ a("div", { style: n, children: [
131
- y,
132
- p,
133
- x,
134
- b
135
- ] }), e[38] = b, e[39] = n, e[40] = y, e[41] = p, e[42] = x, e[43] = S) : S = e[43];
136
- let _;
137
- e[44] !== i || e[45] !== S ? (_ = /* @__PURE__ */ a(J, { children: [
138
- i,
139
- S
140
- ] }), e[44] = i, e[45] = S, e[46] = _) : _ = e[46];
141
- let F;
142
- return e[47] !== m || e[48] !== _ ? (F = /* @__PURE__ */ t("div", { style: m, children: _ }), e[47] = m, e[48] = _, e[49] = F) : F = e[49], F;
143
- };
144
- function P(E, e) {
145
- return E - e;
1
+ import { c as _ } from "react/compiler-runtime";
2
+ import { useRef as v, useEffect as w } from "react";
3
+ import { cellKey as S } from "./visualization.es114.js";
4
+ function I(i, e, l, t) {
5
+ return t - l > e || l < i ? l : t > i + e ? t - e : i;
6
+ }
7
+ function O(i) {
8
+ const e = _(14), {
9
+ mainPaneRef: l,
10
+ selectedCells: t,
11
+ scrollToSelection: n,
12
+ isScrollable: c,
13
+ binWidth: o,
14
+ viewportWidth: s
15
+ } = i;
16
+ let r;
17
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = /* @__PURE__ */ new Set(), e[0] = r) : r = e[0];
18
+ const y = v(r);
19
+ let m;
20
+ e[1] !== o || e[2] !== c || e[3] !== l || e[4] !== n || e[5] !== t || e[6] !== s ? (m = () => {
21
+ const g = y.current, C = t ?? [], L = C.filter((f) => !g.has(S(f)));
22
+ y.current = new Set(C.map(S));
23
+ const a = l.current;
24
+ if (!n || !c || !a || L.length === 0)
25
+ return;
26
+ let h = 1 / 0, p = -1 / 0;
27
+ for (const f of L)
28
+ f.column < h && (h = f.column), f.column > p && (p = f.column);
29
+ const K = h * o, T = (p + 1) * o, R = I(a.scrollLeft, s, K, T);
30
+ R !== a.scrollLeft && a.scrollTo({
31
+ left: R,
32
+ behavior: "smooth"
33
+ });
34
+ }, e[1] = o, e[2] = c, e[3] = l, e[4] = n, e[5] = t, e[6] = s, e[7] = m) : m = e[7];
35
+ let u;
36
+ e[8] !== o || e[9] !== c || e[10] !== n || e[11] !== t || e[12] !== s ? (u = [t, n, c, o, s], e[8] = o, e[9] = c, e[10] = n, e[11] = t, e[12] = s, e[13] = u) : u = e[13], w(m, u);
146
37
  }
147
38
  export {
148
- Z as default
39
+ O as useScrollToSelection
149
40
  };
150
41
  //# sourceMappingURL=visualization.es119.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es119.js","sources":["../src/components/Graph/ScaleLegend.tsx"],"sourcesContent":["import React, { CSSProperties } from 'react';\nimport Typography from '@mui/material/Typography';\nimport InfoIcon from '@mui/icons-material/Info';\nimport Tooltip from '@mui/material/Tooltip';\n\ninterface ScaleProps {\n scales: number[];\n width: (n: number) => number;\n scaleLabel?: string;\n}\n\nconst ScaleLegend: React.FC<ScaleProps> = ({ scales, width, scaleLabel }) => {\n if (scales.length === 0) return null;\n\n const sorted = [...scales].sort((a, b) => a - b);\n const min = sorted[0];\n const max = sorted[sorted.length - 1];\n const mid1 = sorted[Math.floor(sorted.length / 4)];\n const mid2 = sorted[Math.floor((sorted.length * 3) / 4)];\n\n const scaleFunctionStr = width.toString();\n let scaleFormula =\n scaleFunctionStr\n .match(/=>\\s*(.*)/)?.[1]\n ?.trim()\n .replace('Math.', '') || scaleFunctionStr;\n if (scaleLabel) {\n scaleFormula = scaleLabel;\n }\n\n const divStyle: CSSProperties = {\n top: '20vh',\n zIndex: 1000,\n backgroundColor: 'white',\n padding: '10px',\n borderRadius: '5px',\n fontSize: '13px',\n width: '225px',\n textAlign: 'left',\n };\n\n const scaleItemStyle: CSSProperties = {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'left',\n marginBottom: '5px',\n };\n\n return (\n <div style={divStyle}>\n <>\n <Typography\n variant=\"body2\"\n component=\"h4\"\n style={{\n margin: '3px 0',\n fontSize: '16px',\n fontFamily: 'Arial',\n }}\n >\n Edge Weight Scale:\n <Tooltip\n title={scaleFormula}\n color=\"primary\"\n sx={{ ml: 0.5 }}\n placement=\"bottom\"\n >\n <InfoIcon\n fontSize=\"small\"\n style={{ marginBottom: '-4.5px', marginTop: '-7px' }}\n />\n </Tooltip>\n </Typography>\n\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'left',\n marginTop: '10px',\n }}\n >\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(min),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {min.toFixed(2)}\n </Typography>\n </div>\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(mid1),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {mid1.toFixed(2)}\n </Typography>\n </div>\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(mid2),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {mid2.toFixed(2)}\n </Typography>\n </div>\n <div style={scaleItemStyle}>\n <div\n style={{\n width: width(max),\n height: '10px',\n backgroundColor: 'black',\n display: 'inline-block',\n }}\n ></div>\n <Typography\n variant=\"body2\"\n style={{\n marginLeft: '10px',\n fontSize: '14px',\n fontFamily: 'Arial',\n }}\n >\n {max.toFixed(2)}\n </Typography>\n </div>\n </div>\n </>\n </div>\n );\n};\n\nexport default ScaleLegend;\n"],"names":["ScaleLegend","t0","$","_c","scales","width","scaleLabel","length","T0","t1","t10","t11","t2","t3","t4","t5","t6","t7","t8","t9","sorted","sort","_temp","min","max","mid1","Math","floor","mid2","t12","scaleFunctionStr","toString","match","trim","replace","scaleFormula","t13","Symbol","for","top","zIndex","backgroundColor","padding","borderRadius","fontSize","textAlign","divStyle","t14","display","alignItems","justifyContent","marginBottom","scaleItemStyle","t15","margin","fontFamily","t16","ml","t17","jsx","InfoIcon","marginTop","Typography","Tooltip","flexDirection","t18","marginLeft","jsxs","height","toFixed","t19","t20","a","b"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es119.js","sources":["../src/components/Heatmap/hooks/useScrollToSelection.ts"],"sourcesContent":["import { useEffect, useRef, type RefObject } from \"react\";\nimport type { HeatmapCellId } from \"../types\";\nimport { cellKey } from \"../heatmapCellAppearance\";\n\n// Minimal scroll offset (along one axis) that brings [boxStart, boxEnd) fully into\n// [current, current+viewportSize) - unchanged if it's already fully visible, and aligned to\n// boxStart if the box itself is bigger than the viewport (can't fit all of it either way).\n// Mirrors Element.scrollIntoView({ block: \"nearest\" })'s semantics.\nfunction nearestScrollOffset(current: number, viewportSize: number, boxStart: number, boxEnd: number): number {\n if (boxEnd - boxStart > viewportSize) return boxStart;\n if (boxStart < current) return boxStart;\n if (boxEnd > current + viewportSize) return boxEnd - viewportSize;\n return current;\n}\n\nexport interface UseScrollToSelectionArgs {\n mainPaneRef: RefObject<HTMLDivElement | null>;\n selectedCells?: HeatmapCellId[];\n scrollToSelection?: boolean;\n isScrollable: boolean;\n binWidth: number;\n viewportWidth: number;\n}\n\n// Auto-scrolls to reveal newly-selected cells\nexport function useScrollToSelection({\n mainPaneRef, selectedCells, scrollToSelection, isScrollable, binWidth, viewportWidth,\n}: UseScrollToSelectionArgs) {\n const previousSelectionKeysRef = useRef<Set<string>>(new Set());\n\n useEffect(() => {\n const previousKeys = previousSelectionKeysRef.current;\n const cells = selectedCells ?? [];\n const newCells = cells.filter((cell) => !previousKeys.has(cellKey(cell)));\n previousSelectionKeysRef.current = new Set(cells.map(cellKey));\n\n const main = mainPaneRef.current;\n if (!scrollToSelection || !isScrollable || !main || newCells.length === 0) return;\n\n let minCol = Infinity, maxCol = -Infinity;\n for (const cell of newCells) {\n if (cell.column < minCol) minCol = cell.column;\n if (cell.column > maxCol) maxCol = cell.column;\n }\n\n const boxLeft = minCol * binWidth;\n const boxRight = (maxCol + 1) * binWidth;\n\n const targetLeft = nearestScrollOffset(main.scrollLeft, viewportWidth, boxLeft, boxRight);\n if (targetLeft !== main.scrollLeft) {\n main.scrollTo({ left: targetLeft, behavior: \"smooth\" });\n }\n }, [selectedCells, scrollToSelection, isScrollable, binWidth, viewportWidth]);\n}\n"],"names":["nearestScrollOffset","current","viewportSize","boxStart","boxEnd","useScrollToSelection","t0","$","_c","mainPaneRef","selectedCells","scrollToSelection","isScrollable","binWidth","viewportWidth","t1","Symbol","for","Set","previousSelectionKeysRef","useRef","t2","previousKeys","cells","newCells","filter","cell","has","cellKey","map","main","length","minCol","Infinity","maxCol","cell_0","column","boxLeft","boxRight","targetLeft","scrollLeft","scrollTo","left","behavior","t3","useEffect"],"mappings":";;;AAQA,SAASA,EAAoBC,GAAiBC,GAAsBC,GAAkBC,GAAwB;AAE5G,SADIA,IAASD,IAAWD,KACpBC,IAAWF,IAAgBE,IAC3BC,IAASH,IAAUC,IAAqBE,IAASF,IAC9CD;AACT;AAYO,SAAAI,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAA8B;AAAA,IAAAC,aAAAA;AAAAA,IAAAC,eAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,eAAAA;AAAAA,EAAAA,IAAAR;AAEV,MAAAS;AAAA,EAAAR,EAAA,CAAA,MAAAS,uBAAAC,IAAA,2BAAA,KAC4BF,wBAAIG,IAAAA,GAAKX,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAA9D,QAAAY,IAAiCC,EAAoBL,CAAS;AAAE,MAAAM;AAAA,EAAAd,SAAAM,KAAAN,EAAA,CAAA,MAAAK,KAAAL,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAI,KAAAJ,SAAAG,KAAAH,EAAA,CAAA,MAAAO,KAEtDO,IAAAA,MAAA;AACR,UAAAC,IAAqBH,EAAwBlB,SAC7CsB,IAAcb,KAAA,CAAA,GACdc,IAAiBD,EAAKE,OAAQC,CAAAA,MAAU,CAACJ,EAAYK,IAAKC,EAAQF,CAAI,CAAC,CAAC;AACxEP,IAAAA,EAAwBlB,UAAW,IAAIiB,IAAIK,EAAKM,IAAKD,CAAO,CAAC;AAE7D,UAAAE,IAAarB,EAAWR;AACxB,QAAI,CAACU,KAAD,CAAuBC,KAAvB,CAAwCkB,KAAQN,EAAQO,WAAY;AAAC;AAEzE,QAAAC,IAAaC,OAAbC,IAAgC;AAChC,eAAKC,KAAcX;AACjB,MAAIE,EAAIU,SAAUJ,MAAQA,IAASN,EAAIU,SACnCV,EAAIU,SAAUF,MAAQA,IAASR,EAAIU;AAGzC,UAAAC,IAAgBL,IAASnB,GACzByB,KAAkBJ,IAAS,KAAKrB,GAEhC0B,IAAmBvC,EAAoB8B,EAAIU,YAAa1B,GAAeuB,GAASC,CAAQ;AACxF,IAAIC,MAAeT,EAAIU,cACrBV,EAAIW,SAAU;AAAA,MAAAC,MAAQH;AAAAA,MAAUI,UAAY;AAAA,IAAA,CAAU;AAAA,EACvD,GACFpC,OAAAM,GAAAN,OAAAK,GAAAL,OAAAE,GAAAF,OAAAI,GAAAJ,OAAAG,GAAAH,OAAAO,GAAAP,OAAAc,KAAAA,IAAAd,EAAA,CAAA;AAAA,MAAAqC;AAAA,EAAArC,EAAA,CAAA,MAAAM,KAAAN,EAAA,CAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAI,KAAAJ,EAAA,EAAA,MAAAG,KAAAH,UAAAO,KAAE8B,IAAA,CAAClC,GAAeC,GAAmBC,GAAcC,GAAUC,CAAa,GAACP,OAAAM,GAAAN,OAAAK,GAAAL,QAAAI,GAAAJ,QAAAG,GAAAH,QAAAO,GAAAP,QAAAqC,KAAAA,IAAArC,EAAA,EAAA,GAtB5EsC,EAAUxB,GAsBPuB,CAAyE;AAAC;"}
@@ -1,48 +1,63 @@
1
- import { jsx as i, jsxs as g } from "react/jsx-runtime";
2
- import { c as S } from "react/compiler-runtime";
3
- import { measureTextWidth as W } from "./visualization.es21.js";
4
- import H from "./visualization.es23.js";
5
- import k from "./visualization.es28.js";
6
- const l = 14, _ = 6, x = 4, y = 11, A = "sans-serif", T = 5, I = (n) => n % 1 === 0 ? String(n) : n.toFixed(1), L = (n, t) => Array.from({
7
- length: T
8
- }, (e, o) => n + o * (t - n) / (T - 1)), D = 1.15, G = 6, O = (n, t) => {
9
- const e = Math.max(...L(n, t).map((o) => W(I(o), y, A)));
10
- return l + x + _ + e * D + G;
11
- }, R = (n) => {
12
- const t = S(11), {
13
- colors: e,
14
- minValue: o,
15
- maxValue: c,
16
- height: r
17
- } = n;
18
- let d;
19
- if (t[0] !== e || t[1] !== r || t[2] !== c || t[3] !== o) {
20
- const u = L(o, c), F = H({
21
- domain: [c, o],
22
- range: [0, r]
23
- });
24
- let s;
25
- t[5] !== e ? (s = e.map((h, a) => /* @__PURE__ */ i("stop", { offset: `${a / (e.length - 1) * 100}%`, stopColor: e[e.length - 1 - a] }, a)), t[5] = e, t[6] = s) : s = t[6];
26
- let m;
27
- t[7] !== s ? (m = /* @__PURE__ */ i("defs", { children: /* @__PURE__ */ i("linearGradient", { id: "heatmap-legend-gradient", x1: "0", y1: "0", x2: "0", y2: "1", children: s }) }), t[7] = s, t[8] = m) : m = t[8];
28
- let f;
29
- t[9] !== r ? (f = /* @__PURE__ */ i("rect", { x: 0, y: 0, width: l, height: r, fill: "url(#heatmap-legend-gradient)", rx: 2 }), t[9] = r, t[10] = f) : f = t[10], d = /* @__PURE__ */ g(k, { children: [
30
- m,
31
- f,
32
- u.map((h, a) => {
33
- const p = F(h);
34
- return /* @__PURE__ */ g("g", { children: [
35
- /* @__PURE__ */ i("line", { x1: l, x2: l + x, y1: p, y2: p, stroke: "#4d4f52", strokeWidth: 1 }),
36
- /* @__PURE__ */ i("text", { x: l + x + _, y: p, dominantBaseline: "middle", fontSize: y, fontFamily: A, fill: "#4d4f52", children: I(h) })
37
- ] }, a);
38
- })
39
- ] }), t[0] = e, t[1] = r, t[2] = c, t[3] = o, t[4] = d;
40
- } else
41
- d = t[4];
42
- return d;
43
- };
1
+ import { jsx as L, jsxs as U, Fragment as W } from "react/jsx-runtime";
2
+ import { c as b } from "react/compiler-runtime";
3
+ import { memo as q, useRef as z } from "react";
4
+ import G from "./visualization.es121.js";
5
+ import { getHeatmapColorScale as I, cellKey as j, DEFAULT_DESELECTED_COLOR as J, resolveCellAppearance as N } from "./visualization.es114.js";
6
+ import { getBins as Q } from "./visualization.es57.js";
7
+ import { useStableCallback as X } from "./visualization.es20.js";
8
+ import Y from "./visualization.es247.js";
9
+ import Z from "./visualization.es248.js";
10
+ import ee from "./visualization.es13.js";
11
+ const fe = q(function(w) {
12
+ const e = b(32), {
13
+ data: u,
14
+ xScale: h,
15
+ yScale: H,
16
+ colors: S,
17
+ minValue: O,
18
+ maxValue: g,
19
+ gap: y,
20
+ isRect: t,
21
+ binWidth: l,
22
+ binHeight: m,
23
+ animationType: x,
24
+ tooltipBody: r,
25
+ onClick: A,
26
+ selectedCells: n,
27
+ deselectedColor: V
28
+ } = w, E = O === void 0 ? 0 : O, R = V === void 0 ? J : V;
29
+ let p;
30
+ e[0] !== S || e[1] !== g || e[2] !== E ? (p = I(S, [E, g]), e[0] = S, e[1] = g, e[2] = E, e[3] = p) : p = e[3];
31
+ const k = p, D = Math.min(l, m) / 2;
32
+ let f;
33
+ e[4] !== n ? (f = n?.length ? new Set(n.map(j)) : null, e[4] = n, e[5] = f) : f = e[5];
34
+ const d = f, $ = z(null), T = X(A), v = t ? Y : Z;
35
+ let o;
36
+ e[6] !== m || e[7] !== l || e[8] !== t || e[9] !== D ? (o = t ? {
37
+ binWidth: l,
38
+ binHeight: m
39
+ } : {
40
+ radius: D
41
+ }, e[6] = m, e[7] = l, e[8] = t, e[9] = D, e[10] = o) : o = e[10];
42
+ let a;
43
+ e[11] !== x || e[12] !== l || e[13] !== R || e[14] !== T || e[15] !== t || e[16] !== d ? (a = (B) => B.map((F, K) => F.map((i) => {
44
+ const _ = !!d && !d.has(j(i)), {
45
+ fill: M,
46
+ fillOpacity: P
47
+ } = N(i.count, i.color, _, R);
48
+ return /* @__PURE__ */ L(G, { bin: i, isRect: t, binWidth: l, fill: M, fillOpacity: P, colIndex: K, animationType: x, tooltipRef: $, onClick: T }, `heatmap-cell-${i.row}-${i.column}`);
49
+ })), e[11] = x, e[12] = l, e[13] = R, e[14] = T, e[15] = t, e[16] = d, e[17] = a) : a = e[17];
50
+ let c;
51
+ e[18] !== v || e[19] !== k || e[20] !== u || e[21] !== y || e[22] !== o || e[23] !== a || e[24] !== h || e[25] !== H ? (c = /* @__PURE__ */ L(v, { data: u, xScale: h, yScale: H, colorScale: k, bins: Q, gap: y, ...o, children: a }), e[18] = v, e[19] = k, e[20] = u, e[21] = y, e[22] = o, e[23] = a, e[24] = h, e[25] = H, e[26] = c) : c = e[26];
52
+ let s;
53
+ e[27] !== r ? (s = r && /* @__PURE__ */ L(ee, { ref: $, children: r }), e[27] = r, e[28] = s) : s = e[28];
54
+ let C;
55
+ return e[29] !== c || e[30] !== s ? (C = /* @__PURE__ */ U(W, { children: [
56
+ c,
57
+ s
58
+ ] }), e[29] = c, e[30] = s, e[31] = C) : C = e[31], C;
59
+ });
44
60
  export {
45
- R as default,
46
- O as getHeatmapLegendWidth
61
+ fe as default
47
62
  };
48
63
  //# sourceMappingURL=visualization.es120.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es120.js","sources":["../src/components/Heatmap/HeatmapLegend.tsx"],"sourcesContent":["import { Group } from \"@visx/group\";\nimport { scaleLinear } from \"@visx/scale\";\nimport { measureTextWidth } from \"../../utility\";\n\nconst BAR_WIDTH = 14;\nconst LABEL_GAP = 6;\nconst TICK_WIDTH = 4;\nconst FONT_SIZE = 11;\nconst FONT_FAMILY = \"sans-serif\";\nconst NUM_TICKS = 5;\n\ninterface HeatmapLegendProps {\n colors: [string, string, ...string[]];\n minValue: number;\n maxValue: number;\n height: number;\n}\n\nconst formatTick = (value: number) =>\n value % 1 === 0 ? String(value) : value.toFixed(1);\n\nconst getTickValues = (minValue: number, maxValue: number) =>\n Array.from({ length: NUM_TICKS }, (_, i) =>\n minValue + (i * (maxValue - minValue)) / (NUM_TICKS - 1)\n );\n\n// Canvas's measureText and the browser's actual SVG text layout don't agree to the sub-pixel,\n// and the gap widens with string length - pad generously so longer labels (more digits) don't\n// creep past the reserved width and get clipped by the svg's default overflow:hidden.\nconst LABEL_WIDTH_SAFETY_FACTOR = 1.15;\nconst RIGHT_PADDING = 6;\n\n// Full width needed to render the legend (color bar + ticks + tick labels) without\n// clipping, based on the widest formatted tick label for the given value range.\nexport const getHeatmapLegendWidth = (minValue: number, maxValue: number): number => {\n const maxLabelWidth = Math.max(\n ...getTickValues(minValue, maxValue).map((value) =>\n measureTextWidth(formatTick(value), FONT_SIZE, FONT_FAMILY)\n )\n );\n return BAR_WIDTH + TICK_WIDTH + LABEL_GAP + maxLabelWidth * LABEL_WIDTH_SAFETY_FACTOR + RIGHT_PADDING;\n};\n\nconst HeatmapLegend = ({ colors, minValue, maxValue, height }: HeatmapLegendProps) => {\n const gradientId = \"heatmap-legend-gradient\";\n\n const tickValues = getTickValues(minValue, maxValue);\n\n const yScale = scaleLinear<number>({\n domain: [maxValue, minValue],\n range: [0, height],\n });\n\n return (\n <Group>\n <defs>\n {/* The bar reads top (max) to bottom (min), so the gradient stops run in reverse\n color order to match how colors map to values in the heatmap cells. */}\n <linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n {colors.map((_, i) => (\n <stop\n key={i}\n offset={`${(i / (colors.length - 1)) * 100}%`}\n stopColor={colors[colors.length - 1 - i]}\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n x={0}\n y={0}\n width={BAR_WIDTH}\n height={height}\n fill={`url(#${gradientId})`}\n rx={2}\n />\n {tickValues.map((value, i) => {\n const y = yScale(value);\n return (\n <g key={i}>\n <line\n x1={BAR_WIDTH}\n x2={BAR_WIDTH + TICK_WIDTH}\n y1={y}\n y2={y}\n stroke=\"#4d4f52\"\n strokeWidth={1}\n />\n <text\n x={BAR_WIDTH + TICK_WIDTH + LABEL_GAP}\n y={y}\n dominantBaseline=\"middle\"\n fontSize={FONT_SIZE}\n fontFamily={FONT_FAMILY}\n fill=\"#4d4f52\"\n >\n {formatTick(value)}\n </text>\n </g>\n );\n })}\n </Group>\n );\n};\n\nexport default HeatmapLegend;\nexport type { HeatmapLegendProps };\n"],"names":["BAR_WIDTH","LABEL_GAP","TICK_WIDTH","FONT_SIZE","FONT_FAMILY","NUM_TICKS","formatTick","value","String","toFixed","getTickValues","minValue","maxValue","Array","from","length","_","i","LABEL_WIDTH_SAFETY_FACTOR","RIGHT_PADDING","getHeatmapLegendWidth","maxLabelWidth","Math","max","map","measureTextWidth","HeatmapLegend","t0","$","_c","colors","height","t1","tickValues","yScale","scaleLinear","domain","range","t2","jsx","t3","gradientId","t4","Group","i_0","y"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es120.js","sources":["../src/components/Heatmap/HeatmapCells.tsx"],"sourcesContent":["import { HeatmapRect, HeatmapCircle, RectCell, CircleCell } from \"@visx/heatmap\";\nimport { useMemo, useRef, memo, ReactElement } from \"react\";\nimport type { AnimationType } from \"../../utility\";\nimport type { ColumnDatum, RowDatum, HeatmapCellId } from \"./types\";\nimport HeatmapCell from \"./HeatmapCell\";\nimport { PlotTooltip, type PlotTooltipHandle } from \"../../tooltip\";\nimport { useStableCallback } from \"../../hooks\";\nimport { DEFAULT_DESELECTED_COLOR, cellKey, getHeatmapColorScale, resolveCellAppearance } from \"./heatmapCellAppearance\";\nimport { getBins } from \"./heatmapLayout\";\n\nexport type AnyBin = RectCell<ColumnDatum, RowDatum> | CircleCell<ColumnDatum, RowDatum>;\n\nexport interface HeatmapCellsProps {\n data: ColumnDatum[];\n xScale: (d: number) => number;\n yScale: (d: number) => number;\n colors: [string, string, ...string[]];\n /**\n * Value mapped to the first color. Defaults to 0. Pass a negative value (e.g. paired with a\n * positive maxValue) for a diverging scale centered away from zero.\n */\n minValue?: number;\n maxValue: number;\n gap: number;\n isRect: boolean;\n binWidth: number;\n binHeight: number;\n animationType?: AnimationType;\n tooltipBody?: (bin: AnyBin) => ReactElement;\n onClick?: (bin: AnyBin) => void;\n selectedCells?: HeatmapCellId[];\n deselectedColor?: string;\n}\n\nconst HeatmapCells = memo(function HeatmapCells({\n data, xScale, yScale, colors, minValue = 0, maxValue, gap,\n isRect, binWidth, binHeight, animationType,\n tooltipBody, onClick, selectedCells, deselectedColor = DEFAULT_DESELECTED_COLOR,\n}: HeatmapCellsProps) {\n const colorScale = useMemo(\n () => getHeatmapColorScale(colors, [minValue, maxValue]),\n [colors, minValue, maxValue]\n );\n const radius = Math.min(binWidth, binHeight) / 2;\n\n const selectedKeys = useMemo(\n () => (selectedCells?.length ? new Set(selectedCells.map(cellKey)) : null),\n [selectedCells]\n );\n\n // The tooltip is a sibling of the grid and owns its own state, so moving the pointer around\n // never re-renders a cell. Cells reach it through this ref, which never changes identity.\n const tooltipRef = useRef<PlotTooltipHandle<AnyBin>>(null);\n\n // Consumers commonly pass an inline arrow for onClick. Cells are memoized on prop identity,\n // so forwarding that directly would invalidate every cell on each render of the consumer.\n const handleClick = useStableCallback(onClick);\n\n const HeatmapComponent = isRect ? HeatmapRect : HeatmapCircle;\n\n return (\n <>\n <HeatmapComponent\n data={data}\n xScale={xScale}\n yScale={yScale}\n colorScale={colorScale}\n bins={getBins}\n gap={gap}\n {...(isRect ? { binWidth, binHeight } : { radius })}\n >\n {(heatmap) =>\n heatmap.map((heatmapBins, colIndex) =>\n heatmapBins.map((bin) => {\n const isDeselected = !!selectedKeys && !selectedKeys.has(cellKey(bin));\n const { fill, fillOpacity } = resolveCellAppearance(bin.count, bin.color, isDeselected, deselectedColor);\n return (\n <HeatmapCell\n key={`heatmap-cell-${bin.row}-${bin.column}`}\n bin={bin}\n isRect={isRect}\n binWidth={binWidth}\n fill={fill}\n fillOpacity={fillOpacity}\n colIndex={colIndex}\n animationType={animationType}\n tooltipRef={tooltipRef}\n onClick={handleClick}\n />\n );\n })\n )\n }\n </HeatmapComponent>\n {tooltipBody && <PlotTooltip ref={tooltipRef}>{tooltipBody}</PlotTooltip>}\n </>\n );\n});\n\nexport default HeatmapCells;\n"],"names":["HeatmapCells","memo","t0","$","_c","data","xScale","yScale","colors","minValue","t1","maxValue","gap","isRect","binWidth","binHeight","animationType","tooltipBody","onClick","selectedCells","deselectedColor","t2","undefined","DEFAULT_DESELECTED_COLOR","t3","getHeatmapColorScale","colorScale","radius","Math","min","t4","length","Set","map","cellKey","selectedKeys","tooltipRef","useRef","handleClick","useStableCallback","HeatmapComponent","HeatmapRect","HeatmapCircle","t5","t6","heatmap","heatmapBins","colIndex","bin","isDeselected","has","fill","fillOpacity","resolveCellAppearance","count","color","HeatmapCell","row","column","t7","getBins","t8","jsx","PlotTooltip","t9"],"mappings":"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"}
@@ -1,25 +1,50 @@
1
- import r from "./visualization.es23.js";
2
- const i = "#d1d5db", c = 0.5, u = "none", L = (n) => `${n.row}-${n.column}`;
3
- function m(n, e) {
4
- const [a, t] = e;
5
- return r({
6
- range: n,
7
- domain: n.map((l, o) => a + o * (t - a) / (n.length - 1))
8
- });
9
- }
10
- function p(n, e, a, t) {
11
- const l = n == null;
12
- return {
13
- fill: l ? u : a ? t : e ?? t,
14
- fillOpacity: l ? 0 : a ? c : 1
15
- };
16
- }
1
+ import { jsx as $ } from "react/jsx-runtime";
2
+ import { c as A } from "react/compiler-runtime";
3
+ import { memo as H } from "react";
4
+ import { getAnimationProps as I } from "./visualization.es31.js";
5
+ import { motion as M } from "./visualization.es34.js";
6
+ const S = "visx-heatmap-cell", d = "visx-heatmap-cell-shape", z = `
7
+ .${S} { cursor: pointer; }
8
+ .${d} { transition: stroke-width 0.2s; pointer-events: all; }
9
+ .${S}:hover .${d} { stroke-width: 2; }
10
+ `, N = (o, t) => o.row !== t.row || o.column !== t.column || o.count !== t.count || o.gap !== t.gap || o.color !== t.color || o.opacity !== t.opacity || o.bin !== t.bin || o.datum !== t.datum ? !1 : "x" in o ? "x" in t && o.x === t.x && o.y === t.y && o.width === t.width && o.height === t.height : "cy" in t && o.cy === t.cy && o.r === t.r && o.radius === t.radius, O = (o, t) => o.fill === t.fill && o.fillOpacity === t.fillOpacity && o.isRect === t.isRect && o.binWidth === t.binWidth && o.colIndex === t.colIndex && o.animationType === t.animationType && o.tooltipRef === t.tooltipRef && o.onClick === t.onClick && N(o.bin, t.bin), B = H(function(t) {
11
+ const i = A(27), {
12
+ bin: e,
13
+ isRect: E,
14
+ binWidth: a,
15
+ fill: m,
16
+ fillOpacity: y,
17
+ colIndex: C,
18
+ animationType: P,
19
+ tooltipRef: l,
20
+ onClick: g
21
+ } = t, w = E && "width" in e && "height" in e && "x" in e && "y" in e, x = !E && "cy" in e && "r" in e;
22
+ let h;
23
+ i[0] !== m || i[1] !== y ? (h = {
24
+ fill: m,
25
+ fillOpacity: y,
26
+ stroke: m,
27
+ strokeWidth: 0
28
+ }, i[0] = m, i[1] = y, i[2] = h) : h = i[2];
29
+ const p = h, k = P ? M.g : "g", L = P;
30
+ let f;
31
+ i[3] !== C || i[4] !== L ? (f = I(L, C), i[3] = C, i[4] = L, i[5] = f) : f = i[5];
32
+ const R = f;
33
+ let c;
34
+ i[6] !== e || i[7] !== l ? (c = (W) => l.current?.show(e, W), i[6] = e, i[7] = l, i[8] = c) : c = i[8];
35
+ let n;
36
+ i[9] !== l ? (n = () => l.current?.hide(), i[9] = l, i[10] = n) : n = i[10];
37
+ let s;
38
+ i[11] !== e || i[12] !== g ? (s = () => g?.(e), i[11] = e, i[12] = g, i[13] = s) : s = i[13];
39
+ let r;
40
+ i[14] !== e || i[15] !== a || i[16] !== x || i[17] !== w || i[18] !== p ? (r = w ? /* @__PURE__ */ $("rect", { className: `visx-heatmap-rect ${d}`, width: e.width, height: e.height, x: e.x, y: e.y, ...p }) : x ? /* @__PURE__ */ $("circle", { className: `visx-heatmap-circle ${d}`, cx: e.column * a + a / 2, cy: e.cy, r: e.r, ...p }) : null, i[14] = e, i[15] = a, i[16] = x, i[17] = w, i[18] = p, i[19] = r) : r = i[19];
41
+ let u;
42
+ return i[20] !== k || i[21] !== R || i[22] !== c || i[23] !== n || i[24] !== s || i[25] !== r ? (u = /* @__PURE__ */ $(k, { ...R, className: S, onMouseMove: c, onMouseLeave: n, onClick: s, children: r }), i[20] = k, i[21] = R, i[22] = c, i[23] = n, i[24] = s, i[25] = r, i[26] = u) : u = i[26], u;
43
+ }, O);
17
44
  export {
18
- i as DEFAULT_DESELECTED_COLOR,
19
- c as DESELECTED_OPACITY,
20
- u as NULL_VALUE_COLOR,
21
- L as cellKey,
22
- m as getHeatmapColorScale,
23
- p as resolveCellAppearance
45
+ S as CELL_CLASS,
46
+ d as CELL_SHAPE_CLASS,
47
+ B as default,
48
+ z as heatmapCellStyles
24
49
  };
25
50
  //# sourceMappingURL=visualization.es121.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es121.js","sources":["../src/components/Heatmap/heatmapCellAppearance.ts"],"sourcesContent":["import { scaleLinear } from \"@visx/scale\";\nimport type { HeatmapCellId } from \"./types\";\n\nexport const DEFAULT_DESELECTED_COLOR = \"#d1d5db\";\nexport const DESELECTED_OPACITY = 0.5;\nexport const NULL_VALUE_COLOR = \"none\";\n\nexport const cellKey = (cell: HeatmapCellId) => `${cell.row}-${cell.column}`;\n\nexport function getHeatmapColorScale(colors: [string, string, ...string[]], domain: [number, number]) {\n const [minValue, maxValue] = domain;\n return scaleLinear<string>({\n range: colors,\n domain: colors.map((_, i) => minValue + (i * (maxValue - minValue)) / (colors.length - 1)),\n });\n}\n\n/**\n * Shared by the SVG cell renderer (HeatmapCells.tsx, used for non-scrollable mode and export)\n * and the canvas cell renderer (HeatmapCanvasCells.ts, used on-screen in scrollable mode) so the\n * two can never drift apart on what a cell actually looks like.\n */\nexport function resolveCellAppearance(\n count: number | null | undefined,\n color: string | undefined,\n isDeselected: boolean,\n deselectedColor: string\n): { fill: string; fillOpacity: number } {\n const isNullValue = count == null;\n return {\n fill: isNullValue ? NULL_VALUE_COLOR : isDeselected ? deselectedColor : color ?? deselectedColor,\n fillOpacity: isNullValue ? 0 : isDeselected ? DESELECTED_OPACITY : 1,\n };\n}\n"],"names":["DEFAULT_DESELECTED_COLOR","DESELECTED_OPACITY","NULL_VALUE_COLOR","cellKey","cell","row","column","getHeatmapColorScale","colors","domain","minValue","maxValue","scaleLinear","range","map","_","i","length","resolveCellAppearance","count","color","isDeselected","deselectedColor","isNullValue","fill","fillOpacity"],"mappings":";AAGO,MAAMA,IAA2B,WAC3BC,IAAqB,KACrBC,IAAmB,QAEnBC,IAAUA,CAACC,MAAwB,GAAGA,EAAKC,GAAG,IAAID,EAAKE,MAAM;AAEnE,SAASC,EAAqBC,GAAuCC,GAA0B;AACpG,QAAM,CAACC,GAAUC,CAAQ,IAAIF;AAC7B,SAAOG,EAAoB;AAAA,IACzBC,OAAOL;AAAAA,IACPC,QAAQD,EAAOM,IAAI,CAACC,GAAGC,MAAMN,IAAYM,KAAKL,IAAWD,MAAcF,EAAOS,SAAS,EAAE;AAAA,EAAA,CAC1F;AACH;AAOO,SAASC,EACdC,GACAC,GACAC,GACAC,GACuC;AACvC,QAAMC,IAAcJ,KAAS;AAC7B,SAAO;AAAA,IACLK,MAAMD,IAAcrB,IAAmBmB,IAAeC,IAAkBF,KAASE;AAAAA,IACjFG,aAAaF,IAAc,IAAIF,IAAepB,IAAqB;AAAA,EAAA;AAEvE;"}
1
+ {"version":3,"file":"visualization.es121.js","sources":["../src/components/Heatmap/HeatmapCell.tsx"],"sourcesContent":["import { memo, MouseEvent } from \"react\";\nimport { motion } from \"framer-motion\";\nimport { getAnimationProps } from \"../../utility\";\nimport type { AnimationType } from \"../../utility\";\nimport type { AnyBin } from \"./HeatmapCells\";\nimport type { PlotTooltipRef } from \"../../tooltip\";\n\n/** Class on the <g> wrapping each cell. The hover rule keys off this. */\nexport const CELL_CLASS = \"visx-heatmap-cell\";\n/** Class on the <rect>/<circle> inside each cell. */\nexport const CELL_SHAPE_CLASS = \"visx-heatmap-cell-shape\";\n\n/**\n * Hover styling is plain CSS rather than React state: `:hover` costs no render at all, while\n * tracking hover in state re-renders on every cell the pointer crosses. Rendered once per chart\n * by Heatmap, inside the <svg> so it survives the SVG/PNG download serialization.\n *\n * The stroke is always painted in the cell's own fill color, so hovering only has to give it a\n * width. `strokeWidth={0}` below is a presentation attribute, which loses to any CSS rule - so\n * the hover rule wins without needing !important.\n *\n * `pointer-events: all` because cells with a null count render with fill=\"none\", and SVG's\n * default (visiblePainted) only treats painted area as a hit target - without this the pointer\n * falls through such a cell to the <svg> and it can never show its \"no data\" tooltip.\n */\nexport const heatmapCellStyles = `\n.${CELL_CLASS} { cursor: pointer; }\n.${CELL_SHAPE_CLASS} { transition: stroke-width 0.2s; pointer-events: all; }\n.${CELL_CLASS}:hover .${CELL_SHAPE_CLASS} { stroke-width: 2; }\n`;\n\nexport interface HeatmapCellProps {\n bin: AnyBin;\n isRect: boolean;\n binWidth: number;\n fill: string;\n fillOpacity: number;\n colIndex: number;\n animationType?: AnimationType;\n /** Stable for the life of the plot, so it never invalidates this cell's memoization. */\n tooltipRef: PlotTooltipRef<AnyBin>;\n onClick?: (bin: AnyBin) => void;\n}\n\n/**\n * visx rebuilds every bin object inside its own render, so `bin` always arrives with a fresh\n * identity and memo's default shallow compare can never bail out. Comparing the bin's fields\n * instead lets untouched cells skip re-rendering, which is what makes selection changes cheap:\n * only the cells whose appearance actually changed re-render, rather than the whole grid.\n *\n * `bin.bin` and `bin.datum` are the caller's own row/column data, which do keep identity, so a\n * reference check on those covers data and metadata changes.\n */\nconst binsEqual = (a: AnyBin, b: AnyBin): boolean => {\n if (\n a.row !== b.row ||\n a.column !== b.column ||\n a.count !== b.count ||\n a.gap !== b.gap ||\n a.color !== b.color ||\n a.opacity !== b.opacity ||\n a.bin !== b.bin ||\n a.datum !== b.datum\n ) {\n return false;\n }\n // Rect and circle cells carry different geometry fields\n if (\"x\" in a) {\n return \"x\" in b && a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n }\n return \"cy\" in b && a.cy === b.cy && a.r === b.r && a.radius === b.radius;\n};\n\n/**\n * Must compare every prop in HeatmapCellProps - one left out here would silently stop updating.\n */\nconst cellPropsEqual = (prev: HeatmapCellProps, next: HeatmapCellProps): boolean =>\n prev.fill === next.fill &&\n prev.fillOpacity === next.fillOpacity &&\n prev.isRect === next.isRect &&\n prev.binWidth === next.binWidth &&\n prev.colIndex === next.colIndex &&\n prev.animationType === next.animationType &&\n prev.tooltipRef === next.tooltipRef &&\n prev.onClick === next.onClick &&\n binsEqual(prev.bin, next.bin);\n\nconst HeatmapCell = memo(function HeatmapCell({\n bin, isRect, binWidth, fill, fillOpacity, colIndex,\n animationType, tooltipRef, onClick,\n}: HeatmapCellProps) {\n const isRectCell = isRect && \"width\" in bin && \"height\" in bin && \"x\" in bin && \"y\" in bin;\n const isCircleCell = !isRect && \"cy\" in bin && \"r\" in bin;\n\n const sharedProps = { fill, fillOpacity, stroke: fill, strokeWidth: 0 };\n\n const Wrapper = animationType ? motion.g : \"g\";\n const animProps = getAnimationProps(animationType as AnimationType, colIndex);\n\n return (\n <Wrapper\n {...animProps}\n className={CELL_CLASS}\n onMouseMove={(event: MouseEvent<SVGElement>) => tooltipRef.current?.show(bin, event)}\n onMouseLeave={() => tooltipRef.current?.hide()}\n onClick={() => onClick?.(bin)}\n >\n {isRectCell ? (\n <rect\n className={`visx-heatmap-rect ${CELL_SHAPE_CLASS}`}\n width={bin.width}\n height={bin.height}\n x={bin.x}\n y={bin.y}\n {...sharedProps}\n />\n ) : isCircleCell ? (\n <circle\n className={`visx-heatmap-circle ${CELL_SHAPE_CLASS}`}\n cx={bin.column * binWidth + binWidth / 2}\n cy={bin.cy}\n r={bin.r}\n {...sharedProps}\n />\n ) : null}\n </Wrapper>\n );\n}, cellPropsEqual);\n\nexport default HeatmapCell;\n"],"names":["CELL_CLASS","CELL_SHAPE_CLASS","heatmapCellStyles","binsEqual","a","b","row","column","count","gap","color","opacity","bin","datum","x","y","width","height","cy","r","radius","cellPropsEqual","prev","next","fill","fillOpacity","isRect","binWidth","colIndex","animationType","tooltipRef","onClick","HeatmapCell","memo","t0","$","_c","isRectCell","isCircleCell","t1","stroke","strokeWidth","sharedProps","Wrapper","motion","g","t2","t3","getAnimationProps","animProps","t4","event","current","show","t5","hide","t6","t7","jsx","t8"],"mappings":"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"}