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

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 (754) hide show
  1. package/dist/src/components/BiosampleTable/columns.d.ts.map +1 -1
  2. package/dist/src/components/BiosampleTable/types.d.ts +1 -0
  3. package/dist/src/components/BiosampleTable/types.d.ts.map +1 -1
  4. package/dist/src/components/BiosampleTable/useEncodeBiosampleData.d.ts.map +1 -1
  5. package/dist/src/components/GenomeSearch/queries.d.ts +1 -1
  6. package/dist/src/components/GenomeSearch/queries.d.ts.map +1 -1
  7. package/dist/ui-components.es10.js +97 -90
  8. package/dist/ui-components.es10.js.map +1 -1
  9. package/dist/ui-components.es100.js +8 -7
  10. package/dist/ui-components.es100.js.map +1 -1
  11. package/dist/ui-components.es101.js +4 -10
  12. package/dist/ui-components.es101.js.map +1 -1
  13. package/dist/ui-components.es102.js +7 -3
  14. package/dist/ui-components.es102.js.map +1 -1
  15. package/dist/ui-components.es103.js +6 -2
  16. package/dist/ui-components.es103.js.map +1 -1
  17. package/dist/ui-components.es104.js +30 -3
  18. package/dist/ui-components.es104.js.map +1 -1
  19. package/dist/ui-components.es105.js +4 -32
  20. package/dist/ui-components.es105.js.map +1 -1
  21. package/dist/ui-components.es106.js +8 -15
  22. package/dist/ui-components.es106.js.map +1 -1
  23. package/dist/ui-components.es107.js +4 -58
  24. package/dist/ui-components.es107.js.map +1 -1
  25. package/dist/ui-components.es108.js +7 -7
  26. package/dist/ui-components.es108.js.map +1 -1
  27. package/dist/ui-components.es109.js +7 -449
  28. package/dist/ui-components.es109.js.map +1 -1
  29. package/dist/ui-components.es11.js +19 -15
  30. package/dist/ui-components.es11.js.map +1 -1
  31. package/dist/ui-components.es110.js +6 -3
  32. package/dist/ui-components.es110.js.map +1 -1
  33. package/dist/ui-components.es111.js +7 -3
  34. package/dist/ui-components.es111.js.map +1 -1
  35. package/dist/ui-components.es112.js +6 -14
  36. package/dist/ui-components.es112.js.map +1 -1
  37. package/dist/ui-components.es113.js +7 -42
  38. package/dist/ui-components.es113.js.map +1 -1
  39. package/dist/ui-components.es114.js +47 -7
  40. package/dist/ui-components.es114.js.map +1 -1
  41. package/dist/ui-components.es115.js +197 -23
  42. package/dist/ui-components.es115.js.map +1 -1
  43. package/dist/ui-components.es116.js +18 -3
  44. package/dist/ui-components.es116.js.map +1 -1
  45. package/dist/ui-components.es117.js +280 -7
  46. package/dist/ui-components.es117.js.map +1 -1
  47. package/dist/ui-components.es118.js +7 -5
  48. package/dist/ui-components.es118.js.map +1 -1
  49. package/dist/ui-components.es119.js +3 -4
  50. package/dist/ui-components.es119.js.map +1 -1
  51. package/dist/ui-components.es12.js +2 -2
  52. package/dist/ui-components.es120.js +5 -6
  53. package/dist/ui-components.es120.js.map +1 -1
  54. package/dist/ui-components.es121.js +19 -28
  55. package/dist/ui-components.es121.js.map +1 -1
  56. package/dist/ui-components.es122.js +10 -19
  57. package/dist/ui-components.es122.js.map +1 -1
  58. package/dist/ui-components.es123.js +6 -5
  59. package/dist/ui-components.es123.js.map +1 -1
  60. package/dist/ui-components.es124.js +25 -4
  61. package/dist/ui-components.es124.js.map +1 -1
  62. package/dist/ui-components.es125.js +161 -4
  63. package/dist/ui-components.es125.js.map +1 -1
  64. package/dist/ui-components.es126.js +3 -7
  65. package/dist/ui-components.es126.js.map +1 -1
  66. package/dist/ui-components.es127.js +4 -6
  67. package/dist/ui-components.es127.js.map +1 -1
  68. package/dist/ui-components.es128.js +3 -48
  69. package/dist/ui-components.es128.js.map +1 -1
  70. package/dist/ui-components.es129.js +20 -17
  71. package/dist/ui-components.es129.js.map +1 -1
  72. package/dist/ui-components.es13.js +3 -3
  73. package/dist/ui-components.es130.js +6 -413
  74. package/dist/ui-components.es130.js.map +1 -1
  75. package/dist/ui-components.es131.js +8 -498
  76. package/dist/ui-components.es131.js.map +1 -1
  77. package/dist/ui-components.es132.js +266 -265
  78. package/dist/ui-components.es132.js.map +1 -1
  79. package/dist/ui-components.es133.js +15 -272
  80. package/dist/ui-components.es133.js.map +1 -1
  81. package/dist/ui-components.es134.js +8 -177
  82. package/dist/ui-components.es134.js.map +1 -1
  83. package/dist/ui-components.es135.js +236 -241
  84. package/dist/ui-components.es135.js.map +1 -1
  85. package/dist/ui-components.es136.js +3 -238
  86. package/dist/ui-components.es136.js.map +1 -1
  87. package/dist/ui-components.es137.js +8 -3
  88. package/dist/ui-components.es137.js.map +1 -1
  89. package/dist/ui-components.es138.js +4 -7
  90. package/dist/ui-components.es138.js.map +1 -1
  91. package/dist/ui-components.es139.js +4 -7
  92. package/dist/ui-components.es139.js.map +1 -1
  93. package/dist/ui-components.es140.js +36 -6
  94. package/dist/ui-components.es140.js.map +1 -1
  95. package/dist/ui-components.es141.js +2 -8
  96. package/dist/ui-components.es141.js.map +1 -1
  97. package/dist/ui-components.es142.js +3 -8
  98. package/dist/ui-components.es142.js.map +1 -1
  99. package/dist/ui-components.es143.js +30 -196
  100. package/dist/ui-components.es143.js.map +1 -1
  101. package/dist/ui-components.es144.js +15 -8
  102. package/dist/ui-components.es144.js.map +1 -1
  103. package/dist/ui-components.es145.js +58 -4
  104. package/dist/ui-components.es145.js.map +1 -1
  105. package/dist/ui-components.es146.js +6 -5
  106. package/dist/ui-components.es146.js.map +1 -1
  107. package/dist/ui-components.es147.js +7 -11
  108. package/dist/ui-components.es147.js.map +1 -1
  109. package/dist/ui-components.es148.js +5 -6
  110. package/dist/ui-components.es148.js.map +1 -1
  111. package/dist/ui-components.es149.js +6 -24
  112. package/dist/ui-components.es149.js.map +1 -1
  113. package/dist/ui-components.es150.js +265 -156
  114. package/dist/ui-components.es150.js.map +1 -1
  115. package/dist/ui-components.es151.js +174 -4
  116. package/dist/ui-components.es151.js.map +1 -1
  117. package/dist/ui-components.es152.js +108 -20
  118. package/dist/ui-components.es152.js.map +1 -1
  119. package/dist/ui-components.es153.js +64 -3
  120. package/dist/ui-components.es153.js.map +1 -1
  121. package/dist/ui-components.es154.js +45 -7
  122. package/dist/ui-components.es154.js.map +1 -1
  123. package/dist/ui-components.es155.js +3 -4
  124. package/dist/ui-components.es155.js.map +1 -1
  125. package/dist/ui-components.es156.js +8 -4
  126. package/dist/ui-components.es156.js.map +1 -1
  127. package/dist/ui-components.es157.js +154 -35
  128. package/dist/ui-components.es157.js.map +1 -1
  129. package/dist/ui-components.es158.js +4 -344
  130. package/dist/ui-components.es158.js.map +1 -1
  131. package/dist/ui-components.es159.js +38 -274
  132. package/dist/ui-components.es159.js.map +1 -1
  133. package/dist/ui-components.es160.js +26 -7
  134. package/dist/ui-components.es160.js.map +1 -1
  135. package/dist/ui-components.es161.js +8 -6
  136. package/dist/ui-components.es161.js.map +1 -1
  137. package/dist/ui-components.es162.js +28 -7
  138. package/dist/ui-components.es162.js.map +1 -1
  139. package/dist/ui-components.es163.js +123 -6
  140. package/dist/ui-components.es163.js.map +1 -1
  141. package/dist/ui-components.es164.js +13 -311
  142. package/dist/ui-components.es164.js.map +1 -1
  143. package/dist/ui-components.es165.js +6 -6
  144. package/dist/ui-components.es165.js.map +1 -1
  145. package/dist/ui-components.es166.js +294 -6
  146. package/dist/ui-components.es166.js.map +1 -1
  147. package/dist/ui-components.es167.js +94 -6
  148. package/dist/ui-components.es167.js.map +1 -1
  149. package/dist/ui-components.es168.js +9 -7
  150. package/dist/ui-components.es168.js.map +1 -1
  151. package/dist/ui-components.es169.js +81 -59
  152. package/dist/ui-components.es169.js.map +1 -1
  153. package/dist/ui-components.es17.js +20 -41
  154. package/dist/ui-components.es17.js.map +1 -1
  155. package/dist/ui-components.es170.js +77 -7
  156. package/dist/ui-components.es170.js.map +1 -1
  157. package/dist/ui-components.es171.js +15 -124
  158. package/dist/ui-components.es171.js.map +1 -1
  159. package/dist/ui-components.es172.js +2 -5
  160. package/dist/ui-components.es172.js.map +1 -1
  161. package/dist/ui-components.es173.js +7 -5
  162. package/dist/ui-components.es173.js.map +1 -1
  163. package/dist/ui-components.es174.js +7 -3
  164. package/dist/ui-components.es174.js.map +1 -1
  165. package/dist/ui-components.es175.js +24 -100
  166. package/dist/ui-components.es175.js.map +1 -1
  167. package/dist/ui-components.es176.js +28 -6
  168. package/dist/ui-components.es176.js.map +1 -1
  169. package/dist/ui-components.es177.js +11 -63
  170. package/dist/ui-components.es177.js.map +1 -1
  171. package/dist/ui-components.es178.js +4 -177
  172. package/dist/ui-components.es178.js.map +1 -1
  173. package/dist/ui-components.es179.js +158 -153
  174. package/dist/ui-components.es179.js.map +1 -1
  175. package/dist/ui-components.es18.js +130 -6
  176. package/dist/ui-components.es18.js.map +1 -1
  177. package/dist/ui-components.es180.js +189 -23
  178. package/dist/ui-components.es180.js.map +1 -1
  179. package/dist/ui-components.es181.js +9 -6
  180. package/dist/ui-components.es181.js.map +1 -1
  181. package/dist/ui-components.es182.js +22 -6
  182. package/dist/ui-components.es182.js.map +1 -1
  183. package/dist/ui-components.es183.js +125 -7
  184. package/dist/ui-components.es183.js.map +1 -1
  185. package/dist/ui-components.es184.js +4 -25
  186. package/dist/ui-components.es184.js.map +1 -1
  187. package/dist/ui-components.es185.js +4 -28
  188. package/dist/ui-components.es185.js.map +1 -1
  189. package/dist/ui-components.es186.js +3 -11
  190. package/dist/ui-components.es186.js.map +1 -1
  191. package/dist/ui-components.es187.js +101 -4
  192. package/dist/ui-components.es187.js.map +1 -1
  193. package/dist/ui-components.es188.js +6 -196
  194. package/dist/ui-components.es188.js.map +1 -1
  195. package/dist/ui-components.es189.js +42 -167
  196. package/dist/ui-components.es189.js.map +1 -1
  197. package/dist/ui-components.es19.js +36 -6
  198. package/dist/ui-components.es19.js.map +1 -1
  199. package/dist/ui-components.es190.js +177 -9
  200. package/dist/ui-components.es190.js.map +1 -1
  201. package/dist/ui-components.es191.js +192 -4
  202. package/dist/ui-components.es191.js.map +1 -1
  203. package/dist/ui-components.es192.js +6 -269
  204. package/dist/ui-components.es192.js.map +1 -1
  205. package/dist/ui-components.es193.js +106 -169
  206. package/dist/ui-components.es193.js.map +1 -1
  207. package/dist/ui-components.es194.js +15 -108
  208. package/dist/ui-components.es194.js.map +1 -1
  209. package/dist/ui-components.es195.js +443 -57
  210. package/dist/ui-components.es195.js.map +1 -1
  211. package/dist/ui-components.es196.js +3 -45
  212. package/dist/ui-components.es196.js.map +1 -1
  213. package/dist/ui-components.es197.js +3 -3
  214. package/dist/ui-components.es197.js.map +1 -1
  215. package/dist/ui-components.es198.js +42 -7
  216. package/dist/ui-components.es198.js.map +1 -1
  217. package/dist/ui-components.es199.js +7 -155
  218. package/dist/ui-components.es199.js.map +1 -1
  219. package/dist/ui-components.es2.js +29 -29
  220. package/dist/ui-components.es20.js +23 -6
  221. package/dist/ui-components.es20.js.map +1 -1
  222. package/dist/ui-components.es200.js +23 -4
  223. package/dist/ui-components.es200.js.map +1 -1
  224. package/dist/ui-components.es201.js +310 -38
  225. package/dist/ui-components.es201.js.map +1 -1
  226. package/dist/ui-components.es202.js +6 -27
  227. package/dist/ui-components.es202.js.map +1 -1
  228. package/dist/ui-components.es203.js +6 -8
  229. package/dist/ui-components.es203.js.map +1 -1
  230. package/dist/ui-components.es204.js +6 -29
  231. package/dist/ui-components.es204.js.map +1 -1
  232. package/dist/ui-components.es205.js +7 -123
  233. package/dist/ui-components.es205.js.map +1 -1
  234. package/dist/ui-components.es206.js +59 -12
  235. package/dist/ui-components.es206.js.map +1 -1
  236. package/dist/ui-components.es207.js +6 -5
  237. package/dist/ui-components.es207.js.map +1 -1
  238. package/dist/ui-components.es208.js +412 -293
  239. package/dist/ui-components.es208.js.map +1 -1
  240. package/dist/ui-components.es209.js +495 -91
  241. package/dist/ui-components.es209.js.map +1 -1
  242. package/dist/ui-components.es21.js +253 -6
  243. package/dist/ui-components.es21.js.map +1 -1
  244. package/dist/ui-components.es210.js +342 -8
  245. package/dist/ui-components.es210.js.map +1 -1
  246. package/dist/ui-components.es211.js +271 -81
  247. package/dist/ui-components.es211.js.map +1 -1
  248. package/dist/ui-components.es212.js +173 -74
  249. package/dist/ui-components.es212.js.map +1 -1
  250. package/dist/ui-components.es213.js +237 -16
  251. package/dist/ui-components.es213.js.map +1 -1
  252. package/dist/ui-components.es214.js +15 -2
  253. package/dist/ui-components.es214.js.map +1 -1
  254. package/dist/ui-components.es215.js +2 -15
  255. package/dist/ui-components.es215.js.map +1 -1
  256. package/dist/ui-components.es216.js +8 -2
  257. package/dist/ui-components.es216.js.map +1 -1
  258. package/dist/ui-components.es217.js +326 -7
  259. package/dist/ui-components.es217.js.map +1 -1
  260. package/dist/ui-components.es218.js +47 -324
  261. package/dist/ui-components.es218.js.map +1 -1
  262. package/dist/ui-components.es219.js +34 -49
  263. package/dist/ui-components.es219.js.map +1 -1
  264. package/dist/ui-components.es22.js +39 -6
  265. package/dist/ui-components.es22.js.map +1 -1
  266. package/dist/ui-components.es220.js +23 -2
  267. package/dist/ui-components.es220.js.map +1 -1
  268. package/dist/ui-components.es221.js +9 -32
  269. package/dist/ui-components.es221.js.map +1 -1
  270. package/dist/ui-components.es222.js +2 -23
  271. package/dist/ui-components.es222.js.map +1 -1
  272. package/dist/ui-components.es223.js +2 -12
  273. package/dist/ui-components.es223.js.map +1 -1
  274. package/dist/ui-components.es224.js +4 -2
  275. package/dist/ui-components.es224.js.map +1 -1
  276. package/dist/ui-components.es225.js +45 -3
  277. package/dist/ui-components.es225.js.map +1 -1
  278. package/dist/ui-components.es226.js +10 -3
  279. package/dist/ui-components.es226.js.map +1 -1
  280. package/dist/ui-components.es227.js +2 -9
  281. package/dist/ui-components.es227.js.map +1 -1
  282. package/dist/ui-components.es228.js +2 -12
  283. package/dist/ui-components.es228.js.map +1 -1
  284. package/dist/ui-components.es229.js +23 -3
  285. package/dist/ui-components.es229.js.map +1 -1
  286. package/dist/ui-components.es23.js +41 -6
  287. package/dist/ui-components.es23.js.map +1 -1
  288. package/dist/ui-components.es230.js +115 -43
  289. package/dist/ui-components.es230.js.map +1 -1
  290. package/dist/ui-components.es231.js +58 -9
  291. package/dist/ui-components.es231.js.map +1 -1
  292. package/dist/ui-components.es232.js +4 -2
  293. package/dist/ui-components.es232.js.map +1 -1
  294. package/dist/ui-components.es233.js +15 -2
  295. package/dist/ui-components.es233.js.map +1 -1
  296. package/dist/ui-components.es234.js +39 -2
  297. package/dist/ui-components.es234.js.map +1 -1
  298. package/dist/ui-components.es235.js +5 -7
  299. package/dist/ui-components.es235.js.map +1 -1
  300. package/dist/ui-components.es236.js +17 -7
  301. package/dist/ui-components.es236.js.map +1 -1
  302. package/dist/ui-components.es237.js +9 -2
  303. package/dist/ui-components.es237.js.map +1 -1
  304. package/dist/ui-components.es238.js +7 -1
  305. package/dist/ui-components.es238.js.map +1 -1
  306. package/dist/ui-components.es239.js +8 -25
  307. package/dist/ui-components.es239.js.map +1 -1
  308. package/dist/ui-components.es24.js +5 -5
  309. package/dist/ui-components.es24.js.map +1 -1
  310. package/dist/ui-components.es240.js +8 -35
  311. package/dist/ui-components.es240.js.map +1 -1
  312. package/dist/ui-components.es241.js +8 -8
  313. package/dist/ui-components.es241.js.map +1 -1
  314. package/dist/ui-components.es242.js +9 -3
  315. package/dist/ui-components.es242.js.map +1 -1
  316. package/dist/ui-components.es243.js +4 -6
  317. package/dist/ui-components.es243.js.map +1 -1
  318. package/dist/ui-components.es244.js +11 -477
  319. package/dist/ui-components.es244.js.map +1 -1
  320. package/dist/ui-components.es245.js +40 -166
  321. package/dist/ui-components.es245.js.map +1 -1
  322. package/dist/ui-components.es246.js +2 -232
  323. package/dist/ui-components.es246.js.map +1 -1
  324. package/dist/ui-components.es247.js +2 -2
  325. package/dist/ui-components.es248.js +7 -2
  326. package/dist/ui-components.es248.js.map +1 -1
  327. package/dist/ui-components.es249.js +8 -9
  328. package/dist/ui-components.es249.js.map +1 -1
  329. package/dist/ui-components.es25.js +6 -255
  330. package/dist/ui-components.es25.js.map +1 -1
  331. package/dist/ui-components.es250.js +4 -2
  332. package/dist/ui-components.es250.js.map +1 -1
  333. package/dist/ui-components.es251.js +3 -2
  334. package/dist/ui-components.es251.js.map +1 -1
  335. package/dist/ui-components.es252.js +7 -4
  336. package/dist/ui-components.es252.js.map +1 -1
  337. package/dist/ui-components.es253.js +476 -7
  338. package/dist/ui-components.es253.js.map +1 -1
  339. package/dist/ui-components.es254.js +168 -3
  340. package/dist/ui-components.es254.js.map +1 -1
  341. package/dist/ui-components.es255.js +25 -3
  342. package/dist/ui-components.es255.js.map +1 -1
  343. package/dist/ui-components.es256.js +34 -7
  344. package/dist/ui-components.es256.js.map +1 -1
  345. package/dist/ui-components.es257.js +7 -7
  346. package/dist/ui-components.es257.js.map +1 -1
  347. package/dist/ui-components.es258.js +7 -59
  348. package/dist/ui-components.es258.js.map +1 -1
  349. package/dist/ui-components.es259.js +4 -5
  350. package/dist/ui-components.es259.js.map +1 -1
  351. package/dist/ui-components.es26.js +6 -726
  352. package/dist/ui-components.es26.js.map +1 -1
  353. package/dist/ui-components.es260.js +8 -17
  354. package/dist/ui-components.es260.js.map +1 -1
  355. package/dist/ui-components.es261.js +3 -9
  356. package/dist/ui-components.es261.js.map +1 -1
  357. package/dist/ui-components.es262.js +3 -8
  358. package/dist/ui-components.es262.js.map +1 -1
  359. package/dist/ui-components.es263.js +232 -8
  360. package/dist/ui-components.es263.js.map +1 -1
  361. package/dist/ui-components.es264.js +2 -8
  362. package/dist/ui-components.es264.js.map +1 -1
  363. package/dist/ui-components.es265.js +2 -8
  364. package/dist/ui-components.es265.js.map +1 -1
  365. package/dist/ui-components.es266.js +10 -9
  366. package/dist/ui-components.es266.js.map +1 -1
  367. package/dist/ui-components.es267.js +2 -5
  368. package/dist/ui-components.es267.js.map +1 -1
  369. package/dist/ui-components.es268.js +2 -11
  370. package/dist/ui-components.es268.js.map +1 -1
  371. package/dist/ui-components.es269.js +2 -42
  372. package/dist/ui-components.es269.js.map +1 -1
  373. package/dist/ui-components.es27.js +6 -660
  374. package/dist/ui-components.es27.js.map +1 -1
  375. package/dist/ui-components.es270.js +7 -23
  376. package/dist/ui-components.es270.js.map +1 -1
  377. package/dist/ui-components.es271.js +6 -117
  378. package/dist/ui-components.es271.js.map +1 -1
  379. package/dist/ui-components.es272.js +4 -4
  380. package/dist/ui-components.es272.js.map +1 -1
  381. package/dist/ui-components.es273.js +3 -14
  382. package/dist/ui-components.es273.js.map +1 -1
  383. package/dist/ui-components.es274.js +12 -39
  384. package/dist/ui-components.es274.js.map +1 -1
  385. package/dist/ui-components.es28.js +6 -75
  386. package/dist/ui-components.es28.js.map +1 -1
  387. package/dist/ui-components.es282.js +29 -145
  388. package/dist/ui-components.es282.js.map +1 -1
  389. package/dist/ui-components.es283.js +6 -11
  390. package/dist/ui-components.es283.js.map +1 -1
  391. package/dist/ui-components.es284.js +6 -3
  392. package/dist/ui-components.es284.js.map +1 -1
  393. package/dist/ui-components.es285.js +6 -16
  394. package/dist/ui-components.es285.js.map +1 -1
  395. package/dist/ui-components.es286.js +6 -19
  396. package/dist/ui-components.es286.js.map +1 -1
  397. package/dist/ui-components.es287.js +6 -30
  398. package/dist/ui-components.es287.js.map +1 -1
  399. package/dist/ui-components.es288.js +520 -11
  400. package/dist/ui-components.es288.js.map +1 -1
  401. package/dist/ui-components.es289.js +6 -12
  402. package/dist/ui-components.es289.js.map +1 -1
  403. package/dist/ui-components.es29.js +6 -112
  404. package/dist/ui-components.es29.js.map +1 -1
  405. package/dist/ui-components.es290.js +202 -117
  406. package/dist/ui-components.es290.js.map +1 -1
  407. package/dist/ui-components.es291.js +6 -10
  408. package/dist/ui-components.es291.js.map +1 -1
  409. package/dist/ui-components.es292.js +243 -7
  410. package/dist/ui-components.es292.js.map +1 -1
  411. package/dist/ui-components.es293.js +8 -171
  412. package/dist/ui-components.es293.js.map +1 -1
  413. package/dist/ui-components.es294.js +48 -7
  414. package/dist/ui-components.es294.js.map +1 -1
  415. package/dist/ui-components.es295.js +3 -8
  416. package/dist/ui-components.es295.js.map +1 -1
  417. package/dist/ui-components.es296.js +6 -520
  418. package/dist/ui-components.es296.js.map +1 -1
  419. package/dist/ui-components.es297.js +7 -6
  420. package/dist/ui-components.es297.js.map +1 -1
  421. package/dist/ui-components.es298.js +42 -233
  422. package/dist/ui-components.es298.js.map +1 -1
  423. package/dist/ui-components.es299.js +3 -8
  424. package/dist/ui-components.es299.js.map +1 -1
  425. package/dist/ui-components.es3.js +1 -1
  426. package/dist/ui-components.es30.js +6 -240
  427. package/dist/ui-components.es30.js.map +1 -1
  428. package/dist/ui-components.es300.js +7 -6
  429. package/dist/ui-components.es300.js.map +1 -1
  430. package/dist/ui-components.es301.js +41 -6
  431. package/dist/ui-components.es301.js.map +1 -1
  432. package/dist/ui-components.es302.js +65 -6
  433. package/dist/ui-components.es302.js.map +1 -1
  434. package/dist/ui-components.es303.js +20 -6
  435. package/dist/ui-components.es303.js.map +1 -1
  436. package/dist/ui-components.es304.js +51 -6
  437. package/dist/ui-components.es304.js.map +1 -1
  438. package/dist/ui-components.es305.js +6 -6
  439. package/dist/ui-components.es305.js.map +1 -1
  440. package/dist/ui-components.es306.js +48 -6
  441. package/dist/ui-components.es306.js.map +1 -1
  442. package/dist/ui-components.es307.js +30 -234
  443. package/dist/ui-components.es307.js.map +1 -1
  444. package/dist/ui-components.es308.js +19 -7
  445. package/dist/ui-components.es308.js.map +1 -1
  446. package/dist/ui-components.es309.js +7 -48
  447. package/dist/ui-components.es309.js.map +1 -1
  448. package/dist/ui-components.es31.js +202 -143
  449. package/dist/ui-components.es31.js.map +1 -1
  450. package/dist/ui-components.es310.js +76 -3
  451. package/dist/ui-components.es310.js.map +1 -1
  452. package/dist/ui-components.es311.js +23 -6
  453. package/dist/ui-components.es311.js.map +1 -1
  454. package/dist/ui-components.es312.js +60 -3
  455. package/dist/ui-components.es312.js.map +1 -1
  456. package/dist/ui-components.es313.js +4 -6
  457. package/dist/ui-components.es313.js.map +1 -1
  458. package/dist/ui-components.es314.js +25 -168
  459. package/dist/ui-components.es314.js.map +1 -1
  460. package/dist/ui-components.es315.js +3 -7
  461. package/dist/ui-components.es315.js.map +1 -1
  462. package/dist/ui-components.es316.js +12 -5
  463. package/dist/ui-components.es316.js.map +1 -1
  464. package/dist/ui-components.es317.js +9 -14
  465. package/dist/ui-components.es317.js.map +1 -1
  466. package/dist/ui-components.es318.js +15 -333
  467. package/dist/ui-components.es318.js.map +1 -1
  468. package/dist/ui-components.es319.js +9 -322
  469. package/dist/ui-components.es319.js.map +1 -1
  470. package/dist/ui-components.es32.js +704 -53
  471. package/dist/ui-components.es32.js.map +1 -1
  472. package/dist/ui-components.es320.js +146 -6
  473. package/dist/ui-components.es320.js.map +1 -1
  474. package/dist/ui-components.es321.js +10 -7
  475. package/dist/ui-components.es321.js.map +1 -1
  476. package/dist/ui-components.es322.js +19 -2
  477. package/dist/ui-components.es322.js.map +1 -1
  478. package/dist/ui-components.es323.js +6 -65
  479. package/dist/ui-components.es323.js.map +1 -1
  480. package/dist/ui-components.es324.js +5 -65
  481. package/dist/ui-components.es324.js.map +1 -1
  482. package/dist/ui-components.es325.js +310 -26
  483. package/dist/ui-components.es325.js.map +1 -1
  484. package/dist/ui-components.es326.js +6 -19
  485. package/dist/ui-components.es326.js.map +1 -1
  486. package/dist/ui-components.es327.js +6 -42
  487. package/dist/ui-components.es327.js.map +1 -1
  488. package/dist/ui-components.es328.js +4 -3
  489. package/dist/ui-components.es328.js.map +1 -1
  490. package/dist/ui-components.es329.js +6 -7
  491. package/dist/ui-components.es329.js.map +1 -1
  492. package/dist/ui-components.es33.js +594 -395
  493. package/dist/ui-components.es33.js.map +1 -1
  494. package/dist/ui-components.es330.js +166 -38
  495. package/dist/ui-components.es330.js.map +1 -1
  496. package/dist/ui-components.es331.js +14 -64
  497. package/dist/ui-components.es331.js.map +1 -1
  498. package/dist/ui-components.es332.js +331 -46
  499. package/dist/ui-components.es332.js.map +1 -1
  500. package/dist/ui-components.es333.js +7 -19
  501. package/dist/ui-components.es333.js.map +1 -1
  502. package/dist/ui-components.es334.js +2 -51
  503. package/dist/ui-components.es334.js.map +1 -1
  504. package/dist/ui-components.es335.js +65 -6
  505. package/dist/ui-components.es335.js.map +1 -1
  506. package/dist/ui-components.es336.js +65 -7
  507. package/dist/ui-components.es336.js.map +1 -1
  508. package/dist/ui-components.es337.js +11 -23
  509. package/dist/ui-components.es337.js.map +1 -1
  510. package/dist/ui-components.es338.js +6 -60
  511. package/dist/ui-components.es338.js.map +1 -1
  512. package/dist/ui-components.es339.js +168 -73
  513. package/dist/ui-components.es339.js.map +1 -1
  514. package/dist/ui-components.es34.js +74 -10
  515. package/dist/ui-components.es34.js.map +1 -1
  516. package/dist/ui-components.es340.js +7 -4
  517. package/dist/ui-components.es340.js.map +1 -1
  518. package/dist/ui-components.es341.js +11 -25
  519. package/dist/ui-components.es341.js.map +1 -1
  520. package/dist/ui-components.es342.js +148 -12
  521. package/dist/ui-components.es342.js.map +1 -1
  522. package/dist/ui-components.es343.js +11 -9
  523. package/dist/ui-components.es343.js.map +1 -1
  524. package/dist/ui-components.es344.js +7 -9
  525. package/dist/ui-components.es344.js.map +1 -1
  526. package/dist/ui-components.es347.js +8 -7
  527. package/dist/ui-components.es347.js.map +1 -1
  528. package/dist/ui-components.es348.js +7 -8
  529. package/dist/ui-components.es348.js.map +1 -1
  530. package/dist/ui-components.es349.js +1 -1
  531. package/dist/ui-components.es35.js +78 -608
  532. package/dist/ui-components.es35.js.map +1 -1
  533. package/dist/ui-components.es353.js +5 -1
  534. package/dist/ui-components.es353.js.map +1 -1
  535. package/dist/ui-components.es354.js +25 -6
  536. package/dist/ui-components.es354.js.map +1 -1
  537. package/dist/ui-components.es355.js +2 -25
  538. package/dist/ui-components.es355.js.map +1 -1
  539. package/dist/ui-components.es356.js +2 -2
  540. package/dist/ui-components.es357.js +125 -7
  541. package/dist/ui-components.es357.js.map +1 -1
  542. package/dist/ui-components.es358.js +7 -125
  543. package/dist/ui-components.es358.js.map +1 -1
  544. package/dist/ui-components.es36.js +154 -209
  545. package/dist/ui-components.es36.js.map +1 -1
  546. package/dist/ui-components.es362.js +1 -1
  547. package/dist/ui-components.es368.js +1 -1
  548. package/dist/ui-components.es369.js +29 -6
  549. package/dist/ui-components.es369.js.map +1 -1
  550. package/dist/ui-components.es37.js +149 -74
  551. package/dist/ui-components.es37.js.map +1 -1
  552. package/dist/ui-components.es370.js +119 -6
  553. package/dist/ui-components.es370.js.map +1 -1
  554. package/dist/ui-components.es371.js +30 -29
  555. package/dist/ui-components.es371.js.map +1 -1
  556. package/dist/ui-components.es372.js +9 -118
  557. package/dist/ui-components.es372.js.map +1 -1
  558. package/dist/ui-components.es373.js +13 -29
  559. package/dist/ui-components.es373.js.map +1 -1
  560. package/dist/ui-components.es374.js +32 -10
  561. package/dist/ui-components.es374.js.map +1 -1
  562. package/dist/ui-components.es375.js +28 -13
  563. package/dist/ui-components.es375.js.map +1 -1
  564. package/dist/ui-components.es376.js +10 -32
  565. package/dist/ui-components.es376.js.map +1 -1
  566. package/dist/ui-components.es377.js +10 -26
  567. package/dist/ui-components.es377.js.map +1 -1
  568. package/dist/ui-components.es378.js +17 -10
  569. package/dist/ui-components.es378.js.map +1 -1
  570. package/dist/ui-components.es379.js +23 -12
  571. package/dist/ui-components.es379.js.map +1 -1
  572. package/dist/ui-components.es38.js +49 -100
  573. package/dist/ui-components.es38.js.map +1 -1
  574. package/dist/ui-components.es380.js +16 -17
  575. package/dist/ui-components.es380.js.map +1 -1
  576. package/dist/ui-components.es381.js +91 -18
  577. package/dist/ui-components.es381.js.map +1 -1
  578. package/dist/ui-components.es382.js +41 -13
  579. package/dist/ui-components.es382.js.map +1 -1
  580. package/dist/ui-components.es383.js +23 -91
  581. package/dist/ui-components.es383.js.map +1 -1
  582. package/dist/ui-components.es384.js +68 -41
  583. package/dist/ui-components.es384.js.map +1 -1
  584. package/dist/ui-components.es385.js +47 -24
  585. package/dist/ui-components.es385.js.map +1 -1
  586. package/dist/ui-components.es386.js +30 -67
  587. package/dist/ui-components.es386.js.map +1 -1
  588. package/dist/ui-components.es387.js +35 -45
  589. package/dist/ui-components.es387.js.map +1 -1
  590. package/dist/ui-components.es388.js +5 -34
  591. package/dist/ui-components.es388.js.map +1 -1
  592. package/dist/ui-components.es389.js +6 -41
  593. package/dist/ui-components.es389.js.map +1 -1
  594. package/dist/ui-components.es39.js +436 -44
  595. package/dist/ui-components.es39.js.map +1 -1
  596. package/dist/ui-components.es390.js +3 -9
  597. package/dist/ui-components.es390.js.map +1 -1
  598. package/dist/ui-components.es391.js +3 -51
  599. package/dist/ui-components.es391.js.map +1 -1
  600. package/dist/ui-components.es392.js +15 -7
  601. package/dist/ui-components.es392.js.map +1 -1
  602. package/dist/ui-components.es393.js +3 -4
  603. package/dist/ui-components.es393.js.map +1 -1
  604. package/dist/ui-components.es394.js +9 -3
  605. package/dist/ui-components.es394.js.map +1 -1
  606. package/dist/ui-components.es395.js +4 -3
  607. package/dist/ui-components.es395.js.map +1 -1
  608. package/dist/ui-components.es396.js +6 -4
  609. package/dist/ui-components.es396.js.map +1 -1
  610. package/dist/ui-components.es397.js +9 -3
  611. package/dist/ui-components.es397.js.map +1 -1
  612. package/dist/ui-components.es398.js +7 -15
  613. package/dist/ui-components.es398.js.map +1 -1
  614. package/dist/ui-components.es399.js +4 -3
  615. package/dist/ui-components.es399.js.map +1 -1
  616. package/dist/ui-components.es4.js +5 -5
  617. package/dist/ui-components.es40.js +10 -258
  618. package/dist/ui-components.es40.js.map +1 -1
  619. package/dist/ui-components.es400.js +3 -9
  620. package/dist/ui-components.es400.js.map +1 -1
  621. package/dist/ui-components.es401.js +4 -5
  622. package/dist/ui-components.es401.js.map +1 -1
  623. package/dist/ui-components.es402.js +11 -5
  624. package/dist/ui-components.es402.js.map +1 -1
  625. package/dist/ui-components.es403.js +7 -9
  626. package/dist/ui-components.es403.js.map +1 -1
  627. package/dist/ui-components.es404.js +30 -9
  628. package/dist/ui-components.es404.js.map +1 -1
  629. package/dist/ui-components.es405.js +23 -29
  630. package/dist/ui-components.es405.js.map +1 -1
  631. package/dist/ui-components.es406.js +51 -24
  632. package/dist/ui-components.es406.js.map +1 -1
  633. package/dist/ui-components.es409.js +3 -3
  634. package/dist/ui-components.es41.js +545 -166
  635. package/dist/ui-components.es41.js.map +1 -1
  636. package/dist/ui-components.es410.js +2 -2
  637. package/dist/ui-components.es411.js +1 -1
  638. package/dist/ui-components.es412.js +1 -1
  639. package/dist/ui-components.es413.js +2 -2
  640. package/dist/ui-components.es414.js +3 -3
  641. package/dist/ui-components.es415.js +1 -1
  642. package/dist/ui-components.es417.js +9 -9
  643. package/dist/ui-components.es42.js +279 -16
  644. package/dist/ui-components.es42.js.map +1 -1
  645. package/dist/ui-components.es420.js +1 -1
  646. package/dist/ui-components.es422.js +2 -2
  647. package/dist/ui-components.es423.js +3 -3
  648. package/dist/ui-components.es43.js +75 -303
  649. package/dist/ui-components.es43.js.map +1 -1
  650. package/dist/ui-components.es44.js +80 -109
  651. package/dist/ui-components.es44.js.map +1 -1
  652. package/dist/ui-components.es45.js +67 -141
  653. package/dist/ui-components.es45.js.map +1 -1
  654. package/dist/ui-components.es46.js +165 -932
  655. package/dist/ui-components.es46.js.map +1 -1
  656. package/dist/ui-components.es47.js +231 -92
  657. package/dist/ui-components.es47.js.map +1 -1
  658. package/dist/ui-components.es48.js +16 -370
  659. package/dist/ui-components.es48.js.map +1 -1
  660. package/dist/ui-components.es49.js +345 -205
  661. package/dist/ui-components.es49.js.map +1 -1
  662. package/dist/ui-components.es5.js +6 -6
  663. package/dist/ui-components.es50.js +147 -237
  664. package/dist/ui-components.es50.js.map +1 -1
  665. package/dist/ui-components.es51.js +143 -6
  666. package/dist/ui-components.es51.js.map +1 -1
  667. package/dist/ui-components.es52.js +6 -54
  668. package/dist/ui-components.es52.js.map +1 -1
  669. package/dist/ui-components.es53.js +51 -159
  670. package/dist/ui-components.es53.js.map +1 -1
  671. package/dist/ui-components.es54.js +161 -19
  672. package/dist/ui-components.es54.js.map +1 -1
  673. package/dist/ui-components.es55.js +208 -129
  674. package/dist/ui-components.es55.js.map +1 -1
  675. package/dist/ui-components.es56.js +249 -36
  676. package/dist/ui-components.es56.js.map +1 -1
  677. package/dist/ui-components.es57.js +69 -22
  678. package/dist/ui-components.es57.js.map +1 -1
  679. package/dist/ui-components.es58.js +30 -253
  680. package/dist/ui-components.es58.js.map +1 -1
  681. package/dist/ui-components.es59.js +27 -39
  682. package/dist/ui-components.es59.js.map +1 -1
  683. package/dist/ui-components.es6.js +3 -3
  684. package/dist/ui-components.es60.js +40 -67
  685. package/dist/ui-components.es60.js.map +1 -1
  686. package/dist/ui-components.es61.js +20 -29
  687. package/dist/ui-components.es61.js.map +1 -1
  688. package/dist/ui-components.es62.js +1026 -27
  689. package/dist/ui-components.es62.js.map +1 -1
  690. package/dist/ui-components.es63.js +123 -42
  691. package/dist/ui-components.es63.js.map +1 -1
  692. package/dist/ui-components.es64.js +386 -21
  693. package/dist/ui-components.es64.js.map +1 -1
  694. package/dist/ui-components.es67.js +1 -1
  695. package/dist/ui-components.es68.js +1 -1
  696. package/dist/ui-components.es7.js +1 -1
  697. package/dist/ui-components.es71.js +1 -1
  698. package/dist/ui-components.es72.js +1 -1
  699. package/dist/ui-components.es73.js +6 -2
  700. package/dist/ui-components.es73.js.map +1 -1
  701. package/dist/ui-components.es74.js +6 -2
  702. package/dist/ui-components.es74.js.map +1 -1
  703. package/dist/ui-components.es75.js +6 -2
  704. package/dist/ui-components.es75.js.map +1 -1
  705. package/dist/ui-components.es76.js +6 -2
  706. package/dist/ui-components.es76.js.map +1 -1
  707. package/dist/ui-components.es77.js +296 -14
  708. package/dist/ui-components.es77.js.map +1 -1
  709. package/dist/ui-components.es78.js +328 -206
  710. package/dist/ui-components.es78.js.map +1 -1
  711. package/dist/ui-components.es79.js +284 -6
  712. package/dist/ui-components.es79.js.map +1 -1
  713. package/dist/ui-components.es8.js +1 -1
  714. package/dist/ui-components.es80.js +261 -6
  715. package/dist/ui-components.es80.js.map +1 -1
  716. package/dist/ui-components.es81.js +171 -6
  717. package/dist/ui-components.es81.js.map +1 -1
  718. package/dist/ui-components.es82.js +13 -6
  719. package/dist/ui-components.es82.js.map +1 -1
  720. package/dist/ui-components.es83.js +14 -296
  721. package/dist/ui-components.es83.js.map +1 -1
  722. package/dist/ui-components.es84.js +206 -328
  723. package/dist/ui-components.es84.js.map +1 -1
  724. package/dist/ui-components.es85.js +2 -284
  725. package/dist/ui-components.es85.js.map +1 -1
  726. package/dist/ui-components.es86.js +2 -261
  727. package/dist/ui-components.es86.js.map +1 -1
  728. package/dist/ui-components.es87.js +2 -171
  729. package/dist/ui-components.es87.js.map +1 -1
  730. package/dist/ui-components.es88.js +2 -13
  731. package/dist/ui-components.es88.js.map +1 -1
  732. package/dist/ui-components.es89.js +2 -2
  733. package/dist/ui-components.es9.js +2 -2
  734. package/dist/ui-components.es90.js +10 -8
  735. package/dist/ui-components.es90.js.map +1 -1
  736. package/dist/ui-components.es91.js +3 -112
  737. package/dist/ui-components.es91.js.map +1 -1
  738. package/dist/ui-components.es92.js +14 -8
  739. package/dist/ui-components.es92.js.map +1 -1
  740. package/dist/ui-components.es93.js +3 -17
  741. package/dist/ui-components.es93.js.map +1 -1
  742. package/dist/ui-components.es94.js +6 -14
  743. package/dist/ui-components.es94.js.map +1 -1
  744. package/dist/ui-components.es95.js +8 -3
  745. package/dist/ui-components.es95.js.map +1 -1
  746. package/dist/ui-components.es96.js +8 -6
  747. package/dist/ui-components.es96.js.map +1 -1
  748. package/dist/ui-components.es97.js +13 -7
  749. package/dist/ui-components.es97.js.map +1 -1
  750. package/dist/ui-components.es98.js +20 -13
  751. package/dist/ui-components.es98.js.map +1 -1
  752. package/dist/ui-components.es99.js +7 -20
  753. package/dist/ui-components.es99.js.map +1 -1
  754. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es51.js","sources":["../src/components/BiosampleTable/DownloadContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport type DownloadContextType = {\n onDownload?: (url: string, name: string) => void;\n};\n\nexport const DownloadContext = createContext<DownloadContextType>({\n onDownload: undefined,\n});\n\nexport const useDownloadContext = () => useContext(DownloadContext);\n"],"names":["DownloadContext","createContext","onDownload","undefined","useDownloadContext","useContext"],"mappings":";AAMO,MAAMA,IAAkBC,EAAmC;AAAA,EAChEC,YAAYC;AACd,CAAC,GAEYC,IAAqBA,MAAMC,EAAWL,CAAe;"}
