@weng-lab/visualization 2.4.0 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1176) hide show
  1. package/dist/src/components/Heatmap/HeatmapCanvasCells.d.ts.map +1 -1
  2. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts +4 -1
  3. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMap.d.ts.map +1 -1
  4. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts +1 -1
  5. package/dist/src/components/Heatmap/scrollable/HeatmapMiniMapPopup.d.ts.map +1 -1
  6. package/dist/visualization.es10.js +10 -10
  7. package/dist/visualization.es100.js +156 -15
  8. package/dist/visualization.es100.js.map +1 -1
  9. package/dist/visualization.es101.js +82 -12
  10. package/dist/visualization.es101.js.map +1 -1
  11. package/dist/visualization.es102.js +36 -72
  12. package/dist/visualization.es102.js.map +1 -1
  13. package/dist/visualization.es103.js +46 -32
  14. package/dist/visualization.es103.js.map +1 -1
  15. package/dist/visualization.es104.js +74 -13
  16. package/dist/visualization.es104.js.map +1 -1
  17. package/dist/visualization.es105.js +30 -55
  18. package/dist/visualization.es105.js.map +1 -1
  19. package/dist/visualization.es106.js +13 -32
  20. package/dist/visualization.es106.js.map +1 -1
  21. package/dist/visualization.es107.js +26 -18
  22. package/dist/visualization.es107.js.map +1 -1
  23. package/dist/visualization.es108.js +70 -14
  24. package/dist/visualization.es108.js.map +1 -1
  25. package/dist/visualization.es109.js +222 -26
  26. package/dist/visualization.es109.js.map +1 -1
  27. package/dist/visualization.es11.js +9 -9
  28. package/dist/visualization.es110.js +2 -222
  29. package/dist/visualization.es110.js.map +1 -1
  30. package/dist/visualization.es111.js +557 -2
  31. package/dist/visualization.es111.js.map +1 -1
  32. package/dist/visualization.es112.js +153 -496
  33. package/dist/visualization.es112.js.map +1 -1
  34. package/dist/visualization.es113.js +2 -214
  35. package/dist/visualization.es113.js.map +1 -1
  36. package/dist/visualization.es114.js +4800 -2
  37. package/dist/visualization.es114.js.map +1 -1
  38. package/dist/visualization.es115.js +25 -4800
  39. package/dist/visualization.es115.js.map +1 -1
  40. package/dist/visualization.es116.js +45 -25
  41. package/dist/visualization.es116.js.map +1 -1
  42. package/dist/visualization.es117.js +143 -44
  43. package/dist/visualization.es117.js.map +1 -1
  44. package/dist/visualization.es118.js +141 -138
  45. package/dist/visualization.es118.js.map +1 -1
  46. package/dist/visualization.es119.js +56 -145
  47. package/dist/visualization.es119.js.map +1 -1
  48. package/dist/visualization.es12.js +2 -2
  49. package/dist/visualization.es120.js +31 -25
  50. package/dist/visualization.es120.js.map +1 -1
  51. package/dist/visualization.es121.js +18 -70
  52. package/dist/visualization.es121.js.map +1 -1
  53. package/dist/visualization.es122.js +14 -45
  54. package/dist/visualization.es122.js.map +1 -1
  55. package/dist/visualization.es123.js +26 -22
  56. package/dist/visualization.es123.js.map +1 -1
  57. package/dist/visualization.es124.js +32 -60
  58. package/dist/visualization.es124.js.map +1 -1
  59. package/dist/visualization.es125.js +43 -101
  60. package/dist/visualization.es125.js.map +1 -1
  61. package/dist/visualization.es126.js +72 -125
  62. package/dist/visualization.es126.js.map +1 -1
  63. package/dist/visualization.es127.js +25 -83
  64. package/dist/visualization.es127.js.map +1 -1
  65. package/dist/visualization.es128.js +82 -35
  66. package/dist/visualization.es128.js.map +1 -1
  67. package/dist/visualization.es129.js +36 -47
  68. package/dist/visualization.es129.js.map +1 -1
  69. package/dist/visualization.es13.js +7 -7
  70. package/dist/visualization.es130.js +85 -2
  71. package/dist/visualization.es130.js.map +1 -1
  72. package/dist/visualization.es131.js +5 -1606
  73. package/dist/visualization.es131.js.map +1 -1
  74. package/dist/visualization.es132.js +89 -63
  75. package/dist/visualization.es132.js.map +1 -1
  76. package/dist/visualization.es133.js +13 -7
  77. package/dist/visualization.es133.js.map +1 -1
  78. package/dist/visualization.es134.js +6 -5
  79. package/dist/visualization.es134.js.map +1 -1
  80. package/dist/visualization.es135.js +14 -42
  81. package/dist/visualization.es135.js.map +1 -1
  82. package/dist/visualization.es136.js +6 -60
  83. package/dist/visualization.es136.js.map +1 -1
  84. package/dist/visualization.es137.js +13 -38
  85. package/dist/visualization.es137.js.map +1 -1
  86. package/dist/visualization.es138.js +4 -36
  87. package/dist/visualization.es138.js.map +1 -1
  88. package/dist/visualization.es139.js +6 -82
  89. package/dist/visualization.es139.js.map +1 -1
  90. package/dist/visualization.es140.js +60 -28
  91. package/dist/visualization.es140.js.map +1 -1
  92. package/dist/visualization.es141.js +37 -6
  93. package/dist/visualization.es141.js.map +1 -1
  94. package/dist/visualization.es142.js +36 -4
  95. package/dist/visualization.es142.js.map +1 -1
  96. package/dist/visualization.es143.js +83 -3
  97. package/dist/visualization.es143.js.map +1 -1
  98. package/dist/visualization.es144.js +28 -84
  99. package/dist/visualization.es144.js.map +1 -1
  100. package/dist/visualization.es145.js +3 -89
  101. package/dist/visualization.es145.js.map +1 -1
  102. package/dist/visualization.es146.js +71 -12
  103. package/dist/visualization.es146.js.map +1 -1
  104. package/dist/visualization.es147.js +16 -5
  105. package/dist/visualization.es147.js.map +1 -1
  106. package/dist/visualization.es148.js +11 -14
  107. package/dist/visualization.es148.js.map +1 -1
  108. package/dist/visualization.es149.js +5 -7
  109. package/dist/visualization.es149.js.map +1 -1
  110. package/dist/visualization.es15.js +8 -8
  111. package/dist/visualization.es150.js +30 -13
  112. package/dist/visualization.es150.js.map +1 -1
  113. package/dist/visualization.es151.js +6 -70
  114. package/dist/visualization.es151.js.map +1 -1
  115. package/dist/visualization.es152.js +6 -16
  116. package/dist/visualization.es152.js.map +1 -1
  117. package/dist/visualization.es153.js +3 -11
  118. package/dist/visualization.es153.js.map +1 -1
  119. package/dist/visualization.es154.js +17 -5
  120. package/dist/visualization.es154.js.map +1 -1
  121. package/dist/visualization.es155.js +16 -30
  122. package/dist/visualization.es155.js.map +1 -1
  123. package/dist/visualization.es156.js +31 -6
  124. package/dist/visualization.es156.js.map +1 -1
  125. package/dist/visualization.es157.js +16 -6
  126. package/dist/visualization.es157.js.map +1 -1
  127. package/dist/visualization.es158.js +10 -3
  128. package/dist/visualization.es158.js.map +1 -1
  129. package/dist/visualization.es159.js +6 -16
  130. package/dist/visualization.es159.js.map +1 -1
  131. package/dist/visualization.es160.js +6 -16
  132. package/dist/visualization.es160.js.map +1 -1
  133. package/dist/visualization.es161.js +9 -31
  134. package/dist/visualization.es161.js.map +1 -1
  135. package/dist/visualization.es162.js +4 -16
  136. package/dist/visualization.es162.js.map +1 -1
  137. package/dist/visualization.es163.js +4 -10
  138. package/dist/visualization.es163.js.map +1 -1
  139. package/dist/visualization.es164.js +8 -6
  140. package/dist/visualization.es164.js.map +1 -1
  141. package/dist/visualization.es165.js +4 -6
  142. package/dist/visualization.es165.js.map +1 -1
  143. package/dist/visualization.es166.js +12 -10
  144. package/dist/visualization.es166.js.map +1 -1
  145. package/dist/visualization.es167.js +26 -4
  146. package/dist/visualization.es167.js.map +1 -1
  147. package/dist/visualization.es168.js +2 -5
  148. package/dist/visualization.es168.js.map +1 -1
  149. package/dist/visualization.es169.js +1605 -8
  150. package/dist/visualization.es169.js.map +1 -1
  151. package/dist/visualization.es170.js +74 -4
  152. package/dist/visualization.es170.js.map +1 -1
  153. package/dist/visualization.es171.js +2 -13
  154. package/dist/visualization.es171.js.map +1 -1
  155. package/dist/visualization.es172.js +482 -26
  156. package/dist/visualization.es172.js.map +1 -1
  157. package/dist/visualization.es173.js +2 -8
  158. package/dist/visualization.es173.js.map +1 -1
  159. package/dist/visualization.es174.js +62 -14
  160. package/dist/visualization.es174.js.map +1 -1
  161. package/dist/visualization.es175.js +61 -11
  162. package/dist/visualization.es175.js.map +1 -1
  163. package/dist/visualization.es176.js +123 -5
  164. package/dist/visualization.es176.js.map +1 -1
  165. package/dist/visualization.es177.js +8 -12
  166. package/dist/visualization.es177.js.map +1 -1
  167. package/dist/visualization.es178.js +15 -3
  168. package/dist/visualization.es178.js.map +1 -1
  169. package/dist/visualization.es179.js +11 -2
  170. package/dist/visualization.es179.js.map +1 -1
  171. package/dist/visualization.es18.js +1 -1
  172. package/dist/visualization.es180.js +6 -11
  173. package/dist/visualization.es180.js.map +1 -1
  174. package/dist/visualization.es181.js +11 -30
  175. package/dist/visualization.es181.js.map +1 -1
  176. package/dist/visualization.es182.js +3 -42
  177. package/dist/visualization.es182.js.map +1 -1
  178. package/dist/visualization.es183.js +2 -50
  179. package/dist/visualization.es183.js.map +1 -1
  180. package/dist/visualization.es184.js +11 -3
  181. package/dist/visualization.es184.js.map +1 -1
  182. package/dist/visualization.es185.js +31 -3
  183. package/dist/visualization.es185.js.map +1 -1
  184. package/dist/visualization.es186.js +42 -5
  185. package/dist/visualization.es186.js.map +1 -1
  186. package/dist/visualization.es187.js +49 -4
  187. package/dist/visualization.es187.js.map +1 -1
  188. package/dist/visualization.es188.js +3 -11
  189. package/dist/visualization.es188.js.map +1 -1
  190. package/dist/visualization.es189.js +3 -4
  191. package/dist/visualization.es189.js.map +1 -1
  192. package/dist/visualization.es190.js +5 -17
  193. package/dist/visualization.es190.js.map +1 -1
  194. package/dist/visualization.es191.js +4 -18
  195. package/dist/visualization.es191.js.map +1 -1
  196. package/dist/visualization.es192.js +10 -36
  197. package/dist/visualization.es192.js.map +1 -1
  198. package/dist/visualization.es193.js +4 -2
  199. package/dist/visualization.es193.js.map +1 -1
  200. package/dist/visualization.es194.js +18 -2
  201. package/dist/visualization.es194.js.map +1 -1
  202. package/dist/visualization.es195.js +19 -4
  203. package/dist/visualization.es195.js.map +1 -1
  204. package/dist/visualization.es196.js +36 -14
  205. package/dist/visualization.es196.js.map +1 -1
  206. package/dist/visualization.es197.js +2 -3
  207. package/dist/visualization.es197.js.map +1 -1
  208. package/dist/visualization.es198.js +2 -7
  209. package/dist/visualization.es198.js.map +1 -1
  210. package/dist/visualization.es199.js +4 -3
  211. package/dist/visualization.es199.js.map +1 -1
  212. package/dist/visualization.es2.js +8 -8
  213. package/dist/visualization.es20.js +143 -62
  214. package/dist/visualization.es20.js.map +1 -1
  215. package/dist/visualization.es200.js +14 -6
  216. package/dist/visualization.es200.js.map +1 -1
  217. package/dist/visualization.es201.js +3 -10
  218. package/dist/visualization.es201.js.map +1 -1
  219. package/dist/visualization.es202.js +7 -7
  220. package/dist/visualization.es202.js.map +1 -1
  221. package/dist/visualization.es203.js +3 -8
  222. package/dist/visualization.es203.js.map +1 -1
  223. package/dist/visualization.es204.js +6 -9
  224. package/dist/visualization.es204.js.map +1 -1
  225. package/dist/visualization.es205.js +17 -5
  226. package/dist/visualization.es205.js.map +1 -1
  227. package/dist/visualization.es206.js +3 -6
  228. package/dist/visualization.es206.js.map +1 -1
  229. package/dist/visualization.es207.js +35 -5
  230. package/dist/visualization.es207.js.map +1 -1
  231. package/dist/visualization.es208.js +62 -13
  232. package/dist/visualization.es208.js.map +1 -1
  233. package/dist/visualization.es209.js +7 -6
  234. package/dist/visualization.es209.js.map +1 -1
  235. package/dist/visualization.es21.js +66 -112
  236. package/dist/visualization.es21.js.map +1 -1
  237. package/dist/visualization.es210.js +42 -3
  238. package/dist/visualization.es210.js.map +1 -1
  239. package/dist/visualization.es211.js +19 -6
  240. package/dist/visualization.es211.js.map +1 -1
  241. package/dist/visualization.es212.js +27 -6
  242. package/dist/visualization.es212.js.map +1 -1
  243. package/dist/visualization.es213.js +3 -9
  244. package/dist/visualization.es213.js.map +1 -1
  245. package/dist/visualization.es214.js +8 -31
  246. package/dist/visualization.es214.js.map +1 -1
  247. package/dist/visualization.es215.js +6 -114
  248. package/dist/visualization.es215.js.map +1 -1
  249. package/dist/visualization.es216.js +7 -19
  250. package/dist/visualization.es216.js.map +1 -1
  251. package/dist/visualization.es217.js +9 -27
  252. package/dist/visualization.es217.js.map +1 -1
  253. package/dist/visualization.es218.js +6 -3
  254. package/dist/visualization.es218.js.map +1 -1
  255. package/dist/visualization.es219.js +6 -5
  256. package/dist/visualization.es219.js.map +1 -1
  257. package/dist/visualization.es22.js +38 -146
  258. package/dist/visualization.es22.js.map +1 -1
  259. package/dist/visualization.es220.js +5 -33
  260. package/dist/visualization.es220.js.map +1 -1
  261. package/dist/visualization.es221.js +14 -15
  262. package/dist/visualization.es221.js.map +1 -1
  263. package/dist/visualization.es222.js +5 -7
  264. package/dist/visualization.es222.js.map +1 -1
  265. package/dist/visualization.es223.js +3 -11
  266. package/dist/visualization.es223.js.map +1 -1
  267. package/dist/visualization.es224.js +6 -17
  268. package/dist/visualization.es224.js.map +1 -1
  269. package/dist/visualization.es225.js +6 -3
  270. package/dist/visualization.es225.js.map +1 -1
  271. package/dist/visualization.es226.js +9 -74
  272. package/dist/visualization.es226.js.map +1 -1
  273. package/dist/visualization.es227.js +33 -2
  274. package/dist/visualization.es227.js.map +1 -1
  275. package/dist/visualization.es228.js +114 -482
  276. package/dist/visualization.es228.js.map +1 -1
  277. package/dist/visualization.es229.js +4 -2
  278. package/dist/visualization.es229.js.map +1 -1
  279. package/dist/visualization.es23.js +80 -7
  280. package/dist/visualization.es23.js.map +1 -1
  281. package/dist/visualization.es230.js +4 -122
  282. package/dist/visualization.es230.js.map +1 -1
  283. package/dist/visualization.es231.js +33 -63
  284. package/dist/visualization.es231.js.map +1 -1
  285. package/dist/visualization.es232.js +15 -60
  286. package/dist/visualization.es232.js.map +1 -1
  287. package/dist/visualization.es233.js +6 -114
  288. package/dist/visualization.es233.js.map +1 -1
  289. package/dist/visualization.es234.js +10 -17
  290. package/dist/visualization.es234.js.map +1 -1
  291. package/dist/visualization.es235.js +17 -3
  292. package/dist/visualization.es235.js.map +1 -1
  293. package/dist/visualization.es236.js +72 -35
  294. package/dist/visualization.es236.js.map +1 -1
  295. package/dist/visualization.es237.js +18 -68
  296. package/dist/visualization.es237.js.map +1 -1
  297. package/dist/visualization.es238.js +17 -17
  298. package/dist/visualization.es238.js.map +1 -1
  299. package/dist/visualization.es239.js +35 -17
  300. package/dist/visualization.es239.js.map +1 -1
  301. package/dist/visualization.es24.js +46 -8
  302. package/dist/visualization.es24.js.map +1 -1
  303. package/dist/visualization.es240.js +7 -40
  304. package/dist/visualization.es240.js.map +1 -1
  305. package/dist/visualization.es241.js +12 -7
  306. package/dist/visualization.es241.js.map +1 -1
  307. package/dist/visualization.es242.js +14 -9
  308. package/dist/visualization.es242.js.map +1 -1
  309. package/dist/visualization.es243.js +34 -15
  310. package/dist/visualization.es243.js.map +1 -1
  311. package/dist/visualization.es244.js +22 -34
  312. package/dist/visualization.es244.js.map +1 -1
  313. package/dist/visualization.es245.js +22 -19
  314. package/dist/visualization.es245.js.map +1 -1
  315. package/dist/visualization.es246.js +34 -27
  316. package/dist/visualization.es246.js.map +1 -1
  317. package/dist/visualization.es247.js +2 -2
  318. package/dist/visualization.es248.js +123 -34
  319. package/dist/visualization.es248.js.map +1 -1
  320. package/dist/visualization.es249.js +24 -2
  321. package/dist/visualization.es249.js.map +1 -1
  322. package/dist/visualization.es25.js +55 -47
  323. package/dist/visualization.es25.js.map +1 -1
  324. package/dist/visualization.es250.js +53 -3
  325. package/dist/visualization.es250.js.map +1 -1
  326. package/dist/visualization.es251.js +20 -3
  327. package/dist/visualization.es251.js.map +1 -1
  328. package/dist/visualization.es252.js +3 -3
  329. package/dist/visualization.es252.js.map +1 -1
  330. package/dist/visualization.es253.js +3 -3
  331. package/dist/visualization.es253.js.map +1 -1
  332. package/dist/visualization.es254.js +3 -3
  333. package/dist/visualization.es254.js.map +1 -1
  334. package/dist/visualization.es255.js +3 -3
  335. package/dist/visualization.es255.js.map +1 -1
  336. package/dist/visualization.es256.js +3 -3
  337. package/dist/visualization.es256.js.map +1 -1
  338. package/dist/visualization.es257.js +3 -7
  339. package/dist/visualization.es257.js.map +1 -1
  340. package/dist/visualization.es258.js +3 -48
  341. package/dist/visualization.es258.js.map +1 -1
  342. package/dist/visualization.es259.js +7 -3
  343. package/dist/visualization.es259.js.map +1 -1
  344. package/dist/visualization.es26.js +7 -20
  345. package/dist/visualization.es26.js.map +1 -1
  346. package/dist/visualization.es260.js +47 -5
  347. package/dist/visualization.es260.js.map +1 -1
  348. package/dist/visualization.es261.js +3 -4
  349. package/dist/visualization.es261.js.map +1 -1
  350. package/dist/visualization.es262.js +6 -3
  351. package/dist/visualization.es262.js.map +1 -1
  352. package/dist/visualization.es263.js +4 -6
  353. package/dist/visualization.es263.js.map +1 -1
  354. package/dist/visualization.es264.js +3 -4
  355. package/dist/visualization.es264.js.map +1 -1
  356. package/dist/visualization.es265.js +6 -23
  357. package/dist/visualization.es265.js.map +1 -1
  358. package/dist/visualization.es266.js +4 -53
  359. package/dist/visualization.es266.js.map +1 -1
  360. package/dist/visualization.es267.js +2 -21
  361. package/dist/visualization.es267.js.map +1 -1
  362. package/dist/visualization.es27.js +3 -3
  363. package/dist/visualization.es272.js +7 -3
  364. package/dist/visualization.es272.js.map +1 -1
  365. package/dist/visualization.es273.js +34 -11
  366. package/dist/visualization.es273.js.map +1 -1
  367. package/dist/visualization.es274.js +3 -36
  368. package/dist/visualization.es274.js.map +1 -1
  369. package/dist/visualization.es275.js +3 -260
  370. package/dist/visualization.es275.js.map +1 -1
  371. package/dist/visualization.es276.js +6 -59
  372. package/dist/visualization.es276.js.map +1 -1
  373. package/dist/visualization.es277.js +12 -5
  374. package/dist/visualization.es277.js.map +1 -1
  375. package/dist/visualization.es278.js +2 -8
  376. package/dist/visualization.es278.js.map +1 -1
  377. package/dist/visualization.es279.js +3 -140
  378. package/dist/visualization.es279.js.map +1 -1
  379. package/dist/visualization.es28.js +6 -33
  380. package/dist/visualization.es28.js.map +1 -1
  381. package/dist/visualization.es280.js +3 -5
  382. package/dist/visualization.es280.js.map +1 -1
  383. package/dist/visualization.es281.js +10 -21
  384. package/dist/visualization.es281.js.map +1 -1
  385. package/dist/visualization.es282.js +24 -36
  386. package/dist/visualization.es282.js.map +1 -1
  387. package/dist/visualization.es283.js +4 -34
  388. package/dist/visualization.es283.js.map +1 -1
  389. package/dist/visualization.es284.js +32 -14
  390. package/dist/visualization.es284.js.map +1 -1
  391. package/dist/visualization.es285.js +3 -19
  392. package/dist/visualization.es285.js.map +1 -1
  393. package/dist/visualization.es286.js +12 -9
  394. package/dist/visualization.es286.js.map +1 -1
  395. package/dist/visualization.es287.js +36 -109
  396. package/dist/visualization.es287.js.map +1 -1
  397. package/dist/visualization.es288.js +259 -11
  398. package/dist/visualization.es288.js.map +1 -1
  399. package/dist/visualization.es289.js +56 -138
  400. package/dist/visualization.es289.js.map +1 -1
  401. package/dist/visualization.es29.js +45 -32
  402. package/dist/visualization.es29.js.map +1 -1
  403. package/dist/visualization.es290.js +5 -5
  404. package/dist/visualization.es290.js.map +1 -1
  405. package/dist/visualization.es291.js +21 -71
  406. package/dist/visualization.es291.js.map +1 -1
  407. package/dist/visualization.es292.js +34 -32
  408. package/dist/visualization.es292.js.map +1 -1
  409. package/dist/visualization.es293.js +33 -19
  410. package/dist/visualization.es293.js.map +1 -1
  411. package/dist/visualization.es294.js +15 -4
  412. package/dist/visualization.es294.js.map +1 -1
  413. package/dist/visualization.es295.js +18 -24
  414. package/dist/visualization.es295.js.map +1 -1
  415. package/dist/visualization.es296.js +9 -31
  416. package/dist/visualization.es296.js.map +1 -1
  417. package/dist/visualization.es297.js +8 -2
  418. package/dist/visualization.es297.js.map +1 -1
  419. package/dist/visualization.es298.js +141 -2
  420. package/dist/visualization.es298.js.map +1 -1
  421. package/dist/visualization.es299.js +5 -5
  422. package/dist/visualization.es299.js.map +1 -1
  423. package/dist/visualization.es3.js +12 -12
  424. package/dist/visualization.es30.js +32 -53
  425. package/dist/visualization.es30.js.map +1 -1
  426. package/dist/visualization.es300.js +110 -15
  427. package/dist/visualization.es300.js.map +1 -1
  428. package/dist/visualization.es301.js +12 -34
  429. package/dist/visualization.es301.js.map +1 -1
  430. package/dist/visualization.es302.js +141 -27
  431. package/dist/visualization.es302.js.map +1 -1
  432. package/dist/visualization.es303.js +5 -10
  433. package/dist/visualization.es303.js.map +1 -1
  434. package/dist/visualization.es304.js +71 -6
  435. package/dist/visualization.es304.js.map +1 -1
  436. package/dist/visualization.es305.js +35 -13
  437. package/dist/visualization.es305.js.map +1 -1
  438. package/dist/visualization.es306.js +21 -12
  439. package/dist/visualization.es306.js.map +1 -1
  440. package/dist/visualization.es307.js +4 -2
  441. package/dist/visualization.es307.js.map +1 -1
  442. package/dist/visualization.es308.js +25 -3
  443. package/dist/visualization.es308.js.map +1 -1
  444. package/dist/visualization.es309.js +31 -2
  445. package/dist/visualization.es309.js.map +1 -1
  446. package/dist/visualization.es31.js +35 -111
  447. package/dist/visualization.es31.js.map +1 -1
  448. package/dist/visualization.es310.js +2 -104
  449. package/dist/visualization.es310.js.map +1 -1
  450. package/dist/visualization.es311.js +2 -5
  451. package/dist/visualization.es311.js.map +1 -1
  452. package/dist/visualization.es312.js +6 -3
  453. package/dist/visualization.es312.js.map +1 -1
  454. package/dist/visualization.es313.js +14 -18
  455. package/dist/visualization.es313.js.map +1 -1
  456. package/dist/visualization.es314.js +34 -5
  457. package/dist/visualization.es314.js.map +1 -1
  458. package/dist/visualization.es315.js +26 -13
  459. package/dist/visualization.es315.js.map +1 -1
  460. package/dist/visualization.es316.js +10 -4
  461. package/dist/visualization.es316.js.map +1 -1
  462. package/dist/visualization.es317.js +6 -28
  463. package/dist/visualization.es317.js.map +1 -1
  464. package/dist/visualization.es318.js +13 -6
  465. package/dist/visualization.es318.js.map +1 -1
  466. package/dist/visualization.es319.js +12 -2
  467. package/dist/visualization.es319.js.map +1 -1
  468. package/dist/visualization.es32.js +20 -7
  469. package/dist/visualization.es32.js.map +1 -1
  470. package/dist/visualization.es320.js +2 -20
  471. package/dist/visualization.es320.js.map +1 -1
  472. package/dist/visualization.es321.js +3 -21
  473. package/dist/visualization.es321.js.map +1 -1
  474. package/dist/visualization.es322.js +2 -6
  475. package/dist/visualization.es322.js.map +1 -1
  476. package/dist/visualization.es323.js +102 -6
  477. package/dist/visualization.es323.js.map +1 -1
  478. package/dist/visualization.es324.js +4 -18
  479. package/dist/visualization.es324.js.map +1 -1
  480. package/dist/visualization.es325.js +3 -44
  481. package/dist/visualization.es325.js.map +1 -1
  482. package/dist/visualization.es326.js +19 -7
  483. package/dist/visualization.es326.js.map +1 -1
  484. package/dist/visualization.es327.js +5 -19
  485. package/dist/visualization.es327.js.map +1 -1
  486. package/dist/visualization.es328.js +13 -52
  487. package/dist/visualization.es328.js.map +1 -1
  488. package/dist/visualization.es329.js +4 -26
  489. package/dist/visualization.es329.js.map +1 -1
  490. package/dist/visualization.es33.js +11 -32
  491. package/dist/visualization.es33.js.map +1 -1
  492. package/dist/visualization.es330.js +29 -11
  493. package/dist/visualization.es330.js.map +1 -1
  494. package/dist/visualization.es331.js +6 -18
  495. package/dist/visualization.es331.js.map +1 -1
  496. package/dist/visualization.es332.js +2 -12
  497. package/dist/visualization.es332.js.map +1 -1
  498. package/dist/visualization.es333.js +20 -5
  499. package/dist/visualization.es333.js.map +1 -1
  500. package/dist/visualization.es334.js +21 -4
  501. package/dist/visualization.es334.js.map +1 -1
  502. package/dist/visualization.es335.js +5 -3
  503. package/dist/visualization.es335.js.map +1 -1
  504. package/dist/visualization.es336.js +6 -174
  505. package/dist/visualization.es336.js.map +1 -1
  506. package/dist/visualization.es337.js +18 -39
  507. package/dist/visualization.es337.js.map +1 -1
  508. package/dist/visualization.es338.js +44 -6
  509. package/dist/visualization.es338.js.map +1 -1
  510. package/dist/visualization.es339.js +7 -4
  511. package/dist/visualization.es339.js.map +1 -1
  512. package/dist/visualization.es34.js +58 -29
  513. package/dist/visualization.es34.js.map +1 -1
  514. package/dist/visualization.es340.js +20 -2
  515. package/dist/visualization.es340.js.map +1 -1
  516. package/dist/visualization.es341.js +54 -30
  517. package/dist/visualization.es341.js.map +1 -1
  518. package/dist/visualization.es342.js +27 -8
  519. package/dist/visualization.es342.js.map +1 -1
  520. package/dist/visualization.es343.js +11 -11
  521. package/dist/visualization.es343.js.map +1 -1
  522. package/dist/visualization.es344.js +18 -3
  523. package/dist/visualization.es344.js.map +1 -1
  524. package/dist/visualization.es345.js +10 -64
  525. package/dist/visualization.es345.js.map +1 -1
  526. package/dist/visualization.es346.js +5 -7
  527. package/dist/visualization.es346.js.map +1 -1
  528. package/dist/visualization.es347.js +4 -5
  529. package/dist/visualization.es347.js.map +1 -1
  530. package/dist/visualization.es348.js +3 -13
  531. package/dist/visualization.es348.js.map +1 -1
  532. package/dist/visualization.es349.js +173 -32
  533. package/dist/visualization.es349.js.map +1 -1
  534. package/dist/visualization.es35.js +54 -64
  535. package/dist/visualization.es35.js.map +1 -1
  536. package/dist/visualization.es350.js +39 -4
  537. package/dist/visualization.es350.js.map +1 -1
  538. package/dist/visualization.es351.js +5 -9
  539. package/dist/visualization.es351.js.map +1 -1
  540. package/dist/visualization.es352.js +4 -2
  541. package/dist/visualization.es352.js.map +1 -1
  542. package/dist/visualization.es353.js +2 -5
  543. package/dist/visualization.es353.js.map +1 -1
  544. package/dist/visualization.es354.js +30 -2
  545. package/dist/visualization.es354.js.map +1 -1
  546. package/dist/visualization.es355.js +8 -10
  547. package/dist/visualization.es355.js.map +1 -1
  548. package/dist/visualization.es356.js +11 -10
  549. package/dist/visualization.es356.js.map +1 -1
  550. package/dist/visualization.es357.js +4 -13
  551. package/dist/visualization.es357.js.map +1 -1
  552. package/dist/visualization.es358.js +66 -2
  553. package/dist/visualization.es358.js.map +1 -1
  554. package/dist/visualization.es359.js +7 -10
  555. package/dist/visualization.es359.js.map +1 -1
  556. package/dist/visualization.es36.js +111 -36
  557. package/dist/visualization.es36.js.map +1 -1
  558. package/dist/visualization.es360.js +4 -7
  559. package/dist/visualization.es360.js.map +1 -1
  560. package/dist/visualization.es361.js +13 -5
  561. package/dist/visualization.es361.js.map +1 -1
  562. package/dist/visualization.es362.js +34 -24
  563. package/dist/visualization.es362.js.map +1 -1
  564. package/dist/visualization.es363.js +5 -19
  565. package/dist/visualization.es363.js.map +1 -1
  566. package/dist/visualization.es364.js +8 -39
  567. package/dist/visualization.es364.js.map +1 -1
  568. package/dist/visualization.es365.js +2 -3
  569. package/dist/visualization.es365.js.map +1 -1
  570. package/dist/visualization.es366.js +4 -8
  571. package/dist/visualization.es366.js.map +1 -1
  572. package/dist/visualization.es367.js +2 -9
  573. package/dist/visualization.es367.js.map +1 -1
  574. package/dist/visualization.es368.js +9 -35
  575. package/dist/visualization.es368.js.map +1 -1
  576. package/dist/visualization.es369.js +10 -10
  577. package/dist/visualization.es369.js.map +1 -1
  578. package/dist/visualization.es37.js +7 -43
  579. package/dist/visualization.es37.js.map +1 -1
  580. package/dist/visualization.es370.js +13 -32
  581. package/dist/visualization.es370.js.map +1 -1
  582. package/dist/visualization.es371.js +2 -5
  583. package/dist/visualization.es371.js.map +1 -1
  584. package/dist/visualization.es372.js +10 -2
  585. package/dist/visualization.es372.js.map +1 -1
  586. package/dist/visualization.es373.js +7 -15
  587. package/dist/visualization.es373.js.map +1 -1
  588. package/dist/visualization.es374.js +5 -24
  589. package/dist/visualization.es374.js.map +1 -1
  590. package/dist/visualization.es375.js +25 -2
  591. package/dist/visualization.es375.js.map +1 -1
  592. package/dist/visualization.es376.js +19 -63
  593. package/dist/visualization.es376.js.map +1 -1
  594. package/dist/visualization.es377.js +41 -2
  595. package/dist/visualization.es377.js.map +1 -1
  596. package/dist/visualization.es378.js +3 -2
  597. package/dist/visualization.es378.js.map +1 -1
  598. package/dist/visualization.es379.js +8 -5
  599. package/dist/visualization.es379.js.map +1 -1
  600. package/dist/visualization.es38.js +7 -61
  601. package/dist/visualization.es38.js.map +1 -1
  602. package/dist/visualization.es380.js +7 -35
  603. package/dist/visualization.es380.js.map +1 -1
  604. package/dist/visualization.es381.js +33 -18
  605. package/dist/visualization.es381.js.map +1 -1
  606. package/dist/visualization.es382.js +9 -3
  607. package/dist/visualization.es382.js.map +1 -1
  608. package/dist/visualization.es383.js +31 -4
  609. package/dist/visualization.es383.js.map +1 -1
  610. package/dist/visualization.es384.js +4 -4
  611. package/dist/visualization.es384.js.map +1 -1
  612. package/dist/visualization.es385.js +2 -49
  613. package/dist/visualization.es385.js.map +1 -1
  614. package/dist/visualization.es386.js +15 -26
  615. package/dist/visualization.es386.js.map +1 -1
  616. package/dist/visualization.es387.js +22 -14
  617. package/dist/visualization.es387.js.map +1 -1
  618. package/dist/visualization.es388.js +2 -10
  619. package/dist/visualization.es388.js.map +1 -1
  620. package/dist/visualization.es389.js +59 -16
  621. package/dist/visualization.es389.js.map +1 -1
  622. package/dist/visualization.es39.js +33 -3
  623. package/dist/visualization.es39.js.map +1 -1
  624. package/dist/visualization.es390.js +2 -14
  625. package/dist/visualization.es390.js.map +1 -1
  626. package/dist/visualization.es391.js +2 -4
  627. package/dist/visualization.es391.js.map +1 -1
  628. package/dist/visualization.es392.js +6 -13
  629. package/dist/visualization.es392.js.map +1 -1
  630. package/dist/visualization.es393.js +32 -44
  631. package/dist/visualization.es393.js.map +1 -1
  632. package/dist/visualization.es394.js +20 -5
  633. package/dist/visualization.es394.js.map +1 -1
  634. package/dist/visualization.es395.js +3 -12
  635. package/dist/visualization.es395.js.map +1 -1
  636. package/dist/visualization.es396.js +5 -2
  637. package/dist/visualization.es396.js.map +1 -1
  638. package/dist/visualization.es397.js +4 -6
  639. package/dist/visualization.es397.js.map +1 -1
  640. package/dist/visualization.es398.js +47 -208
  641. package/dist/visualization.es398.js.map +1 -1
  642. package/dist/visualization.es399.js +26 -26
  643. package/dist/visualization.es399.js.map +1 -1
  644. package/dist/visualization.es4.js +6 -6
  645. package/dist/visualization.es40.js +32 -47
  646. package/dist/visualization.es40.js.map +1 -1
  647. package/dist/visualization.es400.js +16 -3
  648. package/dist/visualization.es400.js.map +1 -1
  649. package/dist/visualization.es401.js +9 -15
  650. package/dist/visualization.es401.js.map +1 -1
  651. package/dist/visualization.es402.js +20 -15
  652. package/dist/visualization.es402.js.map +1 -1
  653. package/dist/visualization.es403.js +13 -14
  654. package/dist/visualization.es403.js.map +1 -1
  655. package/dist/visualization.es404.js +4 -2
  656. package/dist/visualization.es404.js.map +1 -1
  657. package/dist/visualization.es405.js +13 -2
  658. package/dist/visualization.es405.js.map +1 -1
  659. package/dist/visualization.es406.js +49 -2
  660. package/dist/visualization.es406.js.map +1 -1
  661. package/dist/visualization.es407.js +6 -5
  662. package/dist/visualization.es407.js.map +1 -1
  663. package/dist/visualization.es408.js +13 -2
  664. package/dist/visualization.es408.js.map +1 -1
  665. package/dist/visualization.es409.js +2 -25
  666. package/dist/visualization.es409.js.map +1 -1
  667. package/dist/visualization.es41.js +168 -3
  668. package/dist/visualization.es41.js.map +1 -1
  669. package/dist/visualization.es410.js +6 -21
  670. package/dist/visualization.es410.js.map +1 -1
  671. package/dist/visualization.es411.js +209 -8
  672. package/dist/visualization.es411.js.map +1 -1
  673. package/dist/visualization.es412.js +27 -68
  674. package/dist/visualization.es412.js.map +1 -1
  675. package/dist/visualization.es413.js +4 -6
  676. package/dist/visualization.es413.js.map +1 -1
  677. package/dist/visualization.es414.js +15 -28
  678. package/dist/visualization.es414.js.map +1 -1
  679. package/dist/visualization.es415.js +15 -10
  680. package/dist/visualization.es415.js.map +1 -1
  681. package/dist/visualization.es416.js +15 -6
  682. package/dist/visualization.es416.js.map +1 -1
  683. package/dist/visualization.es417.js +2 -2
  684. package/dist/visualization.es417.js.map +1 -1
  685. package/dist/visualization.es418.js +2 -5
  686. package/dist/visualization.es418.js.map +1 -1
  687. package/dist/visualization.es419.js +2 -26
  688. package/dist/visualization.es419.js.map +1 -1
  689. package/dist/visualization.es42.js +62 -279
  690. package/dist/visualization.es42.js.map +1 -1
  691. package/dist/visualization.es420.js +5 -11
  692. package/dist/visualization.es420.js.map +1 -1
  693. package/dist/visualization.es421.js +2 -27
  694. package/dist/visualization.es421.js.map +1 -1
  695. package/dist/visualization.es422.js +25 -10
  696. package/dist/visualization.es422.js.map +1 -1
  697. package/dist/visualization.es423.js +19 -8
  698. package/dist/visualization.es423.js.map +1 -1
  699. package/dist/visualization.es424.js +9 -2
  700. package/dist/visualization.es424.js.map +1 -1
  701. package/dist/visualization.es425.js +68 -16
  702. package/dist/visualization.es425.js.map +1 -1
  703. package/dist/visualization.es426.js +6 -30
  704. package/dist/visualization.es426.js.map +1 -1
  705. package/dist/visualization.es427.js +29 -26
  706. package/dist/visualization.es427.js.map +1 -1
  707. package/dist/visualization.es428.js +10 -2
  708. package/dist/visualization.es428.js.map +1 -1
  709. package/dist/visualization.es429.js +6 -9
  710. package/dist/visualization.es429.js.map +1 -1
  711. package/dist/visualization.es43.js +175 -19
  712. package/dist/visualization.es43.js.map +1 -1
  713. package/dist/visualization.es430.js +2 -13
  714. package/dist/visualization.es430.js.map +1 -1
  715. package/dist/visualization.es431.js +4 -22
  716. package/dist/visualization.es431.js.map +1 -1
  717. package/dist/visualization.es432.js +25 -12
  718. package/dist/visualization.es432.js.map +1 -1
  719. package/dist/visualization.es433.js +11 -3
  720. package/dist/visualization.es433.js.map +1 -1
  721. package/dist/visualization.es434.js +27 -2
  722. package/dist/visualization.es434.js.map +1 -1
  723. package/dist/visualization.es435.js +9 -17
  724. package/dist/visualization.es435.js.map +1 -1
  725. package/dist/visualization.es436.js +10 -3
  726. package/dist/visualization.es436.js.map +1 -1
  727. package/dist/visualization.es437.js +2 -12
  728. package/dist/visualization.es437.js.map +1 -1
  729. package/dist/visualization.es438.js +16 -11
  730. package/dist/visualization.es438.js.map +1 -1
  731. package/dist/visualization.es439.js +29 -6
  732. package/dist/visualization.es439.js.map +1 -1
  733. package/dist/visualization.es44.js +72 -64
  734. package/dist/visualization.es44.js.map +1 -1
  735. package/dist/visualization.es440.js +26 -19
  736. package/dist/visualization.es440.js.map +1 -1
  737. package/dist/visualization.es441.js +2 -23
  738. package/dist/visualization.es441.js.map +1 -1
  739. package/dist/visualization.es442.js +8 -11
  740. package/dist/visualization.es442.js.map +1 -1
  741. package/dist/visualization.es443.js +12 -50
  742. package/dist/visualization.es443.js.map +1 -1
  743. package/dist/visualization.es444.js +22 -17
  744. package/dist/visualization.es444.js.map +1 -1
  745. package/dist/visualization.es445.js +12 -35
  746. package/dist/visualization.es445.js.map +1 -1
  747. package/dist/visualization.es446.js +3 -23
  748. package/dist/visualization.es446.js.map +1 -1
  749. package/dist/visualization.es447.js +2 -32
  750. package/dist/visualization.es447.js.map +1 -1
  751. package/dist/visualization.es448.js +17 -3
  752. package/dist/visualization.es448.js.map +1 -1
  753. package/dist/visualization.es449.js +3 -18
  754. package/dist/visualization.es449.js.map +1 -1
  755. package/dist/visualization.es45.js +109 -262
  756. package/dist/visualization.es45.js.map +1 -1
  757. package/dist/visualization.es450.js +12 -14
  758. package/dist/visualization.es450.js.map +1 -1
  759. package/dist/visualization.es451.js +11 -11
  760. package/dist/visualization.es451.js.map +1 -1
  761. package/dist/visualization.es452.js +6 -29
  762. package/dist/visualization.es452.js.map +1 -1
  763. package/dist/visualization.es453.js +19 -6
  764. package/dist/visualization.es453.js.map +1 -1
  765. package/dist/visualization.es454.js +22 -7
  766. package/dist/visualization.es454.js.map +1 -1
  767. package/dist/visualization.es455.js +12 -2
  768. package/dist/visualization.es455.js.map +1 -1
  769. package/dist/visualization.es456.js +49 -15
  770. package/dist/visualization.es456.js.map +1 -1
  771. package/dist/visualization.es457.js +16 -7
  772. package/dist/visualization.es457.js.map +1 -1
  773. package/dist/visualization.es458.js +35 -9
  774. package/dist/visualization.es458.js.map +1 -1
  775. package/dist/visualization.es459.js +19 -612
  776. package/dist/visualization.es459.js.map +1 -1
  777. package/dist/visualization.es46.js +18698 -99
  778. package/dist/visualization.es46.js.map +1 -1
  779. package/dist/visualization.es460.js +31 -50
  780. package/dist/visualization.es460.js.map +1 -1
  781. package/dist/visualization.es461.js +4 -13
  782. package/dist/visualization.es461.js.map +1 -1
  783. package/dist/visualization.es462.js +19 -11
  784. package/dist/visualization.es462.js.map +1 -1
  785. package/dist/visualization.es463.js +14 -23
  786. package/dist/visualization.es463.js.map +1 -1
  787. package/dist/visualization.es464.js +9 -33
  788. package/dist/visualization.es464.js.map +1 -1
  789. package/dist/visualization.es465.js +29 -12
  790. package/dist/visualization.es465.js.map +1 -1
  791. package/dist/visualization.es466.js +6 -19
  792. package/dist/visualization.es466.js.map +1 -1
  793. package/dist/visualization.es467.js +7 -25
  794. package/dist/visualization.es467.js.map +1 -1
  795. package/dist/visualization.es468.js +2 -27
  796. package/dist/visualization.es468.js.map +1 -1
  797. package/dist/visualization.es469.js +11 -37
  798. package/dist/visualization.es469.js.map +1 -1
  799. package/dist/visualization.es47.js +5 -27
  800. package/dist/visualization.es47.js.map +1 -1
  801. package/dist/visualization.es470.js +8 -19
  802. package/dist/visualization.es470.js.map +1 -1
  803. package/dist/visualization.es471.js +9 -40
  804. package/dist/visualization.es471.js.map +1 -1
  805. package/dist/visualization.es472.js +612 -54
  806. package/dist/visualization.es472.js.map +1 -1
  807. package/dist/visualization.es473.js +50 -3
  808. package/dist/visualization.es473.js.map +1 -1
  809. package/dist/visualization.es474.js +13 -3
  810. package/dist/visualization.es474.js.map +1 -1
  811. package/dist/visualization.es475.js +11 -7
  812. package/dist/visualization.es475.js.map +1 -1
  813. package/dist/visualization.es476.js +23 -16
  814. package/dist/visualization.es476.js.map +1 -1
  815. package/dist/visualization.es477.js +35 -2
  816. package/dist/visualization.es477.js.map +1 -1
  817. package/dist/visualization.es478.js +13 -2
  818. package/dist/visualization.es478.js.map +1 -1
  819. package/dist/visualization.es479.js +20 -2
  820. package/dist/visualization.es479.js.map +1 -1
  821. package/dist/visualization.es48.js +5 -23
  822. package/dist/visualization.es48.js.map +1 -1
  823. package/dist/visualization.es480.js +41 -7
  824. package/dist/visualization.es480.js.map +1 -1
  825. package/dist/visualization.es481.js +53 -30
  826. package/dist/visualization.es481.js.map +1 -1
  827. package/dist/visualization.es482.js +18 -3
  828. package/dist/visualization.es482.js.map +1 -1
  829. package/dist/visualization.es483.js +25 -3
  830. package/dist/visualization.es483.js.map +1 -1
  831. package/dist/visualization.es484.js +26 -6
  832. package/dist/visualization.es484.js.map +1 -1
  833. package/dist/visualization.es485.js +41 -11
  834. package/dist/visualization.es485.js.map +1 -1
  835. package/dist/visualization.es486.js +4 -2
  836. package/dist/visualization.es486.js.map +1 -1
  837. package/dist/visualization.es487.js +3 -4
  838. package/dist/visualization.es487.js.map +1 -1
  839. package/dist/visualization.es488.js +7 -4
  840. package/dist/visualization.es488.js.map +1 -1
  841. package/dist/visualization.es489.js +15 -10
  842. package/dist/visualization.es489.js.map +1 -1
  843. package/dist/visualization.es49.js +59 -17
  844. package/dist/visualization.es49.js.map +1 -1
  845. package/dist/visualization.es490.js +2 -26
  846. package/dist/visualization.es490.js.map +1 -1
  847. package/dist/visualization.es491.js +2 -5
  848. package/dist/visualization.es491.js.map +1 -1
  849. package/dist/visualization.es492.js +2 -33
  850. package/dist/visualization.es492.js.map +1 -1
  851. package/dist/visualization.es493.js +8 -236
  852. package/dist/visualization.es493.js.map +1 -1
  853. package/dist/visualization.es494.js +9 -992
  854. package/dist/visualization.es494.js.map +1 -1
  855. package/dist/visualization.es495.js +6 -29
  856. package/dist/visualization.es495.js.map +1 -1
  857. package/dist/visualization.es496.js +8 -61
  858. package/dist/visualization.es496.js.map +1 -1
  859. package/dist/visualization.es497.js +7 -29
  860. package/dist/visualization.es497.js.map +1 -1
  861. package/dist/visualization.es498.js +4 -118
  862. package/dist/visualization.es498.js.map +1 -1
  863. package/dist/visualization.es499.js +13 -28
  864. package/dist/visualization.es499.js.map +1 -1
  865. package/dist/visualization.es5.js +6 -6
  866. package/dist/visualization.es50.js +809 -19
  867. package/dist/visualization.es50.js.map +1 -1
  868. package/dist/visualization.es500.js +5 -10
  869. package/dist/visualization.es500.js.map +1 -1
  870. package/dist/visualization.es501.js +6 -13
  871. package/dist/visualization.es501.js.map +1 -1
  872. package/dist/visualization.es502.js +6 -32
  873. package/dist/visualization.es502.js.map +1 -1
  874. package/dist/visualization.es503.js +6 -28
  875. package/dist/visualization.es503.js.map +1 -1
  876. package/dist/visualization.es504.js +3 -10
  877. package/dist/visualization.es504.js.map +1 -1
  878. package/dist/visualization.es505.js +4 -12
  879. package/dist/visualization.es505.js.map +1 -1
  880. package/dist/visualization.es506.js +8 -16
  881. package/dist/visualization.es506.js.map +1 -1
  882. package/dist/visualization.es507.js +27 -21
  883. package/dist/visualization.es507.js.map +1 -1
  884. package/dist/visualization.es508.js +61 -16
  885. package/dist/visualization.es508.js.map +1 -1
  886. package/dist/visualization.es509.js +230 -89
  887. package/dist/visualization.es509.js.map +1 -1
  888. package/dist/visualization.es510.js +990 -26
  889. package/dist/visualization.es510.js.map +1 -1
  890. package/dist/visualization.es511.js +29 -72
  891. package/dist/visualization.es511.js.map +1 -1
  892. package/dist/visualization.es512.js +117 -49
  893. package/dist/visualization.es512.js.map +1 -1
  894. package/dist/visualization.es513.js +28 -33
  895. package/dist/visualization.es513.js.map +1 -1
  896. package/dist/visualization.es514.js +9 -40
  897. package/dist/visualization.es514.js.map +1 -1
  898. package/dist/visualization.es515.js +13 -9
  899. package/dist/visualization.es515.js.map +1 -1
  900. package/dist/visualization.es516.js +32 -9
  901. package/dist/visualization.es516.js.map +1 -1
  902. package/dist/visualization.es517.js +28 -6
  903. package/dist/visualization.es517.js.map +1 -1
  904. package/dist/visualization.es518.js +10 -8
  905. package/dist/visualization.es518.js.map +1 -1
  906. package/dist/visualization.es519.js +11 -5
  907. package/dist/visualization.es519.js.map +1 -1
  908. package/dist/visualization.es52.js +128 -78
  909. package/dist/visualization.es52.js.map +1 -1
  910. package/dist/visualization.es520.js +17 -5
  911. package/dist/visualization.es520.js.map +1 -1
  912. package/dist/visualization.es521.js +23 -14
  913. package/dist/visualization.es521.js.map +1 -1
  914. package/dist/visualization.es522.js +16 -5
  915. package/dist/visualization.es522.js.map +1 -1
  916. package/dist/visualization.es523.js +96 -6
  917. package/dist/visualization.es523.js.map +1 -1
  918. package/dist/visualization.es524.js +28 -6
  919. package/dist/visualization.es524.js.map +1 -1
  920. package/dist/visualization.es525.js +71 -6
  921. package/dist/visualization.es525.js.map +1 -1
  922. package/dist/visualization.es526.js +51 -3
  923. package/dist/visualization.es526.js.map +1 -1
  924. package/dist/visualization.es527.js +34 -4
  925. package/dist/visualization.es527.js.map +1 -1
  926. package/dist/visualization.es528.js +40 -8
  927. package/dist/visualization.es528.js.map +1 -1
  928. package/dist/visualization.es53.js +43 -43
  929. package/dist/visualization.es53.js.map +1 -1
  930. package/dist/visualization.es530.js +1 -1
  931. package/dist/visualization.es531.js +5 -5
  932. package/dist/visualization.es54.js +35 -10
  933. package/dist/visualization.es54.js.map +1 -1
  934. package/dist/visualization.es540.js +28 -11
  935. package/dist/visualization.es540.js.map +1 -1
  936. package/dist/visualization.es541.js +10 -13
  937. package/dist/visualization.es541.js.map +1 -1
  938. package/dist/visualization.es542.js +14 -8
  939. package/dist/visualization.es542.js.map +1 -1
  940. package/dist/visualization.es543.js +6 -6
  941. package/dist/visualization.es543.js.map +1 -1
  942. package/dist/visualization.es544.js +8 -20
  943. package/dist/visualization.es544.js.map +1 -1
  944. package/dist/visualization.es545.js +18 -61
  945. package/dist/visualization.es545.js.map +1 -1
  946. package/dist/visualization.es546.js +63 -28
  947. package/dist/visualization.es546.js.map +1 -1
  948. package/dist/visualization.es547.js +1 -1
  949. package/dist/visualization.es55.js +69 -39
  950. package/dist/visualization.es55.js.map +1 -1
  951. package/dist/visualization.es551.js +19 -19
  952. package/dist/visualization.es553.js +7 -7
  953. package/dist/visualization.es554.js +9 -3
  954. package/dist/visualization.es554.js.map +1 -1
  955. package/dist/visualization.es555.js +51 -3
  956. package/dist/visualization.es555.js.map +1 -1
  957. package/dist/visualization.es556.js +7 -15
  958. package/dist/visualization.es556.js.map +1 -1
  959. package/dist/visualization.es557.js +4 -3
  960. package/dist/visualization.es557.js.map +1 -1
  961. package/dist/visualization.es558.js +3 -9
  962. package/dist/visualization.es558.js.map +1 -1
  963. package/dist/visualization.es559.js +3 -4
  964. package/dist/visualization.es559.js.map +1 -1
  965. package/dist/visualization.es56.js +44 -81
  966. package/dist/visualization.es56.js.map +1 -1
  967. package/dist/visualization.es560.js +4 -6
  968. package/dist/visualization.es560.js.map +1 -1
  969. package/dist/visualization.es561.js +3 -9
  970. package/dist/visualization.es561.js.map +1 -1
  971. package/dist/visualization.es562.js +11 -7
  972. package/dist/visualization.es562.js.map +1 -1
  973. package/dist/visualization.es563.js +9 -4
  974. package/dist/visualization.es563.js.map +1 -1
  975. package/dist/visualization.es564.js +30 -3
  976. package/dist/visualization.es564.js.map +1 -1
  977. package/dist/visualization.es565.js +25 -4
  978. package/dist/visualization.es565.js.map +1 -1
  979. package/dist/visualization.es566.js +3 -11
  980. package/dist/visualization.es566.js.map +1 -1
  981. package/dist/visualization.es567.js +3 -9
  982. package/dist/visualization.es567.js.map +1 -1
  983. package/dist/visualization.es568.js +9 -30
  984. package/dist/visualization.es568.js.map +1 -1
  985. package/dist/visualization.es569.js +8 -24
  986. package/dist/visualization.es569.js.map +1 -1
  987. package/dist/visualization.es57.js +12 -46
  988. package/dist/visualization.es57.js.map +1 -1
  989. package/dist/visualization.es570.js +14 -50
  990. package/dist/visualization.es570.js.map +1 -1
  991. package/dist/visualization.es571.js +4 -3
  992. package/dist/visualization.es571.js.map +1 -1
  993. package/dist/visualization.es572.js +5 -8
  994. package/dist/visualization.es572.js.map +1 -1
  995. package/dist/visualization.es573.js +4 -4
  996. package/dist/visualization.es574.js +4 -4
  997. package/dist/visualization.es575.js +2 -2
  998. package/dist/visualization.es576.js +1 -1
  999. package/dist/visualization.es577.js +2 -2
  1000. package/dist/visualization.es578.js +3 -3
  1001. package/dist/visualization.es579.js +1 -1
  1002. package/dist/visualization.es58.js +34 -55
  1003. package/dist/visualization.es58.js.map +1 -1
  1004. package/dist/visualization.es581.js +11 -11
  1005. package/dist/visualization.es583.js +32 -9
  1006. package/dist/visualization.es583.js.map +1 -1
  1007. package/dist/visualization.es584.js +7 -9
  1008. package/dist/visualization.es584.js.map +1 -1
  1009. package/dist/visualization.es585.js +7 -18
  1010. package/dist/visualization.es585.js.map +1 -1
  1011. package/dist/visualization.es586.js +13 -7
  1012. package/dist/visualization.es586.js.map +1 -1
  1013. package/dist/visualization.es587.js +72 -7
  1014. package/dist/visualization.es587.js.map +1 -1
  1015. package/dist/visualization.es588.js +29 -32
  1016. package/dist/visualization.es588.js.map +1 -1
  1017. package/dist/visualization.es589.js +5 -13
  1018. package/dist/visualization.es589.js.map +1 -1
  1019. package/dist/visualization.es59.js +10 -6
  1020. package/dist/visualization.es59.js.map +1 -1
  1021. package/dist/visualization.es590.js +26 -73
  1022. package/dist/visualization.es590.js.map +1 -1
  1023. package/dist/visualization.es591.js +11 -29
  1024. package/dist/visualization.es591.js.map +1 -1
  1025. package/dist/visualization.es592.js +4 -5
  1026. package/dist/visualization.es592.js.map +1 -1
  1027. package/dist/visualization.es593.js +4 -25
  1028. package/dist/visualization.es593.js.map +1 -1
  1029. package/dist/visualization.es594.js +4 -11
  1030. package/dist/visualization.es594.js.map +1 -1
  1031. package/dist/visualization.es595.js +13 -5
  1032. package/dist/visualization.es595.js.map +1 -1
  1033. package/dist/visualization.es596.js +17 -4
  1034. package/dist/visualization.es596.js.map +1 -1
  1035. package/dist/visualization.es597.js +13 -4
  1036. package/dist/visualization.es597.js.map +1 -1
  1037. package/dist/visualization.es598.js +13 -12
  1038. package/dist/visualization.es598.js.map +1 -1
  1039. package/dist/visualization.es599.js +8 -17
  1040. package/dist/visualization.es599.js.map +1 -1
  1041. package/dist/visualization.es6.js +14 -14
  1042. package/dist/visualization.es60.js +53 -11
  1043. package/dist/visualization.es60.js.map +1 -1
  1044. package/dist/visualization.es600.js +11 -12
  1045. package/dist/visualization.es600.js.map +1 -1
  1046. package/dist/visualization.es601.js +24 -13
  1047. package/dist/visualization.es601.js.map +1 -1
  1048. package/dist/visualization.es602.js +19 -8
  1049. package/dist/visualization.es602.js.map +1 -1
  1050. package/dist/visualization.es603.js +7 -13
  1051. package/dist/visualization.es603.js.map +1 -1
  1052. package/dist/visualization.es604.js +6 -25
  1053. package/dist/visualization.es604.js.map +1 -1
  1054. package/dist/visualization.es605.js +3 -19
  1055. package/dist/visualization.es605.js.map +1 -1
  1056. package/dist/visualization.es606.js +65 -7
  1057. package/dist/visualization.es606.js.map +1 -1
  1058. package/dist/visualization.es607.js +33 -6
  1059. package/dist/visualization.es607.js.map +1 -1
  1060. package/dist/visualization.es608.js +4 -3
  1061. package/dist/visualization.es608.js.map +1 -1
  1062. package/dist/visualization.es609.js +6 -62
  1063. package/dist/visualization.es609.js.map +1 -1
  1064. package/dist/visualization.es61.js +50 -56
  1065. package/dist/visualization.es61.js.map +1 -1
  1066. package/dist/visualization.es610.js +6 -32
  1067. package/dist/visualization.es610.js.map +1 -1
  1068. package/dist/visualization.es611.js +290 -4
  1069. package/dist/visualization.es611.js.map +1 -1
  1070. package/dist/visualization.es612.js +16 -6
  1071. package/dist/visualization.es612.js.map +1 -1
  1072. package/dist/visualization.es613.js +13 -5
  1073. package/dist/visualization.es613.js.map +1 -1
  1074. package/dist/visualization.es614.js +9 -18
  1075. package/dist/visualization.es614.js.map +1 -1
  1076. package/dist/visualization.es615.js +8 -13
  1077. package/dist/visualization.es615.js.map +1 -1
  1078. package/dist/visualization.es616.js +17 -289
  1079. package/dist/visualization.es616.js.map +1 -1
  1080. package/dist/visualization.es617.js +3 -3
  1081. package/dist/visualization.es617.js.map +1 -1
  1082. package/dist/visualization.es618.js +5 -11
  1083. package/dist/visualization.es618.js.map +1 -1
  1084. package/dist/visualization.es619.js +5 -3
  1085. package/dist/visualization.es619.js.map +1 -1
  1086. package/dist/visualization.es62.js +54 -34
  1087. package/dist/visualization.es62.js.map +1 -1
  1088. package/dist/visualization.es620.js +13 -5
  1089. package/dist/visualization.es620.js.map +1 -1
  1090. package/dist/visualization.es621.js +116 -4
  1091. package/dist/visualization.es621.js.map +1 -1
  1092. package/dist/visualization.es622.js +3 -13
  1093. package/dist/visualization.es622.js.map +1 -1
  1094. package/dist/visualization.es623.js +11 -117
  1095. package/dist/visualization.es623.js.map +1 -1
  1096. package/dist/visualization.es624.js +1 -1
  1097. package/dist/visualization.es63.js +39 -51
  1098. package/dist/visualization.es63.js.map +1 -1
  1099. package/dist/visualization.es634.js +1 -1
  1100. package/dist/visualization.es636.js +1 -1
  1101. package/dist/visualization.es637.js +1 -1
  1102. package/dist/visualization.es64.js +5 -18701
  1103. package/dist/visualization.es64.js.map +1 -1
  1104. package/dist/visualization.es65.js +5 -5
  1105. package/dist/visualization.es65.js.map +1 -1
  1106. package/dist/visualization.es66.js +18 -5
  1107. package/dist/visualization.es66.js.map +1 -1
  1108. package/dist/visualization.es67.js +4 -59
  1109. package/dist/visualization.es67.js.map +1 -1
  1110. package/dist/visualization.es68.js +21 -805
  1111. package/dist/visualization.es68.js.map +1 -1
  1112. package/dist/visualization.es69.js +34 -0
  1113. package/dist/visualization.es69.js.map +1 -0
  1114. package/dist/visualization.es7.js +11 -11
  1115. package/dist/visualization.es70.js +8 -131
  1116. package/dist/visualization.es70.js.map +1 -1
  1117. package/dist/visualization.es71.js +7 -69
  1118. package/dist/visualization.es71.js.map +1 -1
  1119. package/dist/visualization.es72.js +29 -12
  1120. package/dist/visualization.es72.js.map +1 -1
  1121. package/dist/visualization.es73.js +63 -62
  1122. package/dist/visualization.es73.js.map +1 -1
  1123. package/dist/visualization.es74.js +61 -51
  1124. package/dist/visualization.es74.js.map +1 -1
  1125. package/dist/visualization.es75.js +3 -54
  1126. package/dist/visualization.es75.js.map +1 -1
  1127. package/dist/visualization.es76.js +46 -42
  1128. package/dist/visualization.es76.js.map +1 -1
  1129. package/dist/visualization.es77.js +3 -5
  1130. package/dist/visualization.es77.js.map +1 -1
  1131. package/dist/visualization.es78.js +281 -4
  1132. package/dist/visualization.es78.js.map +1 -1
  1133. package/dist/visualization.es79.js +19 -18
  1134. package/dist/visualization.es79.js.map +1 -1
  1135. package/dist/visualization.es8.js +13 -13
  1136. package/dist/visualization.es80.js +66 -5
  1137. package/dist/visualization.es80.js.map +1 -1
  1138. package/dist/visualization.es81.js +262 -23
  1139. package/dist/visualization.es81.js.map +1 -1
  1140. package/dist/visualization.es82.js +102 -30
  1141. package/dist/visualization.es82.js.map +1 -1
  1142. package/dist/visualization.es83.js +26 -31
  1143. package/dist/visualization.es83.js.map +1 -1
  1144. package/dist/visualization.es84.js +22 -168
  1145. package/dist/visualization.es84.js.map +1 -1
  1146. package/dist/visualization.es85.js +17 -64
  1147. package/dist/visualization.es85.js.map +1 -1
  1148. package/dist/visualization.es86.js +20 -174
  1149. package/dist/visualization.es86.js.map +1 -1
  1150. package/dist/visualization.es87.js +70 -70
  1151. package/dist/visualization.es87.js.map +1 -1
  1152. package/dist/visualization.es88.js +81 -8
  1153. package/dist/visualization.es88.js.map +1 -1
  1154. package/dist/visualization.es89.js +63 -7
  1155. package/dist/visualization.es89.js.map +1 -1
  1156. package/dist/visualization.es9.js +1 -1
  1157. package/dist/visualization.es90.js +2 -2
  1158. package/dist/visualization.es91.js +2 -2
  1159. package/dist/visualization.es92.js +1 -1
  1160. package/dist/visualization.es93.js +15 -32
  1161. package/dist/visualization.es93.js.map +1 -1
  1162. package/dist/visualization.es94.js +14 -44
  1163. package/dist/visualization.es94.js.map +1 -1
  1164. package/dist/visualization.es95.js +13 -76
  1165. package/dist/visualization.es95.js.map +1 -1
  1166. package/dist/visualization.es96.js +44 -24
  1167. package/dist/visualization.es96.js.map +1 -1
  1168. package/dist/visualization.es97.js +22 -85
  1169. package/dist/visualization.es97.js.map +1 -1
  1170. package/dist/visualization.es98.js +60 -36
  1171. package/dist/visualization.es98.js.map +1 -1
  1172. package/dist/visualization.es99.js +80 -15
  1173. package/dist/visualization.es99.js.map +1 -1
  1174. package/package.json +1 -1
  1175. package/dist/visualization.es51.js +0 -77
  1176. package/dist/visualization.es51.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es122.js","sources":["../src/components/Heatmap/HeatmapLegend.tsx"],"sourcesContent":["import { Group } from \"@visx/group\";\nimport { scaleLinear } from \"@visx/scale\";\nimport { measureTextWidth } from \"../../utility\";\n\nconst BAR_WIDTH = 14;\nconst LABEL_GAP = 6;\nconst TICK_WIDTH = 4;\nconst FONT_SIZE = 11;\nconst FONT_FAMILY = \"sans-serif\";\nconst NUM_TICKS = 5;\n\ninterface HeatmapLegendProps {\n colors: [string, string, ...string[]];\n minValue: number;\n maxValue: number;\n height: number;\n}\n\nconst formatTick = (value: number) =>\n value % 1 === 0 ? String(value) : value.toFixed(1);\n\nconst getTickValues = (minValue: number, maxValue: number) =>\n Array.from({ length: NUM_TICKS }, (_, i) =>\n minValue + (i * (maxValue - minValue)) / (NUM_TICKS - 1)\n );\n\n// Canvas's measureText and the browser's actual SVG text layout don't agree to the sub-pixel,\n// and the gap widens with string length - pad generously so longer labels (more digits) don't\n// creep past the reserved width and get clipped by the svg's default overflow:hidden.\nconst LABEL_WIDTH_SAFETY_FACTOR = 1.15;\nconst RIGHT_PADDING = 6;\n\n// Full width needed to render the legend (color bar + ticks + tick labels) without\n// clipping, based on the widest formatted tick label for the given value range.\nexport const getHeatmapLegendWidth = (minValue: number, maxValue: number): number => {\n const maxLabelWidth = Math.max(\n ...getTickValues(minValue, maxValue).map((value) =>\n measureTextWidth(formatTick(value), FONT_SIZE, FONT_FAMILY)\n )\n );\n return BAR_WIDTH + TICK_WIDTH + LABEL_GAP + maxLabelWidth * LABEL_WIDTH_SAFETY_FACTOR + RIGHT_PADDING;\n};\n\nconst HeatmapLegend = ({ colors, minValue, maxValue, height }: HeatmapLegendProps) => {\n const gradientId = \"heatmap-legend-gradient\";\n\n const tickValues = getTickValues(minValue, maxValue);\n\n const yScale = scaleLinear<number>({\n domain: [maxValue, minValue],\n range: [0, height],\n });\n\n return (\n <Group>\n <defs>\n {/* The bar reads top (max) to bottom (min), so the gradient stops run in reverse\n color order to match how colors map to values in the heatmap cells. */}\n <linearGradient id={gradientId} x1=\"0\" y1=\"0\" x2=\"0\" y2=\"1\">\n {colors.map((_, i) => (\n <stop\n key={i}\n offset={`${(i / (colors.length - 1)) * 100}%`}\n stopColor={colors[colors.length - 1 - i]}\n />\n ))}\n </linearGradient>\n </defs>\n <rect\n x={0}\n y={0}\n width={BAR_WIDTH}\n height={height}\n fill={`url(#${gradientId})`}\n rx={2}\n />\n {tickValues.map((value, i) => {\n const y = yScale(value);\n return (\n <g key={i}>\n <line\n x1={BAR_WIDTH}\n x2={BAR_WIDTH + TICK_WIDTH}\n y1={y}\n y2={y}\n stroke=\"#4d4f52\"\n strokeWidth={1}\n />\n <text\n x={BAR_WIDTH + TICK_WIDTH + LABEL_GAP}\n y={y}\n dominantBaseline=\"middle\"\n fontSize={FONT_SIZE}\n fontFamily={FONT_FAMILY}\n fill=\"#4d4f52\"\n >\n {formatTick(value)}\n </text>\n </g>\n );\n })}\n </Group>\n );\n};\n\nexport default HeatmapLegend;\nexport type { HeatmapLegendProps };\n"],"names":["BAR_WIDTH","LABEL_GAP","TICK_WIDTH","FONT_SIZE","FONT_FAMILY","NUM_TICKS","formatTick","value","String","toFixed","getTickValues","minValue","maxValue","Array","from","length","_","i","LABEL_WIDTH_SAFETY_FACTOR","RIGHT_PADDING","getHeatmapLegendWidth","maxLabelWidth","Math","max","map","measureTextWidth","HeatmapLegend","t0","$","_c","colors","height","t1","tickValues","yScale","scaleLinear","domain","range","t2","jsx","t3","gradientId","t4","Group","i_0","y"],"mappings":";;;;;AAIA,MAAMA,IAAY,IACZC,IAAY,GACZC,IAAa,GACbC,IAAY,IACZC,IAAc,cACdC,IAAY,GASZC,IAAaA,CAACC,MAChBA,IAAQ,MAAM,IAAIC,OAAOD,CAAK,IAAIA,EAAME,QAAQ,CAAC,GAE/CC,IAAgBA,CAACC,GAAkBC,MACrCC,MAAMC,KAAK;AAAA,EAAEC,QAAQV;AAAU,GAAG,CAACW,GAAGC,MAClCN,IAAYM,KAAKL,IAAWD,MAAcN,IAAY,EAC1D,GAKEa,IAA4B,MAC5BC,IAAgB,GAITC,IAAwBA,CAACT,GAAkBC,MAA6B;AACjF,QAAMS,IAAgBC,KAAKC,IACvB,GAAGb,EAAcC,GAAUC,CAAQ,EAAEY,IAAKjB,CAAAA,MACtCkB,EAAiBnB,EAAWC,CAAK,GAAGJ,GAAWC,CAAW,CAC9D,CACJ;AACA,SAAOJ,IAAYE,IAAaD,IAAYoB,IAAgBH,IAA4BC;AAC5F,GAEMO,IAAgBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAC;AAAA,IAAAC,QAAAA;AAAAA,IAAAnB,UAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAmB,QAAAA;AAAAA,EAAAA,IAAAJ;AAA0D,MAAAK;AAAA,MAAAJ,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAhB,KAAAgB,SAAAjB,GAAA;AAG7E,UAAAsB,IAAmBvB,EAAcC,GAAUC,CAAQ,GAEnDsB,IAAeC,EAAoB;AAAA,MAAAC,QACvB,CAACxB,GAAUD,CAAQ;AAAA,MAAC0B,OACrB,CAAC,GAAGN,CAAM;AAAA,IAAA,CACpB;AAAE,QAAAO;AAAA,IAAAV,SAAAE,KAQcQ,IAAAR,EAAMN,IAAK,CAAAR,GAAAC,MACR,gBAAAsB,YAEY,QAAA,GAAItB,KAAKa,EAAMf,SAAU,KAAM,GAAG,KAC/B,WAAAe,EAAOA,EAAMf,SAAU,IAAIE,CAAC,EAAA,GAFlCA,CAEmC,CAE/C,GAACW,OAAAE,GAAAF,OAAAU,KAAAA,IAAAV,EAAA,CAAA;AAAA,QAAAY;AAAA,IAAAZ,SAAAU,KAVVE,IAAA,gBAAAD,EAAA,QAAA,EAGI,UAAA,gBAAAA,EAAA,kBAAA,EAAoBE,IAdb,2BAc4B,IAAA,KAAO,IAAA,KAAO,IAAA,KAAO,IAAA,KACnDH,aAOL,GACJ,GAAOV,OAAAU,GAAAV,OAAAY,KAAAA,IAAAZ,EAAA,CAAA;AAAA,QAAAc;AAAA,IAAAd,SAAAG,KACPW,IAAA,gBAAAH,EAAA,QAAA,EACO,GAAA,GACA,GAAA,GACIvC,OAAAA,GACC+B,QAAAA,GACF,MAAA,iCACF,IAAA,GAAC,GACPH,OAAAG,GAAAH,QAAAc,KAAAA,IAAAd,EAAA,EAAA,GArBNI,sBAACW,GAAA,EACGH,UAAAA;AAAAA,MAAAA;AAAAA,MAaAE;AAAAA,MAQCT,EAAUT,IAAK,CAAAjB,GAAAqC,MAAA;AACZ,cAAAC,IAAUX,EAAO3B,CAAK;AAAE,wCAGhB,UAAA;AAAA,UAAA,gBAAAgC,EAAA,QAAA,EACQvC,OACA,IAAAA,IAAYE,GACZ2C,IAAAA,GACAA,IAAAA,GACG,QAAA,WACM,aAAA;4BAEjB,QAAA,EACO,GAAA7C,IAAYE,IAAaD,GACzB4C,GAAAA,GACc,kBAAA,UACP1C,UAAAA,GACEC,YAAAA,GACP,MAAA,WAEJE,UAAAA,EAAWC,CAAK,EAAA,CACrB;AAAA,QAAA,EAAA,GAlBIU,CAmBR;AAAA,MAAI,CAEX;AAAA,IAAA,GACL,GAAQW,OAAAE,GAAAF,OAAAG,GAAAH,OAAAhB,GAAAgB,OAAAjB,GAAAiB,OAAAI;AAAAA,EAAA;AAAAA,IAAAA,IAAAJ,EAAA,CAAA;AAAA,SA/CRI;AA+CQ;"}
