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

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 (1145) hide show
  1. package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts +3 -2
  2. package/dist/src/components/ScatterPlot/ScatterPlotViewport.d.ts.map +1 -1
  3. package/dist/src/components/ScatterPlot/scatterplot.d.ts.map +1 -1
  4. package/dist/src/components/ScatterPlot/types.d.ts +12 -0
  5. package/dist/src/components/ScatterPlot/types.d.ts.map +1 -1
  6. package/dist/visualization.es10.js +11 -11
  7. package/dist/visualization.es100.js +32 -14
  8. package/dist/visualization.es100.js.map +1 -1
  9. package/dist/visualization.es101.js +9 -9
  10. package/dist/visualization.es101.js.map +1 -1
  11. package/dist/visualization.es102.js +25 -73
  12. package/dist/visualization.es102.js.map +1 -1
  13. package/dist/visualization.es103.js +68 -31
  14. package/dist/visualization.es103.js.map +1 -1
  15. package/dist/visualization.es104.js +58 -13
  16. package/dist/visualization.es104.js.map +1 -1
  17. package/dist/visualization.es105.js +31 -63
  18. package/dist/visualization.es105.js.map +1 -1
  19. package/dist/visualization.es106.js +18 -61
  20. package/dist/visualization.es106.js.map +1 -1
  21. package/dist/visualization.es107.js +14 -32
  22. package/dist/visualization.es107.js.map +1 -1
  23. package/dist/visualization.es108.js +26 -45
  24. package/dist/visualization.es108.js.map +1 -1
  25. package/dist/visualization.es109.js +222 -76
  26. package/dist/visualization.es109.js.map +1 -1
  27. package/dist/visualization.es11.js +10 -10
  28. package/dist/visualization.es110.js +2 -25
  29. package/dist/visualization.es110.js.map +1 -1
  30. package/dist/visualization.es111.js +556 -84
  31. package/dist/visualization.es111.js.map +1 -1
  32. package/dist/visualization.es112.js +213 -35
  33. package/dist/visualization.es112.js.map +1 -1
  34. package/dist/visualization.es113.js +2 -26
  35. package/dist/visualization.es113.js.map +1 -1
  36. package/dist/visualization.es114.js +4796 -66
  37. package/dist/visualization.es114.js.map +1 -1
  38. package/dist/visualization.es115.js +25 -222
  39. package/dist/visualization.es115.js.map +1 -1
  40. package/dist/visualization.es116.js +45 -2
  41. package/dist/visualization.es116.js.map +1 -1
  42. package/dist/visualization.es117.js +144 -557
  43. package/dist/visualization.es117.js.map +1 -1
  44. package/dist/visualization.es118.js +146 -213
  45. package/dist/visualization.es118.js.map +1 -1
  46. package/dist/visualization.es119.js +32 -2
  47. package/dist/visualization.es119.js.map +1 -1
  48. package/dist/visualization.es12.js +2 -2
  49. package/dist/visualization.es120.js +43 -4798
  50. package/dist/visualization.es120.js.map +1 -1
  51. package/dist/visualization.es121.js +76 -25
  52. package/dist/visualization.es121.js.map +1 -1
  53. package/dist/visualization.es122.js +24 -44
  54. package/dist/visualization.es122.js.map +1 -1
  55. package/dist/visualization.es123.js +82 -141
  56. package/dist/visualization.es123.js.map +1 -1
  57. package/dist/visualization.es124.js +35 -146
  58. package/dist/visualization.es124.js.map +1 -1
  59. package/dist/visualization.es125.js +16 -62
  60. package/dist/visualization.es125.js.map +1 -1
  61. package/dist/visualization.es126.js +64 -7
  62. package/dist/visualization.es126.js.map +1 -1
  63. package/dist/visualization.es127.js +7 -5
  64. package/dist/visualization.es127.js.map +1 -1
  65. package/dist/visualization.es128.js +5 -43
  66. package/dist/visualization.es128.js.map +1 -1
  67. package/dist/visualization.es129.js +42 -30
  68. package/dist/visualization.es129.js.map +1 -1
  69. package/dist/visualization.es13.js +7 -7
  70. package/dist/visualization.es130.js +60 -7
  71. package/dist/visualization.es130.js.map +1 -1
  72. package/dist/visualization.es131.js +38 -6
  73. package/dist/visualization.es131.js.map +1 -1
  74. package/dist/visualization.es132.js +36 -3
  75. package/dist/visualization.es132.js.map +1 -1
  76. package/dist/visualization.es133.js +83 -16
  77. package/dist/visualization.es133.js.map +1 -1
  78. package/dist/visualization.es134.js +28 -16
  79. package/dist/visualization.es134.js.map +1 -1
  80. package/dist/visualization.es135.js +6 -31
  81. package/dist/visualization.es135.js.map +1 -1
  82. package/dist/visualization.es136.js +4 -16
  83. package/dist/visualization.es136.js.map +1 -1
  84. package/dist/visualization.es137.js +3 -10
  85. package/dist/visualization.es137.js.map +1 -1
  86. package/dist/visualization.es138.js +84 -6
  87. package/dist/visualization.es138.js.map +1 -1
  88. package/dist/visualization.es139.js +89 -6
  89. package/dist/visualization.es139.js.map +1 -1
  90. package/dist/visualization.es140.js +11 -9
  91. package/dist/visualization.es140.js.map +1 -1
  92. package/dist/visualization.es141.js +5 -4
  93. package/dist/visualization.es141.js.map +1 -1
  94. package/dist/visualization.es142.js +14 -4
  95. package/dist/visualization.es142.js.map +1 -1
  96. package/dist/visualization.es143.js +7 -9
  97. package/dist/visualization.es143.js.map +1 -1
  98. package/dist/visualization.es144.js +13 -4
  99. package/dist/visualization.es144.js.map +1 -1
  100. package/dist/visualization.es145.js +8 -13
  101. package/dist/visualization.es145.js.map +1 -1
  102. package/dist/visualization.es146.js +15 -26
  103. package/dist/visualization.es146.js.map +1 -1
  104. package/dist/visualization.es147.js +11 -20
  105. package/dist/visualization.es147.js.map +1 -1
  106. package/dist/visualization.es148.js +5 -27
  107. package/dist/visualization.es148.js.map +1 -1
  108. package/dist/visualization.es149.js +10 -59
  109. package/dist/visualization.es149.js.map +1 -1
  110. package/dist/visualization.es15.js +8 -8
  111. package/dist/visualization.es150.js +3 -38
  112. package/dist/visualization.es150.js.map +1 -1
  113. package/dist/visualization.es151.js +2 -37
  114. package/dist/visualization.es151.js.map +1 -1
  115. package/dist/visualization.es152.js +10 -83
  116. package/dist/visualization.es152.js.map +1 -1
  117. package/dist/visualization.es153.js +29 -27
  118. package/dist/visualization.es153.js.map +1 -1
  119. package/dist/visualization.es154.js +41 -6
  120. package/dist/visualization.es154.js.map +1 -1
  121. package/dist/visualization.es155.js +49 -4
  122. package/dist/visualization.es155.js.map +1 -1
  123. package/dist/visualization.es156.js +3 -4
  124. package/dist/visualization.es156.js.map +1 -1
  125. package/dist/visualization.es157.js +3 -4
  126. package/dist/visualization.es157.js.map +1 -1
  127. package/dist/visualization.es158.js +5 -5
  128. package/dist/visualization.es158.js.map +1 -1
  129. package/dist/visualization.es159.js +4 -33
  130. package/dist/visualization.es159.js.map +1 -1
  131. package/dist/visualization.es160.js +10 -15
  132. package/dist/visualization.es160.js.map +1 -1
  133. package/dist/visualization.es161.js +3 -7
  134. package/dist/visualization.es161.js.map +1 -1
  135. package/dist/visualization.es162.js +15 -9
  136. package/dist/visualization.es162.js.map +1 -1
  137. package/dist/visualization.es163.js +17 -8
  138. package/dist/visualization.es163.js.map +1 -1
  139. package/dist/visualization.es164.js +36 -6
  140. package/dist/visualization.es164.js.map +1 -1
  141. package/dist/visualization.es165.js +2 -8
  142. package/dist/visualization.es165.js.map +1 -1
  143. package/dist/visualization.es166.js +2 -10
  144. package/dist/visualization.es166.js.map +1 -1
  145. package/dist/visualization.es167.js +4 -7
  146. package/dist/visualization.es167.js.map +1 -1
  147. package/dist/visualization.es168.js +14 -6
  148. package/dist/visualization.es168.js.map +1 -1
  149. package/dist/visualization.es169.js +3 -6
  150. package/dist/visualization.es169.js.map +1 -1
  151. package/dist/visualization.es170.js +7 -15
  152. package/dist/visualization.es170.js.map +1 -1
  153. package/dist/visualization.es171.js +3 -6
  154. package/dist/visualization.es171.js.map +1 -1
  155. package/dist/visualization.es172.js +6 -3
  156. package/dist/visualization.es172.js.map +1 -1
  157. package/dist/visualization.es173.js +71 -6
  158. package/dist/visualization.es173.js.map +1 -1
  159. package/dist/visualization.es174.js +16 -6
  160. package/dist/visualization.es174.js.map +1 -1
  161. package/dist/visualization.es175.js +11 -9
  162. package/dist/visualization.es175.js.map +1 -1
  163. package/dist/visualization.es176.js +5 -33
  164. package/dist/visualization.es176.js.map +1 -1
  165. package/dist/visualization.es177.js +16 -112
  166. package/dist/visualization.es177.js.map +1 -1
  167. package/dist/visualization.es178.js +3 -72
  168. package/dist/visualization.es178.js.map +1 -1
  169. package/dist/visualization.es179.js +35 -22
  170. package/dist/visualization.es179.js.map +1 -1
  171. package/dist/visualization.es18.js +1 -1
  172. package/dist/visualization.es180.js +68 -18
  173. package/dist/visualization.es180.js.map +1 -1
  174. package/dist/visualization.es181.js +18 -36
  175. package/dist/visualization.es181.js.map +1 -1
  176. package/dist/visualization.es182.js +22 -7
  177. package/dist/visualization.es182.js.map +1 -1
  178. package/dist/visualization.es183.js +38 -10
  179. package/dist/visualization.es183.js.map +1 -1
  180. package/dist/visualization.es184.js +7 -17
  181. package/dist/visualization.es184.js.map +1 -1
  182. package/dist/visualization.es185.js +11 -35
  183. package/dist/visualization.es185.js.map +1 -1
  184. package/dist/visualization.es186.js +14 -21
  185. package/dist/visualization.es186.js.map +1 -1
  186. package/dist/visualization.es187.js +34 -25
  187. package/dist/visualization.es187.js.map +1 -1
  188. package/dist/visualization.es188.js +21 -81
  189. package/dist/visualization.es188.js.map +1 -1
  190. package/dist/visualization.es189.js +25 -87
  191. package/dist/visualization.es189.js.map +1 -1
  192. package/dist/visualization.es190.js +2 -13
  193. package/dist/visualization.es190.js.map +1 -1
  194. package/dist/visualization.es191.js +1605 -5
  195. package/dist/visualization.es191.js.map +1 -1
  196. package/dist/visualization.es192.js +74 -14
  197. package/dist/visualization.es192.js.map +1 -1
  198. package/dist/visualization.es193.js +2 -7
  199. package/dist/visualization.es193.js.map +1 -1
  200. package/dist/visualization.es194.js +482 -13
  201. package/dist/visualization.es194.js.map +1 -1
  202. package/dist/visualization.es195.js +2 -72
  203. package/dist/visualization.es195.js.map +1 -1
  204. package/dist/visualization.es196.js +30 -16
  205. package/dist/visualization.es196.js.map +1 -1
  206. package/dist/visualization.es197.js +7 -11
  207. package/dist/visualization.es197.js.map +1 -1
  208. package/dist/visualization.es198.js +6 -4
  209. package/dist/visualization.es198.js.map +1 -1
  210. package/dist/visualization.es199.js +4 -8
  211. package/dist/visualization.es199.js.map +1 -1
  212. package/dist/visualization.es2.js +8 -8
  213. package/dist/visualization.es20.js +63 -10
  214. package/dist/visualization.es20.js.map +1 -1
  215. package/dist/visualization.es200.js +16 -15
  216. package/dist/visualization.es200.js.map +1 -1
  217. package/dist/visualization.es201.js +16 -10
  218. package/dist/visualization.es201.js.map +1 -1
  219. package/dist/visualization.es202.js +32 -5
  220. package/dist/visualization.es202.js.map +1 -1
  221. package/dist/visualization.es203.js +15 -10
  222. package/dist/visualization.es203.js.map +1 -1
  223. package/dist/visualization.es204.js +10 -3
  224. package/dist/visualization.es204.js.map +1 -1
  225. package/dist/visualization.es205.js +7 -2
  226. package/dist/visualization.es205.js.map +1 -1
  227. package/dist/visualization.es206.js +7 -11
  228. package/dist/visualization.es206.js.map +1 -1
  229. package/dist/visualization.es207.js +9 -29
  230. package/dist/visualization.es207.js.map +1 -1
  231. package/dist/visualization.es208.js +4 -42
  232. package/dist/visualization.es208.js.map +1 -1
  233. package/dist/visualization.es209.js +4 -49
  234. package/dist/visualization.es209.js.map +1 -1
  235. package/dist/visualization.es21.js +9 -53
  236. package/dist/visualization.es21.js.map +1 -1
  237. package/dist/visualization.es210.js +9 -3
  238. package/dist/visualization.es210.js.map +1 -1
  239. package/dist/visualization.es211.js +5 -3
  240. package/dist/visualization.es211.js.map +1 -1
  241. package/dist/visualization.es212.js +12 -5
  242. package/dist/visualization.es212.js.map +1 -1
  243. package/dist/visualization.es213.js +26 -4
  244. package/dist/visualization.es213.js.map +1 -1
  245. package/dist/visualization.es214.js +19 -10
  246. package/dist/visualization.es214.js.map +1 -1
  247. package/dist/visualization.es215.js +27 -3
  248. package/dist/visualization.es215.js.map +1 -1
  249. package/dist/visualization.es216.js +8 -16
  250. package/dist/visualization.es216.js.map +1 -1
  251. package/dist/visualization.es217.js +6 -18
  252. package/dist/visualization.es217.js.map +1 -1
  253. package/dist/visualization.es218.js +7 -36
  254. package/dist/visualization.es218.js.map +1 -1
  255. package/dist/visualization.es219.js +10 -2
  256. package/dist/visualization.es219.js.map +1 -1
  257. package/dist/visualization.es22.js +54 -35
  258. package/dist/visualization.es22.js.map +1 -1
  259. package/dist/visualization.es220.js +7 -2
  260. package/dist/visualization.es220.js.map +1 -1
  261. package/dist/visualization.es221.js +7 -4
  262. package/dist/visualization.es221.js.map +1 -1
  263. package/dist/visualization.es222.js +5 -14
  264. package/dist/visualization.es222.js.map +1 -1
  265. package/dist/visualization.es223.js +15 -3
  266. package/dist/visualization.es223.js.map +1 -1
  267. package/dist/visualization.es224.js +6 -7
  268. package/dist/visualization.es224.js.map +1 -1
  269. package/dist/visualization.es225.js +4 -3
  270. package/dist/visualization.es225.js.map +1 -1
  271. package/dist/visualization.es226.js +6 -6
  272. package/dist/visualization.es226.js.map +1 -1
  273. package/dist/visualization.es227.js +6 -74
  274. package/dist/visualization.es227.js.map +1 -1
  275. package/dist/visualization.es228.js +10 -2
  276. package/dist/visualization.es228.js.map +1 -1
  277. package/dist/visualization.es229.js +32 -482
  278. package/dist/visualization.es229.js.map +1 -1
  279. package/dist/visualization.es23.js +54 -43
  280. package/dist/visualization.es23.js.map +1 -1
  281. package/dist/visualization.es230.js +115 -2
  282. package/dist/visualization.es230.js.map +1 -1
  283. package/dist/visualization.es231.js +3 -123
  284. package/dist/visualization.es231.js.map +1 -1
  285. package/dist/visualization.es232.js +6 -2
  286. package/dist/visualization.es232.js.map +1 -1
  287. package/dist/visualization.es233.js +33 -1605
  288. package/dist/visualization.es233.js.map +1 -1
  289. package/dist/visualization.es234.js +14 -17
  290. package/dist/visualization.es234.js.map +1 -1
  291. package/dist/visualization.es235.js +7 -3
  292. package/dist/visualization.es235.js.map +1 -1
  293. package/dist/visualization.es236.js +11 -35
  294. package/dist/visualization.es236.js.map +1 -1
  295. package/dist/visualization.es238.js +123 -17
  296. package/dist/visualization.es238.js.map +1 -1
  297. package/dist/visualization.es24.js +147 -7
  298. package/dist/visualization.es24.js.map +1 -1
  299. package/dist/visualization.es241.js +3 -29
  300. package/dist/visualization.es241.js.map +1 -1
  301. package/dist/visualization.es242.js +3 -20
  302. package/dist/visualization.es242.js.map +1 -1
  303. package/dist/visualization.es243.js +3 -3
  304. package/dist/visualization.es243.js.map +1 -1
  305. package/dist/visualization.es244.js +3 -3
  306. package/dist/visualization.es244.js.map +1 -1
  307. package/dist/visualization.es245.js +3 -3
  308. package/dist/visualization.es245.js.map +1 -1
  309. package/dist/visualization.es246.js +3 -3
  310. package/dist/visualization.es246.js.map +1 -1
  311. package/dist/visualization.es247.js +3 -3
  312. package/dist/visualization.es247.js.map +1 -1
  313. package/dist/visualization.es248.js +7 -3
  314. package/dist/visualization.es248.js.map +1 -1
  315. package/dist/visualization.es249.js +48 -3
  316. package/dist/visualization.es249.js.map +1 -1
  317. package/dist/visualization.es25.js +110 -47
  318. package/dist/visualization.es25.js.map +1 -1
  319. package/dist/visualization.es250.js +3 -7
  320. package/dist/visualization.es250.js.map +1 -1
  321. package/dist/visualization.es251.js +5 -47
  322. package/dist/visualization.es251.js.map +1 -1
  323. package/dist/visualization.es252.js +4 -3
  324. package/dist/visualization.es252.js.map +1 -1
  325. package/dist/visualization.es253.js +3 -6
  326. package/dist/visualization.es253.js.map +1 -1
  327. package/dist/visualization.es254.js +6 -4
  328. package/dist/visualization.es254.js.map +1 -1
  329. package/dist/visualization.es255.js +4 -3
  330. package/dist/visualization.es255.js.map +1 -1
  331. package/dist/visualization.es256.js +23 -6
  332. package/dist/visualization.es256.js.map +1 -1
  333. package/dist/visualization.es257.js +53 -4
  334. package/dist/visualization.es257.js.map +1 -1
  335. package/dist/visualization.es258.js +21 -7
  336. package/dist/visualization.es258.js.map +1 -1
  337. package/dist/visualization.es259.js +3 -35
  338. package/dist/visualization.es259.js.map +1 -1
  339. package/dist/visualization.es26.js +7 -33
  340. package/dist/visualization.es26.js.map +1 -1
  341. package/dist/visualization.es260.js +11 -3
  342. package/dist/visualization.es260.js.map +1 -1
  343. package/dist/visualization.es261.js +36 -3
  344. package/dist/visualization.es261.js.map +1 -1
  345. package/dist/visualization.es262.js +260 -6
  346. package/dist/visualization.es262.js.map +1 -1
  347. package/dist/visualization.es263.js +58 -11
  348. package/dist/visualization.es263.js.map +1 -1
  349. package/dist/visualization.es264.js +6 -2
  350. package/dist/visualization.es264.js.map +1 -1
  351. package/dist/visualization.es265.js +7 -3
  352. package/dist/visualization.es265.js.map +1 -1
  353. package/dist/visualization.es266.js +140 -3
  354. package/dist/visualization.es266.js.map +1 -1
  355. package/dist/visualization.es267.js +5 -10
  356. package/dist/visualization.es267.js.map +1 -1
  357. package/dist/visualization.es268.js +21 -25
  358. package/dist/visualization.es268.js.map +1 -1
  359. package/dist/visualization.es269.js +37 -4
  360. package/dist/visualization.es269.js.map +1 -1
  361. package/dist/visualization.es27.js +7 -7
  362. package/dist/visualization.es27.js.map +1 -1
  363. package/dist/visualization.es270.js +29 -27
  364. package/dist/visualization.es270.js.map +1 -1
  365. package/dist/visualization.es271.js +14 -61
  366. package/dist/visualization.es271.js.map +1 -1
  367. package/dist/visualization.es272.js +15 -234
  368. package/dist/visualization.es272.js.map +1 -1
  369. package/dist/visualization.es273.js +7 -991
  370. package/dist/visualization.es273.js.map +1 -1
  371. package/dist/visualization.es274.js +109 -23
  372. package/dist/visualization.es274.js.map +1 -1
  373. package/dist/visualization.es275.js +12 -53
  374. package/dist/visualization.es275.js.map +1 -1
  375. package/dist/visualization.es276.js +138 -50
  376. package/dist/visualization.es276.js.map +1 -1
  377. package/dist/visualization.es277.js +5 -31
  378. package/dist/visualization.es277.js.map +1 -1
  379. package/dist/visualization.es278.js +71 -33
  380. package/dist/visualization.es278.js.map +1 -1
  381. package/dist/visualization.es279.js +35 -12
  382. package/dist/visualization.es279.js.map +1 -1
  383. package/dist/visualization.es28.js +8 -44
  384. package/dist/visualization.es28.js.map +1 -1
  385. package/dist/visualization.es280.js +21 -3
  386. package/dist/visualization.es280.js.map +1 -1
  387. package/dist/visualization.es281.js +3 -11
  388. package/dist/visualization.es281.js.map +1 -1
  389. package/dist/visualization.es282.js +24 -36
  390. package/dist/visualization.es282.js.map +1 -1
  391. package/dist/visualization.es283.js +30 -260
  392. package/dist/visualization.es283.js.map +1 -1
  393. package/dist/visualization.es284.js +2 -60
  394. package/dist/visualization.es284.js.map +1 -1
  395. package/dist/visualization.es285.js +2 -6
  396. package/dist/visualization.es285.js.map +1 -1
  397. package/dist/visualization.es286.js +5 -21
  398. package/dist/visualization.es286.js.map +1 -1
  399. package/dist/visualization.es287.js +15 -38
  400. package/dist/visualization.es287.js.map +1 -1
  401. package/dist/visualization.es288.js +33 -33
  402. package/dist/visualization.es288.js.map +1 -1
  403. package/dist/visualization.es289.js +28 -15
  404. package/dist/visualization.es289.js.map +1 -1
  405. package/dist/visualization.es29.js +20 -7
  406. package/dist/visualization.es29.js.map +1 -1
  407. package/dist/visualization.es290.js +11 -19
  408. package/dist/visualization.es290.js.map +1 -1
  409. package/dist/visualization.es291.js +7 -9
  410. package/dist/visualization.es291.js.map +1 -1
  411. package/dist/visualization.es292.js +13 -7
  412. package/dist/visualization.es292.js.map +1 -1
  413. package/dist/visualization.es293.js +12 -141
  414. package/dist/visualization.es293.js.map +1 -1
  415. package/dist/visualization.es294.js +2 -6
  416. package/dist/visualization.es294.js.map +1 -1
  417. package/dist/visualization.es295.js +3 -110
  418. package/dist/visualization.es295.js.map +1 -1
  419. package/dist/visualization.es296.js +2 -13
  420. package/dist/visualization.es296.js.map +1 -1
  421. package/dist/visualization.es297.js +82 -120
  422. package/dist/visualization.es297.js.map +1 -1
  423. package/dist/visualization.es298.js +4 -5
  424. package/dist/visualization.es298.js.map +1 -1
  425. package/dist/visualization.es299.js +3 -72
  426. package/dist/visualization.es299.js.map +1 -1
  427. package/dist/visualization.es3.js +12 -12
  428. package/dist/visualization.es30.js +34 -29
  429. package/dist/visualization.es30.js.map +1 -1
  430. package/dist/visualization.es300.js +18 -35
  431. package/dist/visualization.es300.js.map +1 -1
  432. package/dist/visualization.es301.js +5 -20
  433. package/dist/visualization.es301.js.map +1 -1
  434. package/dist/visualization.es302.js +14 -3
  435. package/dist/visualization.es302.js.map +1 -1
  436. package/dist/visualization.es303.js +4 -24
  437. package/dist/visualization.es303.js.map +1 -1
  438. package/dist/visualization.es304.js +28 -30
  439. package/dist/visualization.es304.js.map +1 -1
  440. package/dist/visualization.es305.js +7 -2
  441. package/dist/visualization.es305.js.map +1 -1
  442. package/dist/visualization.es306.js +2 -2
  443. package/dist/visualization.es306.js.map +1 -1
  444. package/dist/visualization.es307.js +20 -6
  445. package/dist/visualization.es307.js.map +1 -1
  446. package/dist/visualization.es308.js +21 -15
  447. package/dist/visualization.es308.js.map +1 -1
  448. package/dist/visualization.es309.js +5 -34
  449. package/dist/visualization.es309.js.map +1 -1
  450. package/dist/visualization.es31.js +56 -63
  451. package/dist/visualization.es31.js.map +1 -1
  452. package/dist/visualization.es310.js +7 -27
  453. package/dist/visualization.es310.js.map +1 -1
  454. package/dist/visualization.es311.js +18 -10
  455. package/dist/visualization.es311.js.map +1 -1
  456. package/dist/visualization.es312.js +44 -7
  457. package/dist/visualization.es312.js.map +1 -1
  458. package/dist/visualization.es313.js +7 -14
  459. package/dist/visualization.es313.js.map +1 -1
  460. package/dist/visualization.es314.js +20 -12
  461. package/dist/visualization.es314.js.map +1 -1
  462. package/dist/visualization.es315.js +54 -2
  463. package/dist/visualization.es315.js.map +1 -1
  464. package/dist/visualization.es316.js +27 -3
  465. package/dist/visualization.es316.js.map +1 -1
  466. package/dist/visualization.es317.js +11 -2
  467. package/dist/visualization.es317.js.map +1 -1
  468. package/dist/visualization.es318.js +17 -102
  469. package/dist/visualization.es318.js.map +1 -1
  470. package/dist/visualization.es319.js +11 -4
  471. package/dist/visualization.es319.js.map +1 -1
  472. package/dist/visualization.es32.js +47 -62
  473. package/dist/visualization.es32.js.map +1 -1
  474. package/dist/visualization.es320.js +5 -3
  475. package/dist/visualization.es320.js.map +1 -1
  476. package/dist/visualization.es321.js +4 -19
  477. package/dist/visualization.es321.js.map +1 -1
  478. package/dist/visualization.es322.js +3 -5
  479. package/dist/visualization.es322.js.map +1 -1
  480. package/dist/visualization.es323.js +172 -11
  481. package/dist/visualization.es323.js.map +1 -1
  482. package/dist/visualization.es324.js +39 -4
  483. package/dist/visualization.es324.js.map +1 -1
  484. package/dist/visualization.es325.js +5 -28
  485. package/dist/visualization.es325.js.map +1 -1
  486. package/dist/visualization.es326.js +3 -6
  487. package/dist/visualization.es326.js.map +1 -1
  488. package/dist/visualization.es327.js +2 -2
  489. package/dist/visualization.es327.js.map +1 -1
  490. package/dist/visualization.es328.js +30 -20
  491. package/dist/visualization.es328.js.map +1 -1
  492. package/dist/visualization.es329.js +8 -21
  493. package/dist/visualization.es329.js.map +1 -1
  494. package/dist/visualization.es33.js +45 -4
  495. package/dist/visualization.es33.js.map +1 -1
  496. package/dist/visualization.es330.js +10 -5
  497. package/dist/visualization.es330.js.map +1 -1
  498. package/dist/visualization.es331.js +3 -7
  499. package/dist/visualization.es331.js.map +1 -1
  500. package/dist/visualization.es332.js +65 -18
  501. package/dist/visualization.es332.js.map +1 -1
  502. package/dist/visualization.es333.js +7 -44
  503. package/dist/visualization.es333.js.map +1 -1
  504. package/dist/visualization.es334.js +5 -7
  505. package/dist/visualization.es334.js.map +1 -1
  506. package/dist/visualization.es335.js +12 -18
  507. package/dist/visualization.es335.js.map +1 -1
  508. package/dist/visualization.es336.js +34 -53
  509. package/dist/visualization.es336.js.map +1 -1
  510. package/dist/visualization.es337.js +4 -26
  511. package/dist/visualization.es337.js.map +1 -1
  512. package/dist/visualization.es338.js +10 -11
  513. package/dist/visualization.es338.js.map +1 -1
  514. package/dist/visualization.es339.js +2 -19
  515. package/dist/visualization.es339.js.map +1 -1
  516. package/dist/visualization.es34.js +20 -46
  517. package/dist/visualization.es34.js.map +1 -1
  518. package/dist/visualization.es340.js +5 -12
  519. package/dist/visualization.es340.js.map +1 -1
  520. package/dist/visualization.es341.js +2 -5
  521. package/dist/visualization.es341.js.map +1 -1
  522. package/dist/visualization.es342.js +10 -4
  523. package/dist/visualization.es342.js.map +1 -1
  524. package/dist/visualization.es343.js +10 -4
  525. package/dist/visualization.es343.js.map +1 -1
  526. package/dist/visualization.es344.js +12 -175
  527. package/dist/visualization.es344.js.map +1 -1
  528. package/dist/visualization.es345.js +2 -40
  529. package/dist/visualization.es345.js.map +1 -1
  530. package/dist/visualization.es346.js +10 -6
  531. package/dist/visualization.es346.js.map +1 -1
  532. package/dist/visualization.es347.js +7 -3
  533. package/dist/visualization.es347.js.map +1 -1
  534. package/dist/visualization.es348.js +6 -2
  535. package/dist/visualization.es348.js.map +1 -1
  536. package/dist/visualization.es349.js +25 -30
  537. package/dist/visualization.es349.js.map +1 -1
  538. package/dist/visualization.es35.js +115 -3
  539. package/dist/visualization.es35.js.map +1 -1
  540. package/dist/visualization.es350.js +19 -8
  541. package/dist/visualization.es350.js.map +1 -1
  542. package/dist/visualization.es351.js +39 -9
  543. package/dist/visualization.es351.js.map +1 -1
  544. package/dist/visualization.es352.js +3 -4
  545. package/dist/visualization.es352.js.map +1 -1
  546. package/dist/visualization.es353.js +8 -65
  547. package/dist/visualization.es353.js.map +1 -1
  548. package/dist/visualization.es354.js +9 -7
  549. package/dist/visualization.es354.js.map +1 -1
  550. package/dist/visualization.es355.js +35 -4
  551. package/dist/visualization.es355.js.map +1 -1
  552. package/dist/visualization.es356.js +9 -13
  553. package/dist/visualization.es356.js.map +1 -1
  554. package/dist/visualization.es357.js +31 -34
  555. package/dist/visualization.es357.js.map +1 -1
  556. package/dist/visualization.es358.js +4 -4
  557. package/dist/visualization.es358.js.map +1 -1
  558. package/dist/visualization.es359.js +2 -10
  559. package/dist/visualization.es359.js.map +1 -1
  560. package/dist/visualization.es36.js +97 -20
  561. package/dist/visualization.es36.js.map +1 -1
  562. package/dist/visualization.es360.js +16 -2
  563. package/dist/visualization.es360.js.map +1 -1
  564. package/dist/visualization.es361.js +24 -4
  565. package/dist/visualization.es361.js.map +1 -1
  566. package/dist/visualization.es362.js +2 -2
  567. package/dist/visualization.es362.js.map +1 -1
  568. package/dist/visualization.es363.js +62 -9
  569. package/dist/visualization.es363.js.map +1 -1
  570. package/dist/visualization.es364.js +2 -10
  571. package/dist/visualization.es364.js.map +1 -1
  572. package/dist/visualization.es365.js +2 -13
  573. package/dist/visualization.es365.js.map +1 -1
  574. package/dist/visualization.es366.js +6 -2
  575. package/dist/visualization.es366.js.map +1 -1
  576. package/dist/visualization.es367.js +37 -10
  577. package/dist/visualization.es367.js.map +1 -1
  578. package/dist/visualization.es368.js +20 -7
  579. package/dist/visualization.es368.js.map +1 -1
  580. package/dist/visualization.es369.js +3 -5
  581. package/dist/visualization.es369.js.map +1 -1
  582. package/dist/visualization.es37.js +31 -278
  583. package/dist/visualization.es37.js.map +1 -1
  584. package/dist/visualization.es370.js +4 -24
  585. package/dist/visualization.es370.js.map +1 -1
  586. package/dist/visualization.es371.js +5 -19
  587. package/dist/visualization.es371.js.map +1 -1
  588. package/dist/visualization.es372.js +46 -38
  589. package/dist/visualization.es372.js.map +1 -1
  590. package/dist/visualization.es373.js +27 -3
  591. package/dist/visualization.es373.js.map +1 -1
  592. package/dist/visualization.es374.js +16 -8
  593. package/dist/visualization.es374.js.map +1 -1
  594. package/dist/visualization.es375.js +10 -9
  595. package/dist/visualization.es375.js.map +1 -1
  596. package/dist/visualization.es376.js +18 -34
  597. package/dist/visualization.es376.js.map +1 -1
  598. package/dist/visualization.es377.js +14 -10
  599. package/dist/visualization.es377.js.map +1 -1
  600. package/dist/visualization.es378.js +3 -31
  601. package/dist/visualization.es378.js.map +1 -1
  602. package/dist/visualization.es379.js +13 -5
  603. package/dist/visualization.es379.js.map +1 -1
  604. package/dist/visualization.es38.js +31 -16
  605. package/dist/visualization.es38.js.map +1 -1
  606. package/dist/visualization.es380.js +49 -2
  607. package/dist/visualization.es380.js.map +1 -1
  608. package/dist/visualization.es381.js +5 -15
  609. package/dist/visualization.es381.js.map +1 -1
  610. package/dist/visualization.es382.js +12 -24
  611. package/dist/visualization.es382.js.map +1 -1
  612. package/dist/visualization.es383.js +2 -2
  613. package/dist/visualization.es383.js.map +1 -1
  614. package/dist/visualization.es384.js +6 -62
  615. package/dist/visualization.es384.js.map +1 -1
  616. package/dist/visualization.es385.js +210 -2
  617. package/dist/visualization.es385.js.map +1 -1
  618. package/dist/visualization.es386.js +27 -2
  619. package/dist/visualization.es386.js.map +1 -1
  620. package/dist/visualization.es387.js +3 -5
  621. package/dist/visualization.es387.js.map +1 -1
  622. package/dist/visualization.es388.js +15 -36
  623. package/dist/visualization.es388.js.map +1 -1
  624. package/dist/visualization.es389.js +15 -21
  625. package/dist/visualization.es389.js.map +1 -1
  626. package/dist/visualization.es39.js +66 -7
  627. package/dist/visualization.es39.js.map +1 -1
  628. package/dist/visualization.es390.js +15 -4
  629. package/dist/visualization.es390.js.map +1 -1
  630. package/dist/visualization.es391.js +2 -5
  631. package/dist/visualization.es391.js.map +1 -1
  632. package/dist/visualization.es392.js +2 -5
  633. package/dist/visualization.es392.js.map +1 -1
  634. package/dist/visualization.es393.js +2 -49
  635. package/dist/visualization.es393.js.map +1 -1
  636. package/dist/visualization.es394.js +4 -26
  637. package/dist/visualization.es394.js.map +1 -1
  638. package/dist/visualization.es395.js +2 -17
  639. package/dist/visualization.es395.js.map +1 -1
  640. package/dist/visualization.es396.js +25 -10
  641. package/dist/visualization.es396.js.map +1 -1
  642. package/dist/visualization.es397.js +20 -18
  643. package/dist/visualization.es397.js.map +1 -1
  644. package/dist/visualization.es398.js +8 -13
  645. package/dist/visualization.es398.js.map +1 -1
  646. package/dist/visualization.es399.js +68 -4
  647. package/dist/visualization.es399.js.map +1 -1
  648. package/dist/visualization.es4.js +6 -6
  649. package/dist/visualization.es40.js +113 -70
  650. package/dist/visualization.es40.js.map +1 -1
  651. package/dist/visualization.es400.js +5 -12
  652. package/dist/visualization.es400.js.map +1 -1
  653. package/dist/visualization.es401.js +28 -48
  654. package/dist/visualization.es401.js.map +1 -1
  655. package/dist/visualization.es402.js +9 -5
  656. package/dist/visualization.es402.js.map +1 -1
  657. package/dist/visualization.es403.js +6 -13
  658. package/dist/visualization.es403.js.map +1 -1
  659. package/dist/visualization.es404.js +2 -2
  660. package/dist/visualization.es404.js.map +1 -1
  661. package/dist/visualization.es405.js +4 -6
  662. package/dist/visualization.es405.js.map +1 -1
  663. package/dist/visualization.es406.js +24 -208
  664. package/dist/visualization.es406.js.map +1 -1
  665. package/dist/visualization.es407.js +10 -26
  666. package/dist/visualization.es407.js.map +1 -1
  667. package/dist/visualization.es408.js +26 -3
  668. package/dist/visualization.es408.js.map +1 -1
  669. package/dist/visualization.es409.js +10 -16
  670. package/dist/visualization.es409.js.map +1 -1
  671. package/dist/visualization.es41.js +47 -11
  672. package/dist/visualization.es41.js.map +1 -1
  673. package/dist/visualization.es410.js +11 -15
  674. package/dist/visualization.es410.js.map +1 -1
  675. package/dist/visualization.es411.js +2 -15
  676. package/dist/visualization.es411.js.map +1 -1
  677. package/dist/visualization.es412.js +16 -2
  678. package/dist/visualization.es412.js.map +1 -1
  679. package/dist/visualization.es413.js +30 -2
  680. package/dist/visualization.es413.js.map +1 -1
  681. package/dist/visualization.es414.js +26 -2
  682. package/dist/visualization.es414.js.map +1 -1
  683. package/dist/visualization.es415.js +2 -5
  684. package/dist/visualization.es415.js.map +1 -1
  685. package/dist/visualization.es416.js +9 -2
  686. package/dist/visualization.es416.js.map +1 -1
  687. package/dist/visualization.es417.js +13 -25
  688. package/dist/visualization.es417.js.map +1 -1
  689. package/dist/visualization.es418.js +22 -21
  690. package/dist/visualization.es418.js.map +1 -1
  691. package/dist/visualization.es419.js +13 -9
  692. package/dist/visualization.es419.js.map +1 -1
  693. package/dist/visualization.es42.js +5 -55
  694. package/dist/visualization.es42.js.map +1 -1
  695. package/dist/visualization.es420.js +3 -68
  696. package/dist/visualization.es420.js.map +1 -1
  697. package/dist/visualization.es421.js +2 -6
  698. package/dist/visualization.es421.js.map +1 -1
  699. package/dist/visualization.es422.js +18 -29
  700. package/dist/visualization.es422.js.map +1 -1
  701. package/dist/visualization.es423.js +3 -9
  702. package/dist/visualization.es423.js.map +1 -1
  703. package/dist/visualization.es424.js +12 -6
  704. package/dist/visualization.es424.js.map +1 -1
  705. package/dist/visualization.es425.js +11 -2
  706. package/dist/visualization.es425.js.map +1 -1
  707. package/dist/visualization.es426.js +6 -4
  708. package/dist/visualization.es426.js.map +1 -1
  709. package/dist/visualization.es427.js +19 -26
  710. package/dist/visualization.es427.js.map +1 -1
  711. package/dist/visualization.es428.js +21 -9
  712. package/dist/visualization.es428.js.map +1 -1
  713. package/dist/visualization.es429.js +11 -26
  714. package/dist/visualization.es429.js.map +1 -1
  715. package/dist/visualization.es43.js +50 -146
  716. package/dist/visualization.es43.js.map +1 -1
  717. package/dist/visualization.es430.js +50 -9
  718. package/dist/visualization.es430.js.map +1 -1
  719. package/dist/visualization.es431.js +17 -10
  720. package/dist/visualization.es431.js.map +1 -1
  721. package/dist/visualization.es432.js +36 -2
  722. package/dist/visualization.es432.js.map +1 -1
  723. package/dist/visualization.es433.js +23 -16
  724. package/dist/visualization.es433.js.map +1 -1
  725. package/dist/visualization.es434.js +31 -29
  726. package/dist/visualization.es434.js.map +1 -1
  727. package/dist/visualization.es435.js +4 -26
  728. package/dist/visualization.es435.js.map +1 -1
  729. package/dist/visualization.es436.js +19 -2
  730. package/dist/visualization.es436.js.map +1 -1
  731. package/dist/visualization.es437.js +14 -9
  732. package/dist/visualization.es437.js.map +1 -1
  733. package/dist/visualization.es438.js +10 -12
  734. package/dist/visualization.es438.js.map +1 -1
  735. package/dist/visualization.es439.js +28 -21
  736. package/dist/visualization.es439.js.map +1 -1
  737. package/dist/visualization.es44.js +55 -111
  738. package/dist/visualization.es44.js.map +1 -1
  739. package/dist/visualization.es440.js +6 -13
  740. package/dist/visualization.es440.js.map +1 -1
  741. package/dist/visualization.es441.js +8 -3
  742. package/dist/visualization.es441.js.map +1 -1
  743. package/dist/visualization.es442.js +2 -2
  744. package/dist/visualization.es442.js.map +1 -1
  745. package/dist/visualization.es443.js +14 -15
  746. package/dist/visualization.es443.js.map +1 -1
  747. package/dist/visualization.es444.js +8 -3
  748. package/dist/visualization.es444.js.map +1 -1
  749. package/dist/visualization.es445.js +9 -11
  750. package/dist/visualization.es445.js.map +1 -1
  751. package/dist/visualization.es446.js +616 -11
  752. package/dist/visualization.es446.js.map +1 -1
  753. package/dist/visualization.es447.js +50 -6
  754. package/dist/visualization.es447.js.map +1 -1
  755. package/dist/visualization.es448.js +11 -17
  756. package/dist/visualization.es448.js.map +1 -1
  757. package/dist/visualization.es449.js +11 -23
  758. package/dist/visualization.es449.js.map +1 -1
  759. package/dist/visualization.es45.js +42 -7
  760. package/dist/visualization.es45.js.map +1 -1
  761. package/dist/visualization.es450.js +23 -12
  762. package/dist/visualization.es450.js.map +1 -1
  763. package/dist/visualization.es451.js +33 -49
  764. package/dist/visualization.es451.js.map +1 -1
  765. package/dist/visualization.es452.js +12 -17
  766. package/dist/visualization.es452.js.map +1 -1
  767. package/dist/visualization.es453.js +19 -35
  768. package/dist/visualization.es453.js.map +1 -1
  769. package/dist/visualization.es454.js +40 -22
  770. package/dist/visualization.es454.js.map +1 -1
  771. package/dist/visualization.es455.js +57 -31
  772. package/dist/visualization.es455.js.map +1 -1
  773. package/dist/visualization.es456.js +18 -3
  774. package/dist/visualization.es456.js.map +1 -1
  775. package/dist/visualization.es457.js +25 -18
  776. package/dist/visualization.es457.js.map +1 -1
  777. package/dist/visualization.es458.js +26 -13
  778. package/dist/visualization.es458.js.map +1 -1
  779. package/dist/visualization.es459.js +42 -10
  780. package/dist/visualization.es459.js.map +1 -1
  781. package/dist/visualization.es46.js +5 -33
  782. package/dist/visualization.es46.js.map +1 -1
  783. package/dist/visualization.es460.js +3 -29
  784. package/dist/visualization.es460.js.map +1 -1
  785. package/dist/visualization.es461.js +3 -6
  786. package/dist/visualization.es461.js.map +1 -1
  787. package/dist/visualization.es462.js +7 -8
  788. package/dist/visualization.es462.js.map +1 -1
  789. package/dist/visualization.es463.js +16 -2
  790. package/dist/visualization.es463.js.map +1 -1
  791. package/dist/visualization.es464.js +2 -17
  792. package/dist/visualization.es464.js.map +1 -1
  793. package/dist/visualization.es465.js +2 -9
  794. package/dist/visualization.es465.js.map +1 -1
  795. package/dist/visualization.es466.js +2 -10
  796. package/dist/visualization.es466.js.map +1 -1
  797. package/dist/visualization.es467.js +51 -613
  798. package/dist/visualization.es467.js.map +1 -1
  799. package/dist/visualization.es468.js +29 -48
  800. package/dist/visualization.es468.js.map +1 -1
  801. package/dist/visualization.es469.js +34 -13
  802. package/dist/visualization.es469.js.map +1 -1
  803. package/dist/visualization.es47.js +4 -66
  804. package/dist/visualization.es47.js.map +1 -1
  805. package/dist/visualization.es470.js +13 -11
  806. package/dist/visualization.es470.js.map +1 -1
  807. package/dist/visualization.es471.js +2 -23
  808. package/dist/visualization.es471.js.map +1 -1
  809. package/dist/visualization.es472.js +9 -34
  810. package/dist/visualization.es472.js.map +1 -1
  811. package/dist/visualization.es473.js +9 -12
  812. package/dist/visualization.es473.js.map +1 -1
  813. package/dist/visualization.es474.js +6 -18
  814. package/dist/visualization.es474.js.map +1 -1
  815. package/dist/visualization.es475.js +8 -25
  816. package/dist/visualization.es475.js.map +1 -1
  817. package/dist/visualization.es476.js +6 -26
  818. package/dist/visualization.es476.js.map +1 -1
  819. package/dist/visualization.es477.js +5 -42
  820. package/dist/visualization.es477.js.map +1 -1
  821. package/dist/visualization.es478.js +14 -19
  822. package/dist/visualization.es478.js.map +1 -1
  823. package/dist/visualization.es479.js +5 -40
  824. package/dist/visualization.es479.js.map +1 -1
  825. package/dist/visualization.es48.js +17 -112
  826. package/dist/visualization.es48.js.map +1 -1
  827. package/dist/visualization.es480.js +6 -57
  828. package/dist/visualization.es480.js.map +1 -1
  829. package/dist/visualization.es481.js +6 -3
  830. package/dist/visualization.es481.js.map +1 -1
  831. package/dist/visualization.es482.js +7 -3
  832. package/dist/visualization.es482.js.map +1 -1
  833. package/dist/visualization.es483.js +4 -7
  834. package/dist/visualization.es483.js.map +1 -1
  835. package/dist/visualization.es484.js +4 -15
  836. package/dist/visualization.es484.js.map +1 -1
  837. package/dist/visualization.es485.js +10 -2
  838. package/dist/visualization.es485.js.map +1 -1
  839. package/dist/visualization.es486.js +30 -2
  840. package/dist/visualization.es486.js.map +1 -1
  841. package/dist/visualization.es487.js +7 -2
  842. package/dist/visualization.es487.js.map +1 -1
  843. package/dist/visualization.es488.js +35 -2
  844. package/dist/visualization.es488.js.map +1 -1
  845. package/dist/visualization.es489.js +3 -9
  846. package/dist/visualization.es489.js.map +1 -1
  847. package/dist/visualization.es49.js +5 -5
  848. package/dist/visualization.es49.js.map +1 -1
  849. package/dist/visualization.es490.js +3 -9
  850. package/dist/visualization.es490.js.map +1 -1
  851. package/dist/visualization.es491.js +6 -6
  852. package/dist/visualization.es491.js.map +1 -1
  853. package/dist/visualization.es492.js +12 -8
  854. package/dist/visualization.es492.js.map +1 -1
  855. package/dist/visualization.es493.js +2 -7
  856. package/dist/visualization.es493.js.map +1 -1
  857. package/dist/visualization.es494.js +3 -5
  858. package/dist/visualization.es494.js.map +1 -1
  859. package/dist/visualization.es495.js +3 -14
  860. package/dist/visualization.es495.js.map +1 -1
  861. package/dist/visualization.es496.js +10 -5
  862. package/dist/visualization.es496.js.map +1 -1
  863. package/dist/visualization.es497.js +25 -6
  864. package/dist/visualization.es497.js.map +1 -1
  865. package/dist/visualization.es498.js +4 -6
  866. package/dist/visualization.es498.js.map +1 -1
  867. package/dist/visualization.es499.js +32 -6
  868. package/dist/visualization.es499.js.map +1 -1
  869. package/dist/visualization.es5.js +10 -10
  870. package/dist/visualization.es50.js +26 -34
  871. package/dist/visualization.es50.js.map +1 -1
  872. package/dist/visualization.es500.js +237 -3
  873. package/dist/visualization.es500.js.map +1 -1
  874. package/dist/visualization.es501.js +992 -4
  875. package/dist/visualization.es501.js.map +1 -1
  876. package/dist/visualization.es502.js +59 -7
  877. package/dist/visualization.es502.js.map +1 -1
  878. package/dist/visualization.es505.js +7 -7
  879. package/dist/visualization.es506.js +1 -1
  880. package/dist/visualization.es507.js +4 -4
  881. package/dist/visualization.es508.js +6 -6
  882. package/dist/visualization.es51.js +31 -58
  883. package/dist/visualization.es51.js.map +1 -1
  884. package/dist/visualization.es512.js +1 -1
  885. package/dist/visualization.es513.js +1 -1
  886. package/dist/visualization.es514.js +1 -1
  887. package/dist/visualization.es515.js +6 -6
  888. package/dist/visualization.es516.js +1 -1
  889. package/dist/visualization.es517.js +6 -6
  890. package/dist/visualization.es518.js +8 -8
  891. package/dist/visualization.es519.js +6 -6
  892. package/dist/visualization.es52.js +36 -47
  893. package/dist/visualization.es52.js.map +1 -1
  894. package/dist/visualization.es520.js +1 -1
  895. package/dist/visualization.es522.js +1 -1
  896. package/dist/visualization.es523.js +5 -5
  897. package/dist/visualization.es53.js +43 -44
  898. package/dist/visualization.es53.js.map +1 -1
  899. package/dist/visualization.es532.js +2 -2
  900. package/dist/visualization.es533.js +5 -5
  901. package/dist/visualization.es534.js +3 -3
  902. package/dist/visualization.es535.js +3 -3
  903. package/dist/visualization.es537.js +8 -8
  904. package/dist/visualization.es539.js +1 -1
  905. package/dist/visualization.es54.js +6 -19
  906. package/dist/visualization.es54.js.map +1 -1
  907. package/dist/visualization.es542.js +19 -19
  908. package/dist/visualization.es544.js +7 -7
  909. package/dist/visualization.es546.js +3 -9
  910. package/dist/visualization.es546.js.map +1 -1
  911. package/dist/visualization.es547.js +3 -9
  912. package/dist/visualization.es547.js.map +1 -1
  913. package/dist/visualization.es548.js +14 -17
  914. package/dist/visualization.es548.js.map +1 -1
  915. package/dist/visualization.es549.js +3 -7
  916. package/dist/visualization.es549.js.map +1 -1
  917. package/dist/visualization.es55.js +44 -116
  918. package/dist/visualization.es55.js.map +1 -1
  919. package/dist/visualization.es550.js +9 -7
  920. package/dist/visualization.es550.js.map +1 -1
  921. package/dist/visualization.es551.js +4 -3
  922. package/dist/visualization.es551.js.map +1 -1
  923. package/dist/visualization.es552.js +5 -3
  924. package/dist/visualization.es552.js.map +1 -1
  925. package/dist/visualization.es553.js +8 -14
  926. package/dist/visualization.es553.js.map +1 -1
  927. package/dist/visualization.es554.js +5 -1
  928. package/dist/visualization.es554.js.map +1 -1
  929. package/dist/visualization.es555.js +4 -9
  930. package/dist/visualization.es555.js.map +1 -1
  931. package/dist/visualization.es556.js +3 -4
  932. package/dist/visualization.es556.js.map +1 -1
  933. package/dist/visualization.es557.js +4 -6
  934. package/dist/visualization.es557.js.map +1 -1
  935. package/dist/visualization.es558.js +11 -9
  936. package/dist/visualization.es558.js.map +1 -1
  937. package/dist/visualization.es559.js +9 -7
  938. package/dist/visualization.es559.js.map +1 -1
  939. package/dist/visualization.es56.js +7 -97
  940. package/dist/visualization.es56.js.map +1 -1
  941. package/dist/visualization.es560.js +30 -4
  942. package/dist/visualization.es560.js.map +1 -1
  943. package/dist/visualization.es561.js +24 -3
  944. package/dist/visualization.es561.js.map +1 -1
  945. package/dist/visualization.es562.js +52 -4
  946. package/dist/visualization.es562.js.map +1 -1
  947. package/dist/visualization.es563.js +3 -11
  948. package/dist/visualization.es563.js.map +1 -1
  949. package/dist/visualization.es564.js +8 -9
  950. package/dist/visualization.es564.js.map +1 -1
  951. package/dist/visualization.es565.js +20 -30
  952. package/dist/visualization.es565.js.map +1 -1
  953. package/dist/visualization.es566.js +7 -24
  954. package/dist/visualization.es566.js.map +1 -1
  955. package/dist/visualization.es567.js +6 -51
  956. package/dist/visualization.es567.js.map +1 -1
  957. package/dist/visualization.es568.js +5 -3
  958. package/dist/visualization.es568.js.map +1 -1
  959. package/dist/visualization.es569.js +7 -8
  960. package/dist/visualization.es569.js.map +1 -1
  961. package/dist/visualization.es57.js +67 -32
  962. package/dist/visualization.es57.js.map +1 -1
  963. package/dist/visualization.es570.js +15 -20
  964. package/dist/visualization.es570.js.map +1 -1
  965. package/dist/visualization.es571.js +4 -7
  966. package/dist/visualization.es571.js.map +1 -1
  967. package/dist/visualization.es572.js +6 -6
  968. package/dist/visualization.es572.js.map +1 -1
  969. package/dist/visualization.es573.js +34 -5
  970. package/dist/visualization.es573.js.map +1 -1
  971. package/dist/visualization.es574.js +7 -6
  972. package/dist/visualization.es574.js.map +1 -1
  973. package/dist/visualization.es575.js +32 -15
  974. package/dist/visualization.es575.js.map +1 -1
  975. package/dist/visualization.es576.js +13 -4
  976. package/dist/visualization.es576.js.map +1 -1
  977. package/dist/visualization.es577.js +72 -6
  978. package/dist/visualization.es577.js.map +1 -1
  979. package/dist/visualization.es578.js +29 -34
  980. package/dist/visualization.es578.js.map +1 -1
  981. package/dist/visualization.es579.js +5 -8
  982. package/dist/visualization.es579.js.map +1 -1
  983. package/dist/visualization.es58.js +12 -66
  984. package/dist/visualization.es58.js.map +1 -1
  985. package/dist/visualization.es580.js +25 -32
  986. package/dist/visualization.es580.js.map +1 -1
  987. package/dist/visualization.es581.js +11 -13
  988. package/dist/visualization.es581.js.map +1 -1
  989. package/dist/visualization.es582.js +4 -72
  990. package/dist/visualization.es582.js.map +1 -1
  991. package/dist/visualization.es583.js +4 -29
  992. package/dist/visualization.es583.js.map +1 -1
  993. package/dist/visualization.es584.js +4 -5
  994. package/dist/visualization.es584.js.map +1 -1
  995. package/dist/visualization.es585.js +13 -26
  996. package/dist/visualization.es585.js.map +1 -1
  997. package/dist/visualization.es586.js +17 -11
  998. package/dist/visualization.es586.js.map +1 -1
  999. package/dist/visualization.es587.js +13 -4
  1000. package/dist/visualization.es587.js.map +1 -1
  1001. package/dist/visualization.es588.js +13 -4
  1002. package/dist/visualization.es588.js.map +1 -1
  1003. package/dist/visualization.es589.js +8 -4
  1004. package/dist/visualization.es589.js.map +1 -1
  1005. package/dist/visualization.es59.js +34 -245
  1006. package/dist/visualization.es59.js.map +1 -1
  1007. package/dist/visualization.es590.js +11 -11
  1008. package/dist/visualization.es590.js.map +1 -1
  1009. package/dist/visualization.es591.js +24 -17
  1010. package/dist/visualization.es591.js.map +1 -1
  1011. package/dist/visualization.es592.js +18 -12
  1012. package/dist/visualization.es592.js.map +1 -1
  1013. package/dist/visualization.es593.js +7 -14
  1014. package/dist/visualization.es593.js.map +1 -1
  1015. package/dist/visualization.es594.js +6 -9
  1016. package/dist/visualization.es594.js.map +1 -1
  1017. package/dist/visualization.es595.js +3 -32
  1018. package/dist/visualization.es595.js.map +1 -1
  1019. package/dist/visualization.es596.js +7 -12
  1020. package/dist/visualization.es596.js.map +1 -1
  1021. package/dist/visualization.es597.js +7 -24
  1022. package/dist/visualization.es597.js.map +1 -1
  1023. package/dist/visualization.es598.js +64 -19
  1024. package/dist/visualization.es598.js.map +1 -1
  1025. package/dist/visualization.es599.js +10 -7
  1026. package/dist/visualization.es599.js.map +1 -1
  1027. package/dist/visualization.es6.js +15 -15
  1028. package/dist/visualization.es60.js +29 -97
  1029. package/dist/visualization.es60.js.map +1 -1
  1030. package/dist/visualization.es600.js +10 -6
  1031. package/dist/visualization.es600.js.map +1 -1
  1032. package/dist/visualization.es601.js +18 -3
  1033. package/dist/visualization.es601.js.map +1 -1
  1034. package/dist/visualization.es602.js +30 -62
  1035. package/dist/visualization.es602.js.map +1 -1
  1036. package/dist/visualization.es603.js +290 -3
  1037. package/dist/visualization.es603.js.map +1 -1
  1038. package/dist/visualization.es604.js +4 -11
  1039. package/dist/visualization.es604.js.map +1 -1
  1040. package/dist/visualization.es605.js +7 -289
  1041. package/dist/visualization.es605.js.map +1 -1
  1042. package/dist/visualization.es606.js +6 -4
  1043. package/dist/visualization.es606.js.map +1 -1
  1044. package/dist/visualization.es607.js +16 -6
  1045. package/dist/visualization.es607.js.map +1 -1
  1046. package/dist/visualization.es608.js +13 -5
  1047. package/dist/visualization.es608.js.map +1 -1
  1048. package/dist/visualization.es609.js +3 -18
  1049. package/dist/visualization.es609.js.map +1 -1
  1050. package/dist/visualization.es61.js +65 -28
  1051. package/dist/visualization.es61.js.map +1 -1
  1052. package/dist/visualization.es610.js +4 -13
  1053. package/dist/visualization.es610.js.map +1 -1
  1054. package/dist/visualization.es611.js +5 -3
  1055. package/dist/visualization.es611.js.map +1 -1
  1056. package/dist/visualization.es612.js +13 -5
  1057. package/dist/visualization.es612.js.map +1 -1
  1058. package/dist/visualization.es613.js +3 -5
  1059. package/dist/visualization.es613.js.map +1 -1
  1060. package/dist/visualization.es614.js +11 -13
  1061. package/dist/visualization.es614.js.map +1 -1
  1062. package/dist/visualization.es616.js +1 -1
  1063. package/dist/visualization.es62.js +61 -22
  1064. package/dist/visualization.es62.js.map +1 -1
  1065. package/dist/visualization.es626.js +1 -1
  1066. package/dist/visualization.es628.js +1 -1
  1067. package/dist/visualization.es629.js +1 -1
  1068. package/dist/visualization.es63.js +4 -18
  1069. package/dist/visualization.es63.js.map +1 -1
  1070. package/dist/visualization.es64.js +46 -20
  1071. package/dist/visualization.es64.js.map +1 -1
  1072. package/dist/visualization.es65.js +4 -70
  1073. package/dist/visualization.es65.js.map +1 -1
  1074. package/dist/visualization.es66.js +280 -55
  1075. package/dist/visualization.es66.js.map +1 -1
  1076. package/dist/visualization.es67.js +18 -51
  1077. package/dist/visualization.es67.js.map +1 -1
  1078. package/dist/visualization.es68.js +38 -53
  1079. package/dist/visualization.es68.js.map +1 -1
  1080. package/dist/visualization.es69.js +79 -41
  1081. package/dist/visualization.es69.js.map +1 -1
  1082. package/dist/visualization.es7.js +11 -11
  1083. package/dist/visualization.es70.js +46 -6
  1084. package/dist/visualization.es70.js.map +1 -1
  1085. package/dist/visualization.es71.js +55 -4
  1086. package/dist/visualization.es71.js.map +1 -1
  1087. package/dist/visualization.es72.js +7 -18
  1088. package/dist/visualization.es72.js.map +1 -1
  1089. package/dist/visualization.es73.js +12 -4
  1090. package/dist/visualization.es73.js.map +1 -1
  1091. package/dist/visualization.es74.js +54 -23
  1092. package/dist/visualization.es74.js.map +1 -1
  1093. package/dist/visualization.es75.js +18695 -24
  1094. package/dist/visualization.es75.js.map +1 -1
  1095. package/dist/visualization.es76.js +5 -18702
  1096. package/dist/visualization.es76.js.map +1 -1
  1097. package/dist/visualization.es77.js +4 -4
  1098. package/dist/visualization.es78.js +60 -5
  1099. package/dist/visualization.es78.js.map +1 -1
  1100. package/dist/visualization.es79.js +809 -58
  1101. package/dist/visualization.es79.js.map +1 -1
  1102. package/dist/visualization.es8.js +112 -112
  1103. package/dist/visualization.es8.js.map +1 -1
  1104. package/dist/visualization.es81.js +134 -0
  1105. package/dist/visualization.es81.js.map +1 -0
  1106. package/dist/visualization.es82.js +64 -129
  1107. package/dist/visualization.es82.js.map +1 -1
  1108. package/dist/visualization.es83.js +245 -38
  1109. package/dist/visualization.es83.js.map +1 -1
  1110. package/dist/visualization.es84.js +96 -80
  1111. package/dist/visualization.es84.js.map +1 -1
  1112. package/dist/visualization.es85.js +28 -46
  1113. package/dist/visualization.es85.js.map +1 -1
  1114. package/dist/visualization.es86.js +22 -55
  1115. package/dist/visualization.es86.js.map +1 -1
  1116. package/dist/visualization.es87.js +18 -7
  1117. package/dist/visualization.es87.js.map +1 -1
  1118. package/dist/visualization.es88.js +20 -12
  1119. package/dist/visualization.es88.js.map +1 -1
  1120. package/dist/visualization.es89.js +68 -56
  1121. package/dist/visualization.es89.js.map +1 -1
  1122. package/dist/visualization.es9.js +1 -1
  1123. package/dist/visualization.es90.js +54 -61
  1124. package/dist/visualization.es90.js.map +1 -1
  1125. package/dist/visualization.es91.js +5 -58
  1126. package/dist/visualization.es91.js.map +1 -1
  1127. package/dist/visualization.es92.js +5 -32
  1128. package/dist/visualization.es92.js.map +1 -1
  1129. package/dist/visualization.es93.js +5 -18
  1130. package/dist/visualization.es93.js.map +1 -1
  1131. package/dist/visualization.es94.js +15 -14
  1132. package/dist/visualization.es94.js.map +1 -1
  1133. package/dist/visualization.es95.js +15 -26
  1134. package/dist/visualization.es95.js.map +1 -1
  1135. package/dist/visualization.es96.js +64 -5
  1136. package/dist/visualization.es96.js.map +1 -1
  1137. package/dist/visualization.es97.js +61 -5
  1138. package/dist/visualization.es97.js.map +1 -1
  1139. package/dist/visualization.es98.js +13 -5
  1140. package/dist/visualization.es98.js.map +1 -1
  1141. package/dist/visualization.es99.js +74 -15
  1142. package/dist/visualization.es99.js.map +1 -1
  1143. package/package.json +1 -1
  1144. package/dist/visualization.es80.js +0 -814
  1145. package/dist/visualization.es80.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es8.js","sources":["../src/components/ScatterPlot/scatterplot.tsx"],"sourcesContent":["import React, { useCallback, useImperativeHandle, useMemo } from 'react';\nimport { ChartProps, ZoomType } from './types';\nimport { Tooltip as VisxTooltip, TooltipProps, Portal, defaultStyles as visxTooltipStyles } from '@visx/tooltip';\nimport { scaleLinear } from '@visx/scale';\nimport ControlButtons from './controls';\nimport { IconButton, Stack, Tooltip, useTheme } from '@mui/material';\nimport { HighlightAlt } from '@mui/icons-material';\nimport { downloadDivAsPNG, downloadDivAsSVG } from '../../utility';\nimport { ResponsiveContainer, useResponsiveParentSize } from '../../responsive';\nimport { getDomains, getPointExtents, isSameTransform } from './helpers';\nimport ScatterPlotViewport from './ScatterPlotViewport';\nimport MiniMap from './minimap';\nimport PlotZoom from './PlotZoom';\nimport ScatterTooltip from './tooltip';\nimport { useSelectionMode } from './hooks/useSelectionMode';\nimport { useMiniMapToggle } from './hooks/useMiniMapToggle';\nimport { useHoverTooltip } from './hooks/useHoverTooltip';\nimport { useCrosshair } from './hooks/useCrosshair';\n\nconst MARGIN = { top: 20, right: 20, bottom: 70, left: 70 };\n\n/**\n * The point tooltip is portalled to document.body, so it leaves the plot's stacking\n * context and cannot be layered against the plot's own overlays by DOM order alone.\n * visx ships no z-index of its own, which leaves it below the controls and the minimap\n * toggle (z-index 10) - those sit in the root stacking context, so they win against an\n * auto z-index no matter where the portal lands. Lifting the tooltip to the theme's\n * tooltip layer keeps it above them, and matches the MUI tooltips on the same controls.\n */\nconst useTooltipStyle = () => {\n const theme = useTheme();\n return useMemo(\n () => ({ ...visxTooltipStyles, zIndex: theme.zIndex.tooltip }),\n [theme.zIndex.tooltip]\n );\n};\n\nconst ScatterPlot = <T extends object, S extends boolean | undefined = undefined, Z extends boolean | undefined = undefined>(\n props: ChartProps<T, S, Z>\n) => {\n /**\n * Hacky workaround for complex type compatability issues. Hopefully this will fix itself when ugrading to React 19 - Jonathan 12/11/24\n * @todo remove this when possible\n */\n const VisTooltip = VisxTooltip as unknown as React.FC<TooltipProps>;\n\n const tooltipStyle = useTooltipStyle();\n\n const initialSelectionMode = props.initialState?.controls?.selectionType ?? (props.selectable ? \"select\" : \"pan\");\n const initialMiniMapOpen = props.initialState?.minimap?.open ?? false;\n\n const { parentRef, containerStyle, width: parentWidth, height: parentHeight } = useResponsiveParentSize({ width: props.width, height: props.height });\n const size = Math.min(parentHeight, parentWidth)\n\n const divRef = React.useRef<HTMLDivElement>(null);\n const selectable = props.selectable ?? false;\n const boundedWidth = size * 0.9 - MARGIN.left;\n const boundedHeight = boundedWidth;\n const downloadButton = props.downloadButton ?? false\n\n const { selectMode, handleSelectionModeChange } = useSelectionMode({ initialSelectionMode });\n\n const { showMiniMap, toggleMiniMap } = useMiniMapToggle({ initialOpen: initialMiniMapOpen });\n\n const pointExtents = useMemo(() => getPointExtents(props.pointData), [props.pointData]);\n const dataDomains = useMemo(() => getDomains(pointExtents), [pointExtents]);\n\n // Depend on the bounds rather than the arrays so a consumer passing a fresh domain array on\n // every render doesn't rebuild the scales (and with them every derived scale and canvas draw).\n const [xDomainMin, xDomainMax] = props.xDomain ?? dataDomains.xDomain;\n const [yDomainMin, yDomainMax] = props.yDomain ?? dataDomains.yDomain;\n\n const xScale = useMemo(() => {\n return scaleLinear({\n domain: [xDomainMin, xDomainMax],\n range: [0, boundedWidth],\n });\n }, [boundedWidth, xDomainMin, xDomainMax]);\n\n const yScale = useMemo(() => {\n return scaleLinear({\n domain: [yDomainMin, yDomainMax],\n range: [boundedHeight, 0],\n });\n }, [boundedHeight, yDomainMin, yDomainMax]);\n\n const { hoveredPoint, tooltipData, tooltipOpen, mouseX, mouseY, handleMouseMove, handleMouseLeave } =\n useHoverTooltip({\n pointData: props.pointData,\n margin: MARGIN,\n xScale,\n yScale,\n onHoveredPointChange: props.onHoveredPointChange,\n });\n\n const crosshairEnabled = props.crosshair ?? false;\n\n const { crosshairPosition, handleCrosshairMove, handleCrosshairLeave } = useCrosshair({\n enabled: crosshairEnabled,\n margin: MARGIN,\n boundedWidth,\n boundedHeight,\n xScale,\n yScale,\n onCrosshairChange: props.onCrosshairChange,\n });\n\n // Our own pointer wins over an externally supplied position, so that leaving this plot for a\n // sibling hands the crosshair over rather than leaving both plots claiming it.\n const crosshair = crosshairEnabled ? crosshairPosition ?? props.crosshairPosition ?? null : null;\n\n const handlePointerMove = useCallback((event: React.MouseEvent<SVGElement>, zoom: ZoomType) => {\n handleMouseMove(event, zoom);\n handleCrosshairMove(event, zoom);\n }, [handleCrosshairMove, handleMouseMove]);\n\n const handlePointerLeave = useCallback(() => {\n handleMouseLeave();\n handleCrosshairLeave();\n }, [handleCrosshairLeave, handleMouseLeave]);\n\n //Download the plot as svg or png using the passed ref from the parent\n useImperativeHandle(props.ref, () => ({\n downloadSVG: () => {\n if (divRef.current) downloadDivAsSVG(divRef.current, props.downloadFileName ?? \"scatter_plot.svg\");\n },\n downloadPNG: () => {\n if (divRef.current) downloadDivAsPNG(divRef.current, props.downloadFileName ?? \"scatter_plot.png\");\n },\n }));\n\n const handleDownload = () => {\n if (divRef.current) downloadDivAsSVG(divRef.current, props.downloadFileName ?? \"scatter_plot.svg\");\n };\n\n const renderPlot = (zoom: ZoomType) => {\n // Anchor the buttons on the plot area explicitly - a shared zoom is sized by whoever owns\n // it, so visx's own default anchor (the centre of that size) isn't this plot's centre.\n const zoomCenter = { x: boundedWidth / 2, y: boundedHeight / 2 };\n const handleZoomIn = () => { zoom.scale({ scaleX: 1.2, scaleY: 1.2, point: zoomCenter }); }\n const handleZoomOut = () => { zoom.scale({ scaleX: 0.8, scaleY: 0.8, point: zoomCenter }); }\n const handleZoomReset = () => { zoom.reset(); }\n\n const controlsPosition = props.controlsPosition ?? \"left\";\n\n return (\n <>\n {!props.disableZoom && (\n <Stack\n direction=\"column\"\n sx={{\n position: 'absolute',\n ...(controlsPosition === \"right\"\n ? { right: `max(10px, calc(45% - ${size / 2}px))` }\n : { left: `max(10px, calc(45% - ${size / 2}px))` }),\n top: `calc(50% - ${size / 2}px + ${MARGIN.top}px)`,\n zIndex: 10\n }}\n >\n <ControlButtons\n selectable={selectable}\n resetable={!isSameTransform(zoom.transformMatrix, zoom.initialTransformMatrix)}\n handleSelectionModeChange={handleSelectionModeChange}\n selectMode={selectMode}\n zoomIn={handleZoomIn}\n zoomOut={handleZoomOut}\n zoomReset={handleZoomReset}\n highlight={props.controlsHighlight}\n downloadButton={downloadButton}\n downloadPlot={handleDownload}\n />\n </Stack>\n )}\n <ScatterPlotViewport\n size={size}\n margin={MARGIN}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n loading={props.loading}\n pointData={props.pointData}\n animation={props.animation}\n animationGroupSize={props.animationGroupSize}\n animationBuffer={props.animationBuffer}\n xScale={xScale}\n yScale={yScale}\n zoom={zoom}\n selectMode={selectMode}\n selectable={selectable}\n disableZoom={props.disableZoom}\n groupPointsAnchor={props.groupPointsAnchor}\n hoveredPoint={hoveredPoint}\n hoveredPoints={props.hoveredPoints}\n handleMouseMove={handlePointerMove}\n handleMouseLeave={handlePointerLeave}\n onDisplayedPointsChange={props.onDisplayedPointsChange}\n onSelectionChange={props.onSelectionChange}\n onPointClicked={props.onPointClicked}\n leftAxisLabel={props.leftAxisLabel}\n bottomAxisLabel={props.bottomAxisLabel}\n border={props.border ?? false}\n originLine={props.originLine}\n backgroundGradient={props.backgroundGradient}\n crosshair={crosshair}\n divRef={divRef}\n />\n {props.miniMap && !props.disableZoom && (\n <Tooltip title=\"Toggle Minimap\">\n <IconButton\n sx={{\n position: \"absolute\",\n right: 10,\n bottom: 10,\n zIndex: 10,\n width: \"auto\",\n height: \"auto\",\n color: showMiniMap ? props.controlsHighlight ?? \"primary.main\" : \"default\",\n }}\n size=\"small\"\n onClick={toggleMiniMap}\n >\n <HighlightAlt />\n </IconButton>\n </Tooltip>\n )}\n {showMiniMap && props.miniMap && !props.disableZoom && !props.loading && (\n <MiniMap\n miniMap={props.miniMap}\n width={size}\n height={size}\n pointData={props.pointData}\n xScale={xScale}\n yScale={yScale}\n zoom={zoom}\n crosshair={crosshair}\n />\n )}\n {!props.disableTooltip && tooltipOpen && tooltipData && (\n <Portal>\n <VisTooltip left={mouseX + 10} top={mouseY} style={tooltipStyle}>\n <ScatterTooltip tooltipBody={props.tooltipBody} tooltipData={tooltipData} />\n </VisTooltip>\n </Portal>\n )}\n </>\n )\n };\n\n return (\n <ResponsiveContainer parentRef={parentRef} containerStyle={containerStyle}>\n {props.zoom\n ? renderPlot(props.zoom)\n : (\n <PlotZoom width={boundedWidth} height={boundedHeight}>\n {renderPlot}\n </PlotZoom>\n )}\n </ResponsiveContainer>\n );\n}\n\nexport default ScatterPlot;\n"],"names":["MARGIN","top","right","bottom","left","useTooltipStyle","$","_c","theme","useTheme","t0","zIndex","tooltip","visxTooltipStyles","ScatterPlot","props","VisTooltip","VisxTooltip","tooltipStyle","initialSelectionMode","initialState","controls","selectionType","selectable","initialMiniMapOpen","minimap","open","parentRef","containerStyle","width","parentWidth","height","parentHeight","useResponsiveParentSize","size","Math","min","divRef","React","useRef","boundedWidth","boundedHeight","downloadButton","selectMode","handleSelectionModeChange","useSelectionMode","showMiniMap","toggleMiniMap","useMiniMapToggle","initialOpen","pointExtents","useMemo","getPointExtents","pointData","dataDomains","getDomains","xDomainMin","xDomainMax","xDomain","yDomainMin","yDomainMax","yDomain","xScale","scaleLinear","domain","range","yScale","hoveredPoint","tooltipData","tooltipOpen","mouseX","mouseY","handleMouseMove","handleMouseLeave","useHoverTooltip","margin","onHoveredPointChange","crosshairEnabled","crosshair","crosshairPosition","handleCrosshairMove","handleCrosshairLeave","useCrosshair","enabled","onCrosshairChange","handlePointerMove","useCallback","event","zoom","handlePointerLeave","useImperativeHandle","ref","downloadSVG","current","downloadDivAsSVG","downloadFileName","downloadPNG","downloadDivAsPNG","handleDownload","renderPlot","zoomCenter","x","y","handleZoomIn","scale","scaleX","scaleY","point","handleZoomOut","handleZoomReset","reset","controlsPosition","jsxs","Fragment","disableZoom","jsx","Stack","position","ControlButtons","isSameTransform","transformMatrix","initialTransformMatrix","controlsHighlight","ScatterPlotViewport","loading","animation","animationGroupSize","animationBuffer","groupPointsAnchor","hoveredPoints","onDisplayedPointsChange","onSelectionChange","onPointClicked","leftAxisLabel","bottomAxisLabel","border","originLine","backgroundGradient","miniMap","Tooltip","IconButton","color","HighlightAlt","MiniMap","disableTooltip","Portal","ScatterTooltip","tooltipBody","ResponsiveContainer","PlotZoom"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es8.js","sources":["../src/components/ScatterPlot/scatterplot.tsx"],"sourcesContent":["import React, { useCallback, useImperativeHandle, useMemo } from 'react';\nimport { ChartProps, ZoomType } from './types';\nimport { Tooltip as VisxTooltip, TooltipProps, Portal, defaultStyles as visxTooltipStyles } from '@visx/tooltip';\nimport { scaleLinear } from '@visx/scale';\nimport ControlButtons from './controls';\nimport { IconButton, Stack, Tooltip, useTheme } from '@mui/material';\nimport { HighlightAlt } from '@mui/icons-material';\nimport { downloadDivAsPNG, downloadDivAsSVG } from '../../utility';\nimport { ResponsiveContainer, useResponsiveParentSize } from '../../responsive';\nimport { getDomains, getPointExtents, isSameTransform } from './helpers';\nimport ScatterPlotViewport from './ScatterPlotViewport';\nimport MiniMap from './minimap';\nimport PlotZoom from './PlotZoom';\nimport ScatterTooltip from './tooltip';\nimport { useSelectionMode } from './hooks/useSelectionMode';\nimport { useMiniMapToggle } from './hooks/useMiniMapToggle';\nimport { useHoverTooltip } from './hooks/useHoverTooltip';\nimport { useCrosshair } from './hooks/useCrosshair';\n\nconst MARGIN = { top: 20, right: 20, bottom: 70, left: 70 };\n\n/**\n * The point tooltip is portalled to document.body, so it leaves the plot's stacking\n * context and cannot be layered against the plot's own overlays by DOM order alone.\n * visx ships no z-index of its own, which leaves it below the controls and the minimap\n * toggle (z-index 10) - those sit in the root stacking context, so they win against an\n * auto z-index no matter where the portal lands. Lifting the tooltip to the theme's\n * tooltip layer keeps it above them, and matches the MUI tooltips on the same controls.\n */\nconst useTooltipStyle = () => {\n const theme = useTheme();\n return useMemo(\n () => ({ ...visxTooltipStyles, zIndex: theme.zIndex.tooltip }),\n [theme.zIndex.tooltip]\n );\n};\n\nconst ScatterPlot = <T extends object, S extends boolean | undefined = undefined, Z extends boolean | undefined = undefined>(\n props: ChartProps<T, S, Z>\n) => {\n /**\n * Hacky workaround for complex type compatability issues. Hopefully this will fix itself when ugrading to React 19 - Jonathan 12/11/24\n * @todo remove this when possible\n */\n const VisTooltip = VisxTooltip as unknown as React.FC<TooltipProps>;\n\n const tooltipStyle = useTooltipStyle();\n\n const initialSelectionMode = props.initialState?.controls?.selectionType ?? (props.selectable ? \"select\" : \"pan\");\n const initialMiniMapOpen = props.initialState?.minimap?.open ?? false;\n\n const { parentRef, containerStyle, width: parentWidth, height: parentHeight } = useResponsiveParentSize({ width: props.width, height: props.height });\n // The square path is kept exactly as it was, so turning `square` on is a no-op against\n // previous versions. Unsquared, the plot takes the whole container and only the axis\n // margins are held back.\n const square = props.square ?? false;\n const size = Math.min(parentHeight, parentWidth)\n const plotWidth = square ? size : parentWidth;\n const plotHeight = square ? size : parentHeight;\n\n const divRef = React.useRef<HTMLDivElement>(null);\n const selectable = props.selectable ?? false;\n const boundedWidth = square\n ? size * 0.9 - MARGIN.left\n : Math.max(0, plotWidth - MARGIN.left - MARGIN.right);\n const boundedHeight = square\n ? size * 0.9 - MARGIN.left\n : Math.max(0, plotHeight - MARGIN.top - MARGIN.bottom);\n const downloadButton = props.downloadButton ?? false\n\n const { selectMode, handleSelectionModeChange } = useSelectionMode({ initialSelectionMode });\n\n const { showMiniMap, toggleMiniMap } = useMiniMapToggle({ initialOpen: initialMiniMapOpen });\n\n const pointExtents = useMemo(() => getPointExtents(props.pointData), [props.pointData]);\n const dataDomains = useMemo(() => getDomains(pointExtents), [pointExtents]);\n\n // Depend on the bounds rather than the arrays so a consumer passing a fresh domain array on\n // every render doesn't rebuild the scales (and with them every derived scale and canvas draw).\n const [xDomainMin, xDomainMax] = props.xDomain ?? dataDomains.xDomain;\n const [yDomainMin, yDomainMax] = props.yDomain ?? dataDomains.yDomain;\n\n const xScale = useMemo(() => {\n return scaleLinear({\n domain: [xDomainMin, xDomainMax],\n range: [0, boundedWidth],\n });\n }, [boundedWidth, xDomainMin, xDomainMax]);\n\n const yScale = useMemo(() => {\n return scaleLinear({\n domain: [yDomainMin, yDomainMax],\n range: [boundedHeight, 0],\n });\n }, [boundedHeight, yDomainMin, yDomainMax]);\n\n const { hoveredPoint, tooltipData, tooltipOpen, mouseX, mouseY, handleMouseMove, handleMouseLeave } =\n useHoverTooltip({\n pointData: props.pointData,\n margin: MARGIN,\n xScale,\n yScale,\n onHoveredPointChange: props.onHoveredPointChange,\n });\n\n const crosshairEnabled = props.crosshair ?? false;\n\n const { crosshairPosition, handleCrosshairMove, handleCrosshairLeave } = useCrosshair({\n enabled: crosshairEnabled,\n margin: MARGIN,\n boundedWidth,\n boundedHeight,\n xScale,\n yScale,\n onCrosshairChange: props.onCrosshairChange,\n });\n\n // Our own pointer wins over an externally supplied position, so that leaving this plot for a\n // sibling hands the crosshair over rather than leaving both plots claiming it.\n const crosshair = crosshairEnabled ? crosshairPosition ?? props.crosshairPosition ?? null : null;\n\n const handlePointerMove = useCallback((event: React.MouseEvent<SVGElement>, zoom: ZoomType) => {\n handleMouseMove(event, zoom);\n handleCrosshairMove(event, zoom);\n }, [handleCrosshairMove, handleMouseMove]);\n\n const handlePointerLeave = useCallback(() => {\n handleMouseLeave();\n handleCrosshairLeave();\n }, [handleCrosshairLeave, handleMouseLeave]);\n\n //Download the plot as svg or png using the passed ref from the parent\n useImperativeHandle(props.ref, () => ({\n downloadSVG: () => {\n if (divRef.current) downloadDivAsSVG(divRef.current, props.downloadFileName ?? \"scatter_plot.svg\");\n },\n downloadPNG: () => {\n if (divRef.current) downloadDivAsPNG(divRef.current, props.downloadFileName ?? \"scatter_plot.png\");\n },\n }));\n\n const handleDownload = () => {\n if (divRef.current) downloadDivAsSVG(divRef.current, props.downloadFileName ?? \"scatter_plot.svg\");\n };\n\n const renderPlot = (zoom: ZoomType) => {\n // Anchor the buttons on the plot area explicitly - a shared zoom is sized by whoever owns\n // it, so visx's own default anchor (the centre of that size) isn't this plot's centre.\n const zoomCenter = { x: boundedWidth / 2, y: boundedHeight / 2 };\n const handleZoomIn = () => { zoom.scale({ scaleX: 1.2, scaleY: 1.2, point: zoomCenter }); }\n const handleZoomOut = () => { zoom.scale({ scaleX: 0.8, scaleY: 0.8, point: zoomCenter }); }\n const handleZoomReset = () => { zoom.reset(); }\n\n const controlsPosition = props.controlsPosition ?? \"left\";\n\n return (\n <>\n {!props.disableZoom && (\n <Stack\n direction=\"column\"\n sx={{\n position: 'absolute',\n ...(controlsPosition === \"right\"\n ? { right: square ? `max(10px, calc(45% - ${size / 2}px))` : \"10px\" }\n : { left: square ? `max(10px, calc(45% - ${size / 2}px))` : \"10px\" }),\n top: square ? `calc(50% - ${size / 2}px + ${MARGIN.top}px)` : `${MARGIN.top}px`,\n zIndex: 10\n }}\n >\n <ControlButtons\n selectable={selectable}\n resetable={!isSameTransform(zoom.transformMatrix, zoom.initialTransformMatrix)}\n handleSelectionModeChange={handleSelectionModeChange}\n selectMode={selectMode}\n zoomIn={handleZoomIn}\n zoomOut={handleZoomOut}\n zoomReset={handleZoomReset}\n highlight={props.controlsHighlight}\n downloadButton={downloadButton}\n downloadPlot={handleDownload}\n />\n </Stack>\n )}\n <ScatterPlotViewport\n width={plotWidth}\n height={plotHeight}\n margin={MARGIN}\n boundedWidth={boundedWidth}\n boundedHeight={boundedHeight}\n loading={props.loading}\n pointData={props.pointData}\n animation={props.animation}\n animationGroupSize={props.animationGroupSize}\n animationBuffer={props.animationBuffer}\n xScale={xScale}\n yScale={yScale}\n zoom={zoom}\n selectMode={selectMode}\n selectable={selectable}\n disableZoom={props.disableZoom}\n groupPointsAnchor={props.groupPointsAnchor}\n hoveredPoint={hoveredPoint}\n hoveredPoints={props.hoveredPoints}\n handleMouseMove={handlePointerMove}\n handleMouseLeave={handlePointerLeave}\n onDisplayedPointsChange={props.onDisplayedPointsChange}\n onSelectionChange={props.onSelectionChange}\n onPointClicked={props.onPointClicked}\n leftAxisLabel={props.leftAxisLabel}\n bottomAxisLabel={props.bottomAxisLabel}\n border={props.border ?? false}\n originLine={props.originLine}\n backgroundGradient={props.backgroundGradient}\n crosshair={crosshair}\n divRef={divRef}\n />\n {props.miniMap && !props.disableZoom && (\n <Tooltip title=\"Toggle Minimap\">\n <IconButton\n sx={{\n position: \"absolute\",\n right: 10,\n bottom: 10,\n zIndex: 10,\n width: \"auto\",\n height: \"auto\",\n color: showMiniMap ? props.controlsHighlight ?? \"primary.main\" : \"default\",\n }}\n size=\"small\"\n onClick={toggleMiniMap}\n >\n <HighlightAlt />\n </IconButton>\n </Tooltip>\n )}\n {showMiniMap && props.miniMap && !props.disableZoom && !props.loading && (\n <MiniMap\n miniMap={props.miniMap}\n width={plotWidth}\n height={plotHeight}\n pointData={props.pointData}\n xScale={xScale}\n yScale={yScale}\n zoom={zoom}\n crosshair={crosshair}\n />\n )}\n {!props.disableTooltip && tooltipOpen && tooltipData && (\n <Portal>\n <VisTooltip left={mouseX + 10} top={mouseY} style={tooltipStyle}>\n <ScatterTooltip tooltipBody={props.tooltipBody} tooltipData={tooltipData} />\n </VisTooltip>\n </Portal>\n )}\n </>\n )\n };\n\n return (\n <ResponsiveContainer parentRef={parentRef} containerStyle={containerStyle}>\n {props.zoom\n ? renderPlot(props.zoom)\n : (\n <PlotZoom width={boundedWidth} height={boundedHeight}>\n {renderPlot}\n </PlotZoom>\n )}\n </ResponsiveContainer>\n );\n}\n\nexport default ScatterPlot;\n"],"names":["MARGIN","top","right","bottom","left","useTooltipStyle","$","_c","theme","useTheme","t0","zIndex","tooltip","visxTooltipStyles","ScatterPlot","props","VisTooltip","VisxTooltip","tooltipStyle","initialSelectionMode","initialState","controls","selectionType","selectable","initialMiniMapOpen","minimap","open","parentRef","containerStyle","width","parentWidth","height","parentHeight","useResponsiveParentSize","square","size","Math","min","plotWidth","plotHeight","divRef","React","useRef","boundedWidth","max","boundedHeight","downloadButton","selectMode","handleSelectionModeChange","useSelectionMode","showMiniMap","toggleMiniMap","useMiniMapToggle","initialOpen","pointExtents","useMemo","getPointExtents","pointData","dataDomains","getDomains","xDomainMin","xDomainMax","xDomain","yDomainMin","yDomainMax","yDomain","xScale","scaleLinear","domain","range","yScale","hoveredPoint","tooltipData","tooltipOpen","mouseX","mouseY","handleMouseMove","handleMouseLeave","useHoverTooltip","margin","onHoveredPointChange","crosshairEnabled","crosshair","crosshairPosition","handleCrosshairMove","handleCrosshairLeave","useCrosshair","enabled","onCrosshairChange","handlePointerMove","useCallback","event","zoom","handlePointerLeave","useImperativeHandle","ref","downloadSVG","current","downloadDivAsSVG","downloadFileName","downloadPNG","downloadDivAsPNG","handleDownload","renderPlot","zoomCenter","x","y","handleZoomIn","scale","scaleX","scaleY","point","handleZoomOut","handleZoomReset","reset","controlsPosition","jsxs","Fragment","disableZoom","jsx","Stack","position","ControlButtons","isSameTransform","transformMatrix","initialTransformMatrix","controlsHighlight","ScatterPlotViewport","loading","animation","animationGroupSize","animationBuffer","groupPointsAnchor","hoveredPoints","onDisplayedPointsChange","onSelectionChange","onPointClicked","leftAxisLabel","bottomAxisLabel","border","originLine","backgroundGradient","miniMap","Tooltip","IconButton","color","HighlightAlt","MiniMap","disableTooltip","Portal","ScatterTooltip","tooltipBody","ResponsiveContainer","PlotZoom"],"mappings":"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"}
@@ -0,0 +1,134 @@
1
+ import { jsx as t, jsxs as d, Fragment as q } from "react/jsx-runtime";
2
+ import { c as E } from "react/compiler-runtime";
3
+ import { useState as H } from "react";
4
+ import m from "@mui/material/Button";
5
+ import N from "./visualization.es117.js";
6
+ import X from "./visualization.es118.js";
7
+ import Y from "@mui/icons-material/KeyboardDoubleArrowRight";
8
+ import $ from "@mui/icons-material/KeyboardDoubleArrowLeft";
9
+ import K from "@mui/material/Stack";
10
+ import { Typography as G } from "@mui/material";
11
+ import J from "@mui/icons-material/Download";
12
+ import M from "@mui/icons-material/Shuffle";
13
+ import Q from "@mui/icons-material/Label";
14
+ import U from "@mui/icons-material/LabelOff";
15
+ import V from "@mui/icons-material/Insights";
16
+ import f from "@mui/material/Tooltip";
17
+ import Z from "@mui/material/Paper";
18
+ const xe = (P) => {
19
+ const e = E(38), {
20
+ toggles: g,
21
+ onToggle: h,
22
+ simpleCategories: y,
23
+ edgeType: x,
24
+ colorFunc: b,
25
+ elements: u,
26
+ edges: w,
27
+ scales: C,
28
+ scaleWidth: S,
29
+ downloadScreenshot: L,
30
+ randomize: I,
31
+ organize: z,
32
+ toggleLabels: k,
33
+ labelsOn: T,
34
+ legendToggle: W,
35
+ legendNodeLabel: v,
36
+ legendEdgeLabel: j,
37
+ uniqueCat: D,
38
+ scaleLabel: R
39
+ } = P, [o, _] = H(!1), O = o ? "40px" : "250px";
40
+ let s;
41
+ e[0] !== O ? (s = {
42
+ position: "absolute",
43
+ top: "0",
44
+ right: "0",
45
+ width: O,
46
+ backgroundColor: "white",
47
+ transition: "width 0.3s",
48
+ zIndex: 1e3,
49
+ overflowX: "hidden",
50
+ marginRight: "5px",
51
+ marginTop: "5px",
52
+ overflowY: "auto",
53
+ maxHeight: "100vh"
54
+ }, e[0] = O, e[1] = s) : s = e[1];
55
+ const A = s, B = o ? "0px" : "10px";
56
+ let a;
57
+ e[2] !== B ? (a = {
58
+ width: B,
59
+ height: "40px",
60
+ display: "inline-block",
61
+ alignItems: "left",
62
+ justifyContent: "left",
63
+ cursor: "pointer",
64
+ padding: "0px"
65
+ }, e[2] = B, e[3] = a) : a = e[3];
66
+ const F = a;
67
+ let l;
68
+ e[4] !== o ? (l = () => _(!o), e[4] = o, e[5] = l) : l = e[5];
69
+ let p;
70
+ e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = {
71
+ typography: "body2",
72
+ textTransform: "none"
73
+ }, e[6] = p) : p = e[6];
74
+ let i;
75
+ e[7] !== o ? (i = o ? /* @__PURE__ */ t($, { style: {
76
+ marginLeft: "-27px"
77
+ } }) : /* @__PURE__ */ t(Y, { style: {
78
+ marginRight: "30px"
79
+ } }), e[7] = o, e[8] = i) : i = e[8];
80
+ let n;
81
+ e[9] !== F || e[10] !== l || e[11] !== i ? (n = /* @__PURE__ */ t(m, { onClick: l, fullWidth: !0, sx: p, style: F, children: i }), e[9] = F, e[10] = l, e[11] = i, e[12] = n) : n = e[12];
82
+ let r;
83
+ e[13] !== o || e[14] !== b || e[15] !== L || e[16] !== x || e[17] !== w || e[18] !== u || e[19] !== T || e[20] !== j || e[21] !== v || e[22] !== W || e[23] !== h || e[24] !== z || e[25] !== I || e[26] !== R || e[27] !== S || e[28] !== C || e[29] !== y || e[30] !== k || e[31] !== g || e[32] !== D ? (r = !o && /* @__PURE__ */ d(q, { children: [
84
+ /* @__PURE__ */ t(G, { variant: "body2", style: {
85
+ fontSize: "20px",
86
+ marginLeft: "22px",
87
+ marginTop: "5px",
88
+ justifyContent: "center",
89
+ alignItems: "center",
90
+ display: "inline-block"
91
+ }, children: "Controls" }),
92
+ /* @__PURE__ */ d(K, { spacing: 1, children: [
93
+ /* @__PURE__ */ t(N, { toggles: g, onToggle: h, simpleCategories: y, edgeType: x, colorFunc: b, elements: u, edges: w, legendToggle: W, legendNodeLabel: v, legendEdgeLabel: j, uniqueCat: D }),
94
+ /* @__PURE__ */ t(X, { scales: C, width: S, scaleLabel: R }),
95
+ /* @__PURE__ */ d(K, { direction: "row", spacing: 2, style: {
96
+ marginBottom: "5px"
97
+ }, children: [
98
+ /* @__PURE__ */ t(m, { onClick: L, style: {
99
+ fontSize: "small",
100
+ minWidth: "40px"
101
+ }, children: /* @__PURE__ */ t(f, { title: "Download", color: "primary", sx: {
102
+ ml: 1
103
+ }, placement: "bottom", children: /* @__PURE__ */ t(J, {}) }) }),
104
+ /* @__PURE__ */ t(m, { onClick: I, style: {
105
+ fontSize: "small",
106
+ minWidth: "40px"
107
+ }, children: /* @__PURE__ */ t(f, { title: "Randomize", color: "primary", sx: {
108
+ ml: 1
109
+ }, placement: "bottom", children: /* @__PURE__ */ t(M, {}) }) }),
110
+ /* @__PURE__ */ t(m, { onClick: z, style: {
111
+ fontSize: "small",
112
+ minWidth: "40px"
113
+ }, children: /* @__PURE__ */ t(f, { title: "Organize", color: "primary", sx: {
114
+ ml: 1
115
+ }, placement: "bottom", children: /* @__PURE__ */ t(V, {}) }) }),
116
+ /* @__PURE__ */ t(m, { onClick: k, style: {
117
+ fontSize: "small",
118
+ minWidth: "40px"
119
+ }, children: /* @__PURE__ */ t(f, { title: "Toggle Labels", color: "primary", sx: {
120
+ ml: 1
121
+ }, placement: "bottom", children: T ? /* @__PURE__ */ t(U, {}) : /* @__PURE__ */ t(Q, {}) }) })
122
+ ] })
123
+ ] })
124
+ ] }), e[13] = o, e[14] = b, e[15] = L, e[16] = x, e[17] = w, e[18] = u, e[19] = T, e[20] = j, e[21] = v, e[22] = W, e[23] = h, e[24] = z, e[25] = I, e[26] = R, e[27] = S, e[28] = C, e[29] = y, e[30] = k, e[31] = g, e[32] = D, e[33] = r) : r = e[33];
125
+ let c;
126
+ return e[34] !== A || e[35] !== n || e[36] !== r ? (c = /* @__PURE__ */ d(Z, { style: A, elevation: 3, children: [
127
+ n,
128
+ r
129
+ ] }), e[34] = A, e[35] = n, e[36] = r, e[37] = c) : c = e[37], c;
130
+ };
131
+ export {
132
+ xe as default
133
+ };
134
+ //# sourceMappingURL=visualization.es81.js.map
@@ -0,0 +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,134 +1,69 @@
1
- import { jsx as t, jsxs as d, Fragment as q } from "react/jsx-runtime";
2
- import { c as E } from "react/compiler-runtime";
3
- import { useState as H } from "react";
4
- import m from "@mui/material/Button";
5
- import N from "./visualization.es123.js";
6
- import X from "./visualization.es124.js";
7
- import Y from "@mui/icons-material/KeyboardDoubleArrowRight";
8
- import $ from "@mui/icons-material/KeyboardDoubleArrowLeft";
9
- import K from "@mui/material/Stack";
10
- import { Typography as G } from "@mui/material";
11
- import J from "@mui/icons-material/Download";
12
- import M from "@mui/icons-material/Shuffle";
13
- import Q from "@mui/icons-material/Label";
14
- import U from "@mui/icons-material/LabelOff";
15
- import V from "@mui/icons-material/Insights";
16
- import f from "@mui/material/Tooltip";
17
- import Z from "@mui/material/Paper";
18
- const xe = (P) => {
19
- const e = E(38), {
20
- toggles: g,
21
- onToggle: h,
22
- simpleCategories: y,
23
- edgeType: x,
24
- colorFunc: b,
25
- elements: u,
26
- edges: w,
27
- scales: C,
28
- scaleWidth: S,
29
- downloadScreenshot: L,
30
- randomize: I,
31
- organize: z,
32
- toggleLabels: k,
33
- labelsOn: T,
34
- legendToggle: W,
35
- legendNodeLabel: v,
36
- legendEdgeLabel: j,
37
- uniqueCat: D,
38
- scaleLabel: R
39
- } = P, [o, _] = H(!1), O = o ? "40px" : "250px";
40
- let s;
41
- e[0] !== O ? (s = {
42
- position: "absolute",
43
- top: "0",
44
- right: "0",
45
- width: O,
46
- backgroundColor: "white",
47
- transition: "width 0.3s",
48
- zIndex: 1e3,
49
- overflowX: "hidden",
50
- marginRight: "5px",
51
- marginTop: "5px",
52
- overflowY: "auto",
53
- maxHeight: "100vh"
54
- }, e[0] = O, e[1] = s) : s = e[1];
55
- const A = s, B = o ? "0px" : "10px";
56
- let a;
57
- e[2] !== B ? (a = {
58
- width: B,
59
- height: "40px",
60
- display: "inline-block",
61
- alignItems: "left",
62
- justifyContent: "left",
63
- cursor: "pointer",
64
- padding: "0px"
65
- }, e[2] = B, e[3] = a) : a = e[3];
66
- const F = a;
67
- let l;
68
- e[4] !== o ? (l = () => _(!o), e[4] = o, e[5] = l) : l = e[5];
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
+ ] });
69
63
  let p;
