@weng-lab/ui-components 2.2.4 → 3.0.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 (662) hide show
  1. package/dist/src/components/BiosampleTable/BiosampleTable.d.ts.map +1 -1
  2. package/dist/src/components/BiosampleTable/columns.d.ts.map +1 -1
  3. package/dist/src/components/BiosampleTable/types.d.ts +1 -0
  4. package/dist/src/components/BiosampleTable/types.d.ts.map +1 -1
  5. package/dist/src/components/BiosampleTable/useEncodeBiosampleData.d.ts.map +1 -1
  6. package/dist/src/components/GenomeSearch/GenomeSearch.d.ts +7 -4
  7. package/dist/src/components/GenomeSearch/GenomeSearch.d.ts.map +1 -1
  8. package/dist/src/components/GenomeSearch/queries.d.ts +10 -10
  9. package/dist/src/components/GenomeSearch/queries.d.ts.map +1 -1
  10. package/dist/src/components/GenomeSearch/types.d.ts +27 -12
  11. package/dist/src/components/GenomeSearch/types.d.ts.map +1 -1
  12. package/dist/src/components/GenomeSearch/useEntityAutocomplete.d.ts +3 -10
  13. package/dist/src/components/GenomeSearch/useEntityAutocomplete.d.ts.map +1 -1
  14. package/dist/src/components/GenomeSearch/utils.d.ts.map +1 -1
  15. package/dist/src/components/Table/CustomToolbar.d.ts +2 -10
  16. package/dist/src/components/Table/CustomToolbar.d.ts.map +1 -1
  17. package/dist/src/components/Table/Table.d.ts.map +1 -1
  18. package/dist/src/components/Table/types.d.ts +20 -30
  19. package/dist/src/components/Table/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 +97 -90
  23. package/dist/ui-components.es10.js.map +1 -1
  24. package/dist/ui-components.es100.js +57 -7
  25. package/dist/ui-components.es100.js.map +1 -1
  26. package/dist/ui-components.es101.js +7 -6
  27. package/dist/ui-components.es101.js.map +1 -1
  28. package/dist/ui-components.es102.js +12 -6
  29. package/dist/ui-components.es102.js.map +1 -1
  30. package/dist/ui-components.es103.js +7 -5
  31. package/dist/ui-components.es103.js.map +1 -1
  32. package/dist/ui-components.es104.js +449 -6
  33. package/dist/ui-components.es104.js.map +1 -1
  34. package/dist/ui-components.es105.js +3 -6
  35. package/dist/ui-components.es105.js.map +1 -1
  36. package/dist/ui-components.es106.js +3 -29
  37. package/dist/ui-components.es106.js.map +1 -1
  38. package/dist/ui-components.es107.js +3 -8
  39. package/dist/ui-components.es107.js.map +1 -1
  40. package/dist/ui-components.es108.js +14 -47
  41. package/dist/ui-components.es108.js.map +1 -1
  42. package/dist/ui-components.es109.js +39 -194
  43. package/dist/ui-components.es109.js.map +1 -1
  44. package/dist/ui-components.es11.js +19 -15
  45. package/dist/ui-components.es11.js.map +1 -1
  46. package/dist/ui-components.es110.js +7 -18
  47. package/dist/ui-components.es110.js.map +1 -1
  48. package/dist/ui-components.es111.js +23 -279
  49. package/dist/ui-components.es111.js.map +1 -1
  50. package/dist/ui-components.es112.js +3 -6
  51. package/dist/ui-components.es112.js.map +1 -1
  52. package/dist/ui-components.es113.js +6 -6
  53. package/dist/ui-components.es113.js.map +1 -1
  54. package/dist/ui-components.es114.js +13 -7
  55. package/dist/ui-components.es114.js.map +1 -1
  56. package/dist/ui-components.es115.js +6 -4
  57. package/dist/ui-components.es115.js.map +1 -1
  58. package/dist/ui-components.es116.js +20 -5
  59. package/dist/ui-components.es116.js.map +1 -1
  60. package/dist/ui-components.es117.js +4 -20
  61. package/dist/ui-components.es117.js.map +1 -1
  62. package/dist/ui-components.es118.js +6 -11
  63. package/dist/ui-components.es118.js.map +1 -1
  64. package/dist/ui-components.es119.js +29 -7
  65. package/dist/ui-components.es119.js.map +1 -1
  66. package/dist/ui-components.es12.js +111 -79
  67. package/dist/ui-components.es12.js.map +1 -1
  68. package/dist/ui-components.es120.js +20 -24
  69. package/dist/ui-components.es120.js.map +1 -1
  70. package/dist/ui-components.es121.js +7 -3
  71. package/dist/ui-components.es121.js.map +1 -1
  72. package/dist/ui-components.es122.js +6 -160
  73. package/dist/ui-components.es122.js.map +1 -1
  74. package/dist/ui-components.es123.js +47 -3
  75. package/dist/ui-components.es123.js.map +1 -1
  76. package/dist/ui-components.es124.js +18 -4
  77. package/dist/ui-components.es124.js.map +1 -1
  78. package/dist/ui-components.es125.js +413 -3
  79. package/dist/ui-components.es125.js.map +1 -1
  80. package/dist/ui-components.es126.js +497 -21
  81. package/dist/ui-components.es126.js.map +1 -1
  82. package/dist/ui-components.es127.js +344 -3
  83. package/dist/ui-components.es127.js.map +1 -1
  84. package/dist/ui-components.es128.js +272 -15
  85. package/dist/ui-components.es128.js.map +1 -1
  86. package/dist/ui-components.es129.js +177 -8
  87. package/dist/ui-components.es129.js.map +1 -1
  88. package/dist/ui-components.es13.js +59 -38
  89. package/dist/ui-components.es13.js.map +1 -1
  90. package/dist/ui-components.es130.js +280 -4
  91. package/dist/ui-components.es130.js.map +1 -1
  92. package/dist/ui-components.es131.js +238 -4
  93. package/dist/ui-components.es131.js.map +1 -1
  94. package/dist/ui-components.es132.js +3 -37
  95. package/dist/ui-components.es132.js.map +1 -1
  96. package/dist/ui-components.es133.js +6 -344
  97. package/dist/ui-components.es133.js.map +1 -1
  98. package/dist/ui-components.es134.js +8 -275
  99. package/dist/ui-components.es134.js.map +1 -1
  100. package/dist/ui-components.es135.js +4 -6
  101. package/dist/ui-components.es135.js.map +1 -1
  102. package/dist/ui-components.es136.js +7 -7
  103. package/dist/ui-components.es136.js.map +1 -1
  104. package/dist/ui-components.es137.js +4 -8
  105. package/dist/ui-components.es137.js.map +1 -1
  106. package/dist/ui-components.es138.js +7 -6
  107. package/dist/ui-components.es138.js.map +1 -1
  108. package/dist/ui-components.es139.js +6 -6
  109. package/dist/ui-components.es139.js.map +1 -1
  110. package/dist/ui-components.es140.js +7 -311
  111. package/dist/ui-components.es140.js.map +1 -1
  112. package/dist/ui-components.es141.js +8 -6
  113. package/dist/ui-components.es141.js.map +1 -1
  114. package/dist/ui-components.es142.js +198 -6
  115. package/dist/ui-components.es142.js.map +1 -1
  116. package/dist/ui-components.es143.js +3 -6
  117. package/dist/ui-components.es143.js.map +1 -1
  118. package/dist/ui-components.es144.js +6 -6
  119. package/dist/ui-components.es144.js.map +1 -1
  120. package/dist/ui-components.es145.js +4 -60
  121. package/dist/ui-components.es145.js.map +1 -1
  122. package/dist/ui-components.es146.js +4 -8
  123. package/dist/ui-components.es146.js.map +1 -1
  124. package/dist/ui-components.es147.js +36 -6
  125. package/dist/ui-components.es147.js.map +1 -1
  126. package/dist/ui-components.es148.js +345 -2
  127. package/dist/ui-components.es148.js.map +1 -1
  128. package/dist/ui-components.es149.js +275 -3
  129. package/dist/ui-components.es149.js.map +1 -1
  130. package/dist/ui-components.es150.js +7 -31
  131. package/dist/ui-components.es150.js.map +1 -1
  132. package/dist/ui-components.es151.js +4 -15
  133. package/dist/ui-components.es151.js.map +1 -1
  134. package/dist/ui-components.es152.js +5 -57
  135. package/dist/ui-components.es152.js.map +1 -1
  136. package/dist/ui-components.es153.js +12 -7
  137. package/dist/ui-components.es153.js.map +1 -1
  138. package/dist/ui-components.es154.js +7 -7
  139. package/dist/ui-components.es154.js.map +1 -1
  140. package/dist/ui-components.es155.js +24 -25
  141. package/dist/ui-components.es155.js.map +1 -1
  142. package/dist/ui-components.es156.js +159 -27
  143. package/dist/ui-components.es156.js.map +1 -1
  144. package/dist/ui-components.es157.js +4 -11
  145. package/dist/ui-components.es157.js.map +1 -1
  146. package/dist/ui-components.es158.js +21 -4
  147. package/dist/ui-components.es158.js.map +1 -1
  148. package/dist/ui-components.es159.js +7 -196
  149. package/dist/ui-components.es159.js.map +1 -1
  150. package/dist/ui-components.es160.js +6 -189
  151. package/dist/ui-components.es160.js.map +1 -1
  152. package/dist/ui-components.es161.js +7 -9
  153. package/dist/ui-components.es161.js.map +1 -1
  154. package/dist/ui-components.es162.js +6 -22
  155. package/dist/ui-components.es162.js.map +1 -1
  156. package/dist/ui-components.es163.js +7 -125
  157. package/dist/ui-components.es163.js.map +1 -1
  158. package/dist/ui-components.es164.js +6 -4
  159. package/dist/ui-components.es164.js.map +1 -1
  160. package/dist/ui-components.es165.js +125 -4
  161. package/dist/ui-components.es165.js.map +1 -1
  162. package/dist/ui-components.es166.js +3 -2
  163. package/dist/ui-components.es166.js.map +1 -1
  164. package/dist/ui-components.es167.js +4 -101
  165. package/dist/ui-components.es167.js.map +1 -1
  166. package/dist/ui-components.es168.js +3 -6
  167. package/dist/ui-components.es168.js.map +1 -1
  168. package/dist/ui-components.es169.js +97 -59
  169. package/dist/ui-components.es169.js.map +1 -1
  170. package/dist/ui-components.es170.js +6 -177
  171. package/dist/ui-components.es170.js.map +1 -1
  172. package/dist/ui-components.es171.js +48 -176
  173. package/dist/ui-components.es171.js.map +1 -1
  174. package/dist/ui-components.es172.js +177 -6
  175. package/dist/ui-components.es172.js.map +1 -1
  176. package/dist/ui-components.es173.js +188 -266
  177. package/dist/ui-components.es173.js.map +1 -1
  178. package/dist/ui-components.es174.js +20 -172
  179. package/dist/ui-components.es174.js.map +1 -1
  180. package/dist/ui-components.es175.js +6 -109
  181. package/dist/ui-components.es175.js.map +1 -1
  182. package/dist/ui-components.es176.js +6 -7
  183. package/dist/ui-components.es176.js.map +1 -1
  184. package/dist/ui-components.es177.js +7 -63
  185. package/dist/ui-components.es177.js.map +1 -1
  186. package/dist/ui-components.es178.js +23 -43
  187. package/dist/ui-components.es178.js.map +1 -1
  188. package/dist/ui-components.es179.js +29 -3
  189. package/dist/ui-components.es179.js.map +1 -1
  190. package/dist/ui-components.es180.js +11 -7
  191. package/dist/ui-components.es180.js.map +1 -1
  192. package/dist/ui-components.es181.js +4 -155
  193. package/dist/ui-components.es181.js.map +1 -1
  194. package/dist/ui-components.es182.js +196 -4
  195. package/dist/ui-components.es182.js.map +1 -1
  196. package/dist/ui-components.es183.js +189 -39
  197. package/dist/ui-components.es183.js.map +1 -1
  198. package/dist/ui-components.es184.js +8 -25
  199. package/dist/ui-components.es184.js.map +1 -1
  200. package/dist/ui-components.es185.js +269 -7
  201. package/dist/ui-components.es185.js.map +1 -1
  202. package/dist/ui-components.es186.js +172 -26
  203. package/dist/ui-components.es186.js.map +1 -1
  204. package/dist/ui-components.es187.js +105 -119
  205. package/dist/ui-components.es187.js.map +1 -1
  206. package/dist/ui-components.es188.js +63 -12
  207. package/dist/ui-components.es188.js.map +1 -1
  208. package/dist/ui-components.es189.js +44 -4
  209. package/dist/ui-components.es189.js.map +1 -1
  210. package/dist/ui-components.es19.js +1 -1
  211. package/dist/ui-components.es190.js +3 -294
  212. package/dist/ui-components.es190.js.map +1 -1
  213. package/dist/ui-components.es191.js +7 -93
  214. package/dist/ui-components.es191.js.map +1 -1
  215. package/dist/ui-components.es192.js +154 -8
  216. package/dist/ui-components.es192.js.map +1 -1
  217. package/dist/ui-components.es193.js +4 -81
  218. package/dist/ui-components.es193.js.map +1 -1
  219. package/dist/ui-components.es194.js +38 -77
  220. package/dist/ui-components.es194.js.map +1 -1
  221. package/dist/ui-components.es195.js +24 -14
  222. package/dist/ui-components.es195.js.map +1 -1
  223. package/dist/ui-components.es196.js +8 -2
  224. package/dist/ui-components.es196.js.map +1 -1
  225. package/dist/ui-components.es197.js +27 -110
  226. package/dist/ui-components.es197.js.map +1 -1
  227. package/dist/ui-components.es198.js +121 -14
  228. package/dist/ui-components.es198.js.map +1 -1
  229. package/dist/ui-components.es199.js +12 -6
  230. package/dist/ui-components.es199.js.map +1 -1
  231. package/dist/ui-components.es2.js +29 -29
  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 -9
  235. package/dist/ui-components.es200.js.map +1 -1
  236. package/dist/ui-components.es201.js +290 -446
  237. package/dist/ui-components.es201.js.map +1 -1
  238. package/dist/ui-components.es202.js +93 -3
  239. package/dist/ui-components.es202.js.map +1 -1
  240. package/dist/ui-components.es203.js +10 -3
  241. package/dist/ui-components.es203.js.map +1 -1
  242. package/dist/ui-components.es204.js +82 -43
  243. package/dist/ui-components.es204.js.map +1 -1
  244. package/dist/ui-components.es205.js +77 -7
  245. package/dist/ui-components.es205.js.map +1 -1
  246. package/dist/ui-components.es206.js +16 -23
  247. package/dist/ui-components.es206.js.map +1 -1
  248. package/dist/ui-components.es207.js +2 -7
  249. package/dist/ui-components.es207.js.map +1 -1
  250. package/dist/ui-components.es208.js +217 -319
  251. package/dist/ui-components.es208.js.map +1 -1
  252. package/dist/ui-components.es209.js +6 -498
  253. package/dist/ui-components.es209.js.map +1 -1
  254. package/dist/ui-components.es21.js +70 -6
  255. package/dist/ui-components.es21.js.map +1 -1
  256. package/dist/ui-components.es210.js +6 -344
  257. package/dist/ui-components.es210.js.map +1 -1
  258. package/dist/ui-components.es211.js +6 -272
  259. package/dist/ui-components.es211.js.map +1 -1
  260. package/dist/ui-components.es212.js +8 -177
  261. package/dist/ui-components.es212.js.map +1 -1
  262. package/dist/ui-components.es213.js +56 -234
  263. package/dist/ui-components.es213.js.map +1 -1
  264. package/dist/ui-components.es217.js +3 -3
  265. package/dist/ui-components.es218.js +4 -4
  266. package/dist/ui-components.es219.js +1 -1
  267. package/dist/ui-components.es22.js +30 -6
  268. package/dist/ui-components.es22.js.map +1 -1
  269. package/dist/ui-components.es220.js +2 -35
  270. package/dist/ui-components.es220.js.map +1 -1
  271. package/dist/ui-components.es221.js +34 -22
  272. package/dist/ui-components.es221.js.map +1 -1
  273. package/dist/ui-components.es222.js +22 -11
  274. package/dist/ui-components.es222.js.map +1 -1
  275. package/dist/ui-components.es223.js +12 -2
  276. package/dist/ui-components.es223.js.map +1 -1
  277. package/dist/ui-components.es224.js +4 -2
  278. package/dist/ui-components.es224.js.map +1 -1
  279. package/dist/ui-components.es225.js +3 -3
  280. package/dist/ui-components.es225.js.map +1 -1
  281. package/dist/ui-components.es226.js +8 -45
  282. package/dist/ui-components.es226.js.map +1 -1
  283. package/dist/ui-components.es227.js +12 -11
  284. package/dist/ui-components.es227.js.map +1 -1
  285. package/dist/ui-components.es228.js +2 -2
  286. package/dist/ui-components.es229.js +4 -2
  287. package/dist/ui-components.es229.js.map +1 -1
  288. package/dist/ui-components.es23.js +27 -6
  289. package/dist/ui-components.es23.js.map +1 -1
  290. package/dist/ui-components.es230.js +45 -6
  291. package/dist/ui-components.es230.js.map +1 -1
  292. package/dist/ui-components.es231.js +10 -6
  293. package/dist/ui-components.es231.js.map +1 -1
  294. package/dist/ui-components.es232.js +2 -9
  295. package/dist/ui-components.es232.js.map +1 -1
  296. package/dist/ui-components.es233.js +2 -2
  297. package/dist/ui-components.es234.js +2 -2
  298. package/dist/ui-components.es235.js +6 -59
  299. package/dist/ui-components.es235.js.map +1 -1
  300. package/dist/ui-components.es236.js +59 -23
  301. package/dist/ui-components.es236.js.map +1 -1
  302. package/dist/ui-components.es237.js +2 -118
  303. package/dist/ui-components.es237.js.map +1 -1
  304. package/dist/ui-components.es238.js +2 -4
  305. package/dist/ui-components.es238.js.map +1 -1
  306. package/dist/ui-components.es239.js +23 -14
  307. package/dist/ui-components.es239.js.map +1 -1
  308. package/dist/ui-components.es24.js +43 -6
  309. package/dist/ui-components.es24.js.map +1 -1
  310. package/dist/ui-components.es240.js +114 -35
  311. package/dist/ui-components.es240.js.map +1 -1
  312. package/dist/ui-components.es241.js +3 -4
  313. package/dist/ui-components.es241.js.map +1 -1
  314. package/dist/ui-components.es242.js +15 -17
  315. package/dist/ui-components.es242.js.map +1 -1
  316. package/dist/ui-components.es243.js +39 -9
  317. package/dist/ui-components.es243.js.map +1 -1
  318. package/dist/ui-components.es244.js +4 -7
  319. package/dist/ui-components.es244.js.map +1 -1
  320. package/dist/ui-components.es245.js +16 -7
  321. package/dist/ui-components.es245.js.map +1 -1
  322. package/dist/ui-components.es246.js +8 -7
  323. package/dist/ui-components.es246.js.map +1 -1
  324. package/dist/ui-components.es247.js +7 -7
  325. package/dist/ui-components.es247.js.map +1 -1
  326. package/dist/ui-components.es248.js +7 -8
  327. package/dist/ui-components.es248.js.map +1 -1
  328. package/dist/ui-components.es249.js +8 -5
  329. package/dist/ui-components.es249.js.map +1 -1
  330. package/dist/ui-components.es25.js +21 -6
  331. package/dist/ui-components.es25.js.map +1 -1
  332. package/dist/ui-components.es250.js +7 -10
  333. package/dist/ui-components.es250.js.map +1 -1
  334. package/dist/ui-components.es251.js +9 -42
  335. package/dist/ui-components.es251.js.map +1 -1
  336. package/dist/ui-components.es252.js +5 -2
  337. package/dist/ui-components.es252.js.map +1 -1
  338. package/dist/ui-components.es253.js +11 -25
  339. package/dist/ui-components.es253.js.map +1 -1
  340. package/dist/ui-components.es254.js +41 -34
  341. package/dist/ui-components.es254.js.map +1 -1
  342. package/dist/ui-components.es255.js +6 -7
  343. package/dist/ui-components.es255.js.map +1 -1
  344. package/dist/ui-components.es256.js +232 -3
  345. package/dist/ui-components.es256.js.map +1 -1
  346. package/dist/ui-components.es257.js +2 -7
  347. package/dist/ui-components.es257.js.map +1 -1
  348. package/dist/ui-components.es258.js +2 -477
  349. package/dist/ui-components.es258.js.map +1 -1
  350. package/dist/ui-components.es259.js +9 -167
  351. package/dist/ui-components.es259.js.map +1 -1
  352. package/dist/ui-components.es26.js +20 -6
  353. package/dist/ui-components.es26.js.map +1 -1
  354. package/dist/ui-components.es260.js +1 -3
  355. package/dist/ui-components.es260.js.map +1 -1
  356. package/dist/ui-components.es261.js +2 -8
  357. package/dist/ui-components.es261.js.map +1 -1
  358. package/dist/ui-components.es262.js +3 -3
  359. package/dist/ui-components.es262.js.map +1 -1
  360. package/dist/ui-components.es263.js +7 -3
  361. package/dist/ui-components.es263.js.map +1 -1
  362. package/dist/ui-components.es264.js +476 -7
  363. package/dist/ui-components.es264.js.map +1 -1
  364. package/dist/ui-components.es265.js +167 -7
  365. package/dist/ui-components.es265.js.map +1 -1
  366. package/dist/ui-components.es266.js +25 -2
  367. package/dist/ui-components.es266.js.map +1 -1
  368. package/dist/ui-components.es267.js +34 -67
  369. package/dist/ui-components.es267.js.map +1 -1
  370. package/dist/ui-components.es268.js +7 -84
  371. package/dist/ui-components.es268.js.map +1 -1
  372. package/dist/ui-components.es269.js +4 -47
  373. package/dist/ui-components.es269.js.map +1 -1
  374. package/dist/ui-components.es27.js +130 -6
  375. package/dist/ui-components.es27.js.map +1 -1
  376. package/dist/ui-components.es270.js +7 -7
  377. package/dist/ui-components.es270.js.map +1 -1
  378. package/dist/ui-components.es271.js +3 -5
  379. package/dist/ui-components.es271.js.map +1 -1
  380. package/dist/ui-components.es272.js +3 -52
  381. package/dist/ui-components.es272.js.map +1 -1
  382. package/dist/ui-components.es273.js +8 -232
  383. package/dist/ui-components.es273.js.map +1 -1
  384. package/dist/ui-components.es274.js +8 -2
  385. package/dist/ui-components.es274.js.map +1 -1
  386. package/dist/ui-components.es275.js +2 -2
  387. package/dist/ui-components.es276.js +67 -9
  388. package/dist/ui-components.es276.js.map +1 -1
  389. package/dist/ui-components.es277.js +85 -2
  390. package/dist/ui-components.es277.js.map +1 -1
  391. package/dist/ui-components.es278.js +47 -2
  392. package/dist/ui-components.es278.js.map +1 -1
  393. package/dist/ui-components.es279.js +7 -3
  394. package/dist/ui-components.es279.js.map +1 -1
  395. package/dist/ui-components.es28.js +36 -255
  396. package/dist/ui-components.es28.js.map +1 -1
  397. package/dist/ui-components.es280.js +4 -3
  398. package/dist/ui-components.es280.js.map +1 -1
  399. package/dist/ui-components.es281.js +52 -12
  400. package/dist/ui-components.es281.js.map +1 -1
  401. package/dist/ui-components.es282.js +145 -29
  402. package/dist/ui-components.es282.js.map +1 -1
  403. package/dist/ui-components.es283.js +9 -519
  404. package/dist/ui-components.es283.js.map +1 -1
  405. package/dist/ui-components.es284.js +3 -6
  406. package/dist/ui-components.es284.js.map +1 -1
  407. package/dist/ui-components.es285.js +15 -233
  408. package/dist/ui-components.es285.js.map +1 -1
  409. package/dist/ui-components.es286.js +19 -8
  410. package/dist/ui-components.es286.js.map +1 -1
  411. package/dist/ui-components.es287.js +31 -6
  412. package/dist/ui-components.es287.js.map +1 -1
  413. package/dist/ui-components.es288.js +12 -6
  414. package/dist/ui-components.es288.js.map +1 -1
  415. package/dist/ui-components.es289.js +149 -6
  416. package/dist/ui-components.es289.js.map +1 -1
  417. package/dist/ui-components.es29.js +21 -724
  418. package/dist/ui-components.es29.js.map +1 -1
  419. package/dist/ui-components.es290.js +12 -6
  420. package/dist/ui-components.es290.js.map +1 -1
  421. package/dist/ui-components.es291.js +6 -6
  422. package/dist/ui-components.es291.js.map +1 -1
  423. package/dist/ui-components.es292.js +7 -243
  424. package/dist/ui-components.es292.js.map +1 -1
  425. package/dist/ui-components.es293.js +171 -8
  426. package/dist/ui-components.es293.js.map +1 -1
  427. package/dist/ui-components.es294.js +7 -48
  428. package/dist/ui-components.es294.js.map +1 -1
  429. package/dist/ui-components.es295.js +12 -3
  430. package/dist/ui-components.es295.js.map +1 -1
  431. package/dist/ui-components.es296.js +7 -6
  432. package/dist/ui-components.es296.js.map +1 -1
  433. package/dist/ui-components.es297.js +520 -6
  434. package/dist/ui-components.es297.js.map +1 -1
  435. package/dist/ui-components.es298.js +6 -4
  436. package/dist/ui-components.es298.js.map +1 -1
  437. package/dist/ui-components.es299.js +234 -7
  438. package/dist/ui-components.es299.js.map +1 -1
  439. package/dist/ui-components.es3.js +161 -101
  440. package/dist/ui-components.es3.js.map +1 -1
  441. package/dist/ui-components.es30.js +162 -569
  442. package/dist/ui-components.es30.js.map +1 -1
  443. package/dist/ui-components.es300.js +7 -6
  444. package/dist/ui-components.es300.js.map +1 -1
  445. package/dist/ui-components.es301.js +242 -5
  446. package/dist/ui-components.es301.js.map +1 -1
  447. package/dist/ui-components.es302.js +6 -5
  448. package/dist/ui-components.es302.js.map +1 -1
  449. package/dist/ui-components.es303.js +46 -166
  450. package/dist/ui-components.es303.js.map +1 -1
  451. package/dist/ui-components.es304.js +3 -15
  452. package/dist/ui-components.es304.js.map +1 -1
  453. package/dist/ui-components.es305.js +6 -333
  454. package/dist/ui-components.es305.js.map +1 -1
  455. package/dist/ui-components.es306.js +6 -323
  456. package/dist/ui-components.es306.js.map +1 -1
  457. package/dist/ui-components.es307.js +6 -7
  458. package/dist/ui-components.es307.js.map +1 -1
  459. package/dist/ui-components.es308.js +6 -43
  460. package/dist/ui-components.es308.js.map +1 -1
  461. package/dist/ui-components.es309.js +6 -3
  462. package/dist/ui-components.es309.js.map +1 -1
  463. package/dist/ui-components.es31.js +26 -62
  464. package/dist/ui-components.es31.js.map +1 -1
  465. package/dist/ui-components.es310.js +6 -7
  466. package/dist/ui-components.es310.js.map +1 -1
  467. package/dist/ui-components.es311.js +3 -40
  468. package/dist/ui-components.es311.js.map +1 -1
  469. package/dist/ui-components.es312.js +6 -64
  470. package/dist/ui-components.es312.js.map +1 -1
  471. package/dist/ui-components.es313.js +155 -25
  472. package/dist/ui-components.es313.js.map +1 -1
  473. package/dist/ui-components.es314.js +6 -19
  474. package/dist/ui-components.es314.js.map +1 -1
  475. package/dist/ui-components.es315.js +6 -48
  476. package/dist/ui-components.es315.js.map +1 -1
  477. package/dist/ui-components.es316.js +5 -19
  478. package/dist/ui-components.es316.js.map +1 -1
  479. package/dist/ui-components.es317.js +323 -51
  480. package/dist/ui-components.es317.js.map +1 -1
  481. package/dist/ui-components.es318.js +6 -6
  482. package/dist/ui-components.es318.js.map +1 -1
  483. package/dist/ui-components.es319.js +14 -7
  484. package/dist/ui-components.es319.js.map +1 -1
  485. package/dist/ui-components.es32.js +40 -111
  486. package/dist/ui-components.es32.js.map +1 -1
  487. package/dist/ui-components.es320.js +330 -72
  488. package/dist/ui-components.es320.js.map +1 -1
  489. package/dist/ui-components.es321.js +37 -22
  490. package/dist/ui-components.es321.js.map +1 -1
  491. package/dist/ui-components.es322.js +19 -4
  492. package/dist/ui-components.es322.js.map +1 -1
  493. package/dist/ui-components.es323.js +39 -57
  494. package/dist/ui-components.es323.js.map +1 -1
  495. package/dist/ui-components.es324.js +3 -26
  496. package/dist/ui-components.es324.js.map +1 -1
  497. package/dist/ui-components.es325.js +8 -3
  498. package/dist/ui-components.es325.js.map +1 -1
  499. package/dist/ui-components.es326.js +39 -11
  500. package/dist/ui-components.es326.js.map +1 -1
  501. package/dist/ui-components.es327.js +63 -8
  502. package/dist/ui-components.es327.js.map +1 -1
  503. package/dist/ui-components.es328.js +47 -14
  504. package/dist/ui-components.es328.js.map +1 -1
  505. package/dist/ui-components.es329.js +7 -9
  506. package/dist/ui-components.es329.js.map +1 -1
  507. package/dist/ui-components.es33.js +6 -240
  508. package/dist/ui-components.es33.js.map +1 -1
  509. package/dist/ui-components.es330.js +72 -143
  510. package/dist/ui-components.es330.js.map +1 -1
  511. package/dist/ui-components.es331.js +60 -10
  512. package/dist/ui-components.es331.js.map +1 -1
  513. package/dist/ui-components.es332.js +20 -19
  514. package/dist/ui-components.es332.js.map +1 -1
  515. package/dist/ui-components.es333.js +51 -2
  516. package/dist/ui-components.es333.js.map +1 -1
  517. package/dist/ui-components.es334.js +7 -2
  518. package/dist/ui-components.es334.js.map +1 -1
  519. package/dist/ui-components.es335.js +22 -147
  520. package/dist/ui-components.es335.js.map +1 -1
  521. package/dist/ui-components.es336.js +4 -11
  522. package/dist/ui-components.es336.js.map +1 -1
  523. package/dist/ui-components.es337.js +25 -11
  524. package/dist/ui-components.es337.js.map +1 -1
  525. package/dist/ui-components.es338.js +12 -11
  526. package/dist/ui-components.es338.js.map +1 -1
  527. package/dist/ui-components.es339.js +9 -6
  528. package/dist/ui-components.es339.js.map +1 -1
  529. package/dist/ui-components.es34.js +6 -196
  530. package/dist/ui-components.es34.js.map +1 -1
  531. package/dist/ui-components.es340.js +10 -171
  532. package/dist/ui-components.es340.js.map +1 -1
  533. package/dist/ui-components.es341.js +7 -7
  534. package/dist/ui-components.es341.js.map +1 -1
  535. package/dist/ui-components.es342.js +2 -8
  536. package/dist/ui-components.es342.js.map +1 -1
  537. package/dist/ui-components.es343.js +65 -7
  538. package/dist/ui-components.es343.js.map +1 -1
  539. package/dist/ui-components.es344.js +66 -2
  540. package/dist/ui-components.es344.js.map +1 -1
  541. package/dist/ui-components.es345.js +2 -66
  542. package/dist/ui-components.es345.js.map +1 -1
  543. package/dist/ui-components.es346.js +2 -66
  544. package/dist/ui-components.es346.js.map +1 -1
  545. package/dist/ui-components.es347.js +8 -7
  546. package/dist/ui-components.es347.js.map +1 -1
  547. package/dist/ui-components.es348.js +7 -8
  548. package/dist/ui-components.es348.js.map +1 -1
  549. package/dist/ui-components.es349.js +1 -1
  550. package/dist/ui-components.es35.js +6 -75
  551. package/dist/ui-components.es35.js.map +1 -1
  552. package/dist/ui-components.es351.js +1 -1
  553. package/dist/ui-components.es356.js +7 -125
  554. package/dist/ui-components.es356.js.map +1 -1
  555. package/dist/ui-components.es357.js +125 -7
  556. package/dist/ui-components.es357.js.map +1 -1
  557. package/dist/ui-components.es358.js +6 -6
  558. package/dist/ui-components.es358.js.map +1 -1
  559. package/dist/ui-components.es36.js +6 -461
  560. package/dist/ui-components.es36.js.map +1 -1
  561. package/dist/ui-components.es368.js +1 -1
  562. package/dist/ui-components.es37.js +6 -11
  563. package/dist/ui-components.es37.js.map +1 -1
  564. package/dist/ui-components.es38.js +6 -642
  565. package/dist/ui-components.es38.js.map +1 -1
  566. package/dist/ui-components.es389.js +2 -2
  567. package/dist/ui-components.es39.js +180 -220
  568. package/dist/ui-components.es39.js.map +1 -1
  569. package/dist/ui-components.es4.js +5 -5
  570. package/dist/ui-components.es40.js +685 -80
  571. package/dist/ui-components.es40.js.map +1 -1
  572. package/dist/ui-components.es41.js +618 -84
  573. package/dist/ui-components.es41.js.map +1 -1
  574. package/dist/ui-components.es42.js +39 -33
  575. package/dist/ui-components.es42.js.map +1 -1
  576. package/dist/ui-components.es43.js +74 -221
  577. package/dist/ui-components.es43.js.map +1 -1
  578. package/dist/ui-components.es44.js +171 -194
  579. package/dist/ui-components.es44.js.map +1 -1
  580. package/dist/ui-components.es45.js +182 -18
  581. package/dist/ui-components.es45.js.map +1 -1
  582. package/dist/ui-components.es46.js +42 -316
  583. package/dist/ui-components.es46.js.map +1 -1
  584. package/dist/ui-components.es47.js +420 -114
  585. package/dist/ui-components.es47.js.map +1 -1
  586. package/dist/ui-components.es48.js +11 -143
  587. package/dist/ui-components.es48.js.map +1 -1
  588. package/dist/ui-components.es49.js +642 -20
  589. package/dist/ui-components.es49.js.map +1 -1
  590. package/dist/ui-components.es5.js +94 -108
  591. package/dist/ui-components.es5.js.map +1 -1
  592. package/dist/ui-components.es50.js +293 -123
  593. package/dist/ui-components.es50.js.map +1 -1
  594. package/dist/ui-components.es51.js +121 -36
  595. package/dist/ui-components.es51.js.map +1 -1
  596. package/dist/ui-components.es52.js +126 -23
  597. package/dist/ui-components.es52.js.map +1 -1
  598. package/dist/ui-components.es53.js +45 -229
  599. package/dist/ui-components.es53.js.map +1 -1
  600. package/dist/ui-components.es54.js +248 -28
  601. package/dist/ui-components.es54.js.map +1 -1
  602. package/dist/ui-components.es55.js +169 -932
  603. package/dist/ui-components.es55.js.map +1 -1
  604. package/dist/ui-components.es56.js +19 -111
  605. package/dist/ui-components.es56.js.map +1 -1
  606. package/dist/ui-components.es57.js +273 -310
  607. package/dist/ui-components.es57.js.map +1 -1
  608. package/dist/ui-components.es58.js +155 -70
  609. package/dist/ui-components.es58.js.map +1 -1
  610. package/dist/ui-components.es59.js +141 -28
  611. package/dist/ui-components.es59.js.map +1 -1
  612. package/dist/ui-components.es6.js +3 -3
  613. package/dist/ui-components.es60.js +1026 -27
  614. package/dist/ui-components.es60.js.map +1 -1
  615. package/dist/ui-components.es61.js +123 -42
  616. package/dist/ui-components.es61.js.map +1 -1
  617. package/dist/ui-components.es62.js +386 -21
  618. package/dist/ui-components.es62.js.map +1 -1
  619. package/dist/ui-components.es63.js +42 -45
  620. package/dist/ui-components.es63.js.map +1 -1
  621. package/dist/ui-components.es64.js +98 -95
  622. package/dist/ui-components.es64.js.map +1 -1
  623. package/dist/ui-components.es67.js +1 -1
  624. package/dist/ui-components.es68.js +1 -1
  625. package/dist/ui-components.es71.js +1 -1
  626. package/dist/ui-components.es72.js +1 -1
  627. package/dist/ui-components.es73.js +209 -2
  628. package/dist/ui-components.es73.js.map +1 -1
  629. package/dist/ui-components.es74.js +2 -2
  630. package/dist/ui-components.es75.js +2 -2
  631. package/dist/ui-components.es76.js +2 -2
  632. package/dist/ui-components.es77.js +2 -209
  633. package/dist/ui-components.es77.js.map +1 -1
  634. package/dist/ui-components.es78.js +1 -1
  635. package/dist/ui-components.es8.js +42 -44
  636. package/dist/ui-components.es8.js.map +1 -1
  637. package/dist/ui-components.es83.js +6 -6
  638. package/dist/ui-components.es84.js +11 -11
  639. package/dist/ui-components.es85.js +13 -13
  640. package/dist/ui-components.es86.js +14 -14
  641. package/dist/ui-components.es87.js +10 -10
  642. package/dist/ui-components.es90.js +6 -12
  643. package/dist/ui-components.es90.js.map +1 -1
  644. package/dist/ui-components.es91.js +112 -4
  645. package/dist/ui-components.es91.js.map +1 -1
  646. package/dist/ui-components.es92.js +9 -4
  647. package/dist/ui-components.es92.js.map +1 -1
  648. package/dist/ui-components.es93.js +17 -3
  649. package/dist/ui-components.es93.js.map +1 -1
  650. package/dist/ui-components.es94.js +10 -7
  651. package/dist/ui-components.es94.js.map +1 -1
  652. package/dist/ui-components.es95.js +3 -9
  653. package/dist/ui-components.es95.js.map +1 -1
  654. package/dist/ui-components.es96.js +2 -7
  655. package/dist/ui-components.es96.js.map +1 -1
  656. package/dist/ui-components.es97.js +3 -14
  657. package/dist/ui-components.es97.js.map +1 -1
  658. package/dist/ui-components.es98.js +31 -20
  659. package/dist/ui-components.es98.js.map +1 -1
  660. package/dist/ui-components.es99.js +15 -8
  661. package/dist/ui-components.es99.js.map +1 -1
  662. package/package.json +1 -1