1
+ {"version":3,"file":"ui-components.es51.js","sources":["../../../node_modules/.pnpm/@mui+system@7.3.9_@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4__@emotion+st_100059df2673d7a323eb0d2da91385ea/node_modules/@mui/system/esm/colorManipulator/colorManipulator.js"],"sourcesContent":["import _formatErrorMessage from \"@mui/utils/formatMuiErrorMessage\";\n/* eslint-disable @typescript-eslint/naming-convention */\nimport clamp from '@mui/utils/clamp';\n\n/**\n * Returns a number whose value is limited to the given range.\n * @param {number} value The value to be clamped\n * @param {number} min The lower boundary of the output range\n * @param {number} max The upper boundary of the output range\n * @returns {number} A number in the range [min, max]\n */\nfunction clampWrapper(value, min = 0, max = 1) {\n if (process.env.NODE_ENV !== 'production') {\n if (value < min || value > max) {\n console.error(`MUI: The value provided ${value} is out of range [${min}, ${max}].`);\n }\n }\n return clamp(value, min, max);\n}\n\n/**\n * Converts a color from CSS hex format to CSS rgb format.\n * @param {string} color - Hex color, i.e. #nnn or #nnnnnn\n * @returns {string} A CSS rgb color string\n */\nexport function hexToRgb(color) {\n color = color.slice(1);\n const re = new RegExp(`.{1,${color.length >= 6 ? 2 : 1}}`, 'g');\n let colors = color.match(re);\n if (colors && colors[0].length === 1) {\n colors = colors.map(n => n + n);\n }\n if (process.env.NODE_ENV !== 'production') {\n if (color.length !== color.trim().length) {\n console.error(`MUI: The color: \"${color}\" is invalid. Make sure the color input doesn't contain leading/trailing space.`);\n }\n }\n return colors ? `rgb${colors.length === 4 ? 'a' : ''}(${colors.map((n, index) => {\n return index < 3 ? parseInt(n, 16) : Math.round(parseInt(n, 16) / 255 * 1000) / 1000;\n }).join(', ')})` : '';\n}\nfunction intToHex(int) {\n const hex = int.toString(16);\n return hex.length === 1 ? `0${hex}` : hex;\n}\n\n/**\n * Returns an object with the type and values of a color.\n *\n * Note: Does not support rgb % values.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {object} - A MUI color object: {type: string, values: number[]}\n */\nexport function decomposeColor(color) {\n // Idempotent\n if (color.type) {\n return color;\n }\n if (color.charAt(0) === '#') {\n return decomposeColor(hexToRgb(color));\n }\n const marker = color.indexOf('(');\n const type = color.substring(0, marker);\n if (!['rgb', 'rgba', 'hsl', 'hsla', 'color'].includes(type)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: Unsupported \\`${color}\\` color.\\n` + 'The following formats are supported: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color().' : _formatErrorMessage(9, color));\n }\n let values = color.substring(marker + 1, color.length - 1);\n let colorSpace;\n if (type === 'color') {\n values = values.split(' ');\n colorSpace = values.shift();\n if (values.length === 4 && values[3].charAt(0) === '/') {\n values[3] = values[3].slice(1);\n }\n if (!['srgb', 'display-p3', 'a98-rgb', 'prophoto-rgb', 'rec-2020'].includes(colorSpace)) {\n throw new Error(process.env.NODE_ENV !== \"production\" ? `MUI: unsupported \\`${colorSpace}\\` color space.\\n` + 'The following color spaces are supported: srgb, display-p3, a98-rgb, prophoto-rgb, rec-2020.' : _formatErrorMessage(10, colorSpace));\n }\n } else {\n values = values.split(',');\n }\n values = values.map(value => parseFloat(value));\n return {\n type,\n values,\n colorSpace\n };\n}\n\n/**\n * Returns a channel created from the input color.\n *\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {string} - The channel for the color, that can be used in rgba or hsla colors\n */\nexport const colorChannel = color => {\n const decomposedColor = decomposeColor(color);\n return decomposedColor.values.slice(0, 3).map((val, idx) => decomposedColor.type.includes('hsl') && idx !== 0 ? `${val}%` : val).join(' ');\n};\nexport const private_safeColorChannel = (color, warning) => {\n try {\n return colorChannel(color);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n};\n\n/**\n * Converts a color object with type and values to a string.\n * @param {object} color - Decomposed color\n * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla', 'color'\n * @param {array} color.values - [n,n,n] or [n,n,n,n]\n * @returns {string} A CSS color string\n */\nexport function recomposeColor(color) {\n const {\n type,\n colorSpace\n } = color;\n let {\n values\n } = color;\n if (type.includes('rgb')) {\n // Only convert the first 3 values to int (i.e. not alpha)\n values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);\n } else if (type.includes('hsl')) {\n values[1] = `${values[1]}%`;\n values[2] = `${values[2]}%`;\n }\n if (type.includes('color')) {\n values = `${colorSpace} ${values.join(' ')}`;\n } else {\n values = `${values.join(', ')}`;\n }\n return `${type}(${values})`;\n}\n\n/**\n * Converts a color from CSS rgb format to CSS hex format.\n * @param {string} color - RGB color, i.e. rgb(n, n, n)\n * @returns {string} A CSS rgb color string, i.e. #nnnnnn\n */\nexport function rgbToHex(color) {\n // Idempotent\n if (color.startsWith('#')) {\n return color;\n }\n const {\n values\n } = decomposeColor(color);\n return `#${values.map((n, i) => intToHex(i === 3 ? Math.round(255 * n) : n)).join('')}`;\n}\n\n/**\n * Converts a color from hsl format to rgb format.\n * @param {string} color - HSL color values\n * @returns {string} rgb color values\n */\nexport function hslToRgb(color) {\n color = decomposeColor(color);\n const {\n values\n } = color;\n const h = values[0];\n const s = values[1] / 100;\n const l = values[2] / 100;\n const a = s * Math.min(l, 1 - l);\n const f = (n, k = (n + h / 30) % 12) => l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1);\n let type = 'rgb';\n const rgb = [Math.round(f(0) * 255), Math.round(f(8) * 255), Math.round(f(4) * 255)];\n if (color.type === 'hsla') {\n type += 'a';\n rgb.push(values[3]);\n }\n return recomposeColor({\n type,\n values: rgb\n });\n}\n/**\n * The relative brightness of any point in a color space,\n * normalized to 0 for darkest black and 1 for lightest white.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @returns {number} The relative brightness of the color in the range 0 - 1\n */\nexport function getLuminance(color) {\n color = decomposeColor(color);\n let rgb = color.type === 'hsl' || color.type === 'hsla' ? decomposeColor(hslToRgb(color)).values : color.values;\n rgb = rgb.map(val => {\n if (color.type !== 'color') {\n val /= 255; // normalized\n }\n return val <= 0.03928 ? val / 12.92 : ((val + 0.055) / 1.055) ** 2.4;\n });\n\n // Truncate at 3 digits\n return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));\n}\n\n/**\n * Calculates the contrast ratio between two colors.\n *\n * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests\n * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()\n * @returns {number} A contrast ratio value in the range 0 - 21.\n */\nexport function getContrastRatio(foreground, background) {\n const lumA = getLuminance(foreground);\n const lumB = getLuminance(background);\n return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);\n}\n\n/**\n * Sets the absolute transparency of a color.\n * Any existing alpha values are overwritten.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} value - value to set the alpha channel to in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function alpha(color, value) {\n color = decomposeColor(color);\n value = clampWrapper(value);\n if (color.type === 'rgb' || color.type === 'hsl') {\n color.type += 'a';\n }\n if (color.type === 'color') {\n color.values[3] = `/${value}`;\n } else {\n color.values[3] = value;\n }\n return recomposeColor(color);\n}\nexport function private_safeAlpha(color, value, warning) {\n try {\n return alpha(color, value);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darkens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function darken(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] *= 1 - coefficient;\n } else if (color.type.includes('rgb') || color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] *= 1 - coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeDarken(color, coefficient, warning) {\n try {\n return darken(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Lightens a color.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function lighten(color, coefficient) {\n color = decomposeColor(color);\n coefficient = clampWrapper(coefficient);\n if (color.type.includes('hsl')) {\n color.values[2] += (100 - color.values[2]) * coefficient;\n } else if (color.type.includes('rgb')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (255 - color.values[i]) * coefficient;\n }\n } else if (color.type.includes('color')) {\n for (let i = 0; i < 3; i += 1) {\n color.values[i] += (1 - color.values[i]) * coefficient;\n }\n }\n return recomposeColor(color);\n}\nexport function private_safeLighten(color, coefficient, warning) {\n try {\n return lighten(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Darken or lighten a color, depending on its luminance.\n * Light colors are darkened, dark colors are lightened.\n * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla(), color()\n * @param {number} coefficient=0.15 - multiplier in the range 0 - 1\n * @returns {string} A CSS color string. Hex input values are returned as rgb\n */\nexport function emphasize(color, coefficient = 0.15) {\n return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);\n}\nexport function private_safeEmphasize(color, coefficient, warning) {\n try {\n return emphasize(color, coefficient);\n } catch (error) {\n if (warning && process.env.NODE_ENV !== 'production') {\n console.warn(warning);\n }\n return color;\n }\n}\n\n/**\n * Blend a transparent overlay color with a background color, resulting in a single\n * RGB color.\n * @param {string} background - CSS color\n * @param {string} overlay - CSS color\n * @param {number} opacity - Opacity multiplier in the range 0 - 1\n * @param {number} [gamma=1.0] - Gamma correction factor. For gamma-correct blending, 2.2 is usual.\n */\nexport function blend(background, overlay, opacity, gamma = 1.0) {\n const blendChannel = (b, o) => Math.round((b ** (1 / gamma) * (1 - opacity) + o ** (1 / gamma) * opacity) ** gamma);\n const backgroundColor = decomposeColor(background);\n const overlayColor = decomposeColor(overlay);\n const rgb = [blendChannel(backgroundColor.values[0], overlayColor.values[0]), blendChannel(backgroundColor.values[1], overlayColor.values[1]), blendChannel(backgroundColor.values[2], overlayColor.values[2])];\n return recomposeColor({\n type: 'rgb',\n values: rgb\n });\n}"],"names":["clampWrapper","value","min","max","clamp","hexToRgb","color","re","colors","n","index","decomposeColor","marker","type","_formatErrorMessage","values","colorSpace","colorChannel","decomposedColor","val","idx","private_safeColorChannel","warning","recomposeColor","i","hslToRgb","h","s","l","a","f","k","rgb","getLuminance","getContrastRatio","foreground","background","lumA","lumB","alpha","private_safeAlpha","darken","coefficient","private_safeDarken","lighten","private_safeLighten","emphasize","private_safeEmphasize"],"mappings":";;AAWA,SAASA,EAAaC,GAAOC,IAAM,GAAGC,IAAM,GAAG;AAC7C,SAAI,QAAQ,IAAI,aAAa,iBACvBF,IAAQC,KAAOD,IAAQE,MACzB,QAAQ,MAAM,2BAA2BF,CAAK,qBAAqBC,CAAG,KAAKC,CAAG,IAAI,GAG/EC,EAAMH,GAAOC,GAAKC,CAAG;AAC9B;AAOO,SAASE,EAASC,GAAO;AAC9B,EAAAA,IAAQA,EAAM,MAAM,CAAC;AACrB,QAAMC,IAAK,IAAI,OAAO,OAAOD,EAAM,UAAU,IAAI,IAAI,CAAC,KAAK,GAAG;AAC9D,MAAIE,IAASF,EAAM,MAAMC,CAAE;AAC3B,SAAIC,KAAUA,EAAO,CAAC,EAAE,WAAW,MACjCA,IAASA,EAAO,IAAI,CAAAC,MAAKA,IAAIA,CAAC,IAE5B,QAAQ,IAAI,aAAa,gBACvBH,EAAM,WAAWA,EAAM,KAAI,EAAG,UAChC,QAAQ,MAAM,oBAAoBA,CAAK,iFAAiF,GAGrHE,IAAS,MAAMA,EAAO,WAAW,IAAI,MAAM,EAAE,IAAIA,EAAO,IAAI,CAACC,GAAGC,MAC9DA,IAAQ,IAAI,SAASD,GAAG,EAAE,IAAI,KAAK,MAAM,SAASA,GAAG,EAAE,IAAI,MAAM,GAAI,IAAI,GACjF,EAAE,KAAK,IAAI,CAAC,MAAM;AACrB;AAaO,SAASE,EAAeL,GAAO;AAEpC,MAAIA,EAAM;AACR,WAAOA;AAET,MAAIA,EAAM,OAAO,CAAC,MAAM;AACtB,WAAOK,EAAeN,EAASC,CAAK,CAAC;AAEvC,QAAMM,IAASN,EAAM,QAAQ,GAAG,GAC1BO,IAAOP,EAAM,UAAU,GAAGM,CAAM;AACtC,MAAI,CAAC,CAAC,OAAO,QAAQ,OAAO,QAAQ,OAAO,EAAE,SAASC,CAAI;AACxD,UAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,sBAAsBP,CAAK;AAAA,8FAA+GQ,EAAoB,GAAGR,CAAK,CAAC;AAEjO,MAAIS,IAAST,EAAM,UAAUM,IAAS,GAAGN,EAAM,SAAS,CAAC,GACrDU;AACJ,MAAIH,MAAS;AAMX,QALAE,IAASA,EAAO,MAAM,GAAG,GACzBC,IAAaD,EAAO,MAAK,GACrBA,EAAO,WAAW,KAAKA,EAAO,CAAC,EAAE,OAAO,CAAC,MAAM,QACjDA,EAAO,CAAC,IAAIA,EAAO,CAAC,EAAE,MAAM,CAAC,IAE3B,CAAC,CAAC,QAAQ,cAAc,WAAW,gBAAgB,UAAU,EAAE,SAASC,CAAU;AACpF,YAAM,IAAI,MAAM,QAAQ,IAAI,aAAa,eAAe,sBAAsBA,CAAU;AAAA,gGAAuHF,EAAoB,IAAIE,CAAU,CAAC;AAAA;AAGpP,IAAAD,IAASA,EAAO,MAAM,GAAG;AAE3B,SAAAA,IAASA,EAAO,IAAI,CAAAd,MAAS,WAAWA,CAAK,CAAC,GACvC;AAAA,IACL,MAAAY;AAAA,IACA,QAAAE;AAAA,IACA,YAAAC;AAAA,EACJ;AACA;AAQY,MAACC,IAAe,CAAAX,MAAS;AACnC,QAAMY,IAAkBP,EAAeL,CAAK;AAC5C,SAAOY,EAAgB,OAAO,MAAM,GAAG,CAAC,EAAE,IAAI,CAACC,GAAKC,MAAQF,EAAgB,KAAK,SAAS,KAAK,KAAKE,MAAQ,IAAI,GAAGD,CAAG,MAAMA,CAAG,EAAE,KAAK,GAAG;AAC3I,GACaE,IAA2B,CAACf,GAAOgB,MAAY;AAC1D,MAAI;AACF,WAAOL,EAAaX,CAAK;AAAA,EAC3B,QAAgB;AACd,WAAIgB,KAAW,QAAQ,IAAI,aAAa,gBACtC,QAAQ,KAAKA,CAAO,GAEfhB;AAAA,EACT;AACF;AASO,SAASiB,EAAejB,GAAO;AACpC,QAAM;AAAA,IACJ,MAAAO;AAAA,IACA,YAAAG;AAAA,EACJ,IAAMV;AACJ,MAAI;AAAA,IACF,QAAAS;AAAA,EACJ,IAAMT;AACJ,SAAIO,EAAK,SAAS,KAAK,IAErBE,IAASA,EAAO,IAAI,CAACN,GAAGe,MAAMA,IAAI,IAAI,SAASf,GAAG,EAAE,IAAIA,CAAC,IAChDI,EAAK,SAAS,KAAK,MAC5BE,EAAO,CAAC,IAAI,GAAGA,EAAO,CAAC,CAAC,KACxBA,EAAO,CAAC,IAAI,GAAGA,EAAO,CAAC,CAAC,MAEtBF,EAAK,SAAS,OAAO,IACvBE,IAAS,GAAGC,CAAU,IAAID,EAAO,KAAK,GAAG,CAAC,KAE1CA,IAAS,GAAGA,EAAO,KAAK,IAAI,CAAC,IAExB,GAAGF,CAAI,IAAIE,CAAM;AAC1B;AAuBO,SAASU,EAASnB,GAAO;AAC9B,EAAAA,IAAQK,EAAeL,CAAK;AAC5B,QAAM;AAAA,IACJ,QAAAS;AAAA,EACJ,IAAMT,GACEoB,IAAIX,EAAO,CAAC,GACZY,IAAIZ,EAAO,CAAC,IAAI,KAChBa,IAAIb,EAAO,CAAC,IAAI,KAChBc,IAAIF,IAAI,KAAK,IAAIC,GAAG,IAAIA,CAAC,GACzBE,IAAI,CAACrB,GAAGsB,KAAKtB,IAAIiB,IAAI,MAAM,OAAOE,IAAIC,IAAI,KAAK,IAAI,KAAK,IAAIE,IAAI,GAAG,IAAIA,GAAG,CAAC,GAAG,EAAE;AACtF,MAAIlB,IAAO;AACX,QAAMmB,IAAM,CAAC,KAAK,MAAMF,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,MAAMA,EAAE,CAAC,IAAI,GAAG,GAAG,KAAK,MAAMA,EAAE,CAAC,IAAI,GAAG,CAAC;AACnF,SAAIxB,EAAM,SAAS,WACjBO,KAAQ,KACRmB,EAAI,KAAKjB,EAAO,CAAC,CAAC,IAEbQ,EAAe;AAAA,IACpB,MAAAV;AAAA,IACA,QAAQmB;AAAA,EACZ,CAAG;AACH;AASO,SAASC,EAAa3B,GAAO;AAClC,EAAAA,IAAQK,EAAeL,CAAK;AAC5B,MAAI0B,IAAM1B,EAAM,SAAS,SAASA,EAAM,SAAS,SAASK,EAAec,EAASnB,CAAK,CAAC,EAAE,SAASA,EAAM;AACzG,SAAA0B,IAAMA,EAAI,IAAI,CAAAb,OACRb,EAAM,SAAS,YACjBa,KAAO,MAEFA,KAAO,UAAUA,IAAM,UAAUA,IAAM,SAAS,UAAU,IAClE,GAGM,QAAQ,SAASa,EAAI,CAAC,IAAI,SAASA,EAAI,CAAC,IAAI,SAASA,EAAI,CAAC,GAAG,QAAQ,CAAC,CAAC;AAChF;AAUO,SAASE,EAAiBC,GAAYC,GAAY;AACvD,QAAMC,IAAOJ,EAAaE,CAAU,GAC9BG,IAAOL,EAAaG,CAAU;AACpC,UAAQ,KAAK,IAAIC,GAAMC,CAAI,IAAI,SAAS,KAAK,IAAID,GAAMC,CAAI,IAAI;AACjE;AASO,SAASC,EAAMjC,GAAOL,GAAO;AAClC,SAAAK,IAAQK,EAAeL,CAAK,GAC5BL,IAAQD,EAAaC,CAAK,IACtBK,EAAM,SAAS,SAASA,EAAM,SAAS,WACzCA,EAAM,QAAQ,MAEZA,EAAM,SAAS,UACjBA,EAAM,OAAO,CAAC,IAAI,IAAIL,CAAK,KAE3BK,EAAM,OAAO,CAAC,IAAIL,GAEbsB,EAAejB,CAAK;AAC7B;AACO,SAASkC,EAAkBlC,GAAOL,GAAOqB,GAAS;AACvD,MAAI;AACF,WAAOiB,EAAMjC,GAAOL,CAAK;AAAA,EAC3B,QAAgB;AACd,WAAIqB,KAAW,QAAQ,IAAI,aAAa,gBACtC,QAAQ,KAAKA,CAAO,GAEfhB;AAAA,EACT;AACF;AAQO,SAASmC,EAAOnC,GAAOoC,GAAa;AAGzC,MAFApC,IAAQK,EAAeL,CAAK,GAC5BoC,IAAc1C,EAAa0C,CAAW,GAClCpC,EAAM,KAAK,SAAS,KAAK;AAC3B,IAAAA,EAAM,OAAO,CAAC,KAAK,IAAIoC;AAAA,WACdpC,EAAM,KAAK,SAAS,KAAK,KAAKA,EAAM,KAAK,SAAS,OAAO;AAClE,aAASkB,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,MAAAlB,EAAM,OAAOkB,CAAC,KAAK,IAAIkB;AAG3B,SAAOnB,EAAejB,CAAK;AAC7B;AACO,SAASqC,EAAmBrC,GAAOoC,GAAapB,GAAS;AAC9D,MAAI;AACF,WAAOmB,EAAOnC,GAAOoC,CAAW;AAAA,EAClC,QAAgB;AACd,WAAIpB,KAAW,QAAQ,IAAI,aAAa,gBACtC,QAAQ,KAAKA,CAAO,GAEfhB;AAAA,EACT;AACF;AAQO,SAASsC,EAAQtC,GAAOoC,GAAa;AAG1C,MAFApC,IAAQK,EAAeL,CAAK,GAC5BoC,IAAc1C,EAAa0C,CAAW,GAClCpC,EAAM,KAAK,SAAS,KAAK;AAC3B,IAAAA,EAAM,OAAO,CAAC,MAAM,MAAMA,EAAM,OAAO,CAAC,KAAKoC;AAAA,WACpCpC,EAAM,KAAK,SAAS,KAAK;AAClC,aAASkB,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,MAAAlB,EAAM,OAAOkB,CAAC,MAAM,MAAMlB,EAAM,OAAOkB,CAAC,KAAKkB;AAAA,WAEtCpC,EAAM,KAAK,SAAS,OAAO;AACpC,aAASkB,IAAI,GAAGA,IAAI,GAAGA,KAAK;AAC1B,MAAAlB,EAAM,OAAOkB,CAAC,MAAM,IAAIlB,EAAM,OAAOkB,CAAC,KAAKkB;AAG/C,SAAOnB,EAAejB,CAAK;AAC7B;AACO,SAASuC,EAAoBvC,GAAOoC,GAAapB,GAAS;AAC/D,MAAI;AACF,WAAOsB,EAAQtC,GAAOoC,CAAW;AAAA,EACnC,QAAgB;AACd,WAAIpB,KAAW,QAAQ,IAAI,aAAa,gBACtC,QAAQ,KAAKA,CAAO,GAEfhB;AAAA,EACT;AACF;AASO,SAASwC,EAAUxC,GAAOoC,IAAc,MAAM;AACnD,SAAOT,EAAa3B,CAAK,IAAI,MAAMmC,EAAOnC,GAAOoC,CAAW,IAAIE,EAAQtC,GAAOoC,CAAW;AAC5F;AACO,SAASK,EAAsBzC,GAAOoC,GAAapB,GAAS;AACjE,MAAI;AACF,WAAOwB,EAAUxC,GAAOoC,CAAW;AAAA,EACrC,QAAgB;AAId,WAAOpC;AAAA,EACT;AACF;","x_google_ignoreList":[0]}
@@ -1,57 +1,9 @@
1
- const s = async (e, n) => {
2
- try {
3
- const a = await fetch(e, {
4
- method: "HEAD"
5
- });
6
- if (!a.ok)
7
- throw new Error("Error fetching file size for " + e);
8
- const t = a.headers.get("Content-Length");
9
- t && n(parseInt(t, 10));
10
- } catch (a) {
11
- console.error(a), n(-1);
12
- }
13
- }, o = (e) => e === -1 ? "Unknown Size" : (e / 1e6).toFixed(1) + " MB", i = (e) => {
14
- switch (e) {
15
- case "atac":
16
- return "ATAC";
17
- case "ctcf":
18
- return "CTCF";
19
- case "dnase":
20
- return "DNase";
21
- case "h3k27ac":
22
- return "H3K27ac";
23
- case "h3k4me3":
24
- return "H3K4me3";
25
- }
26
- };
27
- function f(e) {
28
- const {
29
- dnase: n,
30
- h3k27ac: a,
31
- h3k4me3: t,
32
- ctcf: c,
33
- atac: r
34
- } = e;
35
- return n && a && t && c && r ? "All assays available" : !n && !a && !t && !c && !r ? "No assays available" : `Available:
36
- ${n ? `DNase
37
- ` : ""}${a ? `H3K27ac
38
- ` : ""}${t ? `H3K4me3
39
- ` : ""}${c ? `CTCF
40
- ` : ""}${r ? `ATAC
41
- ` : ""}`;
42
- }
43
- const h = {
44
- dnase: "#06DA93",
45
- h3k27ac: "#FFCD00",
46
- h3k4me3: "#FF0000",
47
- ctcf: "#00B0F0",
48
- atac: "#02c7b9"
49
- };
1
+ import { createContext as o, useContext as t } from "react";
2
+ const n = o({
3
+ onDownload: void 0
4
+ }), r = () => t(n);
50
5
  export {
51
- h as ASSAY_COLORS,
52
- f as assayHoverInfo,
53
- s as fetchFileSize,
54
- i as formatAssay,
55
- o as formatFileSize
6
+ n as DownloadContext,
7
+ r as useDownloadContext
56
8
  };
