@weng-lab/ui-components 2.2.3 → 3.0.0-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 (731) hide show
  1. package/dist/src/components/BiosampleTable/BiosampleTable.d.ts.map +1 -1
  2. package/dist/src/components/GenomeSearch/GenomeSearch.d.ts +7 -4
  3. package/dist/src/components/GenomeSearch/GenomeSearch.d.ts.map +1 -1
  4. package/dist/src/components/GenomeSearch/queries.d.ts +10 -10
  5. package/dist/src/components/GenomeSearch/queries.d.ts.map +1 -1
  6. package/dist/src/components/GenomeSearch/types.d.ts +27 -12
  7. package/dist/src/components/GenomeSearch/types.d.ts.map +1 -1
  8. package/dist/src/components/GenomeSearch/useEntityAutocomplete.d.ts +3 -10
  9. package/dist/src/components/GenomeSearch/useEntityAutocomplete.d.ts.map +1 -1
  10. package/dist/src/components/GenomeSearch/utils.d.ts.map +1 -1
  11. package/dist/src/components/Table/CustomToolbar.d.ts +2 -10
  12. package/dist/src/components/Table/CustomToolbar.d.ts.map +1 -1
  13. package/dist/src/components/Table/Table.d.ts.map +1 -1
  14. package/dist/src/components/Table/types.d.ts +20 -30
  15. package/dist/src/components/Table/types.d.ts.map +1 -1
  16. package/dist/src/components/TwoPaneLayout/TwoPaneLayout.d.ts +1 -1
  17. package/dist/src/components/TwoPaneLayout/TwoPaneLayout.d.ts.map +1 -1
  18. package/dist/src/components/TwoPaneLayout/types.d.ts +2 -0
  19. package/dist/src/components/TwoPaneLayout/types.d.ts.map +1 -1
  20. package/dist/src/components/TwoPaneLayout/useSyncedTable.d.ts +5 -1
  21. package/dist/src/components/TwoPaneLayout/useSyncedTable.d.ts.map +1 -1
  22. package/dist/ui-components.es10.js +1 -1
  23. package/dist/ui-components.es100.js +8 -7
  24. package/dist/ui-components.es100.js.map +1 -1
  25. package/dist/ui-components.es101.js +8 -447
  26. package/dist/ui-components.es101.js.map +1 -1
  27. package/dist/ui-components.es102.js +3 -3
  28. package/dist/ui-components.es102.js.map +1 -1
  29. package/dist/ui-components.es103.js +2 -4
  30. package/dist/ui-components.es103.js.map +1 -1
  31. package/dist/ui-components.es104.js +3 -3
  32. package/dist/ui-components.es104.js.map +1 -1
  33. package/dist/ui-components.es105.js +31 -14
  34. package/dist/ui-components.es105.js.map +1 -1
  35. package/dist/ui-components.es106.js +13 -41
  36. package/dist/ui-components.es106.js.map +1 -1
  37. package/dist/ui-components.es107.js +57 -7
  38. package/dist/ui-components.es107.js.map +1 -1
  39. package/dist/ui-components.es108.js +7 -24
  40. package/dist/ui-components.es108.js.map +1 -1
  41. package/dist/ui-components.es109.js +449 -3
  42. package/dist/ui-components.es109.js.map +1 -1
  43. package/dist/ui-components.es110.js +3 -6
  44. package/dist/ui-components.es110.js.map +1 -1
  45. package/dist/ui-components.es111.js +2 -13
  46. package/dist/ui-components.es111.js.map +1 -1
  47. package/dist/ui-components.es112.js +14 -5
  48. package/dist/ui-components.es112.js.map +1 -1
  49. package/dist/ui-components.es113.js +41 -19
  50. package/dist/ui-components.es113.js.map +1 -1
  51. package/dist/ui-components.es114.js +7 -6
  52. package/dist/ui-components.es114.js.map +1 -1
  53. package/dist/ui-components.es115.js +22 -46
  54. package/dist/ui-components.es115.js.map +1 -1
  55. package/dist/ui-components.es116.js +3 -18
  56. package/dist/ui-components.es116.js.map +1 -1
  57. package/dist/ui-components.es117.js +7 -413
  58. package/dist/ui-components.es117.js.map +1 -1
  59. package/dist/ui-components.es118.js +5 -497
  60. package/dist/ui-components.es118.js.map +1 -1
  61. package/dist/ui-components.es119.js +5 -344
  62. package/dist/ui-components.es119.js.map +1 -1
  63. package/dist/ui-components.es12.js +111 -79
  64. package/dist/ui-components.es12.js.map +1 -1
  65. package/dist/ui-components.es120.js +7 -272
  66. package/dist/ui-components.es120.js.map +1 -1
  67. package/dist/ui-components.es121.js +29 -176
  68. package/dist/ui-components.es121.js.map +1 -1
  69. package/dist/ui-components.es122.js +20 -279
  70. package/dist/ui-components.es122.js.map +1 -1
  71. package/dist/ui-components.es123.js +7 -238
  72. package/dist/ui-components.es123.js.map +1 -1
  73. package/dist/ui-components.es124.js +4 -3
  74. package/dist/ui-components.es124.js.map +1 -1
  75. package/dist/ui-components.es125.js +4 -21
  76. package/dist/ui-components.es125.js.map +1 -1
  77. package/dist/ui-components.es126.js +7 -6
  78. package/dist/ui-components.es126.js.map +1 -1
  79. package/dist/ui-components.es127.js +6 -10
  80. package/dist/ui-components.es127.js.map +1 -1
  81. package/dist/ui-components.es128.js +48 -3
  82. package/dist/ui-components.es128.js.map +1 -1
  83. package/dist/ui-components.es129.js +17 -5
  84. package/dist/ui-components.es129.js.map +1 -1
  85. package/dist/ui-components.es13.js +59 -38
  86. package/dist/ui-components.es13.js.map +1 -1
  87. package/dist/ui-components.es130.js +413 -8
  88. package/dist/ui-components.es130.js.map +1 -1
  89. package/dist/ui-components.es131.js +498 -4
  90. package/dist/ui-components.es131.js.map +1 -1
  91. package/dist/ui-components.es132.js +344 -7
  92. package/dist/ui-components.es132.js.map +1 -1
  93. package/dist/ui-components.es133.js +272 -5
  94. package/dist/ui-components.es133.js.map +1 -1
  95. package/dist/ui-components.es134.js +177 -7
  96. package/dist/ui-components.es134.js.map +1 -1
  97. package/dist/ui-components.es135.js +280 -30
  98. package/dist/ui-components.es135.js.map +1 -1
  99. package/dist/ui-components.es136.js +238 -4
  100. package/dist/ui-components.es136.js.map +1 -1
  101. package/dist/ui-components.es137.js +3 -8
  102. package/dist/ui-components.es137.js.map +1 -1
  103. package/dist/ui-components.es138.js +6 -6
  104. package/dist/ui-components.es138.js.map +1 -1
  105. package/dist/ui-components.es139.js +6 -7
  106. package/dist/ui-components.es139.js.map +1 -1
  107. package/dist/ui-components.es140.js +6 -7
  108. package/dist/ui-components.es140.js.map +1 -1
  109. package/dist/ui-components.es141.js +8 -198
  110. package/dist/ui-components.es141.js.map +1 -1
  111. package/dist/ui-components.es142.js +7 -6
  112. package/dist/ui-components.es142.js.map +1 -1
  113. package/dist/ui-components.es143.js +198 -6
  114. package/dist/ui-components.es143.js.map +1 -1
  115. package/dist/ui-components.es144.js +7 -7
  116. package/dist/ui-components.es144.js.map +1 -1
  117. package/dist/ui-components.es145.js +4 -345
  118. package/dist/ui-components.es145.js.map +1 -1
  119. package/dist/ui-components.es146.js +5 -7
  120. package/dist/ui-components.es146.js.map +1 -1
  121. package/dist/ui-components.es147.js +12 -4
  122. package/dist/ui-components.es147.js.map +1 -1
  123. package/dist/ui-components.es148.js +7 -5
  124. package/dist/ui-components.es148.js.map +1 -1
  125. package/dist/ui-components.es149.js +24 -11
  126. package/dist/ui-components.es149.js.map +1 -1
  127. package/dist/ui-components.es150.js +160 -7
  128. package/dist/ui-components.es150.js.map +1 -1
  129. package/dist/ui-components.es151.js +4 -24
  130. package/dist/ui-components.es151.js.map +1 -1
  131. package/dist/ui-components.es152.js +20 -159
  132. package/dist/ui-components.es152.js.map +1 -1
  133. package/dist/ui-components.es153.js +3 -5
  134. package/dist/ui-components.es153.js.map +1 -1
  135. package/dist/ui-components.es154.js +7 -21
  136. package/dist/ui-components.es154.js.map +1 -1
  137. package/dist/ui-components.es155.js +4 -3
  138. package/dist/ui-components.es155.js.map +1 -1
  139. package/dist/ui-components.es156.js +4 -8
  140. package/dist/ui-components.es156.js.map +1 -1
  141. package/dist/ui-components.es157.js +37 -4
  142. package/dist/ui-components.es157.js.map +1 -1
  143. package/dist/ui-components.es158.js +345 -4
  144. package/dist/ui-components.es158.js.map +1 -1
  145. package/dist/ui-components.es159.js +273 -35
  146. package/dist/ui-components.es159.js.map +1 -1
  147. package/dist/ui-components.es160.js +8 -275
  148. package/dist/ui-components.es160.js.map +1 -1
  149. package/dist/ui-components.es161.js +6 -8
  150. package/dist/ui-components.es161.js.map +1 -1
  151. package/dist/ui-components.es162.js +7 -6
  152. package/dist/ui-components.es162.js.map +1 -1
  153. package/dist/ui-components.es163.js +7 -311
  154. package/dist/ui-components.es163.js.map +1 -1
  155. package/dist/ui-components.es164.js +311 -6
  156. package/dist/ui-components.es164.js.map +1 -1
  157. package/dist/ui-components.es165.js +6 -6
  158. package/dist/ui-components.es165.js.map +1 -1
  159. package/dist/ui-components.es166.js +5 -5
  160. package/dist/ui-components.es166.js.map +1 -1
  161. package/dist/ui-components.es167.js +6 -8
  162. package/dist/ui-components.es167.js.map +1 -1
  163. package/dist/ui-components.es168.js +7 -59
  164. package/dist/ui-components.es168.js.map +1 -1
  165. package/dist/ui-components.es169.js +59 -7
  166. package/dist/ui-components.es169.js.map +1 -1
  167. package/dist/ui-components.es170.js +7 -25
  168. package/dist/ui-components.es170.js.map +1 -1
  169. package/dist/ui-components.es171.js +124 -27
  170. package/dist/ui-components.es171.js.map +1 -1
  171. package/dist/ui-components.es172.js +4 -11
  172. package/dist/ui-components.es172.js.map +1 -1
  173. package/dist/ui-components.es173.js +4 -4
  174. package/dist/ui-components.es173.js.map +1 -1
  175. package/dist/ui-components.es174.js +3 -196
  176. package/dist/ui-components.es174.js.map +1 -1
  177. package/dist/ui-components.es175.js +100 -187
  178. package/dist/ui-components.es175.js.map +1 -1
  179. package/dist/ui-components.es176.js +6 -9
  180. package/dist/ui-components.es176.js.map +1 -1
  181. package/dist/ui-components.es177.js +63 -22
  182. package/dist/ui-components.es177.js.map +1 -1
  183. package/dist/ui-components.es178.js +177 -6
  184. package/dist/ui-components.es178.js.map +1 -1
  185. package/dist/ui-components.es179.js +192 -8
  186. package/dist/ui-components.es179.js.map +1 -1
  187. package/dist/ui-components.es18.js +1 -1
  188. package/dist/ui-components.es180.js +23 -126
  189. package/dist/ui-components.es180.js.map +1 -1
  190. package/dist/ui-components.es181.js +6 -4
  191. package/dist/ui-components.es181.js.map +1 -1
  192. package/dist/ui-components.es182.js +6 -4
  193. package/dist/ui-components.es182.js.map +1 -1
  194. package/dist/ui-components.es183.js +7 -3
  195. package/dist/ui-components.es183.js.map +1 -1
  196. package/dist/ui-components.es184.js +24 -100
  197. package/dist/ui-components.es184.js.map +1 -1
  198. package/dist/ui-components.es185.js +28 -6
  199. package/dist/ui-components.es185.js.map +1 -1
  200. package/dist/ui-components.es186.js +11 -63
  201. package/dist/ui-components.es186.js.map +1 -1
  202. package/dist/ui-components.es187.js +4 -177
  203. package/dist/ui-components.es187.js.map +1 -1
  204. package/dist/ui-components.es188.js +158 -153
  205. package/dist/ui-components.es188.js.map +1 -1
  206. package/dist/ui-components.es189.js +189 -7
  207. package/dist/ui-components.es189.js.map +1 -1
  208. package/dist/ui-components.es19.js +1 -1
  209. package/dist/ui-components.es190.js +7 -267
  210. package/dist/ui-components.es190.js.map +1 -1
  211. package/dist/ui-components.es191.js +3 -174
  212. package/dist/ui-components.es191.js.map +1 -1
  213. package/dist/ui-components.es192.js +261 -101
  214. package/dist/ui-components.es192.js.map +1 -1
  215. package/dist/ui-components.es193.js +169 -58
  216. package/dist/ui-components.es193.js.map +1 -1
  217. package/dist/ui-components.es194.js +104 -40
  218. package/dist/ui-components.es194.js.map +1 -1
  219. package/dist/ui-components.es195.js +64 -3
  220. package/dist/ui-components.es195.js.map +1 -1
  221. package/dist/ui-components.es196.js +45 -7
  222. package/dist/ui-components.es196.js.map +1 -1
  223. package/dist/ui-components.es197.js +3 -156
  224. package/dist/ui-components.es197.js.map +1 -1
  225. package/dist/ui-components.es198.js +7 -4
  226. package/dist/ui-components.es198.js.map +1 -1
  227. package/dist/ui-components.es199.js +153 -36
  228. package/dist/ui-components.es199.js.map +1 -1
  229. package/dist/ui-components.es20.js +1 -1
  230. package/dist/ui-components.es200.js +4 -26
  231. package/dist/ui-components.es200.js.map +1 -1
  232. package/dist/ui-components.es201.js +39 -8
  233. package/dist/ui-components.es201.js.map +1 -1
  234. package/dist/ui-components.es202.js +25 -27
  235. package/dist/ui-components.es202.js.map +1 -1
  236. package/dist/ui-components.es203.js +7 -123
  237. package/dist/ui-components.es203.js.map +1 -1
  238. package/dist/ui-components.es204.js +28 -12
  239. package/dist/ui-components.es204.js.map +1 -1
  240. package/dist/ui-components.es205.js +122 -4
  241. package/dist/ui-components.es205.js.map +1 -1
  242. package/dist/ui-components.es206.js +13 -294
  243. package/dist/ui-components.es206.js.map +1 -1
  244. package/dist/ui-components.es207.js +5 -93
  245. package/dist/ui-components.es207.js.map +1 -1
  246. package/dist/ui-components.es208.js +293 -9
  247. package/dist/ui-components.es208.js.map +1 -1
  248. package/dist/ui-components.es209.js +91 -79
  249. package/dist/ui-components.es209.js.map +1 -1
  250. package/dist/ui-components.es21.js +1 -1
  251. package/dist/ui-components.es210.js +9 -77
  252. package/dist/ui-components.es210.js.map +1 -1
  253. package/dist/ui-components.es211.js +81 -16
  254. package/dist/ui-components.es211.js.map +1 -1
  255. package/dist/ui-components.es212.js +78 -2
  256. package/dist/ui-components.es212.js.map +1 -1
  257. package/dist/ui-components.es213.js +16 -14
  258. package/dist/ui-components.es213.js.map +1 -1
  259. package/dist/ui-components.es214.js +2 -2
  260. package/dist/ui-components.es214.js.map +1 -1
  261. package/dist/ui-components.es215.js +14 -7
  262. package/dist/ui-components.es215.js.map +1 -1
  263. package/dist/ui-components.es216.js +2 -327
  264. package/dist/ui-components.es216.js.map +1 -1
  265. package/dist/ui-components.es217.js +7 -49
  266. package/dist/ui-components.es217.js.map +1 -1
  267. package/dist/ui-components.es218.js +327 -2
  268. package/dist/ui-components.es218.js.map +1 -1
  269. package/dist/ui-components.es219.js +49 -3
  270. package/dist/ui-components.es219.js.map +1 -1
  271. package/dist/ui-components.es22.js +1 -1
  272. package/dist/ui-components.es220.js +2 -4
  273. package/dist/ui-components.es220.js.map +1 -1
  274. package/dist/ui-components.es221.js +34 -8
  275. package/dist/ui-components.es221.js.map +1 -1
  276. package/dist/ui-components.es222.js +23 -12
  277. package/dist/ui-components.es222.js.map +1 -1
  278. package/dist/ui-components.es223.js +9 -32
  279. package/dist/ui-components.es223.js.map +1 -1
  280. package/dist/ui-components.es224.js +2 -23
  281. package/dist/ui-components.es224.js.map +1 -1
  282. package/dist/ui-components.es225.js +3 -11
  283. package/dist/ui-components.es225.js.map +1 -1
  284. package/dist/ui-components.es226.js +4 -2
  285. package/dist/ui-components.es226.js.map +1 -1
  286. package/dist/ui-components.es227.js +8 -3
  287. package/dist/ui-components.es227.js.map +1 -1
  288. package/dist/ui-components.es228.js +12 -46
  289. package/dist/ui-components.es228.js.map +1 -1
  290. package/dist/ui-components.es229.js +3 -10
  291. package/dist/ui-components.es229.js.map +1 -1
  292. package/dist/ui-components.es23.js +1 -1
  293. package/dist/ui-components.es230.js +45 -3
  294. package/dist/ui-components.es230.js.map +1 -1
  295. package/dist/ui-components.es231.js +11 -209
  296. package/dist/ui-components.es231.js.map +1 -1
  297. package/dist/ui-components.es232.js +1 -1
  298. package/dist/ui-components.es233.js +1 -1
  299. package/dist/ui-components.es234.js +1 -1
  300. package/dist/ui-components.es235.js +2 -2
  301. package/dist/ui-components.es236.js +7 -2
  302. package/dist/ui-components.es236.js.map +1 -1
  303. package/dist/ui-components.es237.js +1 -1
  304. package/dist/ui-components.es238.js +2 -7
  305. package/dist/ui-components.es238.js.map +1 -1
  306. package/dist/ui-components.es239.js +24 -23
  307. package/dist/ui-components.es239.js.map +1 -1
  308. package/dist/ui-components.es24.js +1 -1
  309. package/dist/ui-components.es240.js +34 -117
  310. package/dist/ui-components.es240.js.map +1 -1
  311. package/dist/ui-components.es241.js +7 -59
  312. package/dist/ui-components.es241.js.map +1 -1
  313. package/dist/ui-components.es242.js +3 -4
  314. package/dist/ui-components.es242.js.map +1 -1
  315. package/dist/ui-components.es243.js +6 -14
  316. package/dist/ui-components.es243.js.map +1 -1
  317. package/dist/ui-components.es244.js +474 -36
  318. package/dist/ui-components.es244.js.map +1 -1
  319. package/dist/ui-components.es245.js +168 -5
  320. package/dist/ui-components.es245.js.map +1 -1
  321. package/dist/ui-components.es246.js +232 -17
  322. package/dist/ui-components.es246.js.map +1 -1
  323. package/dist/ui-components.es247.js +2 -9
  324. package/dist/ui-components.es247.js.map +1 -1
  325. package/dist/ui-components.es248.js +2 -8
  326. package/dist/ui-components.es248.js.map +1 -1
  327. package/dist/ui-components.es249.js +10 -8
  328. package/dist/ui-components.es249.js.map +1 -1
  329. package/dist/ui-components.es25.js +9 -9
  330. package/dist/ui-components.es250.js +2 -8
  331. package/dist/ui-components.es250.js.map +1 -1
  332. package/dist/ui-components.es251.js +2 -8
  333. package/dist/ui-components.es251.js.map +1 -1
  334. package/dist/ui-components.es252.js +3 -8
  335. package/dist/ui-components.es252.js.map +1 -1
  336. package/dist/ui-components.es253.js +7 -4
  337. package/dist/ui-components.es253.js.map +1 -1
  338. package/dist/ui-components.es254.js +3 -11
  339. package/dist/ui-components.es254.js.map +1 -1
  340. package/dist/ui-components.es255.js +3 -42
  341. package/dist/ui-components.es255.js.map +1 -1
  342. package/dist/ui-components.es256.js +8 -2
  343. package/dist/ui-components.es256.js.map +1 -1
  344. package/dist/ui-components.es257.js +7 -67
  345. package/dist/ui-components.es257.js.map +1 -1
  346. package/dist/ui-components.es258.js +59 -84
  347. package/dist/ui-components.es258.js.map +1 -1
  348. package/dist/ui-components.es259.js +5 -47
  349. package/dist/ui-components.es259.js.map +1 -1
  350. package/dist/ui-components.es26.js +20 -20
  351. package/dist/ui-components.es260.js +17 -8
  352. package/dist/ui-components.es260.js.map +1 -1
  353. package/dist/ui-components.es261.js +9 -5
  354. package/dist/ui-components.es261.js.map +1 -1
  355. package/dist/ui-components.es262.js +8 -52
  356. package/dist/ui-components.es262.js.map +1 -1
  357. package/dist/ui-components.es263.js +8 -147
  358. package/dist/ui-components.es263.js.map +1 -1
  359. package/dist/ui-components.es264.js +8 -11
  360. package/dist/ui-components.es264.js.map +1 -1
  361. package/dist/ui-components.es265.js +8 -10
  362. package/dist/ui-components.es265.js.map +1 -1
  363. package/dist/ui-components.es266.js +9 -3
  364. package/dist/ui-components.es266.js.map +1 -1
  365. package/dist/ui-components.es267.js +4 -15
  366. package/dist/ui-components.es267.js.map +1 -1
  367. package/dist/ui-components.es268.js +10 -18
  368. package/dist/ui-components.es268.js.map +1 -1
  369. package/dist/ui-components.es269.js +39 -28
  370. package/dist/ui-components.es269.js.map +1 -1
  371. package/dist/ui-components.es27.js +15 -15
  372. package/dist/ui-components.es270.js +23 -11
  373. package/dist/ui-components.es270.js.map +1 -1
  374. package/dist/ui-components.es271.js +117 -11
  375. package/dist/ui-components.es271.js.map +1 -1
  376. package/dist/ui-components.es272.js +4 -149
  377. package/dist/ui-components.es272.js.map +1 -1
  378. package/dist/ui-components.es273.js +14 -11
  379. package/dist/ui-components.es273.js.map +1 -1
  380. package/dist/ui-components.es274.js +38 -6
  381. package/dist/ui-components.es274.js.map +1 -1
  382. package/dist/ui-components.es275.js +2 -8
  383. package/dist/ui-components.es275.js.map +1 -1
  384. package/dist/ui-components.es276.js +67 -6
  385. package/dist/ui-components.es276.js.map +1 -1
  386. package/dist/ui-components.es277.js +82 -168
  387. package/dist/ui-components.es277.js.map +1 -1
  388. package/dist/ui-components.es278.js +46 -7
  389. package/dist/ui-components.es278.js.map +1 -1
  390. package/dist/ui-components.es279.js +7 -520
  391. package/dist/ui-components.es279.js.map +1 -1
  392. package/dist/ui-components.es28.js +6 -6
  393. package/dist/ui-components.es280.js +5 -6
  394. package/dist/ui-components.es280.js.map +1 -1
  395. package/dist/ui-components.es281.js +47 -229
  396. package/dist/ui-components.es281.js.map +1 -1
  397. package/dist/ui-components.es282.js +146 -7
  398. package/dist/ui-components.es282.js.map +1 -1
  399. package/dist/ui-components.es283.js +10 -231
  400. package/dist/ui-components.es283.js.map +1 -1
  401. package/dist/ui-components.es284.js +2 -1
  402. package/dist/ui-components.es284.js.map +1 -1
  403. package/dist/ui-components.es285.js +16 -2
  404. package/dist/ui-components.es285.js.map +1 -1
  405. package/dist/ui-components.es286.js +19 -2
  406. package/dist/ui-components.es286.js.map +1 -1
  407. package/dist/ui-components.es287.js +31 -2
  408. package/dist/ui-components.es287.js.map +1 -1
  409. package/dist/ui-components.es288.js +12 -3
  410. package/dist/ui-components.es288.js.map +1 -1
  411. package/dist/ui-components.es289.js +11 -6
  412. package/dist/ui-components.es289.js.map +1 -1
  413. package/dist/ui-components.es29.js +7 -7
  414. package/dist/ui-components.es290.js +125 -453
  415. package/dist/ui-components.es290.js.map +1 -1
  416. package/dist/ui-components.es291.js +12 -168
  417. package/dist/ui-components.es291.js.map +1 -1
  418. package/dist/ui-components.es292.js +6 -24
  419. package/dist/ui-components.es292.js.map +1 -1
  420. package/dist/ui-components.es293.js +171 -35
  421. package/dist/ui-components.es293.js.map +1 -1
  422. package/dist/ui-components.es294.js +7 -7
  423. package/dist/ui-components.es294.js.map +1 -1
  424. package/dist/ui-components.es295.js +8 -4
  425. package/dist/ui-components.es295.js.map +1 -1
  426. package/dist/ui-components.es296.js +520 -7
  427. package/dist/ui-components.es296.js.map +1 -1
  428. package/dist/ui-components.es297.js +6 -3
  429. package/dist/ui-components.es297.js.map +1 -1
  430. package/dist/ui-components.es298.js +234 -3
  431. package/dist/ui-components.es298.js.map +1 -1
  432. package/dist/ui-components.es299.js +7 -7
  433. package/dist/ui-components.es299.js.map +1 -1
  434. package/dist/ui-components.es3.js +161 -101
  435. package/dist/ui-components.es3.js.map +1 -1
  436. package/dist/ui-components.es30.js +9 -9
  437. package/dist/ui-components.es300.js +7 -2
  438. package/dist/ui-components.es300.js.map +1 -1
  439. package/dist/ui-components.es301.js +6 -2
  440. package/dist/ui-components.es301.js.map +1 -1
  441. package/dist/ui-components.es302.js +6 -8
  442. package/dist/ui-components.es302.js.map +1 -1
  443. package/dist/ui-components.es303.js +6 -6
  444. package/dist/ui-components.es303.js.map +1 -1
  445. package/dist/ui-components.es304.js +4 -4
  446. package/dist/ui-components.es304.js.map +1 -1
  447. package/dist/ui-components.es305.js +7 -6
  448. package/dist/ui-components.es305.js.map +1 -1
  449. package/dist/ui-components.es306.js +7 -6
  450. package/dist/ui-components.es306.js.map +1 -1
  451. package/dist/ui-components.es307.js +243 -7
  452. package/dist/ui-components.es307.js.map +1 -1
  453. package/dist/ui-components.es308.js +8 -243
  454. package/dist/ui-components.es308.js.map +1 -1
  455. package/dist/ui-components.es309.js +48 -7
  456. package/dist/ui-components.es309.js.map +1 -1
  457. package/dist/ui-components.es31.js +10 -10
  458. package/dist/ui-components.es310.js +3 -49
  459. package/dist/ui-components.es310.js.map +1 -1
  460. package/dist/ui-components.es311.js +6 -2
  461. package/dist/ui-components.es311.js.map +1 -1
  462. package/dist/ui-components.es312.js +3 -6
  463. package/dist/ui-components.es312.js.map +1 -1
  464. package/dist/ui-components.es313.js +6 -6
  465. package/dist/ui-components.es313.js.map +1 -1
  466. package/dist/ui-components.es314.js +169 -6
  467. package/dist/ui-components.es314.js.map +1 -1
  468. package/dist/ui-components.es315.js +6 -14
  469. package/dist/ui-components.es315.js.map +1 -1
  470. package/dist/ui-components.es316.js +5 -333
  471. package/dist/ui-components.es316.js.map +1 -1
  472. package/dist/ui-components.es317.js +13 -321
  473. package/dist/ui-components.es317.js.map +1 -1
  474. package/dist/ui-components.es318.js +333 -6
  475. package/dist/ui-components.es318.js.map +1 -1
  476. package/dist/ui-components.es319.js +322 -6
  477. package/dist/ui-components.es319.js.map +1 -1
  478. package/dist/ui-components.es32.js +6 -6
  479. package/dist/ui-components.es320.js +6 -6
  480. package/dist/ui-components.es320.js.map +1 -1
  481. package/dist/ui-components.es321.js +8 -169
  482. package/dist/ui-components.es321.js.map +1 -1
  483. package/dist/ui-components.es322.js +2 -4
  484. package/dist/ui-components.es322.js.map +1 -1
  485. package/dist/ui-components.es323.js +65 -38
  486. package/dist/ui-components.es323.js.map +1 -1
  487. package/dist/ui-components.es324.js +65 -19
  488. package/dist/ui-components.es324.js.map +1 -1
  489. package/dist/ui-components.es325.js +38 -19
  490. package/dist/ui-components.es325.js.map +1 -1
  491. package/dist/ui-components.es326.js +20 -51
  492. package/dist/ui-components.es326.js.map +1 -1
  493. package/dist/ui-components.es327.js +42 -6
  494. package/dist/ui-components.es327.js.map +1 -1
  495. package/dist/ui-components.es328.js +3 -43
  496. package/dist/ui-components.es328.js.map +1 -1
  497. package/dist/ui-components.es329.js +8 -3
  498. package/dist/ui-components.es329.js.map +1 -1
  499. package/dist/ui-components.es33.js +13 -13
  500. package/dist/ui-components.es330.js +40 -7
  501. package/dist/ui-components.es330.js.map +1 -1
  502. package/dist/ui-components.es331.js +61 -37
  503. package/dist/ui-components.es331.js.map +1 -1
  504. package/dist/ui-components.es332.js +46 -62
  505. package/dist/ui-components.es332.js.map +1 -1
  506. package/dist/ui-components.es333.js +18 -47
  507. package/dist/ui-components.es333.js.map +1 -1
  508. package/dist/ui-components.es334.js +50 -7
  509. package/dist/ui-components.es334.js.map +1 -1
  510. package/dist/ui-components.es335.js +7 -76
  511. package/dist/ui-components.es335.js.map +1 -1
  512. package/dist/ui-components.es336.js +7 -23
  513. package/dist/ui-components.es336.js.map +1 -1
  514. package/dist/ui-components.es337.js +23 -4
  515. package/dist/ui-components.es337.js.map +1 -1
  516. package/dist/ui-components.es338.js +3 -3
  517. package/dist/ui-components.es339.js +75 -25
  518. package/dist/ui-components.es339.js.map +1 -1
  519. package/dist/ui-components.es34.js +4 -4
  520. package/dist/ui-components.es340.js +4 -12
  521. package/dist/ui-components.es340.js.map +1 -1
  522. package/dist/ui-components.es341.js +25 -9
  523. package/dist/ui-components.es341.js.map +1 -1
  524. package/dist/ui-components.es342.js +12 -9
  525. package/dist/ui-components.es342.js.map +1 -1
  526. package/dist/ui-components.es343.js +9 -7
  527. package/dist/ui-components.es343.js.map +1 -1
  528. package/dist/ui-components.es344.js +9 -8
  529. package/dist/ui-components.es344.js.map +1 -1
  530. package/dist/ui-components.es345.js +2 -8
  531. package/dist/ui-components.es345.js.map +1 -1
  532. package/dist/ui-components.es346.js +2 -2
  533. package/dist/ui-components.es347.js +7 -65
  534. package/dist/ui-components.es347.js.map +1 -1
  535. package/dist/ui-components.es348.js +8 -65
  536. package/dist/ui-components.es348.js.map +1 -1
  537. package/dist/ui-components.es349.js +2 -2
  538. package/dist/ui-components.es35.js +19 -19
  539. package/dist/ui-components.es350.js +1 -1
  540. package/dist/ui-components.es351.js +2 -6
  541. package/dist/ui-components.es351.js.map +1 -1
  542. package/dist/ui-components.es352.js +2 -25
  543. package/dist/ui-components.es352.js.map +1 -1
  544. package/dist/ui-components.es353.js +1 -1
  545. package/dist/ui-components.es354.js +6 -2
  546. package/dist/ui-components.es354.js.map +1 -1
  547. package/dist/ui-components.es355.js +25 -2
  548. package/dist/ui-components.es355.js.map +1 -1
  549. package/dist/ui-components.es356.js +6 -6
  550. package/dist/ui-components.es356.js.map +1 -1
  551. package/dist/ui-components.es357.js +7 -125
  552. package/dist/ui-components.es357.js.map +1 -1
  553. package/dist/ui-components.es358.js +125 -7
  554. package/dist/ui-components.es358.js.map +1 -1
  555. package/dist/ui-components.es36.js +12 -12
  556. package/dist/ui-components.es366.js +1 -1
  557. package/dist/ui-components.es368.js +1 -1
  558. package/dist/ui-components.es37.js +6 -6
  559. package/dist/ui-components.es370.js +7 -29
  560. package/dist/ui-components.es370.js.map +1 -1
  561. package/dist/ui-components.es371.js +29 -120
  562. package/dist/ui-components.es371.js.map +1 -1
  563. package/dist/ui-components.es372.js +117 -27
  564. package/dist/ui-components.es372.js.map +1 -1
  565. package/dist/ui-components.es373.js +28 -9
  566. package/dist/ui-components.es373.js.map +1 -1
  567. package/dist/ui-components.es374.js +10 -13
  568. package/dist/ui-components.es374.js.map +1 -1
  569. package/dist/ui-components.es375.js +12 -31
  570. package/dist/ui-components.es375.js.map +1 -1
  571. package/dist/ui-components.es376.js +30 -26
  572. package/dist/ui-components.es376.js.map +1 -1
  573. package/dist/ui-components.es377.js +28 -10
  574. package/dist/ui-components.es377.js.map +1 -1
  575. package/dist/ui-components.es378.js +10 -12
  576. package/dist/ui-components.es378.js.map +1 -1
  577. package/dist/ui-components.es379.js +12 -17
  578. package/dist/ui-components.es379.js.map +1 -1
  579. package/dist/ui-components.es38.js +7 -7
  580. package/dist/ui-components.es380.js +17 -23
  581. package/dist/ui-components.es380.js.map +1 -1
  582. package/dist/ui-components.es381.js +20 -13
  583. package/dist/ui-components.es381.js.map +1 -1
  584. package/dist/ui-components.es382.js +12 -92
  585. package/dist/ui-components.es382.js.map +1 -1
  586. package/dist/ui-components.es383.js +91 -39
  587. package/dist/ui-components.es383.js.map +1 -1
  588. package/dist/ui-components.es384.js +41 -25
  589. package/dist/ui-components.es384.js.map +1 -1
  590. package/dist/ui-components.es385.js +23 -66
  591. package/dist/ui-components.es385.js.map +1 -1
  592. package/dist/ui-components.es386.js +66 -46
  593. package/dist/ui-components.es386.js.map +1 -1
  594. package/dist/ui-components.es387.js +47 -30
  595. package/dist/ui-components.es387.js.map +1 -1
  596. package/dist/ui-components.es388.js +30 -37
  597. package/dist/ui-components.es388.js.map +1 -1
  598. package/dist/ui-components.es389.js +41 -6
  599. package/dist/ui-components.es389.js.map +1 -1
  600. package/dist/ui-components.es39.js +5 -5
  601. package/dist/ui-components.es391.js +2 -2
  602. package/dist/ui-components.es392.js +1 -1
  603. package/dist/ui-components.es398.js +15 -11
  604. package/dist/ui-components.es398.js.map +1 -1
  605. package/dist/ui-components.es399.js +3 -9
  606. package/dist/ui-components.es399.js.map +1 -1
  607. package/dist/ui-components.es4.js +3 -3
  608. package/dist/ui-components.es40.js +11 -11
  609. package/dist/ui-components.es400.js +9 -30
  610. package/dist/ui-components.es400.js.map +1 -1
  611. package/dist/ui-components.es401.js +4 -24
  612. package/dist/ui-components.es401.js.map +1 -1
  613. package/dist/ui-components.es402.js +5 -3
  614. package/dist/ui-components.es402.js.map +1 -1
  615. package/dist/ui-components.es403.js +11 -3
  616. package/dist/ui-components.es403.js.map +1 -1
  617. package/dist/ui-components.es404.js +9 -9
  618. package/dist/ui-components.es404.js.map +1 -1
  619. package/dist/ui-components.es405.js +30 -8
  620. package/dist/ui-components.es405.js.map +1 -1
  621. package/dist/ui-components.es406.js +24 -15
  622. package/dist/ui-components.es406.js.map +1 -1
  623. package/dist/ui-components.es407.js +3 -4
  624. package/dist/ui-components.es407.js.map +1 -1
  625. package/dist/ui-components.es408.js +8 -5
  626. package/dist/ui-components.es408.js.map +1 -1
  627. package/dist/ui-components.es409.js +1 -1
  628. package/dist/ui-components.es41.js +15 -15
  629. package/dist/ui-components.es410.js +1 -1
  630. package/dist/ui-components.es413.js +1 -1
  631. package/dist/ui-components.es414.js +1 -1
  632. package/dist/ui-components.es417.js +5 -5
  633. package/dist/ui-components.es42.js +6 -6
  634. package/dist/ui-components.es43.js +13 -13
  635. package/dist/ui-components.es44.js +10 -10
  636. package/dist/ui-components.es45.js +2 -2
  637. package/dist/ui-components.es46.js +1026 -20
  638. package/dist/ui-components.es46.js.map +1 -1
  639. package/dist/ui-components.es47.js +123 -124
  640. package/dist/ui-components.es47.js.map +1 -1
  641. package/dist/ui-components.es48.js +386 -36
  642. package/dist/ui-components.es48.js.map +1 -1
  643. package/dist/ui-components.es49.js +207 -21
  644. package/dist/ui-components.es49.js.map +1 -1
  645. package/dist/ui-components.es5.js +94 -108
  646. package/dist/ui-components.es5.js.map +1 -1
  647. package/dist/ui-components.es50.js +237 -245
  648. package/dist/ui-components.es50.js.map +1 -1
  649. package/dist/ui-components.es51.js +6 -39
  650. package/dist/ui-components.es51.js.map +1 -1
  651. package/dist/ui-components.es52.js +51 -1023
  652. package/dist/ui-components.es52.js.map +1 -1
  653. package/dist/ui-components.es53.js +159 -121
  654. package/dist/ui-components.es53.js.map +1 -1
  655. package/dist/ui-components.es54.js +20 -386
  656. package/dist/ui-components.es54.js.map +1 -1
  657. package/dist/ui-components.es55.js +130 -6
  658. package/dist/ui-components.es55.js.map +1 -1
  659. package/dist/ui-components.es56.js +35 -53
  660. package/dist/ui-components.es56.js.map +1 -1
  661. package/dist/ui-components.es57.js +20 -159
  662. package/dist/ui-components.es57.js.map +1 -1
  663. package/dist/ui-components.es58.js +251 -210
  664. package/dist/ui-components.es58.js.map +1 -1
  665. package/dist/ui-components.es59.js +38 -241
  666. package/dist/ui-components.es59.js.map +1 -1
  667. package/dist/ui-components.es6.js +113 -111
  668. package/dist/ui-components.es6.js.map +1 -1
  669. package/dist/ui-components.es67.js +1 -1
  670. package/dist/ui-components.es68.js +1 -1
  671. package/dist/ui-components.es7.js +1 -1
  672. package/dist/ui-components.es71.js +1 -1
  673. package/dist/ui-components.es72.js +1 -1
  674. package/dist/ui-components.es73.js +2 -6
  675. package/dist/ui-components.es73.js.map +1 -1
  676. package/dist/ui-components.es74.js +2 -6
  677. package/dist/ui-components.es74.js.map +1 -1
  678. package/dist/ui-components.es75.js +2 -6
  679. package/dist/ui-components.es75.js.map +1 -1
  680. package/dist/ui-components.es76.js +2 -6
  681. package/dist/ui-components.es76.js.map +1 -1
  682. package/dist/ui-components.es77.js +14 -296
  683. package/dist/ui-components.es77.js.map +1 -1
  684. package/dist/ui-components.es78.js +206 -328
  685. package/dist/ui-components.es78.js.map +1 -1
  686. package/dist/ui-components.es79.js +6 -284
  687. package/dist/ui-components.es79.js.map +1 -1
  688. package/dist/ui-components.es8.js +42 -44
  689. package/dist/ui-components.es8.js.map +1 -1
  690. package/dist/ui-components.es80.js +6 -261
  691. package/dist/ui-components.es80.js.map +1 -1
  692. package/dist/ui-components.es81.js +6 -171
  693. package/dist/ui-components.es81.js.map +1 -1
  694. package/dist/ui-components.es82.js +6 -13
  695. package/dist/ui-components.es82.js.map +1 -1
  696. package/dist/ui-components.es83.js +296 -14
  697. package/dist/ui-components.es83.js.map +1 -1
  698. package/dist/ui-components.es84.js +331 -2
  699. package/dist/ui-components.es84.js.map +1 -1
  700. package/dist/ui-components.es85.js +284 -2
  701. package/dist/ui-components.es85.js.map +1 -1
  702. package/dist/ui-components.es86.js +261 -2
  703. package/dist/ui-components.es86.js.map +1 -1
  704. package/dist/ui-components.es87.js +171 -2
  705. package/dist/ui-components.es87.js.map +1 -1
  706. package/dist/ui-components.es88.js +13 -5
  707. package/dist/ui-components.es88.js.map +1 -1
  708. package/dist/ui-components.es89.js +5 -9
  709. package/dist/ui-components.es89.js.map +1 -1
  710. package/dist/ui-components.es9.js +2 -2
  711. package/dist/ui-components.es90.js +8 -111
  712. package/dist/ui-components.es90.js.map +1 -1
  713. package/dist/ui-components.es91.js +111 -8
  714. package/dist/ui-components.es91.js.map +1 -1
  715. package/dist/ui-components.es92.js +8 -16
  716. package/dist/ui-components.es92.js.map +1 -1
  717. package/dist/ui-components.es93.js +17 -2
  718. package/dist/ui-components.es93.js.map +1 -1
  719. package/dist/ui-components.es94.js +15 -3
  720. package/dist/ui-components.es94.js.map +1 -1
  721. package/dist/ui-components.es95.js +3 -32
  722. package/dist/ui-components.es95.js.map +1 -1
  723. package/dist/ui-components.es96.js +7 -15
  724. package/dist/ui-components.es96.js.map +1 -1
  725. package/dist/ui-components.es97.js +6 -56
  726. package/dist/ui-components.es97.js.map +1 -1
  727. package/dist/ui-components.es98.js +13 -7
  728. package/dist/ui-components.es98.js.map +1 -1
  729. package/dist/ui-components.es99.js +20 -14
  730. package/dist/ui-components.es99.js.map +1 -1
  731. package/package.json +1 -1
