@new-black/lyra 1.0.10 → 1.0.12

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 (804) hide show
  1. package/dist/components/icon-badge/icon-badge.d.ts +1 -1
  2. package/dist/components/lists/shared-list-item.d.ts +10 -10
  3. package/dist/components/svg-icon/index.d.ts +1 -1
  4. package/dist/components/svg-icon/index.d.ts.map +1 -1
  5. package/dist/icons/icon-defs.svg +8 -0
  6. package/dist/lyra16.cjs +1 -1
  7. package/dist/lyra16.js +1 -1
  8. package/dist/lyra181.cjs +1 -1
  9. package/dist/lyra181.js +34 -34
  10. package/dist/lyra23.cjs +1 -1
  11. package/dist/lyra23.js +1 -1
  12. package/dist/lyra25.cjs +1 -1
  13. package/dist/lyra25.js +1 -1
  14. package/dist/lyra27.cjs +1 -1
  15. package/dist/lyra27.js +2 -2
  16. package/dist/lyra34.cjs +1 -1
  17. package/dist/lyra34.js +3 -3
  18. package/dist/lyra36.cjs +1 -1
  19. package/dist/lyra36.cjs.map +1 -1
  20. package/dist/lyra36.js +182 -182
  21. package/dist/lyra36.js.map +1 -1
  22. package/dist/lyra37.cjs +1 -1
  23. package/dist/lyra37.cjs.map +1 -1
  24. package/dist/lyra37.js +166 -166
  25. package/dist/lyra37.js.map +1 -1
  26. package/dist/lyra43.cjs +1 -1
  27. package/dist/lyra43.js +2 -2
  28. package/dist/lyra450.cjs +1 -1
  29. package/dist/lyra450.cjs.map +1 -1
  30. package/dist/lyra450.js +16 -1
  31. package/dist/lyra450.js.map +1 -1
  32. package/dist/lyra451.cjs +1 -1
  33. package/dist/lyra451.cjs.map +1 -1
  34. package/dist/lyra451.js +12 -90
  35. package/dist/lyra451.js.map +1 -1
  36. package/dist/lyra452.cjs +1 -1
  37. package/dist/lyra452.cjs.map +1 -1
  38. package/dist/lyra452.js +1 -46
  39. package/dist/lyra452.js.map +1 -1
  40. package/dist/lyra453.cjs +1 -1
  41. package/dist/lyra453.cjs.map +1 -1
  42. package/dist/lyra453.js +27 -10
  43. package/dist/lyra453.js.map +1 -1
  44. package/dist/lyra454.cjs +1 -1
  45. package/dist/lyra454.cjs.map +1 -1
  46. package/dist/lyra454.js +90 -14
  47. package/dist/lyra454.js.map +1 -1
  48. package/dist/lyra455.cjs +1 -1
  49. package/dist/lyra455.cjs.map +1 -1
  50. package/dist/lyra455.js +44 -12
  51. package/dist/lyra455.js.map +1 -1
  52. package/dist/lyra456.cjs +1 -1
  53. package/dist/lyra456.cjs.map +1 -1
  54. package/dist/lyra456.js +51 -30
  55. package/dist/lyra456.js.map +1 -1
  56. package/dist/lyra457.cjs +1 -1
  57. package/dist/lyra457.cjs.map +1 -1
  58. package/dist/lyra457.js +50 -49
  59. package/dist/lyra457.js.map +1 -1
  60. package/dist/lyra458.cjs +1 -1
  61. package/dist/lyra458.cjs.map +1 -1
  62. package/dist/lyra458.js +7 -53
  63. package/dist/lyra458.js.map +1 -1
  64. package/dist/lyra459.cjs +1 -1
  65. package/dist/lyra459.cjs.map +1 -1
  66. package/dist/lyra459.js +61 -6
  67. package/dist/lyra459.js.map +1 -1
  68. package/dist/lyra460.cjs +1 -1
  69. package/dist/lyra460.cjs.map +1 -1
  70. package/dist/lyra460.js +36 -61
  71. package/dist/lyra460.js.map +1 -1
  72. package/dist/lyra461.cjs +5 -1
  73. package/dist/lyra461.cjs.map +1 -1
  74. package/dist/lyra461.js +2556 -35
  75. package/dist/lyra461.js.map +1 -1
  76. package/dist/lyra462.cjs +1 -5
  77. package/dist/lyra462.cjs.map +1 -1
  78. package/dist/lyra462.js +52 -2556
  79. package/dist/lyra462.js.map +1 -1
  80. package/dist/lyra463.cjs +1 -1
  81. package/dist/lyra463.cjs.map +1 -1
  82. package/dist/lyra463.js +13 -53
  83. package/dist/lyra463.js.map +1 -1
  84. package/dist/lyra464.cjs +10 -1
  85. package/dist/lyra464.cjs.map +1 -1
  86. package/dist/lyra464.js +96 -5
  87. package/dist/lyra464.js.map +1 -1
  88. package/dist/lyra465.cjs +1 -1
  89. package/dist/lyra465.cjs.map +1 -1
  90. package/dist/lyra465.js +302 -4
  91. package/dist/lyra465.js.map +1 -1
  92. package/dist/lyra466.cjs +1 -1
  93. package/dist/lyra466.cjs.map +1 -1
  94. package/dist/lyra466.js +56 -5
  95. package/dist/lyra466.js.map +1 -1
  96. package/dist/lyra467.cjs +13 -1
  97. package/dist/lyra467.cjs.map +1 -1
  98. package/dist/lyra467.js +1679 -4
  99. package/dist/lyra467.js.map +1 -1
  100. package/dist/lyra468.cjs +1 -1
  101. package/dist/lyra468.cjs.map +1 -1
  102. package/dist/lyra468.js +9 -5
  103. package/dist/lyra468.js.map +1 -1
  104. package/dist/lyra469.cjs +1 -1
  105. package/dist/lyra469.cjs.map +1 -1
  106. package/dist/lyra469.js +2 -5
  107. package/dist/lyra469.js.map +1 -1
  108. package/dist/lyra470.cjs +9 -1
  109. package/dist/lyra470.cjs.map +1 -1
  110. package/dist/lyra470.js +30 -5
  111. package/dist/lyra470.js.map +1 -1
  112. package/dist/lyra471.cjs +19 -1
  113. package/dist/lyra471.cjs.map +1 -1
  114. package/dist/lyra471.js +599 -5
  115. package/dist/lyra471.js.map +1 -1
  116. package/dist/lyra472.cjs +1 -1
  117. package/dist/lyra472.cjs.map +1 -1
  118. package/dist/lyra472.js +6 -4
  119. package/dist/lyra472.js.map +1 -1
  120. package/dist/lyra473.cjs +1 -1
  121. package/dist/lyra473.cjs.map +1 -1
  122. package/dist/lyra473.js +6 -4
  123. package/dist/lyra473.js.map +1 -1
  124. package/dist/lyra474.cjs +1 -1
  125. package/dist/lyra474.cjs.map +1 -1
  126. package/dist/lyra474.js +6 -4
  127. package/dist/lyra474.js.map +1 -1
  128. package/dist/lyra475.cjs +1 -1
  129. package/dist/lyra475.cjs.map +1 -1
  130. package/dist/lyra475.js +6 -4
  131. package/dist/lyra475.js.map +1 -1
  132. package/dist/lyra476.cjs +1 -1
  133. package/dist/lyra476.cjs.map +1 -1
  134. package/dist/lyra476.js +6 -4
  135. package/dist/lyra476.js.map +1 -1
  136. package/dist/lyra477.cjs +1 -1
  137. package/dist/lyra477.cjs.map +1 -1
  138. package/dist/lyra477.js +6 -4
  139. package/dist/lyra477.js.map +1 -1
  140. package/dist/lyra478.cjs +1 -1
  141. package/dist/lyra478.cjs.map +1 -1
  142. package/dist/lyra478.js +3 -1
  143. package/dist/lyra478.js.map +1 -1
  144. package/dist/lyra479.cjs +1 -1
  145. package/dist/lyra479.cjs.map +1 -1
  146. package/dist/lyra479.js +3 -1
  147. package/dist/lyra479.js.map +1 -1
  148. package/dist/lyra48.cjs +1 -1
  149. package/dist/lyra48.js +1 -1
  150. package/dist/lyra480.cjs +1 -1
  151. package/dist/lyra480.cjs.map +1 -1
  152. package/dist/lyra480.js +6 -4
  153. package/dist/lyra480.js.map +1 -1
  154. package/dist/lyra481.cjs +1 -1
  155. package/dist/lyra481.cjs.map +1 -1
  156. package/dist/lyra481.js +6 -4
  157. package/dist/lyra481.js.map +1 -1
  158. package/dist/lyra482.cjs +1 -1
  159. package/dist/lyra482.cjs.map +1 -1
  160. package/dist/lyra482.js +6 -4
  161. package/dist/lyra482.js.map +1 -1
  162. package/dist/lyra483.cjs +1 -1
  163. package/dist/lyra483.cjs.map +1 -1
  164. package/dist/lyra483.js +6 -4
  165. package/dist/lyra483.js.map +1 -1
  166. package/dist/lyra484.cjs +1 -1
  167. package/dist/lyra484.cjs.map +1 -1
  168. package/dist/lyra484.js +3 -1
  169. package/dist/lyra484.js.map +1 -1
  170. package/dist/lyra485.cjs +1 -1
  171. package/dist/lyra485.cjs.map +1 -1
  172. package/dist/lyra485.js +3 -1
  173. package/dist/lyra485.js.map +1 -1
  174. package/dist/lyra486.cjs +1 -1
  175. package/dist/lyra486.cjs.map +1 -1
  176. package/dist/lyra486.js +6 -4
  177. package/dist/lyra486.js.map +1 -1
  178. package/dist/lyra487.cjs +1 -1
  179. package/dist/lyra487.cjs.map +1 -1
  180. package/dist/lyra487.js +6 -4
  181. package/dist/lyra487.js.map +1 -1
  182. package/dist/lyra488.cjs +1 -1
  183. package/dist/lyra488.cjs.map +1 -1
  184. package/dist/lyra488.js +3 -1
  185. package/dist/lyra488.js.map +1 -1
  186. package/dist/lyra489.cjs +1 -1
  187. package/dist/lyra489.cjs.map +1 -1
  188. package/dist/lyra489.js +6 -4
  189. package/dist/lyra489.js.map +1 -1
  190. package/dist/lyra49.cjs +1 -1
  191. package/dist/lyra49.js +2 -2
  192. package/dist/lyra490.cjs +1 -1
  193. package/dist/lyra490.cjs.map +1 -1
  194. package/dist/lyra490.js +3 -1
  195. package/dist/lyra490.js.map +1 -1
  196. package/dist/lyra491.cjs +1 -1
  197. package/dist/lyra491.cjs.map +1 -1
  198. package/dist/lyra491.js +3 -1
  199. package/dist/lyra491.js.map +1 -1
  200. package/dist/lyra492.cjs +1 -1
  201. package/dist/lyra492.cjs.map +1 -1
  202. package/dist/lyra492.js +6 -4
  203. package/dist/lyra492.js.map +1 -1
  204. package/dist/lyra493.cjs +1 -1
  205. package/dist/lyra493.cjs.map +1 -1
  206. package/dist/lyra493.js +3 -1
  207. package/dist/lyra493.js.map +1 -1
  208. package/dist/lyra494.cjs +1 -1
  209. package/dist/lyra494.cjs.map +1 -1
  210. package/dist/lyra494.js +3 -1
  211. package/dist/lyra494.js.map +1 -1
  212. package/dist/lyra495.cjs +1 -1
  213. package/dist/lyra495.cjs.map +1 -1
  214. package/dist/lyra495.js +6 -4
  215. package/dist/lyra495.js.map +1 -1
  216. package/dist/lyra496.cjs +1 -1
  217. package/dist/lyra496.cjs.map +1 -1
  218. package/dist/lyra496.js +3 -1
  219. package/dist/lyra496.js.map +1 -1
  220. package/dist/lyra497.cjs +1 -1
  221. package/dist/lyra497.cjs.map +1 -1
  222. package/dist/lyra497.js +6 -4
  223. package/dist/lyra497.js.map +1 -1
  224. package/dist/lyra498.cjs +1 -1
  225. package/dist/lyra498.cjs.map +1 -1
  226. package/dist/lyra498.js +7 -2
  227. package/dist/lyra498.js.map +1 -1
  228. package/dist/lyra499.cjs +1 -9
  229. package/dist/lyra499.cjs.map +1 -1
  230. package/dist/lyra499.js +7 -30
  231. package/dist/lyra499.js.map +1 -1
  232. package/dist/lyra50.cjs +1 -1
  233. package/dist/lyra50.js +2 -2
  234. package/dist/lyra500.cjs +1 -19
  235. package/dist/lyra500.cjs.map +1 -1
  236. package/dist/lyra500.js +7 -599
  237. package/dist/lyra500.js.map +1 -1
  238. package/dist/lyra501.cjs +1 -10
  239. package/dist/lyra501.cjs.map +1 -1
  240. package/dist/lyra501.js +7 -96
  241. package/dist/lyra501.js.map +1 -1
  242. package/dist/lyra502.cjs +1 -1
  243. package/dist/lyra502.cjs.map +1 -1
  244. package/dist/lyra502.js +6 -302
  245. package/dist/lyra502.js.map +1 -1
  246. package/dist/lyra503.cjs +1 -1
  247. package/dist/lyra503.cjs.map +1 -1
  248. package/dist/lyra503.js +7 -56
  249. package/dist/lyra503.js.map +1 -1
  250. package/dist/lyra504.cjs +1 -13
  251. package/dist/lyra504.cjs.map +1 -1
  252. package/dist/lyra504.js +6 -1679
  253. package/dist/lyra504.js.map +1 -1
  254. package/dist/lyra505.cjs +1 -1
  255. package/dist/lyra505.cjs.map +1 -1
  256. package/dist/lyra505.js +7 -9
  257. package/dist/lyra505.js.map +1 -1
  258. package/dist/lyra506.cjs +1 -1
  259. package/dist/lyra506.cjs.map +1 -1
  260. package/dist/lyra506.js +6 -7
  261. package/dist/lyra506.js.map +1 -1
  262. package/dist/lyra507.cjs +1 -1
  263. package/dist/lyra507.cjs.map +1 -1
  264. package/dist/lyra507.js +78 -7
  265. package/dist/lyra507.js.map +1 -1
  266. package/dist/lyra508.cjs +1 -1
  267. package/dist/lyra508.cjs.map +1 -1
  268. package/dist/lyra508.js +257 -6
  269. package/dist/lyra508.js.map +1 -1
  270. package/dist/lyra509.cjs +1 -1
  271. package/dist/lyra509.cjs.map +1 -1
  272. package/dist/lyra509.js +27 -7
  273. package/dist/lyra509.js.map +1 -1
  274. package/dist/lyra510.cjs +1 -1
  275. package/dist/lyra510.cjs.map +1 -1
  276. package/dist/lyra510.js +30 -7
  277. package/dist/lyra510.js.map +1 -1
  278. package/dist/lyra511.cjs +1 -1
  279. package/dist/lyra511.cjs.map +1 -1
  280. package/dist/lyra511.js +36 -7
  281. package/dist/lyra511.js.map +1 -1
  282. package/dist/lyra512.cjs +1 -1
  283. package/dist/lyra512.cjs.map +1 -1
  284. package/dist/lyra512.js +357 -7
  285. package/dist/lyra512.js.map +1 -1
  286. package/dist/lyra513.cjs +1 -1
  287. package/dist/lyra513.cjs.map +1 -1
  288. package/dist/lyra513.js +39 -7
  289. package/dist/lyra513.js.map +1 -1
  290. package/dist/lyra514.cjs +1 -1
  291. package/dist/lyra514.cjs.map +1 -1
  292. package/dist/lyra514.js +135 -7
  293. package/dist/lyra514.js.map +1 -1
  294. package/dist/lyra515.cjs +1 -1
  295. package/dist/lyra515.cjs.map +1 -1
  296. package/dist/lyra515.js +1104 -6
  297. package/dist/lyra515.js.map +1 -1
  298. package/dist/lyra516.cjs +1 -1
  299. package/dist/lyra516.cjs.map +1 -1
  300. package/dist/lyra516.js +82 -7
  301. package/dist/lyra516.js.map +1 -1
  302. package/dist/lyra517.cjs +1 -1
  303. package/dist/lyra517.cjs.map +1 -1
  304. package/dist/lyra517.js +106 -7
  305. package/dist/lyra517.js.map +1 -1
  306. package/dist/lyra518.cjs +1 -1
  307. package/dist/lyra518.cjs.map +1 -1
  308. package/dist/lyra518.js +13 -7
  309. package/dist/lyra518.js.map +1 -1
  310. package/dist/lyra519.cjs +1 -1
  311. package/dist/lyra519.cjs.map +1 -1
  312. package/dist/lyra519.js +29 -7
  313. package/dist/lyra519.js.map +1 -1
  314. package/dist/lyra520.cjs +1 -1
  315. package/dist/lyra520.cjs.map +1 -1
  316. package/dist/lyra520.js +1 -3
  317. package/dist/lyra520.js.map +1 -1
  318. package/dist/lyra521.cjs +1 -1
  319. package/dist/lyra521.cjs.map +1 -1
  320. package/dist/lyra521.js +1 -3
  321. package/dist/lyra521.js.map +1 -1
  322. package/dist/lyra522.cjs +1 -1
  323. package/dist/lyra522.cjs.map +1 -1
  324. package/dist/lyra522.js +1 -3
  325. package/dist/lyra522.js.map +1 -1
  326. package/dist/lyra523.cjs +1 -1
  327. package/dist/lyra523.cjs.map +1 -1
  328. package/dist/lyra523.js +4 -6
  329. package/dist/lyra523.js.map +1 -1
  330. package/dist/lyra524.cjs +1 -1
  331. package/dist/lyra524.cjs.map +1 -1
  332. package/dist/lyra524.js +1 -3
  333. package/dist/lyra524.js.map +1 -1
  334. package/dist/lyra525.cjs +1 -1
  335. package/dist/lyra525.cjs.map +1 -1
  336. package/dist/lyra525.js +4 -6
  337. package/dist/lyra525.js.map +1 -1
  338. package/dist/lyra526.cjs +1 -1
  339. package/dist/lyra526.cjs.map +1 -1
  340. package/dist/lyra526.js +1 -3
  341. package/dist/lyra526.js.map +1 -1
  342. package/dist/lyra527.cjs +1 -1
  343. package/dist/lyra527.cjs.map +1 -1
  344. package/dist/lyra527.js +4 -6
  345. package/dist/lyra527.js.map +1 -1
  346. package/dist/lyra528.cjs +1 -1
  347. package/dist/lyra528.cjs.map +1 -1
  348. package/dist/lyra528.js +4 -6
  349. package/dist/lyra528.js.map +1 -1
  350. package/dist/lyra529.cjs +1 -1
  351. package/dist/lyra529.cjs.map +1 -1
  352. package/dist/lyra529.js +1 -3
  353. package/dist/lyra529.js.map +1 -1
  354. package/dist/lyra530.cjs +1 -1
  355. package/dist/lyra530.cjs.map +1 -1
  356. package/dist/lyra530.js +4 -6
  357. package/dist/lyra530.js.map +1 -1
  358. package/dist/lyra531.cjs +1 -1
  359. package/dist/lyra531.cjs.map +1 -1
  360. package/dist/lyra531.js +4 -6
  361. package/dist/lyra531.js.map +1 -1
  362. package/dist/lyra532.cjs +1 -1
  363. package/dist/lyra532.cjs.map +1 -1
  364. package/dist/lyra532.js +4 -6
  365. package/dist/lyra532.js.map +1 -1
  366. package/dist/lyra533.cjs +1 -1
  367. package/dist/lyra533.cjs.map +1 -1
  368. package/dist/lyra533.js +1 -3
  369. package/dist/lyra533.js.map +1 -1
  370. package/dist/lyra534.cjs +1 -1
  371. package/dist/lyra534.cjs.map +1 -1
  372. package/dist/lyra534.js +1 -3
  373. package/dist/lyra534.js.map +1 -1
  374. package/dist/lyra535.cjs +1 -1
  375. package/dist/lyra535.cjs.map +1 -1
  376. package/dist/lyra535.js +1 -3
  377. package/dist/lyra535.js.map +1 -1
  378. package/dist/lyra536.cjs +1 -1
  379. package/dist/lyra536.cjs.map +1 -1
  380. package/dist/lyra536.js +4 -6
  381. package/dist/lyra536.js.map +1 -1
  382. package/dist/lyra537.cjs +1 -1
  383. package/dist/lyra537.cjs.map +1 -1
  384. package/dist/lyra537.js +4 -6
  385. package/dist/lyra537.js.map +1 -1
  386. package/dist/lyra538.cjs +1 -1
  387. package/dist/lyra538.cjs.map +1 -1
  388. package/dist/lyra538.js +4 -6
  389. package/dist/lyra538.js.map +1 -1
  390. package/dist/lyra539.cjs +1 -1
  391. package/dist/lyra539.cjs.map +1 -1
  392. package/dist/lyra539.js +4 -6
  393. package/dist/lyra539.js.map +1 -1
  394. package/dist/lyra540.cjs +1 -1
  395. package/dist/lyra540.cjs.map +1 -1
  396. package/dist/lyra540.js +5 -6
  397. package/dist/lyra540.js.map +1 -1
  398. package/dist/lyra541.cjs +1 -1
  399. package/dist/lyra541.cjs.map +1 -1
  400. package/dist/lyra541.js +5 -78
  401. package/dist/lyra541.js.map +1 -1
  402. package/dist/lyra542.cjs +1 -1
  403. package/dist/lyra542.cjs.map +1 -1
  404. package/dist/lyra542.js +4 -257
  405. package/dist/lyra542.js.map +1 -1
  406. package/dist/lyra543.cjs +1 -1
  407. package/dist/lyra543.cjs.map +1 -1
  408. package/dist/lyra543.js +5 -27
  409. package/dist/lyra543.js.map +1 -1
  410. package/dist/lyra544.cjs +1 -1
  411. package/dist/lyra544.cjs.map +1 -1
  412. package/dist/lyra544.js +5 -30
  413. package/dist/lyra544.js.map +1 -1
  414. package/dist/lyra545.cjs +1 -1
  415. package/dist/lyra545.cjs.map +1 -1
  416. package/dist/lyra545.js +5 -36
  417. package/dist/lyra545.js.map +1 -1
  418. package/dist/lyra546.cjs +1 -1
  419. package/dist/lyra546.cjs.map +1 -1
  420. package/dist/lyra546.js +5 -357
  421. package/dist/lyra546.js.map +1 -1
  422. package/dist/lyra547.cjs +1 -1
  423. package/dist/lyra547.cjs.map +1 -1
  424. package/dist/lyra547.js +5 -39
  425. package/dist/lyra547.js.map +1 -1
  426. package/dist/lyra548.cjs +1 -1
  427. package/dist/lyra548.cjs.map +1 -1
  428. package/dist/lyra548.js +5 -135
  429. package/dist/lyra548.js.map +1 -1
  430. package/dist/lyra549.cjs +1 -1
  431. package/dist/lyra549.cjs.map +1 -1
  432. package/dist/lyra549.js +4 -1104
  433. package/dist/lyra549.js.map +1 -1
  434. package/dist/lyra550.cjs +1 -1
  435. package/dist/lyra550.cjs.map +1 -1
  436. package/dist/lyra550.js +5 -82
  437. package/dist/lyra550.js.map +1 -1
  438. package/dist/lyra551.cjs +1 -1
  439. package/dist/lyra551.cjs.map +1 -1
  440. package/dist/lyra551.js +5 -106
  441. package/dist/lyra551.js.map +1 -1
  442. package/dist/lyra552.cjs +1 -1
  443. package/dist/lyra552.cjs.map +1 -1
  444. package/dist/lyra552.js +5 -13
  445. package/dist/lyra552.js.map +1 -1
  446. package/dist/lyra553.cjs +1 -1
  447. package/dist/lyra553.cjs.map +1 -1
  448. package/dist/lyra553.js +5 -29
  449. package/dist/lyra553.js.map +1 -1
  450. package/dist/lyra58.cjs +1 -1
  451. package/dist/lyra58.js +7 -7
  452. package/dist/lyra59.cjs +1 -1
  453. package/dist/lyra59.js +9 -9
  454. package/dist/lyra602.cjs +1 -1
  455. package/dist/lyra602.cjs.map +1 -1
  456. package/dist/lyra602.js +2 -184
  457. package/dist/lyra602.js.map +1 -1
  458. package/dist/lyra603.cjs +1 -1
  459. package/dist/lyra603.cjs.map +1 -1
  460. package/dist/lyra603.js +2 -79
  461. package/dist/lyra603.js.map +1 -1
  462. package/dist/lyra604.cjs +1 -1
  463. package/dist/lyra604.cjs.map +1 -1
  464. package/dist/lyra604.js +230 -41
  465. package/dist/lyra604.js.map +1 -1
  466. package/dist/lyra605.cjs +1 -1
  467. package/dist/lyra605.cjs.map +1 -1
  468. package/dist/lyra605.js +15 -15
  469. package/dist/lyra605.js.map +1 -1
  470. package/dist/lyra606.cjs +1 -1
  471. package/dist/lyra606.cjs.map +1 -1
  472. package/dist/lyra606.js +482 -3
  473. package/dist/lyra606.js.map +1 -1
  474. package/dist/lyra607.cjs +1 -1
  475. package/dist/lyra607.cjs.map +1 -1
  476. package/dist/lyra607.js +66 -14
  477. package/dist/lyra607.js.map +1 -1
  478. package/dist/lyra608.cjs +1 -1
  479. package/dist/lyra608.cjs.map +1 -1
  480. package/dist/lyra608.js +13 -33
  481. package/dist/lyra608.js.map +1 -1
  482. package/dist/lyra609.cjs +1 -1
  483. package/dist/lyra609.cjs.map +1 -1
  484. package/dist/lyra609.js +50 -231
  485. package/dist/lyra609.js.map +1 -1
  486. package/dist/lyra610.cjs +1 -1
  487. package/dist/lyra610.cjs.map +1 -1
  488. package/dist/lyra610.js +2 -16
  489. package/dist/lyra610.js.map +1 -1
  490. package/dist/lyra611.cjs +9 -1
  491. package/dist/lyra611.cjs.map +1 -1
  492. package/dist/lyra611.js +42 -476
  493. package/dist/lyra611.js.map +1 -1
  494. package/dist/lyra612.cjs +9 -1
  495. package/dist/lyra612.cjs.map +1 -1
  496. package/dist/lyra612.js +80 -63
  497. package/dist/lyra612.js.map +1 -1
  498. package/dist/lyra613.cjs +1 -1
  499. package/dist/lyra613.cjs.map +1 -1
  500. package/dist/lyra613.js +139 -13
  501. package/dist/lyra613.js.map +1 -1
  502. package/dist/lyra614.cjs +1 -1
  503. package/dist/lyra614.cjs.map +1 -1
  504. package/dist/lyra614.js +183 -51
  505. package/dist/lyra614.js.map +1 -1
  506. package/dist/lyra615.cjs +1 -1
  507. package/dist/lyra615.cjs.map +1 -1
  508. package/dist/lyra615.js +79 -2
  509. package/dist/lyra615.js.map +1 -1
  510. package/dist/lyra616.cjs +1 -1
  511. package/dist/lyra616.cjs.map +1 -1
  512. package/dist/lyra616.js +44 -2
  513. package/dist/lyra616.js.map +1 -1
  514. package/dist/lyra617.cjs +1 -1
  515. package/dist/lyra617.cjs.map +1 -1
  516. package/dist/lyra617.js +16 -2
  517. package/dist/lyra617.js.map +1 -1
  518. package/dist/lyra618.cjs +1 -9
  519. package/dist/lyra618.cjs.map +1 -1
  520. package/dist/lyra618.js +3 -48
  521. package/dist/lyra618.js.map +1 -1
  522. package/dist/lyra619.cjs +1 -9
  523. package/dist/lyra619.cjs.map +1 -1
  524. package/dist/lyra619.js +14 -83
  525. package/dist/lyra619.js.map +1 -1
  526. package/dist/lyra620.cjs +1 -1
  527. package/dist/lyra620.cjs.map +1 -1
  528. package/dist/lyra620.js +30 -136
  529. package/dist/lyra620.js.map +1 -1
  530. package/dist/lyra63.cjs +1 -1
  531. package/dist/lyra63.cjs.map +1 -1
  532. package/dist/lyra63.js +4 -3
  533. package/dist/lyra63.js.map +1 -1
  534. package/dist/lyra65.cjs +1 -1
  535. package/dist/lyra65.js +8 -8
  536. package/dist/lyra678.cjs +1 -1
  537. package/dist/lyra678.js +2 -2
  538. package/dist/lyra683.cjs +1 -1
  539. package/dist/lyra683.js +1 -1
  540. package/dist/lyra686.cjs +1 -1
  541. package/dist/lyra686.js +1 -1
  542. package/dist/lyra688.cjs +1 -1
  543. package/dist/lyra688.js +1 -1
  544. package/dist/lyra716.cjs +1 -1
  545. package/dist/lyra716.js +4 -4
  546. package/dist/lyra726.cjs +1 -1
  547. package/dist/lyra726.js +1 -1
  548. package/dist/lyra727.cjs +1 -1
  549. package/dist/lyra727.js +1 -1
  550. package/dist/lyra728.cjs +1 -1
  551. package/dist/lyra728.js +1 -1
  552. package/dist/lyra73.cjs +1 -1
  553. package/dist/lyra73.js +2 -2
  554. package/dist/lyra777.cjs +1 -1
  555. package/dist/lyra777.js +1 -1
  556. package/dist/lyra778.cjs +1 -1
  557. package/dist/lyra778.js +2 -2
  558. package/dist/lyra779.cjs +1 -1
  559. package/dist/lyra779.js +5 -5
  560. package/dist/lyra780.cjs +1 -1
  561. package/dist/lyra780.js +2 -2
  562. package/dist/lyra783.cjs +1 -1
  563. package/dist/lyra783.js +1 -1
  564. package/dist/lyra784.cjs +1 -1
  565. package/dist/lyra784.js +1 -1
  566. package/dist/lyra785.cjs +1 -1
  567. package/dist/lyra785.js +1 -1
  568. package/dist/lyra786.cjs +1 -1
  569. package/dist/lyra786.js +2 -2
  570. package/dist/lyra787.cjs +1 -1
  571. package/dist/lyra787.js +5 -5
  572. package/dist/lyra788.cjs +1 -1
  573. package/dist/lyra788.js +2 -2
  574. package/dist/lyra789.cjs +1 -1
  575. package/dist/lyra789.js +5 -5
  576. package/dist/lyra790.cjs +1 -1
  577. package/dist/lyra790.js +6 -6
  578. package/dist/lyra792.cjs +1 -1
  579. package/dist/lyra792.cjs.map +1 -1
  580. package/dist/lyra792.js +50 -371
  581. package/dist/lyra792.js.map +1 -1
  582. package/dist/lyra793.cjs +1 -1
  583. package/dist/lyra793.cjs.map +1 -1
  584. package/dist/lyra793.js +8 -54
  585. package/dist/lyra793.js.map +1 -1
  586. package/dist/lyra794.cjs +1 -1
  587. package/dist/lyra794.cjs.map +1 -1
  588. package/dist/lyra794.js +4 -8
  589. package/dist/lyra794.js.map +1 -1
  590. package/dist/lyra795.cjs +1 -1
  591. package/dist/lyra795.cjs.map +1 -1
  592. package/dist/lyra795.js +13 -4
  593. package/dist/lyra795.js.map +1 -1
  594. package/dist/lyra796.cjs +1 -1
  595. package/dist/lyra796.cjs.map +1 -1
  596. package/dist/lyra796.js +583 -11
  597. package/dist/lyra796.js.map +1 -1
  598. package/dist/lyra797.cjs +1 -1
  599. package/dist/lyra797.cjs.map +1 -1
  600. package/dist/lyra797.js +11 -4
  601. package/dist/lyra797.js.map +1 -1
  602. package/dist/lyra798.cjs +1 -1
  603. package/dist/lyra798.cjs.map +1 -1
  604. package/dist/lyra798.js +3 -584
  605. package/dist/lyra798.js.map +1 -1
  606. package/dist/lyra799.cjs +1 -1
  607. package/dist/lyra799.cjs.map +1 -1
  608. package/dist/lyra799.js +375 -11
  609. package/dist/lyra799.js.map +1 -1
  610. package/dist/lyra800.cjs +1 -1
  611. package/dist/lyra800.cjs.map +1 -1
  612. package/dist/lyra800.js +2 -14
  613. package/dist/lyra800.js.map +1 -1
  614. package/dist/lyra801.cjs +1 -1
  615. package/dist/lyra801.cjs.map +1 -1
  616. package/dist/lyra801.js +29 -2
  617. package/dist/lyra801.js.map +1 -1
  618. package/dist/lyra802.cjs +1 -1
  619. package/dist/lyra802.cjs.map +1 -1
  620. package/dist/lyra802.js +6 -29
  621. package/dist/lyra802.js.map +1 -1
  622. package/dist/lyra803.cjs +1 -1
  623. package/dist/lyra803.cjs.map +1 -1
  624. package/dist/lyra803.js +3 -5
  625. package/dist/lyra803.js.map +1 -1
  626. package/dist/lyra804.cjs +1 -1
  627. package/dist/lyra804.cjs.map +1 -1
  628. package/dist/lyra804.js +14 -4
  629. package/dist/lyra804.js.map +1 -1
  630. package/dist/lyra807.cjs +1 -1
  631. package/dist/lyra807.js +1 -1
  632. package/dist/lyra816.cjs +1 -1
  633. package/dist/lyra816.cjs.map +1 -1
  634. package/dist/lyra816.js +28 -7
  635. package/dist/lyra816.js.map +1 -1
  636. package/dist/lyra817.cjs +1 -1
  637. package/dist/lyra817.cjs.map +1 -1
  638. package/dist/lyra817.js +25 -28
  639. package/dist/lyra817.js.map +1 -1
  640. package/dist/lyra818.cjs +1 -1
  641. package/dist/lyra818.cjs.map +1 -1
  642. package/dist/lyra818.js +19 -24
  643. package/dist/lyra818.js.map +1 -1
  644. package/dist/lyra819.cjs +1 -1
  645. package/dist/lyra819.cjs.map +1 -1
  646. package/dist/lyra819.js +8 -19
  647. package/dist/lyra819.js.map +1 -1
  648. package/dist/lyra820.cjs +1 -1
  649. package/dist/lyra820.cjs.map +1 -1
  650. package/dist/lyra820.js +12 -8
  651. package/dist/lyra820.js.map +1 -1
  652. package/dist/lyra821.cjs +1 -1
  653. package/dist/lyra821.cjs.map +1 -1
  654. package/dist/lyra821.js +6 -13
  655. package/dist/lyra821.js.map +1 -1
  656. package/dist/lyra822.cjs +1 -1
  657. package/dist/lyra822.cjs.map +1 -1
  658. package/dist/lyra822.js +24 -6
  659. package/dist/lyra822.js.map +1 -1
  660. package/dist/lyra823.cjs +1 -1
  661. package/dist/lyra823.cjs.map +1 -1
  662. package/dist/lyra823.js +2 -24
  663. package/dist/lyra823.js.map +1 -1
  664. package/dist/lyra824.cjs +1 -1
  665. package/dist/lyra824.cjs.map +1 -1
  666. package/dist/lyra824.js +9 -2
  667. package/dist/lyra824.js.map +1 -1
  668. package/dist/lyra825.cjs +1 -1
  669. package/dist/lyra825.cjs.map +1 -1
  670. package/dist/lyra825.js +7 -9
  671. package/dist/lyra825.js.map +1 -1
  672. package/dist/lyra826.cjs +1 -1
  673. package/dist/lyra826.cjs.map +1 -1
  674. package/dist/lyra826.js +2 -7
  675. package/dist/lyra826.js.map +1 -1
  676. package/dist/lyra827.cjs +1 -1
  677. package/dist/lyra827.cjs.map +1 -1
  678. package/dist/lyra827.js +19 -2
  679. package/dist/lyra827.js.map +1 -1
  680. package/dist/lyra828.cjs +1 -1
  681. package/dist/lyra828.cjs.map +1 -1
  682. package/dist/lyra828.js +251 -17
  683. package/dist/lyra828.js.map +1 -1
  684. package/dist/lyra829.cjs +1 -1
  685. package/dist/lyra829.cjs.map +1 -1
  686. package/dist/lyra829.js +72 -243
  687. package/dist/lyra829.js.map +1 -1
  688. package/dist/lyra830.cjs +1 -1
  689. package/dist/lyra830.cjs.map +1 -1
  690. package/dist/lyra830.js +2 -82
  691. package/dist/lyra830.js.map +1 -1
  692. package/dist/lyra831.cjs +1 -1
  693. package/dist/lyra831.cjs.map +1 -1
  694. package/dist/lyra831.js +13 -2
  695. package/dist/lyra831.js.map +1 -1
  696. package/dist/lyra832.cjs +1 -1
  697. package/dist/lyra832.cjs.map +1 -1
  698. package/dist/lyra832.js +18 -12
  699. package/dist/lyra832.js.map +1 -1
  700. package/dist/lyra833.cjs +1 -1
  701. package/dist/lyra833.cjs.map +1 -1
  702. package/dist/lyra833.js +12 -17
  703. package/dist/lyra833.js.map +1 -1
  704. package/dist/lyra834.cjs +1 -1
  705. package/dist/lyra834.cjs.map +1 -1
  706. package/dist/lyra834.js +27 -13
  707. package/dist/lyra834.js.map +1 -1
  708. package/dist/lyra835.cjs +1 -1
  709. package/dist/lyra835.cjs.map +1 -1
  710. package/dist/lyra835.js +5 -27
  711. package/dist/lyra835.js.map +1 -1
  712. package/dist/lyra836.cjs +1 -1
  713. package/dist/lyra836.cjs.map +1 -1
  714. package/dist/lyra836.js +10 -5
  715. package/dist/lyra836.js.map +1 -1
  716. package/dist/lyra837.cjs +1 -1
  717. package/dist/lyra837.cjs.map +1 -1
  718. package/dist/lyra837.js +27 -10
  719. package/dist/lyra837.js.map +1 -1
  720. package/dist/lyra838.cjs +1 -1
  721. package/dist/lyra838.cjs.map +1 -1
  722. package/dist/lyra838.js +26 -28
  723. package/dist/lyra838.js.map +1 -1
  724. package/dist/lyra839.cjs +1 -1
  725. package/dist/lyra839.cjs.map +1 -1
  726. package/dist/lyra839.js +7 -26
  727. package/dist/lyra839.js.map +1 -1
  728. package/dist/lyra840.cjs +1 -4
  729. package/dist/lyra840.cjs.map +1 -1
  730. package/dist/lyra840.js +103 -45
  731. package/dist/lyra840.js.map +1 -1
  732. package/dist/lyra841.cjs +1 -1
  733. package/dist/lyra841.cjs.map +1 -1
  734. package/dist/lyra841.js +21 -104
  735. package/dist/lyra841.js.map +1 -1
  736. package/dist/lyra842.cjs +1 -1
  737. package/dist/lyra842.cjs.map +1 -1
  738. package/dist/lyra842.js +20 -22
  739. package/dist/lyra842.js.map +1 -1
  740. package/dist/lyra843.cjs +1 -1
  741. package/dist/lyra843.cjs.map +1 -1
  742. package/dist/lyra843.js +5 -20
  743. package/dist/lyra843.js.map +1 -1
  744. package/dist/lyra844.cjs +1 -1
  745. package/dist/lyra844.cjs.map +1 -1
  746. package/dist/lyra844.js +20 -5
  747. package/dist/lyra844.js.map +1 -1
  748. package/dist/lyra845.cjs +1 -1
  749. package/dist/lyra845.cjs.map +1 -1
  750. package/dist/lyra845.js +29 -19
  751. package/dist/lyra845.js.map +1 -1
  752. package/dist/lyra846.cjs +1 -1
  753. package/dist/lyra846.cjs.map +1 -1
  754. package/dist/lyra846.js +6 -28
  755. package/dist/lyra846.js.map +1 -1
  756. package/dist/lyra847.cjs +1 -1
  757. package/dist/lyra847.cjs.map +1 -1
  758. package/dist/lyra847.js +51 -6
  759. package/dist/lyra847.js.map +1 -1
  760. package/dist/lyra848.cjs +1 -1
  761. package/dist/lyra848.cjs.map +1 -1
  762. package/dist/lyra848.js +19 -49
  763. package/dist/lyra848.js.map +1 -1
  764. package/dist/lyra849.cjs +1 -1
  765. package/dist/lyra849.cjs.map +1 -1
  766. package/dist/lyra849.js +16 -19
  767. package/dist/lyra849.js.map +1 -1
  768. package/dist/lyra850.cjs +1 -1
  769. package/dist/lyra850.cjs.map +1 -1
  770. package/dist/lyra850.js +55 -19
  771. package/dist/lyra850.js.map +1 -1
  772. package/dist/lyra851.cjs +1 -1
  773. package/dist/lyra851.cjs.map +1 -1
  774. package/dist/lyra851.js +10 -55
  775. package/dist/lyra851.js.map +1 -1
  776. package/dist/lyra852.cjs +1 -1
  777. package/dist/lyra852.cjs.map +1 -1
  778. package/dist/lyra852.js +3 -10
  779. package/dist/lyra852.js.map +1 -1
  780. package/dist/lyra853.cjs +1 -1
  781. package/dist/lyra853.cjs.map +1 -1
  782. package/dist/lyra853.js +17 -3
  783. package/dist/lyra853.js.map +1 -1
  784. package/dist/lyra854.cjs +1 -1
  785. package/dist/lyra854.cjs.map +1 -1
  786. package/dist/lyra854.js +3 -17
  787. package/dist/lyra854.js.map +1 -1
  788. package/dist/lyra855.cjs +1 -1
  789. package/dist/lyra855.cjs.map +1 -1
  790. package/dist/lyra855.js +3 -3
  791. package/dist/lyra855.js.map +1 -1
  792. package/dist/lyra856.cjs +4 -1
  793. package/dist/lyra856.cjs.map +1 -1
  794. package/dist/lyra856.js +46 -3
  795. package/dist/lyra856.js.map +1 -1
  796. package/dist/lyra87.cjs +1 -1
  797. package/dist/lyra87.js +48 -48
  798. package/dist/lyra88.cjs +1 -1
  799. package/dist/lyra88.js +3 -3
  800. package/dist/lyra92.cjs +1 -1
  801. package/dist/lyra92.cjs.map +1 -1
  802. package/dist/lyra92.js +1 -1
  803. package/dist/lyra92.js.map +1 -1
  804. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lyra36.js","sources":["../src/components/inputs/select/select.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEvent,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Button as AriaButton, Group, Key } from \"react-aria-components\";\n\nimport clsx from \"clsx\";\n\nimport { useLocale, useMousePosition } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { sharedListStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport { MultiSelectProps, SelectItemsProps, SelectProps, ValueButton } from \"./select.types\";\n\ntype UseItemSelectionProps<T> = {\n closePopover: () => void;\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n getItemId: (item: T) => Key;\n onMultiChange?: (value?: T[]) => void;\n onSingleChange?: (value?: T) => void;\n value?: T | T[];\n};\n\nconst useItemSelection = <T extends object>({\n closePopover,\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value));\n }\n }, [filteredItems, getItemId, value]);\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const refs = useRef<HTMLButtonElement[]>([]);\n\n const assignRefOnIndex = useCallback((index: number, el: HTMLButtonElement | null) => {\n if (el) {\n refs.current[index] = el;\n }\n }, []);\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.includes(item);\n } else {\n return value === item;\n }\n },\n [value],\n );\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation on buttons\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n const nextButtonRef = refs.current[safeNextIndex];\n nextButtonRef?.scrollIntoView({ block: \"nearest\" });\n nextButtonRef?.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n const previousButtonRef = refs.current[safePreviousIndex];\n previousButtonRef?.scrollIntoView({ block: \"nearest\" });\n previousButtonRef?.focus();\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Escape\") {\n closePopover();\n }\n },\n [activeItem, closePopover, getNextItemIndex, getPreviousItemIndex, mousePosition],\n );\n\n // Handles onHoverChange event for the buttons\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n // Scroll the active item into view when the popover opens\n useEffect(() => {\n if (refs.current?.[activeItem]) {\n refs.current[activeItem].focus();\n }\n // We want this to run everytime the popover opens.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n return {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\nconst ItemsList = <T extends object>({\n disabledItemIdKeys,\n getItemId,\n items,\n onMultiChange,\n onSingleChange,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Pick<\n SelectItemsProps<T>,\n | \"disabledItemIdKeys\"\n | \"getItemId\"\n | \"items\"\n | \"onMultiChange\"\n | \"onSingleChange\"\n | \"selectRenderElements\"\n | \"setOpenPopover\"\n | \"value\"\n>) => {\n const {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n toggleSelection,\n } = useItemSelection({\n closePopover: () => setOpenPopover(false),\n disabledItemIdKeys,\n filteredItems: items,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const itemIsDisabled = (item: T) => {\n return disabledItemIdKeys?.includes(getItemId(item)) ?? false;\n };\n\n return (\n <div\n className={sharedListStyles({\n className: \"h-full max-h-72 overflow-auto\",\n })}\n >\n {items.map((item, index) => (\n <AriaButton\n data-index={index}\n key={getItemId(item)}\n ref={(el) => assignRefOnIndex(index, el)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, index);\n }}\n onPress={() => toggleSelection(item)}\n onKeyDown={(e) => onKeyDown(e)}\n isDisabled={itemIsDisabled(item)}\n >\n <SharedListItem\n item={item}\n state={{\n active: activeItem === index,\n disabled: disabledItemIdKeys?.includes(getItemId(item)) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n hasSelection\n />\n </AriaButton>\n ))}\n </div>\n );\n};\n\n/**\n * Renders the options for the select component.\n *\n */\nconst SelectItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n items,\n label,\n onMultiChange,\n onSingleChange,\n open,\n placement = \"bottom start\",\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SelectItemsProps<T>) => {\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n shouldUpdatePosition\n aria-label={label}\n disablePadding\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <ItemsList\n getItemId={getItemId}\n items={items}\n onMultiChange={onMultiChange}\n onSingleChange={onSingleChange}\n selectRenderElements={selectRenderElements}\n setOpenPopover={setOpenPopover}\n value={value}\n disabledItemIdKeys={disabledItemIdKeys}\n />\n ) : null}\n </Popover>\n );\n};\n\n/**\n * Renders a single value button for a select input.\n *\n */\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n placeholder,\n renderCustomElementInValueButton,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"onChange\"> & {\n onChange: (newValue?: T) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused,\n isInvalid,\n hasEndSlot: true,\n className: isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={() => {\n setOpenPopover(true);\n }}\n >\n <div className=\"flex grow text-start\">\n {renderCustomElementInValueButton && value\n ? selectRenderElements(value)?.customElement\n : null}\n {value ? <>{getLabel(value)}</> : <Text color=\"secondary\">{placeholder}</Text>}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !disableClearLogic && !isDisabled ? (\n <>\n <div\n className=\"text-secondary\"\n role=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" />\n </div>\n </AriaButton>\n );\n};\n\n/**\n * Renders a button component for selecting multiple values.\n *\n */\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n placeholder,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n const onKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <Group>\n {({ isFocusWithin }) => (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused: isFocused || isFocusWithin,\n isInvalid,\n hasEndSlot: true,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"items-start\",\n ),\n })\n }\n onKeyDown={(e) => onKeyDown(e)}\n onPress={() => setOpenPopover(true)}\n isDisabled={isDisabled}\n >\n <div className=\"flex w-full outline-none\">\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem]\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-4\" />\n </div>\n </AriaButton>\n )}\n </Group>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\n/**\n * Renders a select input component.\n *\n */\nexport const Select = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n renderCustomElementInValueButton,\n selectRenderElements,\n value,\n}: SelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const [open, setOpenPopover] = useState(false);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const { wrapper } = sharedInputStyles({});\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n setOpenPopover(false);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n disableClearLogic={disableClearLogic}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n getLabel={getLabel}\n getItemId={getItemId}\n label={label}\n onChange={onSingleChange}\n setOpenPopover={setOpenPopover}\n renderCustomElementInValueButton={renderCustomElementInValueButton}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n triggerRef={triggerRef}\n label={`${label} options`}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n items={items}\n open={open}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onSingleChange={onSingleChange}\n value={selectedValue}\n placement={placement}\n />\n </div>\n );\n};\n\nexport const MultiSelect = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n selectRenderElements,\n value,\n}: MultiSelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [open, setOpenPopover] = useState(false);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({});\n\n const onMultipleChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n onChange={onMultipleChange}\n getItemId={getItemId}\n getLabel={getLabel}\n label={label}\n disableClearLogic={disableClearLogic}\n setOpenPopover={setOpenPopover}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n label={`${label} options`}\n triggerRef={triggerRef}\n items={items}\n open={open}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onMultiChange={onMultipleChange}\n placement={placement}\n value={selectedValue}\n />\n </div>\n );\n};\n"],"names":["useItemSelection","closePopover","disabledItemIdKeys","filteredItems","getItemId","onMultiChange","onSingleChange","value","selectedItemIndex","useMemo","item","activeItem","setActiveItem","useState","getPreviousItemIndex","useCallback","activeIndex","i","getNextItemIndex","refs","useRef","assignRefOnIndex","index","el","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","mousePosition","useMousePosition","previousMousePosition","onKeyDown","e","currentActiveIndex","safeNextIndex","nextButtonRef","safePreviousIndex","previousButtonRef","onHoverChange","isHovering","useEffect","_a","ItemsList","items","selectRenderElements","setOpenPopover","itemIsDisabled","jsx","sharedListStyles","AriaButton","SharedListItem","SelectItems","direction","label","open","placement","triggerRef","triggerRefWidth","setTriggerRefWidth","triggerWidth","_b","useEventListener","Popover","SingleValueButton","disableClearLogic","fullWidth","getLabel","isDisabled","isInvalid","onChange","placeholder","renderCustomElementInValueButton","inputFieldStyles","sharedInputStyles","jsxs","isFocused","isHovered","Fragment","Text","SvgIcon","MultipleValuesButton","onRemove","keys","itemId","Group","isFocusWithin","clsx","InputTagGroup","InputTag","UncontrolledInputs","name","Select","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","disabled","internalValue","setInternalValue","wrapper","useLocale","selectedValue","InputHeader","InputFooter","MultiSelect","onMultipleChange"],"mappings":"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"}
