@new-black/lyra 1.0.22 → 1.0.24

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 (853) hide show
  1. package/README.md +30 -0
  2. package/dist/components/inputs/search-list-field/search-list-field.d.ts +2 -2
  3. package/dist/components/inputs/search-list-field/search-list-field.d.ts.map +1 -1
  4. package/dist/components/table/table.styles.d.ts +28 -0
  5. package/dist/components/table/table.styles.d.ts.map +1 -1
  6. package/dist/components/table/table.types.d.ts +1 -1
  7. package/dist/components/table/table.types.d.ts.map +1 -1
  8. package/dist/lyra183.cjs +1 -1
  9. package/dist/lyra183.js +34 -34
  10. package/dist/lyra221.cjs +1 -1
  11. package/dist/lyra221.js +2 -2
  12. package/dist/lyra222.cjs +1 -1
  13. package/dist/lyra222.js +1 -1
  14. package/dist/lyra223.cjs +1 -1
  15. package/dist/lyra223.js +2 -2
  16. package/dist/lyra226.cjs +1 -1
  17. package/dist/lyra226.js +35 -35
  18. package/dist/lyra23.cjs +1 -1
  19. package/dist/lyra23.js +1 -1
  20. package/dist/lyra25.cjs +1 -1
  21. package/dist/lyra25.js +1 -1
  22. package/dist/lyra27.cjs +1 -1
  23. package/dist/lyra27.js +2 -2
  24. package/dist/lyra34.cjs +1 -1
  25. package/dist/lyra34.js +3 -3
  26. package/dist/lyra36.cjs +1 -1
  27. package/dist/lyra36.js +6 -6
  28. package/dist/lyra37.cjs +1 -1
  29. package/dist/lyra37.cjs.map +1 -1
  30. package/dist/lyra37.js +305 -301
  31. package/dist/lyra37.js.map +1 -1
  32. package/dist/lyra43.cjs +1 -1
  33. package/dist/lyra43.js +3 -3
  34. package/dist/lyra453.cjs +1 -1
  35. package/dist/lyra453.cjs.map +1 -1
  36. package/dist/lyra453.js +22 -81
  37. package/dist/lyra453.js.map +1 -1
  38. package/dist/lyra454.cjs +1 -1
  39. package/dist/lyra454.cjs.map +1 -1
  40. package/dist/lyra454.js +90 -44
  41. package/dist/lyra454.js.map +1 -1
  42. package/dist/lyra455.cjs +1 -1
  43. package/dist/lyra455.cjs.map +1 -1
  44. package/dist/lyra455.js +43 -13
  45. package/dist/lyra455.js.map +1 -1
  46. package/dist/lyra456.cjs +1 -1
  47. package/dist/lyra456.cjs.map +1 -1
  48. package/dist/lyra456.js +50 -10
  49. package/dist/lyra456.js.map +1 -1
  50. package/dist/lyra457.cjs +1 -1
  51. package/dist/lyra457.cjs.map +1 -1
  52. package/dist/lyra457.js +51 -12
  53. package/dist/lyra457.js.map +1 -1
  54. package/dist/lyra458.cjs +1 -1
  55. package/dist/lyra458.cjs.map +1 -1
  56. package/dist/lyra458.js +7 -31
  57. package/dist/lyra458.js.map +1 -1
  58. package/dist/lyra459.cjs +1 -1
  59. package/dist/lyra459.cjs.map +1 -1
  60. package/dist/lyra459.js +56 -46
  61. package/dist/lyra459.js.map +1 -1
  62. package/dist/lyra460.cjs +1 -1
  63. package/dist/lyra460.cjs.map +1 -1
  64. package/dist/lyra460.js +37 -53
  65. package/dist/lyra460.js.map +1 -1
  66. package/dist/lyra461.cjs +5 -1
  67. package/dist/lyra461.cjs.map +1 -1
  68. package/dist/lyra461.js +2557 -6
  69. package/dist/lyra461.js.map +1 -1
  70. package/dist/lyra462.cjs +1 -1
  71. package/dist/lyra462.cjs.map +1 -1
  72. package/dist/lyra462.js +51 -59
  73. package/dist/lyra462.js.map +1 -1
  74. package/dist/lyra463.cjs +1 -1
  75. package/dist/lyra463.cjs.map +1 -1
  76. package/dist/lyra463.js +14 -37
  77. package/dist/lyra463.js.map +1 -1
  78. package/dist/lyra464.cjs +1 -5
  79. package/dist/lyra464.cjs.map +1 -1
  80. package/dist/lyra464.js +13 -2557
  81. package/dist/lyra464.js.map +1 -1
  82. package/dist/lyra465.cjs +1 -1
  83. package/dist/lyra465.cjs.map +1 -1
  84. package/dist/lyra465.js +11 -53
  85. package/dist/lyra465.js.map +1 -1
  86. package/dist/lyra467.cjs +1 -1
  87. package/dist/lyra467.js +1 -1
  88. package/dist/lyra468.cjs +1 -1
  89. package/dist/lyra468.js +1 -1
  90. package/dist/lyra469.cjs +10 -1
  91. package/dist/lyra469.cjs.map +1 -1
  92. package/dist/lyra469.js +96 -5
  93. package/dist/lyra469.js.map +1 -1
  94. package/dist/lyra470.cjs +1 -1
  95. package/dist/lyra470.cjs.map +1 -1
  96. package/dist/lyra470.js +305 -4
  97. package/dist/lyra470.js.map +1 -1
  98. package/dist/lyra471.cjs +1 -1
  99. package/dist/lyra471.cjs.map +1 -1
  100. package/dist/lyra471.js +56 -5
  101. package/dist/lyra471.js.map +1 -1
  102. package/dist/lyra472.cjs +13 -1
  103. package/dist/lyra472.cjs.map +1 -1
  104. package/dist/lyra472.js +1679 -4
  105. package/dist/lyra472.js.map +1 -1
  106. package/dist/lyra473.cjs +1 -1
  107. package/dist/lyra473.cjs.map +1 -1
  108. package/dist/lyra473.js +9 -5
  109. package/dist/lyra473.js.map +1 -1
  110. package/dist/lyra474.cjs +1 -1
  111. package/dist/lyra474.cjs.map +1 -1
  112. package/dist/lyra474.js +3 -1
  113. package/dist/lyra474.js.map +1 -1
  114. package/dist/lyra475.cjs +1 -1
  115. package/dist/lyra475.cjs.map +1 -1
  116. package/dist/lyra475.js +6 -4
  117. package/dist/lyra475.js.map +1 -1
  118. package/dist/lyra476.cjs +1 -1
  119. package/dist/lyra476.cjs.map +1 -1
  120. package/dist/lyra476.js +6 -4
  121. package/dist/lyra476.js.map +1 -1
  122. package/dist/lyra477.cjs +1 -1
  123. package/dist/lyra477.cjs.map +1 -1
  124. package/dist/lyra477.js +6 -4
  125. package/dist/lyra477.js.map +1 -1
  126. package/dist/lyra478.cjs +1 -1
  127. package/dist/lyra478.cjs.map +1 -1
  128. package/dist/lyra478.js +3 -1
  129. package/dist/lyra478.js.map +1 -1
  130. package/dist/lyra479.cjs +1 -1
  131. package/dist/lyra479.cjs.map +1 -1
  132. package/dist/lyra479.js +6 -4
  133. package/dist/lyra479.js.map +1 -1
  134. package/dist/lyra480.cjs +1 -1
  135. package/dist/lyra480.cjs.map +1 -1
  136. package/dist/lyra480.js +6 -4
  137. package/dist/lyra480.js.map +1 -1
  138. package/dist/lyra481.cjs +1 -1
  139. package/dist/lyra481.cjs.map +1 -1
  140. package/dist/lyra481.js +6 -4
  141. package/dist/lyra481.js.map +1 -1
  142. package/dist/lyra482.cjs +1 -1
  143. package/dist/lyra482.cjs.map +1 -1
  144. package/dist/lyra482.js +3 -1
  145. package/dist/lyra482.js.map +1 -1
  146. package/dist/lyra483.cjs +1 -1
  147. package/dist/lyra483.cjs.map +1 -1
  148. package/dist/lyra483.js +3 -1
  149. package/dist/lyra483.js.map +1 -1
  150. package/dist/lyra484.cjs +1 -1
  151. package/dist/lyra484.cjs.map +1 -1
  152. package/dist/lyra484.js +3 -1
  153. package/dist/lyra484.js.map +1 -1
  154. package/dist/lyra485.cjs +1 -1
  155. package/dist/lyra485.cjs.map +1 -1
  156. package/dist/lyra485.js +3 -1
  157. package/dist/lyra485.js.map +1 -1
  158. package/dist/lyra486.cjs +1 -1
  159. package/dist/lyra486.cjs.map +1 -1
  160. package/dist/lyra486.js +6 -4
  161. package/dist/lyra486.js.map +1 -1
  162. package/dist/lyra487.cjs +1 -1
  163. package/dist/lyra487.cjs.map +1 -1
  164. package/dist/lyra487.js +6 -4
  165. package/dist/lyra487.js.map +1 -1
  166. package/dist/lyra488.cjs +1 -1
  167. package/dist/lyra488.cjs.map +1 -1
  168. package/dist/lyra488.js +6 -4
  169. package/dist/lyra488.js.map +1 -1
  170. package/dist/lyra489.cjs +1 -1
  171. package/dist/lyra489.cjs.map +1 -1
  172. package/dist/lyra489.js +6 -4
  173. package/dist/lyra489.js.map +1 -1
  174. package/dist/lyra49.cjs +1 -1
  175. package/dist/lyra49.js +1 -1
  176. package/dist/lyra490.cjs +1 -1
  177. package/dist/lyra490.cjs.map +1 -1
  178. package/dist/lyra490.js +3 -1
  179. package/dist/lyra490.js.map +1 -1
  180. package/dist/lyra491.cjs +1 -1
  181. package/dist/lyra491.cjs.map +1 -1
  182. package/dist/lyra491.js +6 -4
  183. package/dist/lyra491.js.map +1 -1
  184. package/dist/lyra492.cjs +1 -1
  185. package/dist/lyra492.cjs.map +1 -1
  186. package/dist/lyra492.js +6 -4
  187. package/dist/lyra492.js.map +1 -1
  188. package/dist/lyra493.cjs +1 -1
  189. package/dist/lyra493.cjs.map +1 -1
  190. package/dist/lyra493.js +3 -1
  191. package/dist/lyra493.js.map +1 -1
  192. package/dist/lyra494.cjs +1 -1
  193. package/dist/lyra494.cjs.map +1 -1
  194. package/dist/lyra494.js +6 -4
  195. package/dist/lyra494.js.map +1 -1
  196. package/dist/lyra495.cjs +1 -1
  197. package/dist/lyra495.cjs.map +1 -1
  198. package/dist/lyra495.js +3 -1
  199. package/dist/lyra495.js.map +1 -1
  200. package/dist/lyra496.cjs +1 -1
  201. package/dist/lyra496.cjs.map +1 -1
  202. package/dist/lyra496.js +3 -1
  203. package/dist/lyra496.js.map +1 -1
  204. package/dist/lyra497.cjs +1 -1
  205. package/dist/lyra497.cjs.map +1 -1
  206. package/dist/lyra497.js +6 -4
  207. package/dist/lyra497.js.map +1 -1
  208. package/dist/lyra498.cjs +1 -1
  209. package/dist/lyra498.cjs.map +1 -1
  210. package/dist/lyra498.js +3 -1
  211. package/dist/lyra498.js.map +1 -1
  212. package/dist/lyra499.cjs +1 -1
  213. package/dist/lyra499.cjs.map +1 -1
  214. package/dist/lyra499.js +6 -4
  215. package/dist/lyra499.js.map +1 -1
  216. package/dist/lyra50.cjs +1 -1
  217. package/dist/lyra50.js +2 -2
  218. package/dist/lyra500.cjs +1 -1
  219. package/dist/lyra500.cjs.map +1 -1
  220. package/dist/lyra500.js +6 -4
  221. package/dist/lyra500.js.map +1 -1
  222. package/dist/lyra501.cjs +1 -1
  223. package/dist/lyra501.cjs.map +1 -1
  224. package/dist/lyra501.js +3 -1
  225. package/dist/lyra501.js.map +1 -1
  226. package/dist/lyra502.cjs +1 -1
  227. package/dist/lyra502.cjs.map +1 -1
  228. package/dist/lyra502.js +6 -4
  229. package/dist/lyra502.js.map +1 -1
  230. package/dist/lyra503.cjs +1 -10
  231. package/dist/lyra503.cjs.map +1 -1
  232. package/dist/lyra503.js +7 -96
  233. package/dist/lyra503.js.map +1 -1
  234. package/dist/lyra504.cjs +1 -1
  235. package/dist/lyra504.cjs.map +1 -1
  236. package/dist/lyra504.js +6 -305
  237. package/dist/lyra504.js.map +1 -1
  238. package/dist/lyra505.cjs +1 -1
  239. package/dist/lyra505.cjs.map +1 -1
  240. package/dist/lyra505.js +7 -56
  241. package/dist/lyra505.js.map +1 -1
  242. package/dist/lyra506.cjs +1 -13
  243. package/dist/lyra506.cjs.map +1 -1
  244. package/dist/lyra506.js +6 -1679
  245. package/dist/lyra506.js.map +1 -1
  246. package/dist/lyra507.cjs +1 -1
  247. package/dist/lyra507.cjs.map +1 -1
  248. package/dist/lyra507.js +7 -9
  249. package/dist/lyra507.js.map +1 -1
  250. package/dist/lyra508.cjs +1 -1
  251. package/dist/lyra508.cjs.map +1 -1
  252. package/dist/lyra508.js +6 -7
  253. package/dist/lyra508.js.map +1 -1
  254. package/dist/lyra509.cjs +1 -1
  255. package/dist/lyra509.cjs.map +1 -1
  256. package/dist/lyra509.js +78 -7
  257. package/dist/lyra509.js.map +1 -1
  258. package/dist/lyra51.cjs +1 -1
  259. package/dist/lyra51.js +2 -2
  260. package/dist/lyra510.cjs +1 -1
  261. package/dist/lyra510.cjs.map +1 -1
  262. package/dist/lyra510.js +257 -6
  263. package/dist/lyra510.js.map +1 -1
  264. package/dist/lyra511.cjs +1 -1
  265. package/dist/lyra511.cjs.map +1 -1
  266. package/dist/lyra511.js +27 -7
  267. package/dist/lyra511.js.map +1 -1
  268. package/dist/lyra512.cjs +1 -1
  269. package/dist/lyra512.cjs.map +1 -1
  270. package/dist/lyra512.js +30 -7
  271. package/dist/lyra512.js.map +1 -1
  272. package/dist/lyra513.cjs +1 -1
  273. package/dist/lyra513.cjs.map +1 -1
  274. package/dist/lyra513.js +36 -7
  275. package/dist/lyra513.js.map +1 -1
  276. package/dist/lyra514.cjs +1 -1
  277. package/dist/lyra514.cjs.map +1 -1
  278. package/dist/lyra514.js +357 -7
  279. package/dist/lyra514.js.map +1 -1
  280. package/dist/lyra515.cjs +1 -1
  281. package/dist/lyra515.cjs.map +1 -1
  282. package/dist/lyra515.js +39 -7
  283. package/dist/lyra515.js.map +1 -1
  284. package/dist/lyra516.cjs +1 -1
  285. package/dist/lyra516.cjs.map +1 -1
  286. package/dist/lyra516.js +135 -7
  287. package/dist/lyra516.js.map +1 -1
  288. package/dist/lyra517.cjs +1 -1
  289. package/dist/lyra517.cjs.map +1 -1
  290. package/dist/lyra517.js +1150 -6
  291. package/dist/lyra517.js.map +1 -1
  292. package/dist/lyra518.cjs +1 -1
  293. package/dist/lyra518.cjs.map +1 -1
  294. package/dist/lyra518.js +82 -7
  295. package/dist/lyra518.js.map +1 -1
  296. package/dist/lyra519.cjs +1 -1
  297. package/dist/lyra519.cjs.map +1 -1
  298. package/dist/lyra519.js +106 -7
  299. package/dist/lyra519.js.map +1 -1
  300. package/dist/lyra520.cjs +1 -1
  301. package/dist/lyra520.cjs.map +1 -1
  302. package/dist/lyra520.js +13 -7
  303. package/dist/lyra520.js.map +1 -1
  304. package/dist/lyra521.cjs +1 -1
  305. package/dist/lyra521.cjs.map +1 -1
  306. package/dist/lyra521.js +29 -7
  307. package/dist/lyra521.js.map +1 -1
  308. package/dist/lyra522.cjs +1 -1
  309. package/dist/lyra522.cjs.map +1 -1
  310. package/dist/lyra522.js +1 -3
  311. package/dist/lyra522.js.map +1 -1
  312. package/dist/lyra523.cjs +1 -1
  313. package/dist/lyra523.cjs.map +1 -1
  314. package/dist/lyra523.js +1 -3
  315. package/dist/lyra523.js.map +1 -1
  316. package/dist/lyra524.cjs +1 -1
  317. package/dist/lyra524.cjs.map +1 -1
  318. package/dist/lyra524.js +1 -3
  319. package/dist/lyra524.js.map +1 -1
  320. package/dist/lyra525.cjs +1 -1
  321. package/dist/lyra525.cjs.map +1 -1
  322. package/dist/lyra525.js +4 -6
  323. package/dist/lyra525.js.map +1 -1
  324. package/dist/lyra526.cjs +1 -1
  325. package/dist/lyra526.cjs.map +1 -1
  326. package/dist/lyra526.js +1 -3
  327. package/dist/lyra526.js.map +1 -1
  328. package/dist/lyra527.cjs +1 -1
  329. package/dist/lyra527.cjs.map +1 -1
  330. package/dist/lyra527.js +4 -6
  331. package/dist/lyra527.js.map +1 -1
  332. package/dist/lyra528.cjs +1 -1
  333. package/dist/lyra528.cjs.map +1 -1
  334. package/dist/lyra528.js +1 -3
  335. package/dist/lyra528.js.map +1 -1
  336. package/dist/lyra529.cjs +1 -1
  337. package/dist/lyra529.cjs.map +1 -1
  338. package/dist/lyra529.js +4 -6
  339. package/dist/lyra529.js.map +1 -1
  340. package/dist/lyra530.cjs +1 -1
  341. package/dist/lyra530.cjs.map +1 -1
  342. package/dist/lyra530.js +4 -6
  343. package/dist/lyra530.js.map +1 -1
  344. package/dist/lyra531.cjs +1 -1
  345. package/dist/lyra531.cjs.map +1 -1
  346. package/dist/lyra531.js +1 -3
  347. package/dist/lyra531.js.map +1 -1
  348. package/dist/lyra532.cjs +1 -1
  349. package/dist/lyra532.cjs.map +1 -1
  350. package/dist/lyra532.js +4 -6
  351. package/dist/lyra532.js.map +1 -1
  352. package/dist/lyra533.cjs +1 -1
  353. package/dist/lyra533.cjs.map +1 -1
  354. package/dist/lyra533.js +4 -6
  355. package/dist/lyra533.js.map +1 -1
  356. package/dist/lyra534.cjs +1 -1
  357. package/dist/lyra534.cjs.map +1 -1
  358. package/dist/lyra534.js +4 -6
  359. package/dist/lyra534.js.map +1 -1
  360. package/dist/lyra535.cjs +1 -1
  361. package/dist/lyra535.cjs.map +1 -1
  362. package/dist/lyra535.js +1 -3
  363. package/dist/lyra535.js.map +1 -1
  364. package/dist/lyra536.cjs +1 -1
  365. package/dist/lyra536.cjs.map +1 -1
  366. package/dist/lyra536.js +1 -3
  367. package/dist/lyra536.js.map +1 -1
  368. package/dist/lyra537.cjs +1 -1
  369. package/dist/lyra537.cjs.map +1 -1
  370. package/dist/lyra537.js +1 -3
  371. package/dist/lyra537.js.map +1 -1
  372. package/dist/lyra538.cjs +1 -1
  373. package/dist/lyra538.cjs.map +1 -1
  374. package/dist/lyra538.js +4 -6
  375. package/dist/lyra538.js.map +1 -1
  376. package/dist/lyra539.cjs +1 -1
  377. package/dist/lyra539.cjs.map +1 -1
  378. package/dist/lyra539.js +4 -6
  379. package/dist/lyra539.js.map +1 -1
  380. package/dist/lyra540.cjs +1 -1
  381. package/dist/lyra540.cjs.map +1 -1
  382. package/dist/lyra540.js +4 -6
  383. package/dist/lyra540.js.map +1 -1
  384. package/dist/lyra541.cjs +1 -1
  385. package/dist/lyra541.cjs.map +1 -1
  386. package/dist/lyra541.js +4 -6
  387. package/dist/lyra541.js.map +1 -1
  388. package/dist/lyra542.cjs +1 -1
  389. package/dist/lyra542.cjs.map +1 -1
  390. package/dist/lyra542.js +5 -6
  391. package/dist/lyra542.js.map +1 -1
  392. package/dist/lyra543.cjs +1 -1
  393. package/dist/lyra543.cjs.map +1 -1
  394. package/dist/lyra543.js +5 -78
  395. package/dist/lyra543.js.map +1 -1
  396. package/dist/lyra544.cjs +1 -1
  397. package/dist/lyra544.cjs.map +1 -1
  398. package/dist/lyra544.js +4 -257
  399. package/dist/lyra544.js.map +1 -1
  400. package/dist/lyra545.cjs +1 -1
  401. package/dist/lyra545.cjs.map +1 -1
  402. package/dist/lyra545.js +5 -27
  403. package/dist/lyra545.js.map +1 -1
  404. package/dist/lyra546.cjs +1 -1
  405. package/dist/lyra546.cjs.map +1 -1
  406. package/dist/lyra546.js +5 -30
  407. package/dist/lyra546.js.map +1 -1
  408. package/dist/lyra547.cjs +1 -1
  409. package/dist/lyra547.cjs.map +1 -1
  410. package/dist/lyra547.js +5 -36
  411. package/dist/lyra547.js.map +1 -1
  412. package/dist/lyra548.cjs +1 -1
  413. package/dist/lyra548.cjs.map +1 -1
  414. package/dist/lyra548.js +5 -357
  415. package/dist/lyra548.js.map +1 -1
  416. package/dist/lyra549.cjs +1 -1
  417. package/dist/lyra549.cjs.map +1 -1
  418. package/dist/lyra549.js +5 -39
  419. package/dist/lyra549.js.map +1 -1
  420. package/dist/lyra550.cjs +1 -1
  421. package/dist/lyra550.cjs.map +1 -1
  422. package/dist/lyra550.js +5 -135
  423. package/dist/lyra550.js.map +1 -1
  424. package/dist/lyra551.cjs +1 -1
  425. package/dist/lyra551.cjs.map +1 -1
  426. package/dist/lyra551.js +4 -1150
  427. package/dist/lyra551.js.map +1 -1
  428. package/dist/lyra552.cjs +1 -1
  429. package/dist/lyra552.cjs.map +1 -1
  430. package/dist/lyra552.js +5 -82
  431. package/dist/lyra552.js.map +1 -1
  432. package/dist/lyra553.cjs +1 -1
  433. package/dist/lyra553.cjs.map +1 -1
  434. package/dist/lyra553.js +5 -106
  435. package/dist/lyra553.js.map +1 -1
  436. package/dist/lyra554.cjs +1 -1
  437. package/dist/lyra554.cjs.map +1 -1
  438. package/dist/lyra554.js +5 -13
  439. package/dist/lyra554.js.map +1 -1
  440. package/dist/lyra555.cjs +1 -1
  441. package/dist/lyra555.cjs.map +1 -1
  442. package/dist/lyra555.js +5 -29
  443. package/dist/lyra555.js.map +1 -1
  444. package/dist/lyra557.cjs +1 -1
  445. package/dist/lyra557.cjs.map +1 -1
  446. package/dist/lyra557.js +14 -5
  447. package/dist/lyra557.js.map +1 -1
  448. package/dist/lyra558.cjs +1 -1
  449. package/dist/lyra558.cjs.map +1 -1
  450. package/dist/lyra558.js +14 -7
  451. package/dist/lyra558.js.map +1 -1
  452. package/dist/lyra559.cjs +1 -1
  453. package/dist/lyra559.cjs.map +1 -1
  454. package/dist/lyra559.js +14 -6
  455. package/dist/lyra559.js.map +1 -1
  456. package/dist/lyra560.cjs +1 -1
  457. package/dist/lyra560.cjs.map +1 -1
  458. package/dist/lyra560.js +14 -11
  459. package/dist/lyra560.js.map +1 -1
  460. package/dist/lyra561.cjs +1 -1
  461. package/dist/lyra561.cjs.map +1 -1
  462. package/dist/lyra561.js +12 -12
  463. package/dist/lyra561.js.map +1 -1
  464. package/dist/lyra562.cjs +1 -1
  465. package/dist/lyra562.cjs.map +1 -1
  466. package/dist/lyra562.js +12 -12
  467. package/dist/lyra562.js.map +1 -1
  468. package/dist/lyra563.cjs +1 -1
  469. package/dist/lyra563.cjs.map +1 -1
  470. package/dist/lyra563.js +12 -12
  471. package/dist/lyra563.js.map +1 -1
  472. package/dist/lyra564.cjs +1 -1
  473. package/dist/lyra564.cjs.map +1 -1
  474. package/dist/lyra564.js +9 -9
  475. package/dist/lyra564.js.map +1 -1
  476. package/dist/lyra565.cjs +1 -1
  477. package/dist/lyra565.cjs.map +1 -1
  478. package/dist/lyra565.js +8 -8
  479. package/dist/lyra565.js.map +1 -1
  480. package/dist/lyra566.cjs +1 -1
  481. package/dist/lyra566.cjs.map +1 -1
  482. package/dist/lyra566.js +12 -12
  483. package/dist/lyra566.js.map +1 -1
  484. package/dist/lyra567.cjs +1 -1
  485. package/dist/lyra567.cjs.map +1 -1
  486. package/dist/lyra567.js +9 -9
  487. package/dist/lyra567.js.map +1 -1
  488. package/dist/lyra568.cjs +1 -1
  489. package/dist/lyra568.cjs.map +1 -1
  490. package/dist/lyra568.js +12 -12
  491. package/dist/lyra568.js.map +1 -1
  492. package/dist/lyra569.cjs +1 -1
  493. package/dist/lyra569.cjs.map +1 -1
  494. package/dist/lyra569.js +9 -9
  495. package/dist/lyra569.js.map +1 -1
  496. package/dist/lyra570.cjs +1 -1
  497. package/dist/lyra570.cjs.map +1 -1
  498. package/dist/lyra570.js +12 -12
  499. package/dist/lyra570.js.map +1 -1
  500. package/dist/lyra571.cjs +1 -1
  501. package/dist/lyra571.cjs.map +1 -1
  502. package/dist/lyra571.js +12 -12
  503. package/dist/lyra571.js.map +1 -1
  504. package/dist/lyra572.cjs +1 -1
  505. package/dist/lyra572.cjs.map +1 -1
  506. package/dist/lyra572.js +13 -13
  507. package/dist/lyra572.js.map +1 -1
  508. package/dist/lyra573.cjs +1 -1
  509. package/dist/lyra573.cjs.map +1 -1
  510. package/dist/lyra573.js +12 -12
  511. package/dist/lyra573.js.map +1 -1
  512. package/dist/lyra574.cjs +1 -1
  513. package/dist/lyra574.cjs.map +1 -1
  514. package/dist/lyra574.js +12 -12
  515. package/dist/lyra574.js.map +1 -1
  516. package/dist/lyra575.cjs +1 -1
  517. package/dist/lyra575.cjs.map +1 -1
  518. package/dist/lyra575.js +12 -12
  519. package/dist/lyra575.js.map +1 -1
  520. package/dist/lyra576.cjs +1 -1
  521. package/dist/lyra576.cjs.map +1 -1
  522. package/dist/lyra576.js +13 -13
  523. package/dist/lyra576.js.map +1 -1
  524. package/dist/lyra577.cjs +1 -1
  525. package/dist/lyra577.cjs.map +1 -1
  526. package/dist/lyra577.js +12 -12
  527. package/dist/lyra577.js.map +1 -1
  528. package/dist/lyra578.cjs +1 -1
  529. package/dist/lyra578.cjs.map +1 -1
  530. package/dist/lyra578.js +12 -12
  531. package/dist/lyra578.js.map +1 -1
  532. package/dist/lyra579.cjs +1 -1
  533. package/dist/lyra579.cjs.map +1 -1
  534. package/dist/lyra579.js +12 -12
  535. package/dist/lyra579.js.map +1 -1
  536. package/dist/lyra580.cjs +1 -1
  537. package/dist/lyra580.cjs.map +1 -1
  538. package/dist/lyra580.js +12 -12
  539. package/dist/lyra580.js.map +1 -1
  540. package/dist/lyra581.cjs +1 -1
  541. package/dist/lyra581.cjs.map +1 -1
  542. package/dist/lyra581.js +8 -8
  543. package/dist/lyra581.js.map +1 -1
  544. package/dist/lyra582.cjs +1 -1
  545. package/dist/lyra582.cjs.map +1 -1
  546. package/dist/lyra582.js +12 -12
  547. package/dist/lyra582.js.map +1 -1
  548. package/dist/lyra583.cjs +1 -1
  549. package/dist/lyra583.cjs.map +1 -1
  550. package/dist/lyra583.js +12 -12
  551. package/dist/lyra583.js.map +1 -1
  552. package/dist/lyra584.cjs +1 -1
  553. package/dist/lyra584.cjs.map +1 -1
  554. package/dist/lyra584.js +12 -12
  555. package/dist/lyra584.js.map +1 -1
  556. package/dist/lyra585.cjs +1 -1
  557. package/dist/lyra585.cjs.map +1 -1
  558. package/dist/lyra585.js +12 -12
  559. package/dist/lyra585.js.map +1 -1
  560. package/dist/lyra586.cjs +1 -1
  561. package/dist/lyra586.cjs.map +1 -1
  562. package/dist/lyra586.js +12 -12
  563. package/dist/lyra586.js.map +1 -1
  564. package/dist/lyra587.cjs +1 -1
  565. package/dist/lyra587.cjs.map +1 -1
  566. package/dist/lyra587.js +12 -12
  567. package/dist/lyra587.js.map +1 -1
  568. package/dist/lyra588.cjs +1 -1
  569. package/dist/lyra588.cjs.map +1 -1
  570. package/dist/lyra588.js +12 -12
  571. package/dist/lyra588.js.map +1 -1
  572. package/dist/lyra589.cjs +1 -1
  573. package/dist/lyra589.cjs.map +1 -1
  574. package/dist/lyra589.js +13 -13
  575. package/dist/lyra589.js.map +1 -1
  576. package/dist/lyra59.cjs +1 -1
  577. package/dist/lyra59.js +7 -7
  578. package/dist/lyra590.cjs +1 -1
  579. package/dist/lyra590.cjs.map +1 -1
  580. package/dist/lyra590.js +13 -13
  581. package/dist/lyra590.js.map +1 -1
  582. package/dist/lyra591.cjs +1 -1
  583. package/dist/lyra591.cjs.map +1 -1
  584. package/dist/lyra591.js +144 -14
  585. package/dist/lyra591.js.map +1 -1
  586. package/dist/lyra592.cjs +1 -1
  587. package/dist/lyra592.cjs.map +1 -1
  588. package/dist/lyra592.js +5 -14
  589. package/dist/lyra592.js.map +1 -1
  590. package/dist/lyra593.cjs +1 -1
  591. package/dist/lyra593.cjs.map +1 -1
  592. package/dist/lyra593.js +7 -14
  593. package/dist/lyra593.js.map +1 -1
  594. package/dist/lyra594.cjs +1 -1
  595. package/dist/lyra594.cjs.map +1 -1
  596. package/dist/lyra594.js +6 -14
  597. package/dist/lyra594.js.map +1 -1
  598. package/dist/lyra595.cjs +1 -1
  599. package/dist/lyra595.cjs.map +1 -1
  600. package/dist/lyra595.js +9 -142
  601. package/dist/lyra595.js.map +1 -1
  602. package/dist/lyra596.cjs +1 -1
  603. package/dist/lyra596.cjs.map +1 -1
  604. package/dist/lyra596.js +17 -4
  605. package/dist/lyra596.js.map +1 -1
  606. package/dist/lyra597.cjs +1 -1
  607. package/dist/lyra597.cjs.map +1 -1
  608. package/dist/lyra597.js +4 -17
  609. package/dist/lyra597.js.map +1 -1
  610. package/dist/lyra598.cjs +1 -1
  611. package/dist/lyra598.cjs.map +1 -1
  612. package/dist/lyra598.js +4 -4
  613. package/dist/lyra598.js.map +1 -1
  614. package/dist/lyra60.cjs +1 -1
  615. package/dist/lyra60.js +3 -3
  616. package/dist/lyra604.cjs +1 -1
  617. package/dist/lyra604.cjs.map +1 -1
  618. package/dist/lyra604.js +233 -2
  619. package/dist/lyra604.js.map +1 -1
  620. package/dist/lyra605.cjs +1 -1
  621. package/dist/lyra605.cjs.map +1 -1
  622. package/dist/lyra605.js +16 -2
  623. package/dist/lyra605.js.map +1 -1
  624. package/dist/lyra606.cjs +1 -1
  625. package/dist/lyra606.cjs.map +1 -1
  626. package/dist/lyra606.js +477 -181
  627. package/dist/lyra606.js.map +1 -1
  628. package/dist/lyra607.cjs +1 -1
  629. package/dist/lyra607.cjs.map +1 -1
  630. package/dist/lyra607.js +65 -78
  631. package/dist/lyra607.js.map +1 -1
  632. package/dist/lyra608.cjs +1 -1
  633. package/dist/lyra608.cjs.map +1 -1
  634. package/dist/lyra608.js +13 -44
  635. package/dist/lyra608.js.map +1 -1
  636. package/dist/lyra609.cjs +1 -1
  637. package/dist/lyra609.cjs.map +1 -1
  638. package/dist/lyra609.js +2 -16
  639. package/dist/lyra609.js.map +1 -1
  640. package/dist/lyra61.cjs +1 -1
  641. package/dist/lyra61.js +9 -9
  642. package/dist/lyra610.cjs +1 -1
  643. package/dist/lyra610.cjs.map +1 -1
  644. package/dist/lyra610.js +2 -3
  645. package/dist/lyra610.js.map +1 -1
  646. package/dist/lyra611.cjs +1 -1
  647. package/dist/lyra611.cjs.map +1 -1
  648. package/dist/lyra611.js +52 -14
  649. package/dist/lyra611.js.map +1 -1
  650. package/dist/lyra612.cjs +1 -1
  651. package/dist/lyra612.cjs.map +1 -1
  652. package/dist/lyra612.js +78 -32
  653. package/dist/lyra612.js.map +1 -1
  654. package/dist/lyra613.cjs +1 -1
  655. package/dist/lyra613.cjs.map +1 -1
  656. package/dist/lyra613.js +43 -6
  657. package/dist/lyra613.js.map +1 -1
  658. package/dist/lyra614.cjs +1 -1
  659. package/dist/lyra614.cjs.map +1 -1
  660. package/dist/lyra614.js +182 -229
  661. package/dist/lyra614.js.map +1 -1
  662. package/dist/lyra615.cjs +1 -1
  663. package/dist/lyra615.cjs.map +1 -1
  664. package/dist/lyra615.js +15 -15
  665. package/dist/lyra615.js.map +1 -1
  666. package/dist/lyra616.cjs +1 -1
  667. package/dist/lyra616.cjs.map +1 -1
  668. package/dist/lyra616.js +3 -482
  669. package/dist/lyra616.js.map +1 -1
  670. package/dist/lyra617.cjs +1 -1
  671. package/dist/lyra617.cjs.map +1 -1
  672. package/dist/lyra617.js +14 -66
  673. package/dist/lyra617.js.map +1 -1
  674. package/dist/lyra618.cjs +1 -1
  675. package/dist/lyra618.cjs.map +1 -1
  676. package/dist/lyra618.js +33 -13
  677. package/dist/lyra618.js.map +1 -1
  678. package/dist/lyra619.cjs +1 -1
  679. package/dist/lyra619.cjs.map +1 -1
  680. package/dist/lyra619.js +6 -51
  681. package/dist/lyra619.js.map +1 -1
  682. package/dist/lyra67.cjs +1 -1
  683. package/dist/lyra67.js +8 -8
  684. package/dist/lyra677.cjs +1 -1
  685. package/dist/lyra677.js +1 -1
  686. package/dist/lyra68.cjs +1 -1
  687. package/dist/lyra68.cjs.map +1 -1
  688. package/dist/lyra68.js +4 -0
  689. package/dist/lyra68.js.map +1 -1
  690. package/dist/lyra686.cjs +1 -1
  691. package/dist/lyra686.js +1 -1
  692. package/dist/lyra689.cjs +1 -1
  693. package/dist/lyra689.js +1 -1
  694. package/dist/lyra719.cjs +1 -1
  695. package/dist/lyra719.js +4 -4
  696. package/dist/lyra729.cjs +1 -1
  697. package/dist/lyra729.js +1 -1
  698. package/dist/lyra730.cjs +1 -1
  699. package/dist/lyra730.js +1 -1
  700. package/dist/lyra731.cjs +1 -1
  701. package/dist/lyra731.js +1 -1
  702. package/dist/lyra75.cjs +1 -1
  703. package/dist/lyra75.js +2 -2
  704. package/dist/lyra779.cjs +1 -1
  705. package/dist/lyra779.js +1 -1
  706. package/dist/lyra788.cjs +1 -1
  707. package/dist/lyra788.js +1 -1
  708. package/dist/lyra789.cjs +1 -1
  709. package/dist/lyra789.js +2 -2
  710. package/dist/lyra790.cjs +1 -1
  711. package/dist/lyra790.js +4 -4
  712. package/dist/lyra792.cjs +1 -1
  713. package/dist/lyra792.js +4 -4
  714. package/dist/lyra793.cjs +1 -1
  715. package/dist/lyra793.js +2 -2
  716. package/dist/lyra794.cjs +1 -1
  717. package/dist/lyra794.cjs.map +1 -1
  718. package/dist/lyra794.js +375 -2
  719. package/dist/lyra794.js.map +1 -1
  720. package/dist/lyra795.cjs +1 -1
  721. package/dist/lyra795.cjs.map +1 -1
  722. package/dist/lyra795.js +2 -375
  723. package/dist/lyra795.js.map +1 -1
  724. package/dist/lyra801.cjs +1 -1
  725. package/dist/lyra801.js +1 -1
  726. package/dist/lyra803.cjs +1 -1
  727. package/dist/lyra803.cjs.map +1 -1
  728. package/dist/lyra803.js +2 -14
  729. package/dist/lyra803.js.map +1 -1
  730. package/dist/lyra804.cjs +1 -1
  731. package/dist/lyra804.cjs.map +1 -1
  732. package/dist/lyra804.js +29 -2
  733. package/dist/lyra804.js.map +1 -1
  734. package/dist/lyra805.cjs +1 -1
  735. package/dist/lyra805.cjs.map +1 -1
  736. package/dist/lyra805.js +6 -29
  737. package/dist/lyra805.js.map +1 -1
  738. package/dist/lyra806.cjs +1 -1
  739. package/dist/lyra806.cjs.map +1 -1
  740. package/dist/lyra806.js +3 -5
  741. package/dist/lyra806.js.map +1 -1
  742. package/dist/lyra807.cjs +1 -1
  743. package/dist/lyra807.cjs.map +1 -1
  744. package/dist/lyra807.js +14 -4
  745. package/dist/lyra807.js.map +1 -1
  746. package/dist/lyra813.cjs +1 -1
  747. package/dist/lyra813.js +1 -1
  748. package/dist/lyra816.cjs +1 -1
  749. package/dist/lyra816.js +1 -1
  750. package/dist/lyra817.cjs +1 -1
  751. package/dist/lyra817.js +1 -1
  752. package/dist/lyra820.cjs +1 -1
  753. package/dist/lyra820.js +2 -2
  754. package/dist/lyra822.cjs +1 -1
  755. package/dist/lyra822.js +2 -2
  756. package/dist/lyra825.cjs +1 -1
  757. package/dist/lyra825.js +3 -3
  758. package/dist/lyra827.cjs +1 -1
  759. package/dist/lyra827.js +1 -1
  760. package/dist/lyra831.cjs +1 -1
  761. package/dist/lyra831.cjs.map +1 -1
  762. package/dist/lyra831.js +250 -25
  763. package/dist/lyra831.js.map +1 -1
  764. package/dist/lyra832.cjs +1 -1
  765. package/dist/lyra832.cjs.map +1 -1
  766. package/dist/lyra832.js +81 -5
  767. package/dist/lyra832.js.map +1 -1
  768. package/dist/lyra833.cjs +1 -1
  769. package/dist/lyra833.cjs.map +1 -1
  770. package/dist/lyra833.js +2 -11
  771. package/dist/lyra833.js.map +1 -1
  772. package/dist/lyra834.cjs +1 -1
  773. package/dist/lyra834.cjs.map +1 -1
  774. package/dist/lyra834.js +13 -28
  775. package/dist/lyra834.js.map +1 -1
  776. package/dist/lyra835.cjs +1 -1
  777. package/dist/lyra835.cjs.map +1 -1
  778. package/dist/lyra835.js +19 -26
  779. package/dist/lyra835.js.map +1 -1
  780. package/dist/lyra836.cjs +1 -1
  781. package/dist/lyra836.cjs.map +1 -1
  782. package/dist/lyra836.js +13 -252
  783. package/dist/lyra836.js.map +1 -1
  784. package/dist/lyra837.cjs +1 -1
  785. package/dist/lyra837.cjs.map +1 -1
  786. package/dist/lyra837.js +25 -79
  787. package/dist/lyra837.js.map +1 -1
  788. package/dist/lyra838.cjs +1 -1
  789. package/dist/lyra838.cjs.map +1 -1
  790. package/dist/lyra838.js +6 -2
  791. package/dist/lyra838.js.map +1 -1
  792. package/dist/lyra839.cjs +1 -1
  793. package/dist/lyra839.cjs.map +1 -1
  794. package/dist/lyra839.js +11 -13
  795. package/dist/lyra839.js.map +1 -1
  796. package/dist/lyra84.cjs +1 -1
  797. package/dist/lyra84.js +1 -1
  798. package/dist/lyra840.cjs +1 -1
  799. package/dist/lyra840.cjs.map +1 -1
  800. package/dist/lyra840.js +27 -18
  801. package/dist/lyra840.js.map +1 -1
  802. package/dist/lyra841.cjs +1 -1
  803. package/dist/lyra841.cjs.map +1 -1
  804. package/dist/lyra841.js +26 -14
  805. package/dist/lyra841.js.map +1 -1
  806. package/dist/lyra86.cjs +1 -1
  807. package/dist/lyra86.js +1 -1
  808. package/dist/lyra863.cjs +1 -1
  809. package/dist/lyra863.cjs.map +1 -1
  810. package/dist/lyra863.js +69 -4
  811. package/dist/lyra863.js.map +1 -1
  812. package/dist/lyra864.cjs +1 -1
  813. package/dist/lyra864.cjs.map +1 -1
  814. package/dist/lyra864.js +4 -69
  815. package/dist/lyra864.js.map +1 -1
  816. package/dist/lyra865.cjs +1 -1
  817. package/dist/lyra865.cjs.map +1 -1
  818. package/dist/lyra865.js +8 -5
  819. package/dist/lyra865.js.map +1 -1
  820. package/dist/lyra866.cjs +1 -1
  821. package/dist/lyra866.cjs.map +1 -1
  822. package/dist/lyra866.js +15 -8
  823. package/dist/lyra866.js.map +1 -1
  824. package/dist/lyra867.cjs +1 -1
  825. package/dist/lyra867.cjs.map +1 -1
  826. package/dist/lyra867.js +5 -15
  827. package/dist/lyra867.js.map +1 -1
  828. package/dist/lyra868.cjs +1 -1
  829. package/dist/lyra868.cjs.map +1 -1
  830. package/dist/lyra868.js +65 -2
  831. package/dist/lyra868.js.map +1 -1
  832. package/dist/lyra870.cjs +1 -1
  833. package/dist/lyra870.cjs.map +1 -1
  834. package/dist/lyra870.js +2 -7
  835. package/dist/lyra870.js.map +1 -1
  836. package/dist/lyra871.cjs +1 -1
  837. package/dist/lyra871.cjs.map +1 -1
  838. package/dist/lyra871.js +7 -65
  839. package/dist/lyra871.js.map +1 -1
  840. package/dist/lyra876.cjs +1 -1
  841. package/dist/lyra876.js +1 -1
  842. package/dist/lyra89.cjs +1 -1
  843. package/dist/lyra89.js +48 -48
  844. package/dist/lyra96.cjs +1 -1
  845. package/dist/lyra96.js +1 -1
  846. package/dist/lyra97.cjs +1 -1
  847. package/dist/lyra97.js +1 -1
  848. package/dist/lyra98.cjs +1 -1
  849. package/dist/lyra98.js +1 -1
  850. package/dist/lyra99.cjs +1 -1
  851. package/dist/lyra99.js +1 -1
  852. package/dist/style.css +1 -1
  853. package/package.json +1 -1