1
+ {"version":3,"file":"visualization.es122.js","sources":["../src/components/PhyloTree/LeafLinkExtension.tsx"],"sourcesContent":["import { motion } from \"framer-motion\";\nimport { useBranchLengthTransition } from \"./PhyloTree\";\nimport { memo } from \"react\";\nimport { TreeNode } from \"./types\";\n\n\nexport type LeafLinkExtensionProps = {\n baseLeafLinkExtension: TreeNode[\"baseLeafLinkExtension\"]\n scaledLeafLinkExtension: TreeNode[\"scaledLeafLinkExtension\"]\n color: TreeNode[\"color\"];\n strokeWidth: TreeNode[\"linkStrokeWidth\"]\n useBranchLengths: boolean\n};\n\nexport const LeafLinkExtension = memo(function LinkExtension({\n useBranchLengths,\n color,\n baseLeafLinkExtension,\n scaledLeafLinkExtension,\n strokeWidth\n}: LeafLinkExtensionProps) {\n\n return (\n <motion.line\n strokeWidth={strokeWidth}\n initial={false}\n animate={useBranchLengths ? scaledLeafLinkExtension : baseLeafLinkExtension}\n stroke={color}\n transition={useBranchLengthTransition}\n />\n );\n});\n"],"names":["LeafLinkExtension","memo","useBranchLengths","color","baseLeafLinkExtension","scaledLeafLinkExtension","strokeWidth","jsx","motion","useBranchLengthTransition"],"mappings":";;;;AAcO,MAAMA,IAAoBC,EAAK,SAAuB;AAAA,EAC3DC,kBAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,uBAAAA;AAAAA,EACAC,yBAAAA;AAAAA,EACAC,aAAAA;AACsB,GAAG;AAEzB,SACE,gBAAAC,EAACC,EAAO,MAAP,EACC,aAAAF,GACA,SAAS,IACT,SAASJ,IAAmBG,IAA0BD,GACtD,QAAQD,GACR,YAAYM,GAA0B;AAG5C,CAAC;"}
@@ -1,25 +1,29 @@
1
- import r from "./visualization.es24.js";
2
- const i = "#d1d5db", c = 0.5, u = "none", L = (n) => `${n.row}-${n.column}`;
3
- function m(n, e) {
4
- const [a, t] = e;
5
- return r({
6
- range: n,
7
- domain: n.map((l, o) => a + o * (t - a) / (n.length - 1))
8
- });
9
- }
10
- function p(n, e, a, t) {
11
- const l = n == null;
12
- return {
13
- fill: l ? u : a ? t : e ?? t,
14
- fillOpacity: l ? 0 : a ? c : 1
15
- };
16
- }
1
+ import { jsx as u, jsxs as k } from "react/jsx-runtime";
2
+ import { c as g } from "react/compiler-runtime";
3
+ import { memo as j } from "react";
4
+ import O from "./visualization.es32.js";
5
+ const F = j(function(L) {
6
+ const t = g(16), {
7
+ nodeX: N,
8
+ color: e,
9
+ baseNodeX: f,
10
+ baseNodeY: i,
11
+ label: a,
12
+ fontSize: n,
13
+ fontFamily: c,
14
+ strokeWidth: m
15
+ } = L, s = N * 180 / Math.PI - 90, d = s > 90 || s < -90, $ = d ? s + 180 : s, p = d ? "end" : "start", x = d ? -6 : 6, b = `rotate(${$}) translate(0, ${(n ?? 2.4) / 3})`, h = a === "Human" ? `${a} ★★★` : a;
16
+ let o;
17
+ t[0] !== e || t[1] !== c || t[2] !== n || t[3] !== m || t[4] !== b || t[5] !== h || t[6] !== p || t[7] !== x ? (o = /* @__PURE__ */ u("text", { fontSize: n, fontFamily: c, fill: e, stroke: e, strokeWidth: m, paintOrder: "stroke", transform: b, textAnchor: p, x, children: h }), t[0] = e, t[1] = c, t[2] = n, t[3] = m, t[4] = b, t[5] = h, t[6] = p, t[7] = x, t[8] = o) : o = t[8];
18
+ let r;
19
+ t[9] !== e ? (r = /* @__PURE__ */ u("circle", { r: 1.5, fill: e }), t[9] = e, t[10] = r) : r = t[10];
20
+ let l;
21
+ return t[11] !== f || t[12] !== i || t[13] !== o || t[14] !== r ? (l = /* @__PURE__ */ k(O, { top: i, left: f, children: [
22
+ o,
23
+ r
24
+ ] }), t[11] = f, t[12] = i, t[13] = o, t[14] = r, t[15] = l) : l = t[15], l;
25
+ });
17
26
  export {
18
- i as DEFAULT_DESELECTED_COLOR,
19
- c as DESELECTED_OPACITY,
20
- u as NULL_VALUE_COLOR,
21
- L as cellKey,
22
- m as getHeatmapColorScale,
23
- p as resolveCellAppearance
27
+ F as LeafNodeLabel
24
28
  };