@@ -1,10 +1,237 @@
1
- function l(t) {
2
- let e = t.activeElement;
3
- for (; e?.shadowRoot?.activeElement != null; )
4
- e = e.shadowRoot.activeElement;
5
- return e;
6
- }
1
+ import * as v from "react";
2
+ import r from "./ui-components.es89.js";
3
+ import { clsx as g } from "./ui-components.es102.js";
4
+ import u, { getNativeSelectUtilityClasses as R } from "./ui-components.es348.js";
5
+ import N from "./ui-components.es143.js";
6
+ import { j as d } from "./ui-components.es15.js";
7
+ import f from "./ui-components.es113.js";
8
+ import y from "./ui-components.es114.js";
9
+ import n from "./ui-components.es48.js";
10
+ import h from "./ui-components.es132.js";
11
+ const C = (t) => {
12
+ const {
13
+ classes: e,
14
+ variant: o,
15
+ disabled: a,
16
+ multiple: i,
17
+ open: s,
18
+ error: l
19
+ } = t, c = {
20
+ select: ["select", o, a && "disabled", i && "multiple", l && "error"],
21
+ icon: ["icon", `icon${f(o)}`, s && "iconOpen", a && "disabled"]
22
+ };
23
+ return y(c, R, e);
24
+ }, w = n("select", {
25
+ name: "MuiNativeSelect"
26
+ })(({
27
+ theme: t
28
+ }) => ({
29
+ // Reset
30
+ MozAppearance: "none",
31
+ // Reset
32
+ WebkitAppearance: "none",
33
+ // When interacting quickly, the text can end up selected.
34
+ // Native select can't be selected either.
35
+ userSelect: "none",
36
+ // Reset
37
+ borderRadius: 0,
38
+ cursor: "pointer",
39
+ "&:focus": {
40
+ // Reset Chrome style
41
+ borderRadius: 0
42
+ },
43
+ [`&.${u.disabled}`]: {
44
+ cursor: "default"
45
+ },
46
+ "&[multiple]": {
47
+ height: "auto"
48
+ },
49
+ "&:not([multiple]) option, &:not([multiple]) optgroup": {
50
+ backgroundColor: (t.vars || t).palette.background.paper
51
+ },
52
+ variants: [{
53
+ props: ({
54
+ ownerState: e
55
+ }) => e.variant !== "filled" && e.variant !== "outlined",
56
+ style: {
57
+ // Bump specificity to allow extending custom inputs
58
+ "&&&": {
59
+ paddingRight: 24,
60
+ minWidth: 16
61
+ // So it doesn't collapse.
62
+ }
63
+ }
64
+ }, {
65
+ props: {
66
+ variant: "filled"
67
+ },
68
+ style: {
69
+ "&&&": {
70
+ paddingRight: 32
71
+ }
72
+ }
73
+ }, {
74
+ props: {
75
+ variant: "outlined"
76
+ },
77
+ style: {
78
+ borderRadius: (t.vars || t).shape.borderRadius,
79
+ "&:focus": {
80
+ borderRadius: (t.vars || t).shape.borderRadius
81
+ // Reset the reset for Chrome style
82
+ },
83
+ "&&&": {
84
+ paddingRight: 32
85
+ }
86
+ }
87
+ }]
88
+ })), x = n(w, {
89
+ name: "MuiNativeSelect",
90
+ slot: "Select",
91
+ shouldForwardProp: N,
92
+ overridesResolver: (t, e) => {
93
+ const {
94
+ ownerState: o
95
+ } = t;
96
+ return [e.select, e[o.variant], o.error && e.error, {
97
+ [`&.${u.multiple}`]: e.multiple
98
+ }];
99
+ }
100
+ })({}), I = n("svg", {
101
+ name: "MuiNativeSelect"
102
+ })(({
103
+ theme: t
104
+ }) => ({
105
+ // We use a position absolute over a flexbox in order to forward the pointer events
106
+ // to the input and to support wrapping tags..
107
+ position: "absolute",
108
+ right: 0,
109
+ // Center vertically, height is 1em
110
+ top: "calc(50% - .5em)",
111
+ // Don't block pointer events on the select under the icon.
112
+ pointerEvents: "none",
113
+ color: (t.vars || t).palette.action.active,
114
+ [`&.${u.disabled}`]: {
115
+ color: (t.vars || t).palette.action.disabled
116
+ },
117
+ variants: [{
118
+ props: ({
119
+ ownerState: e
120
+ }) => e.open,
121
+ style: {
122
+ transform: "rotate(180deg)"
123
+ }
124
+ }, {
125
+ props: {
126
+ variant: "filled"
127
+ },
128
+ style: {
129
+ right: 7
130
+ }
131
+ }, {
132
+ props: {
133
+ variant: "outlined"
134
+ },
135
+ style: {
136
+ right: 7
137
+ }
138
+ }]
139
+ })), j = n(I, {
140
+ name: "MuiNativeSelect",
141
+ slot: "Icon",
142
+ overridesResolver: (t, e) => {
143
+ const {
144
+ ownerState: o
145
+ } = t;
146
+ return [e.icon, o.variant && e[`icon${f(o.variant)}`], o.open && e.iconOpen];
147
+ }
148
+ })({}), M = /* @__PURE__ */ v.forwardRef(function(e, o) {
149
+ const {
150
+ className: a,
151
+ disabled: i,
152
+ error: s,
153
+ IconComponent: l,
154
+ inputRef: c,
155
+ variant: b = "standard",
156
+ ...S
157
+ } = e, p = {
158
+ ...e,
159
+ disabled: i,
160
+ variant: b,
161
+ error: s
162
+ }, m = C(p);
163
+ return /* @__PURE__ */ d.jsxs(v.Fragment, {
164
+ children: [/* @__PURE__ */ d.jsx(x, {
165
+ ownerState: p,
166
+ className: g(m.select, a),
167
+ disabled: i,
168
+ ref: c || o,
169
+ ...S
170
+ }), e.multiple ? null : /* @__PURE__ */ d.jsx(j, {
171
+ as: l,
172
+ ownerState: p,
173
+ className: m.icon
174
+ })]
175
+ });
176
+ });
177
+ process.env.NODE_ENV !== "production" && (M.propTypes = {
178
+ /**
179
+ * The option elements to populate the select with.
180
+ * Can be some `<option>` elements.
181
+ */
182
+ children: r.node,
183
+ /**
184
+ * Override or extend the styles applied to the component.
185
+ */
186
+ classes: r.object,
187
+ /**
188
+ * The CSS class name of the select element.
189
+ */
190
+ className: r.string,
191
+ /**
192
+ * If `true`, the select is disabled.
193
+ */
194
+ disabled: r.bool,
195
+ /**
196
+ * If `true`, the `select input` will indicate an error.
197
+ */
198
+ error: r.bool,
199
+ /**
200
+ * The icon that displays the arrow.
201
+ */
202
+ IconComponent: r.elementType.isRequired,
203
+ /**
204
+ * Use that prop to pass a ref to the native select element.
205
+ * @deprecated
206
+ */
207
+ inputRef: h,
208
+ /**
209
+ * @ignore
210
+ */
211
+ multiple: r.bool,
212
+ /**
213
+ * Name attribute of the `select` or hidden `input` element.
214
+ */
215
+ name: r.string,
216
+ /**
217
+ * Callback fired when a menu item is selected.
218
+ *
219
+ * @param {object} event The event source of the callback.
220
+ * You can pull out the new value by accessing `event.target.value` (string).
221
+ */
222
+ onChange: r.func,
223
+ /**
224
+ * The input value.
225
+ */
226
+ value: r.any,
227
+ /**
228
+ * The variant to use.
229
+ */
230
+ variant: r.oneOf(["standard", "outlined", "filled"])
231
+ });
7
232
  export {
8
- l as default
233
+ I as StyledSelectIcon,
234
+ w as StyledSelectSelect,
235
+ M as default
9
236
  };