1
+ {"version":3,"file":"lyra36.js","sources":["../src/components/inputs/select/select.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEvent,\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { Button as AriaButton, Group, Key } from \"react-aria-components\";\n\nimport clsx from \"clsx\";\n\nimport { useLocale, useMousePosition } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { sharedListStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport { MultiSelectProps, SelectItemsProps, SelectProps, ValueButton } from \"./select.types\";\n\ntype UseItemSelectionProps<T> = {\n closePopover: () => void;\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n getItemId: (item: T) => Key;\n onMultiChange?: (value?: T[]) => void;\n onSingleChange?: (value?: T) => void;\n value?: T | T[];\n};\n\nconst useItemSelection = <T extends object>({\n closePopover,\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems.findIndex((item) => getItemId(item) === getItemId(value));\n }\n }, [filteredItems, getItemId, value]);\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const refs = useRef<HTMLButtonElement[]>([]);\n\n const assignRefOnIndex = useCallback((index: number, el: HTMLButtonElement | null) => {\n if (el) {\n refs.current[index] = el;\n }\n }, []);\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.some((subValue) => getItemId(subValue) === getItemId(item));\n } else {\n return value ? getItemId(value) === getItemId(item) : false;\n }\n },\n [getItemId, value],\n );\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation on buttons\n const onKeyDown = useCallback(\n (e: KeyboardEvent) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n const nextButtonRef = refs.current[safeNextIndex];\n nextButtonRef?.scrollIntoView({ block: \"nearest\" });\n nextButtonRef?.focus();\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n const previousButtonRef = refs.current[safePreviousIndex];\n previousButtonRef?.scrollIntoView({ block: \"nearest\" });\n previousButtonRef?.focus();\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Escape\") {\n closePopover();\n }\n },\n [activeItem, closePopover, getNextItemIndex, getPreviousItemIndex, mousePosition],\n );\n\n // Handles onHoverChange event for the buttons\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n // Scroll the active item into view when the popover opens\n useEffect(() => {\n if (refs.current?.[activeItem]) {\n refs.current[activeItem].focus();\n }\n // We want this to run everytime the popover opens.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [open]);\n\n return {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\nconst ItemsList = <T extends object>({\n disabledItemIdKeys,\n getItemId,\n items,\n onMultiChange,\n onSingleChange,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Pick<\n SelectItemsProps<T>,\n | \"disabledItemIdKeys\"\n | \"getItemId\"\n | \"items\"\n | \"onMultiChange\"\n | \"onSingleChange\"\n | \"selectRenderElements\"\n | \"setOpenPopover\"\n | \"value\"\n>) => {\n const {\n activeItem,\n assignRefOnIndex,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n toggleSelection,\n } = useItemSelection({\n closePopover: () => setOpenPopover(false),\n disabledItemIdKeys,\n filteredItems: items,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const itemIsDisabled = (item: T) => {\n return disabledItemIdKeys?.includes(getItemId(item)) ?? false;\n };\n\n return (\n <div\n className={sharedListStyles({\n className: \"h-full max-h-72 overflow-auto\",\n })}\n >\n {items.map((item, index) => (\n <AriaButton\n data-index={index}\n key={getItemId(item)}\n ref={(el) => assignRefOnIndex(index, el)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, index);\n }}\n onPress={() => toggleSelection(item)}\n onKeyDown={(e) => onKeyDown(e)}\n isDisabled={itemIsDisabled(item)}\n >\n <SharedListItem\n item={item}\n state={{\n active: activeItem === index,\n disabled: disabledItemIdKeys?.includes(getItemId(item)) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n hasSelection\n />\n </AriaButton>\n ))}\n </div>\n );\n};\n\n/**\n * Renders the options for the select component.\n *\n */\nconst SelectItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n items,\n label,\n onMultiChange,\n onSingleChange,\n open,\n placement = \"bottom start\",\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SelectItemsProps<T>) => {\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n shouldUpdatePosition\n aria-label={label}\n disablePadding\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <ItemsList\n getItemId={getItemId}\n items={items}\n onMultiChange={onMultiChange}\n onSingleChange={onSingleChange}\n selectRenderElements={selectRenderElements}\n setOpenPopover={setOpenPopover}\n value={value}\n disabledItemIdKeys={disabledItemIdKeys}\n />\n ) : null}\n </Popover>\n );\n};\n\n/**\n * Renders a single value button for a select input.\n *\n */\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n placeholder,\n renderCustomElementInValueButton,\n selectRenderElements,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"onChange\"> & {\n onChange: (newValue?: T) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused,\n isInvalid,\n hasEndSlot: true,\n className: isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={() => {\n setOpenPopover(true);\n }}\n >\n <div className=\"flex grow text-start\">\n {renderCustomElementInValueButton && value\n ? selectRenderElements(value)?.customElement\n : null}\n {value ? <>{getLabel(value)}</> : <Text color=\"secondary\">{placeholder}</Text>}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !disableClearLogic && !isDisabled ? (\n <>\n <div\n className=\"text-secondary\"\n role=\"button\"\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" />\n </div>\n </AriaButton>\n );\n};\n\n/**\n * Renders a button component for selecting multiple values.\n *\n */\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n placeholder,\n setOpenPopover,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({});\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n const onKeyDown = (e: KeyboardEvent<HTMLDivElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n setOpenPopover(true);\n }\n };\n\n return (\n <Group>\n {({ isFocusWithin }) => (\n <AriaButton\n className={({ isFocused, isHovered }) =>\n inputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n isFocused: isFocused || isFocusWithin,\n isInvalid,\n hasEndSlot: true,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"items-start\",\n ),\n })\n }\n onKeyDown={(e) => onKeyDown(e)}\n onPress={() => setOpenPopover(true)}\n isDisabled={isDisabled}\n >\n <div className=\"flex w-full outline-none\">\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem]\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-4\" />\n </div>\n </AriaButton>\n )}\n </Group>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\n/**\n * Renders a select input component.\n *\n */\nexport const Select = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n renderCustomElementInValueButton,\n selectRenderElements,\n value,\n}: SelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const [open, setOpenPopover] = useState(false);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const { wrapper } = sharedInputStyles({});\n\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n setOpenPopover(false);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n disableClearLogic={disableClearLogic}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n getLabel={getLabel}\n getItemId={getItemId}\n label={label}\n onChange={onSingleChange}\n setOpenPopover={setOpenPopover}\n renderCustomElementInValueButton={renderCustomElementInValueButton}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n triggerRef={triggerRef}\n label={`${label} options`}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n items={items}\n open={open}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onSingleChange={onSingleChange}\n value={selectedValue}\n placement={placement}\n />\n </div>\n );\n};\n\nexport const MultiSelect = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isRequired,\n items,\n label,\n name,\n onChange,\n placeholder,\n placement,\n selectRenderElements,\n value,\n}: MultiSelectProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const disabled = isDisabled || fieldGroupIsDisabled;\n const [open, setOpenPopover] = useState(false);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const triggerRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({});\n\n const onMultipleChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n },\n [onChange],\n );\n\n // sync the internal value with the value prop\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper({ fullWidth })}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n fullWidth={fullWidth}\n isDisabled={disabled}\n isInvalid={isInvalid}\n placeholder={placeholder}\n value={selectedValue}\n onChange={onMultipleChange}\n getItemId={getItemId}\n getLabel={getLabel}\n label={label}\n disableClearLogic={disableClearLogic}\n setOpenPopover={setOpenPopover}\n selectRenderElements={selectRenderElements}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SelectItems<T>\n label={`${label} options`}\n triggerRef={triggerRef}\n items={items}\n open={open}\n getItemId={getItemId}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n setOpenPopover={setOpenPopover}\n onMultiChange={onMultipleChange}\n placement={placement}\n value={selectedValue}\n />\n </div>\n );\n};\n"],"names":["useItemSelection","closePopover","disabledItemIdKeys","filteredItems","getItemId","onMultiChange","onSingleChange","value","selectedItemIndex","useMemo","item","activeItem","setActiveItem","useState","getPreviousItemIndex","useCallback","activeIndex","i","getNextItemIndex","refs","useRef","assignRefOnIndex","index","el","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","subValue","mousePosition","useMousePosition","previousMousePosition","onKeyDown","e","currentActiveIndex","safeNextIndex","nextButtonRef","safePreviousIndex","previousButtonRef","onHoverChange","isHovering","useEffect","_a","ItemsList","items","selectRenderElements","setOpenPopover","itemIsDisabled","jsx","sharedListStyles","AriaButton","SharedListItem","SelectItems","direction","label","open","placement","triggerRef","triggerRefWidth","setTriggerRefWidth","triggerWidth","_b","useEventListener","Popover","SingleValueButton","disableClearLogic","fullWidth","getLabel","isDisabled","isInvalid","onChange","placeholder","renderCustomElementInValueButton","inputFieldStyles","sharedInputStyles","jsxs","isFocused","isHovered","Fragment","Text","SvgIcon","MultipleValuesButton","onRemove","keys","itemId","Group","isFocusWithin","clsx","InputTagGroup","InputTag","UncontrolledInputs","name","Select","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","disabled","internalValue","setInternalValue","wrapper","useLocale","selectedValue","InputHeader","InputFooter","MultiSelect","onMultipleChange"],"mappings":"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"}
package/dist/lyra37.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra88.cjs"),r=require("react"),A=require("./lyra87.cjs"),ee=require("react-dom"),ce=require("./lyra608.cjs"),le=require("./lyra448.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const X=require("./lyra63.cjs");require("./lyra8.cjs");require("./lyra9.cjs");require("./lyra10.cjs");require("./lyra11.cjs");require("./lyra12.cjs");require("./lyra13.cjs");require("./lyra14.cjs");require("./lyra15.cjs");require("./lyra16.cjs");require("./lyra17.cjs");require("./lyra18.cjs");require("./lyra19.cjs");require("./lyra20.cjs");require("./lyra21.cjs");require("./lyra22.cjs");require("./lyra23.cjs");require("./lyra24.cjs");require("./lyra25.cjs");const Q=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");const oe=require("./lyra93.cjs");require("./lyra78.cjs");require("./lyra456.cjs");const ue=require("./lyra38.cjs"),ie=require("./lyra39.cjs"),Y=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const xe=require("./lyra594.cjs"),ae=require("./lyra451.cjs"),pe=require("./lyra452.cjs"),je=require("./lyra52.cjs");require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");const se=require("./lyra71.cjs");require("./lyra72.cjs");const ne=require("./lyra457.cjs");require("./lyra458.cjs");const fe=require("./lyra83.cjs"),de=require("./lyra82.cjs");require("./lyra41.cjs");require("./lyra42.cjs");require("./lyra43.cjs");require("./lyra45.cjs");require("./lyra46.cjs");require("./lyra47.cjs");require("./lyra48.cjs");require("./lyra49.cjs");require("./lyra50.cjs");require("./lyra51.cjs");const me=require("./lyra56.cjs");require("./lyra57.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");const Re=require("./lyra61.cjs");require("./lyra62.cjs");require("./lyra65.cjs");require("./lyra66.cjs");require("./lyra68.cjs");require("./lyra69.cjs");require("./lyra70.cjs");require("./lyra74.cjs");require("./lyra75.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra79.cjs");require("./lyra96.cjs");const qe=require("./lyra85.cjs"),C=require("./lyra86.cjs"),Ee=({disableClearLogic:n,endSlot:s,fullWidth:t,getLabel:i,isDisabled:f,isInvalid:x,onChange:a,open:p,openPopover:R,placeholder:h,searchInputRef:q,startSlot:E,value:o})=>{const{buttonExcludedFromTabOrder:d,inputField:c}=Y.sharedInputStyles({isInvalid:x,hasEndSlot:!0,fullWidth:t,isDisabled:f}),v=l=>{(l.key==="Escape"||l.key==="Backspace")&&!n?(l.stopPropagation(),a==null||a(void 0)):l.key==="ArrowDown"||l.key==="ArrowUp"?R==null||R():l.key&&l.key.match(/^[a-zA-Z0-9]$/)&&(ee.flushSync(()=>{R==null||R()}),q.current&&(q.current.focus(),q.current.setSelectionRange(0,q.current.value.length)))};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[E,e.jsxRuntimeExports.jsxs(A.Button,{"aria-haspopup":"listbox","aria-expanded":p,className:({isFocused:l,isHovered:u})=>c({isHovered:u,isFocused:l,className:"grow"}),isDisabled:f,onKeyDown:v,onPress:R,children:[e.jsxRuntimeExports.jsx("div",{className:"grow truncate text-start",children:o&&i(o)?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:i(o)}):e.jsxRuntimeExports.jsx(se.Text,{variant:"body-medium",color:"secondary",children:h})}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[o&&!f&&!n?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:d(),role:"button",onPointerDown:l=>{l.stopPropagation(),a==null||a(void 0)},onClick:l=>{l.stopPropagation(),a==null||a(void 0)},children:e.jsxRuntimeExports.jsx(X.SvgIcon,{name:"clear"})})}):null,e.jsxRuntimeExports.jsx(X.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4"})]})]}),s]})},he=({fullWidth:n,getItemId:s,getLabel:t,isDisabled:i,isInvalid:f,label:x,onChange:a,openPopover:p,placeholder:R,searchInputRef:h,value:q})=>{const{inputField:E}=Y.sharedInputStyles({isInvalid:f,hasEndSlot:!0,fullWidth:n,isDisabled:i}),o=r.useCallback(c=>{c.key==="ArrowDown"||c.key==="ArrowUp"?p():c.key&&c.key.match(/^[a-zA-Z0-9]$/)&&(ee.flushSync(()=>{p()}),h.current&&(h.current.focus(),h.current.setSelectionRange(0,h.current.value.length)))},[p,h]),d=r.useCallback(c=>{q&&a(q.filter(v=>{const l=s(v);return!c.has(l)}))},[s,a,q]);return e.jsxRuntimeExports.jsx(A.Group,{className:({isFocusWithin:c,isHovered:v})=>E({isHovered:v,isFocused:c,className:le.clsx(v&&!f&&!i&&!c?"border-hover":"","has:[data-focused]:border has:[data-focused]:border-focus")}),children:e.jsxRuntimeExports.jsxs(A.Button,{onPress:p,onKeyDown:o,isDisabled:i,className:"flex w-full outline-none",children:[e.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:q&&q.length?e.jsxRuntimeExports.jsx(ne.InputTagGroup,{label:x??"Selected items",className:"-m-1.5 -mt-[0.3125rem] items-center",onRemove:i?void 0:d,children:q.map(c=>e.jsxRuntimeExports.jsx(ne.InputTag,{id:s(c),isDisabled:i,children:t(c)},s(c)))}):e.jsxRuntimeExports.jsx(se.Text,{color:"secondary",children:R})}),e.jsxRuntimeExports.jsx(X.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-[16px]"})]})})},Se=({endSlot:n,isLoading:s,onKeyDown:t,onQueryChange:i,query:f,searchInputRef:x,setQuery:a})=>{const p=r.useId(),{clear:R,search:h}=oe.useDictionary(),q=qe.useSpinDelay(s??!1,{delay:500,minDuration:200}),{buttonExcludedFromTabOrder:E}=Y.sharedInputStyles({fullWidth:!0});return r.useEffect(()=>{var o;(o=x.current)==null||o.focus()},[]),e.jsxRuntimeExports.jsx("div",{className:"pb-1",children:e.jsxRuntimeExports.jsxs("div",{className:"flex h-6 w-full items-center gap-2 rounded-xs border border-solid border-default bg-overlay-subtle py-1 pe-1 ps-1.5",children:[e.jsxRuntimeExports.jsx(A.Input,{ref:x,id:p,className:"w-full bg-transparent text-base outline-none placeholder:text-tertiary",onChange:o=>{var d,c;a(((d=o.target)==null?void 0:d.value)??""),i==null||i((c=o.target)==null?void 0:c.value)},placeholder:h,value:f??"",onKeyDown:o=>{o.code==="Tab"&&o.preventDefault(),t==null||t(o)}}),f&&f.length?e.jsxRuntimeExports.jsx(A.Button,{"aria-label":R,className:E(),excludeFromTabOrder:!0,onPress:()=>{var o;a(""),(o=x.current)==null||o.focus()},children:e.jsxRuntimeExports.jsx(X.SvgIcon,{name:"clear"})}):null,n,q?e.jsxRuntimeExports.jsx(Re.Spinner,{className:"mx-2",size:"small"}):null]})})},ve=n=>{const s=r.useRef(null),[t,i]=r.useState(!1);return r.useEffect(()=>i(!1),[n]),{loadMoreButtonRef:s,isLoadMoreButtonFocused:t,setIsLoadMoreButtonFocused:i}},ye=({disabledItemIdKeys:n,filteredItems:s,getItemId:t,onMultiChange:i,onSingleChange:f,value:x})=>{const a=r.useMemo(()=>{if(Array.isArray(x))return x.length?s==null?void 0:s.findIndex(u=>t(u)===t(x[0])):0;if(x)return(s==null?void 0:s.findIndex(u=>t(u)===t(x)))??0},[s,t,x]),p=r.useCallback(u=>{if(Number.isInteger(u)){for(let j=u-1;j>=0;j--)if(!(n!=null&&n.includes(t(s[j]))))return Math.max(j,0)}return-1},[n,s,t]),R=r.useCallback(u=>{if(Number.isInteger(u)){for(let j=u+1;j<s.length;j++)if(!(n!=null&&n.includes(t(s[j]))))return Math.min(s.length-1,j)}return-1},[n,s,t]),h=r.useCallback(u=>{if(i){const j=x?[...x]:[],S=j.map(t),m=S!=null&&S.includes(t(u))?j.filter(O=>t(O)!==t(u)):[...j,u];i==null||i(m)}else f&&(f==null||f(u))},[t,i,f,x]),q=r.useCallback(u=>Array.isArray(x)?x.includes(u):x===u,[x]),[E,o]=r.useState(a??0),d=de.useMousePosition(),c=r.useRef(void 0),v=r.useCallback(u=>{const j=E;if(u.key==="ArrowDown"){u.preventDefault();const S=R(j);S>=0&&(o(S),c.current=d)}else if(u.key==="ArrowUp"){u.preventDefault();const S=p(j);S>=0&&(o(S),c.current=d)}else u.key==="Enter"&&h(s[E])},[E,s,R,p,d,h]),l=r.useCallback((u,j)=>{u&&c.current!==d&&(o(j),c.current=d)},[d]);return{activeItem:E,setActiveItem:o,getItemIsSelected:q,onKeyDown:v,onHoverChange:l,selectedItemIndex:a,toggleSelection:h}},Ne=({selectedItemIndex:n,setActiveItem:s})=>(r.useEffect(()=>{if(n!==void 0&&n>=0)return s(n),()=>{s(0)}},[n,s]),null),K=({direction:n,disabledItemIdKeys:s,getItemId:t,getLabel:i,isLoading:f,items:x,label:a,onLoadMore:p,onMultiChange:R,onQueryChange:h,onSingleChange:q,open:E,placement:o,searchInputRef:d,selectRenderElements:c,setOpenPopover:v,triggerRef:l,value:u})=>{var D,re,te;const{loadMore:j,noResultsFound:S}=oe.useDictionary(),{filteredItems:m,query:O,setQuery:L}=fe.useFilterItemsByQuery({getLabel:i,items:x,onQueryChange:h}),{item:T}=ae.sharedListItemStyles(),{isLoadMoreButtonFocused:M,loadMoreButtonRef:G,setIsLoadMoreButtonFocused:k}=ve(E),{activeItem:N,getItemIsSelected:W,onHoverChange:w,onKeyDown:y,selectedItemIndex:H,setActiveItem:U,toggleSelection:Z}=ye({disabledItemIdKeys:s,filteredItems:m,getItemId:t,loadMoreButtonRef:G,onMultiChange:R,onSingleChange:q,value:u}),[$,g]=r.useState((D=l.current)==null?void 0:D.offsetWidth);xe.default("resize",()=>{var F;g((F=l.current)==null?void 0:F.offsetWidth)});const V=$??((re=l.current)==null?void 0:re.offsetWidth),_=r.useRef(null),z=p?((m==null?void 0:m.length)??0)+1:(m==null?void 0:m.length)??0,b=ce.useVirtualizer({count:z,estimateSize:()=>40,getScrollElement:()=>_.current,overscan:6});r.useEffect(()=>{N!==void 0&&N>=0&&(m!=null&&m.length)&&(N===m.length-1&&p?b.scrollToIndex(z):b.scrollToIndex(Math.min(N,z-1)))},[N,z,m.length,p,b]);const P=b.getVirtualItems();return e.jsxRuntimeExports.jsx(je.Popover,{className:"p-1",isOpen:E,disablePadding:!0,triggerRef:l,onOpenChange:v,"aria-label":a,shouldUpdatePosition:!0,placement:o,style:{width:V&&V>280?V+"px":"280px",direction:n},children:E?e.jsxRuntimeExports.jsxs("div",{className:"gap-1",children:[e.jsxRuntimeExports.jsx(Se,{onQueryChange:h,isLoading:f,query:O,setQuery:F=>{ee.flushSync(()=>{L(F),U(0)}),b.scrollToOffset(0)},searchInputRef:d,onKeyDown:y}),e.jsxRuntimeExports.jsx(Ne,{selectedItemIndex:H,setActiveItem:U}),e.jsxRuntimeExports.jsx("div",{ref:_,className:"w-full overflow-y-auto",style:{contain:"strict",height:Math.min(288,b.getTotalSize()+(p?4:0))},children:e.jsxRuntimeExports.jsx("div",{className:"relative w-full",style:{height:b.getTotalSize()},children:e.jsxRuntimeExports.jsx("div",{className:"absolute start-0 top-0 w-full",style:{transform:`translateY(${((te=P==null?void 0:P[0])==null?void 0:te.start)??0}px)`},children:P.map(F=>{if(F.index===z-1&&p)return e.jsxRuntimeExports.jsx("div",{"data-index":F.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(me.Separator,{className:"my-1"}),e.jsxRuntimeExports.jsx(A.Button,{isDisabled:f,onFocusChange:k,onHoverChange:k,ref:G,className:T({className:"w-full justify-start bg-transparent ps-6 text-base font-normal text-primary duration-0 active:text-inverted hover:bg-action-hover hover:text-inverted focus:bg-action-focus focus:text-inverted focus-visible:[box-shadow:none]"}),onPress:()=>{var B;p(),(B=d.current)==null||B.focus()},onKeyDown:B=>{var J;B.key==="ArrowUp"&&(B.preventDefault(),(J=d.current)==null||J.focus())},children:j})]})},F.key);{const B=m[F.index];return e.jsxRuntimeExports.jsx("div",{"data-index":F.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsx(A.Button,{className:"w-full text-start outline-none",onHoverChange:J=>{w(J,F.index)},onPress:()=>Z(B),isDisabled:(s==null?void 0:s.includes(t(B)))??!1,excludeFromTabOrder:!0,children:e.jsxRuntimeExports.jsx(pe.SharedListItem,{hasSelection:!0,item:B,state:{active:N===F.index&&!M,disabled:(s==null?void 0:s.includes(t(B)))??!1,selected:W(B)},selectRenderElements:c},t(B))},t(B))},F.key)}})})})}),z?null:e.jsxRuntimeExports.jsx(se.Text,{variant:"body-medium",color:"secondary",className:"px-2.5",children:S})]}):null})},I=({getItemId:n,name:s,value:t})=>s?Array.isArray(t)?t.map(i=>e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:n(i)},n(i))):t?e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:n(t)}):null:null,be=({defaultValue:n,description:s,disableClearLogic:t,disabledItemIdKeys:i,endSlot:f,errorMessage:x,fullWidth:a=!0,getItemId:p,getLabel:R,hideHintLabel:h,hideInputFooter:q,hideInputHeader:E,isDisabled:o,isInvalid:d,isLoading:c,isRequired:v,items:l,label:u,name:j,onChange:S,onLoadMore:m,onQueryChange:O,placeholder:L,placement:T="bottom start",selectRenderElements:M,startSlot:G,value:k})=>{const{isDisabled:N}=r.useContext(Q.FieldGroupContext),W=r.useRef(null),w=r.useRef(null),y=r.useRef(null),[H,U]=r.useState(k??n),[Z,$]=r.useState(!1),g=()=>{var D;$(!0),(D=w.current)==null||D.click()},V=()=>$(!1),_=r.useCallback(D=>{U(D),S==null||S(D),V()},[S]),{direction:z}=C.useLocale(),{wrapper:b}=Y.sharedInputStyles({fullWidth:a,isInvalid:d,isDisabled:o||N});r.useEffect(()=>{U(k??n)},[n,k]);const P=k??H;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:j,value:P,getItemId:p}),e.jsxRuntimeExports.jsxs("div",{className:b(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:u,hideHintLabel:h,hideInputHeader:E,isRequired:v}),e.jsxRuntimeExports.jsx("div",{ref:y,children:e.jsxRuntimeExports.jsx(Ee,{disableClearLogic:t,endSlot:f,fullWidth:a,getLabel:R,getItemId:p,isDisabled:o,isInvalid:d,open:Z,openPopover:g,onChange:_,placeholder:L,searchInputRef:W,startSlot:G,value:P})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:x,hideInputFooter:q})]}),e.jsxRuntimeExports.jsx(K,{triggerRef:y,label:u,getItemId:p,getLabel:R,items:l,open:Z,setOpenPopover:$,selectRenderElements:M,disabledItemIdKeys:i,direction:z,onQueryChange:O,isLoading:c,searchInputRef:W,onLoadMore:m,placement:T,value:P,onSingleChange:_})]})},ke=({defaultValue:n,description:s,disableClearLogic:t,disabledItemIdKeys:i,endSlot:f,errorMessage:x,fullWidth:a=!0,getItemId:p,getLabel:R,hideHintLabel:h,hideInputFooter:q,hideInputHeader:E,isDisabled:o,isInvalid:d,isLoading:c,isRequired:v,items:l,label:u,labelId:j,name:S,onChange:m,onLoadMore:O,onQueryChange:L,placeholder:T,placement:M="bottom start",selectRenderElements:G,startSlot:k,value:N})=>{const{isDisabled:W}=r.useContext(Q.FieldGroupContext),w=r.useRef(null),y=r.useRef(null),[H,U]=r.useState(N??n),[Z,$]=r.useState(!1),g=()=>{$(!0)},V=r.useCallback(P=>{var D;U(P),m==null||m(P),(D=w.current)==null||D.focus()},[m]),{direction:_}=C.useLocale(),{wrapper:z}=Y.sharedInputStyles({fullWidth:a,isInvalid:d,isDisabled:o||W});r.useEffect(()=>{U(N??n)},[n,N]);const b=N??H;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:S,value:b,getItemId:p}),e.jsxRuntimeExports.jsxs("div",{className:z(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:u,isRequired:v,hideHintLabel:h,hideInputHeader:E,labelId:j}),e.jsxRuntimeExports.jsx("div",{ref:y,children:e.jsxRuntimeExports.jsx(he,{disableClearLogic:t,endSlot:f,fullWidth:a,getLabel:R,getItemId:p,isDisabled:o,isInvalid:d,onChange:V,open:Z,openPopover:g,placeholder:T,searchInputRef:w,startSlot:k,value:b})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:x,hideInputFooter:q})]}),e.jsxRuntimeExports.jsx(K,{label:u,searchInputRef:w,triggerRef:y,getItemId:p,getLabel:R,items:l,onMultiChange:V,value:b,placement:M,open:Z,setOpenPopover:$,selectRenderElements:G,disabledItemIdKeys:i,direction:_,onQueryChange:L,isLoading:c,onLoadMore:O})]})},we=({children:n,defaultValue:s,disabledItemIdKeys:t,getItemId:i,getLabel:f,isDisabled:x,isInvalid:a,isLoading:p,items:R,label:h,name:q,onChange:E,onQueryChange:o,placement:d="bottom start",selectRenderElements:c,value:v})=>{const{isDisabled:l}=r.useContext(Q.FieldGroupContext),u=r.useRef(null),j=r.useRef(null),S=r.useRef(null),[m,O]=r.useState(v??s),[L,T]=r.useState(!1),M=()=>{var y;T(!0),(y=j.current)==null||y.click()},G=()=>T(!1),k=r.useCallback(y=>{O(y),E==null||E(y),G()},[E]),{direction:N}=C.useLocale(),{wrapper:W}=Y.sharedInputStyles({fullWidth:!1,isInvalid:a,isDisabled:x});r.useEffect(()=>{O(v??s)},[s,v]);const w=v??m;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>M(),isDisabled:x||l}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:q,value:w,getItemId:i}),e.jsxRuntimeExports.jsx("div",{className:W(),children:e.jsxRuntimeExports.jsx("div",{ref:S,children:n})}),e.jsxRuntimeExports.jsx(K,{triggerRef:S,label:h,getItemId:i,getLabel:f,items:R,open:L,setOpenPopover:T,selectRenderElements:c,disabledItemIdKeys:t,direction:N,onQueryChange:o,isLoading:p,searchInputRef:u,placement:d,value:w,onSingleChange:k})]})})},Fe=({children:n,defaultValue:s,disabledItemIdKeys:t,fullWidth:i=!0,getItemId:f,getLabel:x,isDisabled:a,isInvalid:p,isLoading:R,items:h,label:q,name:E,onChange:o,onQueryChange:d,placement:c="bottom start",selectRenderElements:v,value:l})=>{const{isDisabled:u}=r.useContext(Q.FieldGroupContext),j=r.useRef(null),S=r.useRef(null),m=r.useRef(null),[O,L]=r.useState(l??s),[T,M]=r.useState(!1),G=()=>{var y;M(!0),(y=S.current)==null||y.click()},k=r.useCallback(y=>{var H;L(y),o==null||o(y),(H=j.current)==null||H.focus()},[o]),{direction:N}=C.useLocale(),{wrapper:W}=Y.sharedInputStyles({fullWidth:i,isInvalid:p,isDisabled:a});r.useEffect(()=>{L(l??s)},[s,l]);const w=l??O;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>G(),isDisabled:a||u}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:E,value:w,getItemId:f}),e.jsxRuntimeExports.jsx("div",{className:W(),children:e.jsxRuntimeExports.jsx("div",{ref:m,children:n})}),e.jsxRuntimeExports.jsx(K,{label:q,searchInputRef:j,triggerRef:m,getItemId:f,getLabel:x,items:h,open:T,setOpenPopover:M,selectRenderElements:v,disabledItemIdKeys:t,direction:N,onQueryChange:d,isLoading:R,value:w,onMultiChange:k,placement:c})]})})};exports.MultiSearchListField=ke;exports.MultiSearchListFieldWithCustomTrigger=Fe;exports.SearchListField=be;exports.SearchListFieldWithCustomTrigger=we;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra88.cjs"),r=require("react"),A=require("./lyra87.cjs"),ee=require("react-dom"),ce=require("./lyra620.cjs"),le=require("./lyra448.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const Q=require("./lyra63.cjs");require("./lyra8.cjs");require("./lyra9.cjs");require("./lyra10.cjs");require("./lyra11.cjs");require("./lyra12.cjs");require("./lyra13.cjs");require("./lyra14.cjs");require("./lyra15.cjs");require("./lyra16.cjs");require("./lyra17.cjs");require("./lyra18.cjs");require("./lyra19.cjs");require("./lyra20.cjs");require("./lyra21.cjs");require("./lyra22.cjs");require("./lyra23.cjs");require("./lyra24.cjs");require("./lyra25.cjs");const g=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");const oe=require("./lyra93.cjs");require("./lyra78.cjs");require("./lyra453.cjs");const ue=require("./lyra38.cjs"),ie=require("./lyra39.cjs"),Y=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const xe=require("./lyra594.cjs"),ae=require("./lyra454.cjs"),pe=require("./lyra455.cjs"),je=require("./lyra52.cjs");require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");const se=require("./lyra71.cjs");require("./lyra72.cjs");const ne=require("./lyra456.cjs");require("./lyra457.cjs");const fe=require("./lyra83.cjs"),de=require("./lyra82.cjs");require("./lyra41.cjs");require("./lyra42.cjs");require("./lyra43.cjs");require("./lyra45.cjs");require("./lyra46.cjs");require("./lyra47.cjs");require("./lyra48.cjs");require("./lyra49.cjs");require("./lyra50.cjs");require("./lyra51.cjs");const me=require("./lyra56.cjs");require("./lyra57.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");const Re=require("./lyra61.cjs");require("./lyra62.cjs");require("./lyra65.cjs");require("./lyra66.cjs");require("./lyra68.cjs");require("./lyra69.cjs");require("./lyra70.cjs");require("./lyra74.cjs");require("./lyra75.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra79.cjs");require("./lyra96.cjs");const qe=require("./lyra85.cjs"),C=require("./lyra86.cjs"),Ee=({disableClearLogic:n,endSlot:s,fullWidth:t,getLabel:i,isDisabled:f,isInvalid:c,onChange:a,open:j,openPopover:R,placeholder:h,searchInputRef:q,startSlot:E,value:o})=>{const{buttonExcludedFromTabOrder:d,inputField:l}=Y.sharedInputStyles({isInvalid:c,hasEndSlot:!0,fullWidth:t,isDisabled:f}),y=x=>{(x.key==="Escape"||x.key==="Backspace")&&!n?(x.stopPropagation(),a==null||a(void 0)):x.key==="ArrowDown"||x.key==="ArrowUp"?R==null||R():x.key&&x.key.match(/^[a-zA-Z0-9]$/)&&(ee.flushSync(()=>{R==null||R()}),q.current&&(q.current.focus(),q.current.setSelectionRange(0,q.current.value.length)))};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[E,e.jsxRuntimeExports.jsxs(A.Button,{"aria-haspopup":"listbox","aria-expanded":j,className:({isFocused:x,isHovered:u})=>l({isHovered:u,isFocused:x,className:"grow"}),isDisabled:f,onKeyDown:y,onPress:R,children:[e.jsxRuntimeExports.jsx("div",{className:"grow truncate text-start",children:o&&i(o)?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:i(o)}):e.jsxRuntimeExports.jsx(se.Text,{variant:"body-medium",color:"secondary",children:h})}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[o&&!f&&!n?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:d(),role:"button",onPointerDown:x=>{x.stopPropagation(),a==null||a(void 0)},onClick:x=>{x.stopPropagation(),a==null||a(void 0)},children:e.jsxRuntimeExports.jsx(Q.SvgIcon,{name:"clear"})})}):null,e.jsxRuntimeExports.jsx(Q.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4"})]})]}),s]})},he=({fullWidth:n,getItemId:s,getLabel:t,isDisabled:i,isInvalid:f,label:c,onChange:a,openPopover:j,placeholder:R,searchInputRef:h,value:q})=>{const{inputField:E}=Y.sharedInputStyles({isInvalid:f,hasEndSlot:!0,fullWidth:n,isDisabled:i}),o=r.useCallback(l=>{l.key==="ArrowDown"||l.key==="ArrowUp"?j():l.key&&l.key.match(/^[a-zA-Z0-9]$/)&&(ee.flushSync(()=>{j()}),h.current&&(h.current.focus(),h.current.setSelectionRange(0,h.current.value.length)))},[j,h]),d=r.useCallback(l=>{q&&a(q.filter(y=>{const x=s(y);return!l.has(x)}))},[s,a,q]);return e.jsxRuntimeExports.jsx(A.Group,{className:({isFocusWithin:l,isHovered:y})=>E({isHovered:y,isFocused:l,className:le.clsx(y&&!f&&!i&&!l?"border-hover":"","has:[data-focused]:border has:[data-focused]:border-focus")}),children:e.jsxRuntimeExports.jsxs(A.Button,{onPress:j,onKeyDown:o,isDisabled:i,className:"flex w-full outline-none",children:[e.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:q&&q.length?e.jsxRuntimeExports.jsx(ne.InputTagGroup,{label:c??"Selected items",className:"-m-1.5 -mt-[0.3125rem] items-center",onRemove:i?void 0:d,children:q.map(l=>e.jsxRuntimeExports.jsx(ne.InputTag,{id:s(l),isDisabled:i,children:t(l)},s(l)))}):e.jsxRuntimeExports.jsx(se.Text,{color:"secondary",children:R})}),e.jsxRuntimeExports.jsx(Q.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-[16px]"})]})})},Se=({endSlot:n,isLoading:s,onKeyDown:t,onQueryChange:i,query:f,searchInputRef:c,setQuery:a})=>{const j=r.useId(),{clear:R,search:h}=oe.useDictionary(),q=qe.useSpinDelay(s??!1,{delay:500,minDuration:200}),{buttonExcludedFromTabOrder:E}=Y.sharedInputStyles({fullWidth:!0});return r.useEffect(()=>{var o;(o=c.current)==null||o.focus()},[]),e.jsxRuntimeExports.jsx("div",{className:"pb-1",children:e.jsxRuntimeExports.jsxs("div",{className:"flex h-6 w-full items-center gap-2 rounded-xs border border-solid border-default bg-overlay-subtle py-1 pe-1 ps-1.5",children:[e.jsxRuntimeExports.jsx(A.Input,{ref:c,id:j,className:"w-full bg-transparent text-base outline-none placeholder:text-tertiary",onChange:o=>{var d,l;a(((d=o.target)==null?void 0:d.value)??""),i==null||i((l=o.target)==null?void 0:l.value)},placeholder:h,value:f??"",onKeyDown:o=>{o.code==="Tab"&&o.preventDefault(),t==null||t(o)}}),f&&f.length?e.jsxRuntimeExports.jsx(A.Button,{"aria-label":R,className:E(),excludeFromTabOrder:!0,onPress:()=>{var o;a(""),(o=c.current)==null||o.focus()},children:e.jsxRuntimeExports.jsx(Q.SvgIcon,{name:"clear"})}):null,n,q?e.jsxRuntimeExports.jsx(Re.Spinner,{className:"mx-2",size:"small"}):null]})})},ye=n=>{const s=r.useRef(null),[t,i]=r.useState(!1);return r.useEffect(()=>i(!1),[n]),{loadMoreButtonRef:s,isLoadMoreButtonFocused:t,setIsLoadMoreButtonFocused:i}},ve=({disabledItemIdKeys:n,filteredItems:s,getItemId:t,onMultiChange:i,onSingleChange:f,value:c})=>{const a=r.useMemo(()=>{if(Array.isArray(c))return c.length?s==null?void 0:s.findIndex(u=>t(u)===t(c[0])):0;if(c)return(s==null?void 0:s.findIndex(u=>t(u)===t(c)))??0},[s,t,c]),j=r.useCallback(u=>{if(Number.isInteger(u)){for(let p=u-1;p>=0;p--)if(!(n!=null&&n.includes(t(s[p]))))return Math.max(p,0)}return-1},[n,s,t]),R=r.useCallback(u=>{if(Number.isInteger(u)){for(let p=u+1;p<s.length;p++)if(!(n!=null&&n.includes(t(s[p]))))return Math.min(s.length-1,p)}return-1},[n,s,t]),h=r.useCallback(u=>{if(i){const p=c?[...c]:[],S=p.map(t),m=S!=null&&S.includes(t(u))?p.filter(O=>t(O)!==t(u)):[...p,u];i==null||i(m)}else f&&(f==null||f(u))},[t,i,f,c]),q=r.useCallback(u=>Array.isArray(c)?c.some(p=>t(p)===t(u)):c?t(c)===t(u):!1,[t,c]),[E,o]=r.useState(a??0),d=de.useMousePosition(),l=r.useRef(void 0),y=r.useCallback(u=>{const p=E;if(u.key==="ArrowDown"){u.preventDefault();const S=R(p);S>=0&&(o(S),l.current=d)}else if(u.key==="ArrowUp"){u.preventDefault();const S=j(p);S>=0&&(o(S),l.current=d)}else u.key==="Enter"&&h(s[E])},[E,s,R,j,d,h]),x=r.useCallback((u,p)=>{u&&l.current!==d&&(o(p),l.current=d)},[d]);return{activeItem:E,setActiveItem:o,getItemIsSelected:q,onKeyDown:y,onHoverChange:x,selectedItemIndex:a,toggleSelection:h}},Ne=({selectedItemIndex:n,setActiveItem:s})=>(r.useEffect(()=>{if(n!==void 0&&n>=0)return s(n),()=>{s(0)}},[n,s]),null),K=({direction:n,disabledItemIdKeys:s,getItemId:t,getLabel:i,isLoading:f,items:c,label:a,onLoadMore:j,onMultiChange:R,onQueryChange:h,onSingleChange:q,open:E,placement:o,searchInputRef:d,selectRenderElements:l,setOpenPopover:y,triggerRef:x,value:u})=>{var D,re,te;const{loadMore:p,noResultsFound:S}=oe.useDictionary(),{filteredItems:m,query:O,setQuery:L}=fe.useFilterItemsByQuery({getLabel:i,items:c,onQueryChange:h}),{item:T}=ae.sharedListItemStyles(),{isLoadMoreButtonFocused:M,loadMoreButtonRef:G,setIsLoadMoreButtonFocused:k}=ye(E),{activeItem:N,getItemIsSelected:W,onHoverChange:w,onKeyDown:v,selectedItemIndex:H,setActiveItem:U,toggleSelection:Z}=ve({disabledItemIdKeys:s,filteredItems:m,getItemId:t,loadMoreButtonRef:G,onMultiChange:R,onSingleChange:q,value:u}),[$,J]=r.useState((D=x.current)==null?void 0:D.offsetWidth);xe.default("resize",()=>{var F;J((F=x.current)==null?void 0:F.offsetWidth)});const V=$??((re=x.current)==null?void 0:re.offsetWidth),_=r.useRef(null),z=j?((m==null?void 0:m.length)??0)+1:(m==null?void 0:m.length)??0,b=ce.useVirtualizer({count:z,estimateSize:()=>40,getScrollElement:()=>_.current,overscan:6});r.useEffect(()=>{N!==void 0&&N>=0&&(m!=null&&m.length)&&(N===m.length-1&&j?b.scrollToIndex(z):b.scrollToIndex(Math.min(N,z-1)))},[N,z,m.length,j,b]);const P=b.getVirtualItems();return e.jsxRuntimeExports.jsx(je.Popover,{className:"p-1",isOpen:E,disablePadding:!0,triggerRef:x,onOpenChange:y,"aria-label":a,shouldUpdatePosition:!0,placement:o,style:{width:V&&V>280?V+"px":"280px",direction:n},children:E?e.jsxRuntimeExports.jsxs("div",{className:"gap-1",children:[e.jsxRuntimeExports.jsx(Se,{onQueryChange:h,isLoading:f,query:O,setQuery:F=>{ee.flushSync(()=>{L(F),U(0)}),b.scrollToOffset(0)},searchInputRef:d,onKeyDown:v}),e.jsxRuntimeExports.jsx(Ne,{selectedItemIndex:H,setActiveItem:U}),e.jsxRuntimeExports.jsx("div",{ref:_,className:"w-full overflow-y-auto",style:{contain:"strict",height:Math.min(288,b.getTotalSize()+(j?4:0))},children:e.jsxRuntimeExports.jsx("div",{className:"relative w-full",style:{height:b.getTotalSize()},children:e.jsxRuntimeExports.jsx("div",{className:"absolute start-0 top-0 w-full",style:{transform:`translateY(${((te=P==null?void 0:P[0])==null?void 0:te.start)??0}px)`},children:P.map(F=>{if(F.index===z-1&&j)return e.jsxRuntimeExports.jsx("div",{"data-index":F.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(me.Separator,{className:"my-1"}),e.jsxRuntimeExports.jsx(A.Button,{isDisabled:f,onFocusChange:k,onHoverChange:k,ref:G,className:T({className:"w-full justify-start bg-transparent ps-6 text-base font-normal text-primary duration-0 active:text-inverted hover:bg-action-hover hover:text-inverted focus:bg-action-focus focus:text-inverted focus-visible:[box-shadow:none]"}),onPress:()=>{var B;j(),(B=d.current)==null||B.focus()},onKeyDown:B=>{var X;B.key==="ArrowUp"&&(B.preventDefault(),(X=d.current)==null||X.focus())},children:p})]})},F.key);{const B=m[F.index];return e.jsxRuntimeExports.jsx("div",{"data-index":F.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsx(A.Button,{className:"w-full text-start outline-none",onHoverChange:X=>{w(X,F.index)},onPress:()=>Z(B),isDisabled:(s==null?void 0:s.includes(t(B)))??!1,excludeFromTabOrder:!0,children:e.jsxRuntimeExports.jsx(pe.SharedListItem,{hasSelection:!0,item:B,state:{active:N===F.index&&!M,disabled:(s==null?void 0:s.includes(t(B)))??!1,selected:W(B)},selectRenderElements:l},t(B))},t(B))},F.key)}})})})}),z?null:e.jsxRuntimeExports.jsx(se.Text,{variant:"body-medium",color:"secondary",className:"px-2.5",children:S})]}):null})},I=({getItemId:n,name:s,value:t})=>s?Array.isArray(t)?t.map(i=>e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:n(i)},n(i))):t?e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:n(t)}):null:null,be=({defaultValue:n,description:s,disableClearLogic:t,disabledItemIdKeys:i,endSlot:f,errorMessage:c,fullWidth:a=!0,getItemId:j,getLabel:R,hideHintLabel:h,hideInputFooter:q,hideInputHeader:E,isDisabled:o,isInvalid:d,isLoading:l,isRequired:y,items:x,label:u,name:p,onChange:S,onLoadMore:m,onQueryChange:O,placeholder:L,placement:T="bottom start",selectRenderElements:M,startSlot:G,value:k})=>{const{isDisabled:N}=r.useContext(g.FieldGroupContext),W=r.useRef(null),w=r.useRef(null),v=r.useRef(null),[H,U]=r.useState(k??n),[Z,$]=r.useState(!1),J=()=>{var D;$(!0),(D=w.current)==null||D.click()},V=()=>$(!1),_=r.useCallback(D=>{U(D),S==null||S(D),V()},[S]),{direction:z}=C.useLocale(),{wrapper:b}=Y.sharedInputStyles({fullWidth:a,isInvalid:d,isDisabled:o||N});r.useEffect(()=>{U(k??n)},[n,k]);const P=k??H;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:p,value:P,getItemId:j}),e.jsxRuntimeExports.jsxs("div",{className:b(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:u,hideHintLabel:h,hideInputHeader:E,isRequired:y}),e.jsxRuntimeExports.jsx("div",{ref:v,children:e.jsxRuntimeExports.jsx(Ee,{disableClearLogic:t,endSlot:f,fullWidth:a,getLabel:R,getItemId:j,isDisabled:o,isInvalid:d,open:Z,openPopover:J,onChange:_,placeholder:L,searchInputRef:W,startSlot:G,value:P})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:c,hideInputFooter:q})]}),e.jsxRuntimeExports.jsx(K,{triggerRef:v,label:u,getItemId:j,getLabel:R,items:x,open:Z,setOpenPopover:$,selectRenderElements:M,disabledItemIdKeys:i,direction:z,onQueryChange:O,isLoading:l,searchInputRef:W,onLoadMore:m,placement:T,value:P,onSingleChange:_})]})},ke=({defaultValue:n,description:s,disableClearLogic:t,disabledItemIdKeys:i,endSlot:f,errorMessage:c,fullWidth:a=!0,getItemId:j,getLabel:R,hideHintLabel:h,hideInputFooter:q,hideInputHeader:E,isDisabled:o,isInvalid:d,isLoading:l,isRequired:y,items:x,label:u,labelId:p,name:S,onChange:m,onLoadMore:O,onQueryChange:L,placeholder:T,placement:M="bottom start",selectRenderElements:G,startSlot:k,value:N})=>{const{isDisabled:W}=r.useContext(g.FieldGroupContext),w=r.useRef(null),v=r.useRef(null),[H,U]=r.useState(N??n),[Z,$]=r.useState(!1),J=()=>{$(!0)},V=r.useCallback(P=>{var D;U(P),m==null||m(P),(D=w.current)==null||D.focus()},[m]),{direction:_}=C.useLocale(),{wrapper:z}=Y.sharedInputStyles({fullWidth:a,isInvalid:d,isDisabled:o||W});r.useEffect(()=>{U(N??n)},[n,N]);const b=N??H;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:S,value:b,getItemId:j}),e.jsxRuntimeExports.jsxs("div",{className:z(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:u,isRequired:y,hideHintLabel:h,hideInputHeader:E,labelId:p}),e.jsxRuntimeExports.jsx("div",{ref:v,children:e.jsxRuntimeExports.jsx(he,{disableClearLogic:t,endSlot:f,fullWidth:a,getLabel:R,getItemId:j,isDisabled:o,isInvalid:d,onChange:V,open:Z,openPopover:J,placeholder:T,searchInputRef:w,startSlot:k,value:b})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:c,hideInputFooter:q})]}),e.jsxRuntimeExports.jsx(K,{label:u,searchInputRef:w,triggerRef:v,getItemId:j,getLabel:R,items:x,onMultiChange:V,value:b,placement:M,open:Z,setOpenPopover:$,selectRenderElements:G,disabledItemIdKeys:i,direction:_,onQueryChange:L,isLoading:l,onLoadMore:O})]})},we=({children:n,defaultValue:s,disabledItemIdKeys:t,getItemId:i,getLabel:f,isDisabled:c,isInvalid:a,isLoading:j,items:R,label:h,name:q,onChange:E,onQueryChange:o,placement:d="bottom start",selectRenderElements:l,value:y})=>{const{isDisabled:x}=r.useContext(g.FieldGroupContext),u=r.useRef(null),p=r.useRef(null),S=r.useRef(null),[m,O]=r.useState(y??s),[L,T]=r.useState(!1),M=()=>{var v;T(!0),(v=p.current)==null||v.click()},G=()=>T(!1),k=r.useCallback(v=>{O(v),E==null||E(v),G()},[E]),{direction:N}=C.useLocale(),{wrapper:W}=Y.sharedInputStyles({fullWidth:!1,isInvalid:a,isDisabled:c});r.useEffect(()=>{O(y??s)},[s,y]);const w=y??m;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>M(),isDisabled:c||x}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:q,value:w,getItemId:i}),e.jsxRuntimeExports.jsx("div",{className:W(),children:e.jsxRuntimeExports.jsx("div",{ref:S,children:n})}),e.jsxRuntimeExports.jsx(K,{triggerRef:S,label:h,getItemId:i,getLabel:f,items:R,open:L,setOpenPopover:T,selectRenderElements:l,disabledItemIdKeys:t,direction:N,onQueryChange:o,isLoading:j,searchInputRef:u,placement:d,value:w,onSingleChange:k})]})})},Fe=({children:n,defaultValue:s,disabledItemIdKeys:t,fullWidth:i=!0,getItemId:f,getLabel:c,isDisabled:a,isInvalid:j,isLoading:R,items:h,label:q,name:E,onChange:o,onQueryChange:d,placement:l="bottom start",selectRenderElements:y,value:x})=>{const{isDisabled:u}=r.useContext(g.FieldGroupContext),p=r.useRef(null),S=r.useRef(null),m=r.useRef(null),[O,L]=r.useState(x??s),[T,M]=r.useState(!1),G=()=>{var v;M(!0),(v=S.current)==null||v.click()},k=r.useCallback(v=>{var H;L(v),o==null||o(v),(H=p.current)==null||H.focus()},[o]),{direction:N}=C.useLocale(),{wrapper:W}=Y.sharedInputStyles({fullWidth:i,isInvalid:j,isDisabled:a});r.useEffect(()=>{L(x??s)},[s,x]);const w=x??O;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>G(),isDisabled:a||u}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(I,{name:E,value:w,getItemId:f}),e.jsxRuntimeExports.jsx("div",{className:W(),children:e.jsxRuntimeExports.jsx("div",{ref:m,children:n})}),e.jsxRuntimeExports.jsx(K,{label:q,searchInputRef:p,triggerRef:m,getItemId:f,getLabel:c,items:h,open:T,setOpenPopover:M,selectRenderElements:y,disabledItemIdKeys:t,direction:N,onQueryChange:d,isLoading:R,value:w,onMultiChange:k,placement:l})]})})};exports.MultiSearchListField=ke;exports.MultiSearchListFieldWithCustomTrigger=Fe;exports.SearchListField=be;exports.SearchListFieldWithCustomTrigger=we;
@@ -1 +1 @@
1
- {"version":3,"file":"lyra37.cjs","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Button as AriaButton,\n ButtonContext,\n Group,\n Input,\n Key,\n Provider,\n} from \"react-aria-components\";\nimport { flushSync } from \"react-dom\";\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport clsx from \"clsx\";\n\nimport { Separator, Spinner, useLocale, useSpinDelay } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useFilterItemsByQuery } from \"../../../utils/hooks/use-filter-items-by-query\";\nimport { useMousePosition } from \"../../../utils/hooks/use-mouse-position\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { sharedListItemStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport {\n MultiSearchListFieldProps,\n MultiSearchListFieldWithCustomTriggerProps,\n SearchInputProps,\n SearchListFieldItemsProps,\n SearchListFieldProps,\n SearchListFieldWithCustomTriggerProps,\n ValueButton,\n} from \"./seach-list-field.types\";\n\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n endSlot,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n open,\n openPopover,\n placeholder,\n searchInputRef,\n startSlot,\n value,\n}: ValueButton<T>) => {\n const { buttonExcludedFromTabOrder, inputField } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n e.stopPropagation();\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover?.();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover?.();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n };\n\n return (\n <div className=\"flex items-center gap-2\">\n {startSlot}\n <AriaButton\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n className={({ isFocused, isHovered }) =>\n inputField({\n isHovered,\n isFocused,\n className: \"grow\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={openPopover}\n >\n <div className=\"grow truncate text-start\">\n {value && getLabel(value) ? (\n <>{getLabel(value)}</>\n ) : (\n <Text variant=\"body-medium\" color=\"secondary\">\n {placeholder}\n </Text>\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !isDisabled && !disableClearLogic ? (\n <>\n <div\n className={buttonExcludedFromTabOrder()}\n role=\"button\"\n onPointerDown={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4\" />\n </div>\n </AriaButton>\n {endSlot}\n </div>\n );\n};\n\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n openPopover,\n placeholder,\n searchInputRef,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n },\n [openPopover, searchInputRef],\n );\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n return (\n <Group\n className={({ isFocusWithin: isFocused, isHovered }) =>\n inputFieldStyles({\n isHovered,\n isFocused,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"has:[data-focused]:border has:[data-focused]:border-focus\",\n ),\n })\n }\n >\n <AriaButton\n onPress={openPopover}\n onKeyDown={onKeyDown}\n isDisabled={isDisabled}\n className=\"flex w-full outline-none\"\n >\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem] items-center\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-[16px]\" />\n </AriaButton>\n </Group>\n );\n};\n\nconst SearchInput = ({\n endSlot,\n isLoading,\n onKeyDown,\n onQueryChange,\n query,\n searchInputRef,\n setQuery,\n}: SearchInputProps & { onKeyDown: KeyboardEventHandler<HTMLInputElement> | undefined }) => {\n const id = useId();\n const { clear, search } = useDictionary();\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n const { buttonExcludedFromTabOrder } = sharedInputStyles({ fullWidth: true });\n\n useEffect(() => {\n searchInputRef.current?.focus();\n // only run on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n <div className=\"pb-1\">\n <div className=\"flex h-6 w-full items-center gap-2 rounded-xs border border-solid border-default bg-overlay-subtle py-1 pe-1 ps-1.5\">\n <Input\n ref={searchInputRef}\n id={id}\n className=\"w-full bg-transparent text-base outline-none placeholder:text-tertiary\"\n onChange={(e) => {\n setQuery(e.target?.value ?? \"\");\n onQueryChange?.(e.target?.value as any);\n }}\n placeholder={search}\n value={query ?? \"\"}\n onKeyDown={(event) => {\n // Prevent selection of an item on Tab key down event\n if (event.code === \"Tab\") {\n event.preventDefault();\n }\n\n onKeyDown?.(event);\n }}\n />\n {query && query.length ? (\n <AriaButton\n aria-label={clear}\n className={buttonExcludedFromTabOrder()}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n searchInputRef.current?.focus();\n }}\n >\n <SvgIcon name=\"clear\" />\n </AriaButton>\n ) : null}\n {endSlot}\n {showSpinner ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\nconst useLoadMoreHook = (open: boolean) => {\n const loadMoreButtonRef = useRef<HTMLButtonElement | null>(null);\n const [isLoadMoreButtonFocused, setIsLoadMoreButtonFocused] = useState(false);\n\n // Reset focused state as the popover opens / closes\n useEffect(() => setIsLoadMoreButtonFocused(false), [open]);\n return { loadMoreButtonRef, isLoadMoreButtonFocused, setIsLoadMoreButtonFocused };\n};\n\ntype UseItemSelectionProps<T> = {\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n onSingleChange?: (value?: T) => void;\n onMultiChange?: (value?: T[]) => void;\n getItemId: (item: T) => Key;\n value?: T | T[];\n loadMoreButtonRef: RefObject<HTMLButtonElement>;\n};\n\nconst useItemSelection = <T extends object>({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value)) ?? 0;\n }\n }, [filteredItems, getItemId, value]);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.includes(item);\n } else {\n return value === item;\n }\n },\n [value],\n );\n\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation when the searchinput is focused.\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Enter\") {\n toggleSelection(filteredItems[activeItem]);\n }\n },\n [\n activeItem,\n filteredItems,\n getNextItemIndex,\n getPreviousItemIndex,\n mousePosition,\n toggleSelection,\n ],\n );\n\n // Handles onHoverChange event for the search list field items\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n return {\n activeItem,\n setActiveItem,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\n// Component that only gets rendered when popover is open.\n// This way we can set the active item when the popover opens and make sure the selected item will become active.\n// When closing the popover, the active item will be reset to 0.\nconst SelectedItem = ({\n selectedItemIndex,\n setActiveItem,\n}: {\n selectedItemIndex?: number;\n setActiveItem: (value: number) => void;\n}) => {\n useEffect(() => {\n if (selectedItemIndex !== undefined && selectedItemIndex >= 0) {\n setActiveItem(selectedItemIndex);\n\n return () => {\n setActiveItem(0);\n };\n }\n }, [selectedItemIndex, setActiveItem]);\n return null;\n};\n\nconst SearchListFieldItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isLoading,\n items,\n label,\n onLoadMore,\n onMultiChange,\n onQueryChange,\n onSingleChange,\n open,\n placement,\n searchInputRef,\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SearchListFieldItemsProps<T>) => {\n const { loadMore, noResultsFound } = useDictionary();\n const { filteredItems, query, setQuery } = useFilterItemsByQuery<T>({\n getLabel,\n items,\n onQueryChange,\n });\n const { item: itemStyles } = sharedListItemStyles();\n const { isLoadMoreButtonFocused, loadMoreButtonRef, setIsLoadMoreButtonFocused } =\n useLoadMoreHook(open);\n\n const {\n activeItem,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n selectedItemIndex,\n setActiveItem,\n toggleSelection,\n } = useItemSelection({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n loadMoreButtonRef,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n const parentRef = useRef<HTMLDivElement>(null);\n\n const count = onLoadMore ? (filteredItems?.length ?? 0) + 1 : filteredItems?.length ?? 0;\n\n const virtualizer = useVirtualizer({\n count,\n estimateSize: () => 40,\n getScrollElement: () => parentRef.current,\n overscan: 6,\n });\n\n // Make sure we scroll to the activeItem if it changes.\n useEffect(() => {\n if (activeItem !== undefined && activeItem >= 0 && filteredItems?.length) {\n // if it's the last filtered item and a load more button is present, scroll to the load more button into view as well.\n if (activeItem === filteredItems.length - 1 && onLoadMore) {\n virtualizer.scrollToIndex(count);\n } else {\n virtualizer.scrollToIndex(Math.min(activeItem, count - 1));\n }\n }\n }, [activeItem, count, filteredItems.length, onLoadMore, virtualizer]);\n\n const virtualItems = virtualizer.getVirtualItems();\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n disablePadding\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n aria-label={label}\n shouldUpdatePosition\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <div className=\"gap-1\">\n <SearchInput\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n query={query}\n setQuery={(value) => {\n // Reset active item when query changes and set the query.\n // Using flushSync to make sure scroll to offset is called after the active item is set.\n flushSync(() => {\n setQuery(value);\n setActiveItem(0);\n });\n\n virtualizer.scrollToOffset(0);\n }}\n searchInputRef={searchInputRef}\n onKeyDown={onKeyDown}\n />\n <SelectedItem selectedItemIndex={selectedItemIndex} setActiveItem={setActiveItem} />\n <div\n ref={parentRef}\n className=\"w-full overflow-y-auto\"\n style={{\n contain: \"strict\",\n height: Math.min(288, virtualizer.getTotalSize() + (onLoadMore ? 4 : 0)),\n }}\n >\n <div\n className=\"relative w-full\"\n style={{\n height: virtualizer.getTotalSize(),\n }}\n >\n <div\n className=\"absolute start-0 top-0 w-full\"\n style={{\n transform: `translateY(${virtualItems?.[0]?.start ?? 0}px)`,\n }}\n >\n {virtualItems.map((virtualItem) => {\n const itemIsLastOfIndex = virtualItem.index === count - 1;\n\n if (itemIsLastOfIndex && onLoadMore) {\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <div>\n <Separator className=\"my-1\" />\n <AriaButton\n isDisabled={isLoading}\n onFocusChange={setIsLoadMoreButtonFocused}\n onHoverChange={setIsLoadMoreButtonFocused}\n ref={loadMoreButtonRef}\n className={itemStyles({\n className:\n \"w-full justify-start bg-transparent ps-6 text-base font-normal text-primary duration-0 active:text-inverted hover:bg-action-hover hover:text-inverted focus:bg-action-focus focus:text-inverted focus-visible:[box-shadow:none]\",\n })}\n onPress={() => {\n onLoadMore();\n\n // Focus input after loading more items\n searchInputRef.current?.focus();\n }}\n onKeyDown={(e) => {\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n searchInputRef.current?.focus();\n }\n }}\n >\n {loadMore}\n </AriaButton>\n </div>\n </div>\n );\n } else {\n const item = filteredItems[virtualItem.index];\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <AriaButton\n key={getItemId(item)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, virtualItem.index);\n }}\n onPress={() => toggleSelection(item)}\n isDisabled={\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false\n }\n excludeFromTabOrder\n >\n <SharedListItem\n key={getItemId(item)}\n hasSelection\n item={item}\n state={{\n active: activeItem === virtualItem.index && !isLoadMoreButtonFocused,\n disabled:\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n />\n </AriaButton>\n </div>\n );\n }\n })}\n </div>\n </div>\n </div>\n {count ? null : (\n <Text variant=\"body-medium\" color=\"secondary\" className=\"px-2.5\">\n {noResultsFound}\n </Text>\n )}\n </div>\n ) : null}\n </Popover>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\nexport const SearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: SearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n open={isOpen}\n openPopover={openPopover}\n onChange={onSingleChange}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue as T | undefined}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n onLoadMore={onLoadMore}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n );\n};\n\nexport const MultiSearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n labelId,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: MultiSearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n labelId={labelId}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n onChange={onMultiChange}\n open={isOpen}\n openPopover={openPopover}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n onMultiChange={onMultiChange}\n value={selectedValue}\n placement={placement}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n />\n </div>\n );\n};\n\nexport const SearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: SearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth: false,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n onPress: () => openPopover(),\n isDisabled: isDisabled || fieldGroupIsDisabled,\n },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n </Provider>\n );\n};\n\nexport const MultiSearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n fullWidth = true,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: MultiSearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n { onPress: () => openPopover(), isDisabled: isDisabled || fieldGroupIsDisabled },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n value={selectedValue}\n onMultiChange={onMultiChange}\n placement={placement}\n />\n </div>\n </Provider>\n );\n};\n"],"names":["SingleValueButton","disableClearLogic","endSlot","fullWidth","getLabel","isDisabled","isInvalid","onChange","open","openPopover","placeholder","searchInputRef","startSlot","value","buttonExcludedFromTabOrder","inputField","sharedInputStyles","onKeyDown","e","flushSync","jsxs","AriaButton","isFocused","isHovered","jsx","Fragment","Text","SvgIcon","MultipleValuesButton","getItemId","label","inputFieldStyles","useCallback","onRemove","keys","item","itemId","Group","clsx","InputTagGroup","InputTag","SearchInput","isLoading","onQueryChange","query","setQuery","id","useId","clear","search","useDictionary","showSpinner","useSpinDelay","useEffect","_a","Input","_b","event","Spinner","useLoadMoreHook","loadMoreButtonRef","useRef","isLoadMoreButtonFocused","setIsLoadMoreButtonFocused","useState","useItemSelection","disabledItemIdKeys","filteredItems","onMultiChange","onSingleChange","selectedItemIndex","useMemo","getPreviousItemIndex","activeIndex","i","getNextItemIndex","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","activeItem","setActiveItem","mousePosition","useMousePosition","previousMousePosition","currentActiveIndex","safeNextIndex","safePreviousIndex","onHoverChange","isHovering","index","SelectedItem","SearchListFieldItems","direction","items","onLoadMore","placement","selectRenderElements","setOpenPopover","triggerRef","loadMore","noResultsFound","useFilterItemsByQuery","itemStyles","sharedListItemStyles","triggerRefWidth","setTriggerRefWidth","useEventListener","triggerWidth","parentRef","count","virtualizer","useVirtualizer","virtualItems","Popover","_c","virtualItem","Separator","SharedListItem","UncontrolledInputs","name","SearchListField","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","comboBoxButtonRef","internalValue","setInternalValue","isOpen","setIsOpen","closePopover","useLocale","wrapper","selectedValue","InputHeader","InputFooter","MultiSearchListField","labelId","SearchListFieldWithCustomTrigger","children","Provider","ButtonContext","MultiSearchListFieldWithCustomTrigger"],"mappings":"wyEAiDMA,GAAoB,CAAmB,CAC3C,kBAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,WAAAC,EACA,UAAAC,EACA,SAAAC,EACA,KAAAC,EACA,YAAAC,EACA,YAAAC,EACA,eAAAC,EACA,UAAAC,EACA,MAAAC,CACF,IAAsB,CACpB,KAAM,CAAE,2BAAAC,EAA4B,WAAAC,CAAW,EAAIC,oBAAkB,CACnE,UAAAV,EACA,WAAY,GACZ,UAAAH,EACA,WAAAE,CAAA,CACD,EAOKY,EAAaC,GAA8C,EAC1DA,EAAE,MAAQ,UAAYA,EAAE,MAAQ,cAAgB,CAACjB,GACpDiB,EAAE,gBAAgB,EAClBX,GAAA,MAAAA,EAAW,SACFW,EAAE,MAAQ,aAAeA,EAAE,MAAQ,UAC9BT,GAAA,MAAAA,IAGPS,EAAE,KAAOA,EAAE,IAAI,MAAM,eAAe,IAE3CC,GAAAA,UAAU,IAAM,CACAV,GAAA,MAAAA,GAAA,CACf,EAEGE,EAAe,UACjBA,EAAe,QAAQ,QACvBA,EAAe,QAAQ,kBAAkB,EAAGA,EAAe,QAAQ,MAAM,MAAM,GAEnF,EAIA,OAAAS,EAAA,kBAAA,KAAC,MAAI,CAAA,UAAU,0BACZ,SAAA,CAAAR,EACDQ,EAAA,kBAAA,KAACC,EAAA,OAAA,CACC,gBAAc,UACd,gBAAeb,EACf,UAAW,CAAC,CAAE,UAAAc,EAAW,UAAAC,CAAA,IACvBR,EAAW,CACT,UAAAQ,EACA,UAAAD,EACA,UAAW,MAAA,CACZ,EAEH,WAAAjB,EACA,UAAAY,EACA,QAASR,EAET,SAAA,CAAAe,EAAAA,kBAAAA,IAAC,OAAI,UAAU,2BACZ,YAASpB,EAASS,CAAK,EACnBW,wBAAAC,EAAAA,kBAAAA,SAAA,CAAA,SAAArB,EAASS,CAAK,CAAE,CAAA,0BAElBa,GAAAA,KAAK,CAAA,QAAQ,cAAc,MAAM,YAC/B,WACH,CAEJ,CAAA,EACAN,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAU,0BACZ,SAAA,CAAAP,GAAS,CAACR,GAAc,CAACJ,EAEtBuB,EAAAA,kBAAAA,IAAAC,EAAA,kBAAA,SAAA,CAAA,SAAAD,EAAA,kBAAA,IAAC,MAAA,CACC,UAAWV,EAA2B,EACtC,KAAK,SACL,cAAgBI,GAAM,CACpBA,EAAE,gBAAgB,EAClBX,GAAA,MAAAA,EAAW,OACb,EACA,QAAUW,GAAM,CACdA,EAAE,gBAAgB,EAClBX,GAAA,MAAAA,EAAW,OACb,EAEA,SAAAiB,EAAAA,kBAAAA,IAACG,EAAAA,QAAQ,CAAA,KAAK,OAAQ,CAAA,CAAA,GAE1B,EACE,KACHH,EAAA,kBAAA,IAAAG,EAAA,QAAA,CAAQ,KAAK,kBAAkB,UAAU,UAAU,CAAA,EACtD,CAAA,CAAA,CACF,EACCzB,CACH,CAAA,CAAA,CAEJ,EAEM0B,GAAuB,CAAmB,CAC9C,UAAAzB,EACA,UAAA0B,EACA,SAAAzB,EACA,WAAAC,EACA,UAAAC,EACA,MAAAwB,EACA,SAAAvB,EACA,YAAAE,EACA,YAAAC,EACA,eAAAC,EACA,MAAAE,CACF,IAGM,CACJ,KAAM,CAAE,WAAYkB,CAAiB,EAAIf,oBAAkB,CACzD,UAAAV,EACA,WAAY,GACZ,UAAAH,EACA,WAAAE,CAAA,CACD,EAMKY,EAAYe,EAAA,YACfd,GAA8C,CACzCA,EAAE,MAAQ,aAAeA,EAAE,MAAQ,UACzBT,IAGLS,EAAE,KAAOA,EAAE,IAAI,MAAM,eAAe,IAE3CC,GAAAA,UAAU,IAAM,CACFV,GAAA,CACb,EAEGE,EAAe,UACjBA,EAAe,QAAQ,QACvBA,EAAe,QAAQ,kBAAkB,EAAGA,EAAe,QAAQ,MAAM,MAAM,GAGrF,EACA,CAACF,EAAaE,CAAc,CAAA,EAGxBsB,EAAWD,EAAA,YACdE,GAAmB,CAEhBrB,GAAAN,EACEM,EAAM,OAAQsB,GAAS,CACf,MAAAC,EAASP,EAAUM,CAAI,EACtB,MAAA,CAACD,EAAK,IAAIE,CAAM,CAAA,CACxB,CAAA,CAEP,EACA,CAACP,EAAWtB,EAAUM,CAAK,CAAA,EAI3B,OAAAW,EAAA,kBAAA,IAACa,EAAA,MAAA,CACC,UAAW,CAAC,CAAE,cAAef,EAAW,UAAAC,CAAA,IACtCQ,EAAiB,CACf,UAAAR,EACA,UAAAD,EACA,UAAWgB,GAAA,KACTf,GAAa,CAACjB,GAAa,CAACD,GAAc,CAACiB,EAAY,eAAiB,GACxE,2DACF,CAAA,CACD,EAGH,SAAAF,EAAA,kBAAA,KAACC,EAAA,OAAA,CACC,QAASZ,EACT,UAAAQ,EACA,WAAAZ,EACA,UAAU,2BAEV,SAAA,CAAAmB,wBAAC,MAAI,CAAA,UAAU,iBACZ,SAAAX,GAASA,EAAM,OACdW,EAAA,kBAAA,IAACe,GAAA,cAAA,CACC,MAAOT,GAAS,iBAChB,UAAU,sCACV,SAAUzB,EAAa,OAAY4B,EAElC,WAAM,IAAKE,GACVX,EAAAA,kBAAAA,IAACgB,aAA+B,GAAIX,EAAUM,CAAI,EAAG,WAAA9B,EAClD,SAASD,EAAA+B,CAAI,GADDN,EAAUM,CAAI,CAE7B,CACD,CAAA,CAAA,EAGFX,EAAA,kBAAA,IAAAE,GAAA,KAAA,CAAK,MAAM,YAAa,UAAY,CAAA,EAEzC,EACCF,EAAA,kBAAA,IAAAG,EAAA,QAAA,CAAQ,KAAK,kBAAkB,UAAU,uBAAuB,CAAA,CAAA,CACnE,CAAA,CAAA,CAGN,EAEMc,GAAc,CAAC,CACnB,QAAAvC,EACA,UAAAwC,EACA,UAAAzB,EACA,cAAA0B,EACA,MAAAC,EACA,eAAAjC,EACA,SAAAkC,CACF,IAA4F,CAC1F,MAAMC,EAAKC,EAAAA,QACL,CAAE,MAAAC,EAAO,OAAAC,CAAO,EAAIC,GAAc,cAAA,EAClCC,EAAcC,gBAAaV,GAAa,GAAO,CAAE,MAAO,IAAK,YAAa,GAAA,CAAK,EAC/E,CAAE,2BAAA5B,CAA2B,EAAIE,EAAAA,kBAAkB,CAAE,UAAW,GAAM,EAE5EqC,OAAAA,EAAAA,UAAU,IAAM,QACdC,EAAA3C,EAAe,UAAf,MAAA2C,EAAwB,OAG1B,EAAG,CAAE,CAAA,0BAEF,MAAI,CAAA,UAAU,OACb,SAAClC,EAAA,kBAAA,KAAA,MAAA,CAAI,UAAU,sHACb,SAAA,CAAAI,EAAA,kBAAA,IAAC+B,EAAA,MAAA,CACC,IAAK5C,EACL,GAAAmC,EACA,UAAU,yEACV,SAAW5B,GAAM,SACN2B,IAAAS,EAAApC,EAAE,SAAF,YAAAoC,EAAU,QAAS,EAAE,EACdX,GAAA,MAAAA,GAAAa,EAAAtC,EAAE,SAAF,YAAAsC,EAAU,MAC5B,EACA,YAAaP,EACb,MAAOL,GAAS,GAChB,UAAYa,GAAU,CAEhBA,EAAM,OAAS,OACjBA,EAAM,eAAe,EAGvBxC,GAAA,MAAAA,EAAYwC,EACd,CAAA,CACF,EACCb,GAASA,EAAM,OACdpB,EAAA,kBAAA,IAACH,EAAA,OAAA,CACC,aAAY2B,EACZ,UAAWlC,EAA2B,EACtC,oBAAmB,GACnB,QAAS,IAAM,OACb+B,EAAS,EAAE,GACXS,EAAA3C,EAAe,UAAf,MAAA2C,EAAwB,OAC1B,EAEA,SAAA9B,EAAAA,kBAAAA,IAACG,EAAAA,QAAQ,CAAA,KAAK,OAAQ,CAAA,CAAA,CAAA,EAEtB,KACHzB,EACAiD,EAAe3B,EAAAA,kBAAAA,IAAAkC,GAAAA,QAAA,CAAQ,UAAU,OAAO,KAAK,OAAQ,CAAA,EAAK,IAAA,CAC7D,CAAA,CACF,CAAA,CAEJ,EAEMC,GAAmBnD,GAAkB,CACnC,MAAAoD,EAAoBC,SAAiC,IAAI,EACzD,CAACC,EAAyBC,CAA0B,EAAIC,WAAS,EAAK,EAG5EX,OAAAA,EAAA,UAAU,IAAMU,EAA2B,EAAK,EAAG,CAACvD,CAAI,CAAC,EAClD,CAAE,kBAAAoD,EAAmB,wBAAAE,EAAyB,2BAAAC,EACvD,EAYME,GAAmB,CAAmB,CAC1C,mBAAAC,EACA,cAAAC,EACA,UAAAtC,EACA,cAAAuC,EACA,eAAAC,EACA,MAAAxD,CACF,IAAgC,CACxB,MAAAyD,EAAoBC,EAAAA,QAAQ,IAAM,CAClC,GAAA,MAAM,QAAQ1D,CAAK,EACrB,OAAIA,EAAM,OACDsD,GAAA,YAAAA,EAAe,UAAWhC,GAASN,EAAUM,CAAI,IAAMN,EAAUhB,EAAM,CAAC,CAAC,GAEzE,KAEAA,EACF,OAAAsD,GAAA,YAAAA,EAAe,UAAWhC,GAASN,EAAUM,CAAI,IAAMN,EAAUhB,CAAK,KAAM,CAEpF,EAAA,CAACsD,EAAetC,EAAWhB,CAAK,CAAC,EAE9B2D,EAAuBxC,EAAA,YAC1ByC,GAAyB,CACpB,GAAA,OAAO,UAAUA,CAAW,GAC9B,QAASC,EAAID,EAAe,EAAGC,GAAK,EAAGA,IACjC,GAAA,EAACR,GAAA,MAAAA,EAAoB,SAASrC,EAAUsC,EAAcO,CAAC,CAAC,IACnD,OAAA,KAAK,IAAIA,EAAG,CAAC,EAInB,MAAA,EACT,EACA,CAACR,EAAoBC,EAAetC,CAAS,CAAA,EAGzC8C,EAAmB3C,EAAA,YACtByC,GAAyB,CACpB,GAAA,OAAO,UAAUA,CAAW,GAC9B,QAASC,EAAID,EAAe,EAAGC,EAAIP,EAAc,OAAQO,IACnD,GAAA,EAACR,GAAA,MAAAA,EAAoB,SAASrC,EAAUsC,EAAcO,CAAC,CAAC,IAC1D,OAAO,KAAK,IAAIP,EAAc,OAAS,EAAGO,CAAC,EAI1C,MAAA,EACT,EACA,CAACR,EAAoBC,EAAetC,CAAS,CAAA,EAIzC+C,EAAkB5C,EAAA,YACrBG,GAAY,CACX,GAAIiC,EAAe,CACjB,MAAMS,EAAgBhE,EAAa,CAAC,GAAIA,CAAa,EAAvB,CAAK,EAC7BiE,EAAkBD,EAAa,IAAIhD,CAAS,EAC5CkD,EAAWD,GAAA,MAAAA,EAAiB,SAASjD,EAAUM,CAAI,GACrD0C,EAAa,OAAQG,GAAMnD,EAAUmD,CAAC,IAAMnD,EAAUM,CAAI,CAAC,EAC3D,CAAC,GAAG0C,EAAc1C,CAAI,EAC1BiC,GAAA,MAAAA,EAAgBW,QACPV,IACTA,GAAA,MAAAA,EAAiBlC,GAErB,EACA,CAACN,EAAWuC,EAAeC,EAAgBxD,CAAK,CAAA,EAG5CoE,EAAoBjD,EAAA,YACvBG,GACK,MAAM,QAAQtB,CAAK,EACdA,EAAM,SAASsB,CAAI,EAEnBtB,IAAUsB,EAGrB,CAACtB,CAAK,CAAA,EAIF,CAACqE,EAAYC,CAAa,EAAInB,EAAAA,SAASM,GAAqB,CAAC,EAE7Dc,EAAgBC,GAAAA,mBAChBC,EAAwBzB,EAAAA,OAA2B,MAAS,EAG5D5C,EAAYe,EAAA,YACfd,GAA6C,CAC5C,MAAMqE,EAAqBL,EAEvB,GAAAhE,EAAE,MAAQ,YAAa,CACzBA,EAAE,eAAe,EACX,MAAAsE,EAAgBb,EAAiBY,CAAkB,EAErDC,GAAiB,IACnBL,EAAcK,CAAa,EAC3BF,EAAsB,QAAUF,EAClC,SACSlE,EAAE,MAAQ,UAAW,CAC9BA,EAAE,eAAe,EACX,MAAAuE,EAAoBjB,EAAqBe,CAAkB,EAE7DE,GAAqB,IACvBN,EAAcM,CAAiB,EAC/BH,EAAsB,QAAUF,EAClC,MACSlE,EAAE,MAAQ,SACH0D,EAAAT,EAAce,CAAU,CAAC,CAE7C,EACA,CACEA,EACAf,EACAQ,EACAH,EACAY,EACAR,CACF,CAAA,EAIIc,EAAgB1D,EAAA,YACpB,CAAC2D,EAAqBC,IAAkB,CAClCD,GAAcL,EAAsB,UAAYF,IAClDD,EAAcS,CAAK,EACnBN,EAAsB,QAAUF,EAEpC,EACA,CAACA,CAAa,CAAA,EAGT,MAAA,CACL,WAAAF,EACA,cAAAC,EACA,kBAAAF,EACA,UAAAhE,EACA,cAAAyE,EACA,kBAAApB,EACA,gBAAAM,CAAA,CAEJ,EAKMiB,GAAe,CAAC,CACpB,kBAAAvB,EACA,cAAAa,CACF,KAIE9B,EAAAA,UAAU,IAAM,CACV,GAAAiB,IAAsB,QAAaA,GAAqB,EAC1D,OAAAa,EAAcb,CAAiB,EAExB,IAAM,CACXa,EAAc,CAAC,CAAA,CAEnB,EACC,CAACb,EAAmBa,CAAa,CAAC,EAC9B,MAGHW,EAAuB,CAAmB,CAC9C,UAAAC,EACA,mBAAA7B,EACA,UAAArC,EACA,SAAAzB,EACA,UAAAsC,EACA,MAAAsD,EACA,MAAAlE,EACA,WAAAmE,EACA,cAAA7B,EACA,cAAAzB,EACA,eAAA0B,EACA,KAAA7D,EACA,UAAA0F,EACA,eAAAvF,EACA,qBAAAwF,EACA,eAAAC,EACA,WAAAC,EACA,MAAAxF,CACF,IAAoC,aAClC,KAAM,CAAE,SAAAyF,EAAU,eAAAC,CAAe,EAAIrD,GAAc,cAAA,EAC7C,CAAE,cAAAiB,EAAe,MAAAvB,EAAO,SAAAC,CAAA,EAAa2D,GAAAA,sBAAyB,CAClE,SAAApG,EACA,MAAA4F,EACA,cAAArD,CAAA,CACD,EACK,CAAE,KAAM8D,CAAW,EAAIC,GAAqB,qBAAA,EAC5C,CAAE,wBAAA5C,EAAyB,kBAAAF,EAAmB,2BAAAG,CAA2B,EAC7EJ,GAAgBnD,CAAI,EAEhB,CACJ,WAAA0E,EACA,kBAAAD,EACA,cAAAS,EACA,UAAAzE,EACA,kBAAAqD,EACA,cAAAa,EACA,gBAAAP,GACEX,GAAiB,CACnB,mBAAAC,EACA,cAAAC,EACA,UAAAtC,EACA,kBAAA+B,EACA,cAAAQ,EACA,eAAAC,EACA,MAAAxD,CAAA,CACD,EAEK,CAAC8F,EAAiBC,CAAkB,EAAI5C,EAAA,UAC5CV,EAAA+C,EAAW,UAAX,YAAA/C,EAAoB,WAAA,EAEtBuD,GAAA,QAAiB,SAAU,IAAM,OACZD,GAAAtD,EAAA+C,EAAW,UAAX,YAAA/C,EAAoB,WAAW,CAAA,CACnD,EAEK,MAAAwD,EAAeH,KAAmBnD,GAAA6C,EAAW,UAAX,YAAA7C,GAAoB,aAEtDuD,EAAYlD,SAAuB,IAAI,EAEvCmD,EAAQf,IAAc9B,GAAA,YAAAA,EAAe,SAAU,GAAK,GAAIA,GAAA,YAAAA,EAAe,SAAU,EAEjF8C,EAAcC,GAAAA,eAAe,CACjC,MAAAF,EACA,aAAc,IAAM,GACpB,iBAAkB,IAAMD,EAAU,QAClC,SAAU,CAAA,CACX,EAGD1D,EAAAA,UAAU,IAAM,CACV6B,IAAe,QAAaA,GAAc,IAAKf,GAAA,MAAAA,EAAe,UAE5De,IAAef,EAAc,OAAS,GAAK8B,EAC7CgB,EAAY,cAAcD,CAAK,EAE/BC,EAAY,cAAc,KAAK,IAAI/B,EAAY8B,EAAQ,CAAC,CAAC,EAE7D,EACC,CAAC9B,EAAY8B,EAAO7C,EAAc,OAAQ8B,EAAYgB,CAAW,CAAC,EAE/D,MAAAE,EAAeF,EAAY,kBAG/B,OAAAzF,EAAA,kBAAA,IAAC4F,GAAA,QAAA,CACC,UAAU,MACV,OAAQ5G,EACR,eAAc,GACd,WAAA6F,EACA,aAAcD,EACd,aAAYtE,EACZ,qBAAoB,GACpB,UAAAoE,EACA,MACE,CACE,MAAOY,GAAgBA,EAAe,IAAMA,EAAe,KAAO,QAClE,UAAAf,CACF,EAGD,SACCvF,EAAAY,yBAAC,MAAI,CAAA,UAAU,QACb,SAAA,CAAAI,EAAA,kBAAA,IAACiB,GAAA,CACC,cAAAE,EACA,UAAAD,EACA,MAAAE,EACA,SAAW/B,GAAU,CAGnBM,GAAAA,UAAU,IAAM,CACd0B,EAAShC,CAAK,EACdsE,EAAc,CAAC,CAAA,CAChB,EAED8B,EAAY,eAAe,CAAC,CAC9B,EACA,eAAAtG,EACA,UAAAM,CAAA,CACF,EACAO,EAAAA,kBAAAA,IAACqE,GAAa,CAAA,kBAAAvB,EAAsC,cAAAa,CAA8B,CAAA,EAClF3D,EAAA,kBAAA,IAAC,MAAA,CACC,IAAKuF,EACL,UAAU,yBACV,MAAO,CACL,QAAS,SACT,OAAQ,KAAK,IAAI,IAAKE,EAAY,aAAa,GAAKhB,EAAa,EAAI,EAAE,CACzE,EAEA,SAAAzE,EAAA,kBAAA,IAAC,MAAA,CACC,UAAU,kBACV,MAAO,CACL,OAAQyF,EAAY,aAAa,CACnC,EAEA,SAAAzF,EAAA,kBAAA,IAAC,MAAA,CACC,UAAU,gCACV,MAAO,CACL,UAAW,gBAAc6F,GAAAF,GAAA,YAAAA,EAAe,KAAf,YAAAE,GAAmB,QAAS,CAAC,KACxD,EAEC,SAAAF,EAAa,IAAKG,GAAgB,CAGjC,GAF0BA,EAAY,QAAUN,EAAQ,GAE/Bf,EAErB,OAAAzE,EAAA,kBAAA,IAAC,MAAA,CAEC,aAAY8F,EAAY,MACxB,IAAKL,EAAY,eAEjB,kCAAC,MACC,CAAA,SAAA,CAACzF,EAAAA,kBAAAA,IAAA+F,GAAA,UAAA,CAAU,UAAU,MAAO,CAAA,EAC5B/F,EAAA,kBAAA,IAACH,EAAA,OAAA,CACC,WAAYqB,EACZ,cAAeqB,EACf,cAAeA,EACf,IAAKH,EACL,UAAW6C,EAAW,CACpB,UACE,iOAAA,CACH,EACD,QAAS,IAAM,OACFR,KAGX3C,EAAA3C,EAAe,UAAf,MAAA2C,EAAwB,OAC1B,EACA,UAAYpC,GAAM,OACZA,EAAE,MAAQ,YACZA,EAAE,eAAe,GACjBoC,EAAA3C,EAAe,UAAf,MAAA2C,EAAwB,QAE5B,EAEC,SAAAgD,CAAA,CACH,CAAA,EACF,CAAA,EA9BKgB,EAAY,GAAA,EAiChB,CACC,MAAAnF,EAAOgC,EAAcmD,EAAY,KAAK,EAE1C,OAAA9F,EAAA,kBAAA,IAAC,MAAA,CAEC,aAAY8F,EAAY,MACxB,IAAKL,EAAY,eAEjB,SAAAzF,EAAA,kBAAA,IAACH,EAAA,OAAA,CAEC,UAAU,iCACV,cAAgBsE,GAAe,CACfD,EAAAC,EAAY2B,EAAY,KAAK,CAC7C,EACA,QAAS,IAAM1C,EAAgBzC,CAAI,EACnC,YACE+B,GAAA,YAAAA,EAAoB,SAASrC,EAAUM,CAAI,KAAgB,GAE7D,oBAAmB,GAEnB,SAAAX,EAAA,kBAAA,IAACgG,GAAA,eAAA,CAEC,aAAY,GACZ,KAAArF,EACA,MAAO,CACL,OAAQ+C,IAAeoC,EAAY,OAAS,CAACxD,EAC7C,UACEI,GAAA,YAAAA,EAAoB,SAASrC,EAAUM,CAAI,KAAgB,GAC7D,SAAU8C,EAAkB9C,CAAI,CAClC,EACA,qBAAAgE,CAAA,EATKtE,EAAUM,CAAI,CAUrB,CAAA,EAtBKN,EAAUM,CAAI,CAuBrB,CAAA,EA5BKmF,EAAY,GAAA,CA+BvB,CAAA,CACD,CAAA,CACH,CAAA,CACF,CAAA,CACF,EACCN,EAAQ,KACPxF,EAAAA,kBAAAA,IAACE,GAAK,KAAA,CAAA,QAAQ,cAAc,MAAM,YAAY,UAAU,SACrD,SACH6E,CAAA,CAAA,CAAA,CAAA,CAEJ,EACE,IAAA,CAAA,CAGV,EAEMkB,EAAqB,CAAmB,CAC5C,UAAA5F,EACA,KAAA6F,EACA,MAAA7G,CACF,IAKM6G,EACE,MAAM,QAAQ7G,CAAK,EACdA,EAAM,IAAKmE,GAChBxD,EAAAA,kBAAAA,IAAC,SAAyB,KAAK,SAAS,KAAAkG,EAAY,MAAO7F,EAAUmD,CAAC,CAAA,EAA1DnD,EAAUmD,CAAC,CAAkD,CAC1E,EACQnE,EACFW,wBAAC,SAAM,KAAK,SAAS,KAAAkG,EAAY,MAAO7F,EAAUhB,CAAK,CAAG,CAAA,EAE1D,KAGJ,KAGI8G,GAAkB,CAAmB,CAChD,aAAAC,EACA,YAAAC,EACA,kBAAA5H,EACA,mBAAAiE,EACA,QAAAhE,EACA,aAAA4H,EACA,UAAA3H,EAAY,GACZ,UAAA0B,EACA,SAAAzB,EACA,cAAA2H,EACA,gBAAAC,EACA,gBAAAC,EACA,WAAA5H,EACA,UAAAC,EACA,UAAAoC,EACA,WAAAwF,EACA,MAAAlC,EACA,MAAAlE,EACA,KAAA4F,EACA,SAAAnH,EACA,WAAA0F,EACA,cAAAtD,EACA,YAAAjC,EACA,UAAAwF,EAAY,eACZ,qBAAAC,EACA,UAAAvF,EACA,MAAAC,CACF,IAA+B,CAC7B,KAAM,CAAE,WAAYsH,CAAqB,EAAIC,aAAWC,EAAiB,iBAAA,EACnE1H,EAAiBkD,SAAyB,IAAI,EAC9CyE,EAAoBzE,SAA0B,IAAI,EAClDwC,EAAaxC,SAAuB,IAAI,EACxC,CAAC0E,EAAeC,CAAgB,EAAIxE,EAAAA,SAAwBnD,GAAS+G,CAAY,EACjF,CAACa,EAAQC,CAAS,EAAI1E,WAAS,EAAK,EACpCvD,EAAc,IAAM,OACxBiI,EAAU,EAAI,GACdpF,EAAAgF,EAAkB,UAAlB,MAAAhF,EAA2B,OAAM,EAE7BqF,EAAe,IAAMD,EAAU,EAAK,EAEpCrE,EAAiBrC,EAAA,YACpB+C,GAAiB,CAChByD,EAAiBzD,CAAQ,EACzBxE,GAAA,MAAAA,EAAWwE,GACE4D,GACf,EACA,CAACpI,CAAQ,CAAA,EAGL,CAAE,UAAAwF,GAAc6C,EAAAA,YAChB,CAAE,QAAAC,CAAQ,EAAI7H,oBAAkB,CACpC,UAAAb,EACA,UAAAG,EACA,WAAYD,GAAc8H,CAAA,CAC3B,EAGD9E,EAAAA,UAAU,IAAM,CACdmF,EAAiB3H,GAAS+G,CAAY,CAAA,EACrC,CAACA,EAAc/G,CAAK,CAAC,EAExB,MAAMiI,EAAgBjI,GAAS0H,EAE/B,gCACG,MACC,CAAA,SAAA,CAAA/G,EAAA,kBAAA,IAACiG,EAAmB,CAAA,KAAAC,EAAY,MAAOoB,EAAe,UAAAjH,EAAsB,EAC3ET,EAAAA,kBAAAA,KAAA,MAAA,CAAI,UAAWyH,EAAA,EACd,SAAA,CAAArH,EAAA,kBAAA,IAACuH,GAAA,YAAA,CACC,MAAAjH,EACA,cAAAiG,EACA,gBAAAE,EACA,WAAAC,CAAA,CACF,EACA1G,EAAAA,kBAAAA,IAAC,MAAI,CAAA,IAAK6E,EACR,SAAA7E,EAAA,kBAAA,IAACxB,GAAA,CACC,kBAAAC,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAyB,EACA,WAAAxB,EACA,UAAAC,EACA,KAAMmI,EACN,YAAAhI,EACA,SAAU4D,EACV,YAAA3D,EACA,eAAAC,EACA,UAAAC,EACA,MAAOkI,CAAA,CAAA,EAEX,EACAtH,EAAA,kBAAA,IAACwH,GAAA,YAAA,CACC,YAAAnB,EACA,aAAAC,EACA,gBAAAE,CAAA,CACF,CAAA,EACF,EACAxG,EAAA,kBAAA,IAACsE,EAAA,CACC,WAAAO,EACA,MAAAvE,EACA,UAAAD,EACA,SAAAzB,EACA,MAAA4F,EACA,KAAMyC,EACN,eAAgBC,EAChB,qBAAAvC,EACA,mBAAAjC,EACA,UAAA6B,EACA,cAAApD,EACA,UAAAD,EACA,eAAA/B,EACA,WAAAsF,EACA,UAAAC,EACA,MAAO4C,EACP,eAAAzE,CAAA,CACF,CACF,CAAA,CAAA,CAEJ,EAEa4E,GAAuB,CAAmB,CACrD,aAAArB,EACA,YAAAC,EACA,kBAAA5H,EACA,mBAAAiE,EACA,QAAAhE,EACA,aAAA4H,EACA,UAAA3H,EAAY,GACZ,UAAA0B,EACA,SAAAzB,EACA,cAAA2H,EACA,gBAAAC,EACA,gBAAAC,EACA,WAAA5H,EACA,UAAAC,EACA,UAAAoC,EACA,WAAAwF,EACA,MAAAlC,EACA,MAAAlE,EACA,QAAAoH,EACA,KAAAxB,EACA,SAAAnH,EACA,WAAA0F,EACA,cAAAtD,EACA,YAAAjC,EACA,UAAAwF,EAAY,eACZ,qBAAAC,EACA,UAAAvF,EACA,MAAAC,CACF,IAAoC,CAClC,KAAM,CAAE,WAAYsH,CAAqB,EAAIC,aAAWC,EAAiB,iBAAA,EACnE1H,EAAiBkD,SAAyB,IAAI,EAC9CwC,EAAaxC,SAAuB,IAAI,EACxC,CAAC0E,EAAeC,CAAgB,EAAIxE,EAAAA,SAA0BnD,GAAS+G,CAAY,EACnF,CAACa,EAAQC,CAAS,EAAI1E,WAAS,EAAK,EACpCvD,EAAc,IAAM,CACxBiI,EAAU,EAAI,CAAA,EAGVtE,EAAgBpC,EAAA,YACnB+C,GAAmB,OAClByD,EAAiBzD,CAAQ,EACzBxE,GAAA,MAAAA,EAAWwE,IACXzB,EAAA3C,EAAe,UAAf,MAAA2C,EAAwB,OAC1B,EACA,CAAC/C,CAAQ,CAAA,EAGL,CAAE,UAAAwF,GAAc6C,EAAAA,YAEhB,CAAE,QAAAC,CAAQ,EAAI7H,oBAAkB,CACpC,UAAAb,EACA,UAAAG,EACA,WAAYD,GAAc8H,CAAA,CAC3B,EAGD9E,EAAAA,UAAU,IAAM,CACdmF,EAAiB3H,GAAS+G,CAAY,CAAA,EACrC,CAACA,EAAc/G,CAAK,CAAC,EACxB,MAAMiI,EAAgBjI,GAAS0H,EAE/B,gCACG,MACC,CAAA,SAAA,CAAA/G,EAAA,kBAAA,IAACiG,EAAmB,CAAA,KAAAC,EAAY,MAAOoB,EAAe,UAAAjH,EAAsB,EAC3ET,EAAAA,kBAAAA,KAAA,MAAA,CAAI,UAAWyH,EAAA,EACd,SAAA,CAAArH,EAAA,kBAAA,IAACuH,GAAA,YAAA,CACC,MAAAjH,EACA,WAAAoG,EACA,cAAAH,EACA,gBAAAE,EACA,QAAAiB,CAAA,CACF,EACA1H,EAAAA,kBAAAA,IAAC,MAAI,CAAA,IAAK6E,EACR,SAAA7E,EAAA,kBAAA,IAACI,GAAA,CACC,kBAAA3B,EACA,QAAAC,EACA,UAAAC,EACA,SAAAC,EACA,UAAAyB,EACA,WAAAxB,EACA,UAAAC,EACA,SAAU8D,EACV,KAAMqE,EACN,YAAAhI,EACA,YAAAC,EACA,eAAAC,EACA,UAAAC,EACA,MAAOkI,CAAA,CAAA,EAEX,EACAtH,EAAA,kBAAA,IAACwH,GAAA,YAAA,CACC,YAAAnB,EACA,aAAAC,EACA,gBAAAE,CAAA,CACF,CAAA,EACF,EACAxG,EAAA,kBAAA,IAACsE,EAAA,CACC,MAAAhE,EACA,eAAAnB,EACA,WAAA0F,EACA,UAAAxE,EACA,SAAAzB,EACA,MAAA4F,EACA,cAAA5B,EACA,MAAO0E,EACP,UAAA5C,EACA,KAAMuC,EACN,eAAgBC,EAChB,qBAAAvC,EACA,mBAAAjC,EACA,UAAA6B,EACA,cAAApD,EACA,UAAAD,EACA,WAAAuD,CAAA,CACF,CACF,CAAA,CAAA,CAEJ,EAEakD,GAAmC,CAAmB,CACjE,SAAAC,EACA,aAAAxB,EACA,mBAAA1D,EACA,UAAArC,EACA,SAAAzB,EACA,WAAAC,EACA,UAAAC,EACA,UAAAoC,EACA,MAAAsD,EACA,MAAAlE,EACA,KAAA4F,EACA,SAAAnH,EACA,cAAAoC,EACA,UAAAuD,EAAY,eACZ,qBAAAC,EACA,MAAAtF,CACF,IAAgD,CAC9C,KAAM,CAAE,WAAYsH,CAAqB,EAAIC,aAAWC,EAAiB,iBAAA,EACnE1H,EAAiBkD,SAAyB,IAAI,EAC9CyE,EAAoBzE,SAA0B,IAAI,EAClDwC,EAAaxC,SAAuB,IAAI,EACxC,CAAC0E,EAAeC,CAAgB,EAAIxE,EAAAA,SAAwBnD,GAAS+G,CAAY,EACjF,CAACa,EAAQC,CAAS,EAAI1E,WAAS,EAAK,EACpCvD,EAAc,IAAM,OACxBiI,EAAU,EAAI,GACdpF,EAAAgF,EAAkB,UAAlB,MAAAhF,EAA2B,OAAM,EAE7BqF,EAAe,IAAMD,EAAU,EAAK,EAEpCrE,EAAiBrC,EAAA,YACpB+C,GAAiB,CAChByD,EAAiBzD,CAAQ,EACzBxE,GAAA,MAAAA,EAAWwE,GACE4D,GACf,EACA,CAACpI,CAAQ,CAAA,EAGL,CAAE,UAAAwF,GAAc6C,EAAAA,YAChB,CAAE,QAAAC,CAAQ,EAAI7H,oBAAkB,CACpC,UAAW,GACX,UAAAV,EACA,WAAAD,CAAA,CACD,EAGDgD,EAAAA,UAAU,IAAM,CACdmF,EAAiB3H,GAAS+G,CAAY,CAAA,EACrC,CAACA,EAAc/G,CAAK,CAAC,EAExB,MAAMiI,EAAgBjI,GAAS0H,EAE7B,OAAA/G,EAAA,kBAAA,IAAC6H,EAAA,SAAA,CACC,OAAQ,CACN,CACEC,EAAA,cACA,CACE,QAAS,IAAM7I,EAAY,EAC3B,WAAYJ,GAAc8H,CAC5B,CACF,CACF,EAEA,kCAAC,MACC,CAAA,SAAA,CAAA3G,EAAA,kBAAA,IAACiG,EAAmB,CAAA,KAAAC,EAAY,MAAOoB,EAAe,UAAAjH,EAAsB,EAC5EL,EAAAA,kBAAAA,IAAC,MAAI,CAAA,UAAWqH,EAAQ,EACtB,iCAAC,MAAI,CAAA,IAAKxC,EAAa,SAAA+C,CAAA,CAAS,CAClC,CAAA,EACA5H,EAAA,kBAAA,IAACsE,EAAA,CACC,WAAAO,EACA,MAAAvE,EACA,UAAAD,EACA,SAAAzB,EACA,MAAA4F,EACA,KAAMyC,EACN,eAAgBC,EAChB,qBAAAvC,EACA,mBAAAjC,EACA,UAAA6B,EACA,cAAApD,EACA,UAAAD,EACA,eAAA/B,EACA,UAAAuF,EACA,MAAO4C,EACP,eAAAzE,CAAA,CACF,CAAA,EACF,CAAA,CAAA,CAGN,EAEakF,GAAwC,CAAmB,CACtE,SAAAH,EACA,aAAAxB,EACA,mBAAA1D,EACA,UAAA/D,EAAY,GACZ,UAAA0B,EACA,SAAAzB,EACA,WAAAC,EACA,UAAAC,EACA,UAAAoC,EACA,MAAAsD,EACA,MAAAlE,EACA,KAAA4F,EACA,SAAAnH,EACA,cAAAoC,EACA,UAAAuD,EAAY,eACZ,qBAAAC,EACA,MAAAtF,CACF,IAAqD,CACnD,KAAM,CAAE,WAAYsH,CAAqB,EAAIC,aAAWC,EAAiB,iBAAA,EACnE1H,EAAiBkD,SAAyB,IAAI,EAC9CyE,EAAoBzE,SAA0B,IAAI,EAClDwC,EAAaxC,SAAuB,IAAI,EACxC,CAAC0E,EAAeC,CAAgB,EAAIxE,EAAAA,SAA0BnD,GAAS+G,CAAY,EACnF,CAACa,EAAQC,CAAS,EAAI1E,WAAS,EAAK,EACpCvD,EAAc,IAAM,OACxBiI,EAAU,EAAI,GACdpF,EAAAgF,EAAkB,UAAlB,MAAAhF,EAA2B,OAAM,EAG7Bc,EAAgBpC,EAAA,YACnB+C,GAAmB,OAClByD,EAAiBzD,CAAQ,EACzBxE,GAAA,MAAAA,EAAWwE,IACXzB,EAAA3C,EAAe,UAAf,MAAA2C,EAAwB,OAC1B,EACA,CAAC/C,CAAQ,CAAA,EAGL,CAAE,UAAAwF,GAAc6C,EAAAA,YAEhB,CAAE,QAAAC,CAAQ,EAAI7H,oBAAkB,CACpC,UAAAb,EACA,UAAAG,EACA,WAAAD,CAAA,CACD,EAGDgD,EAAAA,UAAU,IAAM,CACdmF,EAAiB3H,GAAS+G,CAAY,CAAA,EACrC,CAACA,EAAc/G,CAAK,CAAC,EAExB,MAAMiI,EAAgBjI,GAAS0H,EAG7B,OAAA/G,EAAA,kBAAA,IAAC6H,EAAA,SAAA,CACC,OAAQ,CACN,CACEC,EAAA,cACA,CAAE,QAAS,IAAM7I,IAAe,WAAYJ,GAAc8H,CAAqB,CACjF,CACF,EAEA,kCAAC,MACC,CAAA,SAAA,CAAA3G,EAAA,kBAAA,IAACiG,EAAmB,CAAA,KAAAC,EAAY,MAAOoB,EAAe,UAAAjH,EAAsB,EAC5EL,EAAAA,kBAAAA,IAAC,MAAI,CAAA,UAAWqH,EAAQ,EACtB,iCAAC,MAAI,CAAA,IAAKxC,EAAa,SAAA+C,CAAA,CAAS,CAClC,CAAA,EACA5H,EAAA,kBAAA,IAACsE,EAAA,CACC,MAAAhE,EACA,eAAAnB,EACA,WAAA0F,EACA,UAAAxE,EACA,SAAAzB,EACA,MAAA4F,EACA,KAAMyC,EACN,eAAgBC,EAChB,qBAAAvC,EACA,mBAAAjC,EACA,UAAA6B,EACA,cAAApD,EACA,UAAAD,EACA,MAAOoG,EACP,cAAA1E,EACA,UAAA8B,CAAA,CACF,CAAA,EACF,CAAA,CAAA,CAGN"}
1
+ {"version":3,"file":"lyra37.cjs","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n CSSProperties,\n KeyboardEventHandler,\n RefObject,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Button as AriaButton,\n ButtonContext,\n Group,\n Input,\n Key,\n Provider,\n} from \"react-aria-components\";\nimport { flushSync } from \"react-dom\";\n\nimport { useVirtualizer } from \"@tanstack/react-virtual\";\nimport clsx from \"clsx\";\n\nimport { Separator, Spinner, useLocale, useSpinDelay } from \"../../..\";\nimport useEventListener from \"../../../utils/hooks/use-event-listener\";\nimport { useFilterItemsByQuery } from \"../../../utils/hooks/use-filter-items-by-query\";\nimport { useMousePosition } from \"../../../utils/hooks/use-mouse-position\";\nimport { useDictionary } from \"../../../utils/providers/dictionary-provider\";\nimport { sharedListItemStyles } from \"../../lists/shared-list.styles\";\nimport { SharedListItem } from \"../../lists/shared-list-item\";\nimport { Popover } from \"../../overlays\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { Text } from \"../../text\";\nimport { FieldGroupContext } from \"../field-group\";\nimport { InputTag, InputTagGroup } from \"../input-tag-group\";\nimport { InputFooter, InputHeader, sharedInputStyles } from \"../shared\";\n\nimport {\n MultiSearchListFieldProps,\n MultiSearchListFieldWithCustomTriggerProps,\n SearchInputProps,\n SearchListFieldItemsProps,\n SearchListFieldProps,\n SearchListFieldWithCustomTriggerProps,\n ValueButton,\n} from \"./seach-list-field.types\";\n\nconst SingleValueButton = <T extends object>({\n disableClearLogic,\n endSlot,\n fullWidth,\n getLabel,\n isDisabled,\n isInvalid,\n onChange,\n open,\n openPopover,\n placeholder,\n searchInputRef,\n startSlot,\n value,\n}: ValueButton<T>) => {\n const { buttonExcludedFromTabOrder, inputField } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if ((e.key === \"Escape\" || e.key === \"Backspace\") && !disableClearLogic) {\n e.stopPropagation();\n onChange?.(undefined);\n } else if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover?.();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover?.();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n };\n\n return (\n <div className=\"flex items-center gap-2\">\n {startSlot}\n <AriaButton\n aria-haspopup=\"listbox\"\n aria-expanded={open}\n className={({ isFocused, isHovered }) =>\n inputField({\n isHovered,\n isFocused,\n className: \"grow\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={openPopover}\n >\n <div className=\"grow truncate text-start\">\n {value && getLabel(value) ? (\n <>{getLabel(value)}</>\n ) : (\n <Text variant=\"body-medium\" color=\"secondary\">\n {placeholder}\n </Text>\n )}\n </div>\n <div className=\"flex items-center gap-2\">\n {value && !isDisabled && !disableClearLogic ? (\n <>\n <div\n className={buttonExcludedFromTabOrder()}\n role=\"button\"\n onPointerDown={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n onClick={(e) => {\n e.stopPropagation();\n onChange?.(undefined);\n }}\n >\n <SvgIcon name=\"clear\" />\n </div>\n </>\n ) : null}\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4\" />\n </div>\n </AriaButton>\n {endSlot}\n </div>\n );\n};\n\nconst MultipleValuesButton = <T extends object>({\n fullWidth,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n label,\n onChange,\n openPopover,\n placeholder,\n searchInputRef,\n value,\n}: Omit<ValueButton<T>, \"value\" | \"onChange\"> & {\n value?: T[];\n onChange: (newValue?: T[]) => void;\n}) => {\n const { inputField: inputFieldStyles } = sharedInputStyles({\n isInvalid,\n hasEndSlot: true,\n fullWidth,\n isDisabled,\n });\n /**\n * Handles the keydown event for the search list field.\n * If the Escape or Backspace key is pressed, calls the onChange function with undefined.\n * @param e - The keyboard event.\n */\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \"ArrowUp\") {\n openPopover();\n }\n // match e.key to any letter or number and add the character to the search input\n else if (e.key && e.key.match(/^[a-zA-Z0-9]$/)) {\n // open the popover\n flushSync(() => {\n openPopover();\n });\n // set the cursor to the end of the input\n if (searchInputRef.current) {\n searchInputRef.current.focus();\n searchInputRef.current.setSelectionRange(0, searchInputRef.current.value.length);\n }\n }\n },\n [openPopover, searchInputRef],\n );\n\n const onRemove = useCallback(\n (keys: Set<Key>) => {\n value &&\n onChange(\n value.filter((item) => {\n const itemId = getItemId(item);\n return !keys.has(itemId);\n }),\n );\n },\n [getItemId, onChange, value],\n );\n\n return (\n <Group\n className={({ isFocusWithin: isFocused, isHovered }) =>\n inputFieldStyles({\n isHovered,\n isFocused,\n className: clsx(\n isHovered && !isInvalid && !isDisabled && !isFocused ? \"border-hover\" : \"\",\n \"has:[data-focused]:border has:[data-focused]:border-focus\",\n ),\n })\n }\n >\n <AriaButton\n onPress={openPopover}\n onKeyDown={onKeyDown}\n isDisabled={isDisabled}\n className=\"flex w-full outline-none\"\n >\n <div className=\"grow text-left\">\n {value && value.length ? (\n <InputTagGroup<T>\n label={label ?? \"Selected items\"}\n className=\"-m-1.5 -mt-[0.3125rem] items-center\"\n onRemove={isDisabled ? undefined : onRemove}\n >\n {value.map((item) => (\n <InputTag key={getItemId(item)} id={getItemId(item)} isDisabled={isDisabled}>\n {getLabel(item)}\n </InputTag>\n ))}\n </InputTagGroup>\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n <SvgIcon name=\"chevron-up-down\" className=\"h-4 w-4 min-w-[16px]\" />\n </AriaButton>\n </Group>\n );\n};\n\nconst SearchInput = ({\n endSlot,\n isLoading,\n onKeyDown,\n onQueryChange,\n query,\n searchInputRef,\n setQuery,\n}: SearchInputProps & { onKeyDown: KeyboardEventHandler<HTMLInputElement> | undefined }) => {\n const id = useId();\n const { clear, search } = useDictionary();\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n const { buttonExcludedFromTabOrder } = sharedInputStyles({ fullWidth: true });\n\n useEffect(() => {\n searchInputRef.current?.focus();\n // only run on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n return (\n <div className=\"pb-1\">\n <div className=\"flex h-6 w-full items-center gap-2 rounded-xs border border-solid border-default bg-overlay-subtle py-1 pe-1 ps-1.5\">\n <Input\n ref={searchInputRef}\n id={id}\n className=\"w-full bg-transparent text-base outline-none placeholder:text-tertiary\"\n onChange={(e) => {\n setQuery(e.target?.value ?? \"\");\n onQueryChange?.(e.target?.value as any);\n }}\n placeholder={search}\n value={query ?? \"\"}\n onKeyDown={(event) => {\n // Prevent selection of an item on Tab key down event\n if (event.code === \"Tab\") {\n event.preventDefault();\n }\n\n onKeyDown?.(event);\n }}\n />\n {query && query.length ? (\n <AriaButton\n aria-label={clear}\n className={buttonExcludedFromTabOrder()}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n searchInputRef.current?.focus();\n }}\n >\n <SvgIcon name=\"clear\" />\n </AriaButton>\n ) : null}\n {endSlot}\n {showSpinner ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\nconst useLoadMoreHook = (open: boolean) => {\n const loadMoreButtonRef = useRef<HTMLButtonElement | null>(null);\n const [isLoadMoreButtonFocused, setIsLoadMoreButtonFocused] = useState(false);\n\n // Reset focused state as the popover opens / closes\n useEffect(() => setIsLoadMoreButtonFocused(false), [open]);\n return { loadMoreButtonRef, isLoadMoreButtonFocused, setIsLoadMoreButtonFocused };\n};\n\ntype UseItemSelectionProps<T> = {\n disabledItemIdKeys?: Key[];\n filteredItems: T[];\n onSingleChange?: (value?: T) => void;\n onMultiChange?: (value?: T[]) => void;\n getItemId: (item: T) => Key;\n value?: T | T[];\n loadMoreButtonRef: RefObject<HTMLButtonElement>;\n};\n\nconst useItemSelection = <T extends object>({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n onMultiChange,\n onSingleChange,\n value,\n}: UseItemSelectionProps<T>) => {\n const selectedItemIndex = useMemo(() => {\n if (Array.isArray(value)) {\n if (value.length) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value[0]));\n } else {\n return 0;\n }\n } else if (value) {\n return filteredItems?.findIndex((item) => getItemId(item) === getItemId(value)) ?? 0;\n }\n }, [filteredItems, getItemId, value]);\n\n const getPreviousItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! - 1; i >= 0; i--) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.max(i, 0);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n const getNextItemIndex = useCallback(\n (activeIndex?: number) => {\n if (Number.isInteger(activeIndex)) {\n for (let i = activeIndex! + 1; i < filteredItems.length; i++) {\n if (!disabledItemIdKeys?.includes(getItemId(filteredItems[i]))) {\n return Math.min(filteredItems.length - 1, i);\n }\n }\n }\n return -1;\n },\n [disabledItemIdKeys, filteredItems, getItemId],\n );\n\n // Selects an item in the list and runs the appropriate change handler\n const toggleSelection = useCallback(\n (item: T) => {\n if (onMultiChange) {\n const currentValue = !value ? [] : [...(value as T[])];\n const currentValueIds = currentValue.map(getItemId);\n const newValue = currentValueIds?.includes(getItemId(item))\n ? currentValue.filter((v) => getItemId(v) !== getItemId(item))\n : [...currentValue, item];\n onMultiChange?.(newValue);\n } else if (onSingleChange) {\n onSingleChange?.(item);\n }\n },\n [getItemId, onMultiChange, onSingleChange, value],\n );\n\n const getItemIsSelected = useCallback(\n (item: T) => {\n if (Array.isArray(value)) {\n return value.some((subValue) => getItemId(subValue) === getItemId(item));\n } else {\n return value ? getItemId(value) === getItemId(item) : false;\n }\n },\n [getItemId, value],\n );\n\n // State that keeps track of the 'active' (focused but not really focused) item.\n const [activeItem, setActiveItem] = useState(selectedItemIndex ?? 0);\n\n const mousePosition = useMousePosition();\n const previousMousePosition = useRef<string | undefined>(undefined);\n\n // Handles keyboard navigation when the searchinput is focused.\n const onKeyDown = useCallback(\n (e: React.KeyboardEvent<HTMLInputElement>) => {\n const currentActiveIndex = activeItem;\n\n if (e.key === \"ArrowDown\") {\n e.preventDefault();\n const safeNextIndex = getNextItemIndex(currentActiveIndex);\n\n if (safeNextIndex >= 0) {\n setActiveItem(safeNextIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"ArrowUp\") {\n e.preventDefault();\n const safePreviousIndex = getPreviousItemIndex(currentActiveIndex);\n\n if (safePreviousIndex >= 0) {\n setActiveItem(safePreviousIndex);\n previousMousePosition.current = mousePosition;\n }\n } else if (e.key === \"Enter\") {\n toggleSelection(filteredItems[activeItem]);\n }\n },\n [\n activeItem,\n filteredItems,\n getNextItemIndex,\n getPreviousItemIndex,\n mousePosition,\n toggleSelection,\n ],\n );\n\n // Handles onHoverChange event for the search list field items\n const onHoverChange = useCallback(\n (isHovering: boolean, index: number) => {\n if (isHovering && previousMousePosition.current !== mousePosition) {\n setActiveItem(index);\n previousMousePosition.current = mousePosition;\n }\n },\n [mousePosition],\n );\n\n return {\n activeItem,\n setActiveItem,\n getItemIsSelected,\n onKeyDown,\n onHoverChange,\n selectedItemIndex,\n toggleSelection,\n };\n};\n\n// Component that only gets rendered when popover is open.\n// This way we can set the active item when the popover opens and make sure the selected item will become active.\n// When closing the popover, the active item will be reset to 0.\nconst SelectedItem = ({\n selectedItemIndex,\n setActiveItem,\n}: {\n selectedItemIndex?: number;\n setActiveItem: (value: number) => void;\n}) => {\n useEffect(() => {\n if (selectedItemIndex !== undefined && selectedItemIndex >= 0) {\n setActiveItem(selectedItemIndex);\n\n return () => {\n setActiveItem(0);\n };\n }\n }, [selectedItemIndex, setActiveItem]);\n return null;\n};\n\nconst SearchListFieldItems = <T extends object>({\n direction,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isLoading,\n items,\n label,\n onLoadMore,\n onMultiChange,\n onQueryChange,\n onSingleChange,\n open,\n placement,\n searchInputRef,\n selectRenderElements,\n setOpenPopover,\n triggerRef,\n value,\n}: SearchListFieldItemsProps<T>) => {\n const { loadMore, noResultsFound } = useDictionary();\n const { filteredItems, query, setQuery } = useFilterItemsByQuery<T>({\n getLabel,\n items,\n onQueryChange,\n });\n const { item: itemStyles } = sharedListItemStyles();\n const { isLoadMoreButtonFocused, loadMoreButtonRef, setIsLoadMoreButtonFocused } =\n useLoadMoreHook(open);\n\n const {\n activeItem,\n getItemIsSelected,\n onHoverChange,\n onKeyDown,\n selectedItemIndex,\n setActiveItem,\n toggleSelection,\n } = useItemSelection({\n disabledItemIdKeys,\n filteredItems,\n getItemId,\n loadMoreButtonRef,\n onMultiChange,\n onSingleChange,\n value,\n });\n\n const [triggerRefWidth, setTriggerRefWidth] = useState<number | undefined>(\n triggerRef.current?.offsetWidth,\n );\n useEventListener(\"resize\", () => {\n setTriggerRefWidth(triggerRef.current?.offsetWidth);\n });\n\n const triggerWidth = triggerRefWidth ?? triggerRef.current?.offsetWidth;\n\n const parentRef = useRef<HTMLDivElement>(null);\n\n const count = onLoadMore ? (filteredItems?.length ?? 0) + 1 : filteredItems?.length ?? 0;\n\n const virtualizer = useVirtualizer({\n count,\n estimateSize: () => 40,\n getScrollElement: () => parentRef.current,\n overscan: 6,\n });\n\n // Make sure we scroll to the activeItem if it changes.\n useEffect(() => {\n if (activeItem !== undefined && activeItem >= 0 && filteredItems?.length) {\n // if it's the last filtered item and a load more button is present, scroll to the load more button into view as well.\n if (activeItem === filteredItems.length - 1 && onLoadMore) {\n virtualizer.scrollToIndex(count);\n } else {\n virtualizer.scrollToIndex(Math.min(activeItem, count - 1));\n }\n }\n }, [activeItem, count, filteredItems.length, onLoadMore, virtualizer]);\n\n const virtualItems = virtualizer.getVirtualItems();\n\n return (\n <Popover\n className=\"p-1\"\n isOpen={open}\n disablePadding\n triggerRef={triggerRef}\n onOpenChange={setOpenPopover}\n aria-label={label}\n shouldUpdatePosition\n placement={placement}\n style={\n {\n width: triggerWidth && triggerWidth > 280 ? triggerWidth + \"px\" : \"280px\",\n direction,\n } as CSSProperties\n }\n >\n {open ? (\n <div className=\"gap-1\">\n <SearchInput\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n query={query}\n setQuery={(value) => {\n // Reset active item when query changes and set the query.\n // Using flushSync to make sure scroll to offset is called after the active item is set.\n flushSync(() => {\n setQuery(value);\n setActiveItem(0);\n });\n\n virtualizer.scrollToOffset(0);\n }}\n searchInputRef={searchInputRef}\n onKeyDown={onKeyDown}\n />\n <SelectedItem selectedItemIndex={selectedItemIndex} setActiveItem={setActiveItem} />\n <div\n ref={parentRef}\n className=\"w-full overflow-y-auto\"\n style={{\n contain: \"strict\",\n height: Math.min(288, virtualizer.getTotalSize() + (onLoadMore ? 4 : 0)),\n }}\n >\n <div\n className=\"relative w-full\"\n style={{\n height: virtualizer.getTotalSize(),\n }}\n >\n <div\n className=\"absolute start-0 top-0 w-full\"\n style={{\n transform: `translateY(${virtualItems?.[0]?.start ?? 0}px)`,\n }}\n >\n {virtualItems.map((virtualItem) => {\n const itemIsLastOfIndex = virtualItem.index === count - 1;\n\n if (itemIsLastOfIndex && onLoadMore) {\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <div>\n <Separator className=\"my-1\" />\n <AriaButton\n isDisabled={isLoading}\n onFocusChange={setIsLoadMoreButtonFocused}\n onHoverChange={setIsLoadMoreButtonFocused}\n ref={loadMoreButtonRef}\n className={itemStyles({\n className:\n \"w-full justify-start bg-transparent ps-6 text-base font-normal text-primary duration-0 active:text-inverted hover:bg-action-hover hover:text-inverted focus:bg-action-focus focus:text-inverted focus-visible:[box-shadow:none]\",\n })}\n onPress={() => {\n onLoadMore();\n\n // Focus input after loading more items\n searchInputRef.current?.focus();\n }}\n onKeyDown={(e) => {\n if (e.key === \"ArrowUp\") {\n e.preventDefault();\n searchInputRef.current?.focus();\n }\n }}\n >\n {loadMore}\n </AriaButton>\n </div>\n </div>\n );\n } else {\n const item = filteredItems[virtualItem.index];\n return (\n <div\n key={virtualItem.key}\n data-index={virtualItem.index}\n ref={virtualizer.measureElement}\n >\n <AriaButton\n key={getItemId(item)}\n className=\"w-full text-start outline-none\"\n onHoverChange={(isHovering) => {\n onHoverChange(isHovering, virtualItem.index);\n }}\n onPress={() => toggleSelection(item)}\n isDisabled={\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false\n }\n excludeFromTabOrder\n >\n <SharedListItem\n key={getItemId(item)}\n hasSelection\n item={item}\n state={{\n active: activeItem === virtualItem.index && !isLoadMoreButtonFocused,\n disabled:\n disabledItemIdKeys?.includes(getItemId(item) as string) ?? false,\n selected: getItemIsSelected(item),\n }}\n selectRenderElements={selectRenderElements}\n />\n </AriaButton>\n </div>\n );\n }\n })}\n </div>\n </div>\n </div>\n {count ? null : (\n <Text variant=\"body-medium\" color=\"secondary\" className=\"px-2.5\">\n {noResultsFound}\n </Text>\n )}\n </div>\n ) : null}\n </Popover>\n );\n};\n\nconst UncontrolledInputs = <T extends object>({\n getItemId,\n name,\n value,\n}: {\n name?: string;\n value?: T | T[];\n getItemId: (item: T) => Key;\n}) => {\n if (name) {\n if (Array.isArray(value)) {\n return value.map((v) => (\n <input key={getItemId(v)} type=\"hidden\" name={name} value={getItemId(v)} />\n ));\n } else if (value) {\n return <input type=\"hidden\" name={name} value={getItemId(value)} />;\n } else {\n return null;\n }\n }\n return null;\n};\n\nexport const SearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: SearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n isRequired={isRequired}\n />\n <div ref={triggerRef}>\n <SingleValueButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n open={isOpen}\n openPopover={openPopover}\n onChange={onSingleChange}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue as T | undefined}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n onLoadMore={onLoadMore}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n );\n};\n\nexport const MultiSearchListField = <T extends object>({\n defaultValue,\n description,\n disableClearLogic,\n disabledItemIdKeys,\n endSlot,\n errorMessage,\n fullWidth = true,\n getItemId,\n getLabel,\n hideHintLabel,\n hideInputFooter,\n hideInputHeader,\n isDisabled,\n isInvalid,\n isLoading,\n isRequired,\n items,\n label,\n labelId,\n name,\n onChange,\n onLoadMore,\n onQueryChange,\n placeholder,\n placement = \"bottom start\",\n selectRenderElements,\n startSlot,\n value,\n}: MultiSearchListFieldProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled: isDisabled || fieldGroupIsDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n const selectedValue = value ?? internalValue;\n\n return (\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <InputHeader\n label={label}\n isRequired={isRequired}\n hideHintLabel={hideHintLabel}\n hideInputHeader={hideInputHeader}\n labelId={labelId}\n />\n <div ref={triggerRef}>\n <MultipleValuesButton\n disableClearLogic={disableClearLogic}\n endSlot={endSlot}\n fullWidth={fullWidth}\n getLabel={getLabel}\n getItemId={getItemId}\n isDisabled={isDisabled}\n isInvalid={isInvalid}\n onChange={onMultiChange}\n open={isOpen}\n openPopover={openPopover}\n placeholder={placeholder}\n searchInputRef={searchInputRef}\n startSlot={startSlot}\n value={selectedValue}\n />\n </div>\n <InputFooter\n description={description}\n errorMessage={errorMessage}\n hideInputFooter={hideInputFooter}\n />\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n onMultiChange={onMultiChange}\n value={selectedValue}\n placement={placement}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n onLoadMore={onLoadMore}\n />\n </div>\n );\n};\n\nexport const SearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: SearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n const closePopover = () => setIsOpen(false);\n\n const onSingleChange = useCallback(\n (newValue?: T) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n closePopover();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n const { wrapper } = sharedInputStyles({\n fullWidth: false,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n return (\n <Provider\n values={[\n [\n ButtonContext,\n {\n onPress: () => openPopover(),\n isDisabled: isDisabled || fieldGroupIsDisabled,\n },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n triggerRef={triggerRef}\n label={label}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n searchInputRef={searchInputRef}\n placement={placement}\n value={selectedValue}\n onSingleChange={onSingleChange}\n />\n </div>\n </Provider>\n );\n};\n\nexport const MultiSearchListFieldWithCustomTrigger = <T extends object>({\n children,\n defaultValue,\n disabledItemIdKeys,\n fullWidth = true,\n getItemId,\n getLabel,\n isDisabled,\n isInvalid,\n isLoading,\n items,\n label,\n name,\n onChange,\n onQueryChange,\n placement = \"bottom start\",\n selectRenderElements,\n value,\n}: MultiSearchListFieldWithCustomTriggerProps<T>) => {\n const { isDisabled: fieldGroupIsDisabled } = useContext(FieldGroupContext);\n const searchInputRef = useRef<HTMLInputElement>(null);\n const comboBoxButtonRef = useRef<HTMLButtonElement>(null);\n const triggerRef = useRef<HTMLDivElement>(null);\n const [internalValue, setInternalValue] = useState<T[] | undefined>(value ?? defaultValue);\n const [isOpen, setIsOpen] = useState(false);\n const openPopover = () => {\n setIsOpen(true);\n comboBoxButtonRef.current?.click();\n };\n\n const onMultiChange = useCallback(\n (newValue?: T[]) => {\n setInternalValue(newValue);\n onChange?.(newValue);\n searchInputRef.current?.focus();\n },\n [onChange],\n );\n\n const { direction } = useLocale();\n\n const { wrapper } = sharedInputStyles({\n fullWidth,\n isInvalid,\n isDisabled,\n });\n\n // sync outside value changes with internal value\n useEffect(() => {\n setInternalValue(value ?? defaultValue);\n }, [defaultValue, value]);\n\n const selectedValue = value ?? internalValue;\n\n return (\n <Provider\n values={[\n [\n ButtonContext,\n { onPress: () => openPopover(), isDisabled: isDisabled || fieldGroupIsDisabled },\n ],\n ]}\n >\n <div>\n <UncontrolledInputs name={name} value={selectedValue} getItemId={getItemId} />\n <div className={wrapper()}>\n <div ref={triggerRef}>{children}</div>\n </div>\n <SearchListFieldItems<T>\n label={label}\n searchInputRef={searchInputRef}\n triggerRef={triggerRef}\n getItemId={getItemId}\n getLabel={getLabel}\n items={items}\n open={isOpen}\n setOpenPopover={setIsOpen}\n selectRenderElements={selectRenderElements}\n disabledItemIdKeys={disabledItemIdKeys}\n direction={direction}\n onQueryChange={onQueryChange}\n isLoading={isLoading}\n value={selectedValue}\n onMultiChange={onMultiChange}\n placement={placement}\n />\n </div>\n </Provider>\n );\n};\n"],"names":["SingleValueButton","disableClearLogic","endSlot","fullWidth","getLabel","isDisabled","isInvalid","onChange","open","openPopover","placeholder","searchInputRef","startSlot","value","buttonExcludedFromTabOrder","inputField","sharedInputStyles","onKeyDown","e","flushSync","jsxs","AriaButton","isFocused","isHovered","jsx","Fragment","Text","SvgIcon","MultipleValuesButton","getItemId","label","inputFieldStyles","useCallback","onRemove","keys","item","itemId","Group","clsx","InputTagGroup","InputTag","SearchInput","isLoading","onQueryChange","query","setQuery","id","useId","clear","search","useDictionary","showSpinner","useSpinDelay","useEffect","_a","Input","_b","event","Spinner","useLoadMoreHook","loadMoreButtonRef","useRef","isLoadMoreButtonFocused","setIsLoadMoreButtonFocused","useState","useItemSelection","disabledItemIdKeys","filteredItems","onMultiChange","onSingleChange","selectedItemIndex","useMemo","getPreviousItemIndex","activeIndex","i","getNextItemIndex","toggleSelection","currentValue","currentValueIds","newValue","v","getItemIsSelected","subValue","activeItem","setActiveItem","mousePosition","useMousePosition","previousMousePosition","currentActiveIndex","safeNextIndex","safePreviousIndex","onHoverChange","isHovering","index","SelectedItem","SearchListFieldItems","direction","items","onLoadMore","placement","selectRenderElements","setOpenPopover","triggerRef","loadMore","noResultsFound","useFilterItemsByQuery","itemStyles","sharedListItemStyles","triggerRefWidth","setTriggerRefWidth","useEventListener","triggerWidth","parentRef","count","virtualizer","useVirtualizer","virtualItems","Popover","_c","virtualItem","Separator","SharedListItem","UncontrolledInputs","name","SearchListField","defaultValue","description","errorMessage","hideHintLabel","hideInputFooter","hideInputHeader","isRequired","fieldGroupIsDisabled","useContext","FieldGroupContext","comboBoxButtonRef","internalValue","setInternalValue","isOpen","setIsOpen","closePopover","useLocale","wrapper","selectedValue","InputHeader","InputFooter","MultiSearchListField","labelId","SearchListFieldWithCustomTrigger","children","Provider","ButtonContext","MultiSearchListFieldWithCustomTrigger"],"mappings":"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"}