57
9
  //# sourceMappingURL=ui-components.es52.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es52.js","sources":["../src/components/BiosampleTable/helpers.ts"],"sourcesContent":["/**\n * \n * @param url \n * @param handleSetState \n * \n * Attempts to fetch the file size, and sets state with given fn. -1 if unsucessful\n */\nexport const fetchFileSize = async (url: string, handleSetState: (fileSize: number) => void) => {\n try {\n const response = await fetch(url, { method: \"HEAD\" });\n if (!response.ok) {\n throw new Error(\"Error fetching file size for \" + url)\n }\n const contentLength = response.headers.get(\"Content-Length\");\n if (contentLength) {\n handleSetState(parseInt(contentLength, 10));\n }\n } catch (error) {\n console.error(error);\n handleSetState(-1)\n }\n};\n\nexport const formatFileSize = (fileSize: number) => fileSize === -1 ? \"Unknown Size\" : (fileSize / 1000000).toFixed(1) + \" MB\"\n/**\n *\n * @param assay\n * @returns Formatted assay name\n */\nexport const formatAssay = (assay: CcreAssay) => {\n switch (assay) {\n case \"atac\":\n return \"ATAC\";\n case \"ctcf\":\n return \"CTCF\";\n case \"dnase\":\n return \"DNase\";\n case \"h3k27ac\":\n return \"H3K27ac\";\n case \"h3k4me3\":\n return \"H3K4me3\";\n }\n};\n\nimport { CcreAssay } from \"./types\";\n\n/**\n *\n * @param assays\n * @returns string to display on hover above available assay wheel\n */\nexport function assayHoverInfo(assays: Record<CcreAssay, string | null>) {\n const { dnase, h3k27ac, h3k4me3, ctcf, atac } = assays;\n\n if (dnase && h3k27ac && h3k4me3 && ctcf && atac) {\n return \"All assays available\";\n } else if (!dnase && !h3k27ac && !h3k4me3 && !ctcf && !atac) {\n return \"No assays available\";\n } else\n return `Available:\\n${dnase ? \"DNase\\n\" : \"\"}${h3k27ac ? \"H3K27ac\\n\" : \"\"}${h3k4me3 ? \"H3K4me3\\n\" : \"\"}${ctcf ? \"CTCF\\n\" : \"\"}${\n atac ? \"ATAC\\n\" : \"\"\n }`;\n}\n\nexport const ASSAY_COLORS: Record<CcreAssay, string> = {\n dnase: \"#06DA93\",\n h3k27ac: \"#FFCD00\",\n h3k4me3: \"#FF0000\",\n ctcf: \"#00B0F0\",\n atac: \"#02c7b9\",\n};"],"names":["fetchFileSize","url","handleSetState","response","fetch","method","ok","Error","contentLength","headers","get","parseInt","error","console","formatFileSize","fileSize","toFixed","formatAssay","assay","assayHoverInfo","assays","dnase","h3k27ac","h3k4me3","ctcf","atac","ASSAY_COLORS"],"mappings":"AAOO,MAAMA,IAAgB,OAAOC,GAAaC,MAA+C;AAC9F,MAAI;AACF,UAAMC,IAAW,MAAMC,MAAMH,GAAK;AAAA,MAAEI,QAAQ;AAAA,IAAA,CAAQ;AACpD,QAAI,CAACF,EAASG;AACZ,YAAM,IAAIC,MAAM,kCAAkCN,CAAG;AAEvD,UAAMO,IAAgBL,EAASM,QAAQC,IAAI,gBAAgB;AAC3D,IAAIF,KACFN,EAAeS,SAASH,GAAe,EAAE,CAAC;AAAA,EAE9C,SAASI,GAAO;AACdC,YAAQD,MAAMA,CAAK,GACnBV,EAAe,EAAE;AAAA,EACnB;AACF,GAEaY,IAAiBA,CAACC,MAAqBA,MAAa,KAAK,kBAAkBA,IAAW,KAASC,QAAQ,CAAC,IAAI,OAM5GC,IAAcA,CAACC,MAAqB;AAC/C,UAAQA,GAAAA;AAAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,EAAA;AAEb;AASO,SAASC,EAAeC,GAA0C;AACvE,QAAM;AAAA,IAAEC,OAAAA;AAAAA,IAAOC,SAAAA;AAAAA,IAASC,SAAAA;AAAAA,IAASC,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,EAAAA,IAASL;AAEhD,SAAIC,KAASC,KAAWC,KAAWC,KAAQC,IAClC,yBACE,CAACJ,KAAS,CAACC,KAAW,CAACC,KAAW,CAACC,KAAQ,CAACC,IAC9C,wBAEA;AAAA,EAAeJ,IAAQ;AAAA,IAAY,EAAE,GAAGC,IAAU;AAAA,IAAc,EAAE,GAAGC,IAAU;AAAA,IAAc,EAAE,GAAGC,IAAO;AAAA,IAAW,EAAE,GAC3HC,IAAO;AAAA,IAAW,EAAE;AAE1B;AAEO,MAAMC,IAA0C;AAAA,EACrDL,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,MAAM;AAAA,EACNC,MAAM;AACR;"}
