@weng-lab/ui-components 3.0.1-beta.0 → 3.0.1-beta.2

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 (591) hide show
  1. package/dist/src/components/GenomeSearch/queries.d.ts +1 -1
  2. package/dist/src/components/GenomeSearch/queries.d.ts.map +1 -1
  3. package/dist/ui-components.es10.js +1 -1
  4. package/dist/ui-components.es100.js +3 -3
  5. package/dist/ui-components.es102.js +2 -2
  6. package/dist/ui-components.es105.js +1 -1
  7. package/dist/ui-components.es105.js.map +1 -1
  8. package/dist/ui-components.es106.js +6 -7
  9. package/dist/ui-components.es106.js.map +1 -1
  10. package/dist/ui-components.es107.js +1 -1
  11. package/dist/ui-components.es107.js.map +1 -1
  12. package/dist/ui-components.es108.js +7 -6
  13. package/dist/ui-components.es108.js.map +1 -1
  14. package/dist/ui-components.es109.js +7 -7
  15. package/dist/ui-components.es109.js.map +1 -1
  16. package/dist/ui-components.es110.js +47 -6
  17. package/dist/ui-components.es110.js.map +1 -1
  18. package/dist/ui-components.es111.js +198 -7
  19. package/dist/ui-components.es111.js.map +1 -1
  20. package/dist/ui-components.es112.js +17 -5
  21. package/dist/ui-components.es112.js.map +1 -1
  22. package/dist/ui-components.es113.js +280 -8
  23. package/dist/ui-components.es113.js.map +1 -1
  24. package/dist/ui-components.es114.js +6 -47
  25. package/dist/ui-components.es114.js.map +1 -1
  26. package/dist/ui-components.es115.js +7 -198
  27. package/dist/ui-components.es115.js.map +1 -1
  28. package/dist/ui-components.es116.js +7 -18
  29. package/dist/ui-components.es116.js.map +1 -1
  30. package/dist/ui-components.es117.js +7 -280
  31. package/dist/ui-components.es117.js.map +1 -1
  32. package/dist/ui-components.es12.js +2 -2
  33. package/dist/ui-components.es123.js +2 -2
  34. package/dist/ui-components.es125.js +4 -4
  35. package/dist/ui-components.es128.js +1 -1
  36. package/dist/ui-components.es129.js +1 -1
  37. package/dist/ui-components.es13.js +3 -3
  38. package/dist/ui-components.es130.js +3 -6
  39. package/dist/ui-components.es130.js.map +1 -1
  40. package/dist/ui-components.es131.js +14 -7
  41. package/dist/ui-components.es131.js.map +1 -1
  42. package/dist/ui-components.es132.js +7 -344
  43. package/dist/ui-components.es132.js.map +1 -1
  44. package/dist/ui-components.es133.js +4 -15
  45. package/dist/ui-components.es133.js.map +1 -1
  46. package/dist/ui-components.es134.js +4 -8
  47. package/dist/ui-components.es134.js.map +1 -1
  48. package/dist/ui-components.es135.js +35 -273
  49. package/dist/ui-components.es135.js.map +1 -1
  50. package/dist/ui-components.es136.js +345 -3
  51. package/dist/ui-components.es136.js.map +1 -1
  52. package/dist/ui-components.es137.js +275 -8
  53. package/dist/ui-components.es137.js.map +1 -1
  54. package/dist/ui-components.es138.js +6 -4
  55. package/dist/ui-components.es138.js.map +1 -1
  56. package/dist/ui-components.es139.js +8 -4
  57. package/dist/ui-components.es139.js.map +1 -1
  58. package/dist/ui-components.es140.js +309 -35
  59. package/dist/ui-components.es140.js.map +1 -1
  60. package/dist/ui-components.es141.js +6 -2
  61. package/dist/ui-components.es141.js.map +1 -1
  62. package/dist/ui-components.es142.js +6 -3
  63. package/dist/ui-components.es142.js.map +1 -1
  64. package/dist/ui-components.es143.js +6 -32
  65. package/dist/ui-components.es143.js.map +1 -1
  66. package/dist/ui-components.es144.js +8 -15
  67. package/dist/ui-components.es144.js.map +1 -1
  68. package/dist/ui-components.es145.js +55 -53
  69. package/dist/ui-components.es145.js.map +1 -1
  70. package/dist/ui-components.es146.js +7 -6
  71. package/dist/ui-components.es146.js.map +1 -1
  72. package/dist/ui-components.es147.js +2 -2
  73. package/dist/ui-components.es148.js +6 -6
  74. package/dist/ui-components.es148.js.map +1 -1
  75. package/dist/ui-components.es149.js +125 -6
  76. package/dist/ui-components.es149.js.map +1 -1
  77. package/dist/ui-components.es150.js +4 -269
  78. package/dist/ui-components.es150.js.map +1 -1
  79. package/dist/ui-components.es151.js +4 -174
  80. package/dist/ui-components.es151.js.map +1 -1
  81. package/dist/ui-components.es152.js +3 -109
  82. package/dist/ui-components.es152.js.map +1 -1
  83. package/dist/ui-components.es153.js +95 -57
  84. package/dist/ui-components.es153.js.map +1 -1
  85. package/dist/ui-components.es154.js +6 -45
  86. package/dist/ui-components.es154.js.map +1 -1
  87. package/dist/ui-components.es155.js +64 -3
  88. package/dist/ui-components.es155.js.map +1 -1
  89. package/dist/ui-components.es156.js +177 -7
  90. package/dist/ui-components.es156.js.map +1 -1
  91. package/dist/ui-components.es157.js +190 -154
  92. package/dist/ui-components.es157.js.map +1 -1
  93. package/dist/ui-components.es158.js +22 -4
  94. package/dist/ui-components.es158.js.map +1 -1
  95. package/dist/ui-components.es159.js +7 -39
  96. package/dist/ui-components.es159.js.map +1 -1
  97. package/dist/ui-components.es160.js +6 -26
  98. package/dist/ui-components.es160.js.map +1 -1
  99. package/dist/ui-components.es161.js +6 -7
  100. package/dist/ui-components.es161.js.map +1 -1
  101. package/dist/ui-components.es162.js +7 -29
  102. package/dist/ui-components.es162.js.map +1 -1
  103. package/dist/ui-components.es163.js +7 -123
  104. package/dist/ui-components.es163.js.map +1 -1
  105. package/dist/ui-components.es164.js +25 -12
  106. package/dist/ui-components.es164.js.map +1 -1
  107. package/dist/ui-components.es165.js +28 -5
  108. package/dist/ui-components.es165.js.map +1 -1
  109. package/dist/ui-components.es166.js +12 -294
  110. package/dist/ui-components.es166.js.map +1 -1
  111. package/dist/ui-components.es167.js +4 -93
  112. package/dist/ui-components.es167.js.map +1 -1
  113. package/dist/ui-components.es168.js +196 -9
  114. package/dist/ui-components.es168.js.map +1 -1
  115. package/dist/ui-components.es169.js +188 -81
  116. package/dist/ui-components.es169.js.map +1 -1
  117. package/dist/ui-components.es17.js +41 -20
  118. package/dist/ui-components.es17.js.map +1 -1
  119. package/dist/ui-components.es170.js +9 -77
  120. package/dist/ui-components.es170.js.map +1 -1
  121. package/dist/ui-components.es171.js +2 -17
  122. package/dist/ui-components.es171.js.map +1 -1
  123. package/dist/ui-components.es172.js +58 -2
  124. package/dist/ui-components.es172.js.map +1 -1
  125. package/dist/ui-components.es173.js +270 -7
  126. package/dist/ui-components.es173.js.map +1 -1
  127. package/dist/ui-components.es174.js +174 -7
  128. package/dist/ui-components.es174.js.map +1 -1
  129. package/dist/ui-components.es175.js +108 -24
  130. package/dist/ui-components.es175.js.map +1 -1
  131. package/dist/ui-components.es176.js +63 -28
  132. package/dist/ui-components.es176.js.map +1 -1
  133. package/dist/ui-components.es177.js +45 -11
  134. package/dist/ui-components.es177.js.map +1 -1
  135. package/dist/ui-components.es178.js +3 -5
  136. package/dist/ui-components.es178.js.map +1 -1
  137. package/dist/ui-components.es179.js +7 -196
  138. package/dist/ui-components.es179.js.map +1 -1
  139. package/dist/ui-components.es18.js +6 -130
  140. package/dist/ui-components.es18.js.map +1 -1
  141. package/dist/ui-components.es180.js +155 -188
  142. package/dist/ui-components.es180.js.map +1 -1
  143. package/dist/ui-components.es181.js +4 -9
  144. package/dist/ui-components.es181.js.map +1 -1
  145. package/dist/ui-components.es182.js +39 -23
  146. package/dist/ui-components.es182.js.map +1 -1
  147. package/dist/ui-components.es183.js +22 -121
  148. package/dist/ui-components.es183.js.map +1 -1
  149. package/dist/ui-components.es184.js +7 -4
  150. package/dist/ui-components.es184.js.map +1 -1
  151. package/dist/ui-components.es185.js +28 -4
  152. package/dist/ui-components.es185.js.map +1 -1
  153. package/dist/ui-components.es186.js +123 -3
  154. package/dist/ui-components.es186.js.map +1 -1
  155. package/dist/ui-components.es187.js +12 -101
  156. package/dist/ui-components.es187.js.map +1 -1
  157. package/dist/ui-components.es188.js +5 -6
  158. package/dist/ui-components.es188.js.map +1 -1
  159. package/dist/ui-components.es189.js +293 -63
  160. package/dist/ui-components.es189.js.map +1 -1
  161. package/dist/ui-components.es19.js +6 -36
  162. package/dist/ui-components.es19.js.map +1 -1
  163. package/dist/ui-components.es190.js +91 -175
  164. package/dist/ui-components.es190.js.map +1 -1
  165. package/dist/ui-components.es191.js +9 -191
  166. package/dist/ui-components.es191.js.map +1 -1
  167. package/dist/ui-components.es192.js +80 -5
  168. package/dist/ui-components.es192.js.map +1 -1
  169. package/dist/ui-components.es193.js +73 -107
  170. package/dist/ui-components.es193.js.map +1 -1
  171. package/dist/ui-components.es194.js +15 -15
  172. package/dist/ui-components.es194.js.map +1 -1
  173. package/dist/ui-components.es195.js +2 -450
  174. package/dist/ui-components.es195.js.map +1 -1
  175. package/dist/ui-components.es196.js +3 -4
  176. package/dist/ui-components.es196.js.map +1 -1
  177. package/dist/ui-components.es197.js +32 -3
  178. package/dist/ui-components.es197.js.map +1 -1
  179. package/dist/ui-components.es198.js +13 -41
  180. package/dist/ui-components.es198.js.map +1 -1
  181. package/dist/ui-components.es199.js +111 -7
  182. package/dist/ui-components.es199.js.map +1 -1
  183. package/dist/ui-components.es2.js +29 -29
  184. package/dist/ui-components.es20.js +6 -23
  185. package/dist/ui-components.es20.js.map +1 -1
  186. package/dist/ui-components.es200.js +16 -23
  187. package/dist/ui-components.es200.js.map +1 -1
  188. package/dist/ui-components.es201.js +439 -300
  189. package/dist/ui-components.es201.js.map +1 -1
  190. package/dist/ui-components.es202.js +4 -6
  191. package/dist/ui-components.es202.js.map +1 -1
  192. package/dist/ui-components.es203.js +3 -6
  193. package/dist/ui-components.es203.js.map +1 -1
  194. package/dist/ui-components.es204.js +43 -6
  195. package/dist/ui-components.es204.js.map +1 -1
  196. package/dist/ui-components.es205.js +7 -7
  197. package/dist/ui-components.es205.js.map +1 -1
  198. package/dist/ui-components.es206.js +23 -59
  199. package/dist/ui-components.es206.js.map +1 -1
  200. package/dist/ui-components.es207.js +2 -2
  201. package/dist/ui-components.es208.js +11 -11
  202. package/dist/ui-components.es209.js +11 -11
  203. package/dist/ui-components.es21.js +6 -253
  204. package/dist/ui-components.es21.js.map +1 -1
  205. package/dist/ui-components.es210.js +10 -10
  206. package/dist/ui-components.es211.js +11 -11
  207. package/dist/ui-components.es212.js +8 -8
  208. package/dist/ui-components.es213.js +7 -7
  209. package/dist/ui-components.es219.js +2 -2
  210. package/dist/ui-components.es22.js +6 -39
  211. package/dist/ui-components.es22.js.map +1 -1
  212. package/dist/ui-components.es220.js +4 -4
  213. package/dist/ui-components.es221.js +1 -1
  214. package/dist/ui-components.es222.js +2 -2
  215. package/dist/ui-components.es223.js +4 -2
  216. package/dist/ui-components.es223.js.map +1 -1
  217. package/dist/ui-components.es224.js +45 -3
  218. package/dist/ui-components.es224.js.map +1 -1
  219. package/dist/ui-components.es225.js +8 -43
  220. package/dist/ui-components.es225.js.map +1 -1
  221. package/dist/ui-components.es226.js +2 -11
  222. package/dist/ui-components.es226.js.map +1 -1
  223. package/dist/ui-components.es228.js +1 -1
  224. package/dist/ui-components.es229.js +6 -23
  225. package/dist/ui-components.es229.js.map +1 -1
  226. package/dist/ui-components.es23.js +6 -41
  227. package/dist/ui-components.es23.js.map +1 -1
  228. package/dist/ui-components.es230.js +6 -117
  229. package/dist/ui-components.es230.js.map +1 -1
  230. package/dist/ui-components.es231.js +8 -59
  231. package/dist/ui-components.es231.js.map +1 -1
  232. package/dist/ui-components.es232.js +59 -3
  233. package/dist/ui-components.es232.js.map +1 -1
  234. package/dist/ui-components.es233.js +23 -14
  235. package/dist/ui-components.es233.js.map +1 -1
  236. package/dist/ui-components.es234.js +114 -35
  237. package/dist/ui-components.es234.js.map +1 -1
  238. package/dist/ui-components.es235.js +3 -4
  239. package/dist/ui-components.es235.js.map +1 -1
  240. package/dist/ui-components.es236.js +15 -17
  241. package/dist/ui-components.es236.js.map +1 -1
  242. package/dist/ui-components.es237.js +39 -9
  243. package/dist/ui-components.es237.js.map +1 -1
  244. package/dist/ui-components.es238.js +1 -7
  245. package/dist/ui-components.es238.js.map +1 -1
  246. package/dist/ui-components.es239.js +2 -8
  247. package/dist/ui-components.es239.js.map +1 -1
  248. package/dist/ui-components.es24.js +5 -5
  249. package/dist/ui-components.es24.js.map +1 -1
  250. package/dist/ui-components.es240.js +2 -5
  251. package/dist/ui-components.es240.js.map +1 -1
  252. package/dist/ui-components.es241.js +16 -7
  253. package/dist/ui-components.es241.js.map +1 -1
  254. package/dist/ui-components.es242.js +8 -8
  255. package/dist/ui-components.es242.js.map +1 -1
  256. package/dist/ui-components.es243.js +8 -5
  257. package/dist/ui-components.es243.js.map +1 -1
  258. package/dist/ui-components.es244.js +7 -10
  259. package/dist/ui-components.es244.js.map +1 -1
  260. package/dist/ui-components.es245.js +8 -42
  261. package/dist/ui-components.es245.js.map +1 -1
  262. package/dist/ui-components.es246.js +8 -2
  263. package/dist/ui-components.es246.js.map +1 -1
  264. package/dist/ui-components.es247.js +8 -1
  265. package/dist/ui-components.es247.js.map +1 -1
  266. package/dist/ui-components.es248.js +4 -6
  267. package/dist/ui-components.es248.js.map +1 -1
  268. package/dist/ui-components.es249.js +11 -9
  269. package/dist/ui-components.es249.js.map +1 -1
  270. package/dist/ui-components.es25.js +255 -6
  271. package/dist/ui-components.es25.js.map +1 -1
  272. package/dist/ui-components.es250.js +41 -3
  273. package/dist/ui-components.es250.js.map +1 -1
  274. package/dist/ui-components.es251.js +25 -3
  275. package/dist/ui-components.es251.js.map +1 -1
  276. package/dist/ui-components.es252.js +34 -6
  277. package/dist/ui-components.es252.js.map +1 -1
  278. package/dist/ui-components.es253.js +7 -476
  279. package/dist/ui-components.es253.js.map +1 -1
  280. package/dist/ui-components.es254.js +3 -167
  281. package/dist/ui-components.es254.js.map +1 -1
  282. package/dist/ui-components.es255.js +3 -25
  283. package/dist/ui-components.es255.js.map +1 -1
  284. package/dist/ui-components.es256.js +6 -34
  285. package/dist/ui-components.es256.js.map +1 -1
  286. package/dist/ui-components.es257.js +476 -7
  287. package/dist/ui-components.es257.js.map +1 -1
  288. package/dist/ui-components.es258.js +167 -7
  289. package/dist/ui-components.es258.js.map +1 -1
  290. package/dist/ui-components.es26.js +726 -6
  291. package/dist/ui-components.es26.js.map +1 -1
  292. package/dist/ui-components.es260.js +2 -2
  293. package/dist/ui-components.es261.js +1 -1
  294. package/dist/ui-components.es262.js +1 -1
  295. package/dist/ui-components.es263.js +8 -232
  296. package/dist/ui-components.es263.js.map +1 -1
  297. package/dist/ui-components.es264.js +232 -2
  298. package/dist/ui-components.es264.js.map +1 -1
  299. package/dist/ui-components.es265.js +2 -2
  300. package/dist/ui-components.es266.js +1 -9
  301. package/dist/ui-components.es266.js.map +1 -1
  302. package/dist/ui-components.es267.js +10 -2
  303. package/dist/ui-components.es267.js.map +1 -1
  304. package/dist/ui-components.es268.js +2 -2
  305. package/dist/ui-components.es269.js +2 -2
  306. package/dist/ui-components.es27.js +660 -6
  307. package/dist/ui-components.es27.js.map +1 -1
  308. package/dist/ui-components.es270.js +2 -8
  309. package/dist/ui-components.es270.js.map +1 -1
  310. package/dist/ui-components.es271.js +6 -5
  311. package/dist/ui-components.es271.js.map +1 -1
  312. package/dist/ui-components.es28.js +75 -6
  313. package/dist/ui-components.es28.js.map +1 -1
  314. package/dist/ui-components.es282.js +2 -2
  315. package/dist/ui-components.es287.js +2 -2
  316. package/dist/ui-components.es288.js +10 -10
  317. package/dist/ui-components.es29.js +112 -6
  318. package/dist/ui-components.es29.js.map +1 -1
  319. package/dist/ui-components.es290.js +7 -7
  320. package/dist/ui-components.es291.js +2 -2
  321. package/dist/ui-components.es292.js +5 -5
  322. package/dist/ui-components.es293.js +2 -2
  323. package/dist/ui-components.es294.js +1 -1
  324. package/dist/ui-components.es295.js +1 -1
  325. package/dist/ui-components.es296.js +2 -2
  326. package/dist/ui-components.es297.js +2 -2
  327. package/dist/ui-components.es298.js +6 -42
  328. package/dist/ui-components.es298.js.map +1 -1
  329. package/dist/ui-components.es299.js +4 -3
  330. package/dist/ui-components.es299.js.map +1 -1
  331. package/dist/ui-components.es3.js +63 -63
  332. package/dist/ui-components.es3.js.map +1 -1
  333. package/dist/ui-components.es30.js +240 -6
  334. package/dist/ui-components.es30.js.map +1 -1
  335. package/dist/ui-components.es300.js +6 -7
  336. package/dist/ui-components.es300.js.map +1 -1
  337. package/dist/ui-components.es301.js +166 -38
  338. package/dist/ui-components.es301.js.map +1 -1
  339. package/dist/ui-components.es302.js +37 -63
  340. package/dist/ui-components.es302.js.map +1 -1
  341. package/dist/ui-components.es303.js +19 -19
  342. package/dist/ui-components.es303.js.map +1 -1
  343. package/dist/ui-components.es304.js +64 -50
  344. package/dist/ui-components.es304.js.map +1 -1
  345. package/dist/ui-components.es305.js +47 -5
  346. package/dist/ui-components.es305.js.map +1 -1
  347. package/dist/ui-components.es306.js +18 -47
  348. package/dist/ui-components.es306.js.map +1 -1
  349. package/dist/ui-components.es307.js +51 -39
  350. package/dist/ui-components.es307.js.map +1 -1
  351. package/dist/ui-components.es308.js +6 -19
  352. package/dist/ui-components.es308.js.map +1 -1
  353. package/dist/ui-components.es309.js +42 -7
  354. package/dist/ui-components.es309.js.map +1 -1
  355. package/dist/ui-components.es31.js +143 -202
  356. package/dist/ui-components.es31.js.map +1 -1
  357. package/dist/ui-components.es310.js +3 -76
  358. package/dist/ui-components.es310.js.map +1 -1
  359. package/dist/ui-components.es311.js +7 -23
  360. package/dist/ui-components.es311.js.map +1 -1
  361. package/dist/ui-components.es312.js +39 -59
  362. package/dist/ui-components.es312.js.map +1 -1
  363. package/dist/ui-components.es313.js +76 -5
  364. package/dist/ui-components.es313.js.map +1 -1
  365. package/dist/ui-components.es314.js +23 -25
  366. package/dist/ui-components.es314.js.map +1 -1
  367. package/dist/ui-components.es315.js +7 -2
  368. package/dist/ui-components.es315.js.map +1 -1
  369. package/dist/ui-components.es316.js +4 -12
  370. package/dist/ui-components.es316.js.map +1 -1
  371. package/dist/ui-components.es317.js +60 -9
  372. package/dist/ui-components.es317.js.map +1 -1
  373. package/dist/ui-components.es318.js +25 -15
  374. package/dist/ui-components.es318.js.map +1 -1
  375. package/dist/ui-components.es319.js +3 -10
  376. package/dist/ui-components.es319.js.map +1 -1
  377. package/dist/ui-components.es32.js +53 -704
  378. package/dist/ui-components.es32.js.map +1 -1
  379. package/dist/ui-components.es320.js +11 -145
  380. package/dist/ui-components.es320.js.map +1 -1
  381. package/dist/ui-components.es321.js +9 -10
  382. package/dist/ui-components.es321.js.map +1 -1
  383. package/dist/ui-components.es322.js +16 -19
  384. package/dist/ui-components.es322.js.map +1 -1
  385. package/dist/ui-components.es323.js +9 -6
  386. package/dist/ui-components.es323.js.map +1 -1
  387. package/dist/ui-components.es324.js +6 -5
  388. package/dist/ui-components.es324.js.map +1 -1
  389. package/dist/ui-components.es325.js +5 -322
  390. package/dist/ui-components.es325.js.map +1 -1
  391. package/dist/ui-components.es326.js +146 -6
  392. package/dist/ui-components.es326.js.map +1 -1
  393. package/dist/ui-components.es327.js +10 -6
  394. package/dist/ui-components.es327.js.map +1 -1
  395. package/dist/ui-components.es328.js +322 -3
  396. package/dist/ui-components.es328.js.map +1 -1
  397. package/dist/ui-components.es329.js +6 -6
  398. package/dist/ui-components.es329.js.map +1 -1
  399. package/dist/ui-components.es33.js +395 -594
  400. package/dist/ui-components.es33.js.map +1 -1
  401. package/dist/ui-components.es330.js +14 -168
  402. package/dist/ui-components.es330.js.map +1 -1
  403. package/dist/ui-components.es331.js +332 -13
  404. package/dist/ui-components.es331.js.map +1 -1
  405. package/dist/ui-components.es332.js +17 -332
  406. package/dist/ui-components.es332.js.map +1 -1
  407. package/dist/ui-components.es335.js +1 -1
  408. package/dist/ui-components.es336.js +1 -1
  409. package/dist/ui-components.es337.js +148 -11
  410. package/dist/ui-components.es337.js.map +1 -1
  411. package/dist/ui-components.es338.js +11 -6
  412. package/dist/ui-components.es338.js.map +1 -1
  413. package/dist/ui-components.es339.js +12 -171
  414. package/dist/ui-components.es339.js.map +1 -1
  415. package/dist/ui-components.es34.js +10 -74
  416. package/dist/ui-components.es34.js.map +1 -1
  417. package/dist/ui-components.es340.js +6 -7
  418. package/dist/ui-components.es340.js.map +1 -1
  419. package/dist/ui-components.es341.js +171 -12
  420. package/dist/ui-components.es341.js.map +1 -1
  421. package/dist/ui-components.es342.js +7 -148
  422. package/dist/ui-components.es342.js.map +1 -1
  423. package/dist/ui-components.es343.js +7 -11
  424. package/dist/ui-components.es343.js.map +1 -1
  425. package/dist/ui-components.es344.js +11 -7
  426. package/dist/ui-components.es344.js.map +1 -1
  427. package/dist/ui-components.es347.js +7 -8
  428. package/dist/ui-components.es347.js.map +1 -1
  429. package/dist/ui-components.es348.js +8 -7
  430. package/dist/ui-components.es348.js.map +1 -1
  431. package/dist/ui-components.es349.js +2 -2
  432. package/dist/ui-components.es35.js +608 -78
  433. package/dist/ui-components.es35.js.map +1 -1
  434. package/dist/ui-components.es350.js +1 -1
  435. package/dist/ui-components.es351.js +2 -2
  436. package/dist/ui-components.es352.js +6 -2
  437. package/dist/ui-components.es352.js.map +1 -1
  438. package/dist/ui-components.es353.js +25 -6
  439. package/dist/ui-components.es353.js.map +1 -1
  440. package/dist/ui-components.es354.js +2 -25
  441. package/dist/ui-components.es354.js.map +1 -1
  442. package/dist/ui-components.es355.js +2 -2
  443. package/dist/ui-components.es356.js +6 -6
  444. package/dist/ui-components.es356.js.map +1 -1
  445. package/dist/ui-components.es357.js +5 -5
  446. package/dist/ui-components.es358.js +6 -6
  447. package/dist/ui-components.es358.js.map +1 -1
  448. package/dist/ui-components.es36.js +209 -154
  449. package/dist/ui-components.es36.js.map +1 -1
  450. package/dist/ui-components.es362.js +1 -1
  451. package/dist/ui-components.es366.js +1 -1
  452. package/dist/ui-components.es368.js +1 -1
  453. package/dist/ui-components.es369.js +6 -29
  454. package/dist/ui-components.es369.js.map +1 -1
  455. package/dist/ui-components.es37.js +75 -150
  456. package/dist/ui-components.es37.js.map +1 -1
  457. package/dist/ui-components.es370.js +29 -120
  458. package/dist/ui-components.es370.js.map +1 -1
  459. package/dist/ui-components.es371.js +117 -27
  460. package/dist/ui-components.es371.js.map +1 -1
  461. package/dist/ui-components.es372.js +28 -9
  462. package/dist/ui-components.es372.js.map +1 -1
  463. package/dist/ui-components.es373.js +10 -13
  464. package/dist/ui-components.es373.js.map +1 -1
  465. package/dist/ui-components.es374.js +12 -31
  466. package/dist/ui-components.es374.js.map +1 -1
  467. package/dist/ui-components.es375.js +30 -26
  468. package/dist/ui-components.es375.js.map +1 -1
  469. package/dist/ui-components.es376.js +28 -10
  470. package/dist/ui-components.es376.js.map +1 -1
  471. package/dist/ui-components.es377.js +10 -12
  472. package/dist/ui-components.es377.js.map +1 -1
  473. package/dist/ui-components.es378.js +12 -17
  474. package/dist/ui-components.es378.js.map +1 -1
  475. package/dist/ui-components.es379.js +17 -23
  476. package/dist/ui-components.es379.js.map +1 -1
  477. package/dist/ui-components.es38.js +100 -49
  478. package/dist/ui-components.es38.js.map +1 -1
  479. package/dist/ui-components.es380.js +20 -13
  480. package/dist/ui-components.es380.js.map +1 -1
  481. package/dist/ui-components.es381.js +12 -92
  482. package/dist/ui-components.es381.js.map +1 -1
  483. package/dist/ui-components.es382.js +91 -39
  484. package/dist/ui-components.es382.js.map +1 -1
  485. package/dist/ui-components.es383.js +41 -25
  486. package/dist/ui-components.es383.js.map +1 -1
  487. package/dist/ui-components.es384.js +23 -66
  488. package/dist/ui-components.es384.js.map +1 -1
  489. package/dist/ui-components.es385.js +66 -46
  490. package/dist/ui-components.es385.js.map +1 -1
  491. package/dist/ui-components.es386.js +47 -30
  492. package/dist/ui-components.es386.js.map +1 -1
  493. package/dist/ui-components.es387.js +30 -37
  494. package/dist/ui-components.es387.js.map +1 -1
  495. package/dist/ui-components.es388.js +41 -5
  496. package/dist/ui-components.es388.js.map +1 -1
  497. package/dist/ui-components.es389.js +2 -2
  498. package/dist/ui-components.es39.js +44 -436
  499. package/dist/ui-components.es39.js.map +1 -1
  500. package/dist/ui-components.es392.js +1 -1
  501. package/dist/ui-components.es398.js +1 -1
  502. package/dist/ui-components.es4.js +2 -2
  503. package/dist/ui-components.es40.js +258 -10
  504. package/dist/ui-components.es40.js.map +1 -1
  505. package/dist/ui-components.es404.js +2 -2
  506. package/dist/ui-components.es405.js +1 -1
  507. package/dist/ui-components.es406.js +1 -1
  508. package/dist/ui-components.es409.js +1 -1
  509. package/dist/ui-components.es41.js +166 -545
  510. package/dist/ui-components.es41.js.map +1 -1
  511. package/dist/ui-components.es410.js +1 -1
  512. package/dist/ui-components.es413.js +1 -1
  513. package/dist/ui-components.es414.js +1 -1
  514. package/dist/ui-components.es417.js +4 -4
  515. package/dist/ui-components.es42.js +17 -280
  516. package/dist/ui-components.es42.js.map +1 -1
  517. package/dist/ui-components.es43.js +304 -76
  518. package/dist/ui-components.es43.js.map +1 -1
  519. package/dist/ui-components.es44.js +110 -81
  520. package/dist/ui-components.es44.js.map +1 -1
  521. package/dist/ui-components.es45.js +141 -67
  522. package/dist/ui-components.es45.js.map +1 -1
  523. package/dist/ui-components.es46.js +20 -259
  524. package/dist/ui-components.es46.js.map +1 -1
  525. package/dist/ui-components.es47.js +128 -261
  526. package/dist/ui-components.es47.js.map +1 -1
  527. package/dist/ui-components.es48.js +36 -32
  528. package/dist/ui-components.es48.js.map +1 -1
  529. package/dist/ui-components.es49.js +23 -349
  530. package/dist/ui-components.es49.js.map +1 -1
  531. package/dist/ui-components.es5.js +6 -6
  532. package/dist/ui-components.es50.js +217 -119
  533. package/dist/ui-components.es50.js.map +1 -1
  534. package/dist/ui-components.es51.js +38 -142
  535. package/dist/ui-components.es51.js.map +1 -1
  536. package/dist/ui-components.es52.js +209 -6
  537. package/dist/ui-components.es52.js.map +1 -1
  538. package/dist/ui-components.es53.js +247 -51
  539. package/dist/ui-components.es53.js.map +1 -1
  540. package/dist/ui-components.es54.js +63 -155
  541. package/dist/ui-components.es54.js.map +1 -1
  542. package/dist/ui-components.es55.js +28 -207
  543. package/dist/ui-components.es55.js.map +1 -1
  544. package/dist/ui-components.es56.js +27 -249
  545. package/dist/ui-components.es56.js.map +1 -1
  546. package/dist/ui-components.es57.js +40 -67
  547. package/dist/ui-components.es57.js.map +1 -1
  548. package/dist/ui-components.es58.js +20 -29
  549. package/dist/ui-components.es58.js.map +1 -1
  550. package/dist/ui-components.es59.js +6 -27
  551. package/dist/ui-components.es59.js.map +1 -1
  552. package/dist/ui-components.es6.js +3 -3
  553. package/dist/ui-components.es60.js +53 -42
  554. package/dist/ui-components.es60.js.map +1 -1
  555. package/dist/ui-components.es61.js +160 -19
  556. package/dist/ui-components.es61.js.map +1 -1
  557. package/dist/ui-components.es62.js +15 -15
  558. package/dist/ui-components.es63.js +5 -5
  559. package/dist/ui-components.es64.js +8 -8
  560. package/dist/ui-components.es7.js +1 -1
  561. package/dist/ui-components.es77.js +7 -7
  562. package/dist/ui-components.es78.js +12 -12
  563. package/dist/ui-components.es79.js +14 -14
  564. package/dist/ui-components.es8.js +1 -1
  565. package/dist/ui-components.es80.js +10 -10
  566. package/dist/ui-components.es81.js +9 -9
  567. package/dist/ui-components.es83.js +1 -1
  568. package/dist/ui-components.es89.js +15 -5
  569. package/dist/ui-components.es89.js.map +1 -1
  570. package/dist/ui-components.es9.js +2 -2
  571. package/dist/ui-components.es90.js +5 -11
  572. package/dist/ui-components.es90.js.map +1 -1
  573. package/dist/ui-components.es91.js +3 -3
  574. package/dist/ui-components.es91.js.map +1 -1
  575. package/dist/ui-components.es92.js +6 -14
  576. package/dist/ui-components.es92.js.map +1 -1
  577. package/dist/ui-components.es93.js +8 -3
  578. package/dist/ui-components.es93.js.map +1 -1
  579. package/dist/ui-components.es94.js +8 -6
  580. package/dist/ui-components.es94.js.map +1 -1
  581. package/dist/ui-components.es95.js +13 -7
  582. package/dist/ui-components.es95.js.map +1 -1
  583. package/dist/ui-components.es96.js +20 -8
  584. package/dist/ui-components.es96.js.map +1 -1
  585. package/dist/ui-components.es97.js +7 -13
  586. package/dist/ui-components.es97.js.map +1 -1
  587. package/dist/ui-components.es98.js +10 -20
  588. package/dist/ui-components.es98.js.map +1 -1
  589. package/dist/ui-components.es99.js +3 -8
  590. package/dist/ui-components.es99.js.map +1 -1
  591. package/package.json +1 -1