25
29
  //# sourceMappingURL=visualization.es123.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es123.js","sources":["../src/components/Heatmap/heatmapCellAppearance.ts"],"sourcesContent":["import { scaleLinear } from \"@visx/scale\";\nimport type { HeatmapCellId } from \"./types\";\n\nexport const DEFAULT_DESELECTED_COLOR = \"#d1d5db\";\nexport const DESELECTED_OPACITY = 0.5;\nexport const NULL_VALUE_COLOR = \"none\";\n\nexport const cellKey = (cell: HeatmapCellId) => `${cell.row}-${cell.column}`;\n\nexport function getHeatmapColorScale(colors: [string, string, ...string[]], domain: [number, number]) {\n const [minValue, maxValue] = domain;\n return scaleLinear<string>({\n range: colors,\n domain: colors.map((_, i) => minValue + (i * (maxValue - minValue)) / (colors.length - 1)),\n });\n}\n\n/**\n * Shared by the SVG cell renderer (HeatmapCells.tsx, used for non-scrollable mode and export)\n * and the canvas cell renderer (HeatmapCanvasCells.ts, used on-screen in scrollable mode) so the\n * two can never drift apart on what a cell actually looks like.\n */\nexport function resolveCellAppearance(\n count: number | null | undefined,\n color: string | undefined,\n isDeselected: boolean,\n deselectedColor: string\n): { fill: string; fillOpacity: number } {\n const isNullValue = count == null;\n return {\n fill: isNullValue ? NULL_VALUE_COLOR : isDeselected ? deselectedColor : color ?? deselectedColor,\n fillOpacity: isNullValue ? 0 : isDeselected ? DESELECTED_OPACITY : 1,\n };\n}\n"],"names":["DEFAULT_DESELECTED_COLOR","DESELECTED_OPACITY","NULL_VALUE_COLOR","cellKey","cell","row","column","getHeatmapColorScale","colors","domain","minValue","maxValue","scaleLinear","range","map","_","i","length","resolveCellAppearance","count","color","isDeselected","deselectedColor","isNullValue","fill","fillOpacity"],"mappings":";AAGO,MAAMA,IAA2B,WAC3BC,IAAqB,KACrBC,IAAmB,QAEnBC,IAAUA,CAACC,MAAwB,GAAGA,EAAKC,GAAG,IAAID,EAAKE,MAAM;AAEnE,SAASC,EAAqBC,GAAuCC,GAA0B;AACpG,QAAM,CAACC,GAAUC,CAAQ,IAAIF;AAC7B,SAAOG,EAAoB;AAAA,IACzBC,OAAOL;AAAAA,IACPC,QAAQD,EAAOM,IAAI,CAACC,GAAGC,MAAMN,IAAYM,KAAKL,IAAWD,MAAcF,EAAOS,SAAS,EAAE;AAAA,EAAA,CAC1F;AACH;AAOO,SAASC,EACdC,GACAC,GACAC,GACAC,GACuC;AACvC,QAAMC,IAAcJ,KAAS;AAC7B,SAAO;AAAA,IACLK,MAAMD,IAAcrB,IAAmBmB,IAAeC,IAAkBF,KAASE;AAAAA,IACjFG,aAAaF,IAAc,IAAIF,IAAepB,IAAqB;AAAA,EAAA;AAEvE;"}