1
+ {"version":3,"file":"ui-components.es52.js","sources":["../src/components/BiosampleTable/DownloadContext.tsx"],"sourcesContent":["import { createContext, useContext } from \"react\";\n\nexport type DownloadContextType = {\n onDownload?: (url: string, name: string) => void;\n};\n\nexport const DownloadContext = createContext<DownloadContextType>({\n onDownload: undefined,\n});\n\nexport const useDownloadContext = () => useContext(DownloadContext);\n"],"names":["DownloadContext","createContext","onDownload","undefined","useDownloadContext","useContext"],"mappings":";AAMO,MAAMA,IAAkBC,EAAmC;AAAA,EAChEC,YAAYC;AACd,CAAC,GAEYC,IAAqBA,MAAMC,EAAWL,CAAe;"}
@@ -1,165 +1,57 @@
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.es78.js";
7
- import { formatFileSize as ee, fetchFileSize as le } from "./ui-components.es52.js";
8
- import { useDownloadContext as De } from "./ui-components.es51.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);
1
+ const s = async (e, n) => {
2
+ try {
3
+ const a = await fetch(e, {
4
+ method: "HEAD"
50
5
  });
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 = $;
53
- 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];
71
- 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);
91
- 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;
108
- 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;
6
+ if (!a.ok)
7
+ throw new Error("Error fetching file size for " + e);
8
+ const t = a.headers.get("Content-Length");
9
+ t && n(parseInt(t, 10));
10
+ } catch (a) {
11
+ console.error(a), n(-1);
12
+ }
13
+ }, o = (e) => e === -1 ? "Unknown Size" : (e / 1e6).toFixed(1) + " MB", i = (e) => {
14
+ switch (e) {
15
+ case "atac":
16
+ return "ATAC";
17
+ case "ctcf":
18
+ return "CTCF";
19
+ case "dnase":
20
+ return "DNase";
21
+ case "h3k27ac":
22
+ return "H3K27ac";
23
+ case "h3k4me3":
24
+ return "H3K4me3";
25
+ }
148
26
  };
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);
157
- }
158
- function Ae(n) {
159
- return n.stopPropagation();
27
+ function f(e) {
28
+ const {
29
+ dnase: n,
30
+ h3k27ac: a,
31
+ h3k4me3: t,
32
+ ctcf: c,
33
+ atac: r
34
+ } = e;
35
+ return n && a && t && c && r ? "All assays available" : !n && !a && !t && !c && !r ? "No assays available" : `Available:
36
+ ${n ? `DNase
37
+ ` : ""}${a ? `H3K27ac
38
+ ` : ""}${t ? `H3K4me3
39
+ ` : ""}${c ? `CTCF
40
+ ` : ""}${r ? `ATAC
41
+ ` : ""}`;
160
42
  }
43
+ const h = {
44
+ dnase: "#06DA93",
45
+ h3k27ac: "#FFCD00",
46
+ h3k4me3: "#FF0000",
47
+ ctcf: "#00B0F0",
48
+ atac: "#02c7b9"
49
+ };
161
50
  export {
162
- Oe as AggregateDownloadButton,
163
- ke as getAvailableFiles
51
+ h as ASSAY_COLORS,
52
+ f as assayHoverInfo,
53
+ s as fetchFileSize,
54
+ i as formatAssay,
55
+ o as formatFileSize
164
56
  };
165
57
  //# sourceMappingURL=ui-components.es53.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es53.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.es53.js","sources":["../src/components/BiosampleTable/helpers.ts"],"sourcesContent":["/**\n * \n * @param url \n * @param handleSetState \n * \n * Attempts to fetch the file size, and sets state with given fn. -1 if unsucessful\n */\nexport const fetchFileSize = async (url: string, handleSetState: (fileSize: number) => void) => {\n try {\n const response = await fetch(url, { method: \"HEAD\" });\n if (!response.ok) {\n throw new Error(\"Error fetching file size for \" + url)\n }\n const contentLength = response.headers.get(\"Content-Length\");\n if (contentLength) {\n handleSetState(parseInt(contentLength, 10));\n }\n } catch (error) {\n console.error(error);\n handleSetState(-1)\n }\n};\n\nexport const formatFileSize = (fileSize: number) => fileSize === -1 ? \"Unknown Size\" : (fileSize / 1000000).toFixed(1) + \" MB\"\n/**\n *\n * @param assay\n * @returns Formatted assay name\n */\nexport const formatAssay = (assay: CcreAssay) => {\n switch (assay) {\n case \"atac\":\n return \"ATAC\";\n case \"ctcf\":\n return \"CTCF\";\n case \"dnase\":\n return \"DNase\";\n case \"h3k27ac\":\n return \"H3K27ac\";\n case \"h3k4me3\":\n return \"H3K4me3\";\n }\n};\n\nimport { CcreAssay } from \"./types\";\n\n/**\n *\n * @param assays\n * @returns string to display on hover above available assay wheel\n */\nexport function assayHoverInfo(assays: Record<CcreAssay, string | null>) {\n const { dnase, h3k27ac, h3k4me3, ctcf, atac } = assays;\n\n if (dnase && h3k27ac && h3k4me3 && ctcf && atac) {\n return \"All assays available\";\n } else if (!dnase && !h3k27ac && !h3k4me3 && !ctcf && !atac) {\n return \"No assays available\";\n } else\n return `Available:\\n${dnase ? \"DNase\\n\" : \"\"}${h3k27ac ? \"H3K27ac\\n\" : \"\"}${h3k4me3 ? \"H3K4me3\\n\" : \"\"}${ctcf ? \"CTCF\\n\" : \"\"}${\n atac ? \"ATAC\\n\" : \"\"\n }`;\n}\n\nexport const ASSAY_COLORS: Record<CcreAssay, string> = {\n dnase: \"#06DA93\",\n h3k27ac: \"#FFCD00\",\n h3k4me3: \"#FF0000\",\n ctcf: \"#00B0F0\",\n atac: \"#02c7b9\",\n};"],"names":["fetchFileSize","url","handleSetState","response","fetch","method","ok","Error","contentLength","headers","get","parseInt","error","console","formatFileSize","fileSize","toFixed","formatAssay","assay","assayHoverInfo","assays","dnase","h3k27ac","h3k4me3","ctcf","atac","ASSAY_COLORS"],"mappings":"AAOO,MAAMA,IAAgB,OAAOC,GAAaC,MAA+C;AAC9F,MAAI;AACF,UAAMC,IAAW,MAAMC,MAAMH,GAAK;AAAA,MAAEI,QAAQ;AAAA,IAAA,CAAQ;AACpD,QAAI,CAACF,EAASG;AACZ,YAAM,IAAIC,MAAM,kCAAkCN,CAAG;AAEvD,UAAMO,IAAgBL,EAASM,QAAQC,IAAI,gBAAgB;AAC3D,IAAIF,KACFN,EAAeS,SAASH,GAAe,EAAE,CAAC;AAAA,EAE9C,SAASI,GAAO;AACdC,YAAQD,MAAMA,CAAK,GACnBV,EAAe,EAAE;AAAA,EACnB;AACF,GAEaY,IAAiBA,CAACC,MAAqBA,MAAa,KAAK,kBAAkBA,IAAW,KAASC,QAAQ,CAAC,IAAI,OAM5GC,IAAcA,CAACC,MAAqB;AAC/C,UAAQA,GAAAA;AAAAA,IACN,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,EAAA;AAEb;AASO,SAASC,EAAeC,GAA0C;AACvE,QAAM;AAAA,IAAEC,OAAAA;AAAAA,IAAOC,SAAAA;AAAAA,IAASC,SAAAA;AAAAA,IAASC,MAAAA;AAAAA,IAAMC,MAAAA;AAAAA,EAAAA,IAASL;AAEhD,SAAIC,KAASC,KAAWC,KAAWC,KAAQC,IAClC,yBACE,CAACJ,KAAS,CAACC,KAAW,CAACC,KAAW,CAACC,KAAQ,CAACC,IAC9C,wBAEA;AAAA,EAAeJ,IAAQ;AAAA,IAAY,EAAE,GAAGC,IAAU;AAAA,IAAc,EAAE,GAAGC,IAAU;AAAA,IAAc,EAAE,GAAGC,IAAO;AAAA,IAAW,EAAE,GAC3HC,IAAO;AAAA,IAAW,EAAE;AAE1B;AAEO,MAAMC,IAA0C;AAAA,EACrDL,OAAO;AAAA,EACPC,SAAS;AAAA,EACTC,SAAS;AAAA,EACTC,MAAM;AAAA,EACNC,MAAM;AACR;"}
@@ -1,23 +1,165 @@
1
- import { j as s } from "./ui-components.es15.js";
2
- import { c as l } from "./ui-components.es16.js";
3
- import { InfoOutlineRounded as m, WarningAmberRounded as p } from "@mui/icons-material";
4
- import { Typography as c, Stack as d } from "@mui/material";
5
- const b = (a) => {
6
- const e = l.c(7), {
7
- message: i,
8
- variant: n
9
- } = a;
10
- let r;
11
- e[0] !== n ? (r = n === "empty" ? /* @__PURE__ */ s.jsx(m, {}) : /* @__PURE__ */ s.jsx(p, {}), e[0] = n, e[1] = r) : r = e[1];
12
- let t;
13
- e[2] !== i ? (t = /* @__PURE__ */ s.jsx(c, { children: i }), e[2] = i, e[3] = t) : t = e[3];
14
- let o;
15
- return e[4] !== r || e[5] !== t ? (o = /* @__PURE__ */ s.jsxs(d, { direction: "row", border: "1px solid #e0e0e0", borderRadius: 1, p: 2, spacing: 1, children: [
16
- r,
17
- t
18
- ] }), e[4] = r, e[5] = t, e[6] = o) : o = e[6], o;
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 = $;
53
+ 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];
71
+ 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);
91
+ 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;
108
+ 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;
19
148
  };
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);
157
+ }
158
+ function Ae(n) {
159
+ return n.stopPropagation();
160
+ }
20
161
  export {
21
- b as default
162
+ Oe as AggregateDownloadButton,
163
+ ke as getAvailableFiles
22
164
  };