10
237
  //# sourceMappingURL=ui-components.es299.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es299.js","sources":["../../../node_modules/.pnpm/@mui+utils@7.3.9_@types+react@19.2.14_react@19.2.4/node_modules/@mui/utils/esm/getActiveElement/getActiveElement.js"],"sourcesContent":["/**\n * Gets the actual active element, traversing through shadow roots if necessary.\n *\n * When an element inside a shadow root has focus, `document.activeElement` returns\n * the shadow host element. This function recursively traverses shadow roots to find\n * the actual focused element.\n *\n * @param root - The document or shadow root to start the search from.\n * @returns The actual focused element, or null if no element has focus.\n *\n * @example\n * // In a shadow DOM context\n * const activeElement = getActiveElement(document);\n * // Returns the actual focused element inside the shadow root\n *\n * @example\n * // Starting from a specific document\n * const activeElement = getActiveElement(ownerDocument(element));\n */\nexport default function activeElement(doc) {\n let element = doc.activeElement;\n while (element?.shadowRoot?.activeElement != null) {\n element = element.shadowRoot.activeElement;\n }\n return element;\n}"],"names":["activeElement","doc","element"],"mappings":"AAmBe,SAASA,EAAcC,GAAK;AACzC,MAAIC,IAAUD,EAAI;AAClB,SAAOC,GAAS,YAAY,iBAAiB;AAC3C,IAAAA,IAAUA,EAAQ,WAAW;AAE/B,SAAOA;AACT;","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"ui-components.es299.js","sources":["../../../node_modules/.pnpm/@mui+material@7.3.9_@emotion+react@11.14.0_@types+react@19.2.14_react@19.2.4__@emotion+_5efc65b7a21bb615fd4ee8d4bf58b896/node_modules/@mui/material/esm/NativeSelect/NativeSelectInput.js"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport refType from '@mui/utils/refType';\nimport composeClasses from '@mui/utils/composeClasses';\nimport capitalize from \"../utils/capitalize.js\";\nimport nativeSelectClasses, { getNativeSelectUtilityClasses } from \"./nativeSelectClasses.js\";\nimport { styled } from \"../zero-styled/index.js\";\nimport rootShouldForwardProp from \"../styles/rootShouldForwardProp.js\";\nimport { jsx as _jsx, jsxs as _jsxs } from \"react/jsx-runtime\";\nconst useUtilityClasses = ownerState => {\n const {\n classes,\n variant,\n disabled,\n multiple,\n open,\n error\n } = ownerState;\n const slots = {\n select: ['select', variant, disabled && 'disabled', multiple && 'multiple', error && 'error'],\n icon: ['icon', `icon${capitalize(variant)}`, open && 'iconOpen', disabled && 'disabled']\n };\n return composeClasses(slots, getNativeSelectUtilityClasses, classes);\n};\nexport const StyledSelectSelect = styled('select', {\n name: 'MuiNativeSelect'\n})(({\n theme\n}) => ({\n // Reset\n MozAppearance: 'none',\n // Reset\n WebkitAppearance: 'none',\n // When interacting quickly, the text can end up selected.\n // Native select can't be selected either.\n userSelect: 'none',\n // Reset\n borderRadius: 0,\n cursor: 'pointer',\n '&:focus': {\n // Reset Chrome style\n borderRadius: 0\n },\n [`&.${nativeSelectClasses.disabled}`]: {\n cursor: 'default'\n },\n '&[multiple]': {\n height: 'auto'\n },\n '&:not([multiple]) option, &:not([multiple]) optgroup': {\n backgroundColor: (theme.vars || theme).palette.background.paper\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.variant !== 'filled' && ownerState.variant !== 'outlined',\n style: {\n // Bump specificity to allow extending custom inputs\n '&&&': {\n paddingRight: 24,\n minWidth: 16 // So it doesn't collapse.\n }\n }\n }, {\n props: {\n variant: 'filled'\n },\n style: {\n '&&&': {\n paddingRight: 32\n }\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n borderRadius: (theme.vars || theme).shape.borderRadius,\n '&:focus': {\n borderRadius: (theme.vars || theme).shape.borderRadius // Reset the reset for Chrome style\n },\n '&&&': {\n paddingRight: 32\n }\n }\n }]\n}));\nconst NativeSelectSelect = styled(StyledSelectSelect, {\n name: 'MuiNativeSelect',\n slot: 'Select',\n shouldForwardProp: rootShouldForwardProp,\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.select, styles[ownerState.variant], ownerState.error && styles.error, {\n [`&.${nativeSelectClasses.multiple}`]: styles.multiple\n }];\n }\n})({});\nexport const StyledSelectIcon = styled('svg', {\n name: 'MuiNativeSelect'\n})(({\n theme\n}) => ({\n // We use a position absolute over a flexbox in order to forward the pointer events\n // to the input and to support wrapping tags..\n position: 'absolute',\n right: 0,\n // Center vertically, height is 1em\n top: 'calc(50% - .5em)',\n // Don't block pointer events on the select under the icon.\n pointerEvents: 'none',\n color: (theme.vars || theme).palette.action.active,\n [`&.${nativeSelectClasses.disabled}`]: {\n color: (theme.vars || theme).palette.action.disabled\n },\n variants: [{\n props: ({\n ownerState\n }) => ownerState.open,\n style: {\n transform: 'rotate(180deg)'\n }\n }, {\n props: {\n variant: 'filled'\n },\n style: {\n right: 7\n }\n }, {\n props: {\n variant: 'outlined'\n },\n style: {\n right: 7\n }\n }]\n}));\nconst NativeSelectIcon = styled(StyledSelectIcon, {\n name: 'MuiNativeSelect',\n slot: 'Icon',\n overridesResolver: (props, styles) => {\n const {\n ownerState\n } = props;\n return [styles.icon, ownerState.variant && styles[`icon${capitalize(ownerState.variant)}`], ownerState.open && styles.iconOpen];\n }\n})({});\n\n/**\n * @ignore - internal component.\n */\nconst NativeSelectInput = /*#__PURE__*/React.forwardRef(function NativeSelectInput(props, ref) {\n const {\n className,\n disabled,\n error,\n IconComponent,\n inputRef,\n variant = 'standard',\n ...other\n } = props;\n const ownerState = {\n ...props,\n disabled,\n variant,\n error\n };\n const classes = useUtilityClasses(ownerState);\n return /*#__PURE__*/_jsxs(React.Fragment, {\n children: [/*#__PURE__*/_jsx(NativeSelectSelect, {\n ownerState: ownerState,\n className: clsx(classes.select, className),\n disabled: disabled,\n ref: inputRef || ref,\n ...other\n }), props.multiple ? null : /*#__PURE__*/_jsx(NativeSelectIcon, {\n as: IconComponent,\n ownerState: ownerState,\n className: classes.icon\n })]\n });\n});\nprocess.env.NODE_ENV !== \"production\" ? NativeSelectInput.propTypes = {\n /**\n * The option elements to populate the select with.\n * Can be some `<option>` elements.\n */\n children: PropTypes.node,\n /**\n * Override or extend the styles applied to the component.\n */\n classes: PropTypes.object,\n /**\n * The CSS class name of the select element.\n */\n className: PropTypes.string,\n /**\n * If `true`, the select is disabled.\n */\n disabled: PropTypes.bool,\n /**\n * If `true`, the `select input` will indicate an error.\n */\n error: PropTypes.bool,\n /**\n * The icon that displays the arrow.\n */\n IconComponent: PropTypes.elementType.isRequired,\n /**\n * Use that prop to pass a ref to the native select element.\n * @deprecated\n */\n inputRef: refType,\n /**\n * @ignore\n */\n multiple: PropTypes.bool,\n /**\n * Name attribute of the `select` or hidden `input` element.\n */\n name: PropTypes.string,\n /**\n * Callback fired when a menu item is selected.\n *\n * @param {object} event The event source of the callback.\n * You can pull out the new value by accessing `event.target.value` (string).\n */\n onChange: PropTypes.func,\n /**\n * The input value.\n */\n value: PropTypes.any,\n /**\n * The variant to use.\n */\n variant: PropTypes.oneOf(['standard', 'outlined', 'filled'])\n} : void 0;\nexport default NativeSelectInput;"],"names":["useUtilityClasses","ownerState","classes","variant","disabled","multiple","open","error","slots","capitalize","composeClasses","getNativeSelectUtilityClasses","StyledSelectSelect","styled","theme","nativeSelectClasses","NativeSelectSelect","rootShouldForwardProp","props","styles","StyledSelectIcon","NativeSelectIcon","NativeSelectInput","React","ref","className","IconComponent","inputRef","other","_jsxs","_jsx","clsx","PropTypes","refType"],"mappings":"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","x_google_ignoreList":[0]}