70
- e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = {
71
- typography: "body2",
72
- textTransform: "none"
73
- }, e[6] = p) : p = e[6];
74
- let i;
75
- e[7] !== o ? (i = o ? /* @__PURE__ */ t($, { style: {
76
- marginLeft: "-27px"
77
- } }) : /* @__PURE__ */ t(Y, { style: {
78
- marginRight: "30px"
79
- } }), e[7] = o, e[8] = i) : i = e[8];
80
- let n;
81
- e[9] !== F || e[10] !== l || e[11] !== i ? (n = /* @__PURE__ */ t(m, { onClick: l, fullWidth: !0, sx: p, style: F, children: i }), e[9] = F, e[10] = l, e[11] = i, e[12] = n) : n = e[12];
82
- let r;
83
- e[13] !== o || e[14] !== b || e[15] !== L || e[16] !== x || e[17] !== w || e[18] !== u || e[19] !== T || e[20] !== j || e[21] !== v || e[22] !== W || e[23] !== h || e[24] !== z || e[25] !== I || e[26] !== R || e[27] !== S || e[28] !== C || e[29] !== y || e[30] !== k || e[31] !== g || e[32] !== D ? (r = !o && /* @__PURE__ */ d(q, { children: [
84
- /* @__PURE__ */ t(G, { variant: "body2", style: {
85
- fontSize: "20px",
86
- marginLeft: "22px",
87
- marginTop: "5px",
88
- justifyContent: "center",
89
- alignItems: "center",
90
- display: "inline-block"
91
- }, children: "Controls" }),
92
- /* @__PURE__ */ d(K, { spacing: 1, children: [
93
- /* @__PURE__ */ t(N, { toggles: g, onToggle: h, simpleCategories: y, edgeType: x, colorFunc: b, elements: u, edges: w, legendToggle: W, legendNodeLabel: v, legendEdgeLabel: j, uniqueCat: D }),
94
- /* @__PURE__ */ t(X, { scales: C, width: S, scaleLabel: R }),
95
- /* @__PURE__ */ d(K, { direction: "row", spacing: 2, style: {
96
- marginBottom: "5px"
97
- }, children: [
98
- /* @__PURE__ */ t(m, { onClick: L, style: {
99
- fontSize: "small",
100
- minWidth: "40px"
101
- }, children: /* @__PURE__ */ t(f, { title: "Download", color: "primary", sx: {
102
- ml: 1
103
- }, placement: "bottom", children: /* @__PURE__ */ t(J, {}) }) }),
104
- /* @__PURE__ */ t(m, { onClick: I, style: {
105
- fontSize: "small",
106
- minWidth: "40px"
107
- }, children: /* @__PURE__ */ t(f, { title: "Randomize", color: "primary", sx: {
108
- ml: 1
109
- }, placement: "bottom", children: /* @__PURE__ */ t(M, {}) }) }),
110
- /* @__PURE__ */ t(m, { onClick: z, style: {
111
- fontSize: "small",
112
- minWidth: "40px"
113
- }, children: /* @__PURE__ */ t(f, { title: "Organize", color: "primary", sx: {
114
- ml: 1
115
- }, placement: "bottom", children: /* @__PURE__ */ t(V, {}) }) }),
116
- /* @__PURE__ */ t(m, { onClick: k, style: {
117
- fontSize: "small",
118
- minWidth: "40px"
119
- }, children: /* @__PURE__ */ t(f, { title: "Toggle Labels", color: "primary", sx: {
120
- ml: 1
121
- }, placement: "bottom", children: T ? /* @__PURE__ */ t(U, {}) : /* @__PURE__ */ t(Q, {}) }) })
122
- ] })
123
- ] })
124
- ] }), e[13] = o, e[14] = b, e[15] = L, e[16] = x, e[17] = w, e[18] = u, e[19] = T, e[20] = j, e[21] = v, e[22] = W, e[23] = h, e[24] = z, e[25] = I, e[26] = R, e[27] = S, e[28] = C, e[29] = y, e[30] = k, e[31] = g, e[32] = D, e[33] = r) : r = e[33];
125
- let c;
126
- return e[34] !== A || e[35] !== n || e[36] !== r ? (c = /* @__PURE__ */ d(Z, { style: A, elevation: 3, children: [
127
- n,
128
- r
129
- ] }), e[34] = A, e[35] = n, e[36] = r, e[37] = c) : c = e[37], c;
64
+ return t[5] !== h ? (p = /* @__PURE__ */ e(D, { children: h }), t[5] = h, t[6] = p) : p = t[6], p;
130
65
  };
131
66
  export {
132
- xe as default
67
+ V as default
133
68
  };
134
69
  //# sourceMappingURL=visualization.es82.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es82.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.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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"}