@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
@@ -1 +1 @@
1
- {"version":3,"file":"lyra37.js","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.js","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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"}
package/dist/lyra43.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./lyra90.cjs"),i=require("react"),a=require("./lyra89.cjs"),E=require("./lyra101.cjs"),w=require("./lyra450.cjs"),Y=require("./lyra93.cjs"),Z=require("./lyra95.cjs"),$=require("./lyra613.cjs"),ee=require("./lyra65.cjs");require("./lyra459.cjs");const te=require("./lyra460.cjs"),se=require("./lyra38.cjs"),re=require("./lyra39.cjs"),ne=require("./lyra40.cjs"),S=({defaultValue:p,description:k,fullWidth:N=!0,hideHintLabel:B,hideInputFooter:b,hideInputHeader:D,inputRef:R,label:P,onChange:l,value:x,...m},f)=>{[m,f]=a.useContextProps(m,f,a.TextFieldContext);const h=i.useRef(null),c=E.useObjectRef(R?E.mergeRefs(h,R):h),{className:V,errorMessage:_,isDisabled:A=!1,isInvalid:G,isRequired:d,name:F,...H}=m,C=Z.useDictionary(),[M,I]=i.useState(""),[t,q]=i.useState(x??p??[]),{inputField:O,wrapper:K}=ne.sharedInputStyles({fullWidth:N});i.useEffect(()=>{q(x??p??[])},[x,p]);const u=i.useCallback(e=>{q(e),l==null||l(e)},[l]),L=i.useCallback(e=>{if(["Enter",","].includes(e.key)){e.preventDefault();const o=e.currentTarget.value.trim();o&&!t.includes(o)&&u([...t,e.currentTarget.value.trim()]),I("")}else e.key==="Backspace"&&(e.currentTarget.value||(e.preventDefault(),u(t.slice(0,-1))))},[u,t]),z=i.useCallback(e=>{if(e.preventDefault(),e.clipboardData){const o=e.clipboardData.getData("Text");if(o){const s=o?o.split(",").map(r=>r.replace(/[\u200B-\u200D\uFEFF]/g,"")).filter(r=>r.length>0).map(r=>r.trim()):[];u(Array.from(new Set([...t,...s])))}}},[u,t]),J=i.useMemo(()=>d&&t.length===0,[t.length,d]),{removeButton:Q,tag:U}=te.tagStyles(),[W,v]=i.useState(!1),[g,j]=i.useState(0),[X,T]=i.useState(!1);return n.jsxRuntimeExports.jsx(a.TextField,{className:K({className:V}),isDisabled:A,isInvalid:G,isRequired:J,...H,onKeyDown:L,value:M,onChange:I,onPaste:z,ref:f,children:({isDisabled:e,isInvalid:o})=>n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx(se.InputHeader,{label:P,isRequired:d,hideHintLabel:B,hideInputHeader:D}),n.jsxRuntimeExports.jsxs(a.Group,{className:({isFocusWithin:s,isHovered:r})=>O({isFocused:s,isHovered:r,isDisabled:e,isInvalid:o,className:"relative flex-wrap items-start gap-1"}),onFocus:()=>{var s;t.length===0&&((s=c==null?void 0:c.current)==null||s.focus())},children:[n.jsxRuntimeExports.jsxs("div",{className:w.clsx(t.length&&"-my-px","-mx-1 flex w-full flex-wrap gap-1 py-[0.1875rem] outline-none"),tabIndex:e?void 0:0,role:"grid",onKeyDown:s=>{s.key==="ArrowRight"?(s.preventDefault(),j(r=>(r+1)%t.length)):s.key==="ArrowLeft"?(s.preventDefault(),j(r=>(r-1+t.length)%t.length)):s.key==="Backspace"&&g!==-1&&u(t.filter((r,y)=>y!==g))},onFocus:()=>{e||v(!0)},onBlur:()=>{e||v(!1)},children:[t.map((s,r)=>n.jsxRuntimeExports.jsxs("div",{className:U({allowsRemoving:!0,className:w.clsx(W&&r===g&&!X&&!e?"border-focus shadow-highlight":"")}),"aria-label":s,"aria-colindex":r+1,role:"gridcell",onClick:()=>{e||j(r)},children:[s,!e&&n.jsxRuntimeExports.jsx($.SpanButton,{className:Q({isDisabled:e}),onPress:()=>u(t.filter(y=>y!==s)),children:n.jsxRuntimeExports.jsx(ee.SvgIcon,{name:"clear"})})]},s)),n.jsxRuntimeExports.jsx(a.Input,{className:"-my-0.5 h-7 w-full min-w-36 flex-1 ps-2 outline-none",ref:c,onFocus:()=>{e||T(!0)},onBlur:()=>{e||T(!1)}})]}),F?n.jsxRuntimeExports.jsx("input",{type:"hidden",value:t.join(","),name:F}):null]}),n.jsxRuntimeExports.jsx(re.InputFooter,{description:k??C.tagInputDescription,errorMessage:_,hideInputFooter:b})]})})};S.displayName="TagInput";const ie=Y.fixedForwardRef(S);exports.TagInput=ie;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./lyra90.cjs"),i=require("react"),a=require("./lyra89.cjs"),E=require("./lyra101.cjs"),w=require("./lyra450.cjs"),Y=require("./lyra93.cjs"),Z=require("./lyra95.cjs"),$=require("./lyra619.cjs"),ee=require("./lyra65.cjs");require("./lyra456.cjs");const te=require("./lyra457.cjs"),se=require("./lyra38.cjs"),re=require("./lyra39.cjs"),ne=require("./lyra40.cjs"),S=({defaultValue:p,description:k,fullWidth:N=!0,hideHintLabel:B,hideInputFooter:b,hideInputHeader:D,inputRef:R,label:P,onChange:l,value:x,...m},f)=>{[m,f]=a.useContextProps(m,f,a.TextFieldContext);const h=i.useRef(null),c=E.useObjectRef(R?E.mergeRefs(h,R):h),{className:V,errorMessage:_,isDisabled:A=!1,isInvalid:G,isRequired:d,name:F,...H}=m,C=Z.useDictionary(),[M,I]=i.useState(""),[t,q]=i.useState(x??p??[]),{inputField:O,wrapper:K}=ne.sharedInputStyles({fullWidth:N});i.useEffect(()=>{q(x??p??[])},[x,p]);const u=i.useCallback(e=>{q(e),l==null||l(e)},[l]),L=i.useCallback(e=>{if(["Enter",","].includes(e.key)){e.preventDefault();const o=e.currentTarget.value.trim();o&&!t.includes(o)&&u([...t,e.currentTarget.value.trim()]),I("")}else e.key==="Backspace"&&(e.currentTarget.value||(e.preventDefault(),u(t.slice(0,-1))))},[u,t]),z=i.useCallback(e=>{if(e.preventDefault(),e.clipboardData){const o=e.clipboardData.getData("Text");if(o){const s=o?o.split(",").map(r=>r.replace(/[\u200B-\u200D\uFEFF]/g,"")).filter(r=>r.length>0).map(r=>r.trim()):[];u(Array.from(new Set([...t,...s])))}}},[u,t]),J=i.useMemo(()=>d&&t.length===0,[t.length,d]),{removeButton:Q,tag:U}=te.tagStyles(),[W,v]=i.useState(!1),[g,j]=i.useState(0),[X,T]=i.useState(!1);return n.jsxRuntimeExports.jsx(a.TextField,{className:K({className:V}),isDisabled:A,isInvalid:G,isRequired:J,...H,onKeyDown:L,value:M,onChange:I,onPaste:z,ref:f,children:({isDisabled:e,isInvalid:o})=>n.jsxRuntimeExports.jsxs(n.jsxRuntimeExports.Fragment,{children:[n.jsxRuntimeExports.jsx(se.InputHeader,{label:P,isRequired:d,hideHintLabel:B,hideInputHeader:D}),n.jsxRuntimeExports.jsxs(a.Group,{className:({isFocusWithin:s,isHovered:r})=>O({isFocused:s,isHovered:r,isDisabled:e,isInvalid:o,className:"relative flex-wrap items-start gap-1"}),onFocus:()=>{var s;t.length===0&&((s=c==null?void 0:c.current)==null||s.focus())},children:[n.jsxRuntimeExports.jsxs("div",{className:w.clsx(t.length&&"-my-px","-mx-1 flex w-full flex-wrap gap-1 py-[0.1875rem] outline-none"),tabIndex:e?void 0:0,role:"grid",onKeyDown:s=>{s.key==="ArrowRight"?(s.preventDefault(),j(r=>(r+1)%t.length)):s.key==="ArrowLeft"?(s.preventDefault(),j(r=>(r-1+t.length)%t.length)):s.key==="Backspace"&&g!==-1&&u(t.filter((r,y)=>y!==g))},onFocus:()=>{e||v(!0)},onBlur:()=>{e||v(!1)},children:[t.map((s,r)=>n.jsxRuntimeExports.jsxs("div",{className:U({allowsRemoving:!0,className:w.clsx(W&&r===g&&!X&&!e?"border-focus shadow-highlight":"")}),"aria-label":s,"aria-colindex":r+1,role:"gridcell",onClick:()=>{e||j(r)},children:[s,!e&&n.jsxRuntimeExports.jsx($.SpanButton,{className:Q({isDisabled:e}),onPress:()=>u(t.filter(y=>y!==s)),children:n.jsxRuntimeExports.jsx(ee.SvgIcon,{name:"clear"})})]},s)),n.jsxRuntimeExports.jsx(a.Input,{className:"-my-0.5 h-7 w-full min-w-36 flex-1 ps-2 outline-none",ref:c,onFocus:()=>{e||T(!0)},onBlur:()=>{e||T(!1)}})]}),F?n.jsxRuntimeExports.jsx("input",{type:"hidden",value:t.join(","),name:F}):null]}),n.jsxRuntimeExports.jsx(re.InputFooter,{description:k??C.tagInputDescription,errorMessage:_,hideInputFooter:b})]})})};S.displayName="TagInput";const ie=Y.fixedForwardRef(S);exports.TagInput=ie;
package/dist/lyra43.js CHANGED
@@ -5,10 +5,10 @@ import { useObjectRef as oe, mergeRefs as ae } from "./lyra101.js";
5
5
  import { clsx as T } from "./lyra450.js";
