@weng-lab/ui-components 2.2.4 → 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 (756) 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/useSyncedTable.d.ts +5 -1
  17. package/dist/src/components/TwoPaneLayout/useSyncedTable.d.ts.map +1 -1
  18. package/dist/ui-components.es10.js +1 -1
  19. package/dist/ui-components.es100.js +7 -7
  20. package/dist/ui-components.es100.js.map +1 -1
  21. package/dist/ui-components.es101.js +10 -6
  22. package/dist/ui-components.es101.js.map +1 -1
  23. package/dist/ui-components.es102.js +3 -9
  24. package/dist/ui-components.es102.js.map +1 -1
  25. package/dist/ui-components.es103.js +2 -5
  26. package/dist/ui-components.es103.js.map +1 -1
  27. package/dist/ui-components.es104.js +3 -7
  28. package/dist/ui-components.es104.js.map +1 -1
  29. package/dist/ui-components.es105.js +31 -5
  30. package/dist/ui-components.es105.js.map +1 -1
  31. package/dist/ui-components.es106.js +15 -30
  32. package/dist/ui-components.es106.js.map +1 -1
  33. package/dist/ui-components.es107.js +57 -7
  34. package/dist/ui-components.es107.js.map +1 -1
  35. package/dist/ui-components.es108.js +7 -48
  36. package/dist/ui-components.es108.js.map +1 -1
  37. package/dist/ui-components.es109.js +448 -196
  38. package/dist/ui-components.es109.js.map +1 -1
  39. package/dist/ui-components.es110.js +3 -18
  40. package/dist/ui-components.es110.js.map +1 -1
  41. package/dist/ui-components.es111.js +3 -280
  42. package/dist/ui-components.es111.js.map +1 -1
  43. package/dist/ui-components.es112.js +14 -6
  44. package/dist/ui-components.es112.js.map +1 -1
  45. package/dist/ui-components.es113.js +42 -6
  46. package/dist/ui-components.es113.js.map +1 -1
  47. package/dist/ui-components.es114.js +7 -7
  48. package/dist/ui-components.es114.js.map +1 -1
  49. package/dist/ui-components.es115.js +24 -4
  50. package/dist/ui-components.es115.js.map +1 -1
  51. package/dist/ui-components.es116.js +3 -5
  52. package/dist/ui-components.es116.js.map +1 -1
  53. package/dist/ui-components.es117.js +6 -20
  54. package/dist/ui-components.es117.js.map +1 -1
  55. package/dist/ui-components.es118.js +5 -11
  56. package/dist/ui-components.es118.js.map +1 -1
  57. package/dist/ui-components.es119.js +4 -7
  58. package/dist/ui-components.es119.js.map +1 -1
  59. package/dist/ui-components.es12.js +111 -79
  60. package/dist/ui-components.es12.js.map +1 -1
  61. package/dist/ui-components.es120.js +6 -24
  62. package/dist/ui-components.es120.js.map +1 -1
  63. package/dist/ui-components.es121.js +30 -3
  64. package/dist/ui-components.es121.js.map +1 -1
  65. package/dist/ui-components.es122.js +19 -159
  66. package/dist/ui-components.es122.js.map +1 -1
  67. package/dist/ui-components.es123.js +6 -3
  68. package/dist/ui-components.es123.js.map +1 -1
  69. package/dist/ui-components.es124.js +4 -5
  70. package/dist/ui-components.es124.js.map +1 -1
  71. package/dist/ui-components.es125.js +4 -3
  72. package/dist/ui-components.es125.js.map +1 -1
  73. package/dist/ui-components.es126.js +7 -21
  74. package/dist/ui-components.es126.js.map +1 -1
  75. package/dist/ui-components.es127.js +7 -3
  76. package/dist/ui-components.es127.js.map +1 -1
  77. package/dist/ui-components.es128.js +47 -14
  78. package/dist/ui-components.es128.js.map +1 -1
  79. package/dist/ui-components.es129.js +18 -7
  80. package/dist/ui-components.es129.js.map +1 -1
  81. package/dist/ui-components.es13.js +59 -38
  82. package/dist/ui-components.es13.js.map +1 -1
  83. package/dist/ui-components.es130.js +413 -4
  84. package/dist/ui-components.es130.js.map +1 -1
  85. package/dist/ui-components.es131.js +498 -4
  86. package/dist/ui-components.es131.js.map +1 -1
  87. package/dist/ui-components.es132.js +341 -34
  88. package/dist/ui-components.es132.js.map +1 -1
  89. package/dist/ui-components.es133.js +229 -302
  90. package/dist/ui-components.es133.js.map +1 -1
  91. package/dist/ui-components.es134.js +127 -225
  92. package/dist/ui-components.es134.js.map +1 -1
  93. package/dist/ui-components.es135.js +280 -6
  94. package/dist/ui-components.es135.js.map +1 -1
  95. package/dist/ui-components.es136.js +238 -8
  96. package/dist/ui-components.es136.js.map +1 -1
  97. package/dist/ui-components.es137.js +3 -8
  98. package/dist/ui-components.es137.js.map +1 -1
  99. package/dist/ui-components.es138.js +6 -6
  100. package/dist/ui-components.es138.js.map +1 -1
  101. package/dist/ui-components.es139.js +6 -6
  102. package/dist/ui-components.es139.js.map +1 -1
  103. package/dist/ui-components.es140.js +7 -311
  104. package/dist/ui-components.es140.js.map +1 -1
  105. package/dist/ui-components.es141.js +8 -6
  106. package/dist/ui-components.es141.js.map +1 -1
  107. package/dist/ui-components.es142.js +8 -6
  108. package/dist/ui-components.es142.js.map +1 -1
  109. package/dist/ui-components.es143.js +198 -6
  110. package/dist/ui-components.es143.js.map +1 -1
  111. package/dist/ui-components.es144.js +7 -7
  112. package/dist/ui-components.es144.js.map +1 -1
  113. package/dist/ui-components.es145.js +4 -60
  114. package/dist/ui-components.es145.js.map +1 -1
  115. package/dist/ui-components.es146.js +5 -7
  116. package/dist/ui-components.es146.js.map +1 -1
  117. package/dist/ui-components.es147.js +11 -6
  118. package/dist/ui-components.es147.js.map +1 -1
  119. package/dist/ui-components.es148.js +8 -2
  120. package/dist/ui-components.es148.js.map +1 -1
  121. package/dist/ui-components.es149.js +25 -3
  122. package/dist/ui-components.es149.js.map +1 -1
  123. package/dist/ui-components.es150.js +159 -30
  124. package/dist/ui-components.es150.js.map +1 -1
  125. package/dist/ui-components.es151.js +5 -15
  126. package/dist/ui-components.es151.js.map +1 -1
  127. package/dist/ui-components.es152.js +20 -56
  128. package/dist/ui-components.es152.js.map +1 -1
  129. package/dist/ui-components.es153.js +3 -7
  130. package/dist/ui-components.es153.js.map +1 -1
  131. package/dist/ui-components.es154.js +7 -7
  132. package/dist/ui-components.es154.js.map +1 -1
  133. package/dist/ui-components.es155.js +4 -26
  134. package/dist/ui-components.es155.js.map +1 -1
  135. package/dist/ui-components.es156.js +3 -28
  136. package/dist/ui-components.es156.js.map +1 -1
  137. package/dist/ui-components.es157.js +36 -11
  138. package/dist/ui-components.es157.js.map +1 -1
  139. package/dist/ui-components.es158.js +344 -4
  140. package/dist/ui-components.es158.js.map +1 -1
  141. package/dist/ui-components.es159.js +240 -162
  142. package/dist/ui-components.es159.js.map +1 -1
  143. package/dist/ui-components.es16.js +3 -6
  144. package/dist/ui-components.es16.js.map +1 -1
  145. package/dist/ui-components.es160.js +8 -189
  146. package/dist/ui-components.es160.js.map +1 -1
  147. package/dist/ui-components.es161.js +6 -10
  148. package/dist/ui-components.es161.js.map +1 -1
  149. package/dist/ui-components.es162.js +7 -22
  150. package/dist/ui-components.es162.js.map +1 -1
  151. package/dist/ui-components.es163.js +6 -125
  152. package/dist/ui-components.es163.js.map +1 -1
  153. package/dist/ui-components.es164.js +311 -5
  154. package/dist/ui-components.es164.js.map +1 -1
  155. package/dist/ui-components.es165.js +6 -5
  156. package/dist/ui-components.es165.js.map +1 -1
  157. package/dist/ui-components.es166.js +6 -4
  158. package/dist/ui-components.es166.js.map +1 -1
  159. package/dist/ui-components.es167.js +6 -102
  160. package/dist/ui-components.es167.js.map +1 -1
  161. package/dist/ui-components.es168.js +7 -6
  162. package/dist/ui-components.es168.js.map +1 -1
  163. package/dist/ui-components.es169.js +57 -61
  164. package/dist/ui-components.es169.js.map +1 -1
  165. package/dist/ui-components.es17.js +41 -3
  166. package/dist/ui-components.es17.js.map +1 -1
  167. package/dist/ui-components.es170.js +7 -177
  168. package/dist/ui-components.es170.js.map +1 -1
  169. package/dist/ui-components.es171.js +124 -190
  170. package/dist/ui-components.es171.js.map +1 -1
  171. package/dist/ui-components.es172.js +4 -6
  172. package/dist/ui-components.es172.js.map +1 -1
  173. package/dist/ui-components.es173.js +4 -269
  174. package/dist/ui-components.es173.js.map +1 -1
  175. package/dist/ui-components.es174.js +3 -174
  176. package/dist/ui-components.es174.js.map +1 -1
  177. package/dist/ui-components.es175.js +98 -106
  178. package/dist/ui-components.es175.js.map +1 -1
  179. package/dist/ui-components.es176.js +6 -7
  180. package/dist/ui-components.es176.js.map +1 -1
  181. package/dist/ui-components.es177.js +63 -63
  182. package/dist/ui-components.es177.js.map +1 -1
  183. package/dist/ui-components.es178.js +173 -41
  184. package/dist/ui-components.es178.js.map +1 -1
  185. package/dist/ui-components.es179.js +192 -3
  186. package/dist/ui-components.es179.js.map +1 -1
  187. package/dist/ui-components.es18.js +6 -54
  188. package/dist/ui-components.es18.js.map +1 -1
  189. package/dist/ui-components.es180.js +22 -7
  190. package/dist/ui-components.es180.js.map +1 -1
  191. package/dist/ui-components.es181.js +6 -155
  192. package/dist/ui-components.es181.js.map +1 -1
  193. package/dist/ui-components.es182.js +6 -4
  194. package/dist/ui-components.es182.js.map +1 -1
  195. package/dist/ui-components.es183.js +8 -39
  196. package/dist/ui-components.es183.js.map +1 -1
  197. package/dist/ui-components.es184.js +24 -25
  198. package/dist/ui-components.es184.js.map +1 -1
  199. package/dist/ui-components.es185.js +28 -7
  200. package/dist/ui-components.es185.js.map +1 -1
  201. package/dist/ui-components.es186.js +11 -28
  202. package/dist/ui-components.es186.js.map +1 -1
  203. package/dist/ui-components.es187.js +4 -123
  204. package/dist/ui-components.es187.js.map +1 -1
  205. package/dist/ui-components.es188.js +196 -12
  206. package/dist/ui-components.es188.js.map +1 -1
  207. package/dist/ui-components.es189.js +188 -5
  208. package/dist/ui-components.es189.js.map +1 -1
  209. package/dist/ui-components.es19.js +6 -162
  210. package/dist/ui-components.es19.js.map +1 -1
  211. package/dist/ui-components.es190.js +9 -293
  212. package/dist/ui-components.es190.js.map +1 -1
  213. package/dist/ui-components.es191.js +3 -93
  214. package/dist/ui-components.es191.js.map +1 -1
  215. package/dist/ui-components.es192.js +268 -8
  216. package/dist/ui-components.es192.js.map +1 -1
  217. package/dist/ui-components.es193.js +167 -74
  218. package/dist/ui-components.es193.js.map +1 -1
  219. package/dist/ui-components.es194.js +105 -73
  220. package/dist/ui-components.es194.js.map +1 -1
  221. package/dist/ui-components.es195.js +59 -12
  222. package/dist/ui-components.es195.js.map +1 -1
  223. package/dist/ui-components.es196.js +46 -2
  224. package/dist/ui-components.es196.js.map +1 -1
  225. package/dist/ui-components.es197.js +3 -112
  226. package/dist/ui-components.es197.js.map +1 -1
  227. package/dist/ui-components.es198.js +7 -16
  228. package/dist/ui-components.es198.js.map +1 -1
  229. package/dist/ui-components.es199.js +155 -6
  230. package/dist/ui-components.es199.js.map +1 -1
  231. package/dist/ui-components.es2.js +30 -30
  232. package/dist/ui-components.es20.js +6 -41
  233. package/dist/ui-components.es20.js.map +1 -1
  234. package/dist/ui-components.es200.js +4 -10
  235. package/dist/ui-components.es200.js.map +1 -1
  236. package/dist/ui-components.es201.js +34 -445
  237. package/dist/ui-components.es201.js.map +1 -1
  238. package/dist/ui-components.es202.js +26 -3
  239. package/dist/ui-components.es202.js.map +1 -1
  240. package/dist/ui-components.es203.js +8 -3
  241. package/dist/ui-components.es203.js.map +1 -1
  242. package/dist/ui-components.es204.js +28 -42
  243. package/dist/ui-components.es204.js.map +1 -1
  244. package/dist/ui-components.es205.js +123 -7
  245. package/dist/ui-components.es205.js.map +1 -1
  246. package/dist/ui-components.es206.js +12 -23
  247. package/dist/ui-components.es206.js.map +1 -1
  248. package/dist/ui-components.es207.js +5 -6
  249. package/dist/ui-components.es207.js.map +1 -1
  250. package/dist/ui-components.es208.js +293 -412
  251. package/dist/ui-components.es208.js.map +1 -1
  252. package/dist/ui-components.es209.js +91 -495
  253. package/dist/ui-components.es209.js.map +1 -1
  254. package/dist/ui-components.es21.js +5 -5
  255. package/dist/ui-components.es21.js.map +1 -1
  256. package/dist/ui-components.es210.js +8 -342
  257. package/dist/ui-components.es210.js.map +1 -1
  258. package/dist/ui-components.es211.js +81 -271
  259. package/dist/ui-components.es211.js.map +1 -1
  260. package/dist/ui-components.es212.js +74 -173
  261. package/dist/ui-components.es212.js.map +1 -1
  262. package/dist/ui-components.es213.js +16 -237
  263. package/dist/ui-components.es213.js.map +1 -1
  264. package/dist/ui-components.es214.js +2 -4
  265. package/dist/ui-components.es214.js.map +1 -1
  266. package/dist/ui-components.es217.js +3 -3
  267. package/dist/ui-components.es218.js +4 -4
  268. package/dist/ui-components.es219.js +1 -1
  269. package/dist/ui-components.es22.js +5 -5
  270. package/dist/ui-components.es22.js.map +1 -1
  271. package/dist/ui-components.es220.js +2 -35
  272. package/dist/ui-components.es220.js.map +1 -1
  273. package/dist/ui-components.es221.js +34 -22
  274. package/dist/ui-components.es221.js.map +1 -1
  275. package/dist/ui-components.es222.js +22 -11
  276. package/dist/ui-components.es222.js.map +1 -1
  277. package/dist/ui-components.es223.js +12 -2
  278. package/dist/ui-components.es223.js.map +1 -1
  279. package/dist/ui-components.es224.js +2 -2
  280. package/dist/ui-components.es225.js +2 -2
  281. package/dist/ui-components.es225.js.map +1 -1
  282. package/dist/ui-components.es226.js +3 -45
  283. package/dist/ui-components.es226.js.map +1 -1
  284. package/dist/ui-components.es227.js +8 -10
  285. package/dist/ui-components.es227.js.map +1 -1
  286. package/dist/ui-components.es228.js +12 -2
  287. package/dist/ui-components.es228.js.map +1 -1
  288. package/dist/ui-components.es229.js +4 -2
  289. package/dist/ui-components.es229.js.map +1 -1
  290. package/dist/ui-components.es23.js +5 -5
  291. package/dist/ui-components.es23.js.map +1 -1
  292. package/dist/ui-components.es230.js +45 -6
  293. package/dist/ui-components.es230.js.map +1 -1
  294. package/dist/ui-components.es231.js +10 -6
  295. package/dist/ui-components.es231.js.map +1 -1
  296. package/dist/ui-components.es232.js +2 -9
  297. package/dist/ui-components.es232.js.map +1 -1
  298. package/dist/ui-components.es233.js +2 -2
  299. package/dist/ui-components.es234.js +2 -2
  300. package/dist/ui-components.es235.js +6 -59
  301. package/dist/ui-components.es235.js.map +1 -1
  302. package/dist/ui-components.es236.js +6 -23
  303. package/dist/ui-components.es236.js.map +1 -1
  304. package/dist/ui-components.es237.js +2 -118
  305. package/dist/ui-components.es237.js.map +1 -1
  306. package/dist/ui-components.es238.js +2 -4
  307. package/dist/ui-components.es238.js.map +1 -1
  308. package/dist/ui-components.es239.js +22 -12
  309. package/dist/ui-components.es239.js.map +1 -1
  310. package/dist/ui-components.es24.js +5 -5
  311. package/dist/ui-components.es24.js.map +1 -1
  312. package/dist/ui-components.es240.js +34 -38
  313. package/dist/ui-components.es240.js.map +1 -1
  314. package/dist/ui-components.es241.js +8 -5
  315. package/dist/ui-components.es241.js.map +1 -1
  316. package/dist/ui-components.es242.js +3 -17
  317. package/dist/ui-components.es242.js.map +1 -1
  318. package/dist/ui-components.es243.js +7 -9
  319. package/dist/ui-components.es243.js.map +1 -1
  320. package/dist/ui-components.es244.js +477 -8
  321. package/dist/ui-components.es244.js.map +1 -1
  322. package/dist/ui-components.es245.js +168 -8
  323. package/dist/ui-components.es245.js.map +1 -1
  324. package/dist/ui-components.es246.js +232 -8
  325. package/dist/ui-components.es246.js.map +1 -1
  326. package/dist/ui-components.es247.js +2 -8
  327. package/dist/ui-components.es247.js.map +1 -1
  328. package/dist/ui-components.es248.js +2 -9
  329. package/dist/ui-components.es248.js.map +1 -1
  330. package/dist/ui-components.es249.js +8 -3
  331. package/dist/ui-components.es249.js.map +1 -1
  332. package/dist/ui-components.es25.js +255 -6
  333. package/dist/ui-components.es25.js.map +1 -1
  334. package/dist/ui-components.es250.js +2 -11
  335. package/dist/ui-components.es250.js.map +1 -1
  336. package/dist/ui-components.es251.js +2 -42
  337. package/dist/ui-components.es251.js.map +1 -1
  338. package/dist/ui-components.es252.js +4 -2
  339. package/dist/ui-components.es252.js.map +1 -1
  340. package/dist/ui-components.es253.js +7 -24
  341. package/dist/ui-components.es253.js.map +1 -1
  342. package/dist/ui-components.es254.js +3 -35
  343. package/dist/ui-components.es254.js.map +1 -1
  344. package/dist/ui-components.es255.js +3 -8
  345. package/dist/ui-components.es255.js.map +1 -1
  346. package/dist/ui-components.es256.js +8 -3
  347. package/dist/ui-components.es256.js.map +1 -1
  348. package/dist/ui-components.es257.js +7 -6
  349. package/dist/ui-components.es257.js.map +1 -1
  350. package/dist/ui-components.es258.js +57 -474
  351. package/dist/ui-components.es258.js.map +1 -1
  352. package/dist/ui-components.es259.js +5 -168
  353. package/dist/ui-components.es259.js.map +1 -1
  354. package/dist/ui-components.es26.js +726 -6
  355. package/dist/ui-components.es26.js.map +1 -1
  356. package/dist/ui-components.es260.js +16 -3
  357. package/dist/ui-components.es260.js.map +1 -1
  358. package/dist/ui-components.es261.js +9 -8
  359. package/dist/ui-components.es261.js.map +1 -1
  360. package/dist/ui-components.es262.js +8 -3
  361. package/dist/ui-components.es262.js.map +1 -1
  362. package/dist/ui-components.es263.js +8 -3
  363. package/dist/ui-components.es263.js.map +1 -1
  364. package/dist/ui-components.es264.js +8 -8
  365. package/dist/ui-components.es264.js.map +1 -1
  366. package/dist/ui-components.es265.js +8 -8
  367. package/dist/ui-components.es265.js.map +1 -1
  368. package/dist/ui-components.es266.js +9 -2
  369. package/dist/ui-components.es266.js.map +1 -1
  370. package/dist/ui-components.es267.js +4 -67
  371. package/dist/ui-components.es267.js.map +1 -1
  372. package/dist/ui-components.es268.js +11 -85
  373. package/dist/ui-components.es268.js.map +1 -1
  374. package/dist/ui-components.es269.js +40 -45
  375. package/dist/ui-components.es269.js.map +1 -1
  376. package/dist/ui-components.es27.js +660 -6
  377. package/dist/ui-components.es27.js.map +1 -1
  378. package/dist/ui-components.es270.js +23 -7
  379. package/dist/ui-components.es270.js.map +1 -1
  380. package/dist/ui-components.es271.js +117 -4
  381. package/dist/ui-components.es271.js.map +1 -1
  382. package/dist/ui-components.es272.js +4 -52
  383. package/dist/ui-components.es272.js.map +1 -1
  384. package/dist/ui-components.es273.js +13 -230
  385. package/dist/ui-components.es273.js.map +1 -1
  386. package/dist/ui-components.es274.js +39 -2
  387. package/dist/ui-components.es274.js.map +1 -1
  388. package/dist/ui-components.es275.js +2 -2
  389. package/dist/ui-components.es276.js +67 -9
  390. package/dist/ui-components.es276.js.map +1 -1
  391. package/dist/ui-components.es277.js +85 -2
  392. package/dist/ui-components.es277.js.map +1 -1
  393. package/dist/ui-components.es278.js +47 -2
  394. package/dist/ui-components.es278.js.map +1 -1
  395. package/dist/ui-components.es279.js +7 -3
  396. package/dist/ui-components.es279.js.map +1 -1
  397. package/dist/ui-components.es28.js +51 -231
  398. package/dist/ui-components.es28.js.map +1 -1
  399. package/dist/ui-components.es280.js +4 -3
  400. package/dist/ui-components.es280.js.map +1 -1
  401. package/dist/ui-components.es281.js +52 -12
  402. package/dist/ui-components.es281.js.map +1 -1
  403. package/dist/ui-components.es282.js +145 -29
  404. package/dist/ui-components.es282.js.map +1 -1
  405. package/dist/ui-components.es283.js +9 -519
  406. package/dist/ui-components.es283.js.map +1 -1
  407. package/dist/ui-components.es284.js +3 -6
  408. package/dist/ui-components.es284.js.map +1 -1
  409. package/dist/ui-components.es285.js +15 -233
  410. package/dist/ui-components.es285.js.map +1 -1
  411. package/dist/ui-components.es286.js +19 -8
  412. package/dist/ui-components.es286.js.map +1 -1
  413. package/dist/ui-components.es287.js +31 -6
  414. package/dist/ui-components.es287.js.map +1 -1
  415. package/dist/ui-components.es288.js +12 -6
  416. package/dist/ui-components.es288.js.map +1 -1
  417. package/dist/ui-components.es289.js +12 -6
  418. package/dist/ui-components.es289.js.map +1 -1
  419. package/dist/ui-components.es29.js +75 -689
  420. package/dist/ui-components.es29.js.map +1 -1
  421. package/dist/ui-components.es290.js +149 -6
  422. package/dist/ui-components.es290.js.map +1 -1
  423. package/dist/ui-components.es291.js +11 -6
  424. package/dist/ui-components.es291.js.map +1 -1
  425. package/dist/ui-components.es292.js +7 -243
  426. package/dist/ui-components.es292.js.map +1 -1
  427. package/dist/ui-components.es293.js +171 -8
  428. package/dist/ui-components.es293.js.map +1 -1
  429. package/dist/ui-components.es294.js +7 -48
  430. package/dist/ui-components.es294.js.map +1 -1
  431. package/dist/ui-components.es295.js +8 -3
  432. package/dist/ui-components.es295.js.map +1 -1
  433. package/dist/ui-components.es296.js +520 -6
  434. package/dist/ui-components.es296.js.map +1 -1
  435. package/dist/ui-components.es297.js +6 -7
  436. package/dist/ui-components.es297.js.map +1 -1
  437. package/dist/ui-components.es298.js +234 -4
  438. package/dist/ui-components.es298.js.map +1 -1
  439. package/dist/ui-components.es299.js +7 -6
  440. package/dist/ui-components.es299.js.map +1 -1
  441. package/dist/ui-components.es3.js +161 -101
  442. package/dist/ui-components.es3.js.map +1 -1
  443. package/dist/ui-components.es30.js +145 -565
  444. package/dist/ui-components.es30.js.map +1 -1
  445. package/dist/ui-components.es300.js +6 -6
  446. package/dist/ui-components.es300.js.map +1 -1
  447. package/dist/ui-components.es301.js +6 -6
  448. package/dist/ui-components.es301.js.map +1 -1
  449. package/dist/ui-components.es302.js +6 -7
  450. package/dist/ui-components.es302.js.map +1 -1
  451. package/dist/ui-components.es303.js +6 -169
  452. package/dist/ui-components.es303.js.map +1 -1
  453. package/dist/ui-components.es304.js +6 -15
  454. package/dist/ui-components.es304.js.map +1 -1
  455. package/dist/ui-components.es305.js +6 -333
  456. package/dist/ui-components.es305.js.map +1 -1
  457. package/dist/ui-components.es306.js +6 -322
  458. package/dist/ui-components.es306.js.map +1 -1
  459. package/dist/ui-components.es307.js +243 -7
  460. package/dist/ui-components.es307.js.map +1 -1
  461. package/dist/ui-components.es308.js +7 -42
  462. package/dist/ui-components.es308.js.map +1 -1
  463. package/dist/ui-components.es309.js +49 -3
  464. package/dist/ui-components.es309.js.map +1 -1
  465. package/dist/ui-components.es31.js +169 -48
  466. package/dist/ui-components.es31.js.map +1 -1
  467. package/dist/ui-components.es310.js +3 -8
  468. package/dist/ui-components.es310.js.map +1 -1
  469. package/dist/ui-components.es311.js +6 -40
  470. package/dist/ui-components.es311.js.map +1 -1
  471. package/dist/ui-components.es312.js +3 -64
  472. package/dist/ui-components.es312.js.map +1 -1
  473. package/dist/ui-components.es313.js +6 -38
  474. package/dist/ui-components.es313.js.map +1 -1
  475. package/dist/ui-components.es314.js +167 -18
  476. package/dist/ui-components.es314.js.map +1 -1
  477. package/dist/ui-components.es315.js +6 -48
  478. package/dist/ui-components.es315.js.map +1 -1
  479. package/dist/ui-components.es316.js +5 -19
  480. package/dist/ui-components.es316.js.map +1 -1
  481. package/dist/ui-components.es317.js +15 -51
  482. package/dist/ui-components.es317.js.map +1 -1
  483. package/dist/ui-components.es318.js +332 -5
  484. package/dist/ui-components.es318.js.map +1 -1
  485. package/dist/ui-components.es319.js +322 -7
  486. package/dist/ui-components.es319.js.map +1 -1
  487. package/dist/ui-components.es32.js +50 -87
  488. package/dist/ui-components.es32.js.map +1 -1
  489. package/dist/ui-components.es320.js +7 -76
  490. package/dist/ui-components.es320.js.map +1 -1
  491. package/dist/ui-components.es321.js +7 -23
  492. package/dist/ui-components.es321.js.map +1 -1
  493. package/dist/ui-components.es322.js +2 -5
  494. package/dist/ui-components.es322.js.map +1 -1
  495. package/dist/ui-components.es323.js +65 -60
  496. package/dist/ui-components.es323.js.map +1 -1
  497. package/dist/ui-components.es324.js +64 -24
  498. package/dist/ui-components.es324.js.map +1 -1
  499. package/dist/ui-components.es325.js +39 -3
  500. package/dist/ui-components.es325.js.map +1 -1
  501. package/dist/ui-components.es326.js +19 -12
  502. package/dist/ui-components.es326.js.map +1 -1
  503. package/dist/ui-components.es327.js +41 -8
  504. package/dist/ui-components.es327.js.map +1 -1
  505. package/dist/ui-components.es328.js +3 -16
  506. package/dist/ui-components.es328.js.map +1 -1
  507. package/dist/ui-components.es329.js +7 -9
  508. package/dist/ui-components.es329.js.map +1 -1
  509. package/dist/ui-components.es33.js +423 -202
  510. package/dist/ui-components.es33.js.map +1 -1
  511. package/dist/ui-components.es330.js +38 -144
  512. package/dist/ui-components.es330.js.map +1 -1
  513. package/dist/ui-components.es331.js +64 -10
  514. package/dist/ui-components.es331.js.map +1 -1
  515. package/dist/ui-components.es332.js +49 -19
  516. package/dist/ui-components.es332.js.map +1 -1
  517. package/dist/ui-components.es333.js +20 -2
  518. package/dist/ui-components.es333.js.map +1 -1
  519. package/dist/ui-components.es334.js +51 -2
  520. package/dist/ui-components.es334.js.map +1 -1
  521. package/dist/ui-components.es335.js +5 -147
  522. package/dist/ui-components.es335.js.map +1 -1
  523. package/dist/ui-components.es336.js +7 -11
  524. package/dist/ui-components.es336.js.map +1 -1
  525. package/dist/ui-components.es337.js +23 -11
  526. package/dist/ui-components.es337.js.map +1 -1
  527. package/dist/ui-components.es338.js +59 -10
  528. package/dist/ui-components.es338.js.map +1 -1
  529. package/dist/ui-components.es339.js +76 -7
  530. package/dist/ui-components.es339.js.map +1 -1
  531. package/dist/ui-components.es34.js +10 -195
  532. package/dist/ui-components.es34.js.map +1 -1
  533. package/dist/ui-components.es340.js +5 -171
  534. package/dist/ui-components.es340.js.map +1 -1
  535. package/dist/ui-components.es341.js +25 -7
  536. package/dist/ui-components.es341.js.map +1 -1
  537. package/dist/ui-components.es342.js +12 -7
  538. package/dist/ui-components.es342.js.map +1 -1
  539. package/dist/ui-components.es343.js +9 -7
  540. package/dist/ui-components.es343.js.map +1 -1
  541. package/dist/ui-components.es344.js +10 -2
  542. package/dist/ui-components.es344.js.map +1 -1
  543. package/dist/ui-components.es345.js +2 -66
  544. package/dist/ui-components.es345.js.map +1 -1
  545. package/dist/ui-components.es346.js +2 -66
  546. package/dist/ui-components.es346.js.map +1 -1
  547. package/dist/ui-components.es347.js +2 -2
  548. package/dist/ui-components.es349.js +1 -1
  549. package/dist/ui-components.es35.js +616 -49
  550. package/dist/ui-components.es35.js.map +1 -1
  551. package/dist/ui-components.es351.js +2 -2
  552. package/dist/ui-components.es352.js +2 -6
  553. package/dist/ui-components.es352.js.map +1 -1
  554. package/dist/ui-components.es353.js +2 -25
  555. package/dist/ui-components.es353.js.map +1 -1
  556. package/dist/ui-components.es354.js +6 -2
  557. package/dist/ui-components.es354.js.map +1 -1
  558. package/dist/ui-components.es355.js +25 -2
  559. package/dist/ui-components.es355.js.map +1 -1
  560. package/dist/ui-components.es356.js +7 -125
  561. package/dist/ui-components.es356.js.map +1 -1
  562. package/dist/ui-components.es357.js +6 -6
  563. package/dist/ui-components.es357.js.map +1 -1
  564. package/dist/ui-components.es358.js +125 -7
  565. package/dist/ui-components.es358.js.map +1 -1
  566. package/dist/ui-components.es36.js +245 -411
  567. package/dist/ui-components.es36.js.map +1 -1
  568. package/dist/ui-components.es368.js +1 -1
  569. package/dist/ui-components.es37.js +120 -10
  570. package/dist/ui-components.es37.js.map +1 -1
  571. package/dist/ui-components.es370.js +7 -29
  572. package/dist/ui-components.es370.js.map +1 -1
  573. package/dist/ui-components.es371.js +29 -120
  574. package/dist/ui-components.es371.js.map +1 -1
  575. package/dist/ui-components.es372.js +117 -27
  576. package/dist/ui-components.es372.js.map +1 -1
  577. package/dist/ui-components.es373.js +28 -9
  578. package/dist/ui-components.es373.js.map +1 -1
  579. package/dist/ui-components.es374.js +10 -13
  580. package/dist/ui-components.es374.js.map +1 -1
  581. package/dist/ui-components.es375.js +13 -32
  582. package/dist/ui-components.es375.js.map +1 -1
  583. package/dist/ui-components.es376.js +30 -26
  584. package/dist/ui-components.es376.js.map +1 -1
  585. package/dist/ui-components.es377.js +28 -10
  586. package/dist/ui-components.es377.js.map +1 -1
  587. package/dist/ui-components.es378.js +10 -12
  588. package/dist/ui-components.es378.js.map +1 -1
  589. package/dist/ui-components.es379.js +12 -17
  590. package/dist/ui-components.es379.js.map +1 -1
  591. package/dist/ui-components.es38.js +88 -604
  592. package/dist/ui-components.es38.js.map +1 -1
  593. package/dist/ui-components.es380.js +17 -23
  594. package/dist/ui-components.es380.js.map +1 -1
  595. package/dist/ui-components.es381.js +20 -13
  596. package/dist/ui-components.es381.js.map +1 -1
  597. package/dist/ui-components.es382.js +12 -92
  598. package/dist/ui-components.es382.js.map +1 -1
  599. package/dist/ui-components.es383.js +91 -39
  600. package/dist/ui-components.es383.js.map +1 -1
  601. package/dist/ui-components.es384.js +41 -25
  602. package/dist/ui-components.es384.js.map +1 -1
  603. package/dist/ui-components.es385.js +24 -67
  604. package/dist/ui-components.es385.js.map +1 -1
  605. package/dist/ui-components.es386.js +66 -46
  606. package/dist/ui-components.es386.js.map +1 -1
  607. package/dist/ui-components.es387.js +47 -30
  608. package/dist/ui-components.es387.js.map +1 -1
  609. package/dist/ui-components.es388.js +30 -37
  610. package/dist/ui-components.es388.js.map +1 -1
  611. package/dist/ui-components.es389.js +41 -6
  612. package/dist/ui-components.es389.js.map +1 -1
  613. package/dist/ui-components.es39.js +47 -273
  614. package/dist/ui-components.es39.js.map +1 -1
  615. package/dist/ui-components.es390.js +9 -3
  616. package/dist/ui-components.es390.js.map +1 -1
  617. package/dist/ui-components.es391.js +51 -3
  618. package/dist/ui-components.es391.js.map +1 -1
  619. package/dist/ui-components.es392.js +7 -15
  620. package/dist/ui-components.es392.js.map +1 -1
  621. package/dist/ui-components.es393.js +4 -3
  622. package/dist/ui-components.es393.js.map +1 -1
  623. package/dist/ui-components.es394.js +3 -9
  624. package/dist/ui-components.es394.js.map +1 -1
  625. package/dist/ui-components.es395.js +3 -4
  626. package/dist/ui-components.es395.js.map +1 -1
  627. package/dist/ui-components.es396.js +4 -6
  628. package/dist/ui-components.es396.js.map +1 -1
  629. package/dist/ui-components.es397.js +3 -9
  630. package/dist/ui-components.es397.js.map +1 -1
  631. package/dist/ui-components.es398.js +15 -7
  632. package/dist/ui-components.es398.js.map +1 -1
  633. package/dist/ui-components.es399.js +3 -4
  634. package/dist/ui-components.es399.js.map +1 -1
  635. package/dist/ui-components.es4.js +5 -5
  636. package/dist/ui-components.es40.js +216 -78
  637. package/dist/ui-components.es40.js.map +1 -1
  638. package/dist/ui-components.es400.js +9 -3
  639. package/dist/ui-components.es400.js.map +1 -1
  640. package/dist/ui-components.es401.js +5 -4
  641. package/dist/ui-components.es401.js.map +1 -1
  642. package/dist/ui-components.es402.js +5 -11
  643. package/dist/ui-components.es402.js.map +1 -1
  644. package/dist/ui-components.es403.js +9 -7
  645. package/dist/ui-components.es403.js.map +1 -1
  646. package/dist/ui-components.es404.js +9 -30
  647. package/dist/ui-components.es404.js.map +1 -1
  648. package/dist/ui-components.es405.js +29 -23
  649. package/dist/ui-components.es405.js.map +1 -1
  650. package/dist/ui-components.es406.js +24 -51
  651. package/dist/ui-components.es406.js.map +1 -1
  652. package/dist/ui-components.es409.js +3 -3
  653. package/dist/ui-components.es41.js +224 -87
  654. package/dist/ui-components.es41.js.map +1 -1
  655. package/dist/ui-components.es410.js +2 -2
  656. package/dist/ui-components.es411.js +1 -1
  657. package/dist/ui-components.es412.js +1 -1
  658. package/dist/ui-components.es413.js +2 -2
  659. package/dist/ui-components.es414.js +3 -3
  660. package/dist/ui-components.es415.js +1 -1
  661. package/dist/ui-components.es417.js +9 -9
  662. package/dist/ui-components.es42.js +16 -53
  663. package/dist/ui-components.es42.js.map +1 -1
  664. package/dist/ui-components.es420.js +1 -1
  665. package/dist/ui-components.es422.js +2 -2
  666. package/dist/ui-components.es423.js +3 -3
  667. package/dist/ui-components.es43.js +285 -195
  668. package/dist/ui-components.es43.js.map +1 -1
  669. package/dist/ui-components.es44.js +106 -214
  670. package/dist/ui-components.es44.js.map +1 -1
  671. package/dist/ui-components.es45.js +143 -32
  672. package/dist/ui-components.es45.js.map +1 -1
  673. package/dist/ui-components.es46.js +934 -257
  674. package/dist/ui-components.es46.js.map +1 -1
  675. package/dist/ui-components.es47.js +95 -126
  676. package/dist/ui-components.es47.js.map +1 -1
  677. package/dist/ui-components.es48.js +384 -141
  678. package/dist/ui-components.es48.js.map +1 -1
  679. package/dist/ui-components.es49.js +208 -19
  680. package/dist/ui-components.es49.js.map +1 -1
  681. package/dist/ui-components.es5.js +95 -109
  682. package/dist/ui-components.es5.js.map +1 -1
  683. package/dist/ui-components.es50.js +242 -122
  684. package/dist/ui-components.es50.js.map +1 -1
  685. package/dist/ui-components.es51.js +6 -36
  686. package/dist/ui-components.es51.js.map +1 -1
  687. package/dist/ui-components.es52.js +52 -21
  688. package/dist/ui-components.es52.js.map +1 -1
  689. package/dist/ui-components.es53.js +159 -250
  690. package/dist/ui-components.es53.js.map +1 -1
  691. package/dist/ui-components.es54.js +20 -39
  692. package/dist/ui-components.es54.js.map +1 -1
  693. package/dist/ui-components.es55.js +126 -1022
  694. package/dist/ui-components.es55.js.map +1 -1
  695. package/dist/ui-components.es56.js +36 -124
  696. package/dist/ui-components.es56.js.map +1 -1
  697. package/dist/ui-components.es57.js +23 -386
  698. package/dist/ui-components.es57.js.map +1 -1
  699. package/dist/ui-components.es58.js +253 -70
  700. package/dist/ui-components.es58.js.map +1 -1
  701. package/dist/ui-components.es59.js +38 -29
  702. package/dist/ui-components.es59.js.map +1 -1
  703. package/dist/ui-components.es6.js +4 -4
  704. package/dist/ui-components.es60.js +67 -24
  705. package/dist/ui-components.es60.js.map +1 -1
  706. package/dist/ui-components.es61.js +28 -41
  707. package/dist/ui-components.es61.js.map +1 -1
  708. package/dist/ui-components.es62.js +25 -19
  709. package/dist/ui-components.es62.js.map +1 -1
  710. package/dist/ui-components.es63.js +42 -211
  711. package/dist/ui-components.es63.js.map +1 -1
  712. package/dist/ui-components.es64.js +20 -241
  713. package/dist/ui-components.es64.js.map +1 -1
  714. package/dist/ui-components.es67.js +1 -1
  715. package/dist/ui-components.es68.js +1 -1
  716. package/dist/ui-components.es7.js +2 -2
  717. package/dist/ui-components.es71.js +1 -1
  718. package/dist/ui-components.es72.js +1 -1
  719. package/dist/ui-components.es77.js +15 -209
  720. package/dist/ui-components.es77.js.map +1 -1
  721. package/dist/ui-components.es78.js +209 -15
  722. package/dist/ui-components.es78.js.map +1 -1
  723. package/dist/ui-components.es79.js +1 -1
  724. package/dist/ui-components.es8.js +42 -44
  725. package/dist/ui-components.es8.js.map +1 -1
  726. package/dist/ui-components.es80.js +1 -1
  727. package/dist/ui-components.es81.js +1 -1
  728. package/dist/ui-components.es82.js +1 -1
  729. package/dist/ui-components.es83.js +6 -6
  730. package/dist/ui-components.es84.js +11 -11
  731. package/dist/ui-components.es85.js +13 -13
  732. package/dist/ui-components.es86.js +14 -14
  733. package/dist/ui-components.es87.js +10 -10
  734. package/dist/ui-components.es89.js +1 -1
  735. package/dist/ui-components.es9.js +3 -3
  736. package/dist/ui-components.es90.js +6 -12
  737. package/dist/ui-components.es90.js.map +1 -1
  738. package/dist/ui-components.es91.js +112 -4
  739. package/dist/ui-components.es91.js.map +1 -1
  740. package/dist/ui-components.es92.js +9 -4
  741. package/dist/ui-components.es92.js.map +1 -1
  742. package/dist/ui-components.es93.js +17 -3
  743. package/dist/ui-components.es93.js.map +1 -1
  744. package/dist/ui-components.es94.js +14 -7
  745. package/dist/ui-components.es94.js.map +1 -1
  746. package/dist/ui-components.es95.js +3 -9
  747. package/dist/ui-components.es95.js.map +1 -1
  748. package/dist/ui-components.es96.js +6 -6
  749. package/dist/ui-components.es96.js.map +1 -1
  750. package/dist/ui-components.es97.js +7 -13
  751. package/dist/ui-components.es97.js.map +1 -1
  752. package/dist/ui-components.es98.js +13 -20
  753. package/dist/ui-components.es98.js.map +1 -1
  754. package/dist/ui-components.es99.js +20 -7
  755. package/dist/ui-components.es99.js.map +1 -1
  756. package/package.json +1 -1