@@ -1,165 +1,73 @@
1
- import { j as l } from "./ui-components.es15.js";
2
- import { c as de } from "./ui-components.es16.js";
3
- import { Box as fe, Divider as me, Typography as ge, IconButton as pe, Tooltip as he, DialogTitle as ue, Checkbox as X, FormControlLabel as Y, DialogContent as xe, Stack as be, Button as Z, DialogActions as je, Dialog as Ce } from "@mui/material";
4
- import { useState as S } from "react";
5
- import { Download as _e } from "@mui/icons-material";
6
- import { ontologyDownloadMap as we } from "./ui-components.es84.js";
7
- import { formatFileSize as ee, fetchFileSize as le } from "./ui-components.es53.js";
8
- import { useDownloadContext as De } from "./ui-components.es52.js";
9
- const ke = (n) => {
10
- const e = n.toLowerCase().replace(/\s+/g, "_");
11
- return we[e] ?? [];
12
- }, Oe = (n) => {
13
- const e = de.c(66), {
14
- ontology: o
15
- } = n, [I, F] = S(!1), [c, te] = S(!1), [r, oe] = S(!1), [D, ne] = S(null), [k, ie] = S(null), {
16
- onDownload: A
17
- } = De();
18
- let t, i, E;
19
- e[0] !== o ? (t = ke(o), i = t.find(ye)?.filename ?? void 0, E = t.find(Se)?.filename ?? void 0, e[0] = o, e[1] = t, e[2] = i, e[3] = E) : (t = e[1], i = e[2], E = e[3]);
20
- const a = E;
21
- let v;
22
- e[4] !== a || e[5] !== k || e[6] !== i || e[7] !== D ? (v = () => {
23
- i && !D && le(`https://downloads.wenglab.org/${i}`, ne), a && !k && le(`https://downloads.wenglab.org/${a}`, ie), F(!0);
24
- }, e[4] = a, e[5] = k, e[6] = i, e[7] = D, e[8] = v) : v = e[8];
25
- const U = v;
26
- let $;
27
- e[9] !== r || e[10] !== a || e[11] !== t || e[12] !== i || e[13] !== c || e[14] !== A || e[15] !== o ? ($ = () => {
28
- if (!t || t.length === 0)
29
- return;
30
- const s = [];
31
- c && i && s.push({
32
- filename: i,
33
- label: "excluding_cancer_cell_lines"
34
- }), r && a && s.push({
35
- filename: a,
36
- label: "all_biosamples"
37
- }), s.forEach((se, ae) => {
38
- const {
39
- filename: V,
40
- label: ce
41
- } = se, W = `https://downloads.wenglab.org/${V}`;
42
- setTimeout(() => {
43
- if (A) {
44
- const re = `${o}_aggregate_ccres_${ce}`;
45
- A(W, re);
46
- }
47
- const y = document.createElement("a");
48
- y.href = W, y.download = V, document.body.appendChild(y), y.click(), document.body.removeChild(y);
49
- }, ae * 500);
50
- });
51
- }, e[9] = r, e[10] = a, e[11] = t, e[12] = i, e[13] = c, e[14] = A, e[15] = o, e[16] = $) : $ = e[16];
52
- const M = $;
1
+ import { j as t } from "./ui-components.es15.js";
2
+ import { c as S } from "./ui-components.es16.js";
3
+ import { Stack as D, Typography as y, IconButton as C, Divider as v, Box as g, Button as _, Modal as k } from "@mui/material";
4
+ import G from "./ui-components.es18.js";
5
+ const P = (o) => {
6
+ const e = S.c(24), {
7
+ open: h,
8
+ onClose: l,
9
+ onDownloadSVG: b,
10
+ onDownloadPNG: u,
11
+ plotTitle: j
12
+ } = o;
13
+ let n;
14
+ e[0] !== u ? (n = {
15
+ label: "PNG",
16
+ action: u
17
+ }, e[0] = u, e[1] = n) : n = e[1];
18
+ let r;
19
+ e[2] !== b ? (r = {
20
+ label: "SVG",
21
+ action: b
22
+ }, e[2] = b, e[3] = r) : r = e[3];
53
23
  let d;
54
- e[17] !== t || e[18] !== o ? (d = t.length === 0 ? "No Aggregate cCRE Download Options" : /* @__PURE__ */ l.jsxs(fe, { children: [
55
- "Download cCREs in ",
56
- o.charAt(0).toUpperCase() + o.slice(1),
57
- ":",
58
- /* @__PURE__ */ l.jsx("ul", { style: {
59
- margin: 0,
60
- paddingLeft: 16
61
- }, children: t.map(Fe) }),
62
- "(Opens Download Dialog)"
63
- ] }), e[17] = t, e[18] = o, e[19] = d) : d = e[19];
64
- let f;
65
- e[20] !== U ? (f = (s) => {
66
- s.stopPropagation(), U();
67
- }, e[20] = U, e[21] = f) : f = e[21];
68
- const q = t.length === 0;
69
- let R;
70
- e[22] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (R = /* @__PURE__ */ l.jsx(_e, {}), e[22] = R) : R = e[22];
24
+ e[4] !== n || e[5] !== r ? (d = [n, r].filter(I), e[4] = n, e[5] = r, e[6] = d) : d = e[6];
25
+ const w = d;
71
26
  let m;
72
- e[23] !== f || e[24] !== q ? (m = /* @__PURE__ */ l.jsx("span", { children: /* @__PURE__ */ l.jsx(pe, { onClick: f, disabled: q, children: R }) }), e[23] = f, e[24] = q, e[25] = m) : m = e[25];
73
- let g;
74
- e[26] !== d || e[27] !== m ? (g = /* @__PURE__ */ l.jsx(he, { title: d, placement: "left", arrow: !0, children: m }), e[26] = d, e[27] = m, e[28] = g) : g = e[28];
75
- let T;
76
- e[29] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (T = (s) => {
77
- s.stopPropagation(), F(!1);
78
- }, e[29] = T) : T = e[29];
79
- let z;
80
- e[30] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (z = {
81
- backdrop: {
82
- sx: {
83
- backgroundColor: "rgba(255, 255, 255, 0.1)",
84
- backdropFilter: "blur(2px)"
85
- }
86
- }
87
- }, e[30] = z) : z = e[30];
88
- let B;
89
- e[31] !== o ? (B = o.charAt(0).toUpperCase(), e[31] = o, e[32] = B) : B = e[32];
90
- const G = B + o.slice(1);
27
+ e[7] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (m = {
28
+ position: "absolute",
29
+ top: "50%",
30
+ left: "50%",
31
+ transform: "translate(-50%, -50%)",
32
+ bgcolor: "background.paper",
33
+ boxShadow: 24,
34
+ borderRadius: 2,
35
+ p: 3,
36
+ width: 360
37
+ }, e[7] = m) : m = e[7];
38
+ let i;
39
+ e[8] !== j ? (i = /* @__PURE__ */ t.jsxs(y, { variant: "h6", fontWeight: 600, mb: 1, children: [
40
+ "Download ",
41
+ j
42
+ ] }), e[8] = j, e[9] = i) : i = e[9];
43
+ let f;
44
+ e[10] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = /* @__PURE__ */ t.jsx(y, { variant: "body2", color: "text.secondary", mb: 2, children: "Choose a file format to export your plot." }), e[10] = f) : f = e[10];
91
45
  let p;
92
- e[33] !== G ? (p = /* @__PURE__ */ l.jsxs(ue, { id: "export-dialog-title", children: [
93
- "Download cCREs in ",
94
- G,
95
- ":"
96
- ] }), e[33] = G, e[34] = p) : p = e[34];
97
- let L;
98
- e[35] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (L = (s) => oe(s.target.checked), e[35] = L) : L = e[35];
99
- const H = !a;
100
- let h;
101
- e[36] !== r || e[37] !== H ? (h = /* @__PURE__ */ l.jsx(X, { checked: r, onChange: L, disabled: H }), e[36] = r, e[37] = H, e[38] = h) : h = e[38];
102
- const J = `Aggregate cCREs (all biosamples)${k ? " - " + ee(k) : ""}`;
103
- let u;
104
- e[39] !== h || e[40] !== J ? (u = /* @__PURE__ */ l.jsx(Y, { control: h, label: J }), e[39] = h, e[40] = J, e[41] = u) : u = e[41];
105
- let O;
106
- e[42] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (O = (s) => te(s.target.checked), e[42] = O) : O = e[42];
107
- const K = !i;
46
+ e[11] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (p = /* @__PURE__ */ t.jsx(v, { flexItem: !0 }), e[11] = p) : p = e[11];
47
+ let a;
48
+ e[12] !== w ? (a = /* @__PURE__ */ t.jsx(D, { spacing: 1.5, divider: p, children: w.map(B) }), e[12] = w, e[13] = a) : a = e[13];
49
+ let s;
50
+ e[14] !== l ? (s = /* @__PURE__ */ t.jsx(g, { mt: 3, textAlign: "right", children: /* @__PURE__ */ t.jsx(_, { onClick: l, children: "Close" }) }), e[14] = l, e[15] = s) : s = e[15];
51
+ let c;
52
+ e[16] !== i || e[17] !== a || e[18] !== s ? (c = /* @__PURE__ */ t.jsxs(g, { sx: m, children: [
53
+ i,
54
+ f,
55
+ a,
56
+ s
57
+ ] }), e[16] = i, e[17] = a, e[18] = s, e[19] = c) : c = e[19];
108
58
  let x;
109
- e[43] !== c || e[44] !== K ? (x = /* @__PURE__ */ l.jsx(X, { checked: c, onChange: O, disabled: K }), e[43] = c, e[44] = K, e[45] = x) : x = e[45];
110
- const Q = `Aggregate cCREs (excluding cancer cell lines)${D ? " - " + ee(D) : ""}`;
111
- let b;
112
- e[46] !== x || e[47] !== Q ? (b = /* @__PURE__ */ l.jsx(Y, { control: x, label: Q }), e[46] = x, e[47] = Q, e[48] = b) : b = e[48];
113
- let j;
114
- e[49] !== t.length ? (j = t.length <= 1 && /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
115
- /* @__PURE__ */ l.jsx(me, { sx: {
116
- marginTop: 1
117
- } }),
118
- /* @__PURE__ */ l.jsx(ge, { marginTop: 1, children: /* @__PURE__ */ l.jsx("strong", { children: "No cancerous cell lines available in this tissue" }) })
119
- ] }), e[49] = t.length, e[50] = j) : j = e[50];
120
- let C;
121
- e[51] !== u || e[52] !== b || e[53] !== j ? (C = /* @__PURE__ */ l.jsx(xe, { children: /* @__PURE__ */ l.jsxs(be, { children: [
122
- u,
123
- b,
124
- j
125
- ] }) }), e[51] = u, e[52] = b, e[53] = j, e[54] = C) : C = e[54];
126
- let N;
127
- e[55] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (N = /* @__PURE__ */ l.jsx(Z, { onClick: () => {
128
- F(!1);
129
- }, children: "Cancel" }), e[55] = N) : N = e[55];
130
- let _;
131
- e[56] !== M ? (_ = /* @__PURE__ */ l.jsxs(je, { children: [
132
- N,
133
- /* @__PURE__ */ l.jsx(Z, { variant: "contained", onClick: () => {
134
- M(), F(!1);
135
- }, children: "Download" })
136
- ] }), e[56] = M, e[57] = _) : _ = e[57];
137
- let w;
138
- e[58] !== I || e[59] !== p || e[60] !== C || e[61] !== _ ? (w = /* @__PURE__ */ l.jsxs(Ce, { open: I, onClose: T, "aria-labelledby": "export-dialog-title", disableScrollLock: !0, slotProps: z, onClick: Ae, children: [
139
- p,
140
- C,
141
- _
142
- ] }), e[58] = I, e[59] = p, e[60] = C, e[61] = _, e[62] = w) : w = e[62];
143
- let P;
144
- return e[63] !== w || e[64] !== g ? (P = /* @__PURE__ */ l.jsxs(l.Fragment, { children: [
145
- g,
146
- w
147
- ] }), e[63] = w, e[64] = g, e[65] = P) : P = e[65], P;
59
+ return e[20] !== l || e[21] !== h || e[22] !== c ? (x = /* @__PURE__ */ t.jsx(k, { open: h, onClose: l, children: c }), e[20] = l, e[21] = h, e[22] = c, e[23] = x) : x = e[23], x;
148
60
  };