6
6
  import { fixedForwardRef as ne } from "./lyra93.js";
7
7
  import { useDictionary as ie } from "./lyra95.js";
8
- import { SpanButton as le } from "./lyra613.js";
8
+ import { SpanButton as le } from "./lyra619.js";
9
9
  import { SvgIcon as ce } from "./lyra65.js";
10
- import "./lyra459.js";
11
- import { tagStyles as fe } from "./lyra460.js";
10
+ import "./lyra456.js";
11
+ import { tagStyles as fe } from "./lyra457.js";
12
12
  import { InputHeader as ue } from "./lyra38.js";
13
13
  import { InputFooter as pe } from "./lyra39.js";
14
14
  import { sharedInputStyles as me } from "./lyra40.js";
package/dist/lyra453.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra451.cjs"),t=e.tv({base:["flex","flex-col","w-full","outline-none","overflow-auto"]}),r=e.tv({base:["block","w-full","justify-start","rounded-sm","bg-transparent","p-1","ps-1.5","text-start","text-base","font-normal","text-primary","outline-none","duration-0","active:text-inverted","hover:bg-action-hover","hover:text-inverted","focus:bg-action-focus","focus:text-inverted","focus-visible:[box-shadow:none]"],variants:{isDisabled:{true:["text-tertiary","cursor-not-allowed"]}}}),i=e.tv({slots:{item:["flex","items-start","p-1","rounded-sm","outline-none"],itemCheckmark:[],itemCheckmarkWrapper:[],itemImage:["w-9","min-w-9","h-9","rounded-xs","border","solid","border-default","me-1.5","overflow-hidden","box-border","object-contain","bg-[#ffffff]","block"],itemLabel:["text-primary","text-base","truncate","overflow-hidden","select-none"],itemDescription:["text-sm","text-secondary","truncate","overflow-hidden","select-none"],itemEndIcon:["text-tertiary","w-4","h-4"],itemStartIcon:["w-4","h-4","me-1"]},variants:{hasSelection:{true:{itemCheckmarkWrapper:["w-5","min-w-5"],itemCheckmark:["text-primary","min-w-4","me-1"]},false:{item:["ps-1.5"]}},disabled:{true:{item:["cursor-not-allowed"],itemCheckmark:["text-tertiary"],itemImage:["opacity-50"],itemLabel:["text-tertiary"],itemDescription:["text-tertiary"]}},active:{true:{item:["bg-action-focus"],itemImage:["border-focus"],itemCheckmark:["text-inverted"],itemLabel:["text-inverted"],itemDescription:["text-inverted"],itemStartIcon:["text-inverted"],itemEndIcon:["text-inverted"]}}}});exports.loadMoreButtonStyles=r;exports.sharedListItemStyles=i;exports.sharedListStyles=t;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("./lyra451.cjs"),e=t.tv({slots:{box:["bg-surface-contrast","rounded-xs","text-inverted","text-sm","px-1.5","py-1","text-center"],beak:["transform","text-[--color-neutral-9]"]},variants:{placement:{top:{beak:"rotate-180 relative"},bottom:{},left:{beak:"rotate-90 relative -translate-x-1"},right:{beak:"-rotate-90 relative translate-x-1"},center:{}}}});exports.tooltipStyles=e;
@@ -1 +1 @@
1
- {"version":3,"file":"lyra453.cjs","sources":["../src/components/lists/shared-list.styles.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\nexport const sharedListStyles = tv({\n base: [\"flex\", \"flex-col\", \"w-full\", \"outline-none\", \"overflow-auto\"],\n});\n\nexport const loadMoreButtonStyles = tv({\n base: [\n \"block\",\n \"w-full\",\n \"justify-start\",\n \"rounded-sm\",\n \"bg-transparent\",\n \"p-1\",\n \"ps-1.5\",\n \"text-start\",\n \"text-base\",\n \"font-normal\",\n \"text-primary\",\n \"outline-none\",\n \"duration-0\",\n \"active:text-inverted\",\n \"hover:bg-action-hover\",\n \"hover:text-inverted\",\n \"focus:bg-action-focus\",\n \"focus:text-inverted\",\n \"focus-visible:[box-shadow:none]\",\n ],\n variants: {\n isDisabled: {\n true: [\"text-tertiary\", \"cursor-not-allowed\"],\n },\n },\n});\n\nexport const sharedListItemStyles = tv({\n slots: {\n item: [\"flex\", \"items-start\", \"p-1\", \"rounded-sm\", \"outline-none\"],\n itemCheckmark: [],\n itemCheckmarkWrapper: [],\n itemImage: [\n \"w-9\",\n \"min-w-9\",\n \"h-9\",\n \"rounded-xs\",\n \"border\",\n \"solid\",\n \"border-default\",\n \"me-1.5\",\n \"overflow-hidden\",\n \"box-border\",\n \"object-contain\",\n \"bg-[#ffffff]\",\n \"block\",\n ],\n itemLabel: [\"text-primary\", \"text-base\", \"truncate\", \"overflow-hidden\", \"select-none\"],\n itemDescription: [\"text-sm\", \"text-secondary\", \"truncate\", \"overflow-hidden\", \"select-none\"],\n itemEndIcon: [\"text-tertiary\", \"w-4\", \"h-4\"],\n itemStartIcon: [\"w-4\", \"h-4\", \"me-1\"],\n },\n variants: {\n hasSelection: {\n true: {\n itemCheckmarkWrapper: [\"w-5\", \"min-w-5\"],\n itemCheckmark: [\"text-primary\", \"min-w-4\", \"me-1\"],\n },\n false: {\n item: [\"ps-1.5\"],\n },\n },\n disabled: {\n true: {\n item: [\"cursor-not-allowed\"],\n itemCheckmark: [\"text-tertiary\"],\n itemImage: [\"opacity-50\"],\n itemLabel: [\"text-tertiary\"],\n itemDescription: [\"text-tertiary\"],\n },\n },\n active: {\n true: {\n item: [\"bg-action-focus\"],\n itemImage: [\"border-focus\"],\n itemCheckmark: [\"text-inverted\"],\n itemLabel: [\"text-inverted\"],\n itemDescription: [\"text-inverted\"],\n itemStartIcon: [\"text-inverted\"],\n itemEndIcon: [\"text-inverted\"],\n },\n },\n },\n});\n"],"names":["sharedListStyles","tv","loadMoreButtonStyles","sharedListItemStyles"],"mappings":"iHAEaA,EAAmBC,EAAAA,GAAG,CACjC,KAAM,CAAC,OAAQ,WAAY,SAAU,eAAgB,eAAe,CACtE,CAAC,EAEYC,EAAuBD,EAAAA,GAAG,CACrC,KAAM,CACJ,QACA,SACA,gBACA,aACA,iBACA,MACA,SACA,aACA,YACA,cACA,eACA,eACA,aACA,uBACA,wBACA,sBACA,wBACA,sBACA,iCACF,EACA,SAAU,CACR,WAAY,CACV,KAAM,CAAC,gBAAiB,oBAAoB,CAC9C,CACF,CACF,CAAC,EAEYE,EAAuBF,EAAAA,GAAG,CACrC,MAAO,CACL,KAAM,CAAC,OAAQ,cAAe,MAAO,aAAc,cAAc,EACjE,cAAe,CAAC,EAChB,qBAAsB,CAAC,EACvB,UAAW,CACT,MACA,UACA,MACA,aACA,SACA,QACA,iBACA,SACA,kBACA,aACA,iBACA,eACA,OACF,EACA,UAAW,CAAC,eAAgB,YAAa,WAAY,kBAAmB,aAAa,EACrF,gBAAiB,CAAC,UAAW,iBAAkB,WAAY,kBAAmB,aAAa,EAC3F,YAAa,CAAC,gBAAiB,MAAO,KAAK,EAC3C,cAAe,CAAC,MAAO,MAAO,MAAM,CACtC,EACA,SAAU,CACR,aAAc,CACZ,KAAM,CACJ,qBAAsB,CAAC,MAAO,SAAS,EACvC,cAAe,CAAC,eAAgB,UAAW,MAAM,CACnD,EACA,MAAO,CACL,KAAM,CAAC,QAAQ,CACjB,CACF,EACA,SAAU,CACR,KAAM,CACJ,KAAM,CAAC,oBAAoB,EAC3B,cAAe,CAAC,eAAe,EAC/B,UAAW,CAAC,YAAY,EACxB,UAAW,CAAC,eAAe,EAC3B,gBAAiB,CAAC,eAAe,CACnC,CACF,EACA,OAAQ,CACN,KAAM,CACJ,KAAM,CAAC,iBAAiB,EACxB,UAAW,CAAC,cAAc,EAC1B,cAAe,CAAC,eAAe,EAC/B,UAAW,CAAC,eAAe,EAC3B,gBAAiB,CAAC,eAAe,EACjC,cAAe,CAAC,eAAe,EAC/B,YAAa,CAAC,eAAe,CAC/B,CACF,CACF,CACF,CAAC"}
1
+ {"version":3,"file":"lyra453.cjs","sources":["../src/components/tooltip/tooltip.styles.ts"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\nexport const tooltipStyles = tv({\n slots: {\n box: [\n \"bg-surface-contrast\",\n \"rounded-xs\",\n \"text-inverted\",\n \"text-sm\",\n \"px-1.5\",\n \"py-1\",\n \"text-center\",\n ],\n beak: [\"transform\", \"text-[--color-neutral-9]\"],\n },\n variants: {\n placement: {\n top: {\n beak: \"rotate-180 relative\",\n },\n bottom: {},\n left: {\n beak: \"rotate-90 relative -translate-x-1\",\n },\n right: {\n beak: \"-rotate-90 relative translate-x-1\",\n },\n center: {},\n },\n },\n});\n"],"names":["tooltipStyles","tv"],"mappings":"iHAEaA,EAAgBC,EAAAA,GAAG,CAC9B,MAAO,CACL,IAAK,CACH,sBACA,aACA,gBACA,UACA,SACA,OACA,aACF,EACA,KAAM,CAAC,YAAa,0BAA0B,CAChD,EACA,SAAU,CACR,UAAW,CACT,IAAK,CACH,KAAM,qBACR,EACA,OAAQ,CAAC,EACT,KAAM,CACJ,KAAM,mCACR,EACA,MAAO,CACL,KAAM,mCACR,EACA,OAAQ,CAAC,CACX,CACF,CACF,CAAC"}
package/dist/lyra453.js CHANGED
@@ -1,92 +1,33 @@
1
- import { tv as e } from "./lyra451.js";
2
- const r = e({
3
- base: ["flex", "flex-col", "w-full", "outline-none", "overflow-auto"]
4
- }), i = e({
5
- base: [
6
- "block",
7
- "w-full",
8
- "justify-start",
9
- "rounded-sm",
10
- "bg-transparent",
11
- "p-1",
12
- "ps-1.5",
13
- "text-start",
14
- "text-base",
15
- "font-normal",
16
- "text-primary",
17
- "outline-none",
18
- "duration-0",
19
- "active:text-inverted",
20
- "hover:bg-action-hover",
21
- "hover:text-inverted",
22
- "focus:bg-action-focus",
23
- "focus:text-inverted",
24
- "focus-visible:[box-shadow:none]"
25
- ],
26
- variants: {
27
- isDisabled: {
28
- true: ["text-tertiary", "cursor-not-allowed"]
29
- }
30
- }
31
- }), o = e({
1
+ import { tv as t } from "./lyra451.js";
2
+ const r = t({
32
3
  slots: {
33
- item: ["flex", "items-start", "p-1", "rounded-sm", "outline-none"],
34
- itemCheckmark: [],
35
- itemCheckmarkWrapper: [],
36
- itemImage: [
37
- "w-9",
38
- "min-w-9",
39
- "h-9",
4
+ box: [
5
+ "bg-surface-contrast",
40
6
  "rounded-xs",
41
- "border",
42
- "solid",
43
- "border-default",
44
- "me-1.5",
45
- "overflow-hidden",
46
- "box-border",
47
- "object-contain",
48
- "bg-[#ffffff]",
49
- "block"
7
+ "text-inverted",
8
+ "text-sm",
9
+ "px-1.5",
10
+ "py-1",
11
+ "text-center"
50
12
  ],
51
- itemLabel: ["text-primary", "text-base", "truncate", "overflow-hidden", "select-none"],
52
- itemDescription: ["text-sm", "text-secondary", "truncate", "overflow-hidden", "select-none"],
53
- itemEndIcon: ["text-tertiary", "w-4", "h-4"],
54
- itemStartIcon: ["w-4", "h-4", "me-1"]
13
+ beak: ["transform", "text-[--color-neutral-9]"]
55
14
  },
56
15
  variants: {
57
- hasSelection: {
58
- true: {
59
- itemCheckmarkWrapper: ["w-5", "min-w-5"],
60
- itemCheckmark: ["text-primary", "min-w-4", "me-1"]
16
+ placement: {
17
+ top: {
18
+ beak: "rotate-180 relative"
19
+ },
20
+ bottom: {},
21
+ left: {
22
+ beak: "rotate-90 relative -translate-x-1"
23
+ },
24
+ right: {
25
+ beak: "-rotate-90 relative translate-x-1"
61
26
  },
62
- false: {
63
- item: ["ps-1.5"]
64
- }
65
- },
66
- disabled: {
67
- true: {
68
- item: ["cursor-not-allowed"],
69
- itemCheckmark: ["text-tertiary"],
70
- itemImage: ["opacity-50"],
71
- itemLabel: ["text-tertiary"],
72
- itemDescription: ["text-tertiary"]
73
- }
74
- },
75
- active: {
76
- true: {
77
- item: ["bg-action-focus"],
78
- itemImage: ["border-focus"],
79
- itemCheckmark: ["text-inverted"],
80
- itemLabel: ["text-inverted"],
81
- itemDescription: ["text-inverted"],
82
- itemStartIcon: ["text-inverted"],
83
- itemEndIcon: ["text-inverted"]
84
- }
27
+ center: {}
85
28
  }
86
29
  }
87
30
  });
88
31
  export {
89
- i as loadMoreButtonStyles,
90
- o as sharedListItemStyles,
91
- r as sharedListStyles
32
+ r as tooltipStyles
92
33
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lyra453.js","sources":["../src/components/lists/shared-list.styles.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\nexport const sharedListStyles = tv({\n base: [\"flex\", \"flex-col\", \"w-full\", \"outline-none\", \"overflow-auto\"],\n});\n\nexport const loadMoreButtonStyles = tv({\n base: [\n \"block\",\n \"w-full\",\n \"justify-start\",\n \"rounded-sm\",\n \"bg-transparent\",\n \"p-1\",\n \"ps-1.5\",\n \"text-start\",\n \"text-base\",\n \"font-normal\",\n \"text-primary\",\n \"outline-none\",\n \"duration-0\",\n \"active:text-inverted\",\n \"hover:bg-action-hover\",\n \"hover:text-inverted\",\n \"focus:bg-action-focus\",\n \"focus:text-inverted\",\n \"focus-visible:[box-shadow:none]\",\n ],\n variants: {\n isDisabled: {\n true: [\"text-tertiary\", \"cursor-not-allowed\"],\n },\n },\n});\n\nexport const sharedListItemStyles = tv({\n slots: {\n item: [\"flex\", \"items-start\", \"p-1\", \"rounded-sm\", \"outline-none\"],\n itemCheckmark: [],\n itemCheckmarkWrapper: [],\n itemImage: [\n \"w-9\",\n \"min-w-9\",\n \"h-9\",\n \"rounded-xs\",\n \"border\",\n \"solid\",\n \"border-default\",\n \"me-1.5\",\n \"overflow-hidden\",\n \"box-border\",\n \"object-contain\",\n \"bg-[#ffffff]\",\n \"block\",\n ],\n itemLabel: [\"text-primary\", \"text-base\", \"truncate\", \"overflow-hidden\", \"select-none\"],\n itemDescription: [\"text-sm\", \"text-secondary\", \"truncate\", \"overflow-hidden\", \"select-none\"],\n itemEndIcon: [\"text-tertiary\", \"w-4\", \"h-4\"],\n itemStartIcon: [\"w-4\", \"h-4\", \"me-1\"],\n },\n variants: {\n hasSelection: {\n true: {\n itemCheckmarkWrapper: [\"w-5\", \"min-w-5\"],\n itemCheckmark: [\"text-primary\", \"min-w-4\", \"me-1\"],\n },\n false: {\n item: [\"ps-1.5\"],\n },\n },\n disabled: {\n true: {\n item: [\"cursor-not-allowed\"],\n itemCheckmark: [\"text-tertiary\"],\n itemImage: [\"opacity-50\"],\n itemLabel: [\"text-tertiary\"],\n itemDescription: [\"text-tertiary\"],\n },\n },\n active: {\n true: {\n item: [\"bg-action-focus\"],\n itemImage: [\"border-focus\"],\n itemCheckmark: [\"text-inverted\"],\n itemLabel: [\"text-inverted\"],\n itemDescription: [\"text-inverted\"],\n itemStartIcon: [\"text-inverted\"],\n itemEndIcon: [\"text-inverted\"],\n },\n },\n },\n});\n"],"names":["sharedListStyles","tv","loadMoreButtonStyles","sharedListItemStyles"],"mappings":";AAEO,MAAMA,IAAmBC,EAAG;AAAA,EACjC,MAAM,CAAC,QAAQ,YAAY,UAAU,gBAAgB,eAAe;AACtE,CAAC,GAEYC,IAAuBD,EAAG;AAAA,EACrC,MAAM;AAAA,IACJ;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EACA,UAAU;AAAA,IACR,YAAY;AAAA,MACV,MAAM,CAAC,iBAAiB,oBAAoB;AAAA,IAC9C;AAAA,EACF;AACF,CAAC,GAEYE,IAAuBF,EAAG;AAAA,EACrC,OAAO;AAAA,IACL,MAAM,CAAC,QAAQ,eAAe,OAAO,cAAc,cAAc;AAAA,IACjE,eAAe,CAAC;AAAA,IAChB,sBAAsB,CAAC;AAAA,IACvB,WAAW;AAAA,MACT;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,WAAW,CAAC,gBAAgB,aAAa,YAAY,mBAAmB,aAAa;AAAA,IACrF,iBAAiB,CAAC,WAAW,kBAAkB,YAAY,mBAAmB,aAAa;AAAA,IAC3F,aAAa,CAAC,iBAAiB,OAAO,KAAK;AAAA,IAC3C,eAAe,CAAC,OAAO,OAAO,MAAM;AAAA,EACtC;AAAA,EACA,UAAU;AAAA,IACR,cAAc;AAAA,MACZ,MAAM;AAAA,QACJ,sBAAsB,CAAC,OAAO,SAAS;AAAA,QACvC,eAAe,CAAC,gBAAgB,WAAW,MAAM;AAAA,MACnD;AAAA,MACA,OAAO;AAAA,QACL,MAAM,CAAC,QAAQ;AAAA,MACjB;AAAA,IACF;AAAA,IACA,UAAU;AAAA,MACR,MAAM;AAAA,QACJ,MAAM,CAAC,oBAAoB;AAAA,QAC3B,eAAe,CAAC,eAAe;AAAA,QAC/B,WAAW,CAAC,YAAY;AAAA,QACxB,WAAW,CAAC,eAAe;AAAA,QAC3B,iBAAiB,CAAC,eAAe;AAAA,MACnC;AAAA,IACF;AAAA,IACA,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,MAAM,CAAC,iBAAiB;AAAA,QACxB,WAAW,CAAC,cAAc;AAAA,QAC1B,eAAe,CAAC,eAAe;AAAA,QAC/B,WAAW,CAAC,eAAe;AAAA,QAC3B,iBAAiB,CAAC,eAAe;AAAA,QACjC,eAAe,CAAC,eAAe;AAAA,QAC/B,aAAa,CAAC,eAAe;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AACF,CAAC;"}
1
+ {"version":3,"file":"lyra453.js","sources":["../src/components/tooltip/tooltip.styles.ts"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\nexport const tooltipStyles = tv({\n slots: {\n box: [\n \"bg-surface-contrast\",\n \"rounded-xs\",\n \"text-inverted\",\n \"text-sm\",\n \"px-1.5\",\n \"py-1\",\n \"text-center\",\n ],\n beak: [\"transform\", \"text-[--color-neutral-9]\"],\n },\n variants: {\n placement: {\n top: {\n beak: \"rotate-180 relative\",\n },\n bottom: {},\n left: {\n beak: \"rotate-90 relative -translate-x-1\",\n },\n right: {\n beak: \"-rotate-90 relative translate-x-1\",\n },\n center: {},\n },\n },\n});\n"],"names":["tooltipStyles","tv"],"mappings":";AAEO,MAAMA,IAAgBC,EAAG;AAAA,EAC9B,OAAO;AAAA,IACL,KAAK;AAAA,MACH;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IACF;AAAA,IACA,MAAM,CAAC,aAAa,0BAA0B;AAAA,EAChD;AAAA,EACA,UAAU;AAAA,IACR,WAAW;AAAA,MACT,KAAK;AAAA,QACH,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,CAAC;AAAA,MACT,MAAM;AAAA,QACJ,MAAM;AAAA,MACR;AAAA,MACA,OAAO;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,QAAQ,CAAC;AAAA,IACX;AAAA,EACF;AACF,CAAC;"}
package/dist/lyra454.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra90.cjs"),i=require("./lyra92.cjs"),n=require("./lyra65.cjs"),x=require("./lyra73.cjs");require("./lyra74.cjs");const I=require("./lyra453.cjs"),R=i.default.object({label:i.default.string(),description:i.default.string().optional(),iconStart:n.iconsSchema.optional(),iconEnd:n.iconsSchema.optional(),image:i.default.string().url().optional(),customElement:i.default.any().optional()}).transform(t=>(t.customElement?(delete t.image,delete t.iconStart):t.image&&delete t.iconStart,t)),v=({hasSelection:t,item:u,selectRenderElements:d,state:s})=>{const{customElement:l,description:r,iconEnd:m,iconStart:o,image:c,label:a}=R.parse(d(u)),{item:p,itemCheckmark:j,itemCheckmarkWrapper:S,itemDescription:h,itemEndIcon:E,itemImage:g,itemLabel:f,itemStartIcon:y}=I.sharedListItemStyles({hasSelection:t});return e.jsxRuntimeExports.jsxs("div",{className:p(s),children:[t?e.jsxRuntimeExports.jsx("div",{className:S(),children:s.selected?e.jsxRuntimeExports.jsx(n.SvgIcon,{name:"checkmark",className:j(s)}):e.jsxRuntimeExports.jsx("div",{className:"h-4 w-4"})}):null,l||null,c?e.jsxRuntimeExports.jsx("img",{src:c,alt:a,className:g(s)}):null,o?e.jsxRuntimeExports.jsx("div",{className:y(s),children:e.jsxRuntimeExports.jsx(n.SvgIcon,{name:o})}):null,e.jsxRuntimeExports.jsxs("div",{className:"flex w-full grow flex-col gap-1 overflow-hidden truncate",children:[e.jsxRuntimeExports.jsx(x.Text,{slot:"label",className:f(s),children:a}),r?e.jsxRuntimeExports.jsx(x.Text,{slot:"description",className:h(s),children:r}):null]}),m?e.jsxRuntimeExports.jsx("div",{className:E(s),children:e.jsxRuntimeExports.jsx(n.SvgIcon,{name:m})}):null]})};exports.SharedListItem=v;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra451.cjs"),t=e.tv({base:["flex","flex-col","w-full","outline-none","overflow-auto"]}),r=e.tv({base:["block","w-full","justify-start","rounded-sm","bg-transparent","p-1","ps-1.5","text-start","text-base","font-normal","text-primary","outline-none","duration-0","active:text-inverted","hover:bg-action-hover","hover:text-inverted","focus:bg-action-focus","focus:text-inverted","focus-visible:[box-shadow:none]"],variants:{isDisabled:{true:["text-tertiary","cursor-not-allowed"]}}}),i=e.tv({slots:{item:["flex","items-start","p-1","rounded-sm","outline-none"],itemCheckmark:[],itemCheckmarkWrapper:[],itemImage:["w-9","min-w-9","h-9","rounded-xs","border","solid","border-default","me-1.5","overflow-hidden","box-border","object-contain","bg-[#ffffff]","block"],itemLabel:["text-primary","text-base","truncate","overflow-hidden","select-none"],itemDescription:["text-sm","text-secondary","truncate","overflow-hidden","select-none"],itemEndIcon:["text-tertiary","w-4","h-4"],itemStartIcon:["w-4","h-4","me-1"]},variants:{hasSelection:{true:{itemCheckmarkWrapper:["w-5","min-w-5"],itemCheckmark:["text-primary","min-w-4","me-1"]},false:{item:["ps-1.5"]}},disabled:{true:{item:["cursor-not-allowed"],itemCheckmark:["text-tertiary"],itemImage:["opacity-50"],itemLabel:["text-tertiary"],itemDescription:["text-tertiary"]}},active:{true:{item:["bg-action-focus"],itemImage:["border-focus"],itemCheckmark:["text-inverted"],itemLabel:["text-inverted"],itemDescription:["text-inverted"],itemStartIcon:["text-inverted"],itemEndIcon:["text-inverted"]}}}});exports.loadMoreButtonStyles=r;exports.sharedListItemStyles=i;exports.sharedListStyles=t;
@@ -1 +1 @@
1
- {"version":3,"file":"lyra454.cjs","sources":["../src/components/lists/shared-list-item.tsx"],"sourcesContent":["import { ReactNode } from \"react\";\n\nimport { z } from \"zod\";\n\nimport { iconsSchema, SvgIcon } from \"../svg-icon\";\nimport { Text } from \"../text\";\n\nimport { sharedListItemStyles } from \"./shared-list.styles\";\n\n// Define the schema for the shared list item\nconst sharedListItemSchema = z\n .object({\n label: z.string(),\n description: z.string().optional(),\n iconStart: iconsSchema.optional(),\n iconEnd: iconsSchema.optional(),\n image: z.string().url().optional(),\n customElement: z.any().optional(),\n })\n .transform((data) => {\n // customElement, image and iconStart are mutually exclusive, so we remove the other two if one is present.\n // Priority is customElement > image > iconStart\n if (data.customElement) {\n delete data.image;\n delete data.iconStart;\n } else if (data.image) {\n delete data.iconStart;\n }\n return data;\n });\n\n// Infer the type of the shared list item arguments. We make sure customElement will be typed as ReactNode.\nexport type SharedListItemArgs = z.infer<typeof sharedListItemSchema> & {\n customElement?: ReactNode;\n};\n\ntype SharedListItemRenderPropArg = {\n active: boolean;\n selected: boolean;\n disabled: boolean;\n};\n\nexport type SelectItemRenderPropFn<T> = (arg: T) => SharedListItemArgs;\n\nexport type SharedListItemProps<T extends object> = {\n item: T;\n selectRenderElements: SelectItemRenderPropFn<T>;\n state: SharedListItemRenderPropArg;\n hasSelection?: boolean;\n};\n\n/**\n * Renders a single item in a list\n *\n * @template T - The type of the item.\n * @param {SharedListItemProps<T>} props - The props for the SharedListItem component.\n * @returns {JSX.Element} - The rendered SharedListItem component.\n */\nexport const SharedListItem = <T extends object>({\n hasSelection,\n item,\n selectRenderElements,\n state,\n}: SharedListItemProps<T>) => {\n const { customElement, description, iconEnd, iconStart, image, label } =\n sharedListItemSchema.parse(selectRenderElements(item));\n\n const {\n item: itemStyles,\n itemCheckmark: itemCheckmarkStyles,\n itemCheckmarkWrapper: itemCheckmarkWrapperStyles,\n itemDescription: itemDescriptionStyles,\n itemEndIcon: itemEndIconStyles,\n itemImage: itemImageStyles,\n itemLabel: itemLabelStyles,\n itemStartIcon: itemStartIconStyles,\n } = sharedListItemStyles({\n hasSelection,\n });\n\n return (\n <div className={itemStyles(state)}>\n {hasSelection ? (\n <div className={itemCheckmarkWrapperStyles()}>\n {state.selected ? (\n <SvgIcon name=\"checkmark\" className={itemCheckmarkStyles(state)} />\n ) : (\n <div className=\"h-4 w-4\" />\n )}\n </div>\n ) : null}\n {customElement ? (customElement as ReactNode) : null}\n {image ? <img src={image} alt={label} className={itemImageStyles(state)} /> : null}\n {iconStart ? (\n <div className={itemStartIconStyles(state)}>\n <SvgIcon name={iconStart} />\n </div>\n ) : null}\n <div className=\"flex w-full grow flex-col gap-1 overflow-hidden truncate\">\n <Text slot=\"label\" className={itemLabelStyles(state)}>\n {label}\n </Text>\n {description ? (\n <Text slot=\"description\" className={itemDescriptionStyles(state)}>\n {description}\n </Text>\n ) : null}\n </div>\n {iconEnd ? (\n <div className={itemEndIconStyles(state)}>\n <SvgIcon name={iconEnd} />\n </div>\n ) : null}\n </div>\n );\n};\n"],"names":["sharedListItemSchema","z","iconsSchema","data","SharedListItem","hasSelection","item","selectRenderElements","state","customElement","description","iconEnd","iconStart","image","label","itemStyles","itemCheckmarkStyles","itemCheckmarkWrapperStyles","itemDescriptionStyles","itemEndIconStyles","itemImageStyles","itemLabelStyles","itemStartIconStyles","sharedListItemStyles","jsxs","jsx","SvgIcon","Text"],"mappings":"uPAUMA,EAAuBC,UAC1B,OAAO,CACN,MAAOA,UAAE,OAAO,EAChB,YAAaA,EAAA,QAAE,OAAO,EAAE,SAAS,EACjC,UAAWC,cAAY,SAAS,EAChC,QAASA,cAAY,SAAS,EAC9B,MAAOD,EAAAA,QAAE,OAAS,EAAA,IAAA,EAAM,SAAS,EACjC,cAAeA,EAAA,QAAE,IAAI,EAAE,SAAS,CAClC,CAAC,EACA,UAAWE,IAGNA,EAAK,eACP,OAAOA,EAAK,MACZ,OAAOA,EAAK,WACHA,EAAK,OACd,OAAOA,EAAK,UAEPA,EACR,EA6BUC,EAAiB,CAAmB,CAC/C,aAAAC,EACA,KAAAC,EACA,qBAAAC,EACA,MAAAC,CACF,IAA8B,CAC5B,KAAM,CAAE,cAAAC,EAAe,YAAAC,EAAa,QAAAC,EAAS,UAAAC,EAAW,MAAAC,EAAO,MAAAC,CAAM,EACnEd,EAAqB,MAAMO,EAAqBD,CAAI,CAAC,EAEjD,CACJ,KAAMS,EACN,cAAeC,EACf,qBAAsBC,EACtB,gBAAiBC,EACjB,YAAaC,EACb,UAAWC,EACX,UAAWC,EACX,cAAeC,GACbC,uBAAqB,CACvB,aAAAlB,CAAA,CACD,EAED,OACGmB,EAAAA,kBAAAA,KAAA,MAAA,CAAI,UAAWT,EAAWP,CAAK,EAC7B,SAAA,CACCH,EAAAoB,EAAA,kBAAA,IAAC,OAAI,UAAWR,EAAA,EACb,SAAMT,EAAA,iCACJkB,EAAQ,QAAA,CAAA,KAAK,YAAY,UAAWV,EAAoBR,CAAK,CAAG,CAAA,0BAEhE,MAAI,CAAA,UAAU,UAAU,CAAA,CAE7B,EACE,KACHC,GAA+C,KAC/CI,EAASY,EAAAA,kBAAAA,IAAA,MAAA,CAAI,IAAKZ,EAAO,IAAKC,EAAO,UAAWM,EAAgBZ,CAAK,CAAA,CAAG,EAAK,KAC7EI,EACCa,EAAA,kBAAA,IAAC,MAAI,CAAA,UAAWH,EAAoBd,CAAK,EACvC,SAAAiB,EAAA,kBAAA,IAACC,EAAQ,QAAA,CAAA,KAAMd,CAAW,CAAA,CAC5B,CAAA,EACE,KACJY,EAAAA,kBAAAA,KAAC,MAAI,CAAA,UAAU,2DACb,SAAA,CAAAC,EAAAA,kBAAAA,IAACE,QAAK,KAAK,QAAQ,UAAWN,EAAgBb,CAAK,EAChD,SACHM,EAAA,EACCJ,EACEe,EAAAA,kBAAAA,IAAAE,EAAAA,KAAA,CAAK,KAAK,cAAc,UAAWT,EAAsBV,CAAK,EAC5D,SAAAE,CAAA,CACH,EACE,IAAA,EACN,EACCC,EACCc,EAAA,kBAAA,IAAC,MAAI,CAAA,UAAWN,EAAkBX,CAAK,EACrC,SAAAiB,EAAA,kBAAA,IAACC,EAAQ,QAAA,CAAA,KAAMf,CAAS,CAAA,CAC1B,CAAA,EACE,IACN,CAAA,CAAA,CAEJ"}
1
+ {"version":3,"file":"lyra454.cjs","sources":["../src/components/lists/shared-list.styles.tsx"],"sourcesContent":["import { tv } from \"tailwind-variants\";\n\nexport const sharedListStyles = tv({\n base: [\"flex\", \"flex-col\", \"w-full\", \"outline-none\", \"overflow-auto\"],\n});\n\nexport const loadMoreButtonStyles = tv({\n base: [\n \"block\",\n \"w-full\",\n \"justify-start\",\n \"rounded-sm\",\n \"bg-transparent\",\n \"p-1\",\n \"ps-1.5\",\n \"text-start\",\n \"text-base\",\n \"font-normal\",\n \"text-primary\",\n \"outline-none\",\n \"duration-0\",\n \"active:text-inverted\",\n \"hover:bg-action-hover\",\n \"hover:text-inverted\",\n \"focus:bg-action-focus\",\n \"focus:text-inverted\",\n \"focus-visible:[box-shadow:none]\",\n ],\n variants: {\n isDisabled: {\n true: [\"text-tertiary\", \"cursor-not-allowed\"],\n },\n },\n});\n\nexport const sharedListItemStyles = tv({\n slots: {\n item: [\"flex\", \"items-start\", \"p-1\", \"rounded-sm\", \"outline-none\"],\n itemCheckmark: [],\n itemCheckmarkWrapper: [],\n itemImage: [\n \"w-9\",\n \"min-w-9\",\n \"h-9\",\n \"rounded-xs\",\n \"border\",\n \"solid\",\n \"border-default\",\n \"me-1.5\",\n \"overflow-hidden\",\n \"box-border\",\n \"object-contain\",\n \"bg-[#ffffff]\",\n \"block\",\n ],\n itemLabel: [\"text-primary\", \"text-base\", \"truncate\", \"overflow-hidden\", \"select-none\"],\n itemDescription: [\"text-sm\", \"text-secondary\", \"truncate\", \"overflow-hidden\", \"select-none\"],\n itemEndIcon: [\"text-tertiary\", \"w-4\", \"h-4\"],\n itemStartIcon: [\"w-4\", \"h-4\", \"me-1\"],\n },\n variants: {\n hasSelection: {\n true: {\n itemCheckmarkWrapper: [\"w-5\", \"min-w-5\"],\n itemCheckmark: [\"text-primary\", \"min-w-4\", \"me-1\"],\n },\n false: {\n item: [\"ps-1.5\"],\n },\n },\n disabled: {\n true: {\n item: [\"cursor-not-allowed\"],\n itemCheckmark: [\"text-tertiary\"],\n itemImage: [\"opacity-50\"],\n itemLabel: [\"text-tertiary\"],\n itemDescription: [\"text-tertiary\"],\n },\n },\n active: {\n true: {\n item: [\"bg-action-focus\"],\n itemImage: [\"border-focus\"],\n itemCheckmark: [\"text-inverted\"],\n itemLabel: [\"text-inverted\"],\n itemDescription: [\"text-inverted\"],\n itemStartIcon: [\"text-inverted\"],\n itemEndIcon: [\"text-inverted\"],\n },\n },\n },\n});\n"],"names":["sharedListStyles","tv","loadMoreButtonStyles","sharedListItemStyles"],"mappings":"iHAEaA,EAAmBC,EAAAA,GAAG,CACjC,KAAM,CAAC,OAAQ,WAAY,SAAU,eAAgB,eAAe,CACtE,CAAC,EAEYC,EAAuBD,EAAAA,GAAG,CACrC,KAAM,CACJ,QACA,SACA,gBACA,aACA,iBACA,MACA,SACA,aACA,YACA,cACA,eACA,eACA,aACA,uBACA,wBACA,sBACA,wBACA,sBACA,iCACF,EACA,SAAU,CACR,WAAY,CACV,KAAM,CAAC,gBAAiB,oBAAoB,CAC9C,CACF,CACF,CAAC,EAEYE,EAAuBF,EAAAA,GAAG,CACrC,MAAO,CACL,KAAM,CAAC,OAAQ,cAAe,MAAO,aAAc,cAAc,EACjE,cAAe,CAAC,EAChB,qBAAsB,CAAC,EACvB,UAAW,CACT,MACA,UACA,MACA,aACA,SACA,QACA,iBACA,SACA,kBACA,aACA,iBACA,eACA,OACF,EACA,UAAW,CAAC,eAAgB,YAAa,WAAY,kBAAmB,aAAa,EACrF,gBAAiB,CAAC,UAAW,iBAAkB,WAAY,kBAAmB,aAAa,EAC3F,YAAa,CAAC,gBAAiB,MAAO,KAAK,EAC3C,cAAe,CAAC,MAAO,MAAO,MAAM,CACtC,EACA,SAAU,CACR,aAAc,CACZ,KAAM,CACJ,qBAAsB,CAAC,MAAO,SAAS,EACvC,cAAe,CAAC,eAAgB,UAAW,MAAM,CACnD,EACA,MAAO,CACL,KAAM,CAAC,QAAQ,CACjB,CACF,EACA,SAAU,CACR,KAAM,CACJ,KAAM,CAAC,oBAAoB,EAC3B,cAAe,CAAC,eAAe,EAC/B,UAAW,CAAC,YAAY,EACxB,UAAW,CAAC,eAAe,EAC3B,gBAAiB,CAAC,eAAe,CACnC,CACF,EACA,OAAQ,CACN,KAAM,CACJ,KAAM,CAAC,iBAAiB,EACxB,UAAW,CAAC,cAAc,EAC1B,cAAe,CAAC,eAAe,EAC/B,UAAW,CAAC,eAAe,EAC3B,gBAAiB,CAAC,eAAe,EACjC,cAAe,CAAC,eAAe,EAC/B,YAAa,CAAC,eAAe,CAC/B,CACF,CACF,CACF,CAAC"}