@@ -1,117 +1,177 @@
1
- import { j as l } from "./ui-components.es15.js";
2
- import I, { useState as R, useMemo as F, useEffect as N, useCallback as W, createElement as Q } from "react";
3
- import { c as V } from "./ui-components.es17.js";
4
- import { isDomain as z } from "./ui-components.es63.js";
5
- import { Box as M, Autocomplete as H, TextField as J, Button as U, Typography as w } from "@mui/material";
6
- import { useEntityAutocomplete as X } from "./ui-components.es12.js";
7
- const f = 3, Y = ({
8
- queries: n,
9
- assembly: e,
10
- showiCREFlag: o,
11
- geneVersion: O,
12
- geneLimit: E = f,
13
- snpLimit: c = f,
14
- icreLimit: s = f,
15
- ccreLimit: i = f,
16
- legacyCcreLimit: $ = f,
17
- studyLimit: K = f,
18
- onSearchSubmit: d,
19
- defaultResults: k = [],
20
- style: T,
21
- sx: A,
22
- slots: p,
23
- slotProps: x,
24
- ..._
25
- }) => {
26
- const [u, g] = R(""), [m, v] = R(null), {
27
- data: a,
28
- loading: B
29
- } = X(u && u !== "" ? [u] : [], {
30
- queries: n,
31
- assembly: e,
32
- geneVersion: O,
33
- limits: {
34
- gene: E,
35
- snp: c,
36
- icre: s,
37
- ccre: i,
38
- legacyCcre: $,
39
- study: K
40
- },
41
- showiCREFlag: o,
42
- debounceMs: 100
43
- }), b = F(() => {
44
- const t = new Map(n.map((y, h) => [y, h])), r = (y) => [...y].sort((h, L) => {
45
- const C = t.get(h.type), j = t.get(L.type);
46
- return C === void 0 && j === void 0 ? (h.title || "").localeCompare(L.title || "") : C === void 0 ? 1 : j === void 0 ? -1 : C !== j ? C - j : (h.title || "").localeCompare(L.title || "");
1
+ import { j as s } from "./ui-components.es15.js";
2
+ import { useState as ve, useEffect as Re, createElement as we } from "react";
3
+ import { c as Ce } from "./ui-components.es17.js";
4
+ import { isDomain as ke } from "./ui-components.es63.js";
5
+ import { TextField as Oe, Autocomplete as Ee, Button as Be, Box as _e, Typography as le } from "@mui/material";
6
+ import { useEntityAutocomplete as Le } from "./ui-components.es12.js";
7
+ function Qe(l) {
8
+ const e = Ce.c(97);
9
+ let n, d, m, x, y, i, c, h, S, b, g, v, a;
10
+ e[0] !== l ? ({
11
+ queries: c,
12
+ assembly: n,
13
+ showiCREFlag: h,
14
+ geneVersion: m,
15
+ limit: y,
16
+ graphqlUrl: x,
17
+ onSearchSubmit: i,
18
+ defaultResults: a,
19
+ style: g,
20
+ sx: v,
21
+ slots: b,
22
+ slotProps: S,
23
+ ...d
24
+ } = l, e[0] = l, e[1] = n, e[2] = d, e[3] = m, e[4] = x, e[5] = y, e[6] = i, e[7] = c, e[8] = h, e[9] = S, e[10] = b, e[11] = g, e[12] = v, e[13] = a) : (n = e[1], d = e[2], m = e[3], x = e[4], y = e[5], i = e[6], c = e[7], h = e[8], S = e[9], b = e[10], g = e[11], v = e[12], a = e[13]);
25
+ let M;
26
+ e[14] !== a ? (M = a === void 0 ? [] : a, e[14] = a, e[15] = M) : M = e[15];
27
+ const oe = M, [t, ne] = ve(""), [f, ie] = ve(null);
28
+ let _;
29
+ e[16] !== b ? (_ = b ?? {}, e[16] = b, e[17] = _) : _ = e[17];
30
+ let V, F, K, j;
31
+ e[18] !== _ ? ({
32
+ input: K,
33
+ button: F,
34
+ box: V,
35
+ ...j
36
+ } = _, e[18] = _, e[19] = V, e[20] = F, e[21] = K, e[22] = j) : (V = e[19], F = e[20], K = e[21], j = e[22]);
37
+ let R;
38
+ e[23] !== S ? (R = S ?? {}, e[23] = S, e[24] = R) : R = e[24];
39
+ let w, p, C, k;
40
+ e[25] !== R ? ({
41
+ input: C,
42
+ button: p,
43
+ box: w,
44
+ ...k
45
+ } = R, e[25] = R, e[26] = w, e[27] = p, e[28] = C, e[29] = k) : (w = e[26], p = e[27], C = e[28], k = e[29]);
46
+ const re = K ?? Oe, se = F ?? Be, ce = V ?? _e;
47
+ let W;
48
+ e[30] !== t ? (W = t ? [t] : [], e[30] = t, e[31] = W) : W = e[31];
49
+ let N;
50
+ e[32] !== n || e[33] !== m || e[34] !== x || e[35] !== y || e[36] !== c || e[37] !== h ? (N = {
51
+ queries: c,
52
+ assembly: n,
53
+ geneVersion: m,
54
+ limit: y,
55
+ showiCREFlag: h,
56
+ debounceMs: 100,
57
+ graphqlUrl: x
58
+ }, e[32] = n, e[33] = m, e[34] = x, e[35] = y, e[36] = c, e[37] = h, e[38] = N) : N = e[38];
59
+ const {
60
+ data: r,
61
+ loading: O
62
+ } = Le(W, N);
63
+ let Q;
64
+ e[39] !== c ? (Q = new Map(c.map(Ae)), e[39] = c, e[40] = Q) : Q = e[40];
65
+ const U = Q;
66
+ let E, B;
67
+ if (e[41] !== r || e[42] !== oe || e[43] !== t || e[44] !== U) {
68
+ const u = t.toLowerCase();
69
+ let o;
70
+ e[47] !== t ? (o = ke(t), e[47] = t, e[48] = o) : o = e[48];
71
+ const pe = o, de = (D) => pe || !u ? 3 : D === u ? 0 : D.startsWith(u) ? 1 : D.includes(u) ? 2 : 3, me = (D) => [...D].sort((xe, ye) => {
72
+ const G = U.get(xe.type), $ = U.get(ye.type);
73
+ if (G === void 0 && $ !== void 0)
74
+ return 1;
75
+ if ($ === void 0 && G !== void 0)
76
+ return -1;
77
+ if (G !== void 0 && $ !== void 0 && G !== $)
78
+ return G - $;
79
+ const he = (xe.title || "").toLowerCase(), Se = (ye.title || "").toLowerCase(), be = de(he), ge = de(Se);
80
+ return be !== ge ? be - ge : he.localeCompare(Se);
47
81
  });
48
- return {
49
- data: a && r(a),
50
- defaultResults: r(k)
51
- };
52
- }, [a, k, n]);
53
- N(() => {
54
- g(""), v(null);
55
- }, [e]);
56
- const D = W(() => {
57
- m && d && d(m);
58
- }, [d, m]), G = W((t) => {
59
- if (t.key === "Enter") {
60
- const r = a?.find((y) => y.title?.toLowerCase() === u.toLowerCase());
61
- r && (v(r), d && d(r));
82
+ E = r && me(r), B = me(oe), e[41] = r, e[42] = oe, e[43] = t, e[44] = U, e[45] = E, e[46] = B;
83
+ } else
84
+ E = e[45], B = e[46];
85
+ let z;
86
+ e[49] !== E || e[50] !== B ? (z = {
87
+ data: E,
88
+ defaultResults: B
89
+ }, e[49] = E, e[50] = B, e[51] = z) : z = e[51];
90
+ const A = z;
91
+ let H;
92
+ e[52] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (H = () => {
93
+ ne(""), ie(null);
94
+ }, e[52] = H) : H = e[52];
95
+ let J;
96
+ e[53] !== n ? (J = [n], e[53] = n, e[54] = J) : J = e[54], Re(H, J);
97
+ let X;
98
+ e[55] !== i || e[56] !== f ? (X = () => {
99
+ f && i && i(f);
100
+ }, e[55] = i, e[56] = f, e[57] = X) : X = e[57];
101
+ const ue = X;
102
+ let Y;
103
+ e[58] !== r || e[59] !== t || e[60] !== i ? (Y = (u) => {
104
+ if (u.key === "Enter") {
105
+ const o = r?.find((pe) => pe.title?.toLowerCase() === t.toLowerCase());
106
+ o && (ie(o), i && i(o));
62
107
  }
63
- }, [a, v, d]), q = (t, r) => {
64
- v(r), g(r?.title || "");
65
- };
66
- return /* @__PURE__ */ l.jsxs(M, { display: "flex", flexDirection: "row", gap: 2, style: {
67
- ...T
68
- }, sx: {
69
- ...A
70
- }, ...x?.box, children: [
71
- /* @__PURE__ */ l.jsx(H, { onChange: q, value: m, options: u === "" ? b.defaultResults : B || !b.data ? [] : b.data, getOptionLabel: (t) => t.title || "", groupBy: (t) => t.type || "", renderGroup: (t) => Z(t, u), noOptionsText: S(u, B, a), isOptionEqualToValue: (t, r) => t.title === r.title, renderOption: P, filterOptions: (t) => t, renderInput: (t) => p && p.input ? I.cloneElement(p.input, {
72
- ...t,
73
- onKeyDown: G,
74
- value: u,
75
- onChange: (r) => g(r.target.value)
76
- }) : /* @__PURE__ */ l.jsx(J, { ...t, label: "Search", onKeyDown: G, value: u, onChange: (r) => g(r.target.value), ...x?.input }), style: T, sx: A, ..._ }),
77
- p && p.button ? I.cloneElement(p.button, {
78
- onClick: () => D()
79
- }) : /* @__PURE__ */ l.jsx(U, { variant: "contained", onClick: () => D(), ...x?.button, children: x?.button?.children || "Go" })
80
- ] });
81
- };
82
- function Z(n, e) {
83
- const o = Array.isArray(n.children) && !z(e) ? n.children.sort((O, E) => {
84
- const c = (O.props?.children?.props?.children?.[0]?.props?.children || "").toLowerCase(), s = (E.props?.children?.props?.children?.[0]?.props?.children || "").toLowerCase(), i = e.toLowerCase();
85
- return c === i && s !== i ? -1 : s === i && c !== i ? 1 : c.startsWith(i) && !s.startsWith(i) ? -1 : s.startsWith(i) && !c.startsWith(i) ? 1 : c.includes(i) && !s.includes(i) ? -1 : s.includes(i) && !c.includes(i) ? 1 : c.localeCompare(s);
86
- }) : n.children;
87
- return /* @__PURE__ */ l.jsxs("div", { children: [
88
- /* @__PURE__ */ l.jsx(w, { variant: "subtitle2", sx: {
108
+ }, e[58] = r, e[59] = t, e[60] = i, e[61] = Y) : Y = e[61];
109
+ const ae = Y;
110
+ let Z;
111
+ e[62] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (Z = (u, o) => {
112
+ ie(o), ne(o?.title || "");
113
+ }, e[62] = Z) : Z = e[62];
114
+ const je = Z;
115
+ let ee;
116
+ e[63] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (ee = {
117
+ flex: 1
118
+ }, e[63] = ee) : ee = e[63];
119
+ let L;
120
+ e[64] !== t || e[65] !== O || e[66] !== A ? (L = t === "" ? A.defaultResults : O || !A.data ? [] : A.data, e[64] = t, e[65] = O, e[66] = A, e[67] = L) : L = e[67];
121
+ let P;
122
+ e[68] !== r || e[69] !== t || e[70] !== O ? (P = Ge(t, O, r), e[68] = r, e[69] = t, e[70] = O, e[71] = P) : P = e[71];
123
+ let T;
124
+ e[72] !== re || e[73] !== ae || e[74] !== C || e[75] !== t ? (T = (u) => /* @__PURE__ */ s.jsx(re, { ...u, label: "Search", onKeyDown: ae, value: t, onChange: (o) => ne(o.target.value), ...C }), e[72] = re, e[73] = ae, e[74] = C, e[75] = t, e[76] = T) : T = e[76];
125
+ let I;
126
+ e[77] !== d || e[78] !== k || e[79] !== j || e[80] !== f || e[81] !== L || e[82] !== P || e[83] !== T ? (I = /* @__PURE__ */ s.jsx(Ee, { sx: ee, onChange: je, value: f, options: L, getOptionLabel: qe, groupBy: Ie, renderGroup: De, noOptionsText: P, isOptionEqualToValue: Te, renderOption: $e, filterOptions: Pe, renderInput: T, slots: j, slotProps: k, ...d }), e[77] = d, e[78] = k, e[79] = j, e[80] = f, e[81] = L, e[82] = P, e[83] = T, e[84] = I) : I = e[84];
127
+ const fe = p?.children ?? "Go";
128
+ let q;
129
+ e[85] !== se || e[86] !== p || e[87] !== ue || e[88] !== fe ? (q = /* @__PURE__ */ s.jsx(se, { variant: "contained", onClick: ue, ...p, children: fe }), e[85] = se, e[86] = p, e[87] = ue, e[88] = fe, e[89] = q) : q = e[89];
130
+ let te;
131
+ return e[90] !== ce || e[91] !== w || e[92] !== g || e[93] !== v || e[94] !== I || e[95] !== q ? (te = /* @__PURE__ */ s.jsxs(ce, { display: "flex", flexDirection: "row", gap: 2, style: g, sx: v, ...w, children: [
132
+ I,
133
+ q
134
+ ] }), e[90] = ce, e[91] = w, e[92] = g, e[93] = v, e[94] = I, e[95] = q, e[96] = te) : te = e[96], te;
135
+ }
136
+ function Pe(l) {
137
+ return l;
138
+ }
139
+ function Te(l, e) {
140
+ return l.title === e.title;
141
+ }
142
+ function Ie(l) {
143
+ return l.type || "";
144
+ }
145
+ function qe(l) {
146
+ return l.title || "";
147
+ }
148
+ function Ae(l, e) {
149
+ return [l, e];
150
+ }
151
+ function De(l) {
152
+ return /* @__PURE__ */ s.jsxs("div", { children: [
153
+ /* @__PURE__ */ s.jsx(le, { variant: "subtitle2", sx: {
89
154
  color: "gray",
90
155
  paddingInline: 1.5,
91
156
  paddingBlock: 1
92
- }, children: n.group }),
93
- o
94
- ] }, n.key);
157
+ }, children: l.group }),
158
+ l.children
159
+ ] }, l.key);
95
160
  }
96
- function S(n, e, o) {
97
- return /* @__PURE__ */ l.jsx(w, { variant: "caption", children: n ? e ? "Loading..." : Array.isArray(o) && o.length === 0 ? "No results found" : "" : "Start typing for options" });
161
+ function Ge(l, e, n) {
162
+ return /* @__PURE__ */ s.jsx(le, { variant: "caption", children: l ? e ? "Loading..." : Array.isArray(n) && n.length === 0 ? "No results found" : "" : "Start typing for options" });
98
163
  }
99
- function P(n, e) {
100
- return /* @__PURE__ */ Q("li", { ...n, key: `${e.type}-${e.title || "untitled"}-${e.description || "no-description"}` }, /* @__PURE__ */ l.jsxs(M, { children: [
101
- /* @__PURE__ */ l.jsx(w, { variant: "body1", component: "div", fontWeight: "bold", sx: e.type === "Gene" ? {
164
+ function $e(l, e) {
165
+ return /* @__PURE__ */ we("li", { ...l, key: `${e.type}-${e.title || "untitled"}-${e.description || "no-description"}` }, /* @__PURE__ */ s.jsxs(_e, { children: [
166
+ /* @__PURE__ */ s.jsx(le, { variant: "body1", component: "div", fontWeight: "bold", sx: e.type === "Gene" ? {
102
167
  fontStyle: "italic"
103
168
  } : {}, children: e.title }),
104
- /* @__PURE__ */ l.jsx(w, { variant: "body2", color: "text.secondary", style: {
169
+ /* @__PURE__ */ s.jsx(le, { variant: "body2", color: "text.secondary", style: {
105
170
  whiteSpace: "pre-line"
106
171
  }, children: e.description })
107
172
  ] }));
108
173
  }
109
- function le(n) {
110
- const e = V.c(2);
111
- let o;
112
- return e[0] !== n ? (o = /* @__PURE__ */ l.jsx(Y, { ...n }), e[0] = n, e[1] = o) : o = e[1], o;
113
- }
114
174
  export {
115
- le as default
175
+ Qe as default
116
176
  };
117
177
  //# sourceMappingURL=ui-components.es3.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui-components.es3.js","sources":["../src/components/GenomeSearch/GenomeSearch.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport {\n isDomain,\n} from \"./utils\";\nimport { AutocompleteProps, Box, Button, ButtonProps, TextField, TextFieldProps, Typography } from \"@mui/material\";\nimport { Autocomplete } from \"@mui/material\";\nimport { GenomeSearchProps, Result } from \"./types\";\nimport { useEntityAutocomplete } from \"./useEntityAutocomplete\";\n\nconst defaultLimit = 3\n\n/**\n * An autocomplete search component for genomic landmarks such as genes, SNPs, ICRs, and CCRs.\n * The props extends the MUI Autocomplete props, so you are able to adjust that component's props as well.\n * You can also use the slots and slotProps to customize the search's internal components, such as the input, button and the bounding box.\n * To use, pass in a list of the queries you want to run, and the assembly i.e. GRCh38 or mm10.\n * You must also provide a function to call when a result is selected, which will run when the user clicks the button.\n * @param props - extends MUI AutocompleteProps and includes additional props specific to this component\n */\nconst Search: React.FC<GenomeSearchProps> = ({\n queries,\n assembly,\n showiCREFlag,\n geneVersion,\n geneLimit = defaultLimit,\n snpLimit = defaultLimit,\n icreLimit = defaultLimit,\n ccreLimit = defaultLimit,\n legacyCcreLimit = defaultLimit,\n studyLimit = defaultLimit,\n onSearchSubmit,\n defaultResults = [],\n style,\n sx,\n slots,\n slotProps,\n ...autocompleteProps\n}) => {\n const [inputValue, setInputValue] = useState(\"\");\n const [selection, setSelection] = useState<Result | null>(null);\n\n const { data, loading } = useEntityAutocomplete(\n inputValue && inputValue !== \"\" ? [inputValue] : [],\n {\n queries,\n assembly,\n geneVersion,\n limits: {\n gene: geneLimit,\n snp: snpLimit,\n icre: icreLimit,\n ccre: ccreLimit,\n legacyCcre: legacyCcreLimit,\n study: studyLimit,\n },\n showiCREFlag,\n debounceMs: 100,\n }\n );\n\n const orderedResults = useMemo(() => {\n const queryOrder = new Map(queries.map((query, index) => [query, index]));\n\n const sortByQueryOrder = (results: Result[]) =>\n [...results].sort((a, b) => {\n const aIndex = queryOrder.get(a.type);\n const bIndex = queryOrder.get(b.type);\n\n if (aIndex === undefined && bIndex === undefined) {\n return (a.title || \"\").localeCompare(b.title || \"\");\n }\n\n if (aIndex === undefined) return 1;\n if (bIndex === undefined) return -1;\n\n if (aIndex !== bIndex) return aIndex - bIndex;\n\n return (a.title || \"\").localeCompare(b.title || \"\");\n });\n\n return {\n data: data ? sortByQueryOrder(data) : data,\n defaultResults: sortByQueryOrder(defaultResults),\n };\n }, [data, defaultResults, queries]);\n\n //Clear input on assembly change\n useEffect(() => {\n setInputValue(\"\");\n setSelection(null);\n }, [assembly]);\n\n // Handle submit\n const onSubmit = useCallback(() => {\n if (selection && onSearchSubmit) onSearchSubmit(selection);\n }, [onSearchSubmit, selection]);\n\n // Handle enter key down\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\") {\n const exactMatch = data?.find((x) => x.title?.toLowerCase() === inputValue.toLowerCase());\n if (exactMatch) {\n setSelection(exactMatch);\n if (onSearchSubmit) onSearchSubmit(exactMatch);\n }\n }\n },\n [data, setSelection, onSearchSubmit]\n );\n\n const onChange = (_event: React.SyntheticEvent<Element, Event>, newValue: Result) => {\n setSelection(newValue);\n setInputValue(newValue?.title || \"\"); //needed so that the matching to inputValue works on enter press after selection\n };\n\n return (\n <Box display=\"flex\" flexDirection=\"row\" gap={2} style={{ ...style }} sx={{ ...sx }} {...slotProps?.box}>\n <Autocomplete\n onChange={onChange}\n value={selection as Result}\n options={inputValue === \"\" ? orderedResults.defaultResults : loading || !orderedResults.data ? [] : orderedResults.data}\n getOptionLabel={(option: Result) => {\n return option.title || \"\";\n }}\n groupBy={(option: Result) => option.type || \"\"}\n renderGroup={(params) => renderGroup(params, inputValue)}\n noOptionsText={noOptionsText(inputValue, loading, data)}\n isOptionEqualToValue={(option, value) => option.title === value.title}\n renderOption={renderOptions}\n filterOptions={(x) => x}\n renderInput={(params) => {\n if (slots && slots.input) {\n return React.cloneElement(slots.input as React.ReactElement<TextFieldProps>, {\n ...params,\n onKeyDown: handleKeyDown,\n value: inputValue,\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => setInputValue(event.target.value),\n });\n }\n return (\n <TextField\n {...params}\n label=\"Search\"\n onKeyDown={handleKeyDown}\n value={inputValue}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setInputValue(event.target.value)}\n {...slotProps?.input}\n />\n );\n }}\n style={style}\n sx={sx}\n {...(autocompleteProps as Partial<AutocompleteProps<Result, false, true, false, React.ElementType>>)}\n />\n {/* Submit Button */}\n {slots && slots.button ? (\n React.cloneElement(slots.button as React.ReactElement<ButtonProps, string | React.JSXElementConstructor<any>>, {\n onClick: () => onSubmit(),\n })\n ) : (\n <Button variant=\"contained\" onClick={() => onSubmit()} {...slotProps?.button}>\n {slotProps?.button?.children || \"Go\"}\n </Button>\n )}\n </Box>\n );\n};\n\n/**\n * Renders the group of options. Orders the options by relevance to the input value.\n * @param params - The params object from the Autocomplete component\n * @param inputValue - The current input value\n * @returns A rendered group of options\n */\nfunction renderGroup(params: any, inputValue: string) {\n // Sort items within each group by title match relevance\n const sortedOptions =\n Array.isArray(params.children) && !isDomain(inputValue)\n ? params.children.sort((a: any, b: any) => {\n const aTitle = (a.props?.children?.props?.children?.[0]?.props?.children || \"\").toLowerCase();\n const bTitle = (b.props?.children?.props?.children?.[0]?.props?.children || \"\").toLowerCase();\n const query = inputValue.toLowerCase();\n // Exact matches first\n if (aTitle === query && bTitle !== query) return -1;\n if (bTitle === query && aTitle !== query) return 1;\n\n // Starts with query second\n if (aTitle.startsWith(query) && !bTitle.startsWith(query)) return -1;\n if (bTitle.startsWith(query) && !aTitle.startsWith(query)) return 1;\n\n // Contains query third\n if (aTitle.includes(query) && !bTitle.includes(query)) return -1;\n if (bTitle.includes(query) && !aTitle.includes(query)) return 1;\n\n // Alphabetical order for equal relevance\n return aTitle.localeCompare(bTitle);\n })\n : params.children;\n\n return (\n <div key={params.key}>\n <Typography variant=\"subtitle2\" sx={{ color: \"gray\", paddingInline: 1.5, paddingBlock: 1 }}>\n {params.group}\n </Typography>\n {sortedOptions}\n </div>\n );\n}\n\n/**\n * Renders the \"no options\" text.\n * @param inputValue - The current input value\n * @param isLoading - Whether the results are still loading\n * @param results - The results from the query\n * @returns A rendered \"no options\" text\n */\nfunction noOptionsText(inputValue: string, isLoading: boolean, data: Result[] | null) {\n return (\n <Typography variant=\"caption\">\n {inputValue\n ? isLoading\n ? \"Loading...\"\n : Array.isArray(data) && data.length === 0\n ? \"No results found\"\n : \"\"\n : \"Start typing for options\"}\n </Typography>\n );\n}\n\n/**\n * Renders the individual options.\n * @param props - The props object from the Autocomplete component\n * @param option - The current option\n * @returns A rendered option\n */\nfunction renderOptions(props: any, option: Result) {\n return (\n <li {...props} key={`${option.type}-${option.title || \"untitled\"}-${option.description || \"no-description\"}`}>\n <Box>\n <Typography\n variant=\"body1\"\n component=\"div\"\n fontWeight=\"bold\"\n sx={option.type === \"Gene\" ? { fontStyle: \"italic\" } : {}}\n >\n {option.title}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\" style={{ whiteSpace: \"pre-line\" }}>\n {option.description}\n </Typography>\n </Box>\n </li>\n );\n}\n\n/**\n * Wraps the Search component in a QueryClientProvider.\n * @param props - The props object from the Autocomplete component\n * @returns A wrapped Search component\n */\nfunction GenomeSearch(props: GenomeSearchProps) {\n return <Search {...props} />;\n}\n\nexport default GenomeSearch;\n"],"names":["defaultLimit","Search","queries","assembly","showiCREFlag","geneVersion","geneLimit","snpLimit","icreLimit","ccreLimit","legacyCcreLimit","studyLimit","onSearchSubmit","defaultResults","style","sx","slots","slotProps","autocompleteProps","inputValue","setInputValue","useState","selection","setSelection","data","loading","useEntityAutocomplete","limits","gene","snp","icre","ccre","legacyCcre","study","debounceMs","orderedResults","useMemo","queryOrder","Map","map","query","index","sortByQueryOrder","results","sort","a","b","aIndex","get","type","bIndex","undefined","title","localeCompare","useEffect","onSubmit","useCallback","handleKeyDown","event","key","exactMatch","find","x","toLowerCase","onChange","_event","newValue","jsxs","Box","box","jsx","Autocomplete","option","params","renderGroup","noOptionsText","value","renderOptions","input","React","cloneElement","onKeyDown","target","TextField","button","onClick","Button","children","sortedOptions","Array","isArray","isDomain","aTitle","props","bTitle","startsWith","includes","Typography","color","paddingInline","paddingBlock","group","isLoading","length","description","fontStyle","whiteSpace","GenomeSearch","$","_c","t0"],"mappings":"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"}
1
+ {"version":3,"file":"ui-components.es3.js","sources":["../src/components/GenomeSearch/GenomeSearch.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useState } from \"react\";\nimport { isDomain } from \"./utils\";\nimport {\n AutocompleteRenderGroupParams,\n Box,\n Button,\n TextField,\n Typography,\n} from \"@mui/material\";\nimport { Autocomplete } from \"@mui/material\";\nimport { GenomeSearchProps, Result } from \"./types\";\nimport { useEntityAutocomplete } from \"./useEntityAutocomplete\";\n\n/**\n * An autocomplete search component for genomic landmarks such as genes, SNPs, ICRs, and CCRs.\n * The props extends the MUI Autocomplete props, so you are able to adjust that component's props as well.\n * You can also use the slots and slotProps to customize the search's internal components, such as the input, button and the bounding box.\n * To use, pass in a list of the queries you want to run, and the assembly i.e. GRCh38 or mm10.\n * You must also provide a function to call when a result is selected, which will run when the user clicks the button.\n * @param props - extends MUI AutocompleteProps and includes additional props specific to this component\n */\nfunction GenomeSearch({\n queries,\n assembly,\n showiCREFlag,\n geneVersion,\n limit,\n graphqlUrl,\n onSearchSubmit,\n defaultResults = [],\n style,\n sx,\n slots,\n slotProps,\n ...autocompleteProps\n}: GenomeSearchProps) {\n const [inputValue, setInputValue] = useState(\"\");\n const [selection, setSelection] = useState<Result | null>(null);\n\n const {\n input: inputSlot,\n button: buttonSlot,\n box: boxSlot,\n ...muiSlots\n } = slots ?? {};\n\n const {\n input: inputSlotProps,\n button: buttonSlotProps,\n box: boxSlotProps,\n ...muiSlotProps\n } = slotProps ?? {};\n\n const InputSlot = inputSlot ?? TextField;\n const ButtonSlot = buttonSlot ?? Button;\n const BoxSlot = boxSlot ?? Box;\n\n const { data, loading } = useEntityAutocomplete(\n inputValue ? [inputValue] : [],\n {\n queries,\n assembly,\n geneVersion,\n limit,\n showiCREFlag,\n debounceMs: 100,\n graphqlUrl,\n }\n );\n\n const orderedResults = useMemo(() => {\n const queryOrder = new Map(queries.map((query, index) => [query, index]));\n const query = inputValue.toLowerCase();\n const skipRelevance = isDomain(inputValue);\n\n const relevanceRank = (title: string) => {\n if (skipRelevance || !query) return 3;\n if (title === query) return 0;\n if (title.startsWith(query)) return 1;\n if (title.includes(query)) return 2;\n return 3;\n };\n\n const sortByQueryOrder = (results: Result[]) =>\n [...results].sort((a, b) => {\n const aIndex = queryOrder.get(a.type);\n const bIndex = queryOrder.get(b.type);\n\n // 1. Group order — keep options that share a group contiguous.\n if (aIndex === undefined && bIndex !== undefined) return 1;\n if (bIndex === undefined && aIndex !== undefined) return -1;\n if (aIndex !== undefined && bIndex !== undefined && aIndex !== bIndex) {\n return aIndex - bIndex;\n }\n\n // 2. Relevance to inputValue within a group.\n const aTitle = (a.title || \"\").toLowerCase();\n const bTitle = (b.title || \"\").toLowerCase();\n const aRank = relevanceRank(aTitle);\n const bRank = relevanceRank(bTitle);\n if (aRank !== bRank) return aRank - bRank;\n\n // 3. Alphabetical fallback.\n return aTitle.localeCompare(bTitle);\n });\n\n return {\n data: data ? sortByQueryOrder(data) : data,\n defaultResults: sortByQueryOrder(defaultResults),\n };\n }, [data, defaultResults, queries, inputValue]);\n\n //Clear input on assembly change\n useEffect(() => {\n setInputValue(\"\");\n setSelection(null);\n }, [assembly]);\n\n // Handle submit\n const onSubmit = useCallback(() => {\n if (selection && onSearchSubmit) onSearchSubmit(selection);\n }, [onSearchSubmit, selection]);\n\n // Handle enter key down\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n if (event.key === \"Enter\") {\n const exactMatch = data?.find((x) => x.title?.toLowerCase() === inputValue.toLowerCase());\n if (exactMatch) {\n setSelection(exactMatch);\n if (onSearchSubmit) onSearchSubmit(exactMatch);\n }\n }\n },\n [data, inputValue, onSearchSubmit]\n );\n\n const onChange = (_event: React.SyntheticEvent<Element, Event>, newValue: Result | null) => {\n setSelection(newValue);\n setInputValue(newValue?.title || \"\"); //needed so that the matching to inputValue works on enter press after selection\n };\n\n return (\n <BoxSlot display=\"flex\" flexDirection=\"row\" gap={2} style={style} sx={sx} {...boxSlotProps}>\n <Autocomplete\n sx={{ flex: 1 }}\n onChange={onChange}\n value={selection}\n options={inputValue === \"\" ? orderedResults.defaultResults : loading || !orderedResults.data ? [] : orderedResults.data}\n getOptionLabel={(option: Result) => {\n return option.title || \"\";\n }}\n groupBy={(option: Result) => option.type || \"\"}\n renderGroup={renderGroup}\n noOptionsText={noOptionsText(inputValue, loading, data)}\n isOptionEqualToValue={(option, value) => option.title === value.title}\n renderOption={renderOptions}\n filterOptions={(x) => x}\n renderInput={(params) => (\n <InputSlot\n {...params}\n label=\"Search\"\n onKeyDown={handleKeyDown}\n value={inputValue}\n onChange={(event: React.ChangeEvent<HTMLInputElement>) => setInputValue(event.target.value)}\n {...inputSlotProps}\n />\n )}\n slots={muiSlots}\n slotProps={muiSlotProps}\n {...autocompleteProps}\n />\n <ButtonSlot variant=\"contained\" onClick={onSubmit} {...buttonSlotProps}>\n {buttonSlotProps?.children ?? \"Go\"}\n </ButtonSlot>\n </BoxSlot>\n );\n}\n\n/**\n * Renders the group of options. Relevance ordering happens upstream in\n * `orderedResults` so that the options array and visual order stay in sync —\n * reordering `<li>`s here would desync MUI's `data-option-index`-based\n * keyboard navigation.\n */\nfunction renderGroup(params: AutocompleteRenderGroupParams) {\n return (\n <div key={params.key}>\n <Typography variant=\"subtitle2\" sx={{ color: \"gray\", paddingInline: 1.5, paddingBlock: 1 }}>\n {params.group}\n </Typography>\n {params.children}\n </div>\n );\n}\n\n/**\n * Renders the \"no options\" text.\n * @param inputValue - The current input value\n * @param isLoading - Whether the results are still loading\n * @param results - The results from the query\n * @returns A rendered \"no options\" text\n */\nfunction noOptionsText(inputValue: string, isLoading: boolean, data: Result[] | null) {\n return (\n <Typography variant=\"caption\">\n {inputValue\n ? isLoading\n ? \"Loading...\"\n : Array.isArray(data) && data.length === 0\n ? \"No results found\"\n : \"\"\n : \"Start typing for options\"}\n </Typography>\n );\n}\n\n/**\n * Renders the individual options.\n * @param props - The props object from the Autocomplete component\n * @param option - The current option\n * @returns A rendered option\n */\nfunction renderOptions(props: any, option: Result) {\n return (\n <li {...props} key={`${option.type}-${option.title || \"untitled\"}-${option.description || \"no-description\"}`}>\n <Box>\n <Typography\n variant=\"body1\"\n component=\"div\"\n fontWeight=\"bold\"\n sx={option.type === \"Gene\" ? { fontStyle: \"italic\" } : {}}\n >\n {option.title}\n </Typography>\n <Typography variant=\"body2\" color=\"text.secondary\" style={{ whiteSpace: \"pre-line\" }}>\n {option.description}\n </Typography>\n </Box>\n </li>\n );\n}\n\nexport default GenomeSearch;\n"],"names":["GenomeSearch","t0","$","_c","assembly","autocompleteProps","geneVersion","graphqlUrl","limit","onSearchSubmit","queries","showiCREFlag","slotProps","slots","style","sx","t1","defaultResults","t2","undefined","inputValue","setInputValue","useState","selection","setSelection","t3","boxSlot","buttonSlot","inputSlot","muiSlots","input","button","box","t4","boxSlotProps","buttonSlotProps","inputSlotProps","muiSlotProps","InputSlot","TextField","ButtonSlot","Button","BoxSlot","Box","t5","t6","debounceMs","data","loading","useEntityAutocomplete","t7","Map","map","_temp","queryOrder","t8","t9","query_0","toLowerCase","t10","isDomain","skipRelevance","relevanceRank","title","query","startsWith","includes","sortByQueryOrder","results","sort","a","b","aIndex","get","type","bIndex","aTitle","bTitle","aRank","bRank","localeCompare","orderedResults","t11","Symbol","for","t12","useEffect","t13","onSubmit","t14","event","key","exactMatch","find","x","handleKeyDown","t15","_event","newValue","onChange","t16","flex","t17","t18","noOptionsText","t19","params","jsx","event_0","target","value","t20","Autocomplete","_temp2","_temp3","renderGroup","_temp4","renderOptions","_temp5","t21","children","t22","t23","jsxs","x_0","option_1","option","option_0","index","Typography","color","paddingInline","paddingBlock","group","isLoading","Array","isArray","length","props","description","fontStyle","whiteSpace"],"mappings":"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"}