@@ -1,46 +1,33 @@
1
- import { c as M } from "./ui-components.es17.js";
2
- import { useState as d, useRef as E, useEffect as S } from "react";
3
- function v(r, n, u) {
4
- const t = M.c(11), [e, b] = d(!1), m = E(e);
1
+ import { j as c } from "./ui-components.es15.js";
2
+ import { c as f } from "./ui-components.es16.js";
3
+ import { useState as x } from "react";
4
+ import b from "./ui-components.es42.js";
5
+ function j(l) {
6
+ const e = f.c(9), {
7
+ value: t,
8
+ figures: n
9
+ } = l;
10
+ let r;
11
+ e[0] !== t ? (r = /* @__PURE__ */ new Set([t]), e[0] = t, e[1] = r) : r = e[1];
12
+ const [o, d] = x(r);
13
+ o.has(t) || d(/* @__PURE__ */ new Set([...o, t]));
5
14
  let s;
6
- t[0] !== e ? (s = () => {
7
- m.current = e;
8
- }, t[0] = e, t[1] = s) : s = t[1], S(s);
9
- let l, _;
10
- t[2] !== r || t[3] !== e || t[4] !== n || t[5] !== u ? (l = () => {
11
- const c = r?.current;
12
- if (!c)
13
- return;
14
- const o = u ? [] : n;
15
- c.setSortModel(e ? [{
16
- field: "__check__",
17
- sort: "desc"
18
- }, ...o] : o);
19
- }, _ = [r, e, u, n], t[2] = r, t[3] = e, t[4] = n, t[5] = u, t[6] = l, t[7] = _) : (l = t[6], _ = t[7]), S(l, _);
20
- let f;
21
- t[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = (c) => [c.current.subscribeEvent("sortModelChange", (o) => {
22
- if (!m.current || o[0]?.field === "__check__")
23
- return;
24
- const k = o.filter(g);
25
- c.current.setSortModel([{
26
- field: "__check__",
27
- sort: "desc"
28
- }, ...k]);
29
- }), c.current.subscribeEvent("rowSelectionChange", () => {
30
- m.current && c.current.setSortModel([...c.current.getSortModel()]);
31
- })], t[8] = f) : f = t[8];
32
- const i = f;
33
- let h;
34
- return t[9] !== e ? (h = {
35
- autoSort: e,
36
- setAutoSort: b,
37
- onReady: i
38
- }, t[9] = e, t[10] = h) : h = t[10], h;
39
- }
40
- function g(r) {
41
- return r.field !== "__check__";
15
+ if (e[2] !== n || e[3] !== o || e[4] !== t) {
16
+ let i;
17
+ e[6] !== o || e[7] !== t ? (i = (u, a) => {
18
+ const m = t === a, p = o.has(a);
19
+ return /* @__PURE__ */ c.jsx(b, { display: m ? "block" : "none", height: "100%", width: "100%", overflow: "auto", padding: 1, sx: {
20
+ border: "1px solid",
21
+ borderColor: "divider",
22
+ borderRadius: 1,
23
+ position: "relative"
24
+ }, children: p && u.component }, `figure-${a}`);
25
+ }, e[6] = o, e[7] = t, e[8] = i) : i = e[8], s = n.map(i), e[2] = n, e[3] = o, e[4] = t, e[5] = s;
26
+ } else
27
+ s = e[5];
28
+ return s;
42
29
  }
43
30
  export {
44
- v as useAutoSort
31
+ j as default
45
32
  };
46
33
  //# sourceMappingURL=ui-components.es61.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es61.js","sources":["../src/components/TwoPaneLayout/useAutoSort.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { RefObject } from \"react\";\nimport type { GridApi, GridSortModel } from \"@mui/x-data-grid-premium\";\n\ntype UseAutoSortReturn = {\n autoSort: boolean;\n setAutoSort: (value: boolean) => void;\n onReady: (readyApiRef: RefObject<GridApi>) => (() => void)[];\n};\n\n/**\n * Manages the \"auto-sort selected rows to top\" behavior for a Table.\n *\n * Owns the autoSort toggle state and all related DataGrid behavior, returning\n * `autoSort` and `setAutoSort` for use in a toolbar toggle, and `onReady` to\n * be composed with the Table's `onReady` prop.\n *\n * `onReady` is used for event subscriptions rather than plain useEffects because\n * the Table is wrapped in <NoSsr>, which defers DataGrid initialization — subscriptions\n * attempted on mount may attach before the api is ready. `onReady` fires inside the\n * NoSsr boundary after the DataGrid is fully initialized.\n *\n * The sort model reset remains a reactive useEffect because it must fire on every\n * autoSort/viewBy change, not just on mount.\n */\nexport function useAutoSort(\n apiRef: RefObject<GridApi | null>,\n initialSort: GridSortModel,\n isPresorted: boolean\n): UseAutoSortReturn {\n const [autoSort, setAutoSort] = useState(false);\n\n // Track autoSort in a ref so event handlers always see the current value\n // without needing to unsubscribe and re-subscribe on every change.\n const autoSortRef = useRef(autoSort);\n useEffect(() => {\n autoSortRef.current = autoSort;\n });\n\n // Reactive: reset sort model when autoSort or viewBy changes.\n // The null guard handles any edge case where this runs before the DataGrid is ready.\n useEffect(() => {\n const api = apiRef?.current;\n if (!api) return;\n\n const base: GridSortModel = isPresorted ? [] : initialSort;\n api.setSortModel(autoSort ? [{ field: \"__check__\", sort: \"desc\" }, ...base] : base);\n }, [apiRef, autoSort, isPresorted, initialSort]);\n\n // Return a stable onReady callback that attaches event subscriptions once,\n // after the DataGrid has fully mounted. Handlers read autoSortRef at event\n // time so they reflect the current autoSort state without re-subscribing.\n const onReady = useCallback(\n (readyApiRef: RefObject<GridApi>) => [\n // Keep __check__ as the primary sort after any user-initiated sort change.\n // Guard against infinite loop: if __check__ is already first, the call was ours — skip it.\n readyApiRef.current.subscribeEvent(\"sortModelChange\", (model) => {\n if (!autoSortRef.current || model[0]?.field === \"__check__\") return;\n const withoutCheck = model.filter((s) => s.field !== \"__check__\");\n readyApiRef.current.setSortModel([{ field: \"__check__\", sort: \"desc\" }, ...withoutCheck]);\n }),\n // Re-apply sort when selection changes — DataGrid doesn't re-sort automatically\n // when checkbox state changes.\n readyApiRef.current.subscribeEvent(\"rowSelectionChange\", () => {\n if (!autoSortRef.current) return;\n readyApiRef.current.setSortModel([...readyApiRef.current.getSortModel()]);\n }),\n ],\n []\n );\n\n return { autoSort, setAutoSort, onReady };\n}\n"],"names":["useAutoSort","apiRef","initialSort","isPresorted","$","_c","autoSort","setAutoSort","useState","autoSortRef","useRef","t0","current","useEffect","t1","t2","api","base","setSortModel","field","sort","t3","Symbol","for","readyApiRef","subscribeEvent","model","withoutCheck","filter","_temp","getSortModel","onReady","t4","s"],"mappings":";;AAyBO,SAAAA,EAAAC,GAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAKL,CAAAC,GAAAC,CAAA,IAAgCC,EAAS,EAAK,GAI9CC,IAAoBC,EAAOJ,CAAQ;AAAE,MAAAK;AAAA,EAAAP,SAAAE,KAC3BK,IAAAA,MAAA;AACRF,IAAAA,EAAWG,UAAWN;AAAAA,EAAH,GACpBF,OAAAE,GAAAF,OAAAO,KAAAA,IAAAP,EAAA,CAAA,GAFDS,EAAUF,CAET;AAAC,MAAAG,GAAAC;AAAA,EAAAX,EAAA,CAAA,MAAAH,KAAAG,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAF,KAAAE,SAAAD,KAIQW,IAAAA,MAAA;AACR,UAAAE,IAAYf,GAAMW;AAClB,QAAI,CAACI;AAAG;AAER,UAAAC,IAA4Bd,IAAA,CAAA,IAAAD;AAC5Bc,IAAAA,EAAGE,aAAcZ,IAAA,CAAY;AAAA,MAAAa,OAAS;AAAA,MAAWC,MAAQ;AAAA,IAAA,GAAQ,GAAKH,CAAI,IAAzDA,CAAiE;AAAA,EAAC,GAClFF,IAAA,CAACd,GAAQK,GAAUH,GAAaD,CAAW,GAACE,OAAAH,GAAAG,OAAAE,GAAAF,OAAAF,GAAAE,OAAAD,GAAAC,OAAAU,GAAAV,OAAAW,MAAAD,IAAAV,EAAA,CAAA,GAAAW,IAAAX,EAAA,CAAA,IAN/CS,EAAUC,GAMPC,CAA4C;AAAC,MAAAM;AAAA,EAAAjB,EAAA,CAAA,MAAAkB,uBAAAC,IAAA,2BAAA,KAM9CF,IAAAG,OAAqC,CAGnCA,EAAWZ,QAAQa,eAAgB,mBAAmBC,CAAAA,MAAA;AACpD,QAAI,CAACjB,EAAWG,WAAYc,EAAK,CAAA,GAAUP,UAAK;AAAW;AAC3D,UAAAQ,IAAqBD,EAAKE,OAAQC,CAA8B;AAChEL,IAAAA,EAAWZ,QAAQM,aAAc,CAAC;AAAA,MAAAC,OAAS;AAAA,MAAWC,MAAQ;AAAA,IAAA,GAAQ,GAAKO,CAAY,CAAC;AAAA,EAAC,CAC1F,GAGDH,EAAWZ,QAAQa,eAAgB,sBAAsB,MAAA;AACvD,IAAKhB,EAAWG,WAChBY,EAAWZ,QAAQM,aAAc,CAAA,GAAIM,EAAWZ,QAAQkB,aAAAA,CAAe,CAAC;AAAA,EAAC,CAC1E,CAAC,GACH1B,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AAfH,QAAA2B,IAAgBV;AAiBd,MAAAW;AAAA,SAAA5B,SAAAE,KAEK0B,IAAA;AAAA,IAAA1B,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAwB,SAAAA;AAAAA,EAAAA,GAAkC3B,OAAAE,GAAAF,QAAA4B,KAAAA,IAAA5B,EAAA,EAAA,GAAlC4B;AAAkC;AA9CpC,SAAAH,EAAAI,GAAA;AAAA,SAiC0CA,EAACd,UAAW;AAAW;"}
1
+ {"version":3,"file":"ui-components.es61.js","sources":["../src/components/TwoPaneLayout/FigurePanel.tsx"],"sourcesContent":["import React, { useState } from \"react\";\nimport Box from \"@mui/material/Box\";\n\ntype Figure = {\n title: string;\n component: React.ReactNode;\n};\n\ntype FigurePanelProps = {\n value: number;\n figures: Figure[];\n};\n\nexport default function FigurePanel({ value, figures }: FigurePanelProps) {\n const [mountedTabs, setMountedTabs] = useState<Set<number>>(new Set([value]));\n\n if (!mountedTabs.has(value)) {\n setMountedTabs(new Set([...mountedTabs, value]));\n }\n\n return figures.map((Figure, i) => {\n const isActive = value === i;\n const isMounted = mountedTabs.has(i);\n\n return (\n <Box\n key={`figure-${i}`}\n display={isActive ? \"block\" : \"none\"}\n height=\"100%\"\n width={\"100%\"}\n overflow={\"auto\"}\n padding={1}\n sx={{ border: \"1px solid\", borderColor: \"divider\", borderRadius: 1, position: \"relative\" }}\n >\n {isMounted && Figure.component}\n </Box>\n );\n });\n}\n"],"names":["FigurePanel","t0","$","_c","value","figures","t1","Set","mountedTabs","setMountedTabs","useState","has","t2","t3","Figure","i","isActive","isMounted","jsx","Box","border","borderColor","borderRadius","position","component","map"],"mappings":";;;;AAaA,SAAeA,EAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAAqB;AAAA,IAAAC,OAAAA;AAAAA,IAAAC,SAAAA;AAAAA,EAAAA,IAAAJ;AAAoC,MAAAK;AAAA,EAAAJ,SAAAE,KACVE,wBAAIC,IAAI,CAACH,CAAK,CAAC,GAACF,OAAAE,GAAAF,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAA5E,QAAA,CAAAM,GAAAC,CAAA,IAAsCC,EAAsBJ,CAAgB;AAE5E,EAAKE,EAAWG,IAAKP,CAAK,KACxBK,sBAAmBF,IAAI,CAAA,GAAIC,GAAaJ,CAAK,CAAC,CAAC;AAChD,MAAAQ;AAAA,MAAAV,EAAA,CAAA,MAAAG,KAAAH,SAAAM,KAAAN,EAAA,CAAA,MAAAE,GAAA;AAAA,QAAAS;AAAA,IAAAX,EAAA,CAAA,MAAAM,KAAAN,SAAAE,KAEkBS,IAAAA,CAAAC,GAAAC,MAAA;AACjB,YAAAC,IAAiBZ,MAAUW,GAC3BE,IAAkBT,EAAWG,IAAKI,CAAC;AAAE,aAGnCG,gBAAAA,EAAAA,IAACC,GAAA,EAEU,SAAAH,IAAA,UAAA,QACF,QAAA,QACA,OAAA,QACG,UAAA,QACD,SAAA,GACL,IAAA;AAAA,QAAAI,QAAU;AAAA,QAAWC,aAAe;AAAA,QAASC,cAAgB;AAAA,QAACC,UAAY;AAAA,MAAA,GAE7EN,UAAAA,KAAaH,EAAMU,UAAAA,aARLT,CAAC,EASlB;AAAA,IAAM,GAETb,OAAAM,GAAAN,OAAAE,GAAAF,OAAAW,KAAAA,IAAAX,EAAA,CAAA,GAjBMU,IAAAP,EAAOoB,IAAKZ,CAiBlB,GAACX,OAAAG,GAAAH,OAAAM,GAAAN,OAAAE,GAAAF,OAAAU;AAAAA,EAAA;AAAAA,IAAAA,IAAAV,EAAA,CAAA;AAAA,SAjBKU;AAiBL;"}
@@ -1,24 +1,30 @@
1
- import { j as n } from "./ui-components.es15.js";
2
- import { c as p } from "./ui-components.es17.js";
3
- import { GRID_CHECKBOX_SELECTION_COL_DEF as i } from "@mui/x-data-grid-premium";
4
- const a = (e) => {
5
- const r = p.c(2), t = i.renderHeader;
6
- if (!t)
7
- return null;
1
+ import { j as l } from "./ui-components.es15.js";
2
+ import { c as f } from "./ui-components.es16.js";
3
+ import { Switch as x, Box as p, Tooltip as u, FormControlLabel as S } from "@mui/material";
4
+ import { Sort as h } from "@mui/icons-material";
5
+ const g = (a) => {
6
+ const e = f.c(9), {
7
+ autoSort: m,
8
+ setAutoSort: c
9
+ } = a;
10
+ let r;
11
+ e[0] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (r = {
12
+ mr: 1
13
+ }, e[0] = r) : r = e[0];
14
+ let t;
15
+ e[1] !== c ? (t = (j, n) => c(n), e[1] = c, e[2] = t) : t = e[2];
8
16
  let o;
9
- return r[0] !== e ? (o = /* @__PURE__ */ n.jsx("div", { id: "StopPropagationWrapper", onClick: l, children: /* @__PURE__ */ n.jsx(t, { ...e }) }), r[0] = e, r[1] = o) : o = r[1], o;
10
- }, d = {
11
- ...i,
12
- //Override checkbox column https://mui.com/x/react-data-grid/row-selection/#custom-checkbox-column
13
- sortable: !0,
14
- hideable: !1,
15
- renderHeader: a
17
+ e[3] !== m || e[4] !== t ? (o = /* @__PURE__ */ l.jsx(x, { color: "primary", size: "small", sx: r, checked: m, onChange: t }), e[3] = m, e[4] = t, e[5] = o) : o = e[5];
18
+ let s;
19
+ e[6] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (s = /* @__PURE__ */ l.jsx(p, { sx: {
20
+ display: "flex",
21
+ alignItems: "center",
22
+ lineHeight: 1
23
+ }, children: /* @__PURE__ */ l.jsx(h, { fontSize: "small" }) }), e[6] = s) : s = e[6];
24
+ let i;
25
+ return e[7] !== o ? (i = /* @__PURE__ */ l.jsx(u, { title: "Auto sort selected rows", children: /* @__PURE__ */ l.jsx(S, { value: "autoSort", control: o, label: s, labelPlacement: "start" }) }), e[7] = o, e[8] = i) : i = e[8], i;
16
26
  };
17
- function l(e) {
18
- return e.stopPropagation();
19
- }
20
27
  export {
21
- a as StopPropagationWrapper,
22
- d as sortableTableCheckboxColumn
28
+ g as default
23
29
  };
24
30
  //# sourceMappingURL=ui-components.es62.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es62.js","sources":["../src/components/TwoPaneLayout/SortableTableCheckboxColumn.tsx"],"sourcesContent":["import { GRID_CHECKBOX_SELECTION_COL_DEF } from \"@mui/x-data-grid-premium\";\nimport { TableColDef } from \"../Table\";\n\n//This is used to prevent sorting from happening when clicking on the header checkbox\nexport const StopPropagationWrapper: TableColDef[\"renderHeader\"] = (params) => {\n const DefaultHeader = GRID_CHECKBOX_SELECTION_COL_DEF.renderHeader;\n if (!DefaultHeader) return null;\n return (\n <div id={\"StopPropagationWrapper\"} onClick={(e) => e.stopPropagation()}>\n <DefaultHeader {...params} />\n </div>\n );\n};\n\nexport const sortableTableCheckboxColumn = {\n ...GRID_CHECKBOX_SELECTION_COL_DEF, //Override checkbox column https://mui.com/x/react-data-grid/row-selection/#custom-checkbox-column\n sortable: true,\n hideable: false,\n renderHeader: StopPropagationWrapper,\n} satisfies TableColDef;\n"],"names":["StopPropagationWrapper","params","$","_c","DefaultHeader","GRID_CHECKBOX_SELECTION_COL_DEF","renderHeader","t0","_temp","jsx","sortableTableCheckboxColumn","sortable","hideable","e","stopPropagation"],"mappings":";;;AAIO,MAAMA,IAAsDC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GACjEC,IAAsBC,EAA+BC;AACrD,MAAI,CAACF;AAAa,WAAS;AAAK,MAAAG;AAAA,SAAAL,SAAAD,KAE9BM,mCAAS,IAAA,0BAAmC,SAAAC,GAC1C,UAAAC,gBAAAA,EAAAA,IAACL,GAAA,KAAkBH,EAAAA,CAAM,EAAA,CAC3B,GAAMC,OAAAD,GAAAC,OAAAK,KAAAA,IAAAL,EAAA,CAAA,GAFNK;AAEM,GAIGG,IAA8B;AAAA,EACzC,GAAGL;AAAAA;AAAAA,EACHM,UAAU;AAAA,EACVC,UAAU;AAAA,EACVN,cAAcN;AAChB;AAfmE,SAAAQ,EAAAK,GAAA;AAAA,SAIZA,EAACC,gBAAAA;AAAkB;"}
1
+ {"version":3,"file":"ui-components.es62.js","sources":["../src/components/TwoPaneLayout/AutoSortSwitch.tsx"],"sourcesContent":["import React from \"react\";\nimport { Tooltip, FormControlLabel, Switch, Box } from \"@mui/material\";\nimport { Sort } from \"@mui/icons-material\";\n\ninterface AutoSortSwitchProps {\n autoSort: boolean;\n setAutoSort: (value: boolean) => void;\n}\n\nconst AutoSortSwitch: React.FC<AutoSortSwitchProps> = ({ autoSort, setAutoSort }) => {\n return (\n <Tooltip title=\"Auto sort selected rows\">\n <FormControlLabel\n value=\"autoSort\"\n control={\n <Switch\n color=\"primary\"\n size=\"small\"\n sx={{ mr: 1 }}\n checked={autoSort}\n onChange={(_, checked) => setAutoSort(checked)}\n />\n }\n label={\n <Box sx={{ display: \"flex\", alignItems: \"center\", lineHeight: 1 }}>\n <Sort fontSize=\"small\" />\n </Box>\n }\n labelPlacement=\"start\"\n />\n </Tooltip>\n );\n};\n\nexport default AutoSortSwitch;\n"],"names":["AutoSortSwitch","t0","$","_c","autoSort","setAutoSort","t1","Symbol","for","mr","t2","_","checked","t3","jsx","Switch","t4","Box","display","alignItems","lineHeight","Sort","t5","Tooltip","FormControlLabel"],"mappings":";;;;AASA,MAAMA,IAAgDC,CAAAA,MAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,CAAA,GAAC;AAAA,IAAAC,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,EAAAA,IAAAJ;AAAyB,MAAAK;AAAA,EAAAJ,EAAA,CAAA,MAAAK,uBAAAC,IAAA,2BAAA,KAShEF,IAAA;AAAA,IAAAG,IAAM;AAAA,EAAA,GAAGP,OAAAI,KAAAA,IAAAJ,EAAA,CAAA;AAAA,MAAAQ;AAAA,EAAAR,SAAAG,KAEHK,IAAAA,CAAAC,GAAAC,MAAgBP,EAAYO,CAAO,GAACV,OAAAG,GAAAH,OAAAQ,KAAAA,IAAAR,EAAA,CAAA;AAAA,MAAAW;AAAA,EAAAX,EAAA,CAAA,MAAAE,KAAAF,SAAAQ,KALhDG,IAAAC,gBAAAA,EAAAA,IAACC,GAAA,EACO,OAAA,WACD,MAAA,SACD,IAAAT,GACKF,SAAAA,GACC,UAAAM,EAAAA,CAAoC,GAC9CR,OAAAE,GAAAF,OAAAQ,GAAAR,OAAAW,KAAAA,IAAAX,EAAA,CAAA;AAAA,MAAAc;AAAA,EAAAd,EAAA,CAAA,MAAAK,uBAAAC,IAAA,2BAAA,KAGFQ,IAAAF,gBAAAA,EAAAA,IAACG,KAAQ,IAAA;AAAA,IAAAC,SAAW;AAAA,IAAMC,YAAc;AAAA,IAAQC,YAAc;AAAA,EAAA,GAC5D,UAAAN,gBAAAA,EAAAA,IAACO,GAAA,EAAc,UAAA,SAAO,GACxB,GAAMnB,OAAAc,KAAAA,IAAAd,EAAA,CAAA;AAAA,MAAAoB;AAAA,SAAApB,SAAAW,KAfZS,IAAAR,gBAAAA,EAAAA,IAACS,GAAA,EAAc,OAAA,2BACb,gCAACC,GAAA,EACO,OAAA,YAEJ,SAAAX,GASA,OAAAG,GAIa,gBAAA,SAAO,GAE1B,GAAUd,OAAAW,GAAAX,OAAAoB,KAAAA,IAAApB,EAAA,CAAA,GAnBVoB;AAmBU;"}
@@ -1,215 +1,46 @@
1
- function p(t, i) {
2
- const e = [];
3
- t = t.replace(/,/g, "");
4
- let c, o, r;
5
- if (t.includes(":") && t.includes("-"))
6
- c = 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
- c = h, o = parseInt(l), r = parseInt(d);
10
- } else
11
- return e;
12
- const s = c.replace(/chrx$/, "chrX").replace(/chry$/, "chrY"), a = m[i][c];
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, i, e) {
25
- return t ? t.slice(0, i).map((c) => ({
26
- title: e.getTitle(c),
27
- description: e.getDescription(c),
28
- domain: {
29
- chromosome: c.coordinates.chromosome,
30
- start: c.coordinates.start,
31
- end: c.coordinates.end
32
- },
33
- type: e.type
34
- })) : [];
35
- }
36
- function g(t, i) {
37
- return n(t, i, {
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, i, e) {
44
- return n(t, i, {
45
- getTitle: (c) => c.name,
46
- getDescription: (c) => {
47
- let o = "";
48
- return c.versions.forEach((r, s) => o += "V" + r.version + " " + r.id + (s === c.versions.length - 1 ? "" : `
49
- `)), `${c.description}
50
- ${o}
51
- ${c.coordinates.chromosome}:${c.coordinates.start}-${c.coordinates.end}`;
52
- },
53
- type: "Gene"
54
- });
55
- }
56
- function u(t, i) {
57
- return t.slice(0, i).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((i) => ({
69
- title: i.label,
70
- description: i.description ?? "",
71
- domain: void 0,
72
- id: i.value,
73
- type: "Ome"
74
- }));
75
- }
76
- function v(t, i) {
77
- return n(t, i, {
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, i) {
84
- return n(t, i, {
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, i) {
91
- return t.filter((e) => e.input !== e.v4_match_or_intersecting).slice(0, i).map((e) => {
92
- const c = 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
- description: `(Registry ${e.input_latest_previous_version})
97
- ${e.input_region}
98
- ${o ? `Intersects v4 cCRE${o.includes(",") ? "s" : ""}: ${o.replace(",", ", ")}` : "No intersecting v4 cCREs"}`,
99
- domain: {
100
- chromosome: c.split(":")[0],
101
- start: parseInt(c.split(":")[1].split("-")[0]),
102
- end: parseInt(c.split(":")[1].split("-")[1])
103
- },
104
- type: "Legacy cCRE"
105
- };
106
- });
107
- }
108
- const b = [{
109
- label: "Proteomics",
110
- value: "proteomics",
111
- keywords: ["protein", "mass spec"]
112
- }, {
113
- label: "WGS",
114
- value: "WGS",
115
- keywords: ["whole genome sequencing", "genome sequencing", "genomics"],
116
- description: "Whole Genome Sequencing"
117
- }, {
118
- label: "WGBS",
119
- value: "WGBS",
120
- keywords: ["whole genome bisulfite sequencing", "epigenomics", "methylation"],
121
- description: "Whole Genome Bisulfite Sequencing"
122
- }, {
123
- label: "ATAC",
124
- value: "ATAC",
125
- keywords: ["chromatin accessibility", "atac-seq"],
126
- description: "ATAC-seq"
127
- }, {
128
- label: "RNA",
129
- value: "RNA",
130
- keywords: ["rna-seq", "transcriptomics", "gene expression"],
131
- description: "RNA-seq"
132
- }, {
133
- label: "Metabolomics",
134
- value: "metabolomics"
135
- }, {
136
- label: "Lipidomics",
137
- value: "lipidomics"
138
- }, {
139
- label: "Metallomics",
140
- value: "metallomics"
141
- }, {
142
- label: "Exposomics",
143
- value: "exposomics"
144
- }], m = {
145
- GRCh38: {
146
- chr1: 248956422,
147
- chr2: 242193529,
148
- chr3: 198295559,
149
- chr4: 190214555,
150
- chr5: 181538259,
151
- chr6: 170805979,
152
- chr7: 159345973,
153
- chr8: 145138636,
154
- chr9: 138394717,
155
- chr10: 133797422,
156
- chr11: 135086622,
157
- chr12: 133275309,
158
- chr13: 114364328,
159
- chr14: 107043718,
160
- chr15: 101991189,
161
- chr16: 90338345,
162
- chr17: 83257441,
163
- chr18: 80373285,
164
- chr19: 58617616,
165
- chr20: 64444167,
166
- chr21: 46709983,
167
- chr22: 50818468,
168
- chrX: 156040895,
169
- chrx: 156040895,
170
- chrY: 57227415,
171
- chry: 57227415
172
- },
173
- mm10: {
174
- chr1: 195471971,
175
- chr2: 182113224,
176
- chr3: 160039680,
177
- chr4: 156508116,
178
- chr5: 151834684,
179
- chr6: 149736546,
180
- chr7: 145441459,
181
- chr8: 129401213,
182
- chr9: 124595110,
183
- chr10: 130694993,
184
- chr11: 122082543,
185
- chr12: 120129022,
186
- chr13: 120421639,
187
- chr14: 124902244,
188
- chr15: 104043685,
189
- chr16: 98207768,
190
- chr17: 94987271,
191
- chr18: 90702639,
192
- chr19: 61431566,
193
- chrX: 171031299,
194
- chrx: 171031299,
195
- chrY: 91744698,
196
- chry: 91744698
197
- }
198
- };
199
- function C(t) {
200
- const i = t.includes(" "), e = t.includes("-"), c = t.length >= 4 && /^[0-9xyXY]$/.test(t[3]);
201
- return (i || e) && t.startsWith("chr") && c;
1
+ import { c as M } from "./ui-components.es16.js";
2
+ import { useState as d, useRef as E, useEffect as S } from "react";
3
+ function v(r, n, u) {
4
+ const t = M.c(11), [e, b] = d(!1), m = E(e);
5
+ let s;
6
+ t[0] !== e ? (s = () => {
7
+ m.current = e;
8
+ }, t[0] = e, t[1] = s) : s = t[1], S(s);
9
+ let l, _;
10
+ t[2] !== r || t[3] !== e || t[4] !== n || t[5] !== u ? (l = () => {
11
+ const c = r?.current;
12
+ if (!c)
13
+ return;
14
+ const o = u ? [] : n;
15
+ c.setSortModel(e ? [{
16
+ field: "__check__",
17
+ sort: "desc"
18
+ }, ...o] : o);
19
+ }, _ = [r, e, u, n], t[2] = r, t[3] = e, t[4] = n, t[5] = u, t[6] = l, t[7] = _) : (l = t[6], _ = t[7]), S(l, _);
20
+ let f;
21
+ t[8] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (f = (c) => [c.current.subscribeEvent("sortModelChange", (o) => {
22
+ if (!m.current || o[0]?.field === "__check__")
23
+ return;
24
+ const k = o.filter(g);
25
+ c.current.setSortModel([{
26
+ field: "__check__",
27
+ sort: "desc"
28
+ }, ...k]);
29
+ }), c.current.subscribeEvent("rowSelectionChange", () => {
30
+ m.current && c.current.setSortModel([...c.current.getSortModel()]);
31
+ })], t[8] = f) : f = t[8];
32
+ const i = f;
33
+ let h;
34
+ return t[9] !== e ? (h = {
35
+ autoSort: e,
36
+ setAutoSort: b,
37
+ onReady: i
38
+ }, t[9] = e, t[10] = h) : h = t[10], h;
39
+ }
40
+ function g(r) {
41
+ return r.field !== "__check__";
202
42
  }
203
43
  export {
204
- b as OmesList,
205
- f as ccreResultList,
206
- $ as geneResultList,
207
- p as getCoordinates,
208
- v as icreResultList,
209
- C as isDomain,
210
- R as legacyCcreResultList,
211
- y as omeResultsList,
212
- g as snpResultList,
213
- u as studyResultList
44
+ v as useAutoSort
214
45
  };
215
46
  //# sourceMappingURL=ui-components.es63.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es63.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][chromosome];\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 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 chrx: 156040895,\n chrY: 57227415,\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 chrx: 171031299,\n chrY: 91744698,\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}\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","chrx","chrY","chry","mm10","isDomain","hasTabs","hasHyphens","hasChromosomeNumber","test","startsWith"],"mappings":"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"}
1
+ {"version":3,"file":"ui-components.es63.js","sources":["../src/components/TwoPaneLayout/useAutoSort.ts"],"sourcesContent":["import { useCallback, useEffect, useRef, useState } from \"react\";\nimport type { RefObject } from \"react\";\nimport type { GridApi, GridSortModel } from \"@mui/x-data-grid-premium\";\n\ntype UseAutoSortReturn = {\n autoSort: boolean;\n setAutoSort: (value: boolean) => void;\n onReady: (readyApiRef: RefObject<GridApi>) => (() => void)[];\n};\n\n/**\n * Manages the \"auto-sort selected rows to top\" behavior for a Table.\n *\n * Owns the autoSort toggle state and all related DataGrid behavior, returning\n * `autoSort` and `setAutoSort` for use in a toolbar toggle, and `onReady` to\n * be composed with the Table's `onReady` prop.\n *\n * `onReady` is used for event subscriptions rather than plain useEffects because\n * the Table is wrapped in <NoSsr>, which defers DataGrid initialization — subscriptions\n * attempted on mount may attach before the api is ready. `onReady` fires inside the\n * NoSsr boundary after the DataGrid is fully initialized.\n *\n * The sort model reset remains a reactive useEffect because it must fire on every\n * autoSort/viewBy change, not just on mount.\n */\nexport function useAutoSort(\n apiRef: RefObject<GridApi | null>,\n initialSort: GridSortModel,\n isPresorted: boolean\n): UseAutoSortReturn {\n const [autoSort, setAutoSort] = useState(false);\n\n // Track autoSort in a ref so event handlers always see the current value\n // without needing to unsubscribe and re-subscribe on every change.\n const autoSortRef = useRef(autoSort);\n useEffect(() => {\n autoSortRef.current = autoSort;\n });\n\n // Reactive: reset sort model when autoSort or viewBy changes.\n // The null guard handles any edge case where this runs before the DataGrid is ready.\n useEffect(() => {\n const api = apiRef?.current;\n if (!api) return;\n\n const base: GridSortModel = isPresorted ? [] : initialSort;\n api.setSortModel(autoSort ? [{ field: \"__check__\", sort: \"desc\" }, ...base] : base);\n }, [apiRef, autoSort, isPresorted, initialSort]);\n\n // Return a stable onReady callback that attaches event subscriptions once,\n // after the DataGrid has fully mounted. Handlers read autoSortRef at event\n // time so they reflect the current autoSort state without re-subscribing.\n const onReady = useCallback(\n (readyApiRef: RefObject<GridApi>) => [\n // Keep __check__ as the primary sort after any user-initiated sort change.\n // Guard against infinite loop: if __check__ is already first, the call was ours — skip it.\n readyApiRef.current.subscribeEvent(\"sortModelChange\", (model) => {\n if (!autoSortRef.current || model[0]?.field === \"__check__\") return;\n const withoutCheck = model.filter((s) => s.field !== \"__check__\");\n readyApiRef.current.setSortModel([{ field: \"__check__\", sort: \"desc\" }, ...withoutCheck]);\n }),\n // Re-apply sort when selection changes — DataGrid doesn't re-sort automatically\n // when checkbox state changes.\n readyApiRef.current.subscribeEvent(\"rowSelectionChange\", () => {\n if (!autoSortRef.current) return;\n readyApiRef.current.setSortModel([...readyApiRef.current.getSortModel()]);\n }),\n ],\n []\n );\n\n return { autoSort, setAutoSort, onReady };\n}\n"],"names":["useAutoSort","apiRef","initialSort","isPresorted","$","_c","autoSort","setAutoSort","useState","autoSortRef","useRef","t0","current","useEffect","t1","t2","api","base","setSortModel","field","sort","t3","Symbol","for","readyApiRef","subscribeEvent","model","withoutCheck","filter","_temp","getSortModel","onReady","t4","s"],"mappings":";;AAyBO,SAAAA,EAAAC,GAAAC,GAAAC,GAAA;AAAA,QAAAC,IAAAC,EAAAA,EAAA,EAAA,GAKL,CAAAC,GAAAC,CAAA,IAAgCC,EAAS,EAAK,GAI9CC,IAAoBC,EAAOJ,CAAQ;AAAE,MAAAK;AAAA,EAAAP,SAAAE,KAC3BK,IAAAA,MAAA;AACRF,IAAAA,EAAWG,UAAWN;AAAAA,EAAH,GACpBF,OAAAE,GAAAF,OAAAO,KAAAA,IAAAP,EAAA,CAAA,GAFDS,EAAUF,CAET;AAAC,MAAAG,GAAAC;AAAA,EAAAX,EAAA,CAAA,MAAAH,KAAAG,EAAA,CAAA,MAAAE,KAAAF,EAAA,CAAA,MAAAF,KAAAE,SAAAD,KAIQW,IAAAA,MAAA;AACR,UAAAE,IAAYf,GAAMW;AAClB,QAAI,CAACI;AAAG;AAER,UAAAC,IAA4Bd,IAAA,CAAA,IAAAD;AAC5Bc,IAAAA,EAAGE,aAAcZ,IAAA,CAAY;AAAA,MAAAa,OAAS;AAAA,MAAWC,MAAQ;AAAA,IAAA,GAAQ,GAAKH,CAAI,IAAzDA,CAAiE;AAAA,EAAC,GAClFF,IAAA,CAACd,GAAQK,GAAUH,GAAaD,CAAW,GAACE,OAAAH,GAAAG,OAAAE,GAAAF,OAAAF,GAAAE,OAAAD,GAAAC,OAAAU,GAAAV,OAAAW,MAAAD,IAAAV,EAAA,CAAA,GAAAW,IAAAX,EAAA,CAAA,IAN/CS,EAAUC,GAMPC,CAA4C;AAAC,MAAAM;AAAA,EAAAjB,EAAA,CAAA,MAAAkB,uBAAAC,IAAA,2BAAA,KAM9CF,IAAAG,OAAqC,CAGnCA,EAAWZ,QAAQa,eAAgB,mBAAmBC,CAAAA,MAAA;AACpD,QAAI,CAACjB,EAAWG,WAAYc,EAAK,CAAA,GAAUP,UAAK;AAAW;AAC3D,UAAAQ,IAAqBD,EAAKE,OAAQC,CAA8B;AAChEL,IAAAA,EAAWZ,QAAQM,aAAc,CAAC;AAAA,MAAAC,OAAS;AAAA,MAAWC,MAAQ;AAAA,IAAA,GAAQ,GAAKO,CAAY,CAAC;AAAA,EAAC,CAC1F,GAGDH,EAAWZ,QAAQa,eAAgB,sBAAsB,MAAA;AACvD,IAAKhB,EAAWG,WAChBY,EAAWZ,QAAQM,aAAc,CAAA,GAAIM,EAAWZ,QAAQkB,aAAAA,CAAe,CAAC;AAAA,EAAC,CAC1E,CAAC,GACH1B,OAAAiB,KAAAA,IAAAjB,EAAA,CAAA;AAfH,QAAA2B,IAAgBV;AAiBd,MAAAW;AAAA,SAAA5B,SAAAE,KAEK0B,IAAA;AAAA,IAAA1B,UAAAA;AAAAA,IAAAC,aAAAA;AAAAA,IAAAwB,SAAAA;AAAAA,EAAAA,GAAkC3B,OAAAE,GAAAF,QAAA4B,KAAAA,IAAA5B,EAAA,EAAA,GAAlC4B;AAAkC;AA9CpC,SAAAH,EAAAI,GAAA;AAAA,SAiC0CA,EAACd,UAAW;AAAW;"}