149
- function ye(n) {
150
- return n.label === "Excluding Cancer Cell Lines";
151
- }
152
- function Se(n) {
153
- return n.label === "All Biosamples";
154
- }
155
- function Fe(n) {
156
- return /* @__PURE__ */ l.jsx("li", { children: n.label }, n.filename);
61
+ function I(o) {
62
+ return o.action;
157
63
  }
158
- function Ae(n) {
159
- return n.stopPropagation();
64
+ function B(o) {
65
+ return /* @__PURE__ */ t.jsxs(D, { direction: "row", alignItems: "center", justifyContent: "space-between", children: [
66
+ /* @__PURE__ */ t.jsx(y, { variant: "body1", children: o.label }),
67
+ /* @__PURE__ */ t.jsx(C, { color: "primary", onClick: o.action, "aria-label": `Download ${o.label}`, children: /* @__PURE__ */ t.jsx(G, {}) })
68
+ ] }, o.label);
160
69
  }
161
70
  export {
162
- Oe as AggregateDownloadButton,
163
- ke as getAvailableFiles
71
+ P as default
164
72
  };
165
73
  //# sourceMappingURL=ui-components.es54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es54.js","sources":["../src/components/BiosampleTable/AggregateDownload.tsx"],"sourcesContent":["import {\n Button,\n Tooltip,\n Box,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n DialogTitle,\n FormControlLabel,\n Stack,\n Typography,\n Divider,\n IconButton,\n} from \"@mui/material\";\nimport { useCallback, useMemo, useState } from \"react\";\nimport { Download } from \"@mui/icons-material\";\nimport { ontologyDownloadMap } from \"./ontologyDownloads\";\nimport { fetchFileSize, formatFileSize } from \"./helpers\";\nimport { useDownloadContext } from \"./DownloadContext\";\n\nexport type AggregateDownloadProps = {\n ontology: string;\n};\n\n/**\n *\n * @param ontology\n * Finds available aggregate file urls for the given ontology in the form `[noccl, ccl]`\n */\n\nexport const getAvailableFiles = (ontology: string) => {\n const key = ontology.toLowerCase().replace(/\\s+/g, \"_\");\n return ontologyDownloadMap[key] ?? [];\n};\n\nexport const AggregateDownloadButton = ({ ontology }: AggregateDownloadProps) => {\n const [isDialogOpen, setIsDialogOpen] = useState(false);\n const [noccl, setNoccl] = useState(false);\n const [all, setAll] = useState(false);\n const [nocclFileSize, setNocclFileSize] = useState<number | null>(null);\n const [allFileSize, setAllFileSize] = useState<number | null>(null);\n const { onDownload } = useDownloadContext();\n\n const availibleDownloads = getAvailableFiles(ontology);\n\n const ncFile = availibleDownloads.find((d) => d.label === \"Excluding Cancer Cell Lines\")?.filename ?? undefined;\n const allFile = availibleDownloads.find((d) => d.label === \"All Biosamples\")?.filename ?? undefined;\n\n const handleOpenDialog = () => {\n if (ncFile && !nocclFileSize) fetchFileSize(`https://downloads.wenglab.org/${ncFile}`, setNocclFileSize);\n if (allFile && !allFileSize) fetchFileSize(`https://downloads.wenglab.org/${allFile}`, setAllFileSize);\n setIsDialogOpen(true);\n };\n\n const handleDownload = useCallback(() => {\n if (!availibleDownloads || availibleDownloads.length === 0) return;\n\n const filesToDownload: { filename: string; label: string }[] = [];\n if (noccl && ncFile) filesToDownload.push({ filename: ncFile, label: \"excluding_cancer_cell_lines\" });\n if (all && allFile) filesToDownload.push({ filename: allFile, label: \"all_biosamples\" });\n\n filesToDownload.forEach(({ filename, label }, index) => {\n const url = `https://downloads.wenglab.org/${filename}`;\n\n setTimeout(() => {\n if (onDownload) {\n // Use descriptive name: ontology_aggregate_ccres_label\n const name = `${ontology}_aggregate_ccres_${label}`;\n onDownload(url, name);\n }\n\n const link = document.createElement(\"a\");\n link.href = url;\n link.download = filename;\n\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n }, index * 500); // 500ms delay between downloads (some browsers prevent against mutliple downloads at once)\n });\n }, [all, allFile, availibleDownloads, ncFile, noccl, onDownload, ontology]);\n\n return (\n <>\n <Tooltip\n title={\n availibleDownloads.length === 0 ? (\n \"No Aggregate cCRE Download Options\"\n ) : (\n <Box>\n Download cCREs in {ontology.charAt(0).toUpperCase() + ontology.slice(1)}:\n <ul style={{ margin: 0, paddingLeft: 16 }}>\n {availibleDownloads.map((d) => (\n <li key={d.filename}>{d.label}</li>\n ))}\n </ul>\n (Opens Download Dialog)\n </Box>\n )\n }\n placement=\"left\"\n arrow\n >\n <span>\n <IconButton\n onClick={(e) => {\n e.stopPropagation();\n handleOpenDialog();\n }}\n disabled={availibleDownloads.length === 0}\n >\n <Download />\n </IconButton>\n </span>\n </Tooltip>\n <Dialog\n open={isDialogOpen}\n onClose={(event) => {\n (event as React.MouseEvent).stopPropagation();\n setIsDialogOpen(false);\n }}\n aria-labelledby=\"export-dialog-title\"\n disableScrollLock\n slotProps={{\n backdrop: {\n sx: {\n backgroundColor: \"rgba(255, 255, 255, 0.1)\",\n backdropFilter: \"blur(2px)\",\n },\n },\n }}\n onClick={(e) => e.stopPropagation()}\n >\n <DialogTitle id=\"export-dialog-title\">\n Download cCREs in {ontology.charAt(0).toUpperCase() + ontology.slice(1)}:\n </DialogTitle>\n <DialogContent>\n <Stack>\n <FormControlLabel\n control={<Checkbox checked={all} onChange={(e) => setAll(e.target.checked)} disabled={!allFile} />}\n label={`Aggregate cCREs (all biosamples)${allFileSize ? \" - \" + formatFileSize(allFileSize) : \"\"}`}\n />\n <FormControlLabel\n control={<Checkbox checked={noccl} onChange={(e) => setNoccl(e.target.checked)} disabled={!ncFile} />}\n label={`Aggregate cCREs (excluding cancer cell lines)${nocclFileSize ? \" - \" + formatFileSize(nocclFileSize) : \"\"}`}\n />\n {availibleDownloads.length <= 1 && (\n <>\n <Divider sx={{ marginTop: 1 }} />\n <Typography marginTop={1}>\n <strong>No cancerous cell lines available in this tissue</strong>\n </Typography>\n </>\n )}\n </Stack>\n </DialogContent>\n <DialogActions>\n <Button\n onClick={() => {\n setIsDialogOpen(false);\n }}\n >\n Cancel\n </Button>\n <Button\n variant=\"contained\"\n onClick={() => {\n handleDownload();\n setIsDialogOpen(false);\n }}\n >\n Download\n </Button>\n </DialogActions>\n </Dialog>\n </>\n );\n};\n"],"names":["getAvailableFiles","ontology","key","toLowerCase","replace","ontologyDownloadMap","AggregateDownloadButton","t0","$","_c","isDialogOpen","setIsDialogOpen","useState","noccl","setNoccl","all","setAll","nocclFileSize","setNocclFileSize","allFileSize","setAllFileSize","onDownload","useDownloadContext","availibleDownloads","ncFile","t1","find","_temp","filename","undefined","_temp2","allFile","t2","fetchFileSize","handleOpenDialog","t3","length","filesToDownload","push","label","forEach","t4","index","url","setTimeout","name","link","document","createElement","href","download","body","appendChild","click","removeChild","handleDownload","Box","charAt","toUpperCase","slice","jsx","margin","paddingLeft","map","_temp3","t5","e","stopPropagation","t6","t7","Symbol","for","Download","t8","IconButton","t9","Tooltip","t10","event","t11","backdrop","sx","backgroundColor","backdropFilter","t12","t13","t14","jsxs","DialogTitle","t15","e_1","target","checked","t16","t17","Checkbox","t18","formatFileSize","t19","FormControlLabel","t20","e_2","t21","t22","t23","t24","t25","Fragment","Divider","marginTop","Typography","t26","DialogContent","Stack","t27","Button","t28","DialogActions","t29","Dialog","_temp4","t30","d","d_0","d_1","e_0"],"mappings":"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"}
1
+ {"version":3,"file":"ui-components.es54.js","sources":["../src/components/TwoPaneLayout/DownloadModal.tsx"],"sourcesContent":["import React from \"react\";\nimport { Modal, Box, IconButton, Stack, Typography, Divider, Button } from \"@mui/material\";\nimport DownloadIcon from \"@mui/icons-material/Download\";\n\nexport interface DownloadModalProps {\n open: boolean;\n onClose: () => void;\n onDownloadSVG?: () => void;\n onDownloadPNG?: () => void;\n plotTitle: string;\n}\n\nconst DownloadModal: React.FC<DownloadModalProps> = ({ open, onClose, onDownloadSVG, onDownloadPNG, plotTitle }) => {\n const downloadOptions = [\n { label: \"PNG\", action: onDownloadPNG },\n { label: \"SVG\", action: onDownloadSVG },\n ].filter((option) => option.action);\n\n return (\n <Modal open={open} onClose={onClose}>\n <Box\n sx={{\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n transform: \"translate(-50%, -50%)\",\n bgcolor: \"background.paper\",\n boxShadow: 24,\n borderRadius: 2,\n p: 3,\n width: 360,\n }}\n >\n <Typography variant=\"h6\" fontWeight={600} mb={1}>\n Download {plotTitle}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\" mb={2}>\n Choose a file format to export your plot.\n </Typography>\n <Stack spacing={1.5} divider={<Divider flexItem />}>\n {downloadOptions.map((option) => (\n <Stack key={option.label} direction=\"row\" alignItems=\"center\" justifyContent=\"space-between\">\n <Typography variant=\"body1\">{option.label}</Typography>\n <IconButton color=\"primary\" onClick={option.action} aria-label={`Download ${option.label}`}>\n <DownloadIcon />\n </IconButton>\n </Stack>\n ))}\n </Stack>\n <Box mt={3} textAlign=\"right\">\n <Button onClick={onClose}>Close</Button>\n </Box>\n </Box>\n </Modal>\n );\n};\n\nexport default DownloadModal;\n"],"names":["DownloadModal","t0","$","_c","open","onClose","onDownloadSVG","onDownloadPNG","plotTitle","t1","label","action","t2","t3","filter","_temp","downloadOptions","t4","Symbol","for","position","top","left","transform","bgcolor","boxShadow","borderRadius","p","width","t5","Typography","t6","t7","Divider","t8","jsx","Stack","map","_temp2","t9","Box","Button","t10","jsxs","t11","Modal","option","option_0","IconButton","DownloadIcon"],"mappings":"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"}
@@ -1,212 +1,33 @@
1
- function p(t, c) {
2
- const e = [];
3
- t = t.replace(/,/g, "");
4
- let i, o, r;
5
- if (t.includes(":") && t.includes("-"))
6
- i = t.split(":")[0], o = parseInt(t.split(":")[1].split("-")[0]) || 0, r = parseInt(t.split(":")[1].split("-")[1]) || o + 1e3;
7
- else if (t.includes(" ")) {
8
- const [h, l, d] = t.split(" ");
9
- i = h, o = parseInt(l), r = parseInt(d);
1
+ import { j as c } from "./ui-components.es15.js";
2
+ import { c as f } from "./ui-components.es16.js";
3
+ import { useState as x } from "react";
4
+ import b from "./ui-components.es42.js";
5
+ function j(l) {
6
+ const e = f.c(9), {
7
+ value: t,
8
+ figures: n
9
+ } = l;
10
+ let r;
11
+ e[0] !== t ? (r = /* @__PURE__ */ new Set([t]), e[0] = t, e[1] = r) : r = e[1];
12
+ const [o, d] = x(r);
13
+ o.has(t) || d(/* @__PURE__ */ new Set([...o, t]));
14
+ let s;
15
+ if (e[2] !== n || e[3] !== o || e[4] !== t) {
16
+ let i;
17
+ e[6] !== o || e[7] !== t ? (i = (u, a) => {
18
+ const m = t === a, p = o.has(a);
19
+ return /* @__PURE__ */ c.jsx(b, { display: m ? "block" : "none", height: "100%", width: "100%", overflow: "auto", padding: 1, sx: {
20
+ border: "1px solid",
21
+ borderColor: "divider",
22
+ borderRadius: 1,
23
+ position: "relative"
24
+ }, children: p && u.component }, `figure-${a}`);
25
+ }, e[6] = o, e[7] = t, e[8] = i) : i = e[8], s = n.map(i), e[2] = n, e[3] = o, e[4] = t, e[5] = s;
10
26
  } else
11
- return e;
12
- const s = i.replace(/chrx$/, "chrX").replace(/chry$/, "chrY"), a = m[c][s];
13
- return r > o && a && r <= a && e.push({
14
- title: `${s}:${o.toLocaleString()}-${r.toLocaleString()}`,
15
- domain: {
16
- chromosome: s,
17
- start: o,
18
- end: r
19
- },
20
- description: `${s}:${o.toLocaleString()}-${r.toLocaleString()}`,
21
- type: "Coordinate"
22
- }), e;
23
- }
24
- function n(t, c, e) {
25
- return t ? t.slice(0, c).map((i) => ({
26
- title: e.getTitle(i),
27
- description: e.getDescription(i),
28
- domain: {
29
- chromosome: i.coordinates.chromosome,
30
- start: i.coordinates.start,
31
- end: i.coordinates.end
32
- },
33
- type: e.type
34
- })) : [];
35
- }
36
- function g(t, c) {
37
- return n(t, c, {
38
- getTitle: (e) => e.id,
39
- getDescription: (e) => `${e.coordinates.chromosome}:${e.coordinates.start}-${e.coordinates.end}`,
40
- type: "SNP"
41
- });
42
- }
43
- function $(t, c, e) {
44
- return n(t, c, {
45
- getTitle: (i) => i.name,
46
- getDescription: (i) => {
47
- let o = "";
48
- return i.versions.forEach((r, s) => o += "V" + r.version + " " + r.id + (s === i.versions.length - 1 ? "" : `
49
- `)), `${i.description}
50
- ${o}
51
- ${i.coordinates.chromosome}:${i.coordinates.start}-${i.coordinates.end}`;
52
- },
53
- type: "Gene"
54
- });
55
- }
56
- function u(t, c) {
57
- return t.slice(0, c).map((e) => ({
58
- title: e.disease_trait,
59
- description: `${e.author.replace("_", " ")} (${e.studyid.split("-")[1]})
60
- ${e.parent_terms.join(",")}
61
- ${e.has_enrichment_info ? "Biosample Enrichment" : ""}`,
62
- domain: void 0,
63
- id: e.studyid,
64
- type: "Study"
65
- }));
66
- }
67
- function y(t) {
68
- return t.map((c) => ({
69
- title: c.label,
70
- description: c.description ?? "",
71
- domain: void 0,
72
- id: c.value,
73
- type: "Ome"
74
- }));
75
- }
76
- function v(t, c) {
77
- return n(t, c, {
78
- getTitle: (e) => e.accession,
79
- getDescription: (e) => `${e.coordinates.chromosome}:${e.coordinates.start}-${e.coordinates.end}`,
80
- type: "iCRE"
81
- });
82
- }
83
- function f(t, c) {
84
- return n(t, c, {
85
- getTitle: (e) => e.accession,
86
- getDescription: (e) => `${e.coordinates.chromosome}:${e.coordinates.start}-${e.coordinates.end}${e.isiCRE ? ", iCRE" : ""}`,
87
- type: "cCRE"
88
- });
89
- }
90
- function R(t, c) {
91
- return t.filter((e) => e.input !== e.v4_match_or_intersecting).slice(0, c).map((e) => {
92
- const i = e.input_region, o = e.v4_match_or_intersecting;
93
- return {
94
- title: e.input,
95
- // !!! Do not change this format without also modifying SCREEN's /search page. This specific formatting is relied upon
96
- // At most two overlapping v4 cCREs are ever returned, so a single (non-global) comma replace is sufficient for the "a, b" rendering.
97
- description: `(Registry ${e.input_latest_previous_version})
98
- ${e.input_region}
99
- ${o ? `Intersects v4 cCRE${o.includes(",") ? "s" : ""}: ${o.replace(",", ", ")}` : "No intersecting v4 cCREs"}`,
100
- domain: {
101
- chromosome: i.split(":")[0],
102
- start: parseInt(i.split(":")[1].split("-")[0]),
103
- end: parseInt(i.split(":")[1].split("-")[1])
104
- },
105
- type: "Legacy cCRE"
106
- };
107
- });
108
- }
109
- const b = [{
110
- label: "Proteomics",
111
- value: "proteomics",
112
- keywords: ["protein", "mass spec"]
113
- }, {
114
- label: "WGS",
115
- value: "WGS",
116
- keywords: ["whole genome sequencing", "genome sequencing", "genomics"],
117
- description: "Whole Genome Sequencing"
118
- }, {
119
- label: "WGBS",
120
- value: "WGBS",
121
- keywords: ["whole genome bisulfite sequencing", "epigenomics", "methylation"],
122
- description: "Whole Genome Bisulfite Sequencing"
123
- }, {
124
- label: "ATAC",
125
- value: "ATAC",
126
- keywords: ["chromatin accessibility", "atac-seq"],
127
- description: "ATAC-seq"
128
- }, {
129
- label: "RNA",
130
- value: "RNA",
131
- keywords: ["rna-seq", "transcriptomics", "gene expression"],
132
- description: "RNA-seq"
133
- }, {
134
- label: "Metabolomics",
135
- value: "metabolomics"
136
- }, {
137
- label: "Lipidomics",
138
- value: "lipidomics"
139
- }, {
140
- label: "Metallomics",
141
- value: "metallomics"
142
- }, {
143
- label: "Exposomics",
144
- value: "exposomics"
145
- }], m = {
146
- GRCh38: {
147
- chr1: 248956422,
148
- chr2: 242193529,
149
- chr3: 198295559,
150
- chr4: 190214555,
151
- chr5: 181538259,
152
- chr6: 170805979,
153
- chr7: 159345973,
154
- chr8: 145138636,
155
- chr9: 138394717,
156
- chr10: 133797422,
157
- chr11: 135086622,
158
- chr12: 133275309,
159
- chr13: 114364328,
160
- chr14: 107043718,
161
- chr15: 101991189,
162
- chr16: 90338345,
163
- chr17: 83257441,
164
- chr18: 80373285,
165
- chr19: 58617616,
166
- chr20: 64444167,
167
- chr21: 46709983,
168
- chr22: 50818468,
169
- chrX: 156040895,
170
- chrY: 57227415
171
- },
172
- mm10: {
173
- chr1: 195471971,
174
- chr2: 182113224,
175
- chr3: 160039680,
176
- chr4: 156508116,
177
- chr5: 151834684,
178
- chr6: 149736546,
179
- chr7: 145441459,
180
- chr8: 129401213,
181
- chr9: 124595110,
182
- chr10: 130694993,
183
- chr11: 122082543,
184
- chr12: 120129022,
185
- chr13: 120421639,
186
- chr14: 124902244,
187
- chr15: 104043685,
188
- chr16: 98207768,
189
- chr17: 94987271,
190
- chr18: 90702639,
191
- chr19: 61431566,
192
- chrX: 171031299,
193
- chrY: 91744698
194
- }
195
- };
196
- function C(t) {
197
- const c = t.includes(" "), e = t.includes("-"), i = t.length >= 4 && /^[0-9xyXY]$/.test(t[3]);
198
- return (c || e) && t.startsWith("chr") && i;
27
+ s = e[5];
28
+ return s;
199
29
  }
200
30
  export {
201
- b as OmesList,
202
- f as ccreResultList,
203
- $ as geneResultList,
204
- p as getCoordinates,
205
- v as icreResultList,
206
- C as isDomain,
207
- R as legacyCcreResultList,
208
- y as omeResultsList,
209
- g as snpResultList,
210
- u as studyResultList
31
+ j as default
211
32
  };
212
33
  //# sourceMappingURL=ui-components.es55.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es55.js","sources":["../src/components/GenomeSearch/utils.ts"],"sourcesContent":["import { CCREResponse, GeneResponse, ICREResponse, LegacyCcreResponse, Result, ResultType, SnpResponse, StudyResponse } from \"./types\";\n\n/**\n * Get the coordinates from a string input.\n * @param input - The input string to search for coordinates\n * @param assembly - The assembly to search for coordinates\n * @returns An array of results with the coordinates\n */\nexport function getCoordinates(input: string, assembly: string): Result[] {\n const results: Result[] = [];\n input = input.replace(/,/g, \"\");\n\n let chromosome: string, start: number, end: number;\n\n if (input.includes(\":\") && input.includes(\"-\")) {\n chromosome = input.split(\":\")[0];\n start = parseInt(input.split(\":\")[1].split(\"-\")[0]) || 0;\n end = parseInt(input.split(\":\")[1].split(\"-\")[1]) || start + 1000;\n } else if (input.includes(\"\\t\")) {\n const [chr, startStr, endStr] = input.split(\"\\t\");\n chromosome = chr;\n start = parseInt(startStr);\n end = parseInt(endStr);\n } else {\n return results;\n }\n\n // Normalize chromosome name to use capital X and Y\n const normalizedChromosome = chromosome.replace(/chrx$/, \"chrX\").replace(/chry$/, \"chrY\");\n\n const chrLength = chromosomeLengths[assembly][normalizedChromosome];\n if (end > start && chrLength && end <= chrLength) {\n results.push({\n title: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n domain: {\n chromosome: normalizedChromosome,\n start: start,\n end: end,\n },\n description: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n type: \"Coordinate\",\n });\n }\n\n return results;\n}\n\n// Common interface for result formatting options\ninterface ResultFormatterOptions<T> {\n getTitle: (result: T) => string;\n getDescription: (result: T) => string;\n type: string;\n}\n\n// Generic formatter function\nfunction formatResults<T extends { coordinates: { chromosome: string; start: number; end: number } }>(\n results: T[] | null,\n limit: number,\n options: ResultFormatterOptions<T>\n): Result[] {\n if (!results) {\n return [];\n }\n return results.slice(0, limit).map((result) => ({\n title: options.getTitle(result),\n description: options.getDescription(result),\n domain: {\n chromosome: result.coordinates.chromosome,\n start: result.coordinates.start,\n end: result.coordinates.end,\n },\n type: options.type as ResultType,\n }));\n}\n\n// Specific formatters using the generic function\nexport function snpResultList(results: SnpResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.id,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"SNP\",\n });\n}\n\nexport function geneResultList(results: GeneResponse[], limit: number, showVersions: boolean): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.name,\n getDescription: (result) => {\n let idStr = \"\";\n result.versions.forEach(\n (x, i) => (idStr += \"V\" + x.version + \" \" + x.id + (i === result.versions.length - 1 ? \"\" : \"\\n\"))\n );\n return `${result.description}\\n${idStr}\\n${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`;\n },\n type: \"Gene\",\n });\n}\n\nexport function studyResultList(results: StudyResponse[], limit: number): Result[] {\n return results.slice(0, limit).map((result) => ({\n title: result.disease_trait,\n description: `${result.author.replace(\"_\", \" \")} (${result.studyid.split(\"-\")[1]})\\n${result.parent_terms.join(\",\")}\\n ${result.has_enrichment_info ? \"Biosample Enrichment\" : \"\"}`,\n domain: undefined,\n id: result.studyid,\n type: \"Study\",\n }));\n}\n\nexport function omeResultsList(results: OmeOption[]): Result[] {\n return results.map((ome) => ({\n title: ome.label,\n description: ome.description ?? \"\",\n domain: undefined,\n id: ome.value,\n type: \"Ome\",\n }));\n}\n\nexport function icreResultList(results: ICREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"iCRE\",\n });\n}\n\nexport function ccreResultList(results: CCREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${\n result.coordinates.end\n }${result.isiCRE ? \", iCRE\" : \"\"}`,\n type: \"cCRE\",\n });\n}\n\nexport function legacyCcreResultList(results: LegacyCcreResponse[], limit: number): Result[] {\n return results\n .filter((result) => result.input !== result.v4_match_or_intersecting) //filter v4 cCREs\n .slice(0, limit)\n .map((result) => {\n const region = result.input_region;\n const overlapping = result.v4_match_or_intersecting\n return {\n title: result.input,\n // !!! Do not change this format without also modifying SCREEN's /search page. This specific formatting is relied upon\n // At most two overlapping v4 cCREs are ever returned, so a single (non-global) comma replace is sufficient for the \"a, b\" rendering.\n description: `(Registry ${result.input_latest_previous_version})\\n${result.input_region}\\n${overlapping ? `Intersects v4 cCRE${overlapping.includes(\",\") ? \"s\" : \"\"}: ${overlapping.replace(\",\", \", \")}` : \"No intersecting v4 cCREs\"}`,\n domain: {\n chromosome: region.split(\":\")[0],\n start: parseInt(region.split(\":\")[1].split(\"-\")[0]),\n end: parseInt(region.split(\":\")[1].split(\"-\")[1]),\n },\n type: \"Legacy cCRE\",\n };\n });\n}\n\nexport interface OmeOption {\n label: string;\n value: string;\n keywords?: string[];\n description?: string;\n}\n//allows the user to search more freely and get the result they are looking for\n//will look at label as well as keywords\nexport const OmesList: OmeOption[] = [\n {\n label: \"Proteomics\",\n value: \"proteomics\",\n keywords: [\"protein\", \"mass spec\"],\n },\n {\n label: \"WGS\",\n value: \"WGS\",\n keywords: [\"whole genome sequencing\", \"genome sequencing\", \"genomics\"],\n description: \"Whole Genome Sequencing\"\n },\n {\n label: \"WGBS\",\n value: \"WGBS\",\n keywords: [\"whole genome bisulfite sequencing\", \"epigenomics\", \"methylation\"],\n description: \"Whole Genome Bisulfite Sequencing\"\n },\n {\n label: \"ATAC\",\n value: \"ATAC\",\n keywords: [\"chromatin accessibility\", \"atac-seq\"],\n description: \"ATAC-seq\"\n },\n {\n label: \"RNA\",\n value: \"RNA\",\n keywords: [\"rna-seq\", \"transcriptomics\", \"gene expression\"],\n description: \"RNA-seq\"\n },\n {\n label: \"Metabolomics\",\n value: \"metabolomics\",\n },\n {\n label: \"Lipidomics\",\n value: \"lipidomics\",\n },\n {\n label: \"Metallomics\",\n value: \"metallomics\",\n },\n {\n label: \"Exposomics\",\n value: \"exposomics\",\n },\n];\n\n// Object to store chromosome lengths for GRCh38 and mm10\nconst chromosomeLengths: { [key: string]: { [key: string]: number } } = {\n GRCh38: {\n chr1: 248956422,\n chr2: 242193529,\n chr3: 198295559,\n chr4: 190214555,\n chr5: 181538259,\n chr6: 170805979,\n chr7: 159345973,\n chr8: 145138636,\n chr9: 138394717,\n chr10: 133797422,\n chr11: 135086622,\n chr12: 133275309,\n chr13: 114364328,\n chr14: 107043718,\n chr15: 101991189,\n chr16: 90338345,\n chr17: 83257441,\n chr18: 80373285,\n chr19: 58617616,\n chr20: 64444167,\n chr21: 46709983,\n chr22: 50818468,\n chrX: 156040895,\n chrY: 57227415,\n },\n mm10: {\n chr1: 195471971,\n chr2: 182113224,\n chr3: 160039680,\n chr4: 156508116,\n chr5: 151834684,\n chr6: 149736546,\n chr7: 145441459,\n chr8: 129401213,\n chr9: 124595110,\n chr10: 130694993,\n chr11: 122082543,\n chr12: 120129022,\n chr13: 120421639,\n chr14: 124902244,\n chr15: 104043685,\n chr16: 98207768,\n chr17: 94987271,\n chr18: 90702639,\n chr19: 61431566,\n chrX: 171031299,\n chrY: 91744698,\n },\n};\n\nexport function isDomain(input: string) {\n const hasTabs = input.includes(\"\\t\");\n const hasHyphens = input.includes(\"-\");\n const hasChromosomeNumber = input.length >= 4 && /^[0-9xyXY]$/.test(input[3]);\n return (hasTabs || hasHyphens) && input.startsWith(\"chr\") && hasChromosomeNumber;\n}"],"names":["getCoordinates","input","assembly","results","replace","chromosome","start","end","includes","split","parseInt","chr","startStr","endStr","normalizedChromosome","chrLength","chromosomeLengths","push","title","toLocaleString","domain","description","type","formatResults","limit","options","slice","map","result","getTitle","getDescription","coordinates","snpResultList","id","geneResultList","showVersions","name","idStr","versions","forEach","x","i","version","length","studyResultList","disease_trait","author","studyid","parent_terms","join","has_enrichment_info","undefined","omeResultsList","ome","label","value","icreResultList","accession","ccreResultList","isiCRE","legacyCcreResultList","filter","v4_match_or_intersecting","region","input_region","overlapping","input_latest_previous_version","OmesList","keywords","GRCh38","chr1","chr2","chr3","chr4","chr5","chr6","chr7","chr8","chr9","chr10","chr11","chr12","chr13","chr14","chr15","chr16","chr17","chr18","chr19","chr20","chr21","chr22","chrX","chrY","mm10","isDomain","hasTabs","hasHyphens","hasChromosomeNumber","test","startsWith"],"mappings":"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"}
1
+ {"version":3,"file":"ui-components.es55.js","sources":["../src/components/TwoPaneLayout/FigurePanel.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport Box from \"@mui/material/Box\";\n\ntype Figure = {\n title: string;\n component: React.ReactNode;\n};\n\ntype FigurePanelProps = {\n value: number;\n figures: Figure[];\n};\n\nexport default function FigurePanel({ value, figures }: FigurePanelProps) {\n const [mountedTabs, setMountedTabs] = useState<Set<number>>(new Set([value]));\n\n if (!mountedTabs.has(value)) {\n setMountedTabs(new Set([...mountedTabs, value]));\n }\n\n return figures.map((Figure, i) => {\n const isActive = value === i;\n const isMounted = mountedTabs.has(i);\n\n return (\n <Box\n key={`figure-${i}`}\n display={isActive ? \"block\" : \"none\"}\n height=\"100%\"\n width={\"100%\"}\n overflow={\"auto\"}\n padding={1}\n sx={{ border: \"1px solid\", borderColor: \"divider\", borderRadius: 1, position: \"relative\" }}\n >\n {isMounted && Figure.component}\n </Box>\n );\n });\n}\n"],"names":["FigurePanel","t0","$","_c","value","figures","t1","Set","mountedTabs","setMountedTabs","useState","has","t2","t3","Figure","i","isActive","isMounted","jsx","Box","border","borderColor","borderRadius","position","component","map"],"mappings":";;;;AAaA,SAAeA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAAqB;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAAAJ;AAAoC,MAAAK;AAAA,EAAAJ,SAAAE,KACVE,wBAAIC,IAAI,CAACH,CAAK,CAAC,GAACF,OAAAE,GAAAF,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAA5E,QAAA,CAAAM,GAAAC,CAAA,IAAsCC,EAAsBJ,CAAgB;AAE5E,EAAKE,EAAWG,IAAKP,CAAK,KACxBK,sBAAmBF,IAAI,CAAA,GAAIC,GAAaJ,CAAK,CAAC,CAAC;AAChD,MAAAQ;AAAA,MAAAV,EAAA,CAAA,MAAAG,KAAAH,SAAAM,KAAAN,EAAA,CAAA,MAAAE,GAAA;AAAA,QAAAS;AAAA,IAAAX,EAAA,CAAA,MAAAM,KAAAN,SAAAE,KAEkBS,IAAAA,CAAAC,GAAAC,MAAA;AACjB,YAAAC,IAAiBZ,MAAUW,GAC3BE,IAAkBT,EAAWG,IAAKI,CAAC;AAAE,aAGnCG,gBAAAA,EAAAA,IAACC,GAAA,EAEU,SAAAH,IAAA,UAAA,QACF,QAAA,QACA,OAAA,QACG,UAAA,QACD,SAAA,GACL,IAAA;AAAA,QAAAI,QAAU;AAAA,QAAWC,aAAe;AAAA,QAASC,cAAgB;AAAA,QAACC,UAAY;AAAA,MAAA,GAE7EN,UAAAA,KAAaH,EAAMU,UAAAA,aARLT,CAAC,EASlB;AAAA,IAAM,GAETb,OAAAM,GAAAN,OAAAE,GAAAF,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GAjBMU,IAAAP,EAAOoB,IAAKZ,CAiBlB,GAACX,OAAAG,GAAAH,OAAAM,GAAAN,OAAAE,GAAAF,OAAAU;AAAAA,EAAA;AAAAA,IAAAA,IAAAV,EAAA,CAAA;AAAA,SAjBKU;AAiBL;"}