@weng-lab/visualization 2.4.0-beta.5 → 2.4.0-beta.6

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 (1083) hide show
  1. package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts.map +1 -1
  2. package/dist/src/components/ScatterPlot/hooks/useCrosshair.d.ts +7 -0
  3. package/dist/src/components/ScatterPlot/hooks/useCrosshair.d.ts.map +1 -1
  4. package/dist/src/components/ScatterPlot/minimap.d.ts.map +1 -1
  5. package/dist/visualization.es10.js +11 -11
  6. package/dist/visualization.es100.js +24 -31
  7. package/dist/visualization.es100.js.map +1 -1
  8. package/dist/visualization.es101.js +68 -11
  9. package/dist/visualization.es101.js.map +1 -1
  10. package/dist/visualization.es102.js +31 -25
  11. package/dist/visualization.es102.js.map +1 -1
  12. package/dist/visualization.es103.js +44 -69
  13. package/dist/visualization.es103.js.map +1 -1
  14. package/dist/visualization.es104.js +67 -49
  15. package/dist/visualization.es104.js.map +1 -1
  16. package/dist/visualization.es105.js +24 -31
  17. package/dist/visualization.es105.js.map +1 -1
  18. package/dist/visualization.es106.js +85 -18
  19. package/dist/visualization.es106.js.map +1 -1
  20. package/dist/visualization.es107.js +36 -14
  21. package/dist/visualization.es107.js.map +1 -1
  22. package/dist/visualization.es108.js +64 -26
  23. package/dist/visualization.es108.js.map +1 -1
  24. package/dist/visualization.es109.js +59 -220
  25. package/dist/visualization.es109.js.map +1 -1
  26. package/dist/visualization.es11.js +10 -10
  27. package/dist/visualization.es110.js +222 -2
  28. package/dist/visualization.es110.js.map +1 -1
  29. package/dist/visualization.es111.js +2 -557
  30. package/dist/visualization.es111.js.map +1 -1
  31. package/dist/visualization.es112.js +496 -153
  32. package/dist/visualization.es112.js.map +1 -1
  33. package/dist/visualization.es113.js +214 -2
  34. package/dist/visualization.es113.js.map +1 -1
  35. package/dist/visualization.es114.js +2 -4800
  36. package/dist/visualization.es114.js.map +1 -1
  37. package/dist/visualization.es115.js +4800 -25
  38. package/dist/visualization.es115.js.map +1 -1
  39. package/dist/visualization.es116.js +25 -45
  40. package/dist/visualization.es116.js.map +1 -1
  41. package/dist/visualization.es117.js +44 -143
  42. package/dist/visualization.es117.js.map +1 -1
  43. package/dist/visualization.es118.js +138 -141
  44. package/dist/visualization.es118.js.map +1 -1
  45. package/dist/visualization.es119.js +145 -30
  46. package/dist/visualization.es119.js.map +1 -1
  47. package/dist/visualization.es12.js +2 -2
  48. package/dist/visualization.es120.js +55 -42
  49. package/dist/visualization.es120.js.map +1 -1
  50. package/dist/visualization.es121.js +31 -75
  51. package/dist/visualization.es121.js.map +1 -1
  52. package/dist/visualization.es122.js +18 -25
  53. package/dist/visualization.es122.js.map +1 -1
  54. package/dist/visualization.es123.js +14 -85
  55. package/dist/visualization.es123.js.map +1 -1
  56. package/dist/visualization.es124.js +26 -36
  57. package/dist/visualization.es124.js.map +1 -1
  58. package/dist/visualization.es125.js +62 -16
  59. package/dist/visualization.es125.js.map +1 -1
  60. package/dist/visualization.es126.js +7 -64
  61. package/dist/visualization.es126.js.map +1 -1
  62. package/dist/visualization.es127.js +5 -7
  63. package/dist/visualization.es127.js.map +1 -1
  64. package/dist/visualization.es128.js +43 -5
  65. package/dist/visualization.es128.js.map +1 -1
  66. package/dist/visualization.es129.js +19 -42
  67. package/dist/visualization.es129.js.map +1 -1
  68. package/dist/visualization.es13.js +7 -7
  69. package/dist/visualization.es130.js +27 -60
  70. package/dist/visualization.es130.js.map +1 -1
  71. package/dist/visualization.es131.js +60 -38
  72. package/dist/visualization.es131.js.map +1 -1
  73. package/dist/visualization.es132.js +37 -35
  74. package/dist/visualization.es132.js.map +1 -1
  75. package/dist/visualization.es133.js +36 -83
  76. package/dist/visualization.es133.js.map +1 -1
  77. package/dist/visualization.es134.js +82 -27
  78. package/dist/visualization.es134.js.map +1 -1
  79. package/dist/visualization.es135.js +27 -6
  80. package/dist/visualization.es135.js.map +1 -1
  81. package/dist/visualization.es136.js +7 -4
  82. package/dist/visualization.es136.js.map +1 -1
  83. package/dist/visualization.es137.js +4 -3
  84. package/dist/visualization.es137.js.map +1 -1
  85. package/dist/visualization.es138.js +3 -84
  86. package/dist/visualization.es138.js.map +1 -1
  87. package/dist/visualization.es139.js +28 -87
  88. package/dist/visualization.es139.js.map +1 -1
  89. package/dist/visualization.es140.js +7 -12
  90. package/dist/visualization.es140.js.map +1 -1
  91. package/dist/visualization.es141.js +6 -5
  92. package/dist/visualization.es141.js.map +1 -1
  93. package/dist/visualization.es142.js +3 -14
  94. package/dist/visualization.es142.js.map +1 -1
  95. package/dist/visualization.es143.js +16 -6
  96. package/dist/visualization.es143.js.map +1 -1
  97. package/dist/visualization.es144.js +16 -13
  98. package/dist/visualization.es144.js.map +1 -1
  99. package/dist/visualization.es145.js +33 -8
  100. package/dist/visualization.es145.js.map +1 -1
  101. package/dist/visualization.es146.js +16 -15
  102. package/dist/visualization.es146.js.map +1 -1
  103. package/dist/visualization.es147.js +11 -11
  104. package/dist/visualization.es147.js.map +1 -1
  105. package/dist/visualization.es148.js +6 -5
  106. package/dist/visualization.es148.js.map +1 -1
  107. package/dist/visualization.es149.js +6 -11
  108. package/dist/visualization.es149.js.map +1 -1
  109. package/dist/visualization.es15.js +8 -8
  110. package/dist/visualization.es150.js +10 -3
  111. package/dist/visualization.es150.js.map +1 -1
  112. package/dist/visualization.es151.js +5 -2
  113. package/dist/visualization.es151.js.map +1 -1
  114. package/dist/visualization.es152.js +5 -11
  115. package/dist/visualization.es152.js.map +1 -1
  116. package/dist/visualization.es153.js +8 -30
  117. package/dist/visualization.es153.js.map +1 -1
  118. package/dist/visualization.es154.js +4 -42
  119. package/dist/visualization.es154.js.map +1 -1
  120. package/dist/visualization.es155.js +11 -48
  121. package/dist/visualization.es155.js.map +1 -1
  122. package/dist/visualization.es156.js +27 -3
  123. package/dist/visualization.es156.js.map +1 -1
  124. package/dist/visualization.es157.js +72 -3
  125. package/dist/visualization.es157.js.map +1 -1
  126. package/dist/visualization.es158.js +16 -5
  127. package/dist/visualization.es158.js.map +1 -1
  128. package/dist/visualization.es159.js +11 -4
  129. package/dist/visualization.es159.js.map +1 -1
  130. package/dist/visualization.es160.js +5 -11
  131. package/dist/visualization.es160.js.map +1 -1
  132. package/dist/visualization.es161.js +2 -4
  133. package/dist/visualization.es161.js.map +1 -1
  134. package/dist/visualization.es162.js +1605 -17
  135. package/dist/visualization.es162.js.map +1 -1
  136. package/dist/visualization.es163.js +74 -18
  137. package/dist/visualization.es163.js.map +1 -1
  138. package/dist/visualization.es164.js +2 -37
  139. package/dist/visualization.es164.js.map +1 -1
  140. package/dist/visualization.es165.js +483 -2
  141. package/dist/visualization.es165.js.map +1 -1
  142. package/dist/visualization.es166.js +2 -2
  143. package/dist/visualization.es166.js.map +1 -1
  144. package/dist/visualization.es167.js +19 -4
  145. package/dist/visualization.es167.js.map +1 -1
  146. package/dist/visualization.es168.js +3 -14
  147. package/dist/visualization.es168.js.map +1 -1
  148. package/dist/visualization.es169.js +36 -3
  149. package/dist/visualization.es169.js.map +1 -1
  150. package/dist/visualization.es170.js +85 -7
  151. package/dist/visualization.es170.js.map +1 -1
  152. package/dist/visualization.es171.js +90 -3
  153. package/dist/visualization.es171.js.map +1 -1
  154. package/dist/visualization.es172.js +12 -6
  155. package/dist/visualization.es172.js.map +1 -1
  156. package/dist/visualization.es173.js +5 -71
  157. package/dist/visualization.es173.js.map +1 -1
  158. package/dist/visualization.es174.js +14 -16
  159. package/dist/visualization.es174.js.map +1 -1
  160. package/dist/visualization.es175.js +7 -12
  161. package/dist/visualization.es175.js.map +1 -1
  162. package/dist/visualization.es176.js +14 -5
  163. package/dist/visualization.es176.js.map +1 -1
  164. package/dist/visualization.es177.js +8 -19
  165. package/dist/visualization.es177.js.map +1 -1
  166. package/dist/visualization.es178.js +15 -3
  167. package/dist/visualization.es178.js.map +1 -1
  168. package/dist/visualization.es179.js +11 -36
  169. package/dist/visualization.es179.js.map +1 -1
  170. package/dist/visualization.es18.js +1 -1
  171. package/dist/visualization.es180.js +5 -72
  172. package/dist/visualization.es180.js.map +1 -1
  173. package/dist/visualization.es181.js +11 -22
  174. package/dist/visualization.es181.js.map +1 -1
  175. package/dist/visualization.es182.js +3 -22
  176. package/dist/visualization.es182.js.map +1 -1
  177. package/dist/visualization.es183.js +2 -41
  178. package/dist/visualization.es183.js.map +1 -1
  179. package/dist/visualization.es184.js +11 -8
  180. package/dist/visualization.es184.js.map +1 -1
  181. package/dist/visualization.es185.js +30 -12
  182. package/dist/visualization.es185.js.map +1 -1
  183. package/dist/visualization.es186.js +41 -16
  184. package/dist/visualization.es186.js.map +1 -1
  185. package/dist/visualization.es187.js +48 -35
  186. package/dist/visualization.es187.js.map +1 -1
  187. package/dist/visualization.es188.js +3 -25
  188. package/dist/visualization.es188.js.map +1 -1
  189. package/dist/visualization.es189.js +3 -28
  190. package/dist/visualization.es189.js.map +1 -1
  191. package/dist/visualization.es190.js +6 -2
  192. package/dist/visualization.es190.js.map +1 -1
  193. package/dist/visualization.es191.js +4 -1605
  194. package/dist/visualization.es191.js.map +1 -1
  195. package/dist/visualization.es192.js +10 -74
  196. package/dist/visualization.es192.js.map +1 -1
  197. package/dist/visualization.es193.js +4 -2
  198. package/dist/visualization.es193.js.map +1 -1
  199. package/dist/visualization.es194.js +17 -482
  200. package/dist/visualization.es194.js.map +1 -1
  201. package/dist/visualization.es195.js +19 -2
  202. package/dist/visualization.es195.js.map +1 -1
  203. package/dist/visualization.es196.js +36 -30
  204. package/dist/visualization.es196.js.map +1 -1
  205. package/dist/visualization.es197.js +2 -8
  206. package/dist/visualization.es197.js.map +1 -1
  207. package/dist/visualization.es198.js +2 -7
  208. package/dist/visualization.es198.js.map +1 -1
  209. package/dist/visualization.es199.js +4 -4
  210. package/dist/visualization.es199.js.map +1 -1
  211. package/dist/visualization.es2.js +8 -8
  212. package/dist/visualization.es20.js +39 -59
  213. package/dist/visualization.es20.js.map +1 -1
  214. package/dist/visualization.es200.js +14 -16
  215. package/dist/visualization.es200.js.map +1 -1
  216. package/dist/visualization.es201.js +3 -17
  217. package/dist/visualization.es201.js.map +1 -1
  218. package/dist/visualization.es202.js +7 -33
  219. package/dist/visualization.es202.js.map +1 -1
  220. package/dist/visualization.es203.js +3 -17
  221. package/dist/visualization.es203.js.map +1 -1
  222. package/dist/visualization.es204.js +6 -10
  223. package/dist/visualization.es204.js.map +1 -1
  224. package/dist/visualization.es205.js +3 -6
  225. package/dist/visualization.es205.js.map +1 -1
  226. package/dist/visualization.es206.js +17 -6
  227. package/dist/visualization.es206.js.map +1 -1
  228. package/dist/visualization.es207.js +9 -10
  229. package/dist/visualization.es207.js.map +1 -1
  230. package/dist/visualization.es208.js +6 -4
  231. package/dist/visualization.es208.js.map +1 -1
  232. package/dist/visualization.es209.js +7 -4
  233. package/dist/visualization.es209.js.map +1 -1
  234. package/dist/visualization.es21.js +35 -10
  235. package/dist/visualization.es21.js.map +1 -1
  236. package/dist/visualization.es210.js +9 -8
  237. package/dist/visualization.es210.js.map +1 -1
  238. package/dist/visualization.es211.js +6 -4
  239. package/dist/visualization.es211.js.map +1 -1
  240. package/dist/visualization.es212.js +5 -11
  241. package/dist/visualization.es212.js.map +1 -1
  242. package/dist/visualization.es213.js +5 -26
  243. package/dist/visualization.es213.js.map +1 -1
  244. package/dist/visualization.es214.js +14 -19
  245. package/dist/visualization.es214.js.map +1 -1
  246. package/dist/visualization.es215.js +5 -27
  247. package/dist/visualization.es215.js.map +1 -1
  248. package/dist/visualization.es216.js +3 -9
  249. package/dist/visualization.es216.js.map +1 -1
  250. package/dist/visualization.es217.js +6 -6
  251. package/dist/visualization.es217.js.map +1 -1
  252. package/dist/visualization.es218.js +6 -7
  253. package/dist/visualization.es218.js.map +1 -1
  254. package/dist/visualization.es219.js +9 -9
  255. package/dist/visualization.es219.js.map +1 -1
  256. package/dist/visualization.es22.js +7 -54
  257. package/dist/visualization.es22.js.map +1 -1
  258. package/dist/visualization.es220.js +3 -6
  259. package/dist/visualization.es220.js.map +1 -1
  260. package/dist/visualization.es221.js +5 -6
  261. package/dist/visualization.es221.js.map +1 -1
  262. package/dist/visualization.es222.js +33 -5
  263. package/dist/visualization.es222.js.map +1 -1
  264. package/dist/visualization.es223.js +15 -14
  265. package/dist/visualization.es223.js.map +1 -1
  266. package/dist/visualization.es224.js +7 -5
  267. package/dist/visualization.es224.js.map +1 -1
  268. package/dist/visualization.es225.js +11 -3
  269. package/dist/visualization.es225.js.map +1 -1
  270. package/dist/visualization.es226.js +32 -6
  271. package/dist/visualization.es226.js.map +1 -1
  272. package/dist/visualization.es227.js +114 -6
  273. package/dist/visualization.es227.js.map +1 -1
  274. package/dist/visualization.es228.js +72 -9
  275. package/dist/visualization.es228.js.map +1 -1
  276. package/dist/visualization.es229.js +22 -32
  277. package/dist/visualization.es229.js.map +1 -1
  278. package/dist/visualization.es23.js +7 -54
  279. package/dist/visualization.es23.js.map +1 -1
  280. package/dist/visualization.es230.js +19 -111
  281. package/dist/visualization.es230.js.map +1 -1
  282. package/dist/visualization.es231.js +40 -3
  283. package/dist/visualization.es231.js.map +1 -1
  284. package/dist/visualization.es232.js +7 -5
  285. package/dist/visualization.es232.js.map +1 -1
  286. package/dist/visualization.es233.js +11 -32
  287. package/dist/visualization.es233.js.map +1 -1
  288. package/dist/visualization.es234.js +16 -14
  289. package/dist/visualization.es234.js.map +1 -1
  290. package/dist/visualization.es235.js +36 -7
  291. package/dist/visualization.es235.js.map +1 -1
  292. package/dist/visualization.es236.js +23 -10
  293. package/dist/visualization.es236.js.map +1 -1
  294. package/dist/visualization.es237.js +27 -3
  295. package/dist/visualization.es237.js.map +1 -1
  296. package/dist/visualization.es238.js +7 -7
  297. package/dist/visualization.es239.js +2 -35
  298. package/dist/visualization.es239.js.map +1 -1
  299. package/dist/visualization.es24.js +67 -145
  300. package/dist/visualization.es24.js.map +1 -1
  301. package/dist/visualization.es240.js +35 -2
  302. package/dist/visualization.es240.js.map +1 -1
  303. package/dist/visualization.es241.js +2 -4
  304. package/dist/visualization.es241.js.map +1 -1
  305. package/dist/visualization.es242.js +29 -3
  306. package/dist/visualization.es242.js.map +1 -1
  307. package/dist/visualization.es243.js +20 -3
  308. package/dist/visualization.es243.js.map +1 -1
  309. package/dist/visualization.es244.js +3 -3
  310. package/dist/visualization.es244.js.map +1 -1
  311. package/dist/visualization.es245.js +3 -3
  312. package/dist/visualization.es245.js.map +1 -1
  313. package/dist/visualization.es246.js +2 -2
  314. package/dist/visualization.es246.js.map +1 -1
  315. package/dist/visualization.es247.js +3 -3
  316. package/dist/visualization.es247.js.map +1 -1
  317. package/dist/visualization.es248.js +3 -7
  318. package/dist/visualization.es248.js.map +1 -1
  319. package/dist/visualization.es249.js +3 -48
  320. package/dist/visualization.es249.js.map +1 -1
  321. package/dist/visualization.es25.js +44 -111
  322. package/dist/visualization.es25.js.map +1 -1
  323. package/dist/visualization.es250.js +3 -3
  324. package/dist/visualization.es250.js.map +1 -1
  325. package/dist/visualization.es251.js +6 -5
  326. package/dist/visualization.es251.js.map +1 -1
  327. package/dist/visualization.es252.js +48 -4
  328. package/dist/visualization.es252.js.map +1 -1
  329. package/dist/visualization.es253.js +3 -3
  330. package/dist/visualization.es253.js.map +1 -1
  331. package/dist/visualization.es254.js +5 -5
  332. package/dist/visualization.es254.js.map +1 -1
  333. package/dist/visualization.es255.js +4 -4
  334. package/dist/visualization.es255.js.map +1 -1
  335. package/dist/visualization.es256.js +3 -23
  336. package/dist/visualization.es256.js.map +1 -1
  337. package/dist/visualization.es257.js +6 -53
  338. package/dist/visualization.es257.js.map +1 -1
  339. package/dist/visualization.es258.js +4 -20
  340. package/dist/visualization.es258.js.map +1 -1
  341. package/dist/visualization.es259.js +54 -3
  342. package/dist/visualization.es259.js.map +1 -1
  343. package/dist/visualization.es26.js +11 -7
  344. package/dist/visualization.es26.js.map +1 -1
  345. package/dist/visualization.es260.js +30 -10
  346. package/dist/visualization.es260.js.map +1 -1
  347. package/dist/visualization.es261.js +32 -35
  348. package/dist/visualization.es261.js.map +1 -1
  349. package/dist/visualization.es262.js +12 -260
  350. package/dist/visualization.es262.js.map +1 -1
  351. package/dist/visualization.es263.js +8 -58
  352. package/dist/visualization.es263.js.map +1 -1
  353. package/dist/visualization.es264.js +9 -5
  354. package/dist/visualization.es264.js.map +1 -1
  355. package/dist/visualization.es265.js +6 -7
  356. package/dist/visualization.es265.js.map +1 -1
  357. package/dist/visualization.es266.js +8 -140
  358. package/dist/visualization.es266.js.map +1 -1
  359. package/dist/visualization.es267.js +6 -5
  360. package/dist/visualization.es267.js.map +1 -1
  361. package/dist/visualization.es268.js +5 -21
  362. package/dist/visualization.es268.js.map +1 -1
  363. package/dist/visualization.es269.js +14 -37
  364. package/dist/visualization.es269.js.map +1 -1
  365. package/dist/visualization.es27.js +66 -7
  366. package/dist/visualization.es27.js.map +1 -1
  367. package/dist/visualization.es270.js +5 -34
  368. package/dist/visualization.es270.js.map +1 -1
  369. package/dist/visualization.es271.js +7 -15
  370. package/dist/visualization.es271.js.map +1 -1
  371. package/dist/visualization.es272.js +7 -19
  372. package/dist/visualization.es272.js.map +1 -1
  373. package/dist/visualization.es273.js +7 -9
  374. package/dist/visualization.es273.js.map +1 -1
  375. package/dist/visualization.es274.js +3 -109
  376. package/dist/visualization.es274.js.map +1 -1
  377. package/dist/visualization.es275.js +4 -12
  378. package/dist/visualization.es275.js.map +1 -1
  379. package/dist/visualization.es276.js +9 -141
  380. package/dist/visualization.es276.js.map +1 -1
  381. package/dist/visualization.es277.js +7 -6
  382. package/dist/visualization.es277.js.map +1 -1
  383. package/dist/visualization.es278.js +31 -68
  384. package/dist/visualization.es278.js.map +1 -1
  385. package/dist/visualization.es279.js +3 -35
  386. package/dist/visualization.es279.js.map +1 -1
  387. package/dist/visualization.es28.js +113 -8
  388. package/dist/visualization.es28.js.map +1 -1
  389. package/dist/visualization.es280.js +3 -20
  390. package/dist/visualization.es280.js.map +1 -1
  391. package/dist/visualization.es281.js +6 -3
  392. package/dist/visualization.es281.js.map +1 -1
  393. package/dist/visualization.es282.js +11 -23
  394. package/dist/visualization.es282.js.map +1 -1
  395. package/dist/visualization.es283.js +2 -31
  396. package/dist/visualization.es283.js.map +1 -1
  397. package/dist/visualization.es284.js +4 -2
  398. package/dist/visualization.es284.js.map +1 -1
  399. package/dist/visualization.es285.js +4 -2
  400. package/dist/visualization.es285.js.map +1 -1
  401. package/dist/visualization.es286.js +10 -5
  402. package/dist/visualization.es286.js.map +1 -1
  403. package/dist/visualization.es287.js +26 -15
  404. package/dist/visualization.es287.js.map +1 -1
  405. package/dist/visualization.es288.js +4 -34
  406. package/dist/visualization.es288.js.map +1 -1
  407. package/dist/visualization.es289.js +31 -26
  408. package/dist/visualization.es289.js.map +1 -1
  409. package/dist/visualization.es29.js +146 -19
  410. package/dist/visualization.es29.js.map +1 -1
  411. package/dist/visualization.es290.js +23 -10
  412. package/dist/visualization.es290.js.map +1 -1
  413. package/dist/visualization.es291.js +53 -6
  414. package/dist/visualization.es291.js.map +1 -1
  415. package/dist/visualization.es292.js +3 -14
  416. package/dist/visualization.es292.js.map +1 -1
  417. package/dist/visualization.es293.js +12 -12
  418. package/dist/visualization.es293.js.map +1 -1
  419. package/dist/visualization.es294.js +37 -2
  420. package/dist/visualization.es294.js.map +1 -1
  421. package/dist/visualization.es295.js +261 -3
  422. package/dist/visualization.es295.js.map +1 -1
  423. package/dist/visualization.es296.js +60 -2
  424. package/dist/visualization.es296.js.map +1 -1
  425. package/dist/visualization.es297.js +5 -103
  426. package/dist/visualization.es297.js.map +1 -1
  427. package/dist/visualization.es298.js +21 -4
  428. package/dist/visualization.es298.js.map +1 -1
  429. package/dist/visualization.es299.js +38 -3
  430. package/dist/visualization.es299.js.map +1 -1
  431. package/dist/visualization.es3.js +12 -12
  432. package/dist/visualization.es30.js +45 -31
  433. package/dist/visualization.es30.js.map +1 -1
  434. package/dist/visualization.es300.js +34 -18
  435. package/dist/visualization.es300.js.map +1 -1
  436. package/dist/visualization.es301.js +15 -6
  437. package/dist/visualization.es301.js.map +1 -1
  438. package/dist/visualization.es302.js +18 -14
  439. package/dist/visualization.es302.js.map +1 -1
  440. package/dist/visualization.es303.js +9 -5
  441. package/dist/visualization.es303.js.map +1 -1
  442. package/dist/visualization.es304.js +6 -27
  443. package/dist/visualization.es304.js.map +1 -1
  444. package/dist/visualization.es305.js +140 -6
  445. package/dist/visualization.es305.js.map +1 -1
  446. package/dist/visualization.es306.js +6 -2
  447. package/dist/visualization.es306.js.map +1 -1
  448. package/dist/visualization.es307.js +110 -20
  449. package/dist/visualization.es307.js.map +1 -1
  450. package/dist/visualization.es308.js +13 -21
  451. package/dist/visualization.es308.js.map +1 -1
  452. package/dist/visualization.es309.js +141 -5
  453. package/dist/visualization.es309.js.map +1 -1
  454. package/dist/visualization.es31.js +21 -58
  455. package/dist/visualization.es31.js.map +1 -1
  456. package/dist/visualization.es310.js +5 -7
  457. package/dist/visualization.es310.js.map +1 -1
  458. package/dist/visualization.es311.js +71 -18
  459. package/dist/visualization.es311.js.map +1 -1
  460. package/dist/visualization.es312.js +32 -40
  461. package/dist/visualization.es312.js.map +1 -1
  462. package/dist/visualization.es313.js +21 -7
  463. package/dist/visualization.es313.js.map +1 -1
  464. package/dist/visualization.es314.js +3 -19
  465. package/dist/visualization.es314.js.map +1 -1
  466. package/dist/visualization.es315.js +21 -50
  467. package/dist/visualization.es315.js.map +1 -1
  468. package/dist/visualization.es316.js +30 -26
  469. package/dist/visualization.es316.js.map +1 -1
  470. package/dist/visualization.es317.js +2 -11
  471. package/dist/visualization.es317.js.map +1 -1
  472. package/dist/visualization.es318.js +2 -19
  473. package/dist/visualization.es318.js.map +1 -1
  474. package/dist/visualization.es319.js +5 -11
  475. package/dist/visualization.es319.js.map +1 -1
  476. package/dist/visualization.es32.js +5 -47
  477. package/dist/visualization.es32.js.map +1 -1
  478. package/dist/visualization.es320.js +15 -5
  479. package/dist/visualization.es320.js.map +1 -1
  480. package/dist/visualization.es321.js +35 -4
  481. package/dist/visualization.es321.js.map +1 -1
  482. package/dist/visualization.es322.js +27 -3
  483. package/dist/visualization.es322.js.map +1 -1
  484. package/dist/visualization.es323.js +10 -175
  485. package/dist/visualization.es323.js.map +1 -1
  486. package/dist/visualization.es324.js +6 -39
  487. package/dist/visualization.es324.js.map +1 -1
  488. package/dist/visualization.es325.js +13 -5
  489. package/dist/visualization.es325.js.map +1 -1
  490. package/dist/visualization.es326.js +12 -4
  491. package/dist/visualization.es326.js.map +1 -1
  492. package/dist/visualization.es327.js +2 -2
  493. package/dist/visualization.es327.js.map +1 -1
  494. package/dist/visualization.es328.js +3 -30
  495. package/dist/visualization.es328.js.map +1 -1
  496. package/dist/visualization.es329.js +2 -8
  497. package/dist/visualization.es329.js.map +1 -1
  498. package/dist/visualization.es33.js +33 -44
  499. package/dist/visualization.es33.js.map +1 -1
  500. package/dist/visualization.es330.js +103 -10
  501. package/dist/visualization.es330.js.map +1 -1
  502. package/dist/visualization.es331.js +4 -3
  503. package/dist/visualization.es331.js.map +1 -1
  504. package/dist/visualization.es332.js +3 -66
  505. package/dist/visualization.es332.js.map +1 -1
  506. package/dist/visualization.es333.js +19 -7
  507. package/dist/visualization.es333.js.map +1 -1
  508. package/dist/visualization.es334.js +5 -4
  509. package/dist/visualization.es334.js.map +1 -1
  510. package/dist/visualization.es335.js +14 -13
  511. package/dist/visualization.es335.js.map +1 -1
  512. package/dist/visualization.es336.js +4 -34
  513. package/dist/visualization.es336.js.map +1 -1
  514. package/dist/visualization.es337.js +28 -4
  515. package/dist/visualization.es337.js.map +1 -1
  516. package/dist/visualization.es338.js +6 -9
  517. package/dist/visualization.es338.js.map +1 -1
  518. package/dist/visualization.es339.js +2 -2
  519. package/dist/visualization.es339.js.map +1 -1
  520. package/dist/visualization.es34.js +33 -19
  521. package/dist/visualization.es34.js.map +1 -1
  522. package/dist/visualization.es340.js +20 -5
  523. package/dist/visualization.es340.js.map +1 -1
  524. package/dist/visualization.es341.js +21 -2
  525. package/dist/visualization.es341.js.map +1 -1
  526. package/dist/visualization.es342.js +5 -9
  527. package/dist/visualization.es342.js.map +1 -1
  528. package/dist/visualization.es343.js +7 -9
  529. package/dist/visualization.es343.js.map +1 -1
  530. package/dist/visualization.es344.js +19 -13
  531. package/dist/visualization.es344.js.map +1 -1
  532. package/dist/visualization.es345.js +44 -2
  533. package/dist/visualization.es345.js.map +1 -1
  534. package/dist/visualization.es346.js +7 -10
  535. package/dist/visualization.es346.js.map +1 -1
  536. package/dist/visualization.es347.js +19 -7
  537. package/dist/visualization.es347.js.map +1 -1
  538. package/dist/visualization.es348.js +53 -5
  539. package/dist/visualization.es348.js.map +1 -1
  540. package/dist/visualization.es349.js +26 -24
  541. package/dist/visualization.es349.js.map +1 -1
  542. package/dist/visualization.es35.js +53 -114
  543. package/dist/visualization.es35.js.map +1 -1
  544. package/dist/visualization.es350.js +11 -19
  545. package/dist/visualization.es350.js.map +1 -1
  546. package/dist/visualization.es351.js +17 -39
  547. package/dist/visualization.es351.js.map +1 -1
  548. package/dist/visualization.es352.js +12 -3
  549. package/dist/visualization.es352.js.map +1 -1
  550. package/dist/visualization.es353.js +4 -8
  551. package/dist/visualization.es353.js.map +1 -1
  552. package/dist/visualization.es354.js +4 -9
  553. package/dist/visualization.es354.js.map +1 -1
  554. package/dist/visualization.es355.js +3 -35
  555. package/dist/visualization.es355.js.map +1 -1
  556. package/dist/visualization.es356.js +174 -8
  557. package/dist/visualization.es356.js.map +1 -1
  558. package/dist/visualization.es357.js +37 -29
  559. package/dist/visualization.es357.js.map +1 -1
  560. package/dist/visualization.es358.js +5 -4
  561. package/dist/visualization.es358.js.map +1 -1
  562. package/dist/visualization.es359.js +4 -2
  563. package/dist/visualization.es359.js.map +1 -1
  564. package/dist/visualization.es36.js +106 -93
  565. package/dist/visualization.es36.js.map +1 -1
  566. package/dist/visualization.es360.js +2 -16
  567. package/dist/visualization.es360.js.map +1 -1
  568. package/dist/visualization.es361.js +29 -24
  569. package/dist/visualization.es361.js.map +1 -1
  570. package/dist/visualization.es362.js +8 -2
  571. package/dist/visualization.es362.js.map +1 -1
  572. package/dist/visualization.es363.js +10 -62
  573. package/dist/visualization.es363.js.map +1 -1
  574. package/dist/visualization.es364.js +4 -2
  575. package/dist/visualization.es364.js.map +1 -1
  576. package/dist/visualization.es365.js +66 -2
  577. package/dist/visualization.es365.js.map +1 -1
  578. package/dist/visualization.es366.js +7 -6
  579. package/dist/visualization.es366.js.map +1 -1
  580. package/dist/visualization.es367.js +4 -36
  581. package/dist/visualization.es367.js.map +1 -1
  582. package/dist/visualization.es368.js +13 -20
  583. package/dist/visualization.es368.js.map +1 -1
  584. package/dist/visualization.es369.js +34 -3
  585. package/dist/visualization.es369.js.map +1 -1
  586. package/dist/visualization.es37.js +7 -34
  587. package/dist/visualization.es37.js.map +1 -1
  588. package/dist/visualization.es370.js +4 -4
  589. package/dist/visualization.es370.js.map +1 -1
  590. package/dist/visualization.es371.js +9 -4
  591. package/dist/visualization.es371.js.map +1 -1
  592. package/dist/visualization.es372.js +2 -49
  593. package/dist/visualization.es372.js.map +1 -1
  594. package/dist/visualization.es373.js +4 -26
  595. package/dist/visualization.es373.js.map +1 -1
  596. package/dist/visualization.es374.js +2 -17
  597. package/dist/visualization.es374.js.map +1 -1
  598. package/dist/visualization.es375.js +10 -10
  599. package/dist/visualization.es375.js.map +1 -1
  600. package/dist/visualization.es376.js +9 -19
  601. package/dist/visualization.es376.js.map +1 -1
  602. package/dist/visualization.es377.js +12 -13
  603. package/dist/visualization.es377.js.map +1 -1
  604. package/dist/visualization.es378.js +2 -4
  605. package/dist/visualization.es378.js.map +1 -1
  606. package/dist/visualization.es379.js +10 -13
  607. package/dist/visualization.es379.js.map +1 -1
  608. package/dist/visualization.es38.js +12 -12
  609. package/dist/visualization.es38.js.map +1 -1
  610. package/dist/visualization.es380.js +7 -48
  611. package/dist/visualization.es380.js.map +1 -1
  612. package/dist/visualization.es381.js +5 -5
  613. package/dist/visualization.es381.js.map +1 -1
  614. package/dist/visualization.es382.js +24 -12
  615. package/dist/visualization.es382.js.map +1 -1
  616. package/dist/visualization.es383.js +19 -2
  617. package/dist/visualization.es383.js.map +1 -1
  618. package/dist/visualization.es384.js +40 -6
  619. package/dist/visualization.es384.js.map +1 -1
  620. package/dist/visualization.es385.js +3 -210
  621. package/dist/visualization.es385.js.map +1 -1
  622. package/dist/visualization.es386.js +8 -26
  623. package/dist/visualization.es386.js.map +1 -1
  624. package/dist/visualization.es387.js +8 -3
  625. package/dist/visualization.es387.js.map +1 -1
  626. package/dist/visualization.es388.js +36 -16
  627. package/dist/visualization.es388.js.map +1 -1
  628. package/dist/visualization.es389.js +10 -15
  629. package/dist/visualization.es389.js.map +1 -1
  630. package/dist/visualization.es39.js +50 -65
  631. package/dist/visualization.es39.js.map +1 -1
  632. package/dist/visualization.es390.js +32 -15
  633. package/dist/visualization.es390.js.map +1 -1
  634. package/dist/visualization.es391.js +5 -2
  635. package/dist/visualization.es391.js.map +1 -1
  636. package/dist/visualization.es392.js +2 -2
  637. package/dist/visualization.es392.js.map +1 -1
  638. package/dist/visualization.es393.js +16 -2
  639. package/dist/visualization.es393.js.map +1 -1
  640. package/dist/visualization.es394.js +24 -4
  641. package/dist/visualization.es394.js.map +1 -1
  642. package/dist/visualization.es395.js +2 -2
  643. package/dist/visualization.es395.js.map +1 -1
  644. package/dist/visualization.es396.js +63 -25
  645. package/dist/visualization.es396.js.map +1 -1
  646. package/dist/visualization.es397.js +2 -22
  647. package/dist/visualization.es397.js.map +1 -1
  648. package/dist/visualization.es398.js +2 -9
  649. package/dist/visualization.es398.js.map +1 -1
  650. package/dist/visualization.es399.js +6 -68
  651. package/dist/visualization.es399.js.map +1 -1
  652. package/dist/visualization.es4.js +6 -6
  653. package/dist/visualization.es40.js +54 -112
  654. package/dist/visualization.es40.js.map +1 -1
  655. package/dist/visualization.es400.js +37 -6
  656. package/dist/visualization.es400.js.map +1 -1
  657. package/dist/visualization.es401.js +21 -29
  658. package/dist/visualization.es401.js.map +1 -1
  659. package/dist/visualization.es402.js +3 -9
  660. package/dist/visualization.es402.js.map +1 -1
  661. package/dist/visualization.es403.js +5 -6
  662. package/dist/visualization.es403.js.map +1 -1
  663. package/dist/visualization.es404.js +5 -2
  664. package/dist/visualization.es404.js.map +1 -1
  665. package/dist/visualization.es405.js +48 -4
  666. package/dist/visualization.es405.js.map +1 -1
  667. package/dist/visualization.es406.js +26 -25
  668. package/dist/visualization.es406.js.map +1 -1
  669. package/dist/visualization.es407.js +16 -10
  670. package/dist/visualization.es407.js.map +1 -1
  671. package/dist/visualization.es408.js +10 -27
  672. package/dist/visualization.es408.js.map +1 -1
  673. package/dist/visualization.es409.js +19 -9
  674. package/dist/visualization.es409.js.map +1 -1
  675. package/dist/visualization.es41.js +41 -46
  676. package/dist/visualization.es41.js.map +1 -1
  677. package/dist/visualization.es410.js +14 -11
  678. package/dist/visualization.es410.js.map +1 -1
  679. package/dist/visualization.es411.js +4 -2
  680. package/dist/visualization.es411.js.map +1 -1
  681. package/dist/visualization.es412.js +13 -16
  682. package/dist/visualization.es412.js.map +1 -1
  683. package/dist/visualization.es413.js +48 -29
  684. package/dist/visualization.es413.js.map +1 -1
  685. package/dist/visualization.es414.js +6 -26
  686. package/dist/visualization.es414.js.map +1 -1
  687. package/dist/visualization.es415.js +13 -2
  688. package/dist/visualization.es415.js.map +1 -1
  689. package/dist/visualization.es416.js +2 -9
  690. package/dist/visualization.es416.js.map +1 -1
  691. package/dist/visualization.es417.js +6 -12
  692. package/dist/visualization.es417.js.map +1 -1
  693. package/dist/visualization.es418.js +209 -22
  694. package/dist/visualization.es418.js.map +1 -1
  695. package/dist/visualization.es419.js +26 -12
  696. package/dist/visualization.es419.js.map +1 -1
  697. package/dist/visualization.es42.js +6 -5
  698. package/dist/visualization.es42.js.map +1 -1
  699. package/dist/visualization.es420.js +4 -3
  700. package/dist/visualization.es420.js.map +1 -1
  701. package/dist/visualization.es421.js +16 -2
  702. package/dist/visualization.es421.js.map +1 -1
  703. package/dist/visualization.es422.js +15 -18
  704. package/dist/visualization.es422.js.map +1 -1
  705. package/dist/visualization.es423.js +15 -4
  706. package/dist/visualization.es423.js.map +1 -1
  707. package/dist/visualization.es424.js +2 -12
  708. package/dist/visualization.es424.js.map +1 -1
  709. package/dist/visualization.es425.js +2 -11
  710. package/dist/visualization.es425.js.map +1 -1
  711. package/dist/visualization.es426.js +2 -7
  712. package/dist/visualization.es426.js.map +1 -1
  713. package/dist/visualization.es427.js +4 -18
  714. package/dist/visualization.es427.js.map +1 -1
  715. package/dist/visualization.es428.js +2 -23
  716. package/dist/visualization.es428.js.map +1 -1
  717. package/dist/visualization.es429.js +25 -12
  718. package/dist/visualization.es429.js.map +1 -1
  719. package/dist/visualization.es43.js +5 -52
  720. package/dist/visualization.es43.js.map +1 -1
  721. package/dist/visualization.es430.js +21 -50
  722. package/dist/visualization.es430.js.map +1 -1
  723. package/dist/visualization.es431.js +9 -18
  724. package/dist/visualization.es431.js.map +1 -1
  725. package/dist/visualization.es432.js +68 -36
  726. package/dist/visualization.es432.js.map +1 -1
  727. package/dist/visualization.es433.js +6 -23
  728. package/dist/visualization.es433.js.map +1 -1
  729. package/dist/visualization.es434.js +29 -32
  730. package/dist/visualization.es434.js.map +1 -1
  731. package/dist/visualization.es435.js +9 -3
  732. package/dist/visualization.es435.js.map +1 -1
  733. package/dist/visualization.es436.js +6 -19
  734. package/dist/visualization.es436.js.map +1 -1
  735. package/dist/visualization.es437.js +2 -14
  736. package/dist/visualization.es437.js.map +1 -1
  737. package/dist/visualization.es438.js +4 -10
  738. package/dist/visualization.es438.js.map +1 -1
  739. package/dist/visualization.es439.js +24 -28
  740. package/dist/visualization.es439.js.map +1 -1
  741. package/dist/visualization.es44.js +18 -55
  742. package/dist/visualization.es44.js.map +1 -1
  743. package/dist/visualization.es440.js +11 -6
  744. package/dist/visualization.es440.js.map +1 -1
  745. package/dist/visualization.es441.js +26 -7
  746. package/dist/visualization.es441.js.map +1 -1
  747. package/dist/visualization.es442.js +10 -2
  748. package/dist/visualization.es442.js.map +1 -1
  749. package/dist/visualization.es443.js +10 -16
  750. package/dist/visualization.es443.js.map +1 -1
  751. package/dist/visualization.es444.js +2 -9
  752. package/dist/visualization.es444.js.map +1 -1
  753. package/dist/visualization.es445.js +16 -10
  754. package/dist/visualization.es445.js.map +1 -1
  755. package/dist/visualization.es446.js +27 -613
  756. package/dist/visualization.es446.js.map +1 -1
  757. package/dist/visualization.es447.js +26 -51
  758. package/dist/visualization.es447.js.map +1 -1
  759. package/dist/visualization.es448.js +2 -13
  760. package/dist/visualization.es448.js.map +1 -1
  761. package/dist/visualization.es449.js +9 -11
  762. package/dist/visualization.es449.js.map +1 -1
  763. package/dist/visualization.es45.js +4 -42
  764. package/dist/visualization.es45.js.map +1 -1
  765. package/dist/visualization.es450.js +12 -22
  766. package/dist/visualization.es450.js.map +1 -1
  767. package/dist/visualization.es451.js +20 -32
  768. package/dist/visualization.es451.js.map +1 -1
  769. package/dist/visualization.es452.js +12 -12
  770. package/dist/visualization.es452.js.map +1 -1
  771. package/dist/visualization.es453.js +3 -20
  772. package/dist/visualization.es453.js.map +1 -1
  773. package/dist/visualization.es454.js +2 -41
  774. package/dist/visualization.es454.js.map +1 -1
  775. package/dist/visualization.es455.js +15 -55
  776. package/dist/visualization.es455.js.map +1 -1
  777. package/dist/visualization.es456.js +3 -18
  778. package/dist/visualization.es456.js.map +1 -1
  779. package/dist/visualization.es457.js +11 -25
  780. package/dist/visualization.es457.js.map +1 -1
  781. package/dist/visualization.es458.js +11 -27
  782. package/dist/visualization.es458.js.map +1 -1
  783. package/dist/visualization.es459.js +6 -42
  784. package/dist/visualization.es459.js.map +1 -1
  785. package/dist/visualization.es46.js +26 -5
  786. package/dist/visualization.es46.js.map +1 -1
  787. package/dist/visualization.es460.js +19 -4
  788. package/dist/visualization.es460.js.map +1 -1
  789. package/dist/visualization.es461.js +23 -3
  790. package/dist/visualization.es461.js.map +1 -1
  791. package/dist/visualization.es462.js +12 -7
  792. package/dist/visualization.es462.js.map +1 -1
  793. package/dist/visualization.es463.js +50 -15
  794. package/dist/visualization.es463.js.map +1 -1
  795. package/dist/visualization.es464.js +18 -2
  796. package/dist/visualization.es464.js.map +1 -1
  797. package/dist/visualization.es465.js +36 -2
  798. package/dist/visualization.es465.js.map +1 -1
  799. package/dist/visualization.es466.js +23 -2
  800. package/dist/visualization.es466.js.map +1 -1
  801. package/dist/visualization.es467.js +31 -53
  802. package/dist/visualization.es467.js.map +1 -1
  803. package/dist/visualization.es468.js +3 -31
  804. package/dist/visualization.es468.js.map +1 -1
  805. package/dist/visualization.es469.js +18 -33
  806. package/dist/visualization.es469.js.map +1 -1
  807. package/dist/visualization.es47.js +30 -4
  808. package/dist/visualization.es47.js.map +1 -1
  809. package/dist/visualization.es470.js +14 -13
  810. package/dist/visualization.es470.js.map +1 -1
  811. package/dist/visualization.es471.js +11 -2
  812. package/dist/visualization.es471.js.map +1 -1
  813. package/dist/visualization.es472.js +28 -8
  814. package/dist/visualization.es472.js.map +1 -1
  815. package/dist/visualization.es473.js +6 -10
  816. package/dist/visualization.es473.js.map +1 -1
  817. package/dist/visualization.es474.js +7 -6
  818. package/dist/visualization.es474.js.map +1 -1
  819. package/dist/visualization.es475.js +2 -9
  820. package/dist/visualization.es475.js.map +1 -1
  821. package/dist/visualization.es476.js +16 -6
  822. package/dist/visualization.es476.js.map +1 -1
  823. package/dist/visualization.es477.js +8 -5
  824. package/dist/visualization.es477.js.map +1 -1
  825. package/dist/visualization.es478.js +9 -14
  826. package/dist/visualization.es478.js.map +1 -1
  827. package/dist/visualization.es479.js +615 -5
  828. package/dist/visualization.es479.js.map +1 -1
  829. package/dist/visualization.es48.js +40 -18
  830. package/dist/visualization.es48.js.map +1 -1
  831. package/dist/visualization.es480.js +50 -6
  832. package/dist/visualization.es480.js.map +1 -1
  833. package/dist/visualization.es481.js +13 -7
  834. package/dist/visualization.es481.js.map +1 -1
  835. package/dist/visualization.es482.js +11 -7
  836. package/dist/visualization.es482.js.map +1 -1
  837. package/dist/visualization.es483.js +23 -4
  838. package/dist/visualization.es483.js.map +1 -1
  839. package/dist/visualization.es484.js +34 -4
  840. package/dist/visualization.es484.js.map +1 -1
  841. package/dist/visualization.es485.js +12 -9
  842. package/dist/visualization.es485.js.map +1 -1
  843. package/dist/visualization.es486.js +18 -29
  844. package/dist/visualization.es486.js.map +1 -1
  845. package/dist/visualization.es487.js +26 -7
  846. package/dist/visualization.es487.js.map +1 -1
  847. package/dist/visualization.es488.js +24 -32
  848. package/dist/visualization.es488.js.map +1 -1
  849. package/dist/visualization.es489.js +42 -3
  850. package/dist/visualization.es489.js.map +1 -1
  851. package/dist/visualization.es49.js +80 -4
  852. package/dist/visualization.es49.js.map +1 -1
  853. package/dist/visualization.es490.js +19 -3
  854. package/dist/visualization.es490.js.map +1 -1
  855. package/dist/visualization.es491.js +40 -6
  856. package/dist/visualization.es491.js.map +1 -1
  857. package/dist/visualization.es492.js +56 -11
  858. package/dist/visualization.es492.js.map +1 -1
  859. package/dist/visualization.es493.js +4 -2
  860. package/dist/visualization.es493.js.map +1 -1
  861. package/dist/visualization.es494.js +3 -4
  862. package/dist/visualization.es494.js.map +1 -1
  863. package/dist/visualization.es495.js +7 -4
  864. package/dist/visualization.es495.js.map +1 -1
  865. package/dist/visualization.es496.js +15 -10
  866. package/dist/visualization.es496.js.map +1 -1
  867. package/dist/visualization.es497.js +2 -26
  868. package/dist/visualization.es497.js.map +1 -1
  869. package/dist/visualization.es498.js +2 -5
  870. package/dist/visualization.es498.js.map +1 -1
  871. package/dist/visualization.es499.js +2 -33
  872. package/dist/visualization.es499.js.map +1 -1
  873. package/dist/visualization.es5.js +10 -10
  874. package/dist/visualization.es50.js +46 -27
  875. package/dist/visualization.es50.js.map +1 -1
  876. package/dist/visualization.es500.js +54 -230
  877. package/dist/visualization.es500.js.map +1 -1
  878. package/dist/visualization.es501.js +203 -958
  879. package/dist/visualization.es501.js.map +1 -1
  880. package/dist/visualization.es502.js +978 -47
  881. package/dist/visualization.es502.js.map +1 -1
  882. package/dist/visualization.es51.js +53 -28
  883. package/dist/visualization.es51.js.map +1 -1
  884. package/dist/visualization.es52.js +6 -35
  885. package/dist/visualization.es52.js.map +1 -1
  886. package/dist/visualization.es522.js +1 -1
  887. package/dist/visualization.es523.js +5 -5
  888. package/dist/visualization.es53.js +10 -41
  889. package/dist/visualization.es53.js.map +1 -1
  890. package/dist/visualization.es532.js +2 -2
  891. package/dist/visualization.es533.js +5 -5
  892. package/dist/visualization.es534.js +3 -3
  893. package/dist/visualization.es535.js +3 -3
  894. package/dist/visualization.es537.js +8 -8
  895. package/dist/visualization.es539.js +1 -1
  896. package/dist/visualization.es54.js +57 -7
  897. package/dist/visualization.es54.js.map +1 -1
  898. package/dist/visualization.es542.js +16 -279
  899. package/dist/visualization.es542.js.map +1 -1
  900. package/dist/visualization.es543.js +282 -2
  901. package/dist/visualization.es543.js.map +1 -1
  902. package/dist/visualization.es544.js +2 -128
  903. package/dist/visualization.es544.js.map +1 -1
  904. package/dist/visualization.es545.js +125 -16
  905. package/dist/visualization.es545.js.map +1 -1
  906. package/dist/visualization.es55.js +65 -43
  907. package/dist/visualization.es55.js.map +1 -1
  908. package/dist/visualization.es56.js +266 -8
  909. package/dist/visualization.es56.js.map +1 -1
  910. package/dist/visualization.es565.js +1 -1
  911. package/dist/visualization.es566.js +2 -2
  912. package/dist/visualization.es567.js +1 -1
  913. package/dist/visualization.es57.js +102 -69
  914. package/dist/visualization.es57.js.map +1 -1
  915. package/dist/visualization.es575.js +9 -32
  916. package/dist/visualization.es575.js.map +1 -1
  917. package/dist/visualization.es576.js +9 -13
  918. package/dist/visualization.es576.js.map +1 -1
  919. package/dist/visualization.es577.js +16 -70
  920. package/dist/visualization.es577.js.map +1 -1
  921. package/dist/visualization.es578.js +7 -29
  922. package/dist/visualization.es578.js.map +1 -1
  923. package/dist/visualization.es579.js +7 -5
  924. package/dist/visualization.es579.js.map +1 -1
  925. package/dist/visualization.es58.js +28 -12
  926. package/dist/visualization.es58.js.map +1 -1
  927. package/dist/visualization.es580.js +32 -25
  928. package/dist/visualization.es580.js.map +1 -1
  929. package/dist/visualization.es581.js +13 -11
  930. package/dist/visualization.es581.js.map +1 -1
  931. package/dist/visualization.es582.js +72 -4
  932. package/dist/visualization.es582.js.map +1 -1
  933. package/dist/visualization.es583.js +29 -4
  934. package/dist/visualization.es583.js.map +1 -1
  935. package/dist/visualization.es584.js +5 -4
  936. package/dist/visualization.es584.js.map +1 -1
  937. package/dist/visualization.es585.js +26 -13
  938. package/dist/visualization.es585.js.map +1 -1
  939. package/dist/visualization.es586.js +11 -17
  940. package/dist/visualization.es586.js.map +1 -1
  941. package/dist/visualization.es587.js +4 -13
  942. package/dist/visualization.es587.js.map +1 -1
  943. package/dist/visualization.es588.js +4 -13
  944. package/dist/visualization.es588.js.map +1 -1
  945. package/dist/visualization.es589.js +4 -8
  946. package/dist/visualization.es589.js.map +1 -1
  947. package/dist/visualization.es59.js +21 -33
  948. package/dist/visualization.es59.js.map +1 -1
  949. package/dist/visualization.es590.js +11 -11
  950. package/dist/visualization.es590.js.map +1 -1
  951. package/dist/visualization.es591.js +17 -24
  952. package/dist/visualization.es591.js.map +1 -1
  953. package/dist/visualization.es592.js +12 -18
  954. package/dist/visualization.es592.js.map +1 -1
  955. package/dist/visualization.es593.js +14 -7
  956. package/dist/visualization.es593.js.map +1 -1
  957. package/dist/visualization.es594.js +9 -6
  958. package/dist/visualization.es594.js.map +1 -1
  959. package/dist/visualization.es595.js +12 -3
  960. package/dist/visualization.es595.js.map +1 -1
  961. package/dist/visualization.es596.js +24 -7
  962. package/dist/visualization.es596.js.map +1 -1
  963. package/dist/visualization.es597.js +19 -7
  964. package/dist/visualization.es597.js.map +1 -1
  965. package/dist/visualization.es598.js +7 -65
  966. package/dist/visualization.es598.js.map +1 -1
  967. package/dist/visualization.es599.js +6 -10
  968. package/dist/visualization.es599.js.map +1 -1
  969. package/dist/visualization.es6.js +15 -15
  970. package/dist/visualization.es60.js +18 -29
  971. package/dist/visualization.es60.js.map +1 -1
  972. package/dist/visualization.es600.js +3 -9
  973. package/dist/visualization.es600.js.map +1 -1
  974. package/dist/visualization.es601.js +64 -18
  975. package/dist/visualization.es601.js.map +1 -1
  976. package/dist/visualization.es603.js +4 -290
  977. package/dist/visualization.es603.js.map +1 -1
  978. package/dist/visualization.es604.js +8 -4
  979. package/dist/visualization.es604.js.map +1 -1
  980. package/dist/visualization.es605.js +4 -6
  981. package/dist/visualization.es605.js.map +1 -1
  982. package/dist/visualization.es606.js +289 -5
  983. package/dist/visualization.es606.js.map +1 -1
  984. package/dist/visualization.es607.js +1 -1
  985. package/dist/visualization.es608.js +1 -1
  986. package/dist/visualization.es609.js +3 -3
  987. package/dist/visualization.es609.js.map +1 -1
  988. package/dist/visualization.es61.js +20 -64
  989. package/dist/visualization.es61.js.map +1 -1
  990. package/dist/visualization.es610.js +11 -5
  991. package/dist/visualization.es610.js.map +1 -1
  992. package/dist/visualization.es611.js +3 -3
  993. package/dist/visualization.es611.js.map +1 -1
  994. package/dist/visualization.es612.js +3 -13
  995. package/dist/visualization.es612.js.map +1 -1
  996. package/dist/visualization.es613.js +5 -3
  997. package/dist/visualization.es613.js.map +1 -1
  998. package/dist/visualization.es614.js +13 -11
  999. package/dist/visualization.es614.js.map +1 -1
  1000. package/dist/visualization.es616.js +1 -1
  1001. package/dist/visualization.es62.js +69 -61
  1002. package/dist/visualization.es62.js.map +1 -1
  1003. package/dist/visualization.es626.js +1 -1
  1004. package/dist/visualization.es628.js +1 -1
  1005. package/dist/visualization.es629.js +1 -1
  1006. package/dist/visualization.es63.js +79 -4
  1007. package/dist/visualization.es63.js.map +1 -1
  1008. package/dist/visualization.es64.js +9 -45
  1009. package/dist/visualization.es64.js.map +1 -1
  1010. package/dist/visualization.es65.js +58 -4
  1011. package/dist/visualization.es65.js.map +1 -1
  1012. package/dist/visualization.es66.js +47 -282
  1013. package/dist/visualization.es66.js.map +1 -1
  1014. package/dist/visualization.es67.js +45 -19
  1015. package/dist/visualization.es67.js.map +1 -1
  1016. package/dist/visualization.es68.js +18 -37
  1017. package/dist/visualization.es68.js.map +1 -1
  1018. package/dist/visualization.es69.js +110 -75
  1019. package/dist/visualization.es69.js.map +1 -1
  1020. package/dist/visualization.es7.js +11 -11
  1021. package/dist/visualization.es70.js +97 -45
  1022. package/dist/visualization.es70.js.map +1 -1
  1023. package/dist/visualization.es71.js +34 -55
  1024. package/dist/visualization.es71.js.map +1 -1
  1025. package/dist/visualization.es72.js +54 -6
  1026. package/dist/visualization.es72.js.map +1 -1
  1027. package/dist/visualization.es73.js +18701 -12
  1028. package/dist/visualization.es73.js.map +1 -1
  1029. package/dist/visualization.es74.js +5 -58
  1030. package/dist/visualization.es74.js.map +1 -1
  1031. package/dist/visualization.es75.js +5 -18702
  1032. package/dist/visualization.es75.js.map +1 -1
  1033. package/dist/visualization.es76.js +60 -5
  1034. package/dist/visualization.es76.js.map +1 -1
  1035. package/dist/visualization.es77.js +811 -5
  1036. package/dist/visualization.es77.js.map +1 -1
  1037. package/dist/visualization.es79.js +130 -810
  1038. package/dist/visualization.es79.js.map +1 -1
  1039. package/dist/visualization.es8.js +13 -13
  1040. package/dist/visualization.es80.js +32 -0
  1041. package/dist/visualization.es80.js.map +1 -0
  1042. package/dist/visualization.es81.js +62 -128
  1043. package/dist/visualization.es81.js.map +1 -1
  1044. package/dist/visualization.es82.js +61 -65
  1045. package/dist/visualization.es82.js.map +1 -1
  1046. package/dist/visualization.es83.js +4 -247
  1047. package/dist/visualization.es83.js.map +1 -1
  1048. package/dist/visualization.es84.js +46 -96
  1049. package/dist/visualization.es84.js.map +1 -1
  1050. package/dist/visualization.es85.js +4 -28
  1051. package/dist/visualization.es85.js.map +1 -1
  1052. package/dist/visualization.es86.js +280 -21
  1053. package/dist/visualization.es86.js.map +1 -1
  1054. package/dist/visualization.es87.js +19 -18
  1055. package/dist/visualization.es87.js.map +1 -1
  1056. package/dist/visualization.es88.js +62 -19
  1057. package/dist/visualization.es88.js.map +1 -1
  1058. package/dist/visualization.es89.js +8 -70
  1059. package/dist/visualization.es89.js.map +1 -1
  1060. package/dist/visualization.es9.js +1 -1
  1061. package/dist/visualization.es90.js +8 -57
  1062. package/dist/visualization.es90.js.map +1 -1
  1063. package/dist/visualization.es91.js +13 -5
  1064. package/dist/visualization.es91.js.map +1 -1
  1065. package/dist/visualization.es92.js +74 -5
  1066. package/dist/visualization.es92.js.map +1 -1
  1067. package/dist/visualization.es93.js +33 -5
  1068. package/dist/visualization.es93.js.map +1 -1
  1069. package/dist/visualization.es94.js +12 -14
  1070. package/dist/visualization.es94.js.map +1 -1
  1071. package/dist/visualization.es95.js +5 -15
  1072. package/dist/visualization.es95.js.map +1 -1
  1073. package/dist/visualization.es96.js +5 -64
  1074. package/dist/visualization.es96.js.map +1 -1
  1075. package/dist/visualization.es97.js +5 -61
  1076. package/dist/visualization.es97.js.map +1 -1
  1077. package/dist/visualization.es98.js +14 -12
  1078. package/dist/visualization.es98.js.map +1 -1
  1079. package/dist/visualization.es99.js +15 -74
  1080. package/dist/visualization.es99.js.map +1 -1
  1081. package/package.json +1 -1
  1082. package/dist/visualization.es78.js +0 -63
  1083. package/dist/visualization.es78.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es81.js","sources":["../src/components/Graph/ControlPanel.tsx"],"sourcesContent":["import React, { CSSProperties, useState } from 'react';\nimport { Node, Edge } from './types';\nimport Button from '@mui/material/Button';\nimport Legend from './Legend';\nimport ScaleLegend from './ScaleLegend';\nimport KeyboardDoubleArrowRightIcon from '@mui/icons-material/KeyboardDoubleArrowRight';\nimport KeyboardDoubleArrowLeftIcon from '@mui/icons-material/KeyboardDoubleArrowLeft';\nimport Stack from '@mui/material/Stack';\nimport { Typography } from '@mui/material';\nimport DownloadIcon from '@mui/icons-material/Download';\nimport ShuffleIcon from '@mui/icons-material/Shuffle';\nimport LabelIcon from '@mui/icons-material/Label';\nimport LabelOffIcon from '@mui/icons-material/LabelOff';\nimport InsightsIcon from '@mui/icons-material/Insights';\nimport Tooltip from '@mui/material/Tooltip';\nimport Paper from '@mui/material/Paper';\n\ninterface ControlPanelProps {\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 scales: number[];\n scaleWidth: (n: number) => number;\n downloadScreenshot: () => void;\n randomize: () => void;\n organize: () => void;\n toggleLabels: () => void;\n labelsOn: boolean;\n legendToggle?: (node: Node | Edge) => string;\n legendNodeLabel?: string;\n legendEdgeLabel?: string;\n uniqueCat?: string[];\n scaleLabel?: string;\n}\n\nconst ControlPanel: React.FC<ControlPanelProps> = ({\n toggles,\n onToggle,\n simpleCategories,\n edgeType,\n colorFunc,\n elements,\n edges,\n scales,\n scaleWidth,\n downloadScreenshot,\n randomize,\n organize,\n toggleLabels,\n labelsOn,\n legendToggle,\n legendNodeLabel,\n legendEdgeLabel,\n uniqueCat,\n scaleLabel,\n}) => {\n const [collapsed, setCollapsed] = useState(false);\n\n const panelStyle: CSSProperties = {\n position: 'absolute',\n top: '0',\n right: '0',\n width: collapsed ? '40px' : '250px',\n backgroundColor: 'white',\n transition: 'width 0.3s',\n zIndex: 1000,\n overflowX: 'hidden',\n marginRight: '5px',\n marginTop: '5px',\n overflowY: 'auto',\n maxHeight: '100vh',\n };\n\n const buttonStyle: CSSProperties = {\n width: collapsed ? '0px' : '10px',\n height: '40px',\n display: 'inline-block',\n alignItems: 'left',\n justifyContent: 'left',\n cursor: 'pointer',\n padding: '0px',\n };\n\n return (\n <Paper style={panelStyle} elevation={3}>\n <Button\n onClick={() => setCollapsed(!collapsed)}\n fullWidth\n sx={{ typography: 'body2', textTransform: 'none' }}\n style={buttonStyle}\n >\n {collapsed ? (\n <KeyboardDoubleArrowLeftIcon style={{ marginLeft: '-27px' }} />\n ) : (\n <KeyboardDoubleArrowRightIcon style={{ marginRight: '30px' }} />\n )}\n </Button>\n\n {!collapsed && (\n <>\n <Typography\n variant=\"body2\"\n style={{\n fontSize: '20px',\n marginLeft: '22px',\n marginTop: '5px',\n justifyContent: 'center',\n alignItems: 'center',\n display: 'inline-block',\n }}\n >\n Controls\n </Typography>\n <Stack spacing={1}>\n <Legend\n toggles={toggles}\n onToggle={onToggle}\n simpleCategories={simpleCategories}\n edgeType={edgeType}\n colorFunc={colorFunc}\n elements={elements}\n edges={edges}\n legendToggle={legendToggle}\n legendNodeLabel={legendNodeLabel}\n legendEdgeLabel={legendEdgeLabel}\n uniqueCat={uniqueCat}\n />\n\n <ScaleLegend\n scales={scales}\n width={scaleWidth}\n scaleLabel={scaleLabel}\n />\n\n <Stack direction=\"row\" spacing={2} style={{ marginBottom: '5px' }}>\n <Button\n onClick={downloadScreenshot}\n style={{ fontSize: 'small', minWidth: '40px' }}\n >\n <Tooltip\n title=\"Download\"\n color=\"primary\"\n sx={{ ml: 1 }}\n placement=\"bottom\"\n >\n <DownloadIcon />\n </Tooltip>\n </Button>\n <Button\n onClick={randomize}\n style={{ fontSize: 'small', minWidth: '40px' }}\n >\n <Tooltip\n title=\"Randomize\"\n color=\"primary\"\n sx={{ ml: 1 }}\n placement=\"bottom\"\n >\n <ShuffleIcon />\n </Tooltip>\n </Button>\n <Button\n onClick={organize}\n style={{ fontSize: 'small', minWidth: '40px' }}\n >\n <Tooltip\n title=\"Organize\"\n color=\"primary\"\n sx={{ ml: 1 }}\n placement=\"bottom\"\n >\n <InsightsIcon />\n </Tooltip>\n </Button>\n <Button\n onClick={toggleLabels}\n style={{ fontSize: 'small', minWidth: '40px' }}\n >\n <Tooltip\n title=\"Toggle Labels\"\n color=\"primary\"\n sx={{ ml: 1 }}\n placement=\"bottom\"\n >\n {labelsOn ? <LabelOffIcon /> : <LabelIcon />}\n </Tooltip>\n </Button>\n </Stack>\n </Stack>\n </>\n )}\n </Paper>\n );\n};\n\nexport default ControlPanel;\n"],"names":["ControlPanel","t0","$","_c","toggles","onToggle","simpleCategories","edgeType","colorFunc","elements","edges","scales","scaleWidth","downloadScreenshot","randomize","organize","toggleLabels","labelsOn","legendToggle","legendNodeLabel","legendEdgeLabel","uniqueCat","scaleLabel","collapsed","setCollapsed","useState","t1","t2","position","top","right","width","backgroundColor","transition","zIndex","overflowX","marginRight","marginTop","overflowY","maxHeight","panelStyle","t3","t4","height","display","alignItems","justifyContent","cursor","padding","buttonStyle","t5","t6","Symbol","for","typography","textTransform","t7","jsx","KeyboardDoubleArrowLeftIcon","marginLeft","KeyboardDoubleArrowRightIcon","t8","Button","t9","jsxs","Fragment","Typography","fontSize","Stack","Legend","ScaleLegend","marginBottom","minWidth","Tooltip","ml","DownloadIcon","ShuffleIcon","InsightsIcon","LabelOffIcon","LabelIcon","t10","Paper"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es81.js","sources":["../src/components/PhyloTree/RenderTree.tsx"],"sourcesContent":["import { PhyloTreeProps, TreeNode } from \"./types\";\nimport { TreeLink } from \"./TreeLink\";\nimport { memo } from \"react\";\nimport { LeafLinkExtension } from \"./LeafLinkExtension\";\nimport { LeafNodeLabel } from \"./LeafNodeLabel\";\n\ntype Shared = {\n node: TreeNode;\n useBranchLengths: boolean;\n leafFontSize: PhyloTreeProps[\"leafFontSize\"];\n leafFontFamily: PhyloTreeProps[\"leafFontFamily\"];\n onNodeMouseMove: (event: React.MouseEvent, node: TreeNode) => void;\n onNodeMouseLeave: (event: React.MouseEvent, node: TreeNode) => void;\n onBranchClick: (leafIds: string[]) => void;\n};\n\nexport type RenderTreeProps = Shared & {\n hovered: string[];\n};\n\nexport type RenderChildProps = Shared & {\n dimmed: boolean;\n};\n\nconst ChildNode = memo(\n ({ node, dimmed, useBranchLengths, leafFontFamily, leafFontSize, onNodeMouseMove, onNodeMouseLeave, onBranchClick }: RenderChildProps) => {\n return (\n <g\n onMouseMove={(e: React.MouseEvent) => onNodeMouseMove(e, node)}\n onMouseLeave={(e: React.MouseEvent) => onNodeMouseLeave(e, node)}\n onClick={() => onBranchClick(node.leaves().map(x => x.data.id))}\n id={node.data.id}\n opacity={dimmed ? 0.2 : 1}\n style={{ transition: \"opacity 0.2s ease-in\" }}\n >\n <TreeLink\n scaledLinkPath={node.scaledLinkPath}\n baseLinkPath={node.baseLinkPath}\n color={node.color}\n strokeWidth={node.linkStrokeWidth}\n useBranchLengths={useBranchLengths}\n />\n {!node.children && (\n <>\n <LeafLinkExtension\n useBranchLengths={useBranchLengths}\n color={node.lightenedLinkExtColor}\n baseLeafLinkExtension={node.baseLeafLinkExtension}\n scaledLeafLinkExtension={node.scaledLeafLinkExtension}\n strokeWidth={node.linkStrokeWidth}\n />\n <LeafNodeLabel\n nodeX={node.x}\n strokeWidth={node.labelStrokeWidth}\n baseNodeX={node.baseNodeX}\n baseNodeY={node.baseNodeY}\n label={node.label}\n color={node.color}\n fontSize={leafFontSize}\n fontFamily={leafFontFamily}\n />\n </>\n )}\n </g>\n );\n }\n);\n\nexport const RenderTree = memo(function RenderTree({\n node,\n hovered,\n useBranchLengths,\n onNodeMouseMove,\n onNodeMouseLeave,\n onBranchClick,\n leafFontSize,\n leafFontFamily,\n}: RenderTreeProps) {\n return (\n <g id={\"tree-root\"}>\n {/* no root node rendered (since root does not need to display link to parent) */}\n {node.descendants()?.map((child, i) => {\n if (!child.parent) return;\n //This is done to elimate a .ancestors() and .descendants() traversal on every rerender\n const dimmed = !!hovered.length && !(hovered.some(id => child.descendantIds?.has(id) || child.ancestorIds?.has(id)));\n\n return (\n <ChildNode\n key={i}\n node={child}\n dimmed={dimmed}\n useBranchLengths={useBranchLengths}\n leafFontSize={leafFontSize}\n leafFontFamily={leafFontFamily}\n onBranchClick={onBranchClick}\n onNodeMouseMove={onNodeMouseMove}\n onNodeMouseLeave={onNodeMouseLeave}\n />\n );\n })}\n </g>\n );\n}, );\n"],"names":["ChildNode","memo","t0","$","_c","node","dimmed","useBranchLengths","leafFontFamily","leafFontSize","onNodeMouseMove","onNodeMouseLeave","onBranchClick","t1","e","t2","e_0","t3","leaves","map","_temp","t4","t5","Symbol","for","transition","t6","baseLinkPath","color","linkStrokeWidth","scaledLinkPath","TreeLink","t7","baseLeafLinkExtension","baseNodeX","baseNodeY","children","label","labelStrokeWidth","lightenedLinkExtColor","scaledLeafLinkExtension","x","jsxs","Fragment","jsx","LeafLinkExtension","LeafNodeLabel","t8","data","id","RenderTree","hovered","descendants","child","i","parent","length","some","descendantIds","has","ancestorIds"],"mappings":"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"}
@@ -1,69 +1,65 @@
1
- import { jsxs as E, jsx as e, Fragment as D } from "react/jsx-runtime";
2
- import { c as R } from "react/compiler-runtime";
3
- import { useEffect as I } from "react";
4
- import { Stack as L, Tooltip as i, IconButton as a } from "@mui/material";
5
- import { BackHand as Z, Edit as j, Add as F, Remove as P, SettingsBackupRestore as T, Download as $ } from "@mui/icons-material";
6
- import { useTheme as K } from "@mui/material/styles";
7
- const V = (x) => {
8
- const t = R(7), {
9
- selectable: n,
10
- resetable: k,
11
- handleSelectionModeChange: l,
12
- selectMode: o,
13
- zoomIn: w,
14
- zoomOut: S,
15
- zoomReset: y,
16
- highlight: g,
17
- downloadButton: z,
18
- downloadPlot: C
19
- } = x, c = K(), b = g ?? c.palette.primary.main, d = {
20
- borderRadius: 0,
21
- color: c.palette.text.primary,
22
- padding: c.spacing(1)
23
- };
24
- let s, m;
25
- t[0] !== l || t[1] !== o || t[2] !== n ? (s = () => {
26
- const r = (v) => {
27
- if (v.key === "Shift" && n && o === "select") {
28
- l("pan");
29
- const u = (B) => {
30
- B.key === "Shift" && n && l("select");
31
- };
32
- return window.addEventListener("keyup", u), () => {
33
- window.removeEventListener("keyup", u);
34
- };
35
- }
36
- };
37
- return window.addEventListener("keydown", r), () => {
38
- window.removeEventListener("keydown", r);
39
- };
40
- }, m = [l, o, n], t[0] = l, t[1] = o, t[2] = n, t[3] = s, t[4] = m) : (s = t[3], m = t[4]), I(s, m);
41
- const f = (r) => ({
42
- ...d,
43
- color: o === r ? g || "primary.main" : c.palette.text.primary,
44
- backgroundColor: o === r ? `color-mix(in srgb, ${b} 15%, transparent)` : "transparent",
45
- "&:hover": {
46
- backgroundColor: o === r ? `color-mix(in srgb, ${b} 25%, transparent)` : c.palette.action.hover
47
- }
48
- }), h = o !== "none" && /* @__PURE__ */ E(L, { direction: "column", alignItems: "flex-start", justifyContent: "center", sx: {
49
- background: "rgba(255, 255, 255, 0.6)",
50
- backdropFilter: "blur(2px)",
51
- WebkitBackdropFilter: "blur(2px)",
52
- border: "1px solid rgba(255, 255, 255, 0.3)",
53
- boxShadow: "0 2px 8px rgba(0, 0, 0, 0.1)",
54
- overflow: "hidden"
55
- }, children: [
56
- n && /* @__PURE__ */ e(i, { title: "Drag to pan, or hold Shift and drag", placement: "right", children: /* @__PURE__ */ e(a, { "aria-label": "pan", onClick: () => l("pan"), sx: f("pan"), children: /* @__PURE__ */ e(Z, { fontSize: "small" }) }) }),
57
- n && /* @__PURE__ */ e(i, { title: "Drag to select", placement: "right", children: /* @__PURE__ */ e(a, { "aria-label": "edit", onClick: () => l("select"), sx: f("select"), children: /* @__PURE__ */ e(j, { fontSize: "small" }) }) }),
58
- /* @__PURE__ */ e(i, { title: "Zoom In", placement: "right", children: /* @__PURE__ */ e(a, { "aria-label": "zoom-in", onClick: w, sx: d, children: /* @__PURE__ */ e(F, { fontSize: "small" }) }) }),
59
- /* @__PURE__ */ e(i, { title: "Zoom Out", placement: "right", children: /* @__PURE__ */ e(a, { "aria-label": "zoom-out", onClick: S, sx: d, children: /* @__PURE__ */ e(P, { fontSize: "small" }) }) }),
60
- /* @__PURE__ */ e(i, { title: "Reset Zoom and Pan", placement: "right", children: /* @__PURE__ */ e(a, { "aria-label": "resetZoom", onClick: y, disabled: !k, sx: d, children: /* @__PURE__ */ e(T, { fontSize: "small" }) }) }),
61
- z && /* @__PURE__ */ e(i, { title: "Download Plot as SVG", placement: "right", children: /* @__PURE__ */ e(a, { "aria-label": "download", onClick: () => C(), sx: d, children: /* @__PURE__ */ e($, { fontSize: "small" }) }) })
62
- ] });
63
- let p;
64
- return t[5] !== h ? (p = /* @__PURE__ */ e(D, { children: h }), t[5] = h, t[6] = p) : p = t[6], p;
1
+ import m from "./visualization.es207.js";
2
+ import c from "./visualization.es208.js";
3
+ import s from "./visualization.es209.js";
4
+ import u from "./visualization.es210.js";
5
+ import l from "./visualization.es211.js";
6
+ import _ from "./visualization.es212.js";
7
+ import y from "./visualization.es213.js";
8
+ import v from "./visualization.es214.js";
9
+ import g from "./visualization.es215.js";
10
+ import A from "./visualization.es216.js";
11
+ import w from "./visualization.es217.js";
12
+ import B from "./visualization.es218.js";
13
+ import b from "./visualization.es219.js";
14
+ function d(e, o) {
15
+ e instanceof Map ? (e = [void 0, e], o === void 0 && (o = j)) : o === void 0 && (o = C);
16
+ for (var f = new i(e), r, h = [f], a, t, n, p; r = h.pop(); )
17
+ if ((t = o(r.data)) && (p = (t = Array.from(t)).length))
18
+ for (r.children = t, n = p - 1; n >= 0; --n)
19
+ h.push(a = t[n] = new i(t[n])), a.parent = r, a.depth = r.depth + 1;
20
+ return f.eachBefore(D);
21
+ }
22
+ function k() {
23
+ return d(this).eachBefore(x);
24
+ }
25
+ function C(e) {
26
+ return e.children;
27
+ }
28
+ function j(e) {
29
+ return Array.isArray(e) ? e[1] : null;
30
+ }
31
+ function x(e) {
32
+ e.data.value !== void 0 && (e.value = e.data.value), e.data = e.data.data;
33
+ }
34
+ function D(e) {
35
+ var o = 0;
36
+ do
37
+ e.height = o;
38
+ while ((e = e.parent) && e.height < ++o);
39
+ }
40
+ function i(e) {
41
+ this.data = e, this.depth = this.height = 0, this.parent = null;
42
+ }
43
+ i.prototype = d.prototype = {
44
+ constructor: i,
45
+ count: m,
46
+ each: c,
47
+ eachAfter: u,
48
+ eachBefore: s,
49
+ find: l,
50
+ sum: _,
51
+ sort: y,
52
+ path: v,
53
+ ancestors: g,
54
+ descendants: A,
55
+ leaves: w,
56
+ links: B,
57
+ copy: k,
58
+ [Symbol.iterator]: b
65
59
  };
66
60
  export {
67
- V as default
61
+ i as Node,
62
+ D as computeHeight,
63
+ d as default
68
64
  };
69
65
  //# sourceMappingURL=visualization.es82.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es82.js","sources":["../src/components/ScatterPlot/controls.tsx"],"sourcesContent":["import { useEffect } from \"react\";\nimport { ControlButtonsProps } from \"./types\";\nimport { IconButton, Stack, Tooltip } from \"@mui/material\";\nimport { Add, Remove, BackHand, Edit, SettingsBackupRestore, Download } from \"@mui/icons-material\"\nimport { useTheme } from \"@mui/material/styles\";\n\nconst ControlButtons = ({\n selectable,\n resetable,\n handleSelectionModeChange,\n selectMode,\n zoomIn,\n zoomOut,\n zoomReset,\n highlight,\n downloadButton,\n downloadPlot\n}: ControlButtonsProps) => {\n const theme = useTheme();\n const color = highlight ?? theme.palette.primary.main;\n const tooltipPlacement = \"right\";\n \n const buttonSx = {\n borderRadius: 0,\n color: theme.palette.text.primary,\n padding: theme.spacing(1),\n };\n\n useEffect(() => {\n // Function to handle key press\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Shift' && selectable && selectMode === \"select\") {\n handleSelectionModeChange('pan'); // Switch to pan mode when Shift is pressed\n\n // Function to handle key release\n const handleKeyUp = (e: KeyboardEvent) => {\n if (e.key === 'Shift' && selectable) {\n handleSelectionModeChange('select'); // Switch back to select mode when Shift is released\n }\n };\n\n window.addEventListener('keyup', handleKeyUp);\n return () => {\n window.removeEventListener('keyup', handleKeyUp);\n };\n }\n };\n\n // Add event listeners for key press and release\n window.addEventListener('keydown', handleKeyDown);\n\n // Clean up event listeners on unmount\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [handleSelectionModeChange, selectMode, selectable]);\n\n const getToggleButtonSx = (mode: \"pan\" | \"select\") => ({\n ...buttonSx,\n color: selectMode === mode ? highlight || \"primary.main\" : theme.palette.text.primary,\n backgroundColor: selectMode === mode\n ? `color-mix(in srgb, ${color} 15%, transparent)`\n : \"transparent\",\n '&:hover': {\n backgroundColor: selectMode === mode\n ? `color-mix(in srgb, ${color} 25%, transparent)`\n : theme.palette.action.hover,\n },\n });\n\n return (\n <>\n {selectMode !== \"none\" && (\n <Stack\n direction=\"column\"\n alignItems=\"flex-start\"\n justifyContent={\"center\"}\n sx={{\n background: \"rgba(255, 255, 255, 0.6)\",\n backdropFilter: \"blur(2px)\",\n WebkitBackdropFilter: \"blur(2px)\",\n border: \"1px solid rgba(255, 255, 255, 0.3)\",\n boxShadow: \"0 2px 8px rgba(0, 0, 0, 0.1)\",\n overflow: \"hidden\",\n }}\n >\n {\n selectable && (\n <Tooltip title=\"Drag to pan, or hold Shift and drag\" placement={tooltipPlacement}>\n <IconButton\n aria-label=\"pan\"\n onClick={() => handleSelectionModeChange('pan')}\n sx={getToggleButtonSx(\"pan\")}\n >\n <BackHand fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n )\n }\n {\n selectable && (\n <Tooltip title=\"Drag to select\" placement={tooltipPlacement}>\n <IconButton\n aria-label=\"edit\"\n onClick={() => handleSelectionModeChange('select')}\n sx={getToggleButtonSx(\"select\")}\n >\n <Edit fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n )\n }\n <Tooltip title=\"Zoom In\" placement={tooltipPlacement}>\n <IconButton aria-label=\"zoom-in\" onClick={zoomIn} sx={buttonSx}>\n <Add fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Zoom Out\" placement={tooltipPlacement}>\n <IconButton aria-label=\"zoom-out\" onClick={zoomOut} sx={buttonSx}>\n <Remove fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n <Tooltip title=\"Reset Zoom and Pan\" placement={tooltipPlacement}>\n <IconButton aria-label=\"resetZoom\" onClick={zoomReset} disabled={!resetable} sx={buttonSx}>\n <SettingsBackupRestore fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n {downloadButton && (\n <Tooltip title=\"Download Plot as SVG\" placement={tooltipPlacement}>\n <IconButton aria-label=\"download\" onClick={() => downloadPlot()} sx={buttonSx}>\n <Download fontSize=\"small\" />\n </IconButton>\n </Tooltip>\n )}\n </Stack>\n )}\n </>\n\n );\n}\n\nexport default ControlButtons;\n"],"names":["ControlButtons","t0","$","_c","selectable","resetable","handleSelectionModeChange","selectMode","zoomIn","zoomOut","zoomReset","highlight","downloadButton","downloadPlot","theme","useTheme","color","palette","primary","main","buttonSx","borderRadius","text","padding","spacing","t1","t2","handleKeyDown","e","key","handleKeyUp","e_0","window","addEventListener","removeEventListener","useEffect","getToggleButtonSx","mode","backgroundColor","action","hover","t3","jsxs","Stack","background","backdropFilter","WebkitBackdropFilter","border","boxShadow","overflow","jsx","Tooltip","tooltipPlacement","IconButton","BackHand","Edit","Add","Remove","SettingsBackupRestore","Download","t4"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es82.js","sources":["../../../node_modules/.pnpm/d3-hierarchy@3.1.2/node_modules/d3-hierarchy/src/hierarchy/index.js"],"sourcesContent":["import node_count from \"./count.js\";\nimport node_each from \"./each.js\";\nimport node_eachBefore from \"./eachBefore.js\";\nimport node_eachAfter from \"./eachAfter.js\";\nimport node_find from \"./find.js\";\nimport node_sum from \"./sum.js\";\nimport node_sort from \"./sort.js\";\nimport node_path from \"./path.js\";\nimport node_ancestors from \"./ancestors.js\";\nimport node_descendants from \"./descendants.js\";\nimport node_leaves from \"./leaves.js\";\nimport node_links from \"./links.js\";\nimport node_iterator from \"./iterator.js\";\n\nexport default function hierarchy(data, children) {\n if (data instanceof Map) {\n data = [undefined, data];\n if (children === undefined) children = mapChildren;\n } else if (children === undefined) {\n children = objectChildren;\n }\n\n var root = new Node(data),\n node,\n nodes = [root],\n child,\n childs,\n i,\n n;\n\n while (node = nodes.pop()) {\n if ((childs = children(node.data)) && (n = (childs = Array.from(childs)).length)) {\n node.children = childs;\n for (i = n - 1; i >= 0; --i) {\n nodes.push(child = childs[i] = new Node(childs[i]));\n child.parent = node;\n child.depth = node.depth + 1;\n }\n }\n }\n\n return root.eachBefore(computeHeight);\n}\n\nfunction node_copy() {\n return hierarchy(this).eachBefore(copyData);\n}\n\nfunction objectChildren(d) {\n return d.children;\n}\n\nfunction mapChildren(d) {\n return Array.isArray(d) ? d[1] : null;\n}\n\nfunction copyData(node) {\n if (node.data.value !== undefined) node.value = node.data.value;\n node.data = node.data.data;\n}\n\nexport function computeHeight(node) {\n var height = 0;\n do node.height = height;\n while ((node = node.parent) && (node.height < ++height));\n}\n\nexport function Node(data) {\n this.data = data;\n this.depth =\n this.height = 0;\n this.parent = null;\n}\n\nNode.prototype = hierarchy.prototype = {\n constructor: Node,\n count: node_count,\n each: node_each,\n eachAfter: node_eachAfter,\n eachBefore: node_eachBefore,\n find: node_find,\n sum: node_sum,\n sort: node_sort,\n path: node_path,\n ancestors: node_ancestors,\n descendants: node_descendants,\n leaves: node_leaves,\n links: node_links,\n copy: node_copy,\n [Symbol.iterator]: node_iterator\n};\n"],"names":["hierarchy","data","children","mapChildren","objectChildren","root","Node","node","nodes","child","childs","i","n","computeHeight","node_copy","copyData","d","height","node_count","node_each","node_eachAfter","node_eachBefore","node_find","node_sum","node_sort","node_path","node_ancestors","node_descendants","node_leaves","node_links","node_iterator"],"mappings":";;;;;;;;;;;;;AAce,SAASA,EAAUC,GAAMC,GAAU;AAChD,EAAID,aAAgB,OAClBA,IAAO,CAAC,QAAWA,CAAI,GACnBC,MAAa,WAAWA,IAAWC,MAC9BD,MAAa,WACtBA,IAAWE;AAWb,WARIC,IAAO,IAAIC,EAAKL,CAAI,GACpBM,GACAC,IAAQ,CAACH,CAAI,GACbI,GACAC,GACAC,GACAC,GAEGL,IAAOC,EAAM;AAClB,SAAKE,IAASR,EAASK,EAAK,IAAI,OAAOK,KAAKF,IAAS,MAAM,KAAKA,CAAM,GAAG;AAEvE,WADAH,EAAK,WAAWG,GACXC,IAAIC,IAAI,GAAGD,KAAK,GAAG,EAAEA;AACxB,QAAAH,EAAM,KAAKC,IAAQC,EAAOC,CAAC,IAAI,IAAIL,EAAKI,EAAOC,CAAC,CAAC,CAAC,GAClDF,EAAM,SAASF,GACfE,EAAM,QAAQF,EAAK,QAAQ;AAKjC,SAAOF,EAAK,WAAWQ,CAAa;AACtC;AAEA,SAASC,IAAY;AACnB,SAAOd,EAAU,IAAI,EAAE,WAAWe,CAAQ;AAC5C;AAEA,SAASX,EAAeY,GAAG;AACzB,SAAOA,EAAE;AACX;AAEA,SAASb,EAAYa,GAAG;AACtB,SAAO,MAAM,QAAQA,CAAC,IAAIA,EAAE,CAAC,IAAI;AACnC;AAEA,SAASD,EAASR,GAAM;AACtB,EAAIA,EAAK,KAAK,UAAU,WAAWA,EAAK,QAAQA,EAAK,KAAK,QAC1DA,EAAK,OAAOA,EAAK,KAAK;AACxB;AAEO,SAASM,EAAcN,GAAM;AAClC,MAAIU,IAAS;AACb;AAAG,IAAAV,EAAK,SAASU;AAAA,UACTV,IAAOA,EAAK,WAAYA,EAAK,SAAS,EAAEU;AAClD;AAEO,SAASX,EAAKL,GAAM;AACzB,OAAK,OAAOA,GACZ,KAAK,QACL,KAAK,SAAS,GACd,KAAK,SAAS;AAChB;AAEAK,EAAK,YAAYN,EAAU,YAAY;AAAA,EACrC,aAAaM;AAAA,EACb,OAAOY;AAAA,EACP,MAAMC;AAAA,EACN,WAAWC;AAAA,EACX,YAAYC;AAAA,EACZ,MAAMC;AAAA,EACN,KAAKC;AAAA,EACL,MAAMC;AAAA,EACN,MAAMC;AAAA,EACN,WAAWC;AAAA,EACX,aAAaC;AAAA,EACb,QAAQC;AAAA,EACR,OAAOC;AAAA,EACP,MAAMf;AAAA,EACN,CAAC,OAAO,QAAQ,GAAGgB;AACrB;","x_google_ignoreList":[0]}
@@ -1,250 +1,7 @@
1
- import { jsx as s, jsxs as w, Fragment as W } from "react/jsx-runtime";
2
- import { useRef as M, useState as $e, useEffect as B, useMemo as C, useCallback as fe } from "react";
3
- import qe from "@mui/material/CircularProgress";
4
- import { Stack as Ie, Box as ue } from "@mui/material";
5
- import { rescaleX as Ue, rescaleY as Je, prepareCanvas as Ne, partitionPointsByHover as Qe, getTicks as ve, isPointVisible as _e, drawCanvasPoint as Ge } from "./visualization.es17.js";
6
- import We from "./visualization.es119.js";
7
- import Ze from "./visualization.es120.js";
8
- import ze from "./visualization.es121.js";
9
- import He from "./visualization.es122.js";
10
- import { useDragSelection as be } from "./visualization.es123.js";
11
- import pe from "./visualization.es29.js";
12
- import et from "./visualization.es124.js";
13
- import tt from "./visualization.es74.js";
14
- import rt from "./visualization.es37.js";
15
- import nt from "./visualization.es38.js";
16
- import st from "./visualization.es30.js";
17
- import ot from "./visualization.es59.js";
18
- import he from "./visualization.es41.js";
19
- import ct from "./visualization.es58.js";
20
- const lt = 120, at = (R) => 1 - Math.pow(1 - R, 3), Pt = ({
21
- width: R,
22
- height: Z,
23
- margin: o,
24
- boundedWidth: l,
25
- boundedHeight: c,
26
- loading: xe,
27
- pointData: p,
28
- animation: T,
29
- animationGroupSize: K,
30
- animationBuffer: O,
31
- xScale: $,
32
- yScale: q,
33
- zoom: a,
34
- selectMode: f,
35
- selectable: ye,
36
- disableZoom: h,
37
- groupPointsAnchor: z,
38
- hoveredPoint: k,
39
- hoveredPoints: H,
40
- handleMouseMove: me,
41
- handleMouseLeave: b,
42
- onDisplayedPointsChange: ee,
43
- onSelectionChange: Se,
44
- onPointClicked: te,
45
- leftAxisLabel: we,
46
- bottomAxisLabel: ke,
47
- border: Ee,
48
- originLine: Ae,
49
- backgroundGradient: A,
50
- crosshair: I,
51
- divRef: Le
52
- }) => {
53
- const re = M(null), ne = M(null), V = M(0), U = M(null), [J, N] = $e(!!T);
54
- B(() => {
55
- if (!T) return;
56
- if (p.length > 2500) {
57
- N(!1);
58
- return;
59
- }
60
- const e = 450, t = (O ?? 0.03) * 1e3, r = Math.ceil(p.length / (K ?? 1)), n = e + r * t, i = window.setTimeout(() => N(!1), n);
61
- return () => window.clearTimeout(i);
62
- }, [T, O, K, p.length]);
63
- const {
64
- lines: Me,
65
- isDragging: y,
66
- x: g,
67
- y: P,
68
- dx: d,
69
- dy: Y,
70
- dragStart: se,
71
- dragMove: oe,
72
- dragEnd: Ce,
73
- completeSelection: Te
74
- } = be({
75
- pointData: p,
76
- margin: o,
77
- xScale: $,
78
- yScale: q,
79
- onSelectionChange: Se
80
- });
81
- B(() => {
82
- const e = re.current, t = (i) => {
83
- i.preventDefault();
84
- }, r = (i) => {
85
- i.preventDefault();
86
- }, n = (i) => {
87
- i.preventDefault();
88
- };
89
- return e && (e.addEventListener("wheel", t, {
90
- passive: !1
91
- }), e.addEventListener("touchstart", n, {
92
- passive: !1
93
- }), e.addEventListener("touchmove", r, {
94
- passive: !1
95
- })), () => {
96
- e && (e.removeEventListener("wheel", t), e.removeEventListener("touchstart", n), e.removeEventListener("touchmove", r));
97
- };
98
- }, []);
99
- const u = C(() => Ue($, a.transformMatrix.translateX, a.transformMatrix.scaleX), [$, a.transformMatrix]), v = C(() => Je(q, a.transformMatrix.translateY, a.transformMatrix.scaleY), [q, a.transformMatrix]), Q = C(() => k ? [k] : H ?? [], [k, H]), ce = C(() => {
100
- const e = z;
101
- if (!e) return Q;
102
- const t = (n) => e in n ? n[e] : n.metaData?.[e], r = new Set(Q.map(t).filter((n) => n !== void 0));
103
- return r.size === 0 ? [] : p.filter((n) => {
104
- const i = t(n);
105
- return i !== void 0 && r.has(i);
106
- });
107
- }, [Q, z, p]), le = M(/* @__PURE__ */ new Set()), L = C(() => {
108
- const e = new Set(ce.map((r) => `${r.x},${r.y}`)), t = le.current;
109
- return e.size === t.size && [...e].every((r) => t.has(r)) ? t : (le.current = e, e);
110
- }, [ce]), X = C(() => p.filter((e) => {
111
- const t = u(e.x), r = v(e.y);
112
- return t >= 0 && t <= l && r >= 0 && r <= c;
113
- }), [p, u, v, l, c]), j = fe((e, t, r) => {
114
- const n = r.getContext("2d");
115
- if (!n) return;
116
- if (Ne(n, l, c), A) {
117
- const [x, G, D] = A.colorScale ?? ["red", "white", "blue"], S = l, E = c, Be = e(0), Ke = t(0), Oe = Math.max(1e-3, Math.min(0.999, (Be * S - Ke * E + E * E) / (S * S + E * E))), F = n.createLinearGradient(0, E, S, 0);
118
- F.addColorStop(0, x), F.addColorStop(Oe, G), F.addColorStop(1, D), n.globalAlpha = A.opacity ?? 1, n.fillStyle = F, n.fillRect(0, 0, S, E), n.globalAlpha = 1;
119
- }
120
- const {
121
- nonHovered: i,
122
- hovered: m
123
- } = Qe(p, L), ie = (x, G) => {
124
- const D = e(x.x), S = t(x.y);
125
- _e(D, S, l, c) && Ge(n, x, D, S, G ? V.current : 0);
126
- };
127
- i.forEach((x) => ie(x, !1)), m.forEach((x) => ie(x, !0));
128
- }, [c, l, L, p, A]);
129
- B(() => {
130
- const e = ne.current;
131
- if (!e || J) return;
132
- if (L.size === 0) {
133
- U.current = null, V.current = 0, j(u, v, e);
134
- return;
135
- }
136
- if (U.current === L) {
137
- j(u, v, e);
138
- return;
139
- }
140
- U.current = L;
141
- const t = performance.now();
142
- V.current = 0;
143
- let r = requestAnimationFrame(function n() {
144
- const i = Math.min(1, (performance.now() - t) / lt);
145
- V.current = at(i), j(u, v, e), i < 1 && (r = requestAnimationFrame(n));
146
- });
147
- return () => cancelAnimationFrame(r);
148
- }, [j, u, v, J, L]);
149
- const ge = fe(() => {
150
- k && te?.(k);
151
- }, [k, te]), Pe = h ? ye ? y ? "none" : "crosshair" : y ? "none" : "default" : k ? "default" : f === "select" ? y ? "none" : "crosshair" : a.isDragging ? "grabbing" : "grab", _ = (e) => {
152
- Ce(e), Te(a);
153
- }, Re = f === "none" ? void 0 : f === "select" ? se : h ? void 0 : a.dragStart, Ve = f === "none" ? void 0 : f === "select" ? _ : h ? void 0 : a.dragEnd, de = f === "none" ? void 0 : f === "select" ? y ? oe : void 0 : h ? void 0 : a.dragMove, Ye = f === "none" ? void 0 : f === "select" ? _ : h ? void 0 : a.dragEnd, Xe = f === "none" ? void 0 : f === "select" ? se : h ? void 0 : a.dragStart, je = f === "none" ? void 0 : f === "select" ? _ : h ? void 0 : a.dragEnd, De = f === "none" ? void 0 : f === "select" ? y ? oe : void 0 : h ? void 0 : a.dragMove, Fe = (e) => {
154
- if (N(!1), !h) {
155
- const t = ct(e) || {
156
- x: 0,
157
- y: 0
158
- }, r = e.deltaY < 0 ? 1.1 : 0.9;
159
- a.scale({
160
- scaleX: r,
161
- scaleY: r,
162
- point: t
163
- });
164
- }
165
- }, ae = M([]);
166
- return B(() => {
167
- ((t, r) => t.length !== r.length ? !0 : !t.every((n, i) => {
168
- const m = r[i];
169
- return n.x === m.x && n.y === m.y && n.r === m.r && n.shape === m.shape && n.color === m.color && n.opacity === m.opacity;
170
- }))(ae.current, X) && (ee?.(X), ae.current = X);
171
- }, [X, ee]), /* @__PURE__ */ s(Ie, { justifyContent: "center", alignItems: "center", direction: "row", sx: {
172
- position: "relative"
173
- }, children: /* @__PURE__ */ s(ue, { sx: {
174
- width: R,
175
- height: Z
176
- }, children: xe ? /* @__PURE__ */ s(ue, { display: "flex", width: "100%", height: "100%", sx: {
177
- justifyContent: "center",
178
- alignItems: "center"
179
- }, children: /* @__PURE__ */ s(qe, {}) }) : /* @__PURE__ */ w("div", { style: {
180
- position: "relative"
181
- }, ref: Le, children: [
182
- /* @__PURE__ */ s("canvas", { ref: ne, width: l * 2, height: c * 2, style: {
183
- userSelect: "none",
184
- position: "absolute",
185
- top: o.top,
186
- left: o.left,
187
- width: l,
188
- height: c,
189
- backgroundColor: "transparent"
190
- } }),
191
- /* @__PURE__ */ w("svg", { width: R, height: Z, overflow: "visible", style: {
192
- position: "absolute",
193
- userSelect: "none"
194
- }, onMouseMove: (e) => {
195
- y ? b() : me(e, a);
196
- }, onMouseLeave: b, children: [
197
- /* @__PURE__ */ w(pe, { top: o.top, left: o.left, children: [
198
- J && T && /* @__PURE__ */ s(We, { pointData: p, animation: T, animationGroupSize: K, animationBuffer: O, xScaleTransformed: u, yScaleTransformed: v, boundedWidth: l, boundedHeight: c }),
199
- f === "select" && /* @__PURE__ */ w(W, { children: [
200
- Me.map((e, t) => /* @__PURE__ */ s(et, { fill: "transparent", stroke: "black", strokeWidth: 3, data: e, curve: tt, x: (r) => r.x, y: (r) => r.y }, `line-${t}`)),
201
- y && /* @__PURE__ */ w("g", { children: [
202
- /* @__PURE__ */ s("line", { x1: g - o.left + d - 6, y1: P - o.top + Y, x2: g - o.left + d + 6, y2: P - o.top + Y, stroke: "black", strokeWidth: 1 }),
203
- /* @__PURE__ */ s("line", { x1: g - o.left + d, y1: P - o.top + Y - 6, x2: g - o.left + d, y2: P - o.top + Y + 6, stroke: "black", strokeWidth: 1 }),
204
- /* @__PURE__ */ s("circle", { cx: g - o.left, cy: P - o.top, r: 4, fill: "transparent", stroke: "black", pointerEvents: "none" })
205
- ] })
206
- ] }),
207
- Ae && (() => {
208
- const e = u(0), t = v(0);
209
- return /* @__PURE__ */ w(W, { children: [
210
- t >= 0 && t <= c && /* @__PURE__ */ s("line", { x1: 0, x2: l, y1: t, y2: t, stroke: "#000", strokeWidth: 1, strokeDasharray: "4,4", pointerEvents: "none" }),
211
- e >= 0 && e <= l && /* @__PURE__ */ s("line", { x1: e, x2: e, y1: 0, y2: c, stroke: "#000", strokeWidth: 1, strokeDasharray: "4,4", pointerEvents: "none" })
212
- ] });
213
- })(),
214
- /* @__PURE__ */ s("rect", { ref: re, fill: "transparent", width: l, height: c, style: {
215
- cursor: Pe
216
- }, onMouseDown: Re, onMouseUp: Ve, onMouseMove: de, onMouseLeave: Ye, onTouchStart: Xe, onTouchEnd: je, onTouchMove: De, onWheel: Fe, onClick: ge }),
217
- I && !y && /* @__PURE__ */ s(He, { position: {
218
- x: u(I.x),
219
- y: v(I.y)
220
- }, boundedWidth: l, boundedHeight: c })
221
- ] }),
222
- /* @__PURE__ */ w(pe, { top: o.top, left: o.left, children: [
223
- /* @__PURE__ */ s(rt, { scale: v, tickLabelProps: () => ({
224
- fill: "#1c1917",
225
- fontSize: 10,
226
- textAnchor: "end",
227
- verticalAnchor: "middle",
228
- x: -10
229
- }), tickValues: ve(v, 5) }),
230
- /* @__PURE__ */ s(nt, { top: c, scale: u, tickLabelProps: () => ({
231
- fill: "#1c1917",
232
- fontSize: 11,
233
- textAnchor: "middle"
234
- }), tickValues: ve(u, 5) }),
235
- Ee && /* @__PURE__ */ w(W, { children: [
236
- /* @__PURE__ */ s(st, { top: 0, scale: u, tickValues: [] }),
237
- /* @__PURE__ */ s(ot, { scale: v, tickValues: [], left: l })
238
- ] }),
239
- /* @__PURE__ */ s(he, { textAnchor: "middle", verticalAnchor: "end", angle: -90, fontSize: 15, y: c / 2, x: 0, dx: -50, children: we }),
240
- /* @__PURE__ */ s(he, { textAnchor: "middle", verticalAnchor: "start", fontSize: 15, y: c, x: l / 2, dy: 50, children: ke })
241
- ] }),
242
- /* @__PURE__ */ s(Ze, { pointData: p, xScaleTransformed: u, yScaleTransformed: v, boundedWidth: l, boundedHeight: c, margin: o }),
243
- A?.legend && /* @__PURE__ */ s(ze, { backgroundGradient: A, boundedHeight: c, barLeft: o.left + l + 25, marginTop: o.top })
244
- ] })
245
- ] }) }) });
246
- };
1
+ function u(n, l) {
2
+ return n == null || l == null ? NaN : n < l ? -1 : n > l ? 1 : n >= l ? 0 : NaN;
3
+ }
247
4
  export {
248
- Pt as default
5
+ u as default
249
6
  };
250
7
  //# sourceMappingURL=visualization.es83.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es83.js","sources":["../src/components/ScatterPlot/ScatterPlotViewport.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef, useState } from \"react\";\nimport CircularProgress from \"@mui/material/CircularProgress\";\nimport { Box, Stack } from \"@mui/material\";\nimport { Group } from \"@visx/group\";\nimport { AxisBottom, AxisLeft, AxisRight, AxisTop } from \"@visx/axis\";\nimport { LinePath } from \"@visx/shape\";\nimport { Text } from \"@visx/text\";\nimport { curveBasis } from \"@visx/curve\";\nimport { localPoint } from \"@visx/event\";\nimport { ScaleLinear } from \"@visx/vendor/d3-scale\";\nimport { BackgroundGradient, ChartProps, CrosshairPosition, Point, SelectionMode, ZoomType } from \"./types\";\nimport { drawCanvasPoint, getTicks, isPointVisible, partitionPointsByHover, prepareCanvas, rescaleX, rescaleY } from \"./helpers\";\nimport AnimatedPoints from \"./AnimatedPoints\";\nimport PointLabels from \"./PointLabels\";\nimport GradientLegend from \"./GradientLegend\";\nimport Crosshair from \"./Crosshair\";\nimport { useDragSelection } from \"./hooks/useDragSelection\";\n\ntype ScatterPlotViewportProps<T extends object> = {\n width: number;\n height: number;\n margin: { top: number; left: number };\n boundedWidth: number;\n boundedHeight: number;\n loading: boolean;\n pointData: Point<T>[];\n animation?: ChartProps<T, boolean | undefined, boolean | undefined>[\"animation\"];\n animationGroupSize?: number;\n animationBuffer?: number;\n xScale: ScaleLinear<number, number, never>;\n yScale: ScaleLinear<number, number, never>;\n zoom: ZoomType;\n selectMode: SelectionMode;\n selectable: boolean;\n disableZoom?: boolean;\n groupPointsAnchor?: keyof Point<T> | keyof T;\n hoveredPoint: Point<T> | null;\n hoveredPoints?: Point<T>[];\n handleMouseMove: (event: React.MouseEvent<SVGElement>, zoom: ZoomType) => void;\n handleMouseLeave: () => void;\n onDisplayedPointsChange?: (points: Point<T>[]) => void;\n onSelectionChange?: (selectedPoints: Point<T>[]) => void;\n onPointClicked?: (point: Point<T>) => void;\n leftAxisLabel?: string;\n bottomAxisLabel?: string;\n border: boolean;\n originLine?: boolean;\n backgroundGradient?: BackgroundGradient;\n /** Crosshair position in data coordinates, or null for no crosshair. */\n crosshair?: CrosshairPosition | null;\n divRef: React.RefObject<HTMLDivElement | null>;\n};\n\n/**\n * Hover growth eases in over this long, and is dropped instantly on the way out.\n * Easing the exit too would drag a tail of still-shrinking points behind the cursor\n * whenever it sweeps across a dense plot.\n */\nconst HOVER_GROW_MS = 120;\n\nconst easeOutCubic = (t: number) => 1 - Math.pow(1 - t, 3);\n\nconst ScatterPlotViewport = <T extends object>({\n width,\n height,\n margin,\n boundedWidth,\n boundedHeight,\n loading,\n pointData,\n animation,\n animationGroupSize,\n animationBuffer,\n xScale,\n yScale,\n zoom,\n selectMode,\n selectable,\n disableZoom,\n groupPointsAnchor,\n hoveredPoint,\n hoveredPoints,\n handleMouseMove,\n handleMouseLeave,\n onDisplayedPointsChange,\n onSelectionChange,\n onPointClicked,\n leftAxisLabel,\n bottomAxisLabel,\n border,\n originLine,\n backgroundGradient,\n crosshair,\n divRef,\n}: ScatterPlotViewportProps<T>) => {\n const graphRef = useRef<SVGRectElement | null>(null);\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n // Hover growth is driven straight onto the canvas through a ref. A redraw is ~0.3ms at\n // 3.4k points so the drawing is cheap, but a re-render per frame would not be.\n const hoverAmountRef = useRef(0);\n const animatedKeysRef = useRef<Set<string> | null>(null);\n\n // Animation state — viewport owns what it renders\n const [showPointAnimation, setShowPointAnimation] = useState(Boolean(animation));\n\n useEffect(() => {\n if (!animation) return;\n if (pointData.length > 2500) {\n setShowPointAnimation(false);\n return;\n }\n const duration = 450;\n const buffer = (animationBuffer ?? 0.03) * 1000;\n const groups = Math.ceil(pointData.length / (animationGroupSize ?? 1));\n const total = duration + groups * buffer;\n\n const t = window.setTimeout(() => setShowPointAnimation(false), total);\n return () => window.clearTimeout(t);\n }, [animation, animationBuffer, animationGroupSize, pointData.length]);\n\n const { lines, isDragging, x, y, dx, dy, dragStart, dragMove, dragEnd, completeSelection } =\n useDragSelection({ pointData, margin, xScale, yScale, onSelectionChange });\n\n // Passive event listeners to prevent default scroll/touch behavior on the chart surface\n useEffect(() => {\n const graphElement = graphRef.current;\n\n const handleWheel = (event: WheelEvent) => { event.preventDefault(); };\n const handleTouchMove = (event: TouchEvent) => { event.preventDefault(); };\n const handleTouchStart = (event: TouchEvent) => { event.preventDefault(); };\n\n if (graphElement) {\n graphElement.addEventListener('wheel', handleWheel, { passive: false });\n graphElement.addEventListener('touchstart', handleTouchStart, { passive: false });\n graphElement.addEventListener('touchmove', handleTouchMove, { passive: false });\n }\n\n return () => {\n if (graphElement) {\n graphElement.removeEventListener('wheel', handleWheel);\n graphElement.removeEventListener('touchstart', handleTouchStart);\n graphElement.removeEventListener('touchmove', handleTouchMove);\n }\n };\n }, []);\n\n const xScaleTransformed = useMemo(\n () => rescaleX(xScale, zoom.transformMatrix.translateX, zoom.transformMatrix.scaleX),\n [xScale, zoom.transformMatrix]\n );\n const yScaleTransformed = useMemo(\n () => rescaleY(yScale, zoom.transformMatrix.translateY, zoom.transformMatrix.scaleY),\n [yScale, zoom.transformMatrix]\n );\n\n // What is hovered: the point under the cursor if there is one, otherwise whatever the\n // consumer has asked to highlight. The cursor takes precedence so the plot's own hover is\n // never overridden mid-gesture.\n const highlightSeeds: Point<T>[] = useMemo(\n () => (hoveredPoint ? [hoveredPoint] : hoveredPoints ?? []),\n [hoveredPoint, hoveredPoints]\n );\n\n const groupedPoints: Point<T>[] = useMemo(() => {\n const anchor = groupPointsAnchor;\n if (!anchor) return highlightSeeds;\n\n const anchorValue = (point: Point<T>): unknown =>\n anchor in point\n ? point[anchor as keyof Point<T>]\n : point.metaData?.[anchor as keyof T];\n\n // Collect the seeds' anchor values first, so this stays O(points + seeds). Matching each\n // point against each seed would be 2.5m comparisons when a whole 750-point group is\n // handed in against 3.4k points.\n const seedValues = new Set(\n highlightSeeds.map(anchorValue).filter((value) => value !== undefined)\n );\n if (seedValues.size === 0) return [];\n\n return pointData.filter((point) => {\n const value = anchorValue(point);\n return value !== undefined && seedValues.has(value);\n });\n }, [highlightSeeds, groupPointsAnchor, pointData]);\n\n const previousHoveredKeysRef = useRef<Set<string>>(new Set());\n\n const hoveredPointKeys = useMemo(() => {\n const next = new Set(groupedPoints.map((point) => `${point.x},${point.y}`));\n const previous = previousHoveredKeysRef.current;\n\n // Moving between points inside one anchored group rebuilds this set, but its contents\n // are unchanged - the hovered group is the same group. Handing back the previous Set\n // keeps its identity stable, so the redraw effect and the hover growth it drives both\n // sit still instead of restarting on every point the cursor crosses. Purely a\n // memoisation hint: the contents are correct either way.\n if (next.size === previous.size && [...next].every((key) => previous.has(key))) {\n return previous;\n }\n\n previousHoveredKeysRef.current = next;\n return next;\n }, [groupedPoints]);\n\n const currentDisplayedPoints = useMemo(\n () => pointData.filter((point) => {\n const tx = xScaleTransformed(point.x);\n const ty = yScaleTransformed(point.y);\n return tx >= 0 && tx <= boundedWidth && ty >= 0 && ty <= boundedHeight;\n }),\n [pointData, xScaleTransformed, yScaleTransformed, boundedWidth, boundedHeight]\n );\n\n const drawPoints = useCallback((\n xST: ScaleLinear<number, number, never>,\n yST: ScaleLinear<number, number, never>,\n canvas: HTMLCanvasElement\n ) => {\n const context = canvas.getContext('2d');\n if (!context) return;\n\n prepareCanvas(context, boundedWidth, boundedHeight);\n\n if (backgroundGradient) {\n const [colorLow, colorMid, colorHigh] = backgroundGradient.colorScale ?? [\"red\", \"white\", \"blue\"];\n const W = boundedWidth;\n const H = boundedHeight;\n const x0 = xST(0);\n const y0 = yST(0);\n const fraction = Math.max(0.001, Math.min(0.999, (x0 * W - y0 * H + H * H) / (W * W + H * H)));\n const gradient = context.createLinearGradient(0, H, W, 0);\n gradient.addColorStop(0, colorLow);\n gradient.addColorStop(fraction, colorMid);\n gradient.addColorStop(1, colorHigh);\n context.globalAlpha = backgroundGradient.opacity ?? 1;\n context.fillStyle = gradient;\n context.fillRect(0, 0, W, H);\n context.globalAlpha = 1;\n }\n\n const { nonHovered, hovered } = partitionPointsByHover(pointData, hoveredPointKeys);\n\n const drawRenderedPoint = (point: Point<T>, isHovered: boolean) => {\n const transformedX = xST(point.x);\n const transformedY = yST(point.y);\n if (!isPointVisible(transformedX, transformedY, boundedWidth, boundedHeight)) return;\n drawCanvasPoint(context, point, transformedX, transformedY, isHovered ? hoverAmountRef.current : 0);\n };\n\n nonHovered.forEach((point) => drawRenderedPoint(point, false));\n hovered.forEach((point) => drawRenderedPoint(point, true));\n }, [boundedHeight, boundedWidth, hoveredPointKeys, pointData, backgroundGradient]);\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || showPointAnimation) return;\n\n // Leaving is instant: drop the growth and repaint once.\n if (hoveredPointKeys.size === 0) {\n animatedKeysRef.current = null;\n hoverAmountRef.current = 0;\n drawPoints(xScaleTransformed, yScaleTransformed, canvas);\n return;\n }\n\n // Only a change of hovered set starts the growth. This effect also runs on pan, zoom\n // and data changes, which should repaint at the size the points have already reached\n // rather than snapping them back to zero.\n if (animatedKeysRef.current === hoveredPointKeys) {\n drawPoints(xScaleTransformed, yScaleTransformed, canvas);\n return;\n }\n animatedKeysRef.current = hoveredPointKeys;\n\n const startedAt = performance.now();\n hoverAmountRef.current = 0;\n let frame = requestAnimationFrame(function step() {\n const t = Math.min(1, (performance.now() - startedAt) / HOVER_GROW_MS);\n hoverAmountRef.current = easeOutCubic(t);\n drawPoints(xScaleTransformed, yScaleTransformed, canvas);\n if (t < 1) frame = requestAnimationFrame(step);\n });\n\n return () => cancelAnimationFrame(frame);\n }, [drawPoints, xScaleTransformed, yScaleTransformed, showPointAnimation, hoveredPointKeys]);\n\n const handlePointClick = useCallback(() => {\n if (hoveredPoint) onPointClicked?.(hoveredPoint);\n }, [hoveredPoint, onPointClicked]);\n\n const surfaceCursor = disableZoom\n ? selectable\n ? isDragging ? 'none' : 'crosshair'\n : isDragging ? 'none' : 'default'\n : hoveredPoint\n ? 'default'\n : selectMode === 'select'\n ? isDragging ? 'none' : 'crosshair'\n : zoom.isDragging\n ? 'grabbing'\n : 'grab';\n\n const handleSelectionEnd = (event: React.MouseEvent<SVGRectElement> | React.TouchEvent<SVGRectElement>) => {\n dragEnd(event);\n completeSelection(zoom);\n };\n\n const onSurfaceMouseDown = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? dragStart\n : disableZoom ? undefined : zoom.dragStart;\n const onSurfaceMouseUp = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? handleSelectionEnd\n : disableZoom ? undefined : zoom.dragEnd;\n const onSurfaceMouseMove = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? (isDragging ? dragMove : undefined)\n : disableZoom ? undefined : zoom.dragMove;\n const onSurfaceMouseLeave = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? handleSelectionEnd\n : disableZoom ? undefined : zoom.dragEnd;\n const onSurfaceTouchStart = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? dragStart\n : disableZoom ? undefined : zoom.dragStart;\n const onSurfaceTouchEnd = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? handleSelectionEnd\n : disableZoom ? undefined : zoom.dragEnd;\n const onSurfaceTouchMove = selectMode === \"none\"\n ? undefined\n : selectMode === \"select\"\n ? (isDragging ? dragMove : undefined)\n : disableZoom ? undefined : zoom.dragMove;\n const onSurfaceWheel: React.WheelEventHandler<SVGRectElement> = (event) => {\n setShowPointAnimation(false);\n if (!disableZoom) {\n const point = localPoint(event) || { x: 0, y: 0 };\n const zoomDirection = event.deltaY < 0 ? 1.1 : 0.9;\n zoom.scale({ scaleX: zoomDirection, scaleY: zoomDirection, point });\n }\n };\n\n const previousDisplayedPoints = useRef<Point<T>[]>([]);\n\n useEffect(() => {\n const haveDisplayedPointsChanged = (prevPoints: Point<T>[], nextPoints: Point<T>[]) => {\n if (prevPoints.length !== nextPoints.length) return true;\n return !prevPoints.every((point, index) => {\n const nextPoint = nextPoints[index];\n return (\n point.x === nextPoint.x &&\n point.y === nextPoint.y &&\n point.r === nextPoint.r &&\n point.shape === nextPoint.shape &&\n point.color === nextPoint.color &&\n point.opacity === nextPoint.opacity\n );\n });\n };\n\n if (haveDisplayedPointsChanged(previousDisplayedPoints.current, currentDisplayedPoints)) {\n onDisplayedPointsChange?.(currentDisplayedPoints);\n previousDisplayedPoints.current = currentDisplayedPoints;\n }\n }, [currentDisplayedPoints, onDisplayedPointsChange]);\n\n return (\n <Stack justifyContent=\"center\" alignItems=\"center\" direction=\"row\" sx={{ position: \"relative\" }}>\n <Box sx={{ width, height }}>\n {loading ? (\n <Box display=\"flex\" width=\"100%\" height=\"100%\" sx={{ justifyContent: \"center\", alignItems: \"center\" }}>\n <CircularProgress />\n </Box>\n ) : (\n <div style={{ position: \"relative\" }} ref={divRef}>\n <canvas\n ref={canvasRef}\n width={boundedWidth * 2}\n height={boundedHeight * 2}\n style={{\n userSelect: \"none\",\n position: \"absolute\",\n top: margin.top,\n left: margin.left,\n width: boundedWidth,\n height: boundedHeight,\n backgroundColor: \"transparent\",\n }}\n />\n <svg\n width={width}\n height={height}\n overflow=\"visible\"\n style={{ position: \"absolute\", userSelect: \"none\" }}\n onMouseMove={(event) => {\n if (isDragging) handleMouseLeave();\n else handleMouseMove(event, zoom);\n }}\n onMouseLeave={handleMouseLeave}\n >\n <Group top={margin.top} left={margin.left}>\n {showPointAnimation && animation && (\n <AnimatedPoints\n pointData={pointData}\n animation={animation}\n animationGroupSize={animationGroupSize}\n animationBuffer={animationBuffer}\n xScaleTransformed={xScaleTransformed}\n yScaleTransformed={yScaleTransformed}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n />\n )}\n {selectMode === \"select\" && (\n <>\n {lines.map((line, index) => (\n <LinePath\n key={`line-${index}`}\n fill=\"transparent\"\n stroke=\"black\"\n strokeWidth={3}\n data={line}\n curve={curveBasis}\n x={(datum) => datum.x}\n y={(datum) => datum.y}\n />\n ))}\n {isDragging && (\n <g>\n <line x1={x - margin.left + dx - 6} y1={y - margin.top + dy} x2={x - margin.left + dx + 6} y2={y - margin.top + dy} stroke=\"black\" strokeWidth={1} />\n <line x1={x - margin.left + dx} y1={y - margin.top + dy - 6} x2={x - margin.left + dx} y2={y - margin.top + dy + 6} stroke=\"black\" strokeWidth={1} />\n <circle cx={x - margin.left} cy={y - margin.top} r={4} fill=\"transparent\" stroke=\"black\" pointerEvents=\"none\" />\n </g>\n )}\n </>\n )}\n {originLine && (() => {\n const x0 = xScaleTransformed(0);\n const y0 = yScaleTransformed(0);\n return (\n <>\n {y0 >= 0 && y0 <= boundedHeight && (\n <line x1={0} x2={boundedWidth} y1={y0} y2={y0} stroke=\"#000\" strokeWidth={1} strokeDasharray=\"4,4\" pointerEvents=\"none\" />\n )}\n {x0 >= 0 && x0 <= boundedWidth && (\n <line x1={x0} x2={x0} y1={0} y2={boundedHeight} stroke=\"#000\" strokeWidth={1} strokeDasharray=\"4,4\" pointerEvents=\"none\" />\n )}\n </>\n );\n })()}\n <rect\n ref={graphRef}\n fill=\"transparent\"\n width={boundedWidth}\n height={boundedHeight}\n style={{ cursor: surfaceCursor }}\n onMouseDown={onSurfaceMouseDown}\n onMouseUp={onSurfaceMouseUp}\n onMouseMove={onSurfaceMouseMove}\n onMouseLeave={onSurfaceMouseLeave}\n onTouchStart={onSurfaceTouchStart}\n onTouchEnd={onSurfaceTouchEnd}\n onTouchMove={onSurfaceTouchMove}\n onWheel={onSurfaceWheel}\n onClick={handlePointClick}\n />\n {crosshair && !isDragging && (\n <Crosshair\n position={{\n x: xScaleTransformed(crosshair.x),\n y: yScaleTransformed(crosshair.y),\n }}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n />\n )}\n </Group>\n <Group top={margin.top} left={margin.left}>\n <AxisLeft\n scale={yScaleTransformed}\n tickLabelProps={() => ({\n fill: \"#1c1917\",\n fontSize: 10,\n textAnchor: \"end\",\n verticalAnchor: \"middle\",\n x: -10,\n })}\n tickValues={getTicks(yScaleTransformed, 5)}\n />\n <AxisBottom\n top={boundedHeight}\n scale={xScaleTransformed}\n tickLabelProps={() => ({\n fill: \"#1c1917\",\n fontSize: 11,\n textAnchor: \"middle\",\n })}\n tickValues={getTicks(xScaleTransformed, 5)}\n />\n {border && (\n <>\n <AxisTop top={0} scale={xScaleTransformed} tickValues={[]} />\n <AxisRight scale={yScaleTransformed} tickValues={[]} left={boundedWidth} />\n </>\n )}\n <Text textAnchor=\"middle\" verticalAnchor=\"end\" angle={-90} fontSize={15} y={boundedHeight / 2} x={0} dx={-50}>\n {leftAxisLabel}\n </Text>\n <Text textAnchor=\"middle\" verticalAnchor=\"start\" fontSize={15} y={boundedHeight} x={boundedWidth / 2} dy={50}>\n {bottomAxisLabel}\n </Text>\n </Group>\n <PointLabels\n pointData={pointData}\n xScaleTransformed={xScaleTransformed}\n yScaleTransformed={yScaleTransformed}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n margin={margin}\n />\n {backgroundGradient?.legend && (\n <GradientLegend\n backgroundGradient={backgroundGradient}\n boundedHeight={boundedHeight}\n barLeft={margin.left + boundedWidth + 25}\n marginTop={margin.top}\n />\n )}\n </svg>\n </div>\n )}\n </Box>\n </Stack>\n );\n};\n\nexport default ScatterPlotViewport;\n"],"names":["HOVER_GROW_MS","easeOutCubic","t","Math","pow","ScatterPlotViewport","width","height","margin","boundedWidth","boundedHeight","loading","pointData","animation","animationGroupSize","animationBuffer","xScale","yScale","zoom","selectMode","selectable","disableZoom","groupPointsAnchor","hoveredPoint","hoveredPoints","handleMouseMove","handleMouseLeave","onDisplayedPointsChange","onSelectionChange","onPointClicked","leftAxisLabel","bottomAxisLabel","border","originLine","backgroundGradient","crosshair","divRef","graphRef","useRef","canvasRef","hoverAmountRef","animatedKeysRef","showPointAnimation","setShowPointAnimation","useState","Boolean","useEffect","length","duration","buffer","groups","ceil","total","window","setTimeout","clearTimeout","lines","isDragging","x","y","dx","dy","dragStart","dragMove","dragEnd","completeSelection","useDragSelection","graphElement","current","handleWheel","event","preventDefault","handleTouchMove","handleTouchStart","addEventListener","passive","removeEventListener","xScaleTransformed","useMemo","rescaleX","transformMatrix","translateX","scaleX","yScaleTransformed","rescaleY","translateY","scaleY","highlightSeeds","groupedPoints","anchor","anchorValue","point","metaData","seedValues","Set","map","filter","value","undefined","size","has","previousHoveredKeysRef","hoveredPointKeys","next","previous","every","key","currentDisplayedPoints","tx","ty","drawPoints","useCallback","xST","yST","canvas","context","getContext","prepareCanvas","colorLow","colorMid","colorHigh","colorScale","W","H","x0","y0","fraction","max","min","gradient","createLinearGradient","addColorStop","globalAlpha","opacity","fillStyle","fillRect","nonHovered","hovered","partitionPointsByHover","drawRenderedPoint","isHovered","transformedX","transformedY","isPointVisible","drawCanvasPoint","forEach","startedAt","performance","now","frame","requestAnimationFrame","step","cancelAnimationFrame","handlePointClick","surfaceCursor","handleSelectionEnd","onSurfaceMouseDown","onSurfaceMouseUp","onSurfaceMouseMove","onSurfaceMouseLeave","onSurfaceTouchStart","onSurfaceTouchEnd","onSurfaceTouchMove","onSurfaceWheel","localPoint","zoomDirection","deltaY","scale","previousDisplayedPoints","haveDisplayedPointsChanged","prevPoints","nextPoints","index","nextPoint","r","shape","color","jsx","Stack","position","Box","justifyContent","alignItems","CircularProgress","jsxs","userSelect","top","left","backgroundColor","Group","AnimatedPoints","Fragment","line","LinePath","curveBasis","datum","cursor","Crosshair","AxisLeft","fill","fontSize","textAnchor","verticalAnchor","getTicks","AxisBottom","AxisTop","AxisRight","Text","PointLabels","legend","GradientLegend"],"mappings":";;;;;;;;;;;;;;;;;;;AA0DA,MAAMA,KAAgB,KAEhBC,KAAeA,CAACC,MAAc,IAAIC,KAAKC,IAAI,IAAIF,GAAG,CAAC,GAEnDG,KAAsB,CAAmB;AAAA,EAC3CC,OAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,SAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,oBAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,MAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,aAAAA;AAAAA,EACAC,mBAAAA;AAAAA,EACAC,cAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,kBAAAA;AAAAA,EACAC,yBAAAA;AAAAA,EACAC,mBAAAA;AAAAA,EACAC,gBAAAA;AAAAA,EACAC,eAAAA;AAAAA,EACAC,iBAAAA;AAAAA,EACAC,QAAAA;AAAAA,EACAC,YAAAA;AAAAA,EACAC,oBAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,QAAAA;AACyB,MAAM;AAC/B,QAAMC,KAAWC,EAA8B,IAAI,GAC7CC,KAAYD,EAAiC,IAAI,GAGjDE,IAAiBF,EAAO,CAAC,GACzBG,IAAkBH,EAA2B,IAAI,GAGjD,CAACI,GAAoBC,CAAqB,IAAIC,GAASC,EAAQhC,CAAU;AAE/EiC,EAAAA,EAAU,MAAM;AACZ,QAAI,CAACjC,EAAW;AAChB,QAAID,EAAUmC,SAAS,MAAM;AACzBJ,MAAAA,EAAsB,EAAK;AAC3B;AAAA,IACJ;AACA,UAAMK,IAAW,KACXC,KAAUlC,KAAmB,QAAQ,KACrCmC,IAAS/C,KAAKgD,KAAKvC,EAAUmC,UAAUjC,KAAsB,EAAE,GAC/DsC,IAAQJ,IAAWE,IAASD,GAE5B/C,IAAImD,OAAOC,WAAW,MAAMX,EAAsB,EAAK,GAAGS,CAAK;AACrE,WAAO,MAAMC,OAAOE,aAAarD,CAAC;AAAA,EACtC,GAAG,CAACW,GAAWE,GAAiBD,GAAoBF,EAAUmC,MAAM,CAAC;AAErE,QAAM;AAAA,IAAES,OAAAA;AAAAA,IAAOC,YAAAA;AAAAA,IAAYC,GAAAA;AAAAA,IAAGC,GAAAA;AAAAA,IAAGC,IAAAA;AAAAA,IAAIC,IAAAA;AAAAA,IAAIC,WAAAA;AAAAA,IAAWC,UAAAA;AAAAA,IAAUC,SAAAA;AAAAA,IAASC,mBAAAA;AAAAA,EAAAA,IACnEC,GAAiB;AAAA,IAAEtD,WAAAA;AAAAA,IAAWJ,QAAAA;AAAAA,IAAQQ,QAAAA;AAAAA,IAAQC,QAAAA;AAAAA,IAAQW,mBAAAA;AAAAA,EAAAA,CAAmB;AAG7EkB,EAAAA,EAAU,MAAM;AACZ,UAAMqB,IAAe9B,GAAS+B,SAExBC,IAAcA,CAACC,MAAsB;AAAEA,MAAAA,EAAMC,eAAAA;AAAAA,IAAkB,GAC/DC,IAAkBA,CAACF,MAAsB;AAAEA,MAAAA,EAAMC,eAAAA;AAAAA,IAAkB,GACnEE,IAAmBA,CAACH,MAAsB;AAAEA,MAAAA,EAAMC,eAAAA;AAAAA,IAAkB;AAE1E,WAAIJ,MACAA,EAAaO,iBAAiB,SAASL,GAAa;AAAA,MAAEM,SAAS;AAAA,IAAA,CAAO,GACtER,EAAaO,iBAAiB,cAAcD,GAAkB;AAAA,MAAEE,SAAS;AAAA,IAAA,CAAO,GAChFR,EAAaO,iBAAiB,aAAaF,GAAiB;AAAA,MAAEG,SAAS;AAAA,IAAA,CAAO,IAG3E,MAAM;AACT,MAAIR,MACAA,EAAaS,oBAAoB,SAASP,CAAW,GACrDF,EAAaS,oBAAoB,cAAcH,CAAgB,GAC/DN,EAAaS,oBAAoB,aAAaJ,CAAe;AAAA,IAErE;AAAA,EACJ,GAAG,CAAA,CAAE;AAEL,QAAMK,IAAoBC,EACtB,MAAMC,GAAS/D,GAAQE,EAAK8D,gBAAgBC,YAAY/D,EAAK8D,gBAAgBE,MAAM,GACnF,CAAClE,GAAQE,EAAK8D,eAAe,CACjC,GACMG,IAAoBL,EACtB,MAAMM,GAASnE,GAAQC,EAAK8D,gBAAgBK,YAAYnE,EAAK8D,gBAAgBM,MAAM,GACnF,CAACrE,GAAQC,EAAK8D,eAAe,CACjC,GAKMO,IAA6BT,EAC/B,MAAOvD,IAAe,CAACA,CAAY,IAAIC,KAAiB,CAAA,GACxD,CAACD,GAAcC,CAAa,CAChC,GAEMgE,KAA4BV,EAAQ,MAAM;AAC5C,UAAMW,IAASnE;AACf,QAAI,CAACmE,EAAQ,QAAOF;AAEpB,UAAMG,IAAcA,CAACC,MACjBF,KAAUE,IACJA,EAAMF,CAAwB,IAC9BE,EAAMC,WAAWH,CAAiB,GAKtCI,IAAa,IAAIC,IACnBP,EAAeQ,IAAIL,CAAW,EAAEM,OAAQC,CAAAA,MAAUA,MAAUC,MAAS,CACzE;AACA,WAAIL,EAAWM,SAAS,IAAU,CAAA,IAE3BvF,EAAUoF,OAAQL,CAAAA,MAAU;AAC/B,YAAMM,IAAQP,EAAYC,CAAK;AAC/B,aAAOM,MAAUC,UAAaL,EAAWO,IAAIH,CAAK;AAAA,IACtD,CAAC;AAAA,EACL,GAAG,CAACV,GAAgBjE,GAAmBV,CAAS,CAAC,GAE3CyF,KAAyB/D,EAAoB,oBAAIwD,KAAK,GAEtDQ,IAAmBxB,EAAQ,MAAM;AACnC,UAAMyB,IAAO,IAAIT,IAAIN,GAAcO,IAAKJ,CAAAA,MAAU,GAAGA,EAAMjC,CAAC,IAAIiC,EAAMhC,CAAC,EAAE,CAAC,GACpE6C,IAAWH,GAAuBjC;AAOxC,WAAImC,EAAKJ,SAASK,EAASL,QAAQ,CAAC,GAAGI,CAAI,EAAEE,MAAOC,CAAAA,MAAQF,EAASJ,IAAIM,CAAG,CAAC,IAClEF,KAGXH,GAAuBjC,UAAUmC,GAC1BA;AAAAA,EACX,GAAG,CAACf,EAAa,CAAC,GAEZmB,IAAyB7B,EAC3B,MAAMlE,EAAUoF,OAAQL,CAAAA,MAAU;AAC9B,UAAMiB,IAAK/B,EAAkBc,EAAMjC,CAAC,GAC9BmD,IAAK1B,EAAkBQ,EAAMhC,CAAC;AACpC,WAAOiD,KAAM,KAAKA,KAAMnG,KAAgBoG,KAAM,KAAKA,KAAMnG;AAAAA,EAC7D,CAAC,GACD,CAACE,GAAWiE,GAAmBM,GAAmB1E,GAAcC,CAAa,CACjF,GAEMoG,IAAaC,GAAY,CAC3BC,GACAC,GACAC,MACC;AACD,UAAMC,IAAUD,EAAOE,WAAW,IAAI;AACtC,QAAI,CAACD,EAAS;AAId,QAFAE,GAAcF,GAAS1G,GAAcC,CAAa,GAE9CwB,GAAoB;AACpB,YAAM,CAACoF,GAAUC,GAAUC,CAAS,IAAItF,EAAmBuF,cAAc,CAAC,OAAO,SAAS,MAAM,GAC1FC,IAAIjH,GACJkH,IAAIjH,GACJkH,KAAKZ,EAAI,CAAC,GACVa,KAAKZ,EAAI,CAAC,GACVa,KAAW3H,KAAK4H,IAAI,MAAO5H,KAAK6H,IAAI,QAAQJ,KAAKF,IAAIG,KAAKF,IAAIA,IAAIA,MAAMD,IAAIA,IAAIC,IAAIA,EAAE,CAAC,GACvFM,IAAWd,EAAQe,qBAAqB,GAAGP,GAAGD,GAAG,CAAC;AACxDO,MAAAA,EAASE,aAAa,GAAGb,CAAQ,GACjCW,EAASE,aAAaL,IAAUP,CAAQ,GACxCU,EAASE,aAAa,GAAGX,CAAS,GAClCL,EAAQiB,cAAclG,EAAmBmG,WAAW,GACpDlB,EAAQmB,YAAYL,GACpBd,EAAQoB,SAAS,GAAG,GAAGb,GAAGC,CAAC,GAC3BR,EAAQiB,cAAc;AAAA,IAC1B;AAEA,UAAM;AAAA,MAAEI,YAAAA;AAAAA,MAAYC,SAAAA;AAAAA,IAAAA,IAAYC,GAAuB9H,GAAW0F,CAAgB,GAE5EqC,KAAoBA,CAAChD,GAAiBiD,MAAuB;AAC/D,YAAMC,IAAe7B,EAAIrB,EAAMjC,CAAC,GAC1BoF,IAAe7B,EAAItB,EAAMhC,CAAC;AAChC,MAAKoF,GAAeF,GAAcC,GAAcrI,GAAcC,CAAa,KAC3EsI,GAAgB7B,GAASxB,GAAOkD,GAAcC,GAAcF,IAAYpG,EAAe4B,UAAU,CAAC;AAAA,IACtG;AAEAoE,IAAAA,EAAWS,QAAStD,CAAAA,MAAUgD,GAAkBhD,GAAO,EAAK,CAAC,GAC7D8C,EAAQQ,QAAStD,CAAAA,MAAUgD,GAAkBhD,GAAO,EAAI,CAAC;AAAA,EAC7D,GAAG,CAACjF,GAAeD,GAAc6F,GAAkB1F,GAAWsB,CAAkB,CAAC;AAEjFY,EAAAA,EAAU,MAAM;AACZ,UAAMoE,IAAS3E,GAAU6B;AACzB,QAAI,CAAC8C,KAAUxE,EAAoB;AAGnC,QAAI4D,EAAiBH,SAAS,GAAG;AAC7B1D,MAAAA,EAAgB2B,UAAU,MAC1B5B,EAAe4B,UAAU,GACzB0C,EAAWjC,GAAmBM,GAAmB+B,CAAM;AACvD;AAAA,IACJ;AAKA,QAAIzE,EAAgB2B,YAAYkC,GAAkB;AAC9CQ,MAAAA,EAAWjC,GAAmBM,GAAmB+B,CAAM;AACvD;AAAA,IACJ;AACAzE,IAAAA,EAAgB2B,UAAUkC;AAE1B,UAAM4C,IAAYC,YAAYC,IAAAA;AAC9B5G,IAAAA,EAAe4B,UAAU;AACzB,QAAIiF,IAAQC,sBAAsB,SAASC,IAAO;AAC9C,YAAMrJ,IAAIC,KAAK6H,IAAI,IAAImB,YAAYC,IAAAA,IAAQF,KAAalJ,EAAa;AACrEwC,MAAAA,EAAe4B,UAAUnE,GAAaC,CAAC,GACvC4G,EAAWjC,GAAmBM,GAAmB+B,CAAM,GACnDhH,IAAI,MAAGmJ,IAAQC,sBAAsBC,CAAI;AAAA,IACjD,CAAC;AAED,WAAO,MAAMC,qBAAqBH,CAAK;AAAA,EAC3C,GAAG,CAACvC,GAAYjC,GAAmBM,GAAmBzC,GAAoB4D,CAAgB,CAAC;AAE3F,QAAMmD,KAAmB1C,GAAY,MAAM;AACvC,IAAIxF,UAA+BA,CAAY;AAAA,EACnD,GAAG,CAACA,GAAcM,EAAc,CAAC,GAE3B6H,KAAgBrI,IAChBD,KACIqC,IAAa,SAAS,cACtBA,IAAa,SAAS,YAC1BlC,IACI,YACAJ,MAAe,WACXsC,IAAa,SAAS,cACtBvC,EAAKuC,aACD,aACA,QAEZkG,IAAqBA,CAACrF,MAA+E;AACvGN,IAAAA,GAAQM,CAAK,GACbL,GAAkB/C,CAAI;AAAA,EAC1B,GAEM0I,KAAqBzI,MAAe,SACpC+E,SACA/E,MAAe,WACX2C,KACAzC,IAAc6E,SAAYhF,EAAK4C,WACnC+F,KAAmB1I,MAAe,SAClC+E,SACA/E,MAAe,WACXwI,IACAtI,IAAc6E,SAAYhF,EAAK8C,SACnC8F,KAAqB3I,MAAe,SACpC+E,SACA/E,MAAe,WACVsC,IAAaM,KAAWmC,SACzB7E,IAAc6E,SAAYhF,EAAK6C,UACnCgG,KAAsB5I,MAAe,SACrC+E,SACA/E,MAAe,WACXwI,IACAtI,IAAc6E,SAAYhF,EAAK8C,SACnCgG,KAAsB7I,MAAe,SACrC+E,SACA/E,MAAe,WACX2C,KACAzC,IAAc6E,SAAYhF,EAAK4C,WACnCmG,KAAoB9I,MAAe,SACnC+E,SACA/E,MAAe,WACXwI,IACAtI,IAAc6E,SAAYhF,EAAK8C,SACnCkG,KAAqB/I,MAAe,SACpC+E,SACA/E,MAAe,WACVsC,IAAaM,KAAWmC,SACzB7E,IAAc6E,SAAYhF,EAAK6C,UACnCoG,KAA2D7F,CAAAA,MAAU;AAEvE,QADA3B,EAAsB,EAAK,GACvB,CAACtB,GAAa;AACd,YAAMsE,IAAQyE,GAAW9F,CAAK,KAAK;AAAA,QAAEZ,GAAG;AAAA,QAAGC,GAAG;AAAA,MAAA,GACxC0G,IAAgB/F,EAAMgG,SAAS,IAAI,MAAM;AAC/CpJ,MAAAA,EAAKqJ,MAAM;AAAA,QAAErF,QAAQmF;AAAAA,QAAe/E,QAAQ+E;AAAAA,QAAe1E,OAAAA;AAAAA,MAAAA,CAAO;AAAA,IACtE;AAAA,EACJ,GAEM6E,KAA0BlI,EAAmB,EAAE;AAErDQ,SAAAA,EAAU,MAAM;AAgBZ,KAfmC2H,CAACC,GAAwBC,MACpDD,EAAW3H,WAAW4H,EAAW5H,SAAe,KAC7C,CAAC2H,EAAWjE,MAAM,CAACd,GAAOiF,MAAU;AACvC,YAAMC,IAAYF,EAAWC,CAAK;AAClC,aACIjF,EAAMjC,MAAMmH,EAAUnH,KACtBiC,EAAMhC,MAAMkH,EAAUlH,KACtBgC,EAAMmF,MAAMD,EAAUC,KACtBnF,EAAMoF,UAAUF,EAAUE,SAC1BpF,EAAMqF,UAAUH,EAAUG,SAC1BrF,EAAM0C,YAAYwC,EAAUxC;AAAAA,IAEpC,CAAC,GAG0BmC,GAAwBpG,SAASuC,CAAsB,MAClFhF,KAA0BgF,CAAsB,GAChD6D,GAAwBpG,UAAUuC;AAAAA,EAE1C,GAAG,CAACA,GAAwBhF,EAAuB,CAAC,GAGhD,gBAAAsJ,EAACC,MAAM,gBAAe,UAAS,YAAW,UAAS,WAAU,OAAM,IAAI;AAAA,IAAEC,UAAU;AAAA,EAAA,GAC/E,UAAA,gBAAAF,EAACG,IAAA,EAAI,IAAI;AAAA,IAAE9K,OAAAA;AAAAA,IAAOC,QAAAA;AAAAA,EAAAA,GACbI,UAAAA,KACG,gBAAAsK,EAACG,IAAA,EAAI,SAAQ,QAAO,OAAM,QAAO,QAAO,QAAO,IAAI;AAAA,IAAEC,gBAAgB;AAAA,IAAUC,YAAY;AAAA,EAAA,GACvF,UAAA,gBAAAL,EAACM,IAAA,CAAA,CAAgB,GACrB,IAEA,gBAAAC,EAAC,SAAI,OAAO;AAAA,IAAEL,UAAU;AAAA,EAAA,GAAc,KAAK/I,IACvC,UAAA;AAAA,IAAA,gBAAA6I,EAAC,UAAA,EACG,KAAK1I,IACL,OAAO9B,IAAe,GACtB,QAAQC,IAAgB,GACxB,OAAO;AAAA,MACH+K,YAAY;AAAA,MACZN,UAAU;AAAA,MACVO,KAAKlL,EAAOkL;AAAAA,MACZC,MAAMnL,EAAOmL;AAAAA,MACbrL,OAAOG;AAAAA,MACPF,QAAQG;AAAAA,MACRkL,iBAAiB;AAAA,IAAA,GACnB;AAAA,sBAEL,OAAA,EACG,OAAAtL,GACA,QAAAC,GACA,UAAS,WACT,OAAO;AAAA,MAAE4K,UAAU;AAAA,MAAYM,YAAY;AAAA,IAAA,GAC3C,aAAcnH,CAAAA,MAAU;AACpB,MAAIb,IAAY/B,EAAAA,IACXD,GAAgB6C,GAAOpD,CAAI;AAAA,IACpC,GACA,cAAcQ,GAEd,UAAA;AAAA,MAAA,gBAAA8J,EAACK,MAAM,KAAKrL,EAAOkL,KAAK,MAAMlL,EAAOmL,MAChCjJ,UAAAA;AAAAA,QAAAA,KAAsB7B,KACnB,gBAAAoK,EAACa,IAAA,EACG,WAAAlL,GACA,WAAAC,GACA,oBAAAC,GACA,iBAAAC,GACA,mBAAA8D,GACA,mBAAAM,GACA,cAAA1E,GACA,eAAAC,EAAA,CAA6B;AAAA,QAGpCS,MAAe,YACZ,gBAAAqK,EAAAO,GAAA,EACKvI,UAAAA;AAAAA,UAAAA,GAAMuC,IAAI,CAACiG,GAAMpB,MACd,gBAAAK,EAACgB,IAAA,EAEG,MAAK,eACL,QAAO,SACP,aAAa,GACb,MAAMD,GACN,OAAOE,IACP,GAAIC,CAAAA,MAAUA,EAAMzI,GACpB,GAAIyI,CAAAA,MAAUA,EAAMxI,EAAAA,GAPf,QAAQiH,CAAK,GASzB;AAAA,UACAnH,uBACI,KAAA,EACG,UAAA;AAAA,YAAA,gBAAAwH,EAAC,QAAA,EAAK,IAAIvH,IAAIlD,EAAOmL,OAAO/H,IAAK,GAAG,IAAID,IAAInD,EAAOkL,MAAM7H,GAAI,IAAIH,IAAIlD,EAAOmL,OAAO/H,IAAK,GAAG,IAAID,IAAInD,EAAOkL,MAAM7H,GAAI,QAAO,SAAQ,aAAa,EAAA,CAAE;AAAA,YAClJ,gBAAAoH,EAAC,QAAA,EAAK,IAAIvH,IAAIlD,EAAOmL,OAAO/H,GAAI,IAAID,IAAInD,EAAOkL,MAAM7H,IAAK,GAAG,IAAIH,IAAIlD,EAAOmL,OAAO/H,GAAI,IAAID,IAAInD,EAAOkL,MAAM7H,IAAK,GAAG,QAAO,SAAQ,aAAa,EAAA,CAAE;AAAA,8BACjJ,UAAA,EAAO,IAAIH,IAAIlD,EAAOmL,MAAM,IAAIhI,IAAInD,EAAOkL,KAAK,GAAG,GAAG,MAAK,eAAc,QAAO,SAAQ,eAAc,OAAA,CAAM;AAAA,UAAA,EAAA,CACjH;AAAA,QAAA,GAER;AAAA,QAEHzJ,OAAe,MAAM;AAClB,gBAAM2F,IAAK/C,EAAkB,CAAC,GACxBgD,IAAK1C,EAAkB,CAAC;AAC9B,iBACI,gBAAAqG,EAAAO,GAAA,EACKlE,UAAAA;AAAAA,YAAAA,KAAM,KAAKA,KAAMnH,KACd,gBAAAuK,EAAC,UAAK,IAAI,GAAG,IAAIxK,GAAc,IAAIoH,GAAI,IAAIA,GAAI,QAAO,QAAO,aAAa,GAAG,iBAAgB,OAAM,eAAc,OAAA,CAAM;AAAA,YAE1HD,KAAM,KAAKA,KAAMnH,uBACb,QAAA,EAAK,IAAImH,GAAI,IAAIA,GAAI,IAAI,GAAG,IAAIlH,GAAe,QAAO,QAAO,aAAa,GAAG,iBAAgB,OAAM,eAAc,OAAA,CAAM;AAAA,UAAA,GAEhI;AAAA,QAER,GAAA;AAAA,QACA,gBAAAuK,EAAC,QAAA,EACG,KAAK5I,IACL,MAAK,eACL,OAAO5B,GACP,QAAQC,GACR,OAAO;AAAA,UAAE0L,QAAQ1C;AAAAA,QAAAA,GACjB,aAAaE,IACb,WAAWC,IACX,aAAaC,IACb,cAAcC,IACd,cAAcC,IACd,YAAYC,IACZ,aAAaC,IACb,SAASC,IACT,SAASV,IAAiB;AAAA,QAE7BtH,KAAa,CAACsB,KACX,gBAAAwH,EAACoB,MACG,UAAU;AAAA,UACN3I,GAAGmB,EAAkB1C,EAAUuB,CAAC;AAAA,UAChCC,GAAGwB,EAAkBhD,EAAUwB,CAAC;AAAA,QAAA,GAEpC,cAAAlD,GACA,eAAAC,EAAA,CAA6B;AAAA,MAAA,GAGzC;AAAA,wBACCmL,IAAA,EAAM,KAAKrL,EAAOkL,KAAK,MAAMlL,EAAOmL,MACjC,UAAA;AAAA,QAAA,gBAAAV,EAACqB,IAAA,EACG,OAAOnH,GACP,gBAAgB,OAAO;AAAA,UACnBoH,MAAM;AAAA,UACNC,UAAU;AAAA,UACVC,YAAY;AAAA,UACZC,gBAAgB;AAAA,UAChBhJ,GAAG;AAAA,QAAA,IAEP,YAAYiJ,GAASxH,GAAmB,CAAC,EAAA,CAAE;AAAA,0BAE9CyH,IAAA,EACG,KAAKlM,GACL,OAAOmE,GACP,gBAAgB,OAAO;AAAA,UACnB0H,MAAM;AAAA,UACNC,UAAU;AAAA,UACVC,YAAY;AAAA,QAAA,IAEhB,YAAYE,GAAS9H,GAAmB,CAAC,EAAA,CAAE;AAAA,QAE9C7C,MACG,gBAAAwJ,EAAAO,GAAA,EACI,UAAA;AAAA,UAAA,gBAAAd,EAAC4B,MAAQ,KAAK,GAAG,OAAOhI,GAAmB,YAAY,CAAA,GAAG;AAAA,UAC1D,gBAAAoG,EAAC6B,MAAU,OAAO3H,GAAmB,YAAY,CAAA,GAAI,MAAM1E,EAAAA,CAAa;AAAA,QAAA,GAC5E;AAAA,0BAEHsM,IAAA,EAAK,YAAW,UAAS,gBAAe,OAAM,OAAO,KAAK,UAAU,IAAI,GAAGrM,IAAgB,GAAG,GAAG,GAAG,IAAI,KACpGoB,UAAAA,IACL;AAAA,QACA,gBAAAmJ,EAAC8B,IAAA,EAAK,YAAW,UAAS,gBAAe,SAAQ,UAAU,IAAI,GAAGrM,GAAe,GAAGD,IAAe,GAAG,IAAI,IACrGsB,UAAAA,GAAAA,CACL;AAAA,MAAA,GACJ;AAAA,wBACCiL,IAAA,EACG,WAAApM,GACA,mBAAAiE,GACA,mBAAAM,GACA,cAAA1E,GACA,eAAAC,GACA,QAAAF,GAAe;AAAA,MAElB0B,GAAoB+K,UACjB,gBAAAhC,EAACiC,IAAA,EACG,oBAAAhL,GACA,eAAAxB,GACA,SAASF,EAAOmL,OAAOlL,IAAe,IACtC,WAAWD,EAAOkL,IAAAA,CAAI;AAAA,IAAA,EAAA,CAGlC;AAAA,EAAA,EAAA,CACJ,GAER,GACJ;AAER;"}
1
+ {"version":3,"file":"visualization.es83.js","sources":["../../../node_modules/.pnpm/d3-array@3.2.1/node_modules/d3-array/src/ascending.js"],"sourcesContent":["export default function ascending(a, b) {\n return a == null || b == null ? NaN : a < b ? -1 : a > b ? 1 : a >= b ? 0 : NaN;\n}\n"],"names":["ascending","a","b"],"mappings":"AAAe,SAASA,EAAUC,GAAGC,GAAG;AACtC,SAAOD,KAAK,QAAQC,KAAK,OAAO,MAAMD,IAAIC,IAAI,KAAKD,IAAIC,IAAI,IAAID,KAAKC,IAAI,IAAI;AAC9E;","x_google_ignoreList":[0]}