1
+ {"version":3,"file":"visualization.es123.js","sources":["../src/components/PhyloTree/LeafNodeLabel.tsx"],"sourcesContent":["import { PhyloTreeProps, TreeNode } from \"./types\";\nimport { Group } from \"@visx/group\";\nimport { memo } from \"react\";\n\n\nexport type LeafNodeLabelProps = {\n // node.x is the angle the node is at in radial layout while base/scaled are true x/y position in svg\n nodeX: number;\n baseNodeX: TreeNode[\"baseNodeX\"];\n baseNodeY: TreeNode[\"baseNodeY\"];\n label: TreeNode[\"label\"];\n color: TreeNode[\"color\"];\n fontSize: PhyloTreeProps[\"leafFontSize\"];\n fontFamily: PhyloTreeProps[\"leafFontFamily\"];\n strokeWidth: TreeNode[\"labelStrokeWidth\"]\n};\n\nexport const LeafNodeLabel = memo(function LeafNodeLabel({\n nodeX,\n color,\n baseNodeX,\n baseNodeY,\n label,\n fontSize,\n fontFamily,\n strokeWidth\n}: LeafNodeLabelProps) {\n const angleDeg = (nodeX * 180) / Math.PI - 90;\n const flip = angleDeg > 90 || angleDeg < -90;\n const rotation = flip ? angleDeg + 180 : angleDeg;\n const textAnchor: \"start\" | \"end\" = flip ? \"end\" : \"start\";\n const xOffset = flip ? -6 : 6;\n\n return (\n <Group\n top={baseNodeY}\n left={baseNodeX}\n >\n <text\n fontSize={fontSize}\n fontFamily={fontFamily}\n fill={color}\n stroke={color}\n strokeWidth={strokeWidth}\n paintOrder=\"stroke\"\n transform={`rotate(${rotation}) translate(0, ${(fontSize ?? 2.4) / 3})`}\n textAnchor={textAnchor}\n x={xOffset}\n >\n {label === \"Human\" ? `${label} \\u2605\\u2605\\u2605` : label}\n </text>\n <circle\n r={1.5}\n fill={color}\n />\n </Group>\n );\n});\n"],"names":["LeafNodeLabel","memo","t0","$","_c","nodeX","color","baseNodeX","baseNodeY","label","fontSize","fontFamily","strokeWidth","angleDeg","Math","PI","flip","rotation","textAnchor","xOffset","t1","t2","t3","t4","jsx","t5","jsxs","Group"],"mappings":";;;;AAiBO,MAAMA,IAAgBC,EAAK,SAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAuB;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,OAAAA;AAAAA,IAAAC,UAAAA;AAAAA,IAAAC,YAAAA;AAAAA,IAAAC,aAAAA;AAAAA,EAAAA,IAAAV,GAUvDW,IAAkBR,IAAQ,MAAOS,KAAIC,KAAM,IAC3CC,IAAaH,IAAW,MAAMA,IAAW,KACzCI,IAAiBD,IAAOH,IAAW,MAAlBA,GACjBK,IAAoCF,IAAA,QAAA,SACpCG,IAAgBH,IAAA,KAAA,GAcCI,IAAA,UAAUH,CAAQ,mBAAmBP,KAAA,OAAmB,CAAC,KAInEW,IAAAZ,MAAU,UAAV,GAAuBA,CAAK,SAA5BA;AAAyD,MAAAa;AAAA,EAAAnB,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAQ,KAAAR,EAAA,CAAA,MAAAO,KAAAP,EAAA,CAAA,MAAAS,KAAAT,EAAA,CAAA,MAAAiB,KAAAjB,EAAA,CAAA,MAAAkB,KAAAlB,EAAA,CAAA,MAAAe,KAAAf,SAAAgB,KAX5DG,sBAAA,QAAA,EACYZ,UAAAA,GACEC,YAAAA,GACNL,MAAAA,GACEA,QAAAA,GACKM,aAAAA,GACF,YAAA,UACA,WAAAQ,GACCF,YAAAA,GACTC,GAEFE,UAAAA,GACH,GAAOlB,OAAAG,GAAAH,OAAAQ,GAAAR,OAAAO,GAAAP,OAAAS,GAAAT,OAAAiB,GAAAjB,OAAAkB,GAAAlB,OAAAe,GAAAf,OAAAgB,GAAAhB,OAAAmB,KAAAA,IAAAnB,EAAA,CAAA;AAAA,MAAAoB;AAAA,EAAApB,SAAAG,KACPiB,IAAA,gBAAAC,EAAA,UAAA,EACK,GAAA,KACGlB,MAAAA,GAAK,GACXH,OAAAG,GAAAH,QAAAoB,KAAAA,IAAApB,EAAA,EAAA;AAAA,MAAAsB;AAAA,SAAAtB,EAAA,EAAA,MAAAI,KAAAJ,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAmB,KAAAnB,UAAAoB,KApBJE,IAAA,gBAAAC,EAACC,GAAA,EACMnB,KAAAA,GACCD,SAENe,UAAAA;AAAAA,IAAAA;AAAAA,IAaAC;AAAAA,EAAAA,GAIF,GAAQpB,QAAAI,GAAAJ,QAAAK,GAAAL,QAAAmB,GAAAnB,QAAAoB,GAAApB,QAAAsB,KAAAA,IAAAtB,EAAA,EAAA,GArBRsB;AAqBQ,CAEX;"}
@@ -1,63 +1,35 @@
1
- import { jsx as L, jsxs as U, Fragment as W } from "react/jsx-runtime";
2
- import { c as b } from "react/compiler-runtime";
3
- import { memo as q, useRef as z } from "react";
4
- import G from "./visualization.es129.js";
5
- import { getHeatmapColorScale as I, cellKey as j, DEFAULT_DESELECTED_COLOR as J, resolveCellAppearance as N } from "./visualization.es123.js";
6
- import { getBins as Q } from "./visualization.es84.js";
7
- import { useStableCallback as X } from "./visualization.es19.js";
8
- import Y from "./visualization.es231.js";
9
- import Z from "./visualization.es232.js";
10
- import ee from "./visualization.es12.js";
11
- const fe = q(function(w) {
12
- const e = b(32), {
13
- data: u,
14
- xScale: h,
15
- yScale: H,
16
- colors: S,
17
- minValue: O,
18
- maxValue: g,
19
- gap: y,
20
- isRect: t,
21
- binWidth: l,
22
- binHeight: m,
23
- animationType: x,
24
- tooltipBody: r,
25
- onClick: A,
26
- selectedCells: n,
27
- deselectedColor: V
28
- } = w, E = O === void 0 ? 0 : O, R = V === void 0 ? J : V;
29
- let p;
30
- e[0] !== S || e[1] !== g || e[2] !== E ? (p = I(S, [E, g]), e[0] = S, e[1] = g, e[2] = E, e[3] = p) : p = e[3];
31
- const k = p, D = Math.min(l, m) / 2;
32
- let f;
33
- e[4] !== n ? (f = n?.length ? new Set(n.map(j)) : null, e[4] = n, e[5] = f) : f = e[5];
34
- const d = f, $ = z(null), T = X(A), v = t ? Y : Z;
35
- let o;
36
- e[6] !== m || e[7] !== l || e[8] !== t || e[9] !== D ? (o = t ? {
37
- binWidth: l,
38
- binHeight: m
39
- } : {
40
- radius: D
41
- }, e[6] = m, e[7] = l, e[8] = t, e[9] = D, e[10] = o) : o = e[10];
42
- let a;
43
- e[11] !== x || e[12] !== l || e[13] !== R || e[14] !== T || e[15] !== t || e[16] !== d ? (a = (B) => B.map((F, K) => F.map((i) => {
44
- const _ = !!d && !d.has(j(i)), {
45
- fill: M,
46
- fillOpacity: P
47
- } = N(i.count, i.color, _, R);
48
- return /* @__PURE__ */ L(G, { bin: i, isRect: t, binWidth: l, fill: M, fillOpacity: P, colIndex: K, animationType: x, tooltipRef: $, onClick: T }, `heatmap-cell-${i.row}-${i.column}`);
49
- })), e[11] = x, e[12] = l, e[13] = R, e[14] = T, e[15] = t, e[16] = d, e[17] = a) : a = e[17];
50
- let c;
51
- e[18] !== v || e[19] !== k || e[20] !== u || e[21] !== y || e[22] !== o || e[23] !== a || e[24] !== h || e[25] !== H ? (c = /* @__PURE__ */ L(v, { data: u, xScale: h, yScale: H, colorScale: k, bins: Q, gap: y, ...o, children: a }), e[18] = v, e[19] = k, e[20] = u, e[21] = y, e[22] = o, e[23] = a, e[24] = h, e[25] = H, e[26] = c) : c = e[26];
52
- let s;
53
- e[27] !== r ? (s = r && /* @__PURE__ */ L(ee, { ref: $, children: r }), e[27] = r, e[28] = s) : s = e[28];
54
- let C;
55
- return e[29] !== c || e[30] !== s ? (C = /* @__PURE__ */ U(W, { children: [
56
- c,
57
- s
58
- ] }), e[29] = c, e[30] = s, e[31] = C) : C = e[31], C;
59
- });
1
+ import { jsx as u } from "react/jsx-runtime";
2
+ import { c as S } from "react/compiler-runtime";
3
+ import { getAnimationProps as T } from "./visualization.es20.js";
4
+ import { getTrianglePoints as A } from "./visualization.es17.js";
5
+ import { motion as W } from "./visualization.es27.js";
6
+ const G = (k) => {
7
+ const o = S(19), {
8
+ pointData: g,
9
+ animation: e,
10
+ animationGroupSize: a,
11
+ animationBuffer: i,
12
+ xScaleTransformed: n,
13
+ yScaleTransformed: s,
14
+ boundedWidth: c,
15
+ boundedHeight: l
16
+ } = k;
17
+ let t;
18
+ if (o[0] !== e || o[1] !== i || o[2] !== a || o[3] !== l || o[4] !== c || o[5] !== g || o[6] !== n || o[7] !== s) {
19
+ let f;
20
+ o[9] !== e || o[10] !== i || o[11] !== a || o[12] !== l || o[13] !== c || o[14] !== n || o[15] !== s ? (f = (r, y) => {
21
+ const x = W.g, b = Math.floor(y / (a ?? 1)), P = T(e, b, i ?? 0.03), p = n(r.x), d = s(r.y);
22
+ if (p < 0 || p > c || d < 0 || d > l)
23
+ return null;
24
+ const h = r.r ?? 3;
25
+ return /* @__PURE__ */ u(x, { ...P, children: r.shape === "triangle" ? /* @__PURE__ */ u("polygon", { points: A(p, d, h), fill: r.color ?? "black", stroke: r.stroke, opacity: r.opacity ?? 1 }) : /* @__PURE__ */ u("circle", { cx: p, cy: d, r: h, fill: r.color ?? "black", stroke: r.stroke, opacity: r.opacity ?? 1 }) }, `pt-${y}`);
26
+ }, o[9] = e, o[10] = i, o[11] = a, o[12] = l, o[13] = c, o[14] = n, o[15] = s, o[16] = f) : f = o[16], t = g.map(f), o[0] = e, o[1] = i, o[2] = a, o[3] = l, o[4] = c, o[5] = g, o[6] = n, o[7] = s, o[8] = t;
27
+ } else
28
+ t = o[8];
29
+ let m;
30
+ return o[17] !== t ? (m = /* @__PURE__ */ u("g", { children: t }), o[17] = t, o[18] = m) : m = o[18], m;
31
+ };
60
32
  export {
61
- fe as default
33
+ G as default
62
34
  };