package/dist/lyra34.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra90.cjs"),o=require("react"),C=require("./lyra89.cjs"),q=require("./lyra93.cjs"),T=require("./lyra26.cjs"),_=require("./lyra38.cjs"),A=require("./lyra39.cjs");require("./lyra40.cjs");const b=require("./lyra35.cjs"),B=require("./lyra609.cjs"),V=require("./lyra610.cjs"),D=require("./lyra611.cjs"),h=o.createContext({valuesWithSeperator:[]}),K=({description:i,errorMessage:m,fullWidth:c=!0,hideHintLabel:p=!0,hideInputFooter:g=!0,hideInputHeader:y=!0,label:j,name:S,...u},a)=>{[u,a]=C.useContextProps(u,a,C.ListBoxContext);const{children:l,className:R,defaultValue:x,isRequired:f,onChange:d,value:v}=u,L=o.useId(),I=o.useId(),[E,N]=o.useState(x??v??""),{track:w}=b.segmentedControlStyles({fullWidth:c}),M=o.useMemo(()=>{const s=o.Children.toArray(l),r=s==null?void 0:s.findIndex(n=>{var t;return((t=n==null?void 0:n.props)==null?void 0:t.value)===E});return s==null?void 0:s.filter((n,t)=>r===void 0||t===r||t===s.length-1?!1:r<t?Math.abs(t-r)>=1:Math.abs(t-r)>=2).map(n=>{var t;return(t=n==null?void 0:n.props)==null?void 0:t.value})},[l,E]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(_.InputHeader,{label:j,labelId:I,isRequired:f,hideHintLabel:p,hideInputHeader:y}),e.jsxRuntimeExports.jsx(C.ListBox,{...u,ref:a,"aria-label":j,"aria-labelledby":I,className:w({className:R}),defaultSelectedKeys:x?new Set([x]):[],orientation:"horizontal",selectionBehavior:"replace",selectionMode:"single",selectedKeys:v?[v]:void 0,disallowEmptySelection:!0,onSelectionChange:s=>{if(s==="all")return;const r=s.keys().next().value;d==null||d(r),N(r)},children:e.jsxRuntimeExports.jsx(h.Provider,{value:{valuesWithSeperator:M},children:e.jsxRuntimeExports.jsx(B.LayoutGroup,{id:L,children:l})})}),e.jsxRuntimeExports.jsx(A.InputFooter,{description:i,errorMessage:m,hideInputFooter:g}),S?e.jsxRuntimeExports.jsx("input",{type:"hidden",name:S,value:E??""}):null]})},F=q.fixedForwardRef(K);F.displayName="SegmentedControl";const P=({children:i,textValue:m,value:c,...p},g)=>{const y=m||(typeof i=="string"?i:void 0),{isDisabled:j}=o.useContext(T.FieldGroupContext),{id:S}=o.useContext(V.LayoutGroupContext),{valuesWithSeperator:u}=o.useContext(h),a=u.includes(c??""),{item:l,itemActive:R,itemText:x}=b.segmentedControlStyles({seperator:a});return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(C.ListBoxItem,{ref:g,className:l({isDisabled:j}),id:p.id??c,textValue:y,...p,children:({isFocusVisible:f,isSelected:d})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d?e.jsxRuntimeExports.jsx(D.motion.div,{layoutId:S,className:R({isFocusVisible:f}),transition:{type:"tween",duration:.2}}):null,e.jsxRuntimeExports.jsx("div",{className:x(),children:i})]})})})},G=q.fixedForwardRef(P);G.displayName="SegmentedControlItem";exports.SegmentedControl=F;exports.SegmentedControlItem=G;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra90.cjs"),o=require("react"),C=require("./lyra89.cjs"),q=require("./lyra93.cjs"),T=require("./lyra26.cjs"),_=require("./lyra38.cjs"),A=require("./lyra39.cjs");require("./lyra40.cjs");const b=require("./lyra35.cjs"),B=require("./lyra615.cjs"),V=require("./lyra616.cjs"),D=require("./lyra617.cjs"),h=o.createContext({valuesWithSeperator:[]}),K=({description:i,errorMessage:m,fullWidth:c=!0,hideHintLabel:p=!0,hideInputFooter:g=!0,hideInputHeader:y=!0,label:j,name:S,...u},a)=>{[u,a]=C.useContextProps(u,a,C.ListBoxContext);const{children:l,className:R,defaultValue:x,isRequired:f,onChange:d,value:v}=u,L=o.useId(),I=o.useId(),[E,N]=o.useState(x??v??""),{track:w}=b.segmentedControlStyles({fullWidth:c}),M=o.useMemo(()=>{const s=o.Children.toArray(l),r=s==null?void 0:s.findIndex(n=>{var t;return((t=n==null?void 0:n.props)==null?void 0:t.value)===E});return s==null?void 0:s.filter((n,t)=>r===void 0||t===r||t===s.length-1?!1:r<t?Math.abs(t-r)>=1:Math.abs(t-r)>=2).map(n=>{var t;return(t=n==null?void 0:n.props)==null?void 0:t.value})},[l,E]);return e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[e.jsxRuntimeExports.jsx(_.InputHeader,{label:j,labelId:I,isRequired:f,hideHintLabel:p,hideInputHeader:y}),e.jsxRuntimeExports.jsx(C.ListBox,{...u,ref:a,"aria-label":j,"aria-labelledby":I,className:w({className:R}),defaultSelectedKeys:x?new Set([x]):[],orientation:"horizontal",selectionBehavior:"replace",selectionMode:"single",selectedKeys:v?[v]:void 0,disallowEmptySelection:!0,onSelectionChange:s=>{if(s==="all")return;const r=s.keys().next().value;d==null||d(r),N(r)},children:e.jsxRuntimeExports.jsx(h.Provider,{value:{valuesWithSeperator:M},children:e.jsxRuntimeExports.jsx(B.LayoutGroup,{id:L,children:l})})}),e.jsxRuntimeExports.jsx(A.InputFooter,{description:i,errorMessage:m,hideInputFooter:g}),S?e.jsxRuntimeExports.jsx("input",{type:"hidden",name:S,value:E??""}):null]})},F=q.fixedForwardRef(K);F.displayName="SegmentedControl";const P=({children:i,textValue:m,value:c,...p},g)=>{const y=m||(typeof i=="string"?i:void 0),{isDisabled:j}=o.useContext(T.FieldGroupContext),{id:S}=o.useContext(V.LayoutGroupContext),{valuesWithSeperator:u}=o.useContext(h),a=u.includes(c??""),{item:l,itemActive:R,itemText:x}=b.segmentedControlStyles({seperator:a});return e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx(C.ListBoxItem,{ref:g,className:l({isDisabled:j}),id:p.id??c,textValue:y,...p,children:({isFocusVisible:f,isSelected:d})=>e.jsxRuntimeExports.jsxs(e.jsxRuntimeExports.Fragment,{children:[d?e.jsxRuntimeExports.jsx(D.motion.div,{layoutId:S,className:R({isFocusVisible:f}),transition:{type:"tween",duration:.2}}):null,e.jsxRuntimeExports.jsx("div",{className:x(),children:i})]})})})},G=q.fixedForwardRef(P);G.displayName="SegmentedControlItem";exports.SegmentedControl=F;exports.SegmentedControlItem=G;
package/dist/lyra34.js CHANGED
@@ -7,9 +7,9 @@ import { InputHeader as E } from "./lyra38.js";
7
7
  import { InputFooter as P } from "./lyra39.js";