@@ -1,26 +1,212 @@
1
- import { c as p } from "./ui-components.es16.js";
2
- import { useRef as b, useEffect as v } from "react";
3
- import z from "./ui-components.es82.js";
4
- const E = (t, r, h) => {
5
- const e = p.c(5), o = 200, u = b(0);
6
- let s, n;
7
- e[0] !== r || e[1] !== t || e[2] !== o ? (s = () => {
8
- const c = t.current;
9
- if (!c)
10
- return;
11
- const f = z(() => {
12
- const i = c.offsetWidth;
13
- i !== u.current && (u.current = i, r());
14
- }, o), d = new ResizeObserver((i) => {
15
- for (const m of i)
16
- m.borderBoxSize && f();
17
- });
18
- return d.observe(c), () => {
19
- f.clear(), d.disconnect();
1
+ function p(t, c) {
2
+ const e = [];
3
+ t = t.replace(/,/g, "");
4
+ let i, o, r;
5
+ if (t.includes(":") && t.includes("-"))
6
+ i = t.split(":")[0], o = parseInt(t.split(":")[1].split("-")[0]) || 0, r = parseInt(t.split(":")[1].split("-")[1]) || o + 1e3;
7
+ else if (t.includes(" ")) {
8
+ const [h, l, d] = t.split(" ");
9
+ i = h, o = parseInt(l), r = parseInt(d);
10
+ } else
11
+ return e;
12
+ const s = i.replace(/chrx$/, "chrX").replace(/chry$/, "chrY"), a = m[c][s];
13
+ return r > o && a && r <= a && e.push({
14
+ title: `${s}:${o.toLocaleString()}-${r.toLocaleString()}`,
15
+ domain: {
16
+ chromosome: s,
17
+ start: o,
18
+ end: r
19
+ },
20
+ description: `${s}:${o.toLocaleString()}-${r.toLocaleString()}`,
21
+ type: "Coordinate"
22
+ }), e;
23
+ }
24
+ function n(t, c, e) {
25
+ return t ? t.slice(0, c).map((i) => ({
26
+ title: e.getTitle(i),
27
+ description: e.getDescription(i),
28
+ domain: {
29
+ chromosome: i.coordinates.chromosome,
30
+ start: i.coordinates.start,
31
+ end: i.coordinates.end
32
+ },
33
+ type: e.type
34
+ })) : [];
35
+ }
36
+ function g(t, c) {
37
+ return n(t, c, {
38
+ getTitle: (e) => e.id,
39
+ getDescription: (e) => `${e.coordinates.chromosome}:${e.coordinates.start}-${e.coordinates.end}`,
40
+ type: "SNP"
41
+ });
42
+ }
43
+ function $(t, c, e) {
44
+ return n(t, c, {
45
+ getTitle: (i) => i.name,
46
+ getDescription: (i) => {
47
+ let o = "";
48
+ return i.versions.forEach((r, s) => o += "V" + r.version + " " + r.id + (s === i.versions.length - 1 ? "" : `
49
+ `)), `${i.description}
50
+ ${o}
51
+ ${i.coordinates.chromosome}:${i.coordinates.start}-${i.coordinates.end}`;
52
+ },
53
+ type: "Gene"
54
+ });
55
+ }
56
+ function u(t, c) {
57
+ return t.slice(0, c).map((e) => ({
58
+ title: e.disease_trait,
59
+ description: `${e.author.replace("_", " ")} (${e.studyid.split("-")[1]})
60
+ ${e.parent_terms.join(",")}
61
+ ${e.has_enrichment_info ? "Biosample Enrichment" : ""}`,
62
+ domain: void 0,
63
+ id: e.studyid,
64
+ type: "Study"
65
+ }));
66
+ }
67
+ function y(t) {
68
+ return t.map((c) => ({
69
+ title: c.label,
70
+ description: c.description ?? "",
71
+ domain: void 0,
72
+ id: c.value,
73
+ type: "Ome"
74
+ }));
75
+ }
76
+ function v(t, c) {
77
+ return n(t, c, {
78
+ getTitle: (e) => e.accession,
79
+ getDescription: (e) => `${e.coordinates.chromosome}:${e.coordinates.start}-${e.coordinates.end}`,
80
+ type: "iCRE"
81
+ });
82
+ }
83
+ function f(t, c) {
84
+ return n(t, c, {
85
+ getTitle: (e) => e.accession,
86
+ getDescription: (e) => `${e.coordinates.chromosome}:${e.coordinates.start}-${e.coordinates.end}${e.isiCRE ? ", iCRE" : ""}`,
87
+ type: "cCRE"
88
+ });
89
+ }
90
+ function R(t, c) {
91
+ return t.filter((e) => e.input !== e.v4_match_or_intersecting).slice(0, c).map((e) => {
92
+ const i = e.input_region, o = e.v4_match_or_intersecting;
93
+ return {
94
+ title: e.input,
95
+ // !!! Do not change this format without also modifying SCREEN's /search page. This specific formatting is relied upon
96
+ // At most two overlapping v4 cCREs are ever returned, so a single (non-global) comma replace is sufficient for the "a, b" rendering.
97
+ description: `(Registry ${e.input_latest_previous_version})
98
+ ${e.input_region}
99
+ ${o ? `Intersects v4 cCRE${o.includes(",") ? "s" : ""}: ${o.replace(",", ", ")}` : "No intersecting v4 cCREs"}`,
100
+ domain: {
101
+ chromosome: i.split(":")[0],
102
+ start: parseInt(i.split(":")[1].split("-")[0]),
103
+ end: parseInt(i.split(":")[1].split("-")[1])
104
+ },
105
+ type: "Legacy cCRE"
20
106
  };
21
- }, n = [t, r, o], e[0] = r, e[1] = t, e[2] = o, e[3] = s, e[4] = n) : (s = e[3], n = e[4]), v(s, n);
107
+ });
108
+ }
109
+ const b = [{
110
+ label: "Proteomics",
111
+ value: "proteomics",
112
+ keywords: ["protein", "mass spec"]
113
+ }, {
114
+ label: "WGS",
115
+ value: "WGS",
116
+ keywords: ["whole genome sequencing", "genome sequencing", "genomics"],
117
+ description: "Whole Genome Sequencing"
118
+ }, {
119
+ label: "WGBS",
120
+ value: "WGBS",
121
+ keywords: ["whole genome bisulfite sequencing", "epigenomics", "methylation"],
122
+ description: "Whole Genome Bisulfite Sequencing"
123
+ }, {
124
+ label: "ATAC",
125
+ value: "ATAC",
126
+ keywords: ["chromatin accessibility", "atac-seq"],
127
+ description: "ATAC-seq"
128
+ }, {
129
+ label: "RNA",
130
+ value: "RNA",
131
+ keywords: ["rna-seq", "transcriptomics", "gene expression"],
132
+ description: "RNA-seq"
133
+ }, {
134
+ label: "Metabolomics",
135
+ value: "metabolomics"
136
+ }, {
137
+ label: "Lipidomics",
138
+ value: "lipidomics"
139
+ }, {
140
+ label: "Metallomics",
141
+ value: "metallomics"
142
+ }, {
143
+ label: "Exposomics",
144
+ value: "exposomics"
145
+ }], m = {
146
+ GRCh38: {
147
+ chr1: 248956422,
148
+ chr2: 242193529,
149
+ chr3: 198295559,
150
+ chr4: 190214555,
151
+ chr5: 181538259,
152
+ chr6: 170805979,
153
+ chr7: 159345973,
154
+ chr8: 145138636,
155
+ chr9: 138394717,
156
+ chr10: 133797422,
157
+ chr11: 135086622,
158
+ chr12: 133275309,
159
+ chr13: 114364328,
160
+ chr14: 107043718,
161
+ chr15: 101991189,
162
+ chr16: 90338345,
163
+ chr17: 83257441,
164
+ chr18: 80373285,
165
+ chr19: 58617616,
166
+ chr20: 64444167,
167
+ chr21: 46709983,
168
+ chr22: 50818468,
169
+ chrX: 156040895,
170
+ chrY: 57227415
171
+ },
172
+ mm10: {
173
+ chr1: 195471971,
174
+ chr2: 182113224,
175
+ chr3: 160039680,
176
+ chr4: 156508116,
177
+ chr5: 151834684,
178
+ chr6: 149736546,
179
+ chr7: 145441459,
180
+ chr8: 129401213,
181
+ chr9: 124595110,
182
+ chr10: 130694993,
183
+ chr11: 122082543,
184
+ chr12: 120129022,
185
+ chr13: 120421639,
186
+ chr14: 124902244,
187
+ chr15: 104043685,
188
+ chr16: 98207768,
189
+ chr17: 94987271,
190
+ chr18: 90702639,
191
+ chr19: 61431566,
192
+ chrX: 171031299,
193
+ chrY: 91744698
194
+ }
22
195
  };
196
+ function C(t) {
197
+ const c = t.includes(" "), e = t.includes("-"), i = t.length >= 4 && /^[0-9xyXY]$/.test(t[3]);
198
+ return (c || e) && t.startsWith("chr") && i;
199
+ }
23
200
  export {
24
- E as useContainerResize
201
+ b as OmesList,
202
+ f as ccreResultList,
203
+ $ as geneResultList,
204
+ p as getCoordinates,
205
+ v as icreResultList,
206
+ C as isDomain,
207
+ R as legacyCcreResultList,
208
+ y as omeResultsList,
209
+ g as snpResultList,
210
+ u as studyResultList
25
211
  };
26
212
  //# sourceMappingURL=ui-components.es49.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es49.js","sources":["../src/components/Table/useContainerResize.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\nimport { debounce } from \"@mui/material/utils\";\n\n/**\n * Hook that monitors a container element's width changes and triggers a callback\n * when the width changes (debounced to avoid excessive calls).\n *\n * @param containerRef - Ref to the container element to monitor\n * @param callback - Function to call when width changes\n * @param debounceMs - Debounce delay in milliseconds (default: 200)\n */\nexport const useContainerResize = (\n containerRef: React.RefObject<HTMLDivElement | null>,\n callback: () => void,\n debounceMs: number = 200\n): void => {\n const prevWidth = useRef<number>(0);\n\n useEffect(() => {\n const container = containerRef.current;\n if (!container) return;\n\n const debouncedResize = debounce(() => {\n const newWidth = container.offsetWidth;\n\n // ONLY trigger if the actual pixel width of the container changed.\n // This ignores cases where the grid content expands horizontally\n // but the container remains the same size.\n if (newWidth !== prevWidth.current) {\n prevWidth.current = newWidth;\n callback();\n }\n }, debounceMs);\n\n const observer = new ResizeObserver((entries) => {\n for (const entry of entries) {\n // Use borderBoxSize for more accurate external boundary measurement\n if (entry.borderBoxSize) {\n debouncedResize();\n }\n }\n });\n\n observer.observe(container);\n\n return () => {\n debouncedResize.clear();\n observer.disconnect();\n };\n }, [containerRef, callback, debounceMs]);\n};\n"],"names":["useContainerResize","containerRef","callback","t0","$","_c","debounceMs","prevWidth","useRef","t1","t2","container","current","debouncedResize","debounce","newWidth","offsetWidth","observer","ResizeObserver","entries","entry","borderBoxSize","observe","clear","disconnect","useEffect"],"mappings":";;;AAWO,MAAMA,IAAqBA,CAAAC,GAAAC,GAAAC,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAGhCC,IAAA,KAEAC,IAAkBC,EAAe,CAAC;AAAE,MAAAC,GAAAC;AAAA,EAAAN,EAAA,CAAA,MAAAF,KAAAE,SAAAH,KAAAG,EAAA,CAAA,MAAAE,KAE1BG,IAAAA,MAAA;AACR,UAAAE,IAAkBV,EAAYW;AAC9B,QAAI,CAACD;AAAS;AAEd,UAAAE,IAAwBC,EAAS,MAAA;AAC/B,YAAAC,IAAiBJ,EAASK;AAK1B,MAAID,MAAaR,EAASK,YACxBL,EAASK,UAAWG,GACpBb,EAAAA;AAAAA,IACD,GACAI,CAAU,GAEbW,IAAiB,IAAIC,eAAeC,CAAAA,MAAA;AAClC,iBAAKC,KAAeD;AAElB,QAAIC,EAAKC,iBACPR,EAAAA;AAAAA,IAEH,CACF;AAEDI,WAAAA,EAAQK,QAASX,CAAS,GAEnB,MAAA;AACLE,MAAAA,EAAeU,MAAAA,GACfN,EAAQO,WAAAA;AAAAA,IAAa;AAAA,EACtB,GACAd,KAACT,GAAcC,GAAUI,CAAU,GAACF,OAAAF,GAAAE,OAAAH,GAAAG,OAAAE,GAAAF,OAAAK,GAAAL,OAAAM,MAAAD,IAAAL,EAAA,CAAA,GAAAM,IAAAN,EAAA,CAAA,IA/BvCqB,EAAUhB,GA+BPC,CAAoC;AAAC;"}
1
+ {"version":3,"file":"ui-components.es49.js","sources":["../src/components/GenomeSearch/utils.ts"],"sourcesContent":["import { CCREResponse, GeneResponse, ICREResponse, LegacyCcreResponse, Result, ResultType, SnpResponse, StudyResponse } from \"./types\";\n\n/**\n * Get the coordinates from a string input.\n * @param input - The input string to search for coordinates\n * @param assembly - The assembly to search for coordinates\n * @returns An array of results with the coordinates\n */\nexport function getCoordinates(input: string, assembly: string): Result[] {\n const results: Result[] = [];\n input = input.replace(/,/g, \"\");\n\n let chromosome: string, start: number, end: number;\n\n if (input.includes(\":\") && input.includes(\"-\")) {\n chromosome = input.split(\":\")[0];\n start = parseInt(input.split(\":\")[1].split(\"-\")[0]) || 0;\n end = parseInt(input.split(\":\")[1].split(\"-\")[1]) || start + 1000;\n } else if (input.includes(\"\\t\")) {\n const [chr, startStr, endStr] = input.split(\"\\t\");\n chromosome = chr;\n start = parseInt(startStr);\n end = parseInt(endStr);\n } else {\n return results;\n }\n\n // Normalize chromosome name to use capital X and Y\n const normalizedChromosome = chromosome.replace(/chrx$/, \"chrX\").replace(/chry$/, \"chrY\");\n\n const chrLength = chromosomeLengths[assembly][normalizedChromosome];\n if (end > start && chrLength && end <= chrLength) {\n results.push({\n title: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n domain: {\n chromosome: normalizedChromosome,\n start: start,\n end: end,\n },\n description: `${normalizedChromosome}:${start.toLocaleString()}-${end.toLocaleString()}`,\n type: \"Coordinate\",\n });\n }\n\n return results;\n}\n\n// Common interface for result formatting options\ninterface ResultFormatterOptions<T> {\n getTitle: (result: T) => string;\n getDescription: (result: T) => string;\n type: string;\n}\n\n// Generic formatter function\nfunction formatResults<T extends { coordinates: { chromosome: string; start: number; end: number } }>(\n results: T[] | null,\n limit: number,\n options: ResultFormatterOptions<T>\n): Result[] {\n if (!results) {\n return [];\n }\n return results.slice(0, limit).map((result) => ({\n title: options.getTitle(result),\n description: options.getDescription(result),\n domain: {\n chromosome: result.coordinates.chromosome,\n start: result.coordinates.start,\n end: result.coordinates.end,\n },\n type: options.type as ResultType,\n }));\n}\n\n// Specific formatters using the generic function\nexport function snpResultList(results: SnpResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.id,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"SNP\",\n });\n}\n\nexport function geneResultList(results: GeneResponse[], limit: number, showVersions: boolean): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.name,\n getDescription: (result) => {\n let idStr = \"\";\n result.versions.forEach(\n (x, i) => (idStr += \"V\" + x.version + \" \" + x.id + (i === result.versions.length - 1 ? \"\" : \"\\n\"))\n );\n return `${result.description}\\n${idStr}\\n${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`;\n },\n type: \"Gene\",\n });\n}\n\nexport function studyResultList(results: StudyResponse[], limit: number): Result[] {\n return results.slice(0, limit).map((result) => ({\n title: result.disease_trait,\n description: `${result.author.replace(\"_\", \" \")} (${result.studyid.split(\"-\")[1]})\\n${result.parent_terms.join(\",\")}\\n ${result.has_enrichment_info ? \"Biosample Enrichment\" : \"\"}`,\n domain: undefined,\n id: result.studyid,\n type: \"Study\",\n }));\n}\n\nexport function omeResultsList(results: OmeOption[]): Result[] {\n return results.map((ome) => ({\n title: ome.label,\n description: ome.description ?? \"\",\n domain: undefined,\n id: ome.value,\n type: \"Ome\",\n }));\n}\n\nexport function icreResultList(results: ICREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${result.coordinates.end}`,\n type: \"iCRE\",\n });\n}\n\nexport function ccreResultList(results: CCREResponse[], limit: number): Result[] {\n return formatResults(results, limit, {\n getTitle: (result) => result.accession,\n getDescription: (result) =>\n `${result.coordinates.chromosome}:${result.coordinates.start}-${\n result.coordinates.end\n }${result.isiCRE ? \", iCRE\" : \"\"}`,\n type: \"cCRE\",\n });\n}\n\nexport function legacyCcreResultList(results: LegacyCcreResponse[], limit: number): Result[] {\n return results\n .filter((result) => result.input !== result.v4_match_or_intersecting) //filter v4 cCREs\n .slice(0, limit)\n .map((result) => {\n const region = result.input_region;\n const overlapping = result.v4_match_or_intersecting\n return {\n title: result.input,\n // !!! Do not change this format without also modifying SCREEN's /search page. This specific formatting is relied upon\n // At most two overlapping v4 cCREs are ever returned, so a single (non-global) comma replace is sufficient for the \"a, b\" rendering.\n description: `(Registry ${result.input_latest_previous_version})\\n${result.input_region}\\n${overlapping ? `Intersects v4 cCRE${overlapping.includes(\",\") ? \"s\" : \"\"}: ${overlapping.replace(\",\", \", \")}` : \"No intersecting v4 cCREs\"}`,\n domain: {\n chromosome: region.split(\":\")[0],\n start: parseInt(region.split(\":\")[1].split(\"-\")[0]),\n end: parseInt(region.split(\":\")[1].split(\"-\")[1]),\n },\n type: \"Legacy cCRE\",\n };\n });\n}\n\nexport interface OmeOption {\n label: string;\n value: string;\n keywords?: string[];\n description?: string;\n}\n//allows the user to search more freely and get the result they are looking for\n//will look at label as well as keywords\nexport const OmesList: OmeOption[] = [\n {\n label: \"Proteomics\",\n value: \"proteomics\",\n keywords: [\"protein\", \"mass spec\"],\n },\n {\n label: \"WGS\",\n value: \"WGS\",\n keywords: [\"whole genome sequencing\", \"genome sequencing\", \"genomics\"],\n description: \"Whole Genome Sequencing\"\n },\n {\n label: \"WGBS\",\n value: \"WGBS\",\n keywords: [\"whole genome bisulfite sequencing\", \"epigenomics\", \"methylation\"],\n description: \"Whole Genome Bisulfite Sequencing\"\n },\n {\n label: \"ATAC\",\n value: \"ATAC\",\n keywords: [\"chromatin accessibility\", \"atac-seq\"],\n description: \"ATAC-seq\"\n },\n {\n label: \"RNA\",\n value: \"RNA\",\n keywords: [\"rna-seq\", \"transcriptomics\", \"gene expression\"],\n description: \"RNA-seq\"\n },\n {\n label: \"Metabolomics\",\n value: \"metabolomics\",\n },\n {\n label: \"Lipidomics\",\n value: \"lipidomics\",\n },\n {\n label: \"Metallomics\",\n value: \"metallomics\",\n },\n {\n label: \"Exposomics\",\n value: \"exposomics\",\n },\n];\n\n// Object to store chromosome lengths for GRCh38 and mm10\nconst chromosomeLengths: { [key: string]: { [key: string]: number } } = {\n GRCh38: {\n chr1: 248956422,\n chr2: 242193529,\n chr3: 198295559,\n chr4: 190214555,\n chr5: 181538259,\n chr6: 170805979,\n chr7: 159345973,\n chr8: 145138636,\n chr9: 138394717,\n chr10: 133797422,\n chr11: 135086622,\n chr12: 133275309,\n chr13: 114364328,\n chr14: 107043718,\n chr15: 101991189,\n chr16: 90338345,\n chr17: 83257441,\n chr18: 80373285,\n chr19: 58617616,\n chr20: 64444167,\n chr21: 46709983,\n chr22: 50818468,\n chrX: 156040895,\n chrY: 57227415,\n },\n mm10: {\n chr1: 195471971,\n chr2: 182113224,\n chr3: 160039680,\n chr4: 156508116,\n chr5: 151834684,\n chr6: 149736546,\n chr7: 145441459,\n chr8: 129401213,\n chr9: 124595110,\n chr10: 130694993,\n chr11: 122082543,\n chr12: 120129022,\n chr13: 120421639,\n chr14: 124902244,\n chr15: 104043685,\n chr16: 98207768,\n chr17: 94987271,\n chr18: 90702639,\n chr19: 61431566,\n chrX: 171031299,\n chrY: 91744698,\n },\n};\n\nexport function isDomain(input: string) {\n const hasTabs = input.includes(\"\\t\");\n const hasHyphens = input.includes(\"-\");\n const hasChromosomeNumber = input.length >= 4 && /^[0-9xyXY]$/.test(input[3]);\n return (hasTabs || hasHyphens) && input.startsWith(\"chr\") && hasChromosomeNumber;\n}"],"names":["getCoordinates","input","assembly","results","replace","chromosome","start","end","includes","split","parseInt","chr","startStr","endStr","normalizedChromosome","chrLength","chromosomeLengths","push","title","toLocaleString","domain","description","type","formatResults","limit","options","slice","map","result","getTitle","getDescription","coordinates","snpResultList","id","geneResultList","showVersions","name","idStr","versions","forEach","x","i","version","length","studyResultList","disease_trait","author","studyid","parent_terms","join","has_enrichment_info","undefined","omeResultsList","ome","label","value","icreResultList","accession","ccreResultList","isiCRE","legacyCcreResultList","filter","v4_match_or_intersecting","region","input_region","overlapping","input_latest_previous_version","OmesList","keywords","GRCh38","chr1","chr2","chr3","chr4","chr5","chr6","chr7","chr8","chr9","chr10","chr11","chr12","chr13","chr14","chr15","chr16","chr17","chr18","chr19","chr20","chr21","chr22","chrX","chrY","mm10","isDomain","hasTabs","hasHyphens","hasChromosomeNumber","test","startsWith"],"mappings":"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"}
@@ -1,159 +1,145 @@
1
- import { j as u } from "./ui-components.es15.js";
1
+ import { j as c } from "./ui-components.es15.js";
2
2
  import { c as y } from "./ui-components.es16.js";
3
- import { useGridApiRef as $, useKeepGroupedColumnsHidden as I, DataGridPremium as M } from "@mui/x-data-grid-premium";
4
- import { useRef as E, useMemo as z, useCallback as O, useEffect as C } from "react";
5
- import k from "./ui-components.es46.js";
6
- import { CustomToolbar as W } from "./ui-components.es47.js";
7
- import { HeaderWithTooltip as _ } from "./ui-components.es48.js";
8
- import { useContainerResize as N } from "./ui-components.es49.js";
9
- import B from "./ui-components.es50.js";
10
- import K from "./ui-components.es51.js";
11
- const j = {
3
+ import { useGridApiRef as E, useKeepGroupedColumnsHidden as z, DataGridPremium as P } from "@mui/x-data-grid-premium";
4
+ import { useRef as k, useMemo as A, useCallback as D, useEffect as j } from "react";
5
+ import w from "./ui-components.es54.js";
6
+ import { CustomToolbar as G } from "./ui-components.es55.js";
7
+ import { HeaderWithTooltip as $ } from "./ui-components.es56.js";
8
+ import { useContainerResize as F } from "./ui-components.es57.js";
9
+ import M from "./ui-components.es58.js";
10
+ import O from "./ui-components.es59.js";
11
+ const C = {
12
12
  expand: !0,
13
13
  includeHeaders: !0,
14
14
  outliersFactor: 1.5
15
- }, q = (a) => {
15
+ }, _ = (l) => {
16
16
  const {
17
17
  pagination: e = !0,
18
- columns: i,
18
+ columns: o,
19
19
  density: t = "compact",
20
20
  rows: r,
21
- apiRef: o,
21
+ apiRef: i,
22
22
  showToolbar: s = !0,
23
23
  divHeight: d,
24
- sx: l = {},
25
- slots: m = {},
26
- label: H,
27
- labelTooltip: h,
28
- downloadFileName: b,
29
- toolbarSlot: p,
30
- toolbarStyle: g,
31
- toolbarIconColor: c,
24
+ sx: n = {},
25
+ slots: f = {},
26
+ slotProps: H = {},
27
+ label: g,
32
28
  initialState: x,
33
- onReady: A,
34
- ...D
35
- } = a, w = E(null), S = E({
36
- label: H,
37
- downloadFileName: b,
38
- labelTooltip: h,
39
- toolbarSlot: p,
40
- toolbarStyle: g,
41
- toolbarIconColor: c
42
- });
43
- S.current = {
44
- label: H,
45
- downloadFileName: b,
46
- labelTooltip: h,
47
- toolbarSlot: p,
48
- toolbarStyle: g,
49
- toolbarIconColor: c
50
- };
51
- const G = z(() => (n) => /* @__PURE__ */ u.jsx(W, { ...n, ...S.current }), []), T = z(() => i.map((n) => n.tooltip ? {
52
- ...n,
53
- renderHeader: (v) => /* @__PURE__ */ u.jsx(
54
- _,
29
+ onReady: p,
30
+ ...b
31
+ } = l, u = k(null), h = A(() => o.map((a) => a.tooltip ? {
32
+ ...a,
33
+ renderHeader: (R) => /* @__PURE__ */ c.jsx(
34
+ $,
55
35
  {
56
- params: v,
57
- tooltipTitle: n.tooltip,
58
- originalRenderHeader: n.renderHeader
36
+ params: R,
37
+ tooltipTitle: a.tooltip,
38
+ originalRenderHeader: a.renderHeader
59
39
  }
60
40
  )
61
- } : n), [i]), P = $(), f = o ?? P, R = O(() => {
62
- f.current?.autosizeColumns && f.current.autosizeColumns(j);
63
- }, [f]);
64
- C(() => {
65
- R();
66
- }, [r, T, R]), C(() => f.current?.subscribeEvent("rowExpansionChange", (n) => {
67
- n.childrenExpanded && f.current?.autosizeColumns(j);
68
- }), [f]), C(() => {
69
- if (!f.current) return;
70
- const n = A?.(f);
71
- if (n)
72
- return Array.isArray(n) ? () => n.forEach((v) => v()) : n;
73
- }, []), N(w, R);
74
- const F = I({
75
- apiRef: f,
41
+ } : a), [o]), S = E(), m = i ?? S, v = D(() => {
42
+ m.current?.autosizeColumns && m.current.autosizeColumns(C);
43
+ }, [m]);
44
+ j(() => {
45
+ v();
46
+ }, [r, h, v]), j(() => m.current?.subscribeEvent("rowExpansionChange", (a) => {
47
+ a.childrenExpanded && m.current?.autosizeColumns(C);
48
+ }), [m]), j(() => {
49
+ if (!m.current) return;
50
+ const a = p?.(m);
51
+ if (a)
52
+ return Array.isArray(a) ? () => a.forEach((R) => R()) : a;
53
+ }, []), F(u, v);
54
+ const T = z({
55
+ apiRef: m,
76
56
  initialState: x
77
57
  });
78
- return /* @__PURE__ */ u.jsx("div", { ref: w, style: {
58
+ return /* @__PURE__ */ c.jsx("div", { ref: u, style: {
79
59
  width: "100%",
80
60
  height: "100%"
81
- }, children: /* @__PURE__ */ u.jsx(M, { apiRef: f, columns: T, autosizeOnMount: !0, rows: r, autosizeOptions: j, disableRowSelectionOnClick: !0, showToolbar: s, density: t, sx: {
61
+ }, children: /* @__PURE__ */ c.jsx(P, { apiRef: m, columns: h, autosizeOnMount: !0, rows: r, autosizeOptions: C, disableRowSelectionOnClick: !0, showToolbar: s, density: t, sx: {
82
62
  "& .MuiDataGrid-toolbarDivider": {
83
63
  height: "20px"
84
64
  },
85
- ...l
65
+ ...n
86
66
  }, slots: {
87
67
  toolbar: G,
88
- ...m
89
- }, disableAggregation: !0, disablePivoting: !0, initialState: F, ...D }) });
90
- }, J = (a) => {
68
+ ...f
69
+ }, slotProps: {
70
+ ...H,
71
+ toolbar: {
72
+ label: g,
73
+ ...H?.toolbar
74
+ }
75
+ }, disableAggregation: !0, disablePivoting: !0, initialState: T, ...b }) });
76
+ }, I = (l) => {
91
77
  const e = y.c(8), {
92
- autoHeight: i,
78
+ autoHeight: o,
93
79
  divHeight: t,
94
80
  children: r
95
- } = a;
96
- let o;
97
- e[0] !== t ? (o = t === void 0 ? {} : t, e[0] = t, e[1] = o) : o = e[1];
98
- const s = o, d = i ? "auto" : "100%";
99
- let l;
100
- e[2] !== s || e[3] !== d ? (l = {
81
+ } = l;
82
+ let i;
83
+ e[0] !== t ? (i = t === void 0 ? {} : t, e[0] = t, e[1] = i) : i = e[1];
84
+ const s = i, d = o ? "auto" : "100%";
85
+ let n;
86
+ e[2] !== s || e[3] !== d ? (n = {
101
87
  display: "flex",
102
88
  flexDirection: "column",
103
89
  height: d,
104
90
  ...s
105
- }, e[2] = s, e[3] = d, e[4] = l) : l = e[4];
106
- let m;
107
- return e[5] !== r || e[6] !== l ? (m = /* @__PURE__ */ u.jsx("div", { style: l, children: r }), e[5] = r, e[6] = l, e[7] = m) : m = e[7], m;
108
- }, L = (a) => {
91
+ }, e[2] = s, e[3] = d, e[4] = n) : n = e[4];
92
+ let f;
93
+ return e[5] !== r || e[6] !== n ? (f = /* @__PURE__ */ c.jsx("div", { style: n, children: r }), e[5] = r, e[6] = n, e[7] = f) : f = e[7], f;
94
+ }, W = (l) => {
109
95
  const e = y.c(3), {
110
- children: i
111
- } = a;
96
+ children: o
97
+ } = l;
112
98
  let t;
113
- e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ u.jsx(B, { variant: "rounded", width: "100%", height: "100%", sx: {
99
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ c.jsx(M, { variant: "rounded", width: "100%", height: "100%", sx: {
114
100
  minHeight: 100
115
101
  } }), e[0] = t) : t = e[0];
116
102
  let r;
117
- return e[1] !== i ? (r = /* @__PURE__ */ u.jsx(K, { fallback: t, children: i }), e[1] = i, e[2] = r) : r = e[2], r;
118
- }, ne = (a) => {
103
+ return e[1] !== o ? (r = /* @__PURE__ */ c.jsx(O, { fallback: t, children: o }), e[1] = o, e[2] = r) : r = e[2], r;
104
+ }, Z = (l) => {
119
105
  const e = y.c(23);
120
- let i, t, r, o, s, d;
121
- e[0] !== a ? ({
106
+ let o, t, r, i, s, d;
107
+ e[0] !== l ? ({
122
108
  rows: s,
123
109
  emptyTableFallback: t,
124
110
  error: d,
125
111
  label: r,
126
- divHeight: i,
127
- ...o
128
- } = a, e[0] = a, e[1] = i, e[2] = t, e[3] = r, e[4] = o, e[5] = s, e[6] = d) : (i = e[1], t = e[2], r = e[3], o = e[4], s = e[5], d = e[6]);
129
- let l;
130
- e[7] !== s ? (l = s === void 0 ? [] : s, e[7] = s, e[8] = l) : l = e[8];
131
- const m = l, H = d === void 0 ? !1 : d;
132
- let h;
133
- e[9] !== m ? (h = m.map(Q), e[9] = m, e[10] = h) : h = e[10];
134
- const b = h;
135
- if (t && b.length === 0 && !o.loading) {
136
- let c;
137
- return e[11] !== t ? (c = typeof t == "string" ? /* @__PURE__ */ u.jsx(k, { message: t, variant: "empty" }) : t, e[11] = t, e[12] = c) : c = e[12], c;
112
+ divHeight: o,
113
+ ...i
114
+ } = l, e[0] = l, e[1] = o, e[2] = t, e[3] = r, e[4] = i, e[5] = s, e[6] = d) : (o = e[1], t = e[2], r = e[3], i = e[4], s = e[5], d = e[6]);
115
+ let n;
116
+ e[7] !== s ? (n = s === void 0 ? [] : s, e[7] = s, e[8] = n) : n = e[8];
117
+ const f = n, H = d === void 0 ? !1 : d;
118
+ let g;
119
+ e[9] !== f ? (g = f.map(B), e[9] = f, e[10] = g) : g = e[10];
120
+ const x = g;
121
+ if (t && x.length === 0 && !i.loading) {
122
+ let u;
123
+ return e[11] !== t ? (u = typeof t == "string" ? /* @__PURE__ */ c.jsx(w, { message: t, variant: "empty" }) : t, e[11] = t, e[12] = u) : u = e[12], u;
138
124
  }
139
125
  if (H) {
140
- const c = `Error fetching ${r}`;
141
- let x;
142
- return e[13] !== c ? (x = /* @__PURE__ */ u.jsx(k, { message: c, variant: "error" }), e[13] = c, e[14] = x) : x = e[14], x;
126
+ const u = `Error fetching ${r}`;
127
+ let h;
128
+ return e[13] !== u ? (h = /* @__PURE__ */ c.jsx(w, { message: u, variant: "error" }), e[13] = u, e[14] = h) : h = e[14], h;
143
129
  }
144
130
  let p;
145
- e[15] !== r || e[16] !== o || e[17] !== b ? (p = /* @__PURE__ */ u.jsx(L, { children: /* @__PURE__ */ u.jsx(q, { rows: b, label: r, ...o }) }), e[15] = r, e[16] = o, e[17] = b, e[18] = p) : p = e[18];
146
- let g;
147
- return e[19] !== i || e[20] !== o.autoHeight || e[21] !== p ? (g = /* @__PURE__ */ u.jsx(J, { divHeight: i, autoHeight: o.autoHeight, children: p }), e[19] = i, e[20] = o.autoHeight, e[21] = p, e[22] = g) : g = e[22], g;
131
+ e[15] !== r || e[16] !== i || e[17] !== x ? (p = /* @__PURE__ */ c.jsx(W, { children: /* @__PURE__ */ c.jsx(_, { rows: x, label: r, ...i }) }), e[15] = r, e[16] = i, e[17] = x, e[18] = p) : p = e[18];
132
+ let b;
133
+ return e[19] !== o || e[20] !== i.autoHeight || e[21] !== p ? (b = /* @__PURE__ */ c.jsx(I, { divHeight: o, autoHeight: i.autoHeight, children: p }), e[19] = o, e[20] = i.autoHeight, e[21] = p, e[22] = b) : b = e[22], b;
148
134
  };
149
- function Q(a, e) {
135
+ function B(l, e) {
150
136
  return {
151
- ...a,
152
- id: a?.id || e
137
+ ...l,
138
+ id: l?.id || e
153
139
  };
154
140
  }
155
141
  export {
156
- j as autosizeOptions,
157
- ne as default
142
+ C as autosizeOptions,
143
+ Z as default
158
144
  };
159
145
  //# sourceMappingURL=ui-components.es5.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es5.js","sources":["../src/components/Table/Table.tsx"],"sourcesContent":["import {\n DataGridPremium,\n GridApiPremium,\n GridAutosizeOptions,\n GridColDef,\n GridColumnHeaderParams,\n GridToolbarProps,\n ToolbarPropsOverrides,\n useGridApiRef,\n useKeepGroupedColumnsHidden,\n} from \"@mui/x-data-grid-premium\";\nimport NoSsr from \"@mui/material/NoSsr\";\nimport Skeleton from \"@mui/material/Skeleton\";\nimport { useMemo, useEffect, useCallback, useRef, ReactNode, CSSProperties, RefObject } from \"react\";\nimport TableFallback from \"./EmptyFallback\";\nimport { TableProps } from \"./types\";\nimport { CustomToolbar } from \"./CustomToolbar\";\nimport { HeaderWithTooltip } from \"./HeaderWithToolip\";\nimport { useContainerResize } from \"./useContainerResize\";\n\nexport const autosizeOptions: GridAutosizeOptions = {\n expand: true,\n includeHeaders: true,\n outliersFactor: 1.5,\n};\n\ntype CustomDataGridProps = Omit<TableProps, \"emptyTableFallback\" | \"error\"> & { rows: NonNullable<TableProps[\"rows\"]> };\n\nconst CustomDataGridPremium = (props: CustomDataGridProps) => {\n const {\n pagination = true,\n columns,\n density = \"compact\",\n rows,\n apiRef: externalApiRef,\n showToolbar = true,\n divHeight,\n sx = {},\n slots = {},\n label,\n labelTooltip,\n downloadFileName,\n toolbarSlot,\n toolbarStyle,\n toolbarIconColor,\n initialState,\n onReady,\n ...restDataGridProps\n } = props;\n\n // Create a ref for the wrapper div to measure container resizing\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n const toolbarPropsRef = useRef({ label, downloadFileName, labelTooltip, toolbarSlot, toolbarStyle, toolbarIconColor });\n toolbarPropsRef.current = { label, downloadFileName, labelTooltip, toolbarSlot, toolbarStyle, toolbarIconColor };\n\n // Stable component identity regardless of toolbar prop changes, so DataGrid never unmounts/remounts the toolbar slot\n const CustomToolbarWrapper = useMemo(\n () => (props: GridToolbarProps & ToolbarPropsOverrides) => <CustomToolbar {...props} {...toolbarPropsRef.current} />,\n []\n );\n\n // This handles transforming columns of the TableColDef type back to GridColDef, dealing with adding the tooltip element to the RenderHeader\n const transformedColumns: GridColDef[] = useMemo(() => {\n return columns.map((col) => {\n // If no tooltip is defined, return the column as-is\n if (!col.tooltip) {\n return col;\n }\n\n // If tooltip exists, override the renderHeader with HeaderWithTooltip\n return {\n ...col,\n renderHeader: (params: GridColumnHeaderParams) => (\n <HeaderWithTooltip\n params={params}\n tooltipTitle={col.tooltip!} // We know it exists here\n originalRenderHeader={col.renderHeader} // Pass the user's custom renderer if it exists\n />\n ),\n };\n });\n }, [columns]);\n\n const internalApiRef = useGridApiRef();\n // prioritize using the provided apiRef if available, otherwise create a new one\n const apiRef = externalApiRef ?? internalApiRef;\n\n const handleResizeCols = useCallback(() => {\n // need to check .autosizeColumns since the current was being set with an empty object\n if (!apiRef.current?.autosizeColumns) return;\n apiRef.current.autosizeColumns(autosizeOptions);\n }, [apiRef]);\n\n // trigger resize when rows or columns change so that rows/columns don't need to be memoized outside of this component\n // otherwise sometimes would snap back to default widths when rows/columns change\n useEffect(() => {\n handleResizeCols();\n }, [rows, transformedColumns, handleResizeCols]);\n\n useEffect(() => {\n return apiRef.current?.subscribeEvent(\"rowExpansionChange\", (params) => {\n if (params.childrenExpanded) {\n apiRef.current?.autosizeColumns(autosizeOptions);\n }\n });\n }, [apiRef]);\n\n useEffect(() => {\n if (!apiRef.current) return;\n const cleanups = onReady?.(apiRef as RefObject<GridApiPremium>);\n if (!cleanups) return;\n if (Array.isArray(cleanups)) return () => cleanups.forEach(fn => fn());\n return cleanups;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Measure wrapper div for changes in size to trigger autosizeColumns\n // Both resize and viewportInnerSizeChange events on the DataGrid are triggered on column resize so couldn't use those instead\n useContainerResize(wrapperRef, handleResizeCols);\n\n const internalInitialState = useKeepGroupedColumnsHidden({\n apiRef,\n initialState,\n });\n\n return (\n <div ref={wrapperRef} style={{ width: \"100%\", height: '100%' }}>\n <DataGridPremium\n apiRef={apiRef}\n columns={transformedColumns}\n autosizeOnMount\n rows={rows}\n autosizeOptions={autosizeOptions}\n disableRowSelectionOnClick\n showToolbar={showToolbar}\n density={density}\n sx={{\n \"& .MuiDataGrid-toolbarDivider\": {\n height: \"20px\",\n },\n ...sx,\n }}\n slots={{\n toolbar: CustomToolbarWrapper,\n ...slots,\n }}\n disableAggregation\n disablePivoting\n initialState={internalInitialState}\n {...restDataGridProps}\n />\n </div>\n );\n};\n\nconst TableContainer = ({\n autoHeight,\n divHeight = {},\n children,\n}: {\n autoHeight?: boolean;\n divHeight?: TableProps[\"divHeight\"];\n children: ReactNode;\n}) => (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: autoHeight ? \"auto\" : \"100%\",\n ...divHeight,\n }}\n >\n {children}\n </div>\n);\n\nconst TableSSRBoundary = ({ children }: { children: ReactNode }) => (\n <NoSsr fallback={<Skeleton variant=\"rounded\" width=\"100%\" height=\"100%\" sx={{ minHeight: 100 }} />}>\n {children}\n </NoSsr>\n);\n\nconst Table = (props: TableProps) => {\n const {\n rows = [],\n emptyTableFallback,\n error = false,\n label,\n divHeight,\n ...restProps\n } = props;\n\n //Assign default ID if no ID is provided in the row data\n const rowsWithIds = useMemo(() => rows.map((row, index) => ({ ...row, id: row?.id || index })), [rows]);\n\n if (emptyTableFallback && rowsWithIds.length === 0 && !restProps.loading) {\n return typeof emptyTableFallback === \"string\" ? (\n <TableFallback message={emptyTableFallback} variant=\"empty\" />\n ) : (\n emptyTableFallback\n );\n }\n\n if (error) {\n return <TableFallback message={`Error fetching ${label}`} variant=\"error\" />;\n }\n\n return (\n <TableContainer divHeight={divHeight} autoHeight={restProps.autoHeight}>\n <TableSSRBoundary>\n <CustomDataGridPremium rows={rowsWithIds} label={label} {...restProps} />\n </TableSSRBoundary>\n </TableContainer>\n );\n};\n\nexport default Table;\n"],"names":["autosizeOptions","expand","includeHeaders","outliersFactor","CustomDataGridPremium","props","pagination","columns","density","rows","apiRef","externalApiRef","showToolbar","divHeight","sx","slots","label","labelTooltip","downloadFileName","toolbarSlot","toolbarStyle","toolbarIconColor","initialState","onReady","restDataGridProps","wrapperRef","useRef","toolbarPropsRef","current","CustomToolbarWrapper","useMemo","jsx","CustomToolbar","transformedColumns","map","col","tooltip","renderHeader","params","HeaderWithTooltip","internalApiRef","useGridApiRef","handleResizeCols","useCallback","autosizeColumns","useEffect","subscribeEvent","childrenExpanded","cleanups","Array","isArray","forEach","fn","useContainerResize","internalInitialState","useKeepGroupedColumnsHidden","width","height","DataGridPremium","toolbar","TableContainer","t0","$","_c","autoHeight","t1","children","t2","undefined","t3","t4","display","flexDirection","t5","TableSSRBoundary","Symbol","for","Skeleton","minHeight","NoSsr","Table","emptyTableFallback","restProps","error","_temp","rowsWithIds","length","loading","TableFallback","row","index","id"],"mappings":"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"}
1
+ {"version":3,"file":"ui-components.es5.js","sources":["../src/components/Table/Table.tsx"],"sourcesContent":["import {\n DataGridPremium,\n GridApiPremium,\n GridAutosizeOptions,\n GridColDef,\n GridColumnHeaderParams,\n useGridApiRef,\n useKeepGroupedColumnsHidden,\n} from \"@mui/x-data-grid-premium\";\nimport NoSsr from \"@mui/material/NoSsr\";\nimport Skeleton from \"@mui/material/Skeleton\";\nimport { useMemo, useEffect, useCallback, useRef, ReactNode, RefObject } from \"react\";\nimport TableFallback from \"./EmptyFallback\";\nimport { TableProps } from \"./types\";\nimport { CustomToolbar } from \"./CustomToolbar\";\nimport { HeaderWithTooltip } from \"./HeaderWithToolip\";\nimport { useContainerResize } from \"./useContainerResize\";\n\nexport const autosizeOptions: GridAutosizeOptions = {\n expand: true,\n includeHeaders: true,\n outliersFactor: 1.5,\n};\n\ntype CustomDataGridProps = Omit<TableProps, \"emptyTableFallback\" | \"error\"> & { rows: NonNullable<TableProps[\"rows\"]> };\n\nconst CustomDataGridPremium = (props: CustomDataGridProps) => {\n const {\n pagination = true,\n columns,\n density = \"compact\",\n rows,\n apiRef: externalApiRef,\n showToolbar = true,\n divHeight,\n sx = {},\n slots = {},\n slotProps = {},\n label,\n initialState,\n onReady,\n ...restDataGridProps\n } = props;\n\n // Create a ref for the wrapper div to measure container resizing\n const wrapperRef = useRef<HTMLDivElement>(null);\n\n // This handles transforming columns of the TableColDef type back to GridColDef, dealing with adding the tooltip element to the RenderHeader\n const transformedColumns: GridColDef[] = useMemo(() => {\n return columns.map((col) => {\n // If no tooltip is defined, return the column as-is\n if (!col.tooltip) {\n return col;\n }\n\n // If tooltip exists, override the renderHeader with HeaderWithTooltip\n return {\n ...col,\n renderHeader: (params: GridColumnHeaderParams) => (\n <HeaderWithTooltip\n params={params}\n tooltipTitle={col.tooltip!} // We know it exists here\n originalRenderHeader={col.renderHeader} // Pass the user's custom renderer if it exists\n />\n ),\n };\n });\n }, [columns]);\n\n const internalApiRef = useGridApiRef();\n // prioritize using the provided apiRef if available, otherwise create a new one\n const apiRef = externalApiRef ?? internalApiRef;\n\n const handleResizeCols = useCallback(() => {\n // need to check .autosizeColumns since the current was being set with an empty object\n if (!apiRef.current?.autosizeColumns) return;\n apiRef.current.autosizeColumns(autosizeOptions);\n }, [apiRef]);\n\n // trigger resize when rows or columns change so that rows/columns don't need to be memoized outside of this component\n // otherwise sometimes would snap back to default widths when rows/columns change\n useEffect(() => {\n handleResizeCols();\n }, [rows, transformedColumns, handleResizeCols]);\n\n useEffect(() => {\n return apiRef.current?.subscribeEvent(\"rowExpansionChange\", (params) => {\n if (params.childrenExpanded) {\n apiRef.current?.autosizeColumns(autosizeOptions);\n }\n });\n }, [apiRef]);\n\n useEffect(() => {\n if (!apiRef.current) return;\n const cleanups = onReady?.(apiRef as RefObject<GridApiPremium>);\n if (!cleanups) return;\n if (Array.isArray(cleanups)) return () => cleanups.forEach(fn => fn());\n return cleanups;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n // Measure wrapper div for changes in size to trigger autosizeColumns\n // Both resize and viewportInnerSizeChange events on the DataGrid are triggered on column resize so couldn't use those instead\n useContainerResize(wrapperRef, handleResizeCols);\n\n const internalInitialState = useKeepGroupedColumnsHidden({\n apiRef,\n initialState,\n });\n\n return (\n <div ref={wrapperRef} style={{ width: \"100%\", height: '100%' }}>\n <DataGridPremium\n apiRef={apiRef}\n columns={transformedColumns}\n autosizeOnMount\n rows={rows}\n autosizeOptions={autosizeOptions}\n disableRowSelectionOnClick\n showToolbar={showToolbar}\n density={density}\n sx={{\n \"& .MuiDataGrid-toolbarDivider\": {\n height: \"20px\",\n },\n ...sx,\n }}\n slots={{\n toolbar: CustomToolbar,\n ...slots,\n }}\n slotProps={{\n ...slotProps,\n toolbar: {\n label,\n ...slotProps?.toolbar,\n },\n }}\n disableAggregation\n disablePivoting\n initialState={internalInitialState}\n {...restDataGridProps}\n />\n </div>\n );\n};\n\nconst TableContainer = ({\n autoHeight,\n divHeight = {},\n children,\n}: {\n autoHeight?: boolean;\n divHeight?: TableProps[\"divHeight\"];\n children: ReactNode;\n}) => (\n <div\n style={{\n display: \"flex\",\n flexDirection: \"column\",\n height: autoHeight ? \"auto\" : \"100%\",\n ...divHeight,\n }}\n >\n {children}\n </div>\n);\n\nconst TableSSRBoundary = ({ children }: { children: ReactNode }) => (\n <NoSsr fallback={<Skeleton variant=\"rounded\" width=\"100%\" height=\"100%\" sx={{ minHeight: 100 }} />}>\n {children}\n </NoSsr>\n);\n\nconst Table = (props: TableProps) => {\n const {\n rows = [],\n emptyTableFallback,\n error = false,\n label,\n divHeight,\n ...restProps\n } = props;\n\n //Assign default ID if no ID is provided in the row data\n const rowsWithIds = useMemo(() => rows.map((row, index) => ({ ...row, id: row?.id || index })), [rows]);\n\n if (emptyTableFallback && rowsWithIds.length === 0 && !restProps.loading) {\n return typeof emptyTableFallback === \"string\" ? (\n <TableFallback message={emptyTableFallback} variant=\"empty\" />\n ) : (\n emptyTableFallback\n );\n }\n\n if (error) {\n return <TableFallback message={`Error fetching ${label}`} variant=\"error\" />;\n }\n\n return (\n <TableContainer divHeight={divHeight} autoHeight={restProps.autoHeight}>\n <TableSSRBoundary>\n <CustomDataGridPremium rows={rowsWithIds} label={label} {...restProps} />\n </TableSSRBoundary>\n </TableContainer>\n );\n};\n\nexport default Table;\n"],"names":["autosizeOptions","expand","includeHeaders","outliersFactor","CustomDataGridPremium","props","pagination","columns","density","rows","apiRef","externalApiRef","showToolbar","divHeight","sx","slots","slotProps","label","initialState","onReady","restDataGridProps","wrapperRef","useRef","transformedColumns","useMemo","map","col","tooltip","renderHeader","params","jsx","HeaderWithTooltip","internalApiRef","useGridApiRef","handleResizeCols","useCallback","current","autosizeColumns","useEffect","subscribeEvent","childrenExpanded","cleanups","Array","isArray","forEach","fn","useContainerResize","internalInitialState","useKeepGroupedColumnsHidden","width","height","DataGridPremium","toolbar","CustomToolbar","TableContainer","t0","$","_c","autoHeight","t1","children","t2","undefined","t3","t4","display","flexDirection","t5","TableSSRBoundary","Symbol","for","Skeleton","minHeight","NoSsr","Table","emptyTableFallback","restProps","error","_temp","rowsWithIds","length","loading","TableFallback","row","index","id"],"mappings":"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"}