63
35
  //# sourceMappingURL=visualization.es124.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es124.js","sources":["../src/components/Heatmap/HeatmapCells.tsx"],"sourcesContent":["import { HeatmapRect, HeatmapCircle, RectCell, CircleCell } from \"@visx/heatmap\";\nimport { useMemo, useRef, memo, ReactElement } from \"react\";\nimport type { AnimationType } from \"../../utility\";\nimport type { ColumnDatum, RowDatum, HeatmapCellId } from \"./types\";\nimport HeatmapCell from \"./HeatmapCell\";\nimport { PlotTooltip, type PlotTooltipHandle } from \"../../tooltip\";\nimport { useStableCallback } from \"../../hooks\";\nimport { DEFAULT_DESELECTED_COLOR, cellKey, getHeatmapColorScale, resolveCellAppearance } from \"./heatmapCellAppearance\";\nimport { getBins } from \"./heatmapLayout\";\n\nexport type AnyBin = RectCell<ColumnDatum, RowDatum> | CircleCell<ColumnDatum, RowDatum>;\n\nexport interface HeatmapCellsProps {\n data: ColumnDatum[];\n xScale: (d: number) => number;\n yScale: (d: number) => number;\n colors: [string, string, ...string[]];\n /**\n * Value mapped to the first color. Defaults to 0. Pass a negative value (e.g. paired with a\n * positive maxValue) for a diverging scale centered away from zero.\n */\n minValue?: number;\n maxValue: number;\n gap: number;\n isRect: boolean;\n binWidth: number;\n binHeight: number;\n animationType?: AnimationType;\n tooltipBody?: (bin: AnyBin) => ReactElement;\n onClick?: (bin: AnyBin) => void;\n selectedCells?: HeatmapCellId[];\n deselectedColor?: string;\n}\n\nconst HeatmapCells = memo(function HeatmapCells({\n data, xScale, yScale, colors, minValue = 0, maxValue, gap,\n isRect, binWidth, binHeight, animationType,\n tooltipBody, onClick, selectedCells, deselectedColor = DEFAULT_DESELECTED_COLOR,\n}: HeatmapCellsProps) {\n const colorScale = useMemo(\n () => getHeatmapColorScale(colors, [minValue, maxValue]),\n [colors, minValue, maxValue]\n );\n const radius = Math.min(binWidth, binHeight) / 2;\n\n const selectedKeys = useMemo(\n () => (selectedCells?.length ? new Set(selectedCells.map(cellKey)) : null),\n [selectedCells]\n );\n\n // The tooltip is a sibling of the grid and owns its own state, so moving the pointer around\n // never re-renders a cell. Cells reach it through this ref, which never changes identity.\n const tooltipRef = useRef<PlotTooltipHandle<AnyBin>>(null);\n\n // Consumers commonly pass an inline arrow for onClick. Cells are memoized on prop identity,\n // so forwarding that directly would invalidate every cell on each render of the consumer.\n const handleClick = useStableCallback(onClick);\n\n const HeatmapComponent = isRect ? HeatmapRect : HeatmapCircle;\n\n return (\n <>\n <HeatmapComponent\n data={data}\n xScale={xScale}\n yScale={yScale}\n colorScale={colorScale}\n bins={getBins}\n gap={gap}\n {...(isRect ? { binWidth, binHeight } : { radius })}\n >\n {(heatmap) =>\n heatmap.map((heatmapBins, colIndex) =>\n heatmapBins.map((bin) => {\n const isDeselected = !!selectedKeys && !selectedKeys.has(cellKey(bin));\n const { fill, fillOpacity } = resolveCellAppearance(bin.count, bin.color, isDeselected, deselectedColor);\n return (\n <HeatmapCell\n key={`heatmap-cell-${bin.row}-${bin.column}`}\n bin={bin}\n isRect={isRect}\n binWidth={binWidth}\n fill={fill}\n fillOpacity={fillOpacity}\n colIndex={colIndex}\n animationType={animationType}\n tooltipRef={tooltipRef}\n onClick={handleClick}\n />\n );\n })\n )\n }\n </HeatmapComponent>\n {tooltipBody && <PlotTooltip ref={tooltipRef}>{tooltipBody}</PlotTooltip>}\n </>\n );\n});\n\nexport default HeatmapCells;\n"],"names":["HeatmapCells","memo","t0","$","_c","data","xScale","yScale","colors","minValue","t1","maxValue","gap","isRect","binWidth","binHeight","animationType","tooltipBody","onClick","selectedCells","deselectedColor","t2","undefined","DEFAULT_DESELECTED_COLOR","t3","getHeatmapColorScale","colorScale","radius","Math","min","t4","length","Set","map","cellKey","selectedKeys","tooltipRef","useRef","handleClick","useStableCallback","HeatmapComponent","HeatmapRect","HeatmapCircle","t5","t6","heatmap","heatmapBins","colIndex","bin","isDeselected","has","fill","fillOpacity","resolveCellAppearance","count","color","HeatmapCell","row","column","t7","getBins","t8","jsx","PlotTooltip","t9"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es124.js","sources":["../src/components/ScatterPlot/AnimatedPoints.tsx"],"sourcesContent":["import React from \"react\";\nimport { motion } from \"framer-motion\";\nimport { ScaleLinear } from \"@visx/vendor/d3-scale\";\nimport { AnimationType, getAnimationProps } from \"../../utility\";\nimport { Point } from \"./types\";\nimport { getTrianglePoints } from \"./helpers\";\n\ntype AnimatedPointsProps<T extends object> = {\n pointData: Point<T>[];\n animation: AnimationType;\n animationGroupSize?: number;\n animationBuffer?: number;\n xScaleTransformed: ScaleLinear<number, number, never>;\n yScaleTransformed: ScaleLinear<number, number, never>;\n boundedWidth: number;\n boundedHeight: number;\n};\n\nconst AnimatedPoints = <T extends object>({\n pointData,\n animation,\n animationGroupSize,\n animationBuffer,\n xScaleTransformed,\n yScaleTransformed,\n boundedWidth,\n boundedHeight,\n}: AnimatedPointsProps<T>) => (\n <g>\n {pointData.map((point, index) => {\n const Wrapper = motion.g;\n const groupIndex = Math.floor(index / (animationGroupSize ?? 1));\n const animationProps = getAnimationProps(animation, groupIndex, animationBuffer ?? 0.03);\n const cx = xScaleTransformed(point.x);\n const cy = yScaleTransformed(point.y);\n if (cx < 0 || cx > boundedWidth || cy < 0 || cy > boundedHeight) return null;\n const radius = point.r ?? 3;\n return (\n <Wrapper key={`pt-${index}`} {...animationProps}>\n {point.shape === \"triangle\" ? (\n <polygon\n points={getTrianglePoints(cx, cy, radius)}\n fill={point.color ?? \"black\"}\n stroke={point.stroke}\n opacity={point.opacity ?? 1}\n />\n ) : (\n <circle\n cx={cx}\n cy={cy}\n r={radius}\n fill={point.color ?? \"black\"}\n stroke={point.stroke}\n opacity={point.opacity ?? 1}\n />\n )}\n </Wrapper>\n );\n })}\n </g>\n);\n\nexport default AnimatedPoints;\n"],"names":["AnimatedPoints","t0","$","_c","pointData","animation","animationGroupSize","animationBuffer","xScaleTransformed","yScaleTransformed","boundedWidth","boundedHeight","t1","t2","point","index","Wrapper","motion","g","groupIndex","Math","floor","animationProps","getAnimationProps","cx","x","cy","y","radius","r","jsx","shape","getTrianglePoints","color","stroke","opacity","map"],"mappings":";;;;;AAkBA,MAAMA,IAAiBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAA,EAAA,GAAmB;AAAA,IAAAC,WAAAA;AAAAA,IAAAC,WAAAA;AAAAA,IAAAC,oBAAAA;AAAAA,IAAAC,iBAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,mBAAAA;AAAAA,IAAAC,cAAAA;AAAAA,IAAAC,eAAAA;AAAAA,EAAAA,IAAAV;AASjB,MAAAW;AAAA,MAAAV,EAAA,CAAA,MAAAG,KAAAH,EAAA,CAAA,MAAAK,KAAAL,EAAA,CAAA,MAAAI,KAAAJ,EAAA,CAAA,MAAAS,KAAAT,EAAA,CAAA,MAAAQ,KAAAR,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAM,KAAAN,SAAAO,GAAA;AAAA,QAAAI;AAAA,IAAAX,EAAA,CAAA,MAAAG,KAAAH,EAAA,EAAA,MAAAK,KAAAL,EAAA,EAAA,MAAAI,KAAAJ,UAAAS,KAAAT,EAAA,EAAA,MAAAQ,KAAAR,EAAA,EAAA,MAAAM,KAAAN,EAAA,EAAA,MAAAO,KAEFI,IAAAA,CAAAC,GAAAC,MAAA;AACX,YAAAC,IAAgBC,EAAMC,GACtBC,IAAmBC,KAAIC,MAAON,KAAST,KAAA,EAAwB,GAC/DgB,IAAuBC,EAAkBlB,GAAWc,GAAYZ,KAAA,IAAuB,GACvFiB,IAAWhB,EAAkBM,EAAKW,CAAE,GACpCC,IAAWjB,EAAkBK,EAAKa,CAAE;AACpC,UAAIH,IAAK,KAAKA,IAAKd,KAAgBgB,IAAK,KAAKA,IAAKf;AAAa,eAAS;AACxE,YAAAiB,IAAed,EAAKe,KAAL;AAAa,aAExB,gBAAAC,EAACd,KAA0B,GAAMM,GAC5BR,YAAKiB,UAAW,4CAED,QAAAC,EAAkBR,GAAIE,GAAIE,CAAM,GAClC,MAAAd,EAAKmB,SAAL,SACE,QAAAnB,EAAKoB,QACJ,SAAApB,EAAKqB,WAAL,EAAA,CAAkB,IAG/B,gBAAAL,cACQN,IAAAA,GACAE,IAAAA,GACDE,MACG,MAAAd,EAAKmB,SAAL,SACE,QAAAnB,EAAKoB,QACJ,SAAApB,EAAKqB,WAAL,EAAA,CAAkB,EAAA,SAfnBpB,CAAK,EAkBzB;AAAA,IAAU,GAEjBb,OAAAG,GAAAH,QAAAK,GAAAL,QAAAI,GAAAJ,QAAAS,GAAAT,QAAAQ,GAAAR,QAAAM,GAAAN,QAAAO,GAAAP,QAAAW,KAAAA,IAAAX,EAAA,EAAA,GA7BAU,IAAAR,EAASgC,IAAKvB,CA6Bd,GAACX,OAAAG,GAAAH,OAAAK,GAAAL,OAAAI,GAAAJ,OAAAS,GAAAT,OAAAQ,GAAAR,OAAAE,GAAAF,OAAAM,GAAAN,OAAAO,GAAAP,OAAAU;AAAAA,EAAA;AAAAA,IAAAA,IAAAV,EAAA,CAAA;AAAA,MAAAW;AAAA,SAAAX,UAAAU,KA9BNC,6BACKD,UAAAA,EAAAA,CA8BL,GAAIV,QAAAU,GAAAV,QAAAW,KAAAA,IAAAX,EAAA,EAAA,GA/BJW;AA+BI;"}