8
8
  import "./lyra40.js";
9
9
  import { segmentedControlStyles as F } from "./lyra35.js";
10
- import { LayoutGroup as k } from "./lyra609.js";
11
- import { LayoutGroupContext as q } from "./lyra610.js";
12
- import { motion as z } from "./lyra611.js";
10
+ import { LayoutGroup as k } from "./lyra615.js";
11
+ import { LayoutGroupContext as q } from "./lyra616.js";
12
+ import { motion as z } from "./lyra617.js";
13
13
  const N = B({
14
14
  valuesWithSeperator: []
15
15
  }), H = ({
package/dist/lyra36.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./lyra90.cjs"),l=require("react"),T=require("./lyra89.cjs"),_=require("./lyra450.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const W=require("./lyra65.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 $=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");require("./lyra95.cjs");require("./lyra80.cjs");require("./lyra458.cjs");const z=require("./lyra38.cjs"),B=require("./lyra39.cjs"),V=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const Z=require("./lyra597.cjs"),C=require("./lyra453.cjs"),K=require("./lyra454.cjs"),g=require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");require("./lyra56.cjs");const J=require("./lyra73.cjs");require("./lyra74.cjs");const U=require("./lyra459.cjs");require("./lyra460.cjs");require("react-dom");const I=require("./lyra84.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");require("./lyra52.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");require("./lyra61.cjs");require("./lyra62.cjs");require("./lyra64.cjs");require("./lyra67.cjs");require("./lyra68.cjs");require("./lyra70.cjs");require("./lyra71.cjs");require("./lyra72.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra78.cjs");require("./lyra79.cjs");require("./lyra81.cjs");require("./lyra98.cjs");const Q=require("./lyra88.cjs"),rr=({closePopover:c,disabledItemIdKeys:u,filteredItems:x,getItemId:e,onMultiChange:f,onSingleChange:p,value:t})=>{const N=l.useMemo(()=>{if(Array.isArray(t))return t.length?x.findIndex(s=>e(s)===e(t[0])):0;if(t)return x.findIndex(s=>e(s)===e(t))},[x,e,t]),[h,j]=l.useState(N??0),E=l.useCallback(s=>{if(Number.isInteger(s)){for(let n=s-1;n>=0;n--)if(!(u!=null&&u.includes(e(x[n]))))return Math.max(n,0)}return-1},[u,x,e]),w=l.useCallback(s=>{if(Number.isInteger(s)){for(let n=s+1;n<x.length;n++)if(!(u!=null&&u.includes(e(x[n]))))return Math.min(x.length-1,n)}return-1},[u,x,e]),k=l.useRef([]),a=l.useCallback((s,n)=>{n&&(k.current[s]=n)},[]),i=l.useCallback(s=>{if(f){const n=t?[...t]:[],S=n.map(e),R=S!=null&&S.includes(e(s))?n.filter(F=>e(F)!==e(s)):[...n,s];f==null||f(R)}else p&&(p==null||p(s))},[e,f,p,t]),o=l.useCallback(s=>Array.isArray(t)?t.some(n=>e(n)===e(s)):t?e(t)===e(s):!1,[e,t]),m=I.useMousePosition(),q=l.useRef(void 0),y=l.useCallback(s=>{const n=h;if(s.key==="ArrowDown"){s.preventDefault();const S=w(n);if(S>=0){j(S),q.current=m;const R=k.current[S];R==null||R.scrollIntoView({block:"nearest"}),R==null||R.focus()}}else if(s.key==="ArrowUp"){s.preventDefault();const S=E(n);if(S>=0){j(S);const R=k.current[S];R==null||R.scrollIntoView({block:"nearest"}),R==null||R.focus(),q.current=m}}else s.key==="Escape"&&c()},[h,c,w,E,m]),v=l.useCallback((s,n)=>{s&&q.current!==m&&(j(n),q.current=m)},[m]);return l.useEffect(()=>{var s;(s=k.current)!=null&&s[h]&&k.current[h].focus()},[open]),{activeItem:h,assignRefOnIndex:a,getItemIsSelected:o,onKeyDown:y,onHoverChange:v,selectedItemIndex:N,toggleSelection:i}},er=({disabledItemIdKeys:c,getItemId:u,items:x,onMultiChange:e,onSingleChange:f,selectRenderElements:p,setOpenPopover:t,value:N})=>{const{activeItem:h,assignRefOnIndex:j,getItemIsSelected:E,onHoverChange:w,onKeyDown:k,toggleSelection:a}=rr({closePopover:()=>t(!1),disabledItemIdKeys:c,filteredItems:x,getItemId:u,onMultiChange:e,onSingleChange:f,value:N}),i=o=>(c==null?void 0:c.includes(u(o)))??!1;return r.jsxRuntimeExports.jsx("div",{className:C.sharedListStyles({className:"h-full max-h-72 overflow-auto"}),children:x.map((o,m)=>r.jsxRuntimeExports.jsx(T.Button,{"data-index":m,ref:q=>j(m,q),className:"w-full text-start outline-none",onHoverChange:q=>{w(q,m)},onPress:()=>a(o),onKeyDown:q=>k(q),isDisabled:i(o),children:r.jsxRuntimeExports.jsx(K.SharedListItem,{item:o,state:{active:h===m,disabled:(c==null?void 0:c.includes(u(o)))??!1,selected:E(o)},selectRenderElements:p,hasSelection:!0})},u(o)))})},X=({direction:c,disabledItemIdKeys:u,getItemId:x,items:e,label:f,onMultiChange:p,onSingleChange:t,open:N,placement:h="bottom start",selectRenderElements:j,setOpenPopover:E,triggerRef:w,value:k})=>{var m,q;const[a,i]=l.useState((m=w.current)==null?void 0:m.offsetWidth),o=a??((q=w.current)==null?void 0:q.offsetWidth);return Z.default("resize",()=>{var y;i((y=w.current)==null?void 0:y.offsetWidth)}),r.jsxRuntimeExports.jsx(g.Popover,{className:"p-1",isOpen:N,triggerRef:w,onOpenChange:E,shouldUpdatePosition:!0,"aria-label":f,disablePadding:!0,placement:h,style:{width:o&&o>280?o+"px":"280px",direction:c},children:N?r.jsxRuntimeExports.jsx(er,{getItemId:x,items:e,onMultiChange:p,onSingleChange:t,selectRenderElements:j,setOpenPopover:E,value:k,disabledItemIdKeys:u}):null})},sr=({disableClearLogic:c,fullWidth:u,getLabel:x,isDisabled:e,isInvalid:f,onChange:p,placeholder:t,renderCustomElementInValueButton:N,selectRenderElements:h,setOpenPopover:j,value:E})=>{var a;const{inputField:w}=V.sharedInputStyles({}),k=i=>{(i.key==="Escape"||i.key==="Backspace")&&!c?p==null||p(void 0):i.key==="ArrowDown"&&(i.preventDefault(),j(!0))};return r.jsxRuntimeExports.jsxs(T.Button,{className:({isFocused:i,isHovered:o})=>w({fullWidth:u,isDisabled:e,isHovered:o,isFocused:i,isInvalid:f,hasEndSlot:!0,className:_.clsx(o&&!f&&!e&&!i?"border-hover":"","min-h-8")}),isDisabled:e,onKeyDown:k,onPress:()=>{j(!0)},children:[r.jsxRuntimeExports.jsxs("div",{className:"flex grow text-start",children:[N&&E?(a=h(E))==null?void 0:a.customElement:null,E?r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:x(E)}):r.jsxRuntimeExports.jsx(J.Text,{color:"secondary",children:t})]}),r.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[E&&!c&&!e?r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:r.jsxRuntimeExports.jsx("div",{className:"text-secondary",role:"button",onClick:i=>{i.stopPropagation(),p==null||p(void 0)},children:r.jsxRuntimeExports.jsx(W.SvgIcon,{name:"clear"})})}):null,r.jsxRuntimeExports.jsx(W.SvgIcon,{name:"chevron-up-down"})]})]})},tr=({fullWidth:c,getItemId:u,getLabel:x,isDisabled:e,isInvalid:f,label:p,onChange:t,placeholder:N,setOpenPopover:h,value:j})=>{const{inputField:E}=V.sharedInputStyles({}),w=l.useCallback(a=>{j&&t(j.filter(i=>{const o=u(i);return!a.has(o)}))},[u,t,j]),k=a=>{(a.key==="ArrowDown"||a.key==="Enter"||a.key===" ")&&(a.preventDefault(),h(!0))};return r.jsxRuntimeExports.jsx(T.Group,{children:({isFocusWithin:a})=>r.jsxRuntimeExports.jsx(T.Button,{className:({isFocused:i,isHovered:o})=>E({fullWidth:c,isDisabled:e,isHovered:o,isFocused:i||a,isInvalid:f,hasEndSlot:!0,className:_.clsx(o&&!f&&!e&&!i?"border-hover":"","items-start","py-[0.4375rem]")}),onKeyDown:i=>k(i),onPress:()=>h(!0),isDisabled:e,children:r.jsxRuntimeExports.jsxs("div",{className:"flex w-full outline-none",children:[r.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:j&&j.length?r.jsxRuntimeExports.jsx(U.InputTagGroup,{label:p??"Selected items",className:"-m-1.5 -mt-[0.3125rem]",onRemove:e?void 0:w,children:j.map(i=>r.jsxRuntimeExports.jsx(U.InputTag,{id:u(i),isDisabled:e,children:x(i)},u(i)))}):r.jsxRuntimeExports.jsx(J.Text,{color:"secondary",children:N})}),r.jsxRuntimeExports.jsx(W.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-4"})]})})})},Y=({getItemId:c,name:u,value:x})=>u?Array.isArray(x)?x.map(e=>r.jsxRuntimeExports.jsx("input",{type:"hidden",name:u,value:c(e)},c(e))):x?r.jsxRuntimeExports.jsx("input",{type:"hidden",name:u,value:c(x)}):null:null,nr=({defaultValue:c,description:u,disableClearLogic:x,disabledItemIdKeys:e,errorMessage:f,fullWidth:p=!0,getItemId:t,getLabel:N,hideHintLabel:h,hideInputFooter:j,hideInputHeader:E,isDisabled:w,isInvalid:k,isRequired:a,items:i,label:o,name:m,onChange:q,placeholder:y,placement:v,renderCustomElementInValueButton:s,selectRenderElements:n,value:S})=>{const{isDisabled:R}=l.useContext($.FieldGroupContext),[F,D]=l.useState(!1),H=w||R,[d,G]=l.useState(S??c),{wrapper:O}=V.sharedInputStyles({}),L=l.useRef(null),{direction:M}=Q.useLocale(),P=l.useCallback(b=>{G(b),q==null||q(b),D(!1)},[q]);l.useEffect(()=>{G(S??c)},[c,S]);const A=S??d;return r.jsxRuntimeExports.jsxs("div",{children:[r.jsxRuntimeExports.jsx(Y,{name:m,value:A,getItemId:t}),r.jsxRuntimeExports.jsxs("div",{className:O({fullWidth:p}),children:[r.jsxRuntimeExports.jsx(z.InputHeader,{label:o,hideHintLabel:h,hideInputHeader:E,isRequired:a}),r.jsxRuntimeExports.jsx("div",{ref:L,children:r.jsxRuntimeExports.jsx(sr,{fullWidth:p,isDisabled:H,disableClearLogic:x,isInvalid:k,placeholder:y,value:A,getLabel:N,getItemId:t,label:o,onChange:P,setOpenPopover:D,renderCustomElementInValueButton:s,selectRenderElements:n})}),r.jsxRuntimeExports.jsx(B.InputFooter,{description:u,errorMessage:f,hideInputFooter:j})]}),r.jsxRuntimeExports.jsx(X,{triggerRef:L,label:`${o} options`,getItemId:t,selectRenderElements:n,items:i,open:F,disabledItemIdKeys:e,direction:M,setOpenPopover:D,onSingleChange:P,value:A,placement:v})]})},ur=({defaultValue:c,description:u,disableClearLogic:x,disabledItemIdKeys:e,errorMessage:f,fullWidth:p=!0,getItemId:t,getLabel:N,hideHintLabel:h,hideInputFooter:j,hideInputHeader:E,isDisabled:w,isInvalid:k,isRequired:a,items:i,label:o,name:m,onChange:q,placeholder:y,placement:v,selectRenderElements:s,value:n})=>{const{isDisabled:S}=l.useContext($.FieldGroupContext),R=w||S,[F,D]=l.useState(!1),[H,d]=l.useState(n??c),G=l.useRef(null),{direction:O}=Q.useLocale(),{wrapper:L}=V.sharedInputStyles({}),M=l.useCallback(A=>{d(A),q==null||q(A)},[q]);l.useEffect(()=>{d(n??c)},[c,n]);const P=n??H;return r.jsxRuntimeExports.jsxs("div",{children:[r.jsxRuntimeExports.jsx(Y,{name:m,value:P,getItemId:t}),r.jsxRuntimeExports.jsxs("div",{className:L({fullWidth:p}),children:[r.jsxRuntimeExports.jsx(z.InputHeader,{label:o,hideHintLabel:h,hideInputHeader:E,isRequired:a}),r.jsxRuntimeExports.jsx("div",{ref:G,children:r.jsxRuntimeExports.jsx(tr,{fullWidth:p,isDisabled:R,isInvalid:k,placeholder:y,value:P,onChange:M,getItemId:t,getLabel:N,label:o,disableClearLogic:x,setOpenPopover:D,selectRenderElements:s})}),r.jsxRuntimeExports.jsx(B.InputFooter,{description:u,errorMessage:f,hideInputFooter:j})]}),r.jsxRuntimeExports.jsx(X,{label:`${o} options`,triggerRef:G,items:i,open:F,getItemId:t,selectRenderElements:s,disabledItemIdKeys:e,direction:O,setOpenPopover:D,onMultiChange:M,placement:v,value:P})]})};exports.MultiSelect=ur;exports.Select=nr;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const r=require("./lyra90.cjs"),l=require("react"),T=require("./lyra89.cjs"),_=require("./lyra450.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const W=require("./lyra65.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 $=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");require("./lyra95.cjs");require("./lyra80.cjs");require("./lyra453.cjs");const z=require("./lyra38.cjs"),B=require("./lyra39.cjs"),V=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const Z=require("./lyra596.cjs"),C=require("./lyra454.cjs"),K=require("./lyra455.cjs"),g=require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");require("./lyra56.cjs");const J=require("./lyra73.cjs");require("./lyra74.cjs");const U=require("./lyra456.cjs");require("./lyra457.cjs");require("react-dom");const I=require("./lyra84.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");require("./lyra52.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");require("./lyra61.cjs");require("./lyra62.cjs");require("./lyra64.cjs");require("./lyra67.cjs");require("./lyra68.cjs");require("./lyra70.cjs");require("./lyra71.cjs");require("./lyra72.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra78.cjs");require("./lyra79.cjs");require("./lyra81.cjs");require("./lyra98.cjs");const Q=require("./lyra88.cjs"),rr=({closePopover:c,disabledItemIdKeys:u,filteredItems:x,getItemId:e,onMultiChange:f,onSingleChange:p,value:t})=>{const N=l.useMemo(()=>{if(Array.isArray(t))return t.length?x.findIndex(s=>e(s)===e(t[0])):0;if(t)return x.findIndex(s=>e(s)===e(t))},[x,e,t]),[h,j]=l.useState(N??0),E=l.useCallback(s=>{if(Number.isInteger(s)){for(let n=s-1;n>=0;n--)if(!(u!=null&&u.includes(e(x[n]))))return Math.max(n,0)}return-1},[u,x,e]),w=l.useCallback(s=>{if(Number.isInteger(s)){for(let n=s+1;n<x.length;n++)if(!(u!=null&&u.includes(e(x[n]))))return Math.min(x.length-1,n)}return-1},[u,x,e]),k=l.useRef([]),a=l.useCallback((s,n)=>{n&&(k.current[s]=n)},[]),i=l.useCallback(s=>{if(f){const n=t?[...t]:[],S=n.map(e),R=S!=null&&S.includes(e(s))?n.filter(F=>e(F)!==e(s)):[...n,s];f==null||f(R)}else p&&(p==null||p(s))},[e,f,p,t]),o=l.useCallback(s=>Array.isArray(t)?t.some(n=>e(n)===e(s)):t?e(t)===e(s):!1,[e,t]),m=I.useMousePosition(),q=l.useRef(void 0),y=l.useCallback(s=>{const n=h;if(s.key==="ArrowDown"){s.preventDefault();const S=w(n);if(S>=0){j(S),q.current=m;const R=k.current[S];R==null||R.scrollIntoView({block:"nearest"}),R==null||R.focus()}}else if(s.key==="ArrowUp"){s.preventDefault();const S=E(n);if(S>=0){j(S);const R=k.current[S];R==null||R.scrollIntoView({block:"nearest"}),R==null||R.focus(),q.current=m}}else s.key==="Escape"&&c()},[h,c,w,E,m]),v=l.useCallback((s,n)=>{s&&q.current!==m&&(j(n),q.current=m)},[m]);return l.useEffect(()=>{var s;(s=k.current)!=null&&s[h]&&k.current[h].focus()},[open]),{activeItem:h,assignRefOnIndex:a,getItemIsSelected:o,onKeyDown:y,onHoverChange:v,selectedItemIndex:N,toggleSelection:i}},er=({disabledItemIdKeys:c,getItemId:u,items:x,onMultiChange:e,onSingleChange:f,selectRenderElements:p,setOpenPopover:t,value:N})=>{const{activeItem:h,assignRefOnIndex:j,getItemIsSelected:E,onHoverChange:w,onKeyDown:k,toggleSelection:a}=rr({closePopover:()=>t(!1),disabledItemIdKeys:c,filteredItems:x,getItemId:u,onMultiChange:e,onSingleChange:f,value:N}),i=o=>(c==null?void 0:c.includes(u(o)))??!1;return r.jsxRuntimeExports.jsx("div",{className:C.sharedListStyles({className:"h-full max-h-72 overflow-auto"}),children:x.map((o,m)=>r.jsxRuntimeExports.jsx(T.Button,{"data-index":m,ref:q=>j(m,q),className:"w-full text-start outline-none",onHoverChange:q=>{w(q,m)},onPress:()=>a(o),onKeyDown:q=>k(q),isDisabled:i(o),children:r.jsxRuntimeExports.jsx(K.SharedListItem,{item:o,state:{active:h===m,disabled:(c==null?void 0:c.includes(u(o)))??!1,selected:E(o)},selectRenderElements:p,hasSelection:!0})},u(o)))})},X=({direction:c,disabledItemIdKeys:u,getItemId:x,items:e,label:f,onMultiChange:p,onSingleChange:t,open:N,placement:h="bottom start",selectRenderElements:j,setOpenPopover:E,triggerRef:w,value:k})=>{var m,q;const[a,i]=l.useState((m=w.current)==null?void 0:m.offsetWidth),o=a??((q=w.current)==null?void 0:q.offsetWidth);return Z.default("resize",()=>{var y;i((y=w.current)==null?void 0:y.offsetWidth)}),r.jsxRuntimeExports.jsx(g.Popover,{className:"p-1",isOpen:N,triggerRef:w,onOpenChange:E,shouldUpdatePosition:!0,"aria-label":f,disablePadding:!0,placement:h,style:{width:o&&o>280?o+"px":"280px",direction:c},children:N?r.jsxRuntimeExports.jsx(er,{getItemId:x,items:e,onMultiChange:p,onSingleChange:t,selectRenderElements:j,setOpenPopover:E,value:k,disabledItemIdKeys:u}):null})},sr=({disableClearLogic:c,fullWidth:u,getLabel:x,isDisabled:e,isInvalid:f,onChange:p,placeholder:t,renderCustomElementInValueButton:N,selectRenderElements:h,setOpenPopover:j,value:E})=>{var a;const{inputField:w}=V.sharedInputStyles({}),k=i=>{(i.key==="Escape"||i.key==="Backspace")&&!c?p==null||p(void 0):i.key==="ArrowDown"&&(i.preventDefault(),j(!0))};return r.jsxRuntimeExports.jsxs(T.Button,{className:({isFocused:i,isHovered:o})=>w({fullWidth:u,isDisabled:e,isHovered:o,isFocused:i,isInvalid:f,hasEndSlot:!0,className:_.clsx(o&&!f&&!e&&!i?"border-hover":"","min-h-8")}),isDisabled:e,onKeyDown:k,onPress:()=>{j(!0)},children:[r.jsxRuntimeExports.jsxs("div",{className:"flex grow text-start",children:[N&&E?(a=h(E))==null?void 0:a.customElement:null,E?r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:x(E)}):r.jsxRuntimeExports.jsx(J.Text,{color:"secondary",children:t})]}),r.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[E&&!c&&!e?r.jsxRuntimeExports.jsx(r.jsxRuntimeExports.Fragment,{children:r.jsxRuntimeExports.jsx("div",{className:"text-secondary",role:"button",onClick:i=>{i.stopPropagation(),p==null||p(void 0)},children:r.jsxRuntimeExports.jsx(W.SvgIcon,{name:"clear"})})}):null,r.jsxRuntimeExports.jsx(W.SvgIcon,{name:"chevron-up-down"})]})]})},tr=({fullWidth:c,getItemId:u,getLabel:x,isDisabled:e,isInvalid:f,label:p,onChange:t,placeholder:N,setOpenPopover:h,value:j})=>{const{inputField:E}=V.sharedInputStyles({}),w=l.useCallback(a=>{j&&t(j.filter(i=>{const o=u(i);return!a.has(o)}))},[u,t,j]),k=a=>{(a.key==="ArrowDown"||a.key==="Enter"||a.key===" ")&&(a.preventDefault(),h(!0))};return r.jsxRuntimeExports.jsx(T.Group,{children:({isFocusWithin:a})=>r.jsxRuntimeExports.jsx(T.Button,{className:({isFocused:i,isHovered:o})=>E({fullWidth:c,isDisabled:e,isHovered:o,isFocused:i||a,isInvalid:f,hasEndSlot:!0,className:_.clsx(o&&!f&&!e&&!i?"border-hover":"","items-start","py-[0.4375rem]")}),onKeyDown:i=>k(i),onPress:()=>h(!0),isDisabled:e,children:r.jsxRuntimeExports.jsxs("div",{className:"flex w-full outline-none",children:[r.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:j&&j.length?r.jsxRuntimeExports.jsx(U.InputTagGroup,{label:p??"Selected items",className:"-m-1.5 -mt-[0.3125rem]",onRemove:e?void 0:w,children:j.map(i=>r.jsxRuntimeExports.jsx(U.InputTag,{id:u(i),isDisabled:e,children:x(i)},u(i)))}):r.jsxRuntimeExports.jsx(J.Text,{color:"secondary",children:N})}),r.jsxRuntimeExports.jsx(W.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-4"})]})})})},Y=({getItemId:c,name:u,value:x})=>u?Array.isArray(x)?x.map(e=>r.jsxRuntimeExports.jsx("input",{type:"hidden",name:u,value:c(e)},c(e))):x?r.jsxRuntimeExports.jsx("input",{type:"hidden",name:u,value:c(x)}):null:null,nr=({defaultValue:c,description:u,disableClearLogic:x,disabledItemIdKeys:e,errorMessage:f,fullWidth:p=!0,getItemId:t,getLabel:N,hideHintLabel:h,hideInputFooter:j,hideInputHeader:E,isDisabled:w,isInvalid:k,isRequired:a,items:i,label:o,name:m,onChange:q,placeholder:y,placement:v,renderCustomElementInValueButton:s,selectRenderElements:n,value:S})=>{const{isDisabled:R}=l.useContext($.FieldGroupContext),[F,D]=l.useState(!1),H=w||R,[d,G]=l.useState(S??c),{wrapper:O}=V.sharedInputStyles({}),L=l.useRef(null),{direction:M}=Q.useLocale(),P=l.useCallback(b=>{G(b),q==null||q(b),D(!1)},[q]);l.useEffect(()=>{G(S??c)},[c,S]);const A=S??d;return r.jsxRuntimeExports.jsxs("div",{children:[r.jsxRuntimeExports.jsx(Y,{name:m,value:A,getItemId:t}),r.jsxRuntimeExports.jsxs("div",{className:O({fullWidth:p}),children:[r.jsxRuntimeExports.jsx(z.InputHeader,{label:o,hideHintLabel:h,hideInputHeader:E,isRequired:a}),r.jsxRuntimeExports.jsx("div",{ref:L,children:r.jsxRuntimeExports.jsx(sr,{fullWidth:p,isDisabled:H,disableClearLogic:x,isInvalid:k,placeholder:y,value:A,getLabel:N,getItemId:t,label:o,onChange:P,setOpenPopover:D,renderCustomElementInValueButton:s,selectRenderElements:n})}),r.jsxRuntimeExports.jsx(B.InputFooter,{description:u,errorMessage:f,hideInputFooter:j})]}),r.jsxRuntimeExports.jsx(X,{triggerRef:L,label:`${o} options`,getItemId:t,selectRenderElements:n,items:i,open:F,disabledItemIdKeys:e,direction:M,setOpenPopover:D,onSingleChange:P,value:A,placement:v})]})},ur=({defaultValue:c,description:u,disableClearLogic:x,disabledItemIdKeys:e,errorMessage:f,fullWidth:p=!0,getItemId:t,getLabel:N,hideHintLabel:h,hideInputFooter:j,hideInputHeader:E,isDisabled:w,isInvalid:k,isRequired:a,items:i,label:o,name:m,onChange:q,placeholder:y,placement:v,selectRenderElements:s,value:n})=>{const{isDisabled:S}=l.useContext($.FieldGroupContext),R=w||S,[F,D]=l.useState(!1),[H,d]=l.useState(n??c),G=l.useRef(null),{direction:O}=Q.useLocale(),{wrapper:L}=V.sharedInputStyles({}),M=l.useCallback(A=>{d(A),q==null||q(A)},[q]);l.useEffect(()=>{d(n??c)},[c,n]);const P=n??H;return r.jsxRuntimeExports.jsxs("div",{children:[r.jsxRuntimeExports.jsx(Y,{name:m,value:P,getItemId:t}),r.jsxRuntimeExports.jsxs("div",{className:L({fullWidth:p}),children:[r.jsxRuntimeExports.jsx(z.InputHeader,{label:o,hideHintLabel:h,hideInputHeader:E,isRequired:a}),r.jsxRuntimeExports.jsx("div",{ref:G,children:r.jsxRuntimeExports.jsx(tr,{fullWidth:p,isDisabled:R,isInvalid:k,placeholder:y,value:P,onChange:M,getItemId:t,getLabel:N,label:o,disableClearLogic:x,setOpenPopover:D,selectRenderElements:s})}),r.jsxRuntimeExports.jsx(B.InputFooter,{description:u,errorMessage:f,hideInputFooter:j})]}),r.jsxRuntimeExports.jsx(X,{label:`${o} options`,triggerRef:G,items:i,open:F,getItemId:t,selectRenderElements:s,disabledItemIdKeys:e,direction:O,setOpenPopover:D,onMultiChange:M,placement:v,value:P})]})};exports.MultiSelect=ur;exports.Select=nr;
package/dist/lyra36.js CHANGED
@@ -32,7 +32,7 @@ import "./lyra28.js";
32
32
  import "./lyra29.js";
33
33
  import "./lyra95.js";
34
34
  import "./lyra80.js";
35
- import "./lyra458.js";
35
+ import "./lyra453.js";
36
36
  import { InputHeader as Z } from "./lyra38.js";
37
37
  import { InputFooter as _ } from "./lyra39.js";
38
38
  import { sharedInputStyles as O } from "./lyra40.js";
@@ -42,17 +42,17 @@ import "./lyra32.js";
42
42
  import "./lyra33.js";
43
43
  import "./lyra34.js";
44
44
  import "./lyra35.js";
45
- import rr from "./lyra597.js";
46
- import { sharedListStyles as or } from "./lyra453.js";
47
- import { SharedListItem as tr } from "./lyra454.js";
45
+ import rr from "./lyra596.js";
46
+ import { sharedListStyles as or } from "./lyra454.js";
47
+ import { SharedListItem as tr } from "./lyra455.js";
48
48
  import { Popover as sr } from "./lyra53.js";
49
49
  import "./lyra54.js";
50
50
  import "./lyra55.js";
51
51
  import "./lyra56.js";
52
52
  import { Text as R } from "./lyra73.js";
53
53
  import "./lyra74.js";
54
- import { InputTagGroup as nr, InputTag as ir } from "./lyra459.js";
55
- import "./lyra460.js";
54
+ import { InputTagGroup as nr, InputTag as ir } from "./lyra456.js";
55
+ import "./lyra457.js";
56
56
  import "react-dom";
57
57
  import { useMousePosition as cr } from "./lyra84.js";
58
58
  import "./lyra41.js";
package/dist/lyra37.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra90.cjs"),r=require("react"),D=require("./lyra89.cjs"),se=require("react-dom"),ce=require("./lyra612.cjs"),le=require("./lyra450.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const g=require("./lyra65.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 C=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");const oe=require("./lyra95.cjs");require("./lyra80.cjs");require("./lyra458.cjs");const ue=require("./lyra38.cjs"),ie=require("./lyra39.cjs"),J=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const xe=require("./lyra597.cjs"),ae=require("./lyra453.cjs"),pe=require("./lyra454.cjs"),je=require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");require("./lyra56.cjs");const re=require("./lyra73.cjs");require("./lyra74.cjs");const ne=require("./lyra459.cjs");require("./lyra460.cjs");const fe=require("./lyra85.cjs"),de=require("./lyra84.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");require("./lyra52.cjs");const me=require("./lyra57.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");require("./lyra61.cjs");require("./lyra62.cjs");const Re=require("./lyra63.cjs");require("./lyra64.cjs");require("./lyra67.cjs");require("./lyra68.cjs");require("./lyra70.cjs");require("./lyra71.cjs");require("./lyra72.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra78.cjs");require("./lyra79.cjs");require("./lyra81.cjs");require("./lyra98.cjs");const qe=require("./lyra87.cjs"),K=require("./lyra88.cjs"),Ee=({disableClearLogic:n,endSlot:s,fullWidth:t,getLabel:l,isDisabled:d,isInvalid:a,onChange:p,open:j,openPopover:q,placeholder:E,renderCustomElementInValueButton:h,searchInputRef:m,selectRenderElements:c,startSlot:R,value:u})=>{var x;const{buttonExcludedFromTabOrder:S,inputField:y}=J.sharedInputStyles({isInvalid:a,hasEndSlot:!0,fullWidth:t,isDisabled:d}),o=i=>{(i.key==="Escape"||i.key==="Backspace")&&!n?(i.stopPropagation(),p==null||p(void 0)):i.key==="ArrowDown"||i.key==="ArrowUp"?q==null||q():i.key&&i.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{q==null||q()}),m.current&&(m.current.focus(),m.current.setSelectionRange(0,m.current.value.length)))};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[R,e.jsxRuntimeExports.jsxs(D.Button,{"aria-haspopup":"listbox","aria-expanded":j,className:({isFocused:i,isHovered:f})=>y({isHovered:f,isFocused:i,className:"min-h-8 grow"}),isDisabled:d,onKeyDown:o,onPress:q,children:[e.jsxRuntimeExports.jsxs("div",{className:"flex grow truncate text-start",children:[h&&u?(x=c(u))==null?void 0:x.customElement:null,u&&l(u)?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:l(u)}):e.jsxRuntimeExports.jsx(re.Text,{variant:"body-medium",color:"secondary",children:E})]}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[u&&!d&&!n?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:S(),role:"button",onPointerDown:i=>{i.stopPropagation(),p==null||p(void 0)},onClick:i=>{i.stopPropagation(),p==null||p(void 0)},children:e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"clear"})})}):null,e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4"})]})]}),s]})},he=({fullWidth:n,getItemId:s,getLabel:t,isDisabled:l,isInvalid:d,label:a,onChange:p,openPopover:j,placeholder:q,searchInputRef:E,value:h})=>{const{inputField:m}=J.sharedInputStyles({isInvalid:d,hasEndSlot:!0,fullWidth:n,isDisabled:l}),c=r.useCallback(u=>{u.key==="ArrowDown"||u.key==="ArrowUp"?j():u.key&&u.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{j()}),E.current&&(E.current.focus(),E.current.setSelectionRange(0,E.current.value.length)))},[j,E]),R=r.useCallback(u=>{h&&p(h.filter(S=>{const y=s(S);return!u.has(y)}))},[s,p,h]);return e.jsxRuntimeExports.jsx(D.Group,{className:({isFocusWithin:u,isHovered:S})=>m({isHovered:S,isFocused:u,className:le.clsx(S&&!d&&!l&&!u?"border-hover":"","has:[data-focused]:border has:[data-focused]:border-focus","py-[0.4375rem]")}),children:e.jsxRuntimeExports.jsxs(D.Button,{onPress:j,onKeyDown:c,isDisabled:l,className:"flex w-full outline-none",children:[e.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:h&&h.length?e.jsxRuntimeExports.jsx(ne.InputTagGroup,{label:a??"Selected items",className:"-m-1.5 -mt-[0.3125rem] items-center",onRemove:l?void 0:R,children:h.map(u=>e.jsxRuntimeExports.jsx(ne.InputTag,{id:s(u),isDisabled:l,children:t(u)},s(u)))}):e.jsxRuntimeExports.jsx(re.Text,{color:"secondary",children:q})}),e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-[16px]"})]})})},Se=({endSlot:n,isLoading:s,onKeyDown:t,onQueryChange:l,query:d,searchInputRef:a,setQuery:p})=>{const j=r.useId(),{clear:q,search:E}=oe.useDictionary(),h=qe.useSpinDelay(s??!1,{delay:500,minDuration:200}),{buttonExcludedFromTabOrder:m}=J.sharedInputStyles({fullWidth:!0});return r.useEffect(()=>{var c;(c=a.current)==null||c.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(D.Input,{ref:a,id:j,className:"w-full bg-transparent text-base outline-none placeholder:text-tertiary",onChange:c=>{var R,u;p(((R=c.target)==null?void 0:R.value)??""),l==null||l((u=c.target)==null?void 0:u.value)},placeholder:E,value:d??"",onKeyDown:c=>{c.code==="Tab"&&c.preventDefault(),t==null||t(c)}}),d&&d.length?e.jsxRuntimeExports.jsx(D.Button,{"aria-label":q,className:m(),excludeFromTabOrder:!0,onPress:()=>{var c;p(""),(c=a.current)==null||c.focus()},children:e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"clear"})}):null,n,h?e.jsxRuntimeExports.jsx(Re.Spinner,{className:"mx-2",size:"small"}):null]})})},ye=n=>{const s=r.useRef(null),[t,l]=r.useState(!1);return r.useEffect(()=>l(!1),[n]),{loadMoreButtonRef:s,isLoadMoreButtonFocused:t,setIsLoadMoreButtonFocused:l}},ve=({disabledItemIdKeys:n,filteredItems:s,getItemId:t,onMultiChange:l,onSingleChange:d,value:a})=>{const p=r.useMemo(()=>{if(Array.isArray(a))return a.length?s==null?void 0:s.findIndex(o=>t(o)===t(a[0])):0;if(a)return(s==null?void 0:s.findIndex(o=>t(o)===t(a)))??0},[s,t,a]),j=r.useCallback(o=>{if(Number.isInteger(o)){for(let x=o-1;x>=0;x--)if(!(n!=null&&n.includes(t(s[x]))))return Math.max(x,0)}return-1},[n,s,t]),q=r.useCallback(o=>{if(Number.isInteger(o)){for(let x=o+1;x<s.length;x++)if(!(n!=null&&n.includes(t(s[x]))))return Math.min(s.length-1,x)}return-1},[n,s,t]),E=r.useCallback(o=>{if(l){const x=a?[...a]:[],i=x.map(t),f=i!=null&&i.includes(t(o))?x.filter(B=>t(B)!==t(o)):[...x,o];l==null||l(f)}else d&&(d==null||d(o))},[t,l,d,a]),h=r.useCallback(o=>Array.isArray(a)?a.some(x=>t(x)===t(o)):a?t(a)===t(o):!1,[t,a]),[m,c]=r.useState(p??0),R=de.useMousePosition(),u=r.useRef(void 0),S=r.useCallback(o=>{const x=m;if(o.key==="ArrowDown"){o.preventDefault();const i=q(x);i>=0&&(c(i),u.current=R)}else if(o.key==="ArrowUp"){o.preventDefault();const i=j(x);i>=0&&(c(i),u.current=R)}else o.key==="Enter"&&E(s[m])},[m,s,q,j,R,E]),y=r.useCallback((o,x)=>{o&&u.current!==R&&(c(x),u.current=R)},[R]);return{activeItem:m,setActiveItem:c,getItemIsSelected:h,onKeyDown:S,onHoverChange:y,selectedItemIndex:p,toggleSelection:E}},Ne=({selectedItemIndex:n,setActiveItem:s})=>(r.useEffect(()=>{if(n!==void 0&&n>=0)return s(n),()=>{s(0)}},[n,s]),null),I=({direction:n,disabledItemIdKeys:s,getItemId:t,getLabel:l,isLoading:d,items:a,label:p,onLoadMore:j,onMultiChange:q,onQueryChange:E,onSingleChange:h,open:m,placement:c,searchInputRef:R,selectRenderElements:u,setOpenPopover:S,triggerRef:y,value:o})=>{var H,$,te;const{loadMore:x,noResultsFound:i}=oe.useDictionary(),{filteredItems:f,query:B,setQuery:A}=fe.useFilterItemsByQuery({getLabel:l,items:a,onQueryChange:E}),{item:O}=ae.sharedListItemStyles(),{isLoadMoreButtonFocused:L,loadMoreButtonRef:T,setIsLoadMoreButtonFocused:M}=ye(m),{activeItem:v,getItemIsSelected:G,onHoverChange:k,onKeyDown:N,selectedItemIndex:W,setActiveItem:V,toggleSelection:Z}=ve({disabledItemIdKeys:s,filteredItems:f,getItemId:t,loadMoreButtonRef:T,onMultiChange:q,onSingleChange:h,value:o}),[_,Y]=r.useState((H=y.current)==null?void 0:H.offsetWidth);xe.default("resize",()=>{var w;Y((w=y.current)==null?void 0:w.offsetWidth)});const U=_??(($=y.current)==null?void 0:$.offsetWidth),X=r.useRef(null),P=j?((f==null?void 0:f.length)??0)+1:(f==null?void 0:f.length)??0,b=ce.useVirtualizer({count:P,estimateSize:()=>40,getScrollElement:()=>X.current,overscan:6});r.useEffect(()=>{v!==void 0&&v>=0&&(f!=null&&f.length)&&(v===f.length-1&&j?b.scrollToIndex(P):b.scrollToIndex(Math.min(v,P-1)))},[v,P,f.length,j,b]);const z=b.getVirtualItems();return e.jsxRuntimeExports.jsx(je.Popover,{className:"p-1",isOpen:m,disablePadding:!0,triggerRef:y,onOpenChange:S,"aria-label":p,shouldUpdatePosition:!0,placement:c,style:{width:U&&U>280?U+"px":"280px",direction:n},children:m?e.jsxRuntimeExports.jsxs("div",{className:"gap-1",children:[e.jsxRuntimeExports.jsx(Se,{onQueryChange:E,isLoading:d,query:B,setQuery:w=>{se.flushSync(()=>{A(w),V(0)}),b.scrollToOffset(0)},searchInputRef:R,onKeyDown:N}),e.jsxRuntimeExports.jsx(Ne,{selectedItemIndex:W,setActiveItem:V}),e.jsxRuntimeExports.jsx("div",{ref:X,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=z==null?void 0:z[0])==null?void 0:te.start)??0}px)`},children:z.map(w=>{if(w.index===P-1&&j)return e.jsxRuntimeExports.jsx("div",{"data-index":w.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(me.Separator,{className:"my-1"}),e.jsxRuntimeExports.jsx(D.Button,{isDisabled:d,onFocusChange:M,onHoverChange:M,ref:T,className:O({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 F;j(),(F=R.current)==null||F.focus()},onKeyDown:F=>{var Q;F.key==="ArrowUp"&&(F.preventDefault(),(Q=R.current)==null||Q.focus())},children:x})]})},w.key);{const F=f[w.index];return e.jsxRuntimeExports.jsx("div",{"data-index":w.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsx(D.Button,{className:"w-full text-start outline-none",onHoverChange:Q=>{k(Q,w.index)},onPress:()=>Z(F),isDisabled:(s==null?void 0:s.includes(t(F)))??!1,excludeFromTabOrder:!0,children:e.jsxRuntimeExports.jsx(pe.SharedListItem,{hasSelection:!0,item:F,state:{active:v===w.index&&!L,disabled:(s==null?void 0:s.includes(t(F)))??!1,selected:G(F)},selectRenderElements:u},t(F))},t(F))},w.key)}})})})}),P?null:e.jsxRuntimeExports.jsx(re.Text,{variant:"body-medium",color:"secondary",className:"px-2.5",children:i})]}):null})},ee=({getItemId:n,name:s,value:t})=>s?Array.isArray(t)?t.map(l=>e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:n(l)},n(l))):t?e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:n(t)}):null:null,be=({defaultValue:n,description:s,disableClearLogic:t,disabledItemIdKeys:l,endSlot:d,errorMessage:a,fullWidth:p=!0,getItemId:j,getLabel:q,hideHintLabel:E,hideInputFooter:h,hideInputHeader:m,isDisabled:c,isInvalid:R,isLoading:u,isRequired:S,items:y,label:o,name:x,onChange:i,onLoadMore:f,onQueryChange:B,placeholder:A,placement:O="bottom start",renderCustomElementInValueButton:L,selectRenderElements:T,startSlot:M,value:v})=>{const{isDisabled:G}=r.useContext(C.FieldGroupContext),k=r.useRef(null),N=r.useRef(null),W=r.useRef(null),[V,Z]=r.useState(v??n),[_,Y]=r.useState(!1),U=()=>{var $;Y(!0),($=N.current)==null||$.click()},X=()=>Y(!1),P=r.useCallback($=>{Z($),i==null||i($),X()},[i]),{direction:b}=K.useLocale(),{wrapper:z}=J.sharedInputStyles({fullWidth:p,isInvalid:R,isDisabled:c||G});r.useEffect(()=>{Z(v??n)},[n,v]);const H=v??V;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:x,value:H,getItemId:j}),e.jsxRuntimeExports.jsxs("div",{className:z(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:o,hideHintLabel:E,hideInputHeader:m,isRequired:S}),e.jsxRuntimeExports.jsx("div",{ref:W,children:e.jsxRuntimeExports.jsx(Ee,{disableClearLogic:t,endSlot:d,fullWidth:p,getLabel:q,getItemId:j,isDisabled:c,isInvalid:R,open:_,openPopover:U,onChange:P,placeholder:A,searchInputRef:k,startSlot:M,value:H,renderCustomElementInValueButton:L,selectRenderElements:T})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:a,hideInputFooter:h})]}),e.jsxRuntimeExports.jsx(I,{triggerRef:W,label:o,getItemId:j,getLabel:q,items:y,open:_,setOpenPopover:Y,selectRenderElements:T,disabledItemIdKeys:l,direction:b,onQueryChange:B,isLoading:u,searchInputRef:k,onLoadMore:f,placement:O,value:H,onSingleChange:P})]})},ke=({defaultValue:n,description:s,disableClearLogic:t,disabledItemIdKeys:l,endSlot:d,errorMessage:a,fullWidth:p=!0,getItemId:j,getLabel:q,hideHintLabel:E,hideInputFooter:h,hideInputHeader:m,isDisabled:c,isInvalid:R,isLoading:u,isRequired:S,items:y,label:o,labelId:x,name:i,onChange:f,onLoadMore:B,onQueryChange:A,placeholder:O,placement:L="bottom start",selectRenderElements:T,startSlot:M,value:v})=>{const{isDisabled:G}=r.useContext(C.FieldGroupContext),k=r.useRef(null),N=r.useRef(null),[W,V]=r.useState(v??n),[Z,_]=r.useState(!1),Y=()=>{_(!0)},U=r.useCallback(z=>{var H;V(z),f==null||f(z),(H=k.current)==null||H.focus()},[f]),{direction:X}=K.useLocale(),{wrapper:P}=J.sharedInputStyles({fullWidth:p,isInvalid:R,isDisabled:c||G});r.useEffect(()=>{V(v??n)},[n,v]);const b=v??W;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:i,value:b,getItemId:j}),e.jsxRuntimeExports.jsxs("div",{className:P(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:o,isRequired:S,hideHintLabel:E,hideInputHeader:m,labelId:x}),e.jsxRuntimeExports.jsx("div",{ref:N,children:e.jsxRuntimeExports.jsx(he,{disableClearLogic:t,endSlot:d,fullWidth:p,getLabel:q,getItemId:j,isDisabled:c,isInvalid:R,onChange:U,open:Z,openPopover:Y,placeholder:O,searchInputRef:k,startSlot:M,value:b})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:a,hideInputFooter:h})]}),e.jsxRuntimeExports.jsx(I,{label:o,searchInputRef:k,triggerRef:N,getItemId:j,getLabel:q,items:y,onMultiChange:U,value:b,placement:L,open:Z,setOpenPopover:_,selectRenderElements:T,disabledItemIdKeys:l,direction:X,onQueryChange:A,isLoading:u,onLoadMore:B})]})},we=({children:n,defaultValue:s,disabledItemIdKeys:t,getItemId:l,getLabel:d,isDisabled:a,isInvalid:p,isLoading:j,items:q,label:E,name:h,onChange:m,onQueryChange:c,placement:R="bottom start",selectRenderElements:u,value:S})=>{const{isDisabled:y}=r.useContext(C.FieldGroupContext),o=r.useRef(null),x=r.useRef(null),i=r.useRef(null),[f,B]=r.useState(S??s),[A,O]=r.useState(!1),L=()=>{var N;O(!0),(N=x.current)==null||N.click()},T=()=>O(!1),M=r.useCallback(N=>{B(N),m==null||m(N),T()},[m]),{direction:v}=K.useLocale(),{wrapper:G}=J.sharedInputStyles({fullWidth:!1,isInvalid:p,isDisabled:a});r.useEffect(()=>{B(S??s)},[s,S]);const k=S??f;return e.jsxRuntimeExports.jsx(D.Provider,{values:[[D.ButtonContext,{onPress:()=>L(),isDisabled:a||y}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:h,value:k,getItemId:l}),e.jsxRuntimeExports.jsx("div",{className:G(),children:e.jsxRuntimeExports.jsx("div",{ref:i,children:n})}),e.jsxRuntimeExports.jsx(I,{triggerRef:i,label:E,getItemId:l,getLabel:d,items:q,open:A,setOpenPopover:O,selectRenderElements:u,disabledItemIdKeys:t,direction:v,onQueryChange:c,isLoading:j,searchInputRef:o,placement:R,value:k,onSingleChange:M})]})})},Fe=({children:n,defaultValue:s,disabledItemIdKeys:t,fullWidth:l=!0,getItemId:d,getLabel:a,isDisabled:p,isInvalid:j,isLoading:q,items:E,label:h,name:m,onChange:c,onQueryChange:R,placement:u="bottom start",selectRenderElements:S,value:y})=>{const{isDisabled:o}=r.useContext(C.FieldGroupContext),x=r.useRef(null),i=r.useRef(null),f=r.useRef(null),[B,A]=r.useState(y??s),[O,L]=r.useState(!1),T=()=>{var N;L(!0),(N=i.current)==null||N.click()},M=r.useCallback(N=>{var W;A(N),c==null||c(N),(W=x.current)==null||W.focus()},[c]),{direction:v}=K.useLocale(),{wrapper:G}=J.sharedInputStyles({fullWidth:l,isInvalid:j,isDisabled:p});r.useEffect(()=>{A(y??s)},[s,y]);const k=y??B;return e.jsxRuntimeExports.jsx(D.Provider,{values:[[D.ButtonContext,{onPress:()=>T(),isDisabled:p||o}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:m,value:k,getItemId:d}),e.jsxRuntimeExports.jsx("div",{className:G(),children:e.jsxRuntimeExports.jsx("div",{ref:f,children:n})}),e.jsxRuntimeExports.jsx(I,{label:h,searchInputRef:x,triggerRef:f,getItemId:d,getLabel:a,items:E,open:O,setOpenPopover:L,selectRenderElements:S,disabledItemIdKeys:t,direction:v,onQueryChange:R,isLoading:q,value:k,onMultiChange:M,placement:u})]})})};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("./lyra90.cjs"),r=require("react"),A=require("./lyra89.cjs"),se=require("react-dom"),ce=require("./lyra618.cjs"),le=require("./lyra450.cjs");require("./lyra2.cjs");require("./lyra3.cjs");require("./lyra4.cjs");require("./lyra5.cjs");require("./lyra6.cjs");const g=require("./lyra65.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 C=require("./lyra26.cjs");require("./lyra27.cjs");require("./lyra28.cjs");require("./lyra29.cjs");const oe=require("./lyra95.cjs");require("./lyra80.cjs");require("./lyra453.cjs");const ue=require("./lyra38.cjs"),ie=require("./lyra39.cjs"),J=require("./lyra40.cjs");require("./lyra44.cjs");require("./lyra31.cjs");require("./lyra32.cjs");require("./lyra33.cjs");require("./lyra34.cjs");require("./lyra35.cjs");const xe=require("./lyra596.cjs"),ae=require("./lyra454.cjs"),pe=require("./lyra455.cjs"),je=require("./lyra53.cjs");require("./lyra54.cjs");require("./lyra55.cjs");require("./lyra56.cjs");const re=require("./lyra73.cjs");require("./lyra74.cjs");const ne=require("./lyra456.cjs");require("./lyra457.cjs");const fe=require("./lyra85.cjs"),de=require("./lyra84.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");require("./lyra52.cjs");const me=require("./lyra57.cjs");require("./lyra58.cjs");require("./lyra59.cjs");require("./lyra60.cjs");require("./lyra61.cjs");require("./lyra62.cjs");const Re=require("./lyra63.cjs");require("./lyra64.cjs");require("./lyra67.cjs");require("./lyra68.cjs");require("./lyra70.cjs");require("./lyra71.cjs");require("./lyra72.cjs");require("./lyra76.cjs");require("./lyra77.cjs");require("./lyra78.cjs");require("./lyra79.cjs");require("./lyra81.cjs");require("./lyra98.cjs");const qe=require("./lyra87.cjs"),K=require("./lyra88.cjs"),Ee=({disableClearLogic:o,endSlot:s,fullWidth:t,getLabel:l,isDisabled:d,isInvalid:x,onChange:p,open:j,openPopover:q,placeholder:E,renderCustomElementInValueButton:h,searchInputRef:m,selectRenderElements:c,startSlot:R,value:u})=>{var a;const{buttonExcludedFromTabOrder:v,inputField:S}=J.sharedInputStyles({isInvalid:x,hasEndSlot:!0,fullWidth:t,isDisabled:d}),n=i=>{(i.key==="Escape"||i.key==="Backspace")&&!o?(i.stopPropagation(),p==null||p(void 0)):i.key==="ArrowDown"||i.key==="ArrowUp"?q==null||q():i.key&&i.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{q==null||q()}),m.current&&(m.current.focus(),m.current.setSelectionRange(0,m.current.value.length)))};return e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[R,e.jsxRuntimeExports.jsxs(A.Button,{"aria-haspopup":"listbox","aria-expanded":j,className:({isFocused:i,isHovered:f})=>S({isHovered:f,isFocused:i,className:"min-h-8 grow"}),isDisabled:d,onKeyDown:n,onPress:q,children:[e.jsxRuntimeExports.jsxs("div",{className:"flex grow truncate text-start",children:[h&&u?(a=c(u))==null?void 0:a.customElement:null,u&&l(u)?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:l(u)}):e.jsxRuntimeExports.jsx(re.Text,{variant:"body-medium",color:"secondary",children:E})]}),e.jsxRuntimeExports.jsxs("div",{className:"flex items-center gap-2",children:[u&&!d&&!o?e.jsxRuntimeExports.jsx(e.jsxRuntimeExports.Fragment,{children:e.jsxRuntimeExports.jsx("div",{className:v(),role:"button",onPointerDown:i=>{i.stopPropagation(),p==null||p(void 0)},onClick:i=>{i.stopPropagation(),p==null||p(void 0)},children:e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"clear"})})}):null,e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4"})]})]}),s]})},he=({fullWidth:o,getItemId:s,getLabel:t,isDisabled:l,isInvalid:d,label:x,onChange:p,openPopover:j,placeholder:q,searchInputRef:E,value:h})=>{const{inputField:m}=J.sharedInputStyles({isInvalid:d,hasEndSlot:!0,fullWidth:o,isDisabled:l}),c=r.useCallback(u=>{u.key==="ArrowDown"||u.key==="ArrowUp"?j():u.key&&u.key.match(/^[a-zA-Z0-9]$/)&&(se.flushSync(()=>{j()}),E.current&&(E.current.focus(),E.current.setSelectionRange(0,E.current.value.length)))},[j,E]),R=r.useCallback(u=>{h&&p(h.filter(v=>{const S=s(v);return!u.has(S)}))},[s,p,h]);return e.jsxRuntimeExports.jsx(A.Group,{className:({isFocusWithin:u,isHovered:v})=>m({isHovered:v,isFocused:u,className:le.clsx(v&&!d&&!l&&!u?"border-hover":"","has:[data-focused]:border has:[data-focused]:border-focus","py-[0.4375rem]")}),children:e.jsxRuntimeExports.jsxs(A.Button,{onPress:j,onKeyDown:c,isDisabled:l,className:"flex w-full outline-none",children:[e.jsxRuntimeExports.jsx("div",{className:"grow text-left",children:h&&h.length?e.jsxRuntimeExports.jsx(ne.InputTagGroup,{label:x??"Selected items",className:"-m-1.5 -mt-[0.3125rem] items-center",onRemove:l?void 0:R,children:h.map(u=>e.jsxRuntimeExports.jsx(ne.InputTag,{id:s(u),isDisabled:l,children:t(u)},s(u)))}):e.jsxRuntimeExports.jsx(re.Text,{color:"secondary",children:q})}),e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"chevron-up-down",className:"h-4 w-4 min-w-[16px]"})]})})},Se=({endSlot:o,isLoading:s,onKeyDown:t,onQueryChange:l,query:d,searchInputRef:x,setQuery:p})=>{const j=r.useId(),{clear:q,search:E}=oe.useDictionary(),h=qe.useSpinDelay(s??!1,{delay:500,minDuration:200}),{buttonExcludedFromTabOrder:m}=J.sharedInputStyles({fullWidth:!0});return r.useEffect(()=>{var c;(c=x.current)==null||c.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:j,className:"w-full bg-transparent text-base outline-none placeholder:text-tertiary",onChange:c=>{var R,u;p(((R=c.target)==null?void 0:R.value)??""),l==null||l((u=c.target)==null?void 0:u.value)},placeholder:E,value:d??"",onKeyDown:c=>{c.code==="Tab"&&c.preventDefault(),t==null||t(c)}}),d&&d.length?e.jsxRuntimeExports.jsx(A.Button,{"aria-label":q,className:m(),excludeFromTabOrder:!0,onPress:()=>{var c;p(""),(c=x.current)==null||c.focus()},children:e.jsxRuntimeExports.jsx(g.SvgIcon,{name:"clear"})}):null,o,h?e.jsxRuntimeExports.jsx(Re.Spinner,{className:"mx-2",size:"small"}):null]})})},ye=o=>{const s=r.useRef(null),[t,l]=r.useState(!1);return r.useEffect(()=>l(!1),[o]),{loadMoreButtonRef:s,isLoadMoreButtonFocused:t,setIsLoadMoreButtonFocused:l}},ve=({disabledItemIdKeys:o,filteredItems:s,getItemId:t,onMultiChange:l,onSingleChange:d,value:x})=>{const p=r.useMemo(()=>{if(Array.isArray(x))return x.length?s==null?void 0:s.findIndex(n=>t(n)===t(x[0])):0;if(x)return(s==null?void 0:s.findIndex(n=>t(n)===t(x)))??0},[s,t,x]),j=r.useCallback(n=>{if(Number.isInteger(n)){for(let a=n-1;a>=0;a--)if(!(o!=null&&o.includes(t(s[a]))))return Math.max(a,0)}return-1},[o,s,t]),q=r.useCallback(n=>{if(Number.isInteger(n)){for(let a=n+1;a<s.length;a++)if(!(o!=null&&o.includes(t(s[a]))))return Math.min(s.length-1,a)}return-1},[o,s,t]),E=r.useCallback(n=>{if(l){const a=x?[...x]:[],i=a.map(t),f=i!=null&&i.includes(t(n))?a.filter(F=>t(F)!==t(n)):[...a,n];l==null||l(f)}else d&&(d==null||d(n))},[t,l,d,x]),h=r.useCallback(n=>Array.isArray(x)?x.some(a=>t(a)===t(n)):x?t(x)===t(n):!1,[t,x]),[m,c]=r.useState(p??0),R=de.useMousePosition(),u=r.useRef(void 0),v=r.useCallback(n=>{const a=m;if(n.key==="ArrowDown"){n.preventDefault();const i=q(a);i>=0&&(c(i),u.current=R)}else if(n.key==="ArrowUp"){n.preventDefault();const i=j(a);i>=0&&(c(i),u.current=R)}else n.key==="Enter"&&E(s[m])},[m,s,q,j,R,E]),S=r.useCallback((n,a)=>{n&&u.current!==R&&(c(a),u.current=R)},[R]);return{activeItem:m,setActiveItem:c,getItemIsSelected:h,onKeyDown:v,onHoverChange:S,selectedItemIndex:p,toggleSelection:E}},Ne=({selectedItemIndex:o,setActiveItem:s})=>(r.useEffect(()=>{if(o!==void 0&&o>=0)return s(o),()=>{s(0)}},[o,s]),null),I=({direction:o,disabledItemIdKeys:s,getItemId:t,getLabel:l,isLoading:d,items:x,label:p,onLoadMore:j,onMultiChange:q,onQueryChange:E,onSingleChange:h,open:m,placement:c,searchInputRef:R,selectRenderElements:u,setOpenPopover:v,triggerRef:S,value:n})=>{var U,V,te;const{loadMore:a,noResultsFound:i}=oe.useDictionary(),{filteredItems:f,query:F,setQuery:L}=fe.useFilterItemsByQuery({getLabel:l,items:x,onQueryChange:E}),{item:M}=ae.sharedListItemStyles(),{isLoadMoreButtonFocused:P,loadMoreButtonRef:B,setIsLoadMoreButtonFocused:G}=ye(m),{activeItem:y,getItemIsSelected:z,onHoverChange:O,onKeyDown:T,selectedItemIndex:N,setActiveItem:W,toggleSelection:Z}=ve({disabledItemIdKeys:s,filteredItems:f,getItemId:t,loadMoreButtonRef:B,onMultiChange:q,onSingleChange:h,value:n}),[_,Y]=r.useState((U=S.current)==null?void 0:U.offsetWidth);xe.default("resize",()=>{var k;Y((k=S.current)==null?void 0:k.offsetWidth)});const $=_??((V=S.current)==null?void 0:V.offsetWidth),X=r.useRef(null),D=j?((f==null?void 0:f.length)??0)+1:(f==null?void 0:f.length)??0,b=ce.useVirtualizer({count:D,estimateSize:()=>40,getScrollElement:()=>X.current,overscan:6});r.useEffect(()=>{y!==void 0&&y>=0&&(f!=null&&f.length)&&(y===f.length-1&&j?b.scrollToIndex(D):b.scrollToIndex(Math.min(y,D-1)))},[y,D,f.length,j,b]);const H=b.getVirtualItems();return e.jsxRuntimeExports.jsx(je.Popover,{className:"p-1",isOpen:m,disablePadding:!0,triggerRef:S,onOpenChange:v,"aria-label":p,shouldUpdatePosition:!0,placement:c,style:{width:$&&$>280?$+"px":"280px",direction:o},children:m?e.jsxRuntimeExports.jsxs("div",{className:"gap-1",children:[e.jsxRuntimeExports.jsx(Se,{onQueryChange:E,isLoading:d,query:F,setQuery:k=>{se.flushSync(()=>{L(k),W(0)}),b.scrollToOffset(0)},searchInputRef:R,onKeyDown:T}),e.jsxRuntimeExports.jsx(Ne,{selectedItemIndex:N,setActiveItem:W}),e.jsxRuntimeExports.jsx("div",{ref:X,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=H==null?void 0:H[0])==null?void 0:te.start)??0}px)`},children:H.map(k=>{if(k.index===D-1&&j)return e.jsxRuntimeExports.jsx("div",{"data-index":k.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(me.Separator,{className:"my-1"}),e.jsxRuntimeExports.jsx(A.Button,{isDisabled:d,onFocusChange:G,onHoverChange:G,ref:B,className:M({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 w;j(),(w=R.current)==null||w.focus()},onKeyDown:w=>{var Q;w.key==="ArrowUp"&&(w.preventDefault(),(Q=R.current)==null||Q.focus())},children:a})]})},k.key);{const w=f[k.index];return e.jsxRuntimeExports.jsx("div",{"data-index":k.index,ref:b.measureElement,children:e.jsxRuntimeExports.jsx(A.Button,{className:"w-full text-start outline-none",onHoverChange:Q=>{O(Q,k.index)},onPress:()=>Z(w),isDisabled:(s==null?void 0:s.includes(t(w)))??!1,excludeFromTabOrder:!0,children:e.jsxRuntimeExports.jsx(pe.SharedListItem,{hasSelection:!0,item:w,state:{active:y===k.index&&!P,disabled:(s==null?void 0:s.includes(t(w)))??!1,selected:z(w)},selectRenderElements:u},t(w))},t(w))},k.key)}})})})}),D?null:e.jsxRuntimeExports.jsx(re.Text,{variant:"body-medium",color:"secondary",className:"px-2.5",children:i})]}):null})},ee=({getItemId:o,name:s,value:t})=>s?Array.isArray(t)?t.map(l=>e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:o(l)},o(l))):t?e.jsxRuntimeExports.jsx("input",{type:"hidden",name:s,value:o(t)}):null:null,be=({defaultValue:o,description:s,disableClearLogic:t,disabledItemIdKeys:l,endSlot:d,errorMessage:x,fullWidth:p=!0,getItemId:j,getLabel:q,hideHintLabel:E,hideInputFooter:h,hideInputHeader:m,isDisabled:c,isInvalid:R,isLoading:u,isRequired:v,items:S,label:n,name:a,onChange:i,onLoadMore:f,onQueryChange:F,placeholder:L,placement:M="bottom start",renderCustomElementInValueButton:P,selectRenderElements:B,startSlot:G,value:y})=>{const{isDisabled:z}=r.useContext(C.FieldGroupContext),O=r.useRef(null),T=r.useRef(null),N=r.useRef(null),[W,Z]=r.useState(y??o),[_,Y]=r.useState(!1),$=()=>{var V;Y(!0),(V=T.current)==null||V.click()},X=()=>Y(!1),D=r.useCallback(V=>{Z(V),i==null||i(V),X()},[i]),{direction:b}=K.useLocale(),{wrapper:H}=J.sharedInputStyles({fullWidth:p,isInvalid:R,isDisabled:c||z});r.useEffect(()=>{Z(y??o)},[o,y]);const U=y??W;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:a,value:U,getItemId:j}),e.jsxRuntimeExports.jsxs("div",{className:H(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:n,hideHintLabel:E,hideInputHeader:m,isRequired:v}),e.jsxRuntimeExports.jsx("div",{ref:N,children:e.jsxRuntimeExports.jsx(Ee,{disableClearLogic:t,endSlot:d,fullWidth:p,getLabel:q,getItemId:j,isDisabled:c,isInvalid:R,open:_,openPopover:$,onChange:D,placeholder:L,searchInputRef:O,startSlot:G,value:U,renderCustomElementInValueButton:P,selectRenderElements:B})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:x,hideInputFooter:h})]}),e.jsxRuntimeExports.jsx(I,{triggerRef:N,label:n,getItemId:j,getLabel:q,items:S,open:_,setOpenPopover:Y,selectRenderElements:B,disabledItemIdKeys:l,direction:b,onQueryChange:F,isLoading:u,searchInputRef:O,onLoadMore:f,placement:M,value:U,onSingleChange:D})]})},ke=({defaultValue:o,description:s,disableClearLogic:t,disabledItemIdKeys:l,endSlot:d,errorMessage:x,fullWidth:p=!0,getItemId:j,getLabel:q,hideHintLabel:E,hideInputFooter:h,hideInputHeader:m,isDisabled:c,isInvalid:R,isLoading:u,isRequired:v,items:S,label:n,labelId:a,name:i,onChange:f,onLoadMore:F,onQueryChange:L,placeholder:M,placement:P="bottom start",selectRenderElements:B,startSlot:G,value:y})=>{const{isDisabled:z}=r.useContext(C.FieldGroupContext),O=r.useRef(null),T=r.useRef(null),[N,W]=r.useState(y??o),[Z,_]=r.useState(!1),Y=()=>{_(!0)},$=r.useCallback(H=>{var U;W(H),f==null||f(H),(U=O.current)==null||U.focus()},[f]),{direction:X}=K.useLocale(),{wrapper:D}=J.sharedInputStyles({fullWidth:p,isInvalid:R,isDisabled:c||z});r.useEffect(()=>{W(y??o)},[o,y]);const b=y??N;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:i,value:b,getItemId:j}),e.jsxRuntimeExports.jsxs("div",{className:D(),children:[e.jsxRuntimeExports.jsx(ue.InputHeader,{label:n,isRequired:v,hideHintLabel:E,hideInputHeader:m,labelId:a}),e.jsxRuntimeExports.jsx("div",{ref:T,children:e.jsxRuntimeExports.jsx(he,{disableClearLogic:t,endSlot:d,fullWidth:p,getLabel:q,getItemId:j,isDisabled:c,isInvalid:R,onChange:$,open:Z,openPopover:Y,placeholder:M,searchInputRef:O,startSlot:G,value:b})}),e.jsxRuntimeExports.jsx(ie.InputFooter,{description:s,errorMessage:x,hideInputFooter:h})]}),e.jsxRuntimeExports.jsx(I,{label:n,searchInputRef:O,triggerRef:T,getItemId:j,getLabel:q,items:S,onMultiChange:$,value:b,placement:P,open:Z,setOpenPopover:_,selectRenderElements:B,disabledItemIdKeys:l,direction:X,onQueryChange:L,isLoading:u,onLoadMore:F})]})},we=({children:o,defaultValue:s,disabledItemIdKeys:t,getItemId:l,getLabel:d,isDisabled:x,isInvalid:p,isLoading:j,items:q,label:E,name:h,onChange:m,onLoadMore:c,onQueryChange:R,placement:u="bottom start",selectRenderElements:v,value:S})=>{const{isDisabled:n}=r.useContext(C.FieldGroupContext),a=r.useRef(null),i=r.useRef(null),f=r.useRef(null),[F,L]=r.useState(S??s),[M,P]=r.useState(!1),B=()=>{var N;P(!0),(N=i.current)==null||N.click()},G=()=>P(!1),y=r.useCallback(N=>{L(N),m==null||m(N),G()},[m]),{direction:z}=K.useLocale(),{wrapper:O}=J.sharedInputStyles({fullWidth:!1,isInvalid:p,isDisabled:x});r.useEffect(()=>{L(S??s)},[s,S]);const T=S??F;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>B(),isDisabled:x||n}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:h,value:T,getItemId:l}),e.jsxRuntimeExports.jsx("div",{className:O(),children:e.jsxRuntimeExports.jsx("div",{ref:f,children:o})}),e.jsxRuntimeExports.jsx(I,{triggerRef:f,label:E,getItemId:l,getLabel:d,items:q,open:M,setOpenPopover:P,selectRenderElements:v,disabledItemIdKeys:t,direction:z,onLoadMore:c,onQueryChange:R,isLoading:j,searchInputRef:a,placement:u,value:T,onSingleChange:y})]})})},Fe=({children:o,defaultValue:s,disabledItemIdKeys:t,fullWidth:l=!0,getItemId:d,getLabel:x,isDisabled:p,isInvalid:j,isLoading:q,items:E,label:h,name:m,onChange:c,onLoadMore:R,onQueryChange:u,placement:v="bottom start",selectRenderElements:S,value:n})=>{const{isDisabled:a}=r.useContext(C.FieldGroupContext),i=r.useRef(null),f=r.useRef(null),F=r.useRef(null),[L,M]=r.useState(n??s),[P,B]=r.useState(!1),G=()=>{var N;B(!0),(N=f.current)==null||N.click()},y=r.useCallback(N=>{var W;M(N),c==null||c(N),(W=i.current)==null||W.focus()},[c]),{direction:z}=K.useLocale(),{wrapper:O}=J.sharedInputStyles({fullWidth:l,isInvalid:j,isDisabled:p});r.useEffect(()=>{M(n??s)},[s,n]);const T=n??L;return e.jsxRuntimeExports.jsx(A.Provider,{values:[[A.ButtonContext,{onPress:()=>G(),isDisabled:p||a}]],children:e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(ee,{name:m,value:T,getItemId:d}),e.jsxRuntimeExports.jsx("div",{className:O(),children:e.jsxRuntimeExports.jsx("div",{ref:F,children:o})}),e.jsxRuntimeExports.jsx(I,{label:h,searchInputRef:i,triggerRef:F,getItemId:d,getLabel:x,items:E,onLoadMore:R,open:P,setOpenPopover:B,selectRenderElements:S,disabledItemIdKeys:t,direction:z,onQueryChange:u,isLoading:q,value:T,onMultiChange:y,placement:v})]})})};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 renderCustomElementInValueButton,\n searchInputRef,\n selectRenderElements,\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: \"min-h-8 grow\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={openPopover}\n >\n <div className=\"flex grow truncate text-start\">\n {renderCustomElementInValueButton && value\n ? selectRenderElements(value)?.customElement\n : null}\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<\n ValueButton<T>,\n \"value\" | \"onChange\" | \"selectRenderElements\" | \"renderCustomElementInValueButton\"\n> & {\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 \"py-[0.4375rem]\",\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 renderCustomElementInValueButton,\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 renderCustomElementInValueButton={renderCustomElementInValueButton}\n selectRenderElements={selectRenderElements}\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","renderCustomElementInValueButton","searchInputRef","selectRenderElements","startSlot","value","buttonExcludedFromTabOrder","inputField","sharedInputStyles","onKeyDown","e","flushSync","jsxs","AriaButton","isFocused","isHovered","_a","Text","jsx","Fragment","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","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","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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"}
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 renderCustomElementInValueButton,\n searchInputRef,\n selectRenderElements,\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: \"min-h-8 grow\",\n })\n }\n isDisabled={isDisabled}\n onKeyDown={onKeyDown}\n onPress={openPopover}\n >\n <div className=\"flex grow truncate text-start\">\n {renderCustomElementInValueButton && value\n ? selectRenderElements(value)?.customElement\n : null}\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<\n ValueButton<T>,\n \"value\" | \"onChange\" | \"selectRenderElements\" | \"renderCustomElementInValueButton\"\n> & {\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 \"py-[0.4375rem]\",\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 renderCustomElementInValueButton,\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 renderCustomElementInValueButton={renderCustomElementInValueButton}\n selectRenderElements={selectRenderElements}\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 onLoadMore,\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 onLoadMore={onLoadMore}\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 onLoadMore,\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 onLoadMore={onLoadMore}\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","renderCustomElementInValueButton","searchInputRef","selectRenderElements","startSlot","value","buttonExcludedFromTabOrder","inputField","sharedInputStyles","onKeyDown","e","flushSync","jsxs","AriaButton","isFocused","isHovered","_a","Text","jsx","Fragment","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","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","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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"}