23
165
  //# sourceMappingURL=ui-components.es54.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es54.js","sources":["../src/components/Table/EmptyFallback.tsx"],"sourcesContent":["import { InfoOutlineRounded, WarningAmberRounded } from \"@mui/icons-material\";\nimport { Stack, Typography } from \"@mui/material\";\n\nexport type TableFallbackProps = {\n message: string;\n variant: \"error\" | \"empty\";\n};\n\nconst TableFallback = ({ message, variant }: TableFallbackProps) => {\n return (\n <Stack direction={\"row\"} border={\"1px solid #e0e0e0\"} borderRadius={1} p={2} spacing={1}>\n {variant === \"empty\" ? <InfoOutlineRounded /> : <WarningAmberRounded />}\n <Typography>{message}</Typography>\n </Stack>\n );\n};\n\nexport default TableFallback;\n"],"names":["TableFallback","t0","$","_c","message","variant","t1","jsx","InfoOutlineRounded","WarningAmberRounded","t2","Typography","t3","jsxs","Stack"],"mappings":";;;;AAQA,MAAMA,IAAgBC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAAC;AAAA,IAAAC,SAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAAAJ;AAAwC,MAAAK;AAAA,EAAAJ,SAAAG,KAGxDC,IAAAD,MAAY,UAAUE,gBAAAA,MAACC,GAAA,CAAA,CAAkB,0BAAOC,GAAA,EAAmB,GAAGP,OAAAG,GAAAH,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,SAAAE,KACvEM,0BAACC,kBAAoB,GAAaT,OAAAE,GAAAF,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAAA,MAAAU;AAAA,SAAAV,EAAA,CAAA,MAAAI,KAAAJ,SAAAQ,KAFpCE,IAAAC,gBAAAA,EAAAA,KAACC,GAAA,EAAiB,WAAA,OAAe,QAAA,qBAAmC,cAAA,GAAM,GAAA,GAAY,YACnFR,UAAAA;AAAAA,IAAAA;AAAAA,IACDI;AAAAA,EAAAA,GACF,GAAQR,OAAAI,GAAAJ,OAAAQ,GAAAR,OAAAU,KAAAA,IAAAV,EAAA,CAAA,GAHRU;AAGQ;"}
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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"}