@@ -1,106 +1,48 @@
1
- import { jsx as B, jsxs as A } from "react/jsx-runtime";
2
- import { c as F } from "react/compiler-runtime";
3
- import { useRef as G, useEffect as J } from "react";
4
- import { drawHeatmapCells as K } from "./visualization.es233.js";
5
- const M = (a, t, d) => Math.min(Math.max(a, t), d), et = (a) => {
6
- const t = F(51), {
7
- canvasCellParams: d,
8
- xMax: r,
9
- yMax: i,
10
- viewportWidth: p,
11
- viewportHeight: f,
12
- scrollLeft: P,
13
- scrollTop: b,
14
- width: s,
15
- height: c,
16
- onNavigate: h,
17
- onCanvasClick: v
18
- } = a, U = G(null), e = r > 0 ? s / r : 0, o = i > 0 ? c / i : 0;
19
- let C, R;
20
- t[0] !== d || t[1] !== e || t[2] !== o || t[3] !== r || t[4] !== i ? (C = () => {
21
- const n = U.current;
22
- if (!n || e <= 0 || o <= 0)
23
- return;
24
- const l = n.getContext("2d");
25
- if (!l)
26
- return;
27
- const W = window.devicePixelRatio || 1;
28
- l.setTransform(W * e, 0, 0, W * o, 0, 0), l.clearRect(0, 0, r, i);
29
- const q = {
30
- colStart: 0,
31
- colEnd: Math.max(0, d.data.length - 1),
32
- rowStart: 0,
33
- rowEnd: Math.max(0, d.numRows - 1)
34
- };
35
- K(l, d, q, null);
36
- }, R = [d, r, i, e, o], t[0] = d, t[1] = e, t[2] = o, t[3] = r, t[4] = i, t[5] = C, t[6] = R) : (C = t[5], R = t[6]), J(C, R);
37
- let T;
38
- t[7] !== h || t[8] !== f || t[9] !== p || t[10] !== r || t[11] !== i ? (T = (n, l) => {
39
- h(M(n - p / 2, 0, Math.max(0, r - p)), M(l - f / 2, 0, Math.max(0, i - f)));
40
- }, t[7] = h, t[8] = f, t[9] = p, t[10] = r, t[11] = i, t[12] = T) : T = t[12];
41
- const E = T;
42
- let y;
43
- t[13] !== E || t[14] !== v || t[15] !== e || t[16] !== o ? (y = (n) => {
44
- if (v) {
45
- v();
46
- return;
47
- }
48
- if (e <= 0 || o <= 0)
49
- return;
50
- const l = n.currentTarget.getBoundingClientRect();
51
- E((n.clientX - l.left) / e, (n.clientY - l.top) / o);
52
- }, t[13] = E, t[14] = v, t[15] = e, t[16] = o, t[17] = y) : y = t[17];
53
- const I = y, N = O;
54
- let D;
55
- t[18] !== h || t[19] !== e || t[20] !== o || t[21] !== P || t[22] !== b || t[23] !== f || t[24] !== p || t[25] !== r || t[26] !== i ? (D = (n) => {
56
- e <= 0 || o <= 0 || !n.currentTarget.hasPointerCapture(n.pointerId) || h(M(P + n.movementX / e, 0, Math.max(0, r - p)), M(b + n.movementY / o, 0, Math.max(0, i - f)));
57
- }, t[18] = h, t[19] = e, t[20] = o, t[21] = P, t[22] = b, t[23] = f, t[24] = p, t[25] = r, t[26] = i, t[27] = D) : D = t[27];
58
- const X = D, $ = Q, H = M(P * e, 0, s), S = M(b * o, 0, c), Y = Math.max(0, Math.min(p * e, s - H)), j = Math.max(0, Math.min(f * o, c - S));
59
- let m;
60
- t[28] !== c || t[29] !== s ? (m = {
61
- position: "relative",
62
- width: s,
63
- height: c
64
- }, t[28] = c, t[29] = s, t[30] = m) : m = t[30];
65
- const z = s * (window.devicePixelRatio || 1), L = c * (window.devicePixelRatio || 1);
66
- let u;
67
- t[31] !== c || t[32] !== s ? (u = {
68
- width: s,
69
- height: c,
70
- display: "block",
71
- cursor: "pointer",
72
- border: "1px solid #d5d5d5",
73
- boxSizing: "border-box"
74
- }, t[31] = c, t[32] = s, t[33] = u) : u = t[33];
75
- let x;
76
- t[34] !== I || t[35] !== z || t[36] !== L || t[37] !== u ? (x = /* @__PURE__ */ B("canvas", { ref: U, width: z, height: L, style: u, onPointerDown: I }), t[34] = I, t[35] = z, t[36] = L, t[37] = u, t[38] = x) : x = t[38];
77
- let g;
78
- t[39] !== j || t[40] !== H || t[41] !== S || t[42] !== Y ? (g = {
79
- position: "absolute",
80
- left: H,
81
- top: S,
82
- width: Y,
83
- height: j,
84
- border: "2px solid #0d0f98",
85
- backgroundColor: "rgba(13, 15, 152, 0.15)",
86
- cursor: "grab",
87
- boxSizing: "border-box"
88
- }, t[39] = j, t[40] = H, t[41] = S, t[42] = Y, t[43] = g) : g = t[43];
89
- let w;
90
- t[44] !== X || t[45] !== g ? (w = /* @__PURE__ */ B("div", { onPointerDown: N, onPointerMove: X, onPointerUp: $, style: g }), t[44] = X, t[45] = g, t[46] = w) : w = t[46];
91
- let k;
92
- return t[47] !== x || t[48] !== w || t[49] !== m ? (k = /* @__PURE__ */ A("div", { style: m, children: [
93
- x,
94
- w
95
- ] }), t[47] = x, t[48] = w, t[49] = m, t[50] = k) : k = t[50], k;
1
+ import { jsxs as E, jsx as b } from "react/jsx-runtime";
2
+ import { c as $ } from "react/compiler-runtime";
3
+ import v from "./visualization.es32.js";
4
+ const H = (u) => {
5
+ const t = $(15), {
6
+ pointData: x,
7
+ xScaleTransformed: a,
8
+ yScaleTransformed: f,
9
+ boundedWidth: n,
10
+ boundedHeight: l,
11
+ margin: o
12
+ } = u;
13
+ if (!x.some(z))
14
+ return null;
15
+ const T = o.top, j = o.left;
16
+ let s;
17
+ if (t[0] !== l || t[1] !== n || t[2] !== x || t[3] !== a || t[4] !== f) {
18
+ let m;
19
+ t[6] !== l || t[7] !== n || t[8] !== a || t[9] !== f ? (m = (r, k) => {
20
+ if (!r.label)
21
+ return null;
22
+ const c = a(r.x), i = f(r.y);
23
+ if (c < 0 || c > n || i < 0 || i > l)
24
+ return null;
25
+ const p = r.label.length * 7, y = r.r ?? 3, g = Math.atan2(i - l / 2, c - n / 2);
26
+ let e = Math.cos(g), d = Math.sin(g);
27
+ const W = c + e * 15, A = e >= 0 ? W + 4 + p : W - 4 - p;
28
+ (A > n || A < 0) && (e = -e);
29
+ const M = i + d * 15;
30
+ (M < 0 || M > l) && (d = -d);
31
+ const R = c + e * 15, S = i + d * 15, w = e >= 0 ? "start" : "end";
32
+ return /* @__PURE__ */ E("g", { pointerEvents: "none", children: [
33
+ /* @__PURE__ */ b("line", { x1: c + e * y, y1: i + d * y, x2: R, y2: S, stroke: "#555", strokeWidth: 1 }),
34
+ /* @__PURE__ */ b("text", { x: R + (e >= 0 ? 4 : -4), y: S, textAnchor: w, dominantBaseline: "middle", fontSize: 11, fontWeight: "bold", fill: "#1c1917", children: r.label })
35
+ ] }, `lbl-${k}`);
36
+ }, t[6] = l, t[7] = n, t[8] = a, t[9] = f, t[10] = m) : m = t[10], s = x.map(m), t[0] = l, t[1] = n, t[2] = x, t[3] = a, t[4] = f, t[5] = s;
37
+ } else
38
+ s = t[5];
39
+ let h;
40
+ return t[11] !== o.left || t[12] !== o.top || t[13] !== s ? (h = /* @__PURE__ */ b(v, { top: T, left: j, children: s }), t[11] = o.left, t[12] = o.top, t[13] = s, t[14] = h) : h = t[14], h;
96
41
  };
97
- function O(a) {
98
- a.stopPropagation(), a.currentTarget.setPointerCapture(a.pointerId);
99
- }
100
- function Q(a) {
101
- a.currentTarget.releasePointerCapture(a.pointerId);
42
+ function z(u) {
43
+ return u.label;
102
44
  }
103
45
  export {
104
- et as default
46
+ H as default
105
47
  };
106
48
  //# sourceMappingURL=visualization.es125.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"visualization.es125.js","sources":["../src/components/Heatmap/scrollable/HeatmapMiniMap.tsx"],"sourcesContent":["import { useCallback, useEffect, useRef } from \"react\";\nimport { drawHeatmapCells, type CanvasCellParams } from \"../HeatmapCanvasCells\";\n\nexport interface HeatmapMiniMapProps {\n canvasCellParams: CanvasCellParams;\n xMax: number;\n yMax: number;\n viewportWidth: number;\n viewportHeight: number;\n scrollLeft: number;\n scrollTop: number;\n width: number;\n height: number;\n onNavigate: (left: number, top: number) => void;\n onCanvasClick?: () => void;\n}\n\nconst clamp = (value: number, min: number, max: number) => Math.min(Math.max(value, min), max);\n\nconst HeatmapMiniMap = ({\n canvasCellParams,\n xMax,\n yMax,\n viewportWidth,\n viewportHeight,\n scrollLeft,\n scrollTop,\n width,\n height,\n onNavigate,\n onCanvasClick,\n}: HeatmapMiniMapProps) => {\n const canvasRef = useRef<HTMLCanvasElement | null>(null);\n const scaleX = xMax > 0 ? width / xMax : 0;\n const scaleY = yMax > 0 ? height / yMax : 0;\n\n useEffect(() => {\n const canvas = canvasRef.current;\n if (!canvas || scaleX <= 0 || scaleY <= 0) return;\n const ctx = canvas.getContext(\"2d\");\n if (!ctx) return;\n const dpr = window.devicePixelRatio || 1;\n ctx.setTransform(dpr * scaleX, 0, 0, dpr * scaleY, 0, 0);\n ctx.clearRect(0, 0, xMax, yMax);\n const range = {\n colStart: 0,\n colEnd: Math.max(0, canvasCellParams.data.length - 1),\n rowStart: 0,\n rowEnd: Math.max(0, canvasCellParams.numRows - 1),\n };\n drawHeatmapCells(ctx, canvasCellParams, range, null);\n }, [canvasCellParams, xMax, yMax, scaleX, scaleY]);\n\n const navigateCentered = useCallback(\n (contentX: number, contentY: number) => {\n onNavigate(\n clamp(contentX - viewportWidth / 2, 0, Math.max(0, xMax - viewportWidth)),\n clamp(contentY - viewportHeight / 2, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [onNavigate, viewportWidth, viewportHeight, xMax, yMax]\n );\n\n const handleCanvasPointerDown = useCallback(\n (event: React.PointerEvent<HTMLCanvasElement>) => {\n if (onCanvasClick) {\n onCanvasClick();\n return;\n }\n if (scaleX <= 0 || scaleY <= 0) return;\n const rect = event.currentTarget.getBoundingClientRect();\n navigateCentered((event.clientX - rect.left) / scaleX, (event.clientY - rect.top) / scaleY);\n },\n [onCanvasClick, navigateCentered, scaleX, scaleY]\n );\n\n const handleRectPointerDown = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.stopPropagation();\n event.currentTarget.setPointerCapture(event.pointerId);\n }, []);\n\n const handleRectPointerMove = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n if (scaleX <= 0 || scaleY <= 0 || !event.currentTarget.hasPointerCapture(event.pointerId)) return;\n onNavigate(\n clamp(scrollLeft + event.movementX / scaleX, 0, Math.max(0, xMax - viewportWidth)),\n clamp(scrollTop + event.movementY / scaleY, 0, Math.max(0, yMax - viewportHeight))\n );\n },\n [scrollLeft, scrollTop, scaleX, scaleY, xMax, yMax, viewportWidth, viewportHeight, onNavigate]\n );\n\n const handleRectPointerUp = useCallback((event: React.PointerEvent<HTMLDivElement>) => {\n event.currentTarget.releasePointerCapture(event.pointerId);\n }, []);\n\n const rectLeft = clamp(scrollLeft * scaleX, 0, width);\n const rectTop = clamp(scrollTop * scaleY, 0, height);\n const rectWidth = Math.max(0, Math.min(viewportWidth * scaleX, width - rectLeft));\n const rectHeight = Math.max(0, Math.min(viewportHeight * scaleY, height - rectTop));\n\n return (\n <div style={{ position: \"relative\", width, height }}>\n <canvas\n ref={canvasRef}\n width={width * (window.devicePixelRatio || 1)}\n height={height * (window.devicePixelRatio || 1)}\n style={{ width, height, display: \"block\", cursor: \"pointer\", border: \"1px solid #d5d5d5\", boxSizing: \"border-box\" }}\n onPointerDown={handleCanvasPointerDown}\n />\n <div\n onPointerDown={handleRectPointerDown}\n onPointerMove={handleRectPointerMove}\n onPointerUp={handleRectPointerUp}\n style={{\n position: \"absolute\",\n left: rectLeft,\n top: rectTop,\n width: rectWidth,\n height: rectHeight,\n border: \"2px solid #0d0f98\",\n backgroundColor: \"rgba(13, 15, 152, 0.15)\",\n cursor: \"grab\",\n boxSizing: \"border-box\",\n }}\n />\n </div>\n );\n};\n\nexport default HeatmapMiniMap;\n"],"names":["clamp","value","min","max","Math","HeatmapMiniMap","t0","$","_c","canvasCellParams","xMax","yMax","viewportWidth","viewportHeight","scrollLeft","scrollTop","width","height","onNavigate","onCanvasClick","canvasRef","useRef","scaleX","scaleY","t1","t2","canvas","current","ctx","getContext","dpr","window","devicePixelRatio","setTransform","clearRect","range","colStart","colEnd","data","length","rowStart","rowEnd","numRows","drawHeatmapCells","useEffect","t3","contentX","contentY","navigateCentered","t4","event","rect","currentTarget","getBoundingClientRect","clientX","left","clientY","top","handleCanvasPointerDown","handleRectPointerDown","_temp","t5","event_1","hasPointerCapture","pointerId","movementX","movementY","handleRectPointerMove","handleRectPointerUp","_temp2","rectLeft","rectTop","rectWidth","rectHeight","t6","position","t7","t8","t9","display","cursor","border","boxSizing","t10","jsx","t11","backgroundColor","t12","t13","jsxs","event_0","stopPropagation","setPointerCapture","event_2","releasePointerCapture"],"mappings":"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"}
1
+ {"version":3,"file":"visualization.es125.js","sources":["../src/components/ScatterPlot/PointLabels.tsx"],"sourcesContent":["import React from \"react\";\nimport { Group } from \"@visx/group\";\nimport { ScaleLinear } from \"@visx/vendor/d3-scale\";\nimport { Point } from \"./types\";\n\ntype PointLabelsProps<T extends object> = {\n pointData: Point<T>[];\n xScaleTransformed: ScaleLinear<number, number, never>;\n yScaleTransformed: ScaleLinear<number, number, never>;\n boundedWidth: number;\n boundedHeight: number;\n margin: { top: number; left: number };\n};\n\nconst PointLabels = <T extends object>({\n pointData,\n xScaleTransformed,\n yScaleTransformed,\n boundedWidth,\n boundedHeight,\n margin,\n}: PointLabelsProps<T>) => {\n if (!pointData.some(p => p.label)) return null;\n\n return (\n <Group top={margin.top} left={margin.left}>\n {pointData.map((point, i) => {\n if (!point.label) return null;\n const cx = xScaleTransformed(point.x);\n const cy = yScaleTransformed(point.y);\n if (cx < 0 || cx > boundedWidth || cy < 0 || cy > boundedHeight) return null;\n\n const lineLen = 15;\n const estTextWidth = point.label.length * 7;\n const circleR = (point.r ?? 3);\n const angle = Math.atan2(cy - boundedHeight / 2, cx - boundedWidth / 2);\n let cosA = Math.cos(angle);\n let sinA = Math.sin(angle);\n\n // Flip horizontal if text would overflow left/right\n const lxRaw = cx + cosA * lineLen;\n const textEndX = cosA >= 0 ? lxRaw + 4 + estTextWidth : lxRaw - 4 - estTextWidth;\n if (textEndX > boundedWidth || textEndX < 0) cosA = -cosA;\n\n // Flip vertical if line endpoint would overflow top/bottom\n const lyRaw = cy + sinA * lineLen;\n if (lyRaw < 0 || lyRaw > boundedHeight) sinA = -sinA;\n\n const lx = cx + cosA * lineLen;\n const ly = cy + sinA * lineLen;\n const anchor = cosA >= 0 ? \"start\" : \"end\";\n\n return (\n <g key={`lbl-${i}`} pointerEvents=\"none\">\n <line x1={cx + cosA * circleR} y1={cy + sinA * circleR} x2={lx} y2={ly} stroke=\"#555\" strokeWidth={1} />\n <text x={lx + (cosA >= 0 ? 4 : -4)} y={ly} textAnchor={anchor} dominantBaseline=\"middle\" fontSize={11} fontWeight=\"bold\" fill=\"#1c1917\">\n {point.label}\n </text>\n </g>\n );\n })}\n </Group>\n );\n};\n\nexport default PointLabels;\n"],"names":["PointLabels","t0","$","_c","pointData","xScaleTransformed","yScaleTransformed","boundedWidth","boundedHeight","margin","some","_temp","t1","top","t2","left","t3","t4","point","i","label","cx","x","cy","y","estTextWidth","length","circleR","r","angle","Math","atan2","cosA","cos","sinA","sin","lxRaw","textEndX","lyRaw","lx","ly","anchor","jsxs","jsx","map","Group","p"],"mappings":"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"}