@new-black/lyra 0.1.7 → 0.1.8

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 (1048) hide show
  1. package/dist/components/inputs/index.d.ts +1 -0
  2. package/dist/components/inputs/index.d.ts.map +1 -1
  3. package/dist/components/inputs/text-area-field/text-area-field.d.ts +1 -1
  4. package/dist/components/inputs/text-area-field/text-area-field.d.ts.map +1 -1
  5. package/dist/lyra.cjs +1 -1
  6. package/dist/lyra.js +68 -66
  7. package/dist/lyra.js.map +1 -1
  8. package/dist/lyra10.cjs +1 -1
  9. package/dist/lyra10.js +3 -3
  10. package/dist/lyra100.cjs +1 -1
  11. package/dist/lyra100.cjs.map +1 -1
  12. package/dist/lyra100.js +214 -226
  13. package/dist/lyra100.js.map +1 -1
  14. package/dist/lyra101.cjs +1 -1
  15. package/dist/lyra101.cjs.map +1 -1
  16. package/dist/lyra101.js +206 -352
  17. package/dist/lyra101.js.map +1 -1
  18. package/dist/lyra102.cjs +1 -1
  19. package/dist/lyra102.cjs.map +1 -1
  20. package/dist/lyra102.js +371 -119
  21. package/dist/lyra102.js.map +1 -1
  22. package/dist/lyra103.cjs +1 -1
  23. package/dist/lyra103.cjs.map +1 -1
  24. package/dist/lyra103.js +122 -34
  25. package/dist/lyra103.js.map +1 -1
  26. package/dist/lyra104.cjs +1 -1
  27. package/dist/lyra104.cjs.map +1 -1
  28. package/dist/lyra104.js +35 -40
  29. package/dist/lyra104.js.map +1 -1
  30. package/dist/lyra105.cjs +1 -1
  31. package/dist/lyra105.cjs.map +1 -1
  32. package/dist/lyra105.js +41 -32
  33. package/dist/lyra105.js.map +1 -1
  34. package/dist/lyra106.cjs +1 -1
  35. package/dist/lyra106.cjs.map +1 -1
  36. package/dist/lyra106.js +27 -93
  37. package/dist/lyra106.js.map +1 -1
  38. package/dist/lyra107.cjs +1 -1
  39. package/dist/lyra107.cjs.map +1 -1
  40. package/dist/lyra107.js +97 -212
  41. package/dist/lyra107.js.map +1 -1
  42. package/dist/lyra108.cjs +1 -1
  43. package/dist/lyra108.cjs.map +1 -1
  44. package/dist/lyra108.js +209 -150
  45. package/dist/lyra108.js.map +1 -1
  46. package/dist/lyra109.cjs +1 -1
  47. package/dist/lyra109.cjs.map +1 -1
  48. package/dist/lyra109.js +152 -12
  49. package/dist/lyra109.js.map +1 -1
  50. package/dist/lyra11.cjs +1 -1
  51. package/dist/lyra11.cjs.map +1 -1
  52. package/dist/lyra11.js +10 -9
  53. package/dist/lyra11.js.map +1 -1
  54. package/dist/lyra110.cjs +1 -1
  55. package/dist/lyra110.cjs.map +1 -1
  56. package/dist/lyra110.js +13 -205
  57. package/dist/lyra110.js.map +1 -1
  58. package/dist/lyra111.cjs +1 -1
  59. package/dist/lyra111.cjs.map +1 -1
  60. package/dist/lyra111.js +200 -286
  61. package/dist/lyra111.js.map +1 -1
  62. package/dist/lyra112.cjs +1 -1
  63. package/dist/lyra112.cjs.map +1 -1
  64. package/dist/lyra112.js +288 -62
  65. package/dist/lyra112.js.map +1 -1
  66. package/dist/lyra113.cjs +1 -1
  67. package/dist/lyra113.cjs.map +1 -1
  68. package/dist/lyra113.js +66 -18
  69. package/dist/lyra113.js.map +1 -1
  70. package/dist/lyra114.cjs +1 -1
  71. package/dist/lyra114.cjs.map +1 -1
  72. package/dist/lyra114.js +19 -3
  73. package/dist/lyra114.js.map +1 -1
  74. package/dist/lyra116.cjs +1 -1
  75. package/dist/lyra116.cjs.map +1 -1
  76. package/dist/lyra116.js +6 -21
  77. package/dist/lyra116.js.map +1 -1
  78. package/dist/lyra117.js +2 -2
  79. package/dist/lyra118.cjs +1 -1
  80. package/dist/lyra118.cjs.map +1 -1
  81. package/dist/lyra118.js +4 -20
  82. package/dist/lyra118.js.map +1 -1
  83. package/dist/lyra119.cjs +1 -1
  84. package/dist/lyra119.cjs.map +1 -1
  85. package/dist/lyra119.js +21 -4
  86. package/dist/lyra119.js.map +1 -1
  87. package/dist/lyra12.cjs +1 -1
  88. package/dist/lyra12.js +2 -2
  89. package/dist/lyra120.js +2 -2
  90. package/dist/lyra121.cjs +1 -1
  91. package/dist/lyra121.cjs.map +1 -1
  92. package/dist/lyra121.js +20 -4
  93. package/dist/lyra121.js.map +1 -1
  94. package/dist/lyra122.cjs +1 -1
  95. package/dist/lyra122.cjs.map +1 -1
  96. package/dist/lyra122.js +2 -6
  97. package/dist/lyra122.js.map +1 -1
  98. package/dist/lyra123.cjs +1 -1
  99. package/dist/lyra123.cjs.map +1 -1
  100. package/dist/lyra123.js +12 -26
  101. package/dist/lyra123.js.map +1 -1
  102. package/dist/lyra124.cjs +1 -1
  103. package/dist/lyra124.cjs.map +1 -1
  104. package/dist/lyra124.js +23 -24
  105. package/dist/lyra124.js.map +1 -1
  106. package/dist/lyra125.cjs +1 -1
  107. package/dist/lyra125.cjs.map +1 -1
  108. package/dist/lyra125.js +8 -19
  109. package/dist/lyra125.js.map +1 -1
  110. package/dist/lyra126.cjs +1 -1
  111. package/dist/lyra126.cjs.map +1 -1
  112. package/dist/lyra126.js +38 -35
  113. package/dist/lyra126.js.map +1 -1
  114. package/dist/lyra127.cjs +1 -1
  115. package/dist/lyra127.cjs.map +1 -1
  116. package/dist/lyra127.js +1996 -130
  117. package/dist/lyra127.js.map +1 -1
  118. package/dist/lyra128.cjs +1 -1
  119. package/dist/lyra128.cjs.map +1 -1
  120. package/dist/lyra128.js +5 -798
  121. package/dist/lyra128.js.map +1 -1
  122. package/dist/lyra129.cjs +1 -1
  123. package/dist/lyra129.cjs.map +1 -1
  124. package/dist/lyra129.js +71 -98
  125. package/dist/lyra129.js.map +1 -1
  126. package/dist/lyra13.cjs +1 -1
  127. package/dist/lyra13.cjs.map +1 -1
  128. package/dist/lyra13.js +8 -7
  129. package/dist/lyra13.js.map +1 -1
  130. package/dist/lyra130.cjs +1 -1
  131. package/dist/lyra130.cjs.map +1 -1
  132. package/dist/lyra130.js +6 -13
  133. package/dist/lyra130.js.map +1 -1
  134. package/dist/lyra131.cjs +1 -1
  135. package/dist/lyra131.cjs.map +1 -1
  136. package/dist/lyra131.js +24 -21
  137. package/dist/lyra131.js.map +1 -1
  138. package/dist/lyra132.cjs +1 -1
  139. package/dist/lyra132.cjs.map +1 -1
  140. package/dist/lyra132.js +23 -121
  141. package/dist/lyra132.js.map +1 -1
  142. package/dist/lyra133.cjs +1 -1
  143. package/dist/lyra133.cjs.map +1 -1
  144. package/dist/lyra133.js +21 -19
  145. package/dist/lyra133.js.map +1 -1
  146. package/dist/lyra134.cjs +1 -1
  147. package/dist/lyra134.cjs.map +1 -1
  148. package/dist/lyra134.js +35 -12
  149. package/dist/lyra134.js.map +1 -1
  150. package/dist/lyra135.cjs +1 -1
  151. package/dist/lyra135.cjs.map +1 -1
  152. package/dist/lyra135.js +132 -23
  153. package/dist/lyra135.js.map +1 -1
  154. package/dist/lyra136.cjs +1 -1
  155. package/dist/lyra136.cjs.map +1 -1
  156. package/dist/lyra136.js +797 -8
  157. package/dist/lyra136.js.map +1 -1
  158. package/dist/lyra137.cjs +1 -1
  159. package/dist/lyra137.cjs.map +1 -1
  160. package/dist/lyra137.js +97 -37
  161. package/dist/lyra137.js.map +1 -1
  162. package/dist/lyra138.cjs +1 -1
  163. package/dist/lyra138.cjs.map +1 -1
  164. package/dist/lyra138.js +10 -1997
  165. package/dist/lyra138.js.map +1 -1
  166. package/dist/lyra139.cjs +1 -1
  167. package/dist/lyra139.cjs.map +1 -1
  168. package/dist/lyra139.js +22 -5
  169. package/dist/lyra139.js.map +1 -1
  170. package/dist/lyra14.cjs +1 -1
  171. package/dist/lyra14.js +3 -3
  172. package/dist/lyra140.cjs +1 -1
  173. package/dist/lyra140.cjs.map +1 -1
  174. package/dist/lyra140.js +123 -71
  175. package/dist/lyra140.js.map +1 -1
  176. package/dist/lyra141.cjs +1 -1
  177. package/dist/lyra141.cjs.map +1 -1
  178. package/dist/lyra141.js +20 -2
  179. package/dist/lyra141.js.map +1 -1
  180. package/dist/lyra142.cjs +1 -1
  181. package/dist/lyra142.cjs.map +1 -1
  182. package/dist/lyra142.js +43 -2
  183. package/dist/lyra142.js.map +1 -1
  184. package/dist/lyra143.cjs +1 -1
  185. package/dist/lyra143.cjs.map +1 -1
  186. package/dist/lyra143.js +5 -138
  187. package/dist/lyra143.js.map +1 -1
  188. package/dist/lyra144.cjs +1 -1
  189. package/dist/lyra144.cjs.map +1 -1
  190. package/dist/lyra144.js +6 -42
  191. package/dist/lyra144.js.map +1 -1
  192. package/dist/lyra145.cjs +1 -1
  193. package/dist/lyra145.cjs.map +1 -1
  194. package/dist/lyra145.js +4 -3
  195. package/dist/lyra145.js.map +1 -1
  196. package/dist/lyra146.cjs +1 -1
  197. package/dist/lyra146.cjs.map +1 -1
  198. package/dist/lyra146.js +10 -6
  199. package/dist/lyra146.js.map +1 -1
  200. package/dist/lyra147.cjs +1 -1
  201. package/dist/lyra147.cjs.map +1 -1
  202. package/dist/lyra147.js +2 -6
  203. package/dist/lyra147.js.map +1 -1
  204. package/dist/lyra148.cjs +1 -1
  205. package/dist/lyra148.cjs.map +1 -1
  206. package/dist/lyra148.js +2 -11
  207. package/dist/lyra148.js.map +1 -1
  208. package/dist/lyra15.cjs +1 -1
  209. package/dist/lyra15.cjs.map +1 -1
  210. package/dist/lyra15.js +19 -18
  211. package/dist/lyra15.js.map +1 -1
  212. package/dist/lyra150.cjs +1 -1
  213. package/dist/lyra150.cjs.map +1 -1
  214. package/dist/lyra150.js +25 -165
  215. package/dist/lyra150.js.map +1 -1
  216. package/dist/lyra151.cjs +1 -1
  217. package/dist/lyra151.cjs.map +1 -1
  218. package/dist/lyra151.js +2 -50
  219. package/dist/lyra151.js.map +1 -1
  220. package/dist/lyra152.cjs +1 -1
  221. package/dist/lyra152.cjs.map +1 -1
  222. package/dist/lyra152.js +15 -339
  223. package/dist/lyra152.js.map +1 -1
  224. package/dist/lyra153.cjs +1 -1
  225. package/dist/lyra153.cjs.map +1 -1
  226. package/dist/lyra153.js +992 -2
  227. package/dist/lyra153.js.map +1 -1
  228. package/dist/lyra154.cjs +1 -1
  229. package/dist/lyra154.cjs.map +1 -1
  230. package/dist/lyra154.js +4 -28
  231. package/dist/lyra154.js.map +1 -1
  232. package/dist/lyra155.cjs +1 -1
  233. package/dist/lyra155.cjs.map +1 -1
  234. package/dist/lyra155.js +98 -2
  235. package/dist/lyra155.js.map +1 -1
  236. package/dist/lyra156.cjs +1 -1
  237. package/dist/lyra156.cjs.map +1 -1
  238. package/dist/lyra156.js +27 -16
  239. package/dist/lyra156.js.map +1 -1
  240. package/dist/lyra157.cjs +1 -1
  241. package/dist/lyra157.cjs.map +1 -1
  242. package/dist/lyra157.js +35 -988
  243. package/dist/lyra157.js.map +1 -1
  244. package/dist/lyra158.cjs +1 -1
  245. package/dist/lyra158.cjs.map +1 -1
  246. package/dist/lyra158.js +138 -2
  247. package/dist/lyra158.js.map +1 -1
  248. package/dist/lyra16.cjs +1 -1
  249. package/dist/lyra16.js +3 -3
  250. package/dist/lyra168.cjs +1 -1
  251. package/dist/lyra168.js +1 -1
  252. package/dist/lyra17.cjs +1 -1
  253. package/dist/lyra17.cjs.map +1 -1
  254. package/dist/lyra17.js +15 -14
  255. package/dist/lyra17.js.map +1 -1
  256. package/dist/lyra173.cjs +1 -1
  257. package/dist/lyra173.js +1 -1
  258. package/dist/lyra18.cjs +1 -1
  259. package/dist/lyra18.cjs.map +1 -1
  260. package/dist/lyra18.js +25 -24
  261. package/dist/lyra18.js.map +1 -1
  262. package/dist/lyra19.cjs +1 -1
  263. package/dist/lyra19.js +2 -2
  264. package/dist/lyra2.cjs +1 -1
  265. package/dist/lyra2.js +9 -9
  266. package/dist/lyra20.cjs +1 -1
  267. package/dist/lyra20.cjs.map +1 -1
  268. package/dist/lyra20.js +21 -20
  269. package/dist/lyra20.js.map +1 -1
  270. package/dist/lyra21.cjs +1 -1
  271. package/dist/lyra21.js +2 -2
  272. package/dist/lyra22.cjs +1 -1
  273. package/dist/lyra22.js +11 -11
  274. package/dist/lyra23.cjs +1 -1
  275. package/dist/lyra23.cjs.map +1 -1
  276. package/dist/lyra23.js +30 -29
  277. package/dist/lyra23.js.map +1 -1
  278. package/dist/lyra24.cjs +1 -1
  279. package/dist/lyra24.js +8 -8
  280. package/dist/lyra25.cjs +1 -1
  281. package/dist/lyra25.cjs.map +1 -1
  282. package/dist/lyra25.js +70 -73
  283. package/dist/lyra25.js.map +1 -1
  284. package/dist/lyra252.cjs +1 -1
  285. package/dist/lyra252.js +1 -1
  286. package/dist/lyra254.cjs +1 -1
  287. package/dist/lyra254.js +1 -1
  288. package/dist/lyra255.cjs +1 -1
  289. package/dist/lyra255.js +2 -2
  290. package/dist/lyra256.cjs +1 -1
  291. package/dist/lyra256.js +1 -1
  292. package/dist/lyra26.cjs +1 -1
  293. package/dist/lyra26.cjs.map +1 -1
  294. package/dist/lyra26.js +121 -50
  295. package/dist/lyra26.js.map +1 -1
  296. package/dist/lyra260.cjs +1 -1
  297. package/dist/lyra260.js +2 -2
  298. package/dist/lyra261.cjs +1 -1
  299. package/dist/lyra261.js +2 -2
  300. package/dist/lyra27.cjs +1 -1
  301. package/dist/lyra27.cjs.map +1 -1
  302. package/dist/lyra27.js +46 -70
  303. package/dist/lyra27.js.map +1 -1
  304. package/dist/lyra273.cjs +1 -1
  305. package/dist/lyra273.js +1 -1
  306. package/dist/lyra274.cjs +1 -1
  307. package/dist/lyra274.js +1 -1
  308. package/dist/lyra275.cjs +1 -1
  309. package/dist/lyra275.cjs.map +1 -1
  310. package/dist/lyra275.js +156 -88
  311. package/dist/lyra275.js.map +1 -1
  312. package/dist/lyra276.cjs +1 -1
  313. package/dist/lyra276.cjs.map +1 -1
  314. package/dist/lyra276.js +47 -23
  315. package/dist/lyra276.js.map +1 -1
  316. package/dist/lyra277.cjs +1 -1
  317. package/dist/lyra277.cjs.map +1 -1
  318. package/dist/lyra277.js +336 -36
  319. package/dist/lyra277.js.map +1 -1
  320. package/dist/lyra278.js +2 -2
  321. package/dist/lyra279.cjs +1 -9
  322. package/dist/lyra279.cjs.map +1 -1
  323. package/dist/lyra279.js +2 -47
  324. package/dist/lyra279.js.map +1 -1
  325. package/dist/lyra28.cjs +1 -1
  326. package/dist/lyra28.cjs.map +1 -1
  327. package/dist/lyra28.js +74 -43
  328. package/dist/lyra28.js.map +1 -1
  329. package/dist/lyra280.cjs +1 -1
  330. package/dist/lyra280.js +1 -1
  331. package/dist/lyra281.cjs +1 -1
  332. package/dist/lyra281.js +2 -2
  333. package/dist/lyra282.cjs +1 -1
  334. package/dist/lyra282.js +5 -5
  335. package/dist/lyra283.cjs +1 -1
  336. package/dist/lyra283.js +2 -2
  337. package/dist/lyra284.cjs +1 -1
  338. package/dist/lyra284.js +1 -1
  339. package/dist/lyra285.cjs +1 -1
  340. package/dist/lyra285.js +1 -1
  341. package/dist/lyra286.cjs +1 -1
  342. package/dist/lyra286.js +2 -2
  343. package/dist/lyra287.cjs +1 -1
  344. package/dist/lyra287.js +2 -2
  345. package/dist/lyra288.cjs +1 -1
  346. package/dist/lyra288.js +2 -2
  347. package/dist/lyra289.cjs +1 -1
  348. package/dist/lyra289.js +2 -2
  349. package/dist/lyra29.cjs +1 -1
  350. package/dist/lyra29.cjs.map +1 -1
  351. package/dist/lyra29.js +42 -39
  352. package/dist/lyra29.js.map +1 -1
  353. package/dist/lyra290.cjs +1 -1
  354. package/dist/lyra290.js +3 -3
  355. package/dist/lyra292.cjs +1 -1
  356. package/dist/lyra292.js +6 -6
  357. package/dist/lyra293.cjs +1 -1
  358. package/dist/lyra293.js +7 -7
  359. package/dist/lyra294.cjs +9 -1
  360. package/dist/lyra294.cjs.map +1 -1
  361. package/dist/lyra294.js +47 -2
  362. package/dist/lyra294.js.map +1 -1
  363. package/dist/lyra295.cjs +1 -1
  364. package/dist/lyra295.cjs.map +1 -1
  365. package/dist/lyra295.js +2 -2
  366. package/dist/lyra295.js.map +1 -1
  367. package/dist/lyra296.cjs +1 -1
  368. package/dist/lyra296.js +6 -6
  369. package/dist/lyra299.cjs +1 -1
  370. package/dist/lyra299.js +13 -13
  371. package/dist/lyra3.cjs +1 -1
  372. package/dist/lyra3.js +2 -2
  373. package/dist/lyra30.cjs +1 -1
  374. package/dist/lyra30.cjs.map +1 -1
  375. package/dist/lyra30.js +40 -122
  376. package/dist/lyra30.js.map +1 -1
  377. package/dist/lyra303.cjs +1 -1
  378. package/dist/lyra303.js +1 -1
  379. package/dist/lyra307.cjs +1 -1
  380. package/dist/lyra307.js +1 -1
  381. package/dist/lyra308.cjs +1 -1
  382. package/dist/lyra308.cjs.map +1 -1
  383. package/dist/lyra308.js +2 -36
  384. package/dist/lyra308.js.map +1 -1
  385. package/dist/lyra31.cjs +1 -1
  386. package/dist/lyra31.cjs.map +1 -1
  387. package/dist/lyra31.js +123 -165
  388. package/dist/lyra31.js.map +1 -1
  389. package/dist/lyra310.cjs +1 -1
  390. package/dist/lyra310.cjs.map +1 -1
  391. package/dist/lyra310.js +34 -18
  392. package/dist/lyra310.js.map +1 -1
  393. package/dist/lyra311.cjs +1 -1
  394. package/dist/lyra311.cjs.map +1 -1
  395. package/dist/lyra311.js +15 -109
  396. package/dist/lyra311.js.map +1 -1
  397. package/dist/lyra312.cjs +1 -1
  398. package/dist/lyra312.cjs.map +1 -1
  399. package/dist/lyra312.js +111 -5
  400. package/dist/lyra312.js.map +1 -1
  401. package/dist/lyra313.cjs +1 -1
  402. package/dist/lyra313.cjs.map +1 -1
  403. package/dist/lyra313.js +7 -21
  404. package/dist/lyra313.js.map +1 -1
  405. package/dist/lyra314.cjs +1 -1
  406. package/dist/lyra314.cjs.map +1 -1
  407. package/dist/lyra314.js +22 -22
  408. package/dist/lyra314.js.map +1 -1
  409. package/dist/lyra315.cjs +1 -1
  410. package/dist/lyra315.cjs.map +1 -1
  411. package/dist/lyra315.js +22 -7
  412. package/dist/lyra315.js.map +1 -1
  413. package/dist/lyra316.cjs +1 -1
  414. package/dist/lyra316.cjs.map +1 -1
  415. package/dist/lyra316.js +7 -2
  416. package/dist/lyra316.js.map +1 -1
  417. package/dist/lyra317.cjs +1 -1
  418. package/dist/lyra317.cjs.map +1 -1
  419. package/dist/lyra317.js +2 -2
  420. package/dist/lyra317.js.map +1 -1
  421. package/dist/lyra318.js +2 -2
  422. package/dist/lyra319.cjs +1 -1
  423. package/dist/lyra319.cjs.map +1 -1
  424. package/dist/lyra319.js +2 -327
  425. package/dist/lyra319.js.map +1 -1
  426. package/dist/lyra32.cjs +1 -1
  427. package/dist/lyra32.cjs.map +1 -1
  428. package/dist/lyra32.js +164 -109
  429. package/dist/lyra32.js.map +1 -1
  430. package/dist/lyra320.cjs +1 -1
  431. package/dist/lyra320.cjs.map +1 -1
  432. package/dist/lyra320.js +324 -13
  433. package/dist/lyra320.js.map +1 -1
  434. package/dist/lyra321.cjs +1 -1
  435. package/dist/lyra321.cjs.map +1 -1
  436. package/dist/lyra321.js +14 -230
  437. package/dist/lyra321.js.map +1 -1
  438. package/dist/lyra322.cjs +1 -1
  439. package/dist/lyra322.cjs.map +1 -1
  440. package/dist/lyra322.js +28 -80
  441. package/dist/lyra322.js.map +1 -1
  442. package/dist/lyra323.cjs +1 -1
  443. package/dist/lyra323.cjs.map +1 -1
  444. package/dist/lyra323.js +25 -13
  445. package/dist/lyra323.js.map +1 -1
  446. package/dist/lyra324.cjs +1 -1
  447. package/dist/lyra324.cjs.map +1 -1
  448. package/dist/lyra324.js +19 -18
  449. package/dist/lyra324.js.map +1 -1
  450. package/dist/lyra325.cjs +1 -1
  451. package/dist/lyra325.cjs.map +1 -1
  452. package/dist/lyra325.js +9 -14
  453. package/dist/lyra325.js.map +1 -1
  454. package/dist/lyra326.cjs +1 -1
  455. package/dist/lyra326.cjs.map +1 -1
  456. package/dist/lyra326.js +13 -2
  457. package/dist/lyra326.js.map +1 -1
  458. package/dist/lyra327.cjs +1 -1
  459. package/dist/lyra327.cjs.map +1 -1
  460. package/dist/lyra327.js +6 -19
  461. package/dist/lyra327.js.map +1 -1
  462. package/dist/lyra328.cjs +1 -1
  463. package/dist/lyra328.cjs.map +1 -1
  464. package/dist/lyra328.js +24 -28
  465. package/dist/lyra328.js.map +1 -1
  466. package/dist/lyra329.cjs +1 -1
  467. package/dist/lyra329.cjs.map +1 -1
  468. package/dist/lyra329.js +2 -25
  469. package/dist/lyra329.js.map +1 -1
  470. package/dist/lyra33.cjs +1 -1
  471. package/dist/lyra33.cjs.map +1 -1
  472. package/dist/lyra33.js +109 -59
  473. package/dist/lyra33.js.map +1 -1
  474. package/dist/lyra330.cjs +1 -1
  475. package/dist/lyra330.cjs.map +1 -1
  476. package/dist/lyra330.js +8 -19
  477. package/dist/lyra330.js.map +1 -1
  478. package/dist/lyra331.cjs +1 -1
  479. package/dist/lyra331.cjs.map +1 -1
  480. package/dist/lyra331.js +7 -9
  481. package/dist/lyra331.js.map +1 -1
  482. package/dist/lyra332.cjs +1 -1
  483. package/dist/lyra332.cjs.map +1 -1
  484. package/dist/lyra332.js +230 -11
  485. package/dist/lyra332.js.map +1 -1
  486. package/dist/lyra333.cjs +1 -1
  487. package/dist/lyra333.cjs.map +1 -1
  488. package/dist/lyra333.js +80 -6
  489. package/dist/lyra333.js.map +1 -1
  490. package/dist/lyra334.cjs +1 -1
  491. package/dist/lyra334.cjs.map +1 -1
  492. package/dist/lyra334.js +13 -24
  493. package/dist/lyra334.js.map +1 -1
  494. package/dist/lyra335.cjs +1 -1
  495. package/dist/lyra335.cjs.map +1 -1
  496. package/dist/lyra335.js +19 -2
  497. package/dist/lyra335.js.map +1 -1
  498. package/dist/lyra336.cjs +1 -1
  499. package/dist/lyra336.cjs.map +1 -1
  500. package/dist/lyra336.js +14 -9
  501. package/dist/lyra336.js.map +1 -1
  502. package/dist/lyra337.cjs +1 -1
  503. package/dist/lyra337.cjs.map +1 -1
  504. package/dist/lyra337.js +2 -7
  505. package/dist/lyra337.js.map +1 -1
  506. package/dist/lyra338.cjs +1 -1
  507. package/dist/lyra338.cjs.map +1 -1
  508. package/dist/lyra338.js +18 -27
  509. package/dist/lyra338.js.map +1 -1
  510. package/dist/lyra339.cjs +1 -1
  511. package/dist/lyra339.cjs.map +1 -1
  512. package/dist/lyra339.js +27 -5
  513. package/dist/lyra339.js.map +1 -1
  514. package/dist/lyra34.cjs +1 -1
  515. package/dist/lyra34.cjs.map +1 -1
  516. package/dist/lyra34.js +60 -5
  517. package/dist/lyra34.js.map +1 -1
  518. package/dist/lyra340.cjs +1 -1
  519. package/dist/lyra340.cjs.map +1 -1
  520. package/dist/lyra340.js +5 -10
  521. package/dist/lyra340.js.map +1 -1
  522. package/dist/lyra341.cjs +1 -1
  523. package/dist/lyra341.cjs.map +1 -1
  524. package/dist/lyra341.js +10 -27
  525. package/dist/lyra341.js.map +1 -1
  526. package/dist/lyra342.cjs +1 -1
  527. package/dist/lyra342.cjs.map +1 -1
  528. package/dist/lyra342.js +28 -26
  529. package/dist/lyra342.js.map +1 -1
  530. package/dist/lyra343.cjs +1 -1
  531. package/dist/lyra343.cjs.map +1 -1
  532. package/dist/lyra343.js +26 -101
  533. package/dist/lyra343.js.map +1 -1
  534. package/dist/lyra344.cjs +1 -1
  535. package/dist/lyra344.cjs.map +1 -1
  536. package/dist/lyra344.js +100 -21
  537. package/dist/lyra344.js.map +1 -1
  538. package/dist/lyra345.cjs +1 -1
  539. package/dist/lyra345.cjs.map +1 -1
  540. package/dist/lyra345.js +22 -20
  541. package/dist/lyra345.js.map +1 -1
  542. package/dist/lyra346.cjs +1 -1
  543. package/dist/lyra346.cjs.map +1 -1
  544. package/dist/lyra346.js +20 -5
  545. package/dist/lyra346.js.map +1 -1
  546. package/dist/lyra347.cjs +1 -1
  547. package/dist/lyra347.cjs.map +1 -1
  548. package/dist/lyra347.js +5 -20
  549. package/dist/lyra347.js.map +1 -1
  550. package/dist/lyra348.cjs +1 -1
  551. package/dist/lyra348.cjs.map +1 -1
  552. package/dist/lyra348.js +19 -7
  553. package/dist/lyra348.js.map +1 -1
  554. package/dist/lyra349.cjs +1 -1
  555. package/dist/lyra349.cjs.map +1 -1
  556. package/dist/lyra349.js +6 -28
  557. package/dist/lyra349.js.map +1 -1
  558. package/dist/lyra35.cjs +1 -1
  559. package/dist/lyra35.cjs.map +1 -1
  560. package/dist/lyra35.js +5 -13
  561. package/dist/lyra35.js.map +1 -1
  562. package/dist/lyra350.cjs +1 -1
  563. package/dist/lyra350.cjs.map +1 -1
  564. package/dist/lyra350.js +28 -6
  565. package/dist/lyra350.js.map +1 -1
  566. package/dist/lyra351.cjs +1 -1
  567. package/dist/lyra351.cjs.map +1 -1
  568. package/dist/lyra351.js +6 -51
  569. package/dist/lyra351.js.map +1 -1
  570. package/dist/lyra352.cjs +1 -1
  571. package/dist/lyra352.cjs.map +1 -1
  572. package/dist/lyra352.js +49 -19
  573. package/dist/lyra352.js.map +1 -1
  574. package/dist/lyra353.cjs +1 -1
  575. package/dist/lyra353.cjs.map +1 -1
  576. package/dist/lyra353.js +19 -16
  577. package/dist/lyra353.js.map +1 -1
  578. package/dist/lyra354.cjs +1 -1
  579. package/dist/lyra354.cjs.map +1 -1
  580. package/dist/lyra354.js +19 -55
  581. package/dist/lyra354.js.map +1 -1
  582. package/dist/lyra355.cjs +1 -1
  583. package/dist/lyra355.cjs.map +1 -1
  584. package/dist/lyra355.js +55 -10
  585. package/dist/lyra355.js.map +1 -1
  586. package/dist/lyra356.cjs +1 -1
  587. package/dist/lyra356.cjs.map +1 -1
  588. package/dist/lyra356.js +10 -3
  589. package/dist/lyra356.js.map +1 -1
  590. package/dist/lyra357.cjs +1 -1
  591. package/dist/lyra357.cjs.map +1 -1
  592. package/dist/lyra357.js +3 -17
  593. package/dist/lyra357.js.map +1 -1
  594. package/dist/lyra358.cjs +1 -1
  595. package/dist/lyra358.cjs.map +1 -1
  596. package/dist/lyra358.js +17 -3
  597. package/dist/lyra358.js.map +1 -1
  598. package/dist/lyra359.cjs +1 -1
  599. package/dist/lyra359.cjs.map +1 -1
  600. package/dist/lyra359.js +3 -3
  601. package/dist/lyra359.js.map +1 -1
  602. package/dist/lyra36.cjs +1 -1
  603. package/dist/lyra36.cjs.map +1 -1
  604. package/dist/lyra36.js +12 -25
  605. package/dist/lyra36.js.map +1 -1
  606. package/dist/lyra360.cjs +1 -1
  607. package/dist/lyra360.cjs.map +1 -1
  608. package/dist/lyra360.js +3 -9
  609. package/dist/lyra360.js.map +1 -1
  610. package/dist/lyra361.cjs +1 -1
  611. package/dist/lyra361.cjs.map +1 -1
  612. package/dist/lyra361.js +10 -2
  613. package/dist/lyra361.js.map +1 -1
  614. package/dist/lyra362.cjs +1 -1
  615. package/dist/lyra362.cjs.map +1 -1
  616. package/dist/lyra362.js +2 -5
  617. package/dist/lyra362.js.map +1 -1
  618. package/dist/lyra363.cjs +1 -1
  619. package/dist/lyra363.cjs.map +1 -1
  620. package/dist/lyra363.js +4 -11
  621. package/dist/lyra363.js.map +1 -1
  622. package/dist/lyra364.cjs +1 -1
  623. package/dist/lyra364.cjs.map +1 -1
  624. package/dist/lyra364.js +12 -70
  625. package/dist/lyra364.js.map +1 -1
  626. package/dist/lyra365.cjs +1 -1
  627. package/dist/lyra365.cjs.map +1 -1
  628. package/dist/lyra365.js +5 -8
  629. package/dist/lyra365.js.map +1 -1
  630. package/dist/lyra366.cjs +1 -1
  631. package/dist/lyra366.cjs.map +1 -1
  632. package/dist/lyra366.js +70 -7
  633. package/dist/lyra366.js.map +1 -1
  634. package/dist/lyra367.cjs +1 -1
  635. package/dist/lyra367.cjs.map +1 -1
  636. package/dist/lyra367.js +6 -7
  637. package/dist/lyra367.js.map +1 -1
  638. package/dist/lyra368.cjs +1 -1
  639. package/dist/lyra368.cjs.map +1 -1
  640. package/dist/lyra368.js +9 -12
  641. package/dist/lyra368.js.map +1 -1
  642. package/dist/lyra369.cjs +1 -1
  643. package/dist/lyra369.cjs.map +1 -1
  644. package/dist/lyra369.js +15 -5
  645. package/dist/lyra369.js.map +1 -1
  646. package/dist/lyra37.cjs +1 -1
  647. package/dist/lyra37.cjs.map +1 -1
  648. package/dist/lyra37.js +26 -7
  649. package/dist/lyra37.js.map +1 -1
  650. package/dist/lyra370.cjs +1 -1
  651. package/dist/lyra370.cjs.map +1 -1
  652. package/dist/lyra370.js +64 -8
  653. package/dist/lyra370.js.map +1 -1
  654. package/dist/lyra371.cjs +1 -1
  655. package/dist/lyra371.cjs.map +1 -1
  656. package/dist/lyra371.js +22 -40
  657. package/dist/lyra371.js.map +1 -1
  658. package/dist/lyra372.cjs +1 -1
  659. package/dist/lyra372.cjs.map +1 -1
  660. package/dist/lyra372.js +2 -19
  661. package/dist/lyra372.js.map +1 -1
  662. package/dist/lyra373.cjs +1 -1
  663. package/dist/lyra373.cjs.map +1 -1
  664. package/dist/lyra373.js +7 -15
  665. package/dist/lyra373.js.map +1 -1
  666. package/dist/lyra374.cjs +1 -1
  667. package/dist/lyra374.cjs.map +1 -1
  668. package/dist/lyra374.js +4 -18
  669. package/dist/lyra374.js.map +1 -1
  670. package/dist/lyra375.cjs +1 -1
  671. package/dist/lyra375.cjs.map +1 -1
  672. package/dist/lyra375.js +7 -33
  673. package/dist/lyra375.js.map +1 -1
  674. package/dist/lyra376.cjs +1 -1
  675. package/dist/lyra376.cjs.map +1 -1
  676. package/dist/lyra376.js +7 -40
  677. package/dist/lyra376.js.map +1 -1
  678. package/dist/lyra377.cjs +1 -4
  679. package/dist/lyra377.cjs.map +1 -1
  680. package/dist/lyra377.js +6 -93
  681. package/dist/lyra377.js.map +1 -1
  682. package/dist/lyra378.cjs +1 -1
  683. package/dist/lyra378.cjs.map +1 -1
  684. package/dist/lyra378.js +7 -19
  685. package/dist/lyra378.js.map +1 -1
  686. package/dist/lyra379.cjs +1 -1
  687. package/dist/lyra379.cjs.map +1 -1
  688. package/dist/lyra379.js +12 -9
  689. package/dist/lyra379.js.map +1 -1
  690. package/dist/lyra38.cjs +1 -1
  691. package/dist/lyra38.cjs.map +1 -1
  692. package/dist/lyra38.js +7 -23
  693. package/dist/lyra38.js.map +1 -1
  694. package/dist/lyra380.cjs +1 -1
  695. package/dist/lyra380.cjs.map +1 -1
  696. package/dist/lyra380.js +6 -16
  697. package/dist/lyra380.js.map +1 -1
  698. package/dist/lyra381.cjs +1 -1
  699. package/dist/lyra381.cjs.map +1 -1
  700. package/dist/lyra381.js +8 -37
  701. package/dist/lyra381.js.map +1 -1
  702. package/dist/lyra382.cjs +1 -1
  703. package/dist/lyra382.cjs.map +1 -1
  704. package/dist/lyra382.js +40 -9
  705. package/dist/lyra382.js.map +1 -1
  706. package/dist/lyra383.cjs +1 -1
  707. package/dist/lyra383.cjs.map +1 -1
  708. package/dist/lyra383.js +17 -11
  709. package/dist/lyra383.js.map +1 -1
  710. package/dist/lyra384.cjs +1 -1
  711. package/dist/lyra384.cjs.map +1 -1
  712. package/dist/lyra384.js +15 -2
  713. package/dist/lyra384.js.map +1 -1
  714. package/dist/lyra385.cjs +1 -1
  715. package/dist/lyra385.cjs.map +1 -1
  716. package/dist/lyra385.js +18 -6
  717. package/dist/lyra385.js.map +1 -1
  718. package/dist/lyra386.cjs +1 -1
  719. package/dist/lyra386.cjs.map +1 -1
  720. package/dist/lyra386.js +32 -12
  721. package/dist/lyra386.js.map +1 -1
  722. package/dist/lyra387.cjs +1 -1
  723. package/dist/lyra387.cjs.map +1 -1
  724. package/dist/lyra387.js +38 -11
  725. package/dist/lyra387.js.map +1 -1
  726. package/dist/lyra388.cjs +4 -1
  727. package/dist/lyra388.cjs.map +1 -1
  728. package/dist/lyra388.js +91 -9
  729. package/dist/lyra388.js.map +1 -1
  730. package/dist/lyra389.cjs +1 -1
  731. package/dist/lyra389.cjs.map +1 -1
  732. package/dist/lyra389.js +18 -5
  733. package/dist/lyra389.js.map +1 -1
  734. package/dist/lyra39.cjs +1 -1
  735. package/dist/lyra39.cjs.map +1 -1
  736. package/dist/lyra39.js +22 -39
  737. package/dist/lyra39.js.map +1 -1
  738. package/dist/lyra390.cjs +1 -1
  739. package/dist/lyra390.cjs.map +1 -1
  740. package/dist/lyra390.js +9 -5
  741. package/dist/lyra390.js.map +1 -1
  742. package/dist/lyra391.cjs +1 -1
  743. package/dist/lyra391.cjs.map +1 -1
  744. package/dist/lyra391.js +13 -62
  745. package/dist/lyra391.js.map +1 -1
  746. package/dist/lyra392.cjs +1 -1
  747. package/dist/lyra392.cjs.map +1 -1
  748. package/dist/lyra392.js +36 -21
  749. package/dist/lyra392.js.map +1 -1
  750. package/dist/lyra393.cjs +1 -1
  751. package/dist/lyra393.cjs.map +1 -1
  752. package/dist/lyra393.js +9 -8
  753. package/dist/lyra393.js.map +1 -1
  754. package/dist/lyra394.cjs +1 -1
  755. package/dist/lyra394.cjs.map +1 -1
  756. package/dist/lyra394.js +12 -15
  757. package/dist/lyra394.js.map +1 -1
  758. package/dist/lyra395.cjs +1 -1
  759. package/dist/lyra395.cjs.map +1 -1
  760. package/dist/lyra395.js +2 -6
  761. package/dist/lyra395.js.map +1 -1
  762. package/dist/lyra396.cjs +1 -1
  763. package/dist/lyra396.cjs.map +1 -1
  764. package/dist/lyra396.js +7 -2
  765. package/dist/lyra396.js.map +1 -1
  766. package/dist/lyra397.cjs +1 -1
  767. package/dist/lyra397.cjs.map +1 -1
  768. package/dist/lyra397.js +14 -7
  769. package/dist/lyra397.js.map +1 -1
  770. package/dist/lyra398.cjs +1 -1
  771. package/dist/lyra398.cjs.map +1 -1
  772. package/dist/lyra398.js +13 -4
  773. package/dist/lyra398.js.map +1 -1
  774. package/dist/lyra399.cjs +1 -1
  775. package/dist/lyra399.cjs.map +1 -1
  776. package/dist/lyra399.js +11 -7
  777. package/dist/lyra399.js.map +1 -1
  778. package/dist/lyra4.cjs +1 -1
  779. package/dist/lyra4.js +4 -4
  780. package/dist/lyra40.cjs +1 -1
  781. package/dist/lyra40.cjs.map +1 -1
  782. package/dist/lyra40.js +38 -18
  783. package/dist/lyra40.js.map +1 -1
  784. package/dist/lyra400.cjs +1 -1
  785. package/dist/lyra400.cjs.map +1 -1
  786. package/dist/lyra400.js +6 -6
  787. package/dist/lyra400.js.map +1 -1
  788. package/dist/lyra401.cjs +1 -1
  789. package/dist/lyra401.cjs.map +1 -1
  790. package/dist/lyra401.js +6 -14
  791. package/dist/lyra401.js.map +1 -1
  792. package/dist/lyra402.cjs +1 -1
  793. package/dist/lyra402.cjs.map +1 -1
  794. package/dist/lyra402.js +45 -31
  795. package/dist/lyra402.js.map +1 -1
  796. package/dist/lyra403.cjs +1 -1
  797. package/dist/lyra403.cjs.map +1 -1
  798. package/dist/lyra403.js +97 -11
  799. package/dist/lyra403.js.map +1 -1
  800. package/dist/lyra404.cjs +1 -1
  801. package/dist/lyra404.cjs.map +1 -1
  802. package/dist/lyra404.js +3 -11
  803. package/dist/lyra404.js.map +1 -1
  804. package/dist/lyra405.cjs +1 -1
  805. package/dist/lyra405.cjs.map +1 -1
  806. package/dist/lyra405.js +13 -4
  807. package/dist/lyra405.js.map +1 -1
  808. package/dist/lyra406.cjs +1 -1
  809. package/dist/lyra406.cjs.map +1 -1
  810. package/dist/lyra406.js +31 -5
  811. package/dist/lyra406.js.map +1 -1
  812. package/dist/lyra407.cjs +1 -1
  813. package/dist/lyra407.cjs.map +1 -1
  814. package/dist/lyra407.js +11 -3
  815. package/dist/lyra407.js.map +1 -1
  816. package/dist/lyra408.cjs +1 -1
  817. package/dist/lyra408.cjs.map +1 -1
  818. package/dist/lyra408.js +11 -45
  819. package/dist/lyra408.js.map +1 -1
  820. package/dist/lyra409.cjs +1 -1
  821. package/dist/lyra409.cjs.map +1 -1
  822. package/dist/lyra409.js +4 -97
  823. package/dist/lyra409.js.map +1 -1
  824. package/dist/lyra41.cjs +1 -1
  825. package/dist/lyra41.cjs.map +1 -1
  826. package/dist/lyra41.js +17 -41
  827. package/dist/lyra41.js.map +1 -1
  828. package/dist/lyra410.cjs +1 -0
  829. package/dist/lyra410.cjs.map +1 -0
  830. package/dist/lyra410.js +8 -0
  831. package/dist/lyra410.js.map +1 -0
  832. package/dist/lyra42.cjs +1 -1
  833. package/dist/lyra42.cjs.map +1 -1
  834. package/dist/lyra42.js +42 -92
  835. package/dist/lyra42.js.map +1 -1
  836. package/dist/lyra43.cjs +1 -1
  837. package/dist/lyra43.cjs.map +1 -1
  838. package/dist/lyra43.js +93 -35
  839. package/dist/lyra43.js.map +1 -1
  840. package/dist/lyra44.cjs +1 -1
  841. package/dist/lyra44.cjs.map +1 -1
  842. package/dist/lyra44.js +36 -3
  843. package/dist/lyra44.js.map +1 -1
  844. package/dist/lyra45.cjs +1 -1
  845. package/dist/lyra45.cjs.map +1 -1
  846. package/dist/lyra45.js +3 -16
  847. package/dist/lyra45.js.map +1 -1
  848. package/dist/lyra46.cjs +1 -1
  849. package/dist/lyra46.cjs.map +1 -1
  850. package/dist/lyra46.js +15 -19
  851. package/dist/lyra46.js.map +1 -1
  852. package/dist/lyra47.cjs +1 -1
  853. package/dist/lyra47.cjs.map +1 -1
  854. package/dist/lyra47.js +20 -388
  855. package/dist/lyra47.js.map +1 -1
  856. package/dist/lyra48.cjs +1 -1
  857. package/dist/lyra48.cjs.map +1 -1
  858. package/dist/lyra48.js +388 -8
  859. package/dist/lyra48.js.map +1 -1
  860. package/dist/lyra49.cjs +1 -1
  861. package/dist/lyra49.cjs.map +1 -1
  862. package/dist/lyra49.js +7 -12
  863. package/dist/lyra49.js.map +1 -1
  864. package/dist/lyra5.cjs +1 -1
  865. package/dist/lyra5.js +2 -2
  866. package/dist/lyra50.cjs +1 -1
  867. package/dist/lyra50.cjs.map +1 -1
  868. package/dist/lyra50.js +13 -176
  869. package/dist/lyra50.js.map +1 -1
  870. package/dist/lyra51.cjs +1 -1
  871. package/dist/lyra51.cjs.map +1 -1
  872. package/dist/lyra51.js +156 -2256
  873. package/dist/lyra51.js.map +1 -1
  874. package/dist/lyra52.cjs +1 -1
  875. package/dist/lyra52.cjs.map +1 -1
  876. package/dist/lyra52.js +2301 -6
  877. package/dist/lyra52.js.map +1 -1
  878. package/dist/lyra53.cjs +1 -1
  879. package/dist/lyra53.cjs.map +1 -1
  880. package/dist/lyra53.js +6 -4
  881. package/dist/lyra53.js.map +1 -1
  882. package/dist/lyra54.cjs +1 -1
  883. package/dist/lyra54.cjs.map +1 -1
  884. package/dist/lyra54.js +4 -7
  885. package/dist/lyra54.js.map +1 -1
  886. package/dist/lyra55.cjs +1 -1
  887. package/dist/lyra55.cjs.map +1 -1
  888. package/dist/lyra55.js +7 -8
  889. package/dist/lyra55.js.map +1 -1
  890. package/dist/lyra56.cjs +1 -1
  891. package/dist/lyra56.cjs.map +1 -1
  892. package/dist/lyra56.js +8 -166
  893. package/dist/lyra56.js.map +1 -1
  894. package/dist/lyra57.cjs +1 -1
  895. package/dist/lyra57.cjs.map +1 -1
  896. package/dist/lyra57.js +163 -69
  897. package/dist/lyra57.js.map +1 -1
  898. package/dist/lyra58.cjs +1 -1
  899. package/dist/lyra58.cjs.map +1 -1
  900. package/dist/lyra58.js +72 -2
  901. package/dist/lyra58.js.map +1 -1
  902. package/dist/lyra59.cjs +1 -9
  903. package/dist/lyra59.cjs.map +1 -1
  904. package/dist/lyra59.js +2 -30
  905. package/dist/lyra59.js.map +1 -1
  906. package/dist/lyra6.cjs +1 -1
  907. package/dist/lyra6.js +2 -2
  908. package/dist/lyra60.cjs +3 -13
  909. package/dist/lyra60.cjs.map +1 -1
  910. package/dist/lyra60.js +21 -590
  911. package/dist/lyra60.js.map +1 -1
  912. package/dist/lyra61.cjs +19 -1
  913. package/dist/lyra61.cjs.map +1 -1
  914. package/dist/lyra61.js +598 -38
  915. package/dist/lyra61.js.map +1 -1
  916. package/dist/lyra62.cjs +1 -1
  917. package/dist/lyra62.cjs.map +1 -1
  918. package/dist/lyra62.js +39 -3
  919. package/dist/lyra62.js.map +1 -1
  920. package/dist/lyra63.cjs +1 -1
  921. package/dist/lyra63.cjs.map +1 -1
  922. package/dist/lyra63.js +3 -580
  923. package/dist/lyra63.js.map +1 -1
  924. package/dist/lyra64.cjs +1 -1
  925. package/dist/lyra64.cjs.map +1 -1
  926. package/dist/lyra64.js +573 -59
  927. package/dist/lyra64.js.map +1 -1
  928. package/dist/lyra65.cjs +1 -1
  929. package/dist/lyra65.cjs.map +1 -1
  930. package/dist/lyra65.js +66 -14
  931. package/dist/lyra65.js.map +1 -1
  932. package/dist/lyra66.cjs +1 -1
  933. package/dist/lyra66.cjs.map +1 -1
  934. package/dist/lyra66.js +14 -2
  935. package/dist/lyra66.js.map +1 -1
  936. package/dist/lyra68.cjs +1 -1
  937. package/dist/lyra68.cjs.map +1 -1
  938. package/dist/lyra68.js +2 -506
  939. package/dist/lyra68.js.map +1 -1
  940. package/dist/lyra69.js +2 -2
  941. package/dist/lyra7.cjs +1 -1
  942. package/dist/lyra7.js +2 -2
  943. package/dist/lyra70.js +2 -2
  944. package/dist/lyra71.cjs +1 -1
  945. package/dist/lyra71.cjs.map +1 -1
  946. package/dist/lyra71.js +506 -2
  947. package/dist/lyra71.js.map +1 -1
  948. package/dist/lyra72.js +2 -2
  949. package/dist/lyra74.cjs +1 -1
  950. package/dist/lyra74.js +1 -1
  951. package/dist/lyra77.cjs +1 -1
  952. package/dist/lyra77.cjs.map +1 -1
  953. package/dist/lyra77.js +2 -13
  954. package/dist/lyra77.js.map +1 -1
  955. package/dist/lyra78.cjs +1 -1
  956. package/dist/lyra78.cjs.map +1 -1
  957. package/dist/lyra78.js +10 -27
  958. package/dist/lyra78.js.map +1 -1
  959. package/dist/lyra79.cjs +1 -1
  960. package/dist/lyra79.cjs.map +1 -1
  961. package/dist/lyra79.js +29 -59
  962. package/dist/lyra79.js.map +1 -1
  963. package/dist/lyra8.cjs +1 -1
  964. package/dist/lyra8.js +6 -6
  965. package/dist/lyra80.cjs +1 -1
  966. package/dist/lyra80.cjs.map +1 -1
  967. package/dist/lyra80.js +55 -862
  968. package/dist/lyra80.js.map +1 -1
  969. package/dist/lyra81.cjs +1 -1
  970. package/dist/lyra81.cjs.map +1 -1
  971. package/dist/lyra81.js +855 -60
  972. package/dist/lyra81.js.map +1 -1
  973. package/dist/lyra82.cjs +1 -1
  974. package/dist/lyra82.cjs.map +1 -1
  975. package/dist/lyra82.js +67 -31
  976. package/dist/lyra82.js.map +1 -1
  977. package/dist/lyra83.cjs +1 -1
  978. package/dist/lyra83.cjs.map +1 -1
  979. package/dist/lyra83.js +33 -46
  980. package/dist/lyra83.js.map +1 -1
  981. package/dist/lyra84.cjs +1 -1
  982. package/dist/lyra84.cjs.map +1 -1
  983. package/dist/lyra84.js +46 -13
  984. package/dist/lyra84.js.map +1 -1
  985. package/dist/lyra85.cjs +1 -1
  986. package/dist/lyra85.cjs.map +1 -1
  987. package/dist/lyra85.js +12 -1082
  988. package/dist/lyra85.js.map +1 -1
  989. package/dist/lyra86.cjs +1 -1
  990. package/dist/lyra86.cjs.map +1 -1
  991. package/dist/lyra86.js +1069 -778
  992. package/dist/lyra86.js.map +1 -1
  993. package/dist/lyra87.cjs +1 -1
  994. package/dist/lyra87.cjs.map +1 -1
  995. package/dist/lyra87.js +766 -213
  996. package/dist/lyra87.js.map +1 -1
  997. package/dist/lyra88.cjs +1 -1
  998. package/dist/lyra88.cjs.map +1 -1
  999. package/dist/lyra88.js +237 -266
  1000. package/dist/lyra88.js.map +1 -1
  1001. package/dist/lyra89.cjs +1 -1
  1002. package/dist/lyra89.cjs.map +1 -1
  1003. package/dist/lyra89.js +269 -60
  1004. package/dist/lyra89.js.map +1 -1
  1005. package/dist/lyra9.cjs +1 -1
  1006. package/dist/lyra9.js +2 -2
  1007. package/dist/lyra90.cjs +1 -1
  1008. package/dist/lyra90.cjs.map +1 -1
  1009. package/dist/lyra90.js +61 -40
  1010. package/dist/lyra90.js.map +1 -1
  1011. package/dist/lyra91.cjs +1 -1
  1012. package/dist/lyra91.cjs.map +1 -1
  1013. package/dist/lyra91.js +33 -840
  1014. package/dist/lyra91.js.map +1 -1
  1015. package/dist/lyra92.cjs +1 -1
  1016. package/dist/lyra92.cjs.map +1 -1
  1017. package/dist/lyra92.js +847 -7
  1018. package/dist/lyra92.js.map +1 -1
  1019. package/dist/lyra93.cjs +1 -1
  1020. package/dist/lyra93.cjs.map +1 -1
  1021. package/dist/lyra93.js +7 -5
  1022. package/dist/lyra93.js.map +1 -1
  1023. package/dist/lyra94.cjs +1 -1
  1024. package/dist/lyra94.cjs.map +1 -1
  1025. package/dist/lyra94.js +5 -7
  1026. package/dist/lyra94.js.map +1 -1
  1027. package/dist/lyra95.cjs +1 -1
  1028. package/dist/lyra95.cjs.map +1 -1
  1029. package/dist/lyra95.js +7 -152
  1030. package/dist/lyra95.js.map +1 -1
  1031. package/dist/lyra96.cjs +1 -1
  1032. package/dist/lyra96.cjs.map +1 -1
  1033. package/dist/lyra96.js +149 -543
  1034. package/dist/lyra96.js.map +1 -1
  1035. package/dist/lyra97.cjs +1 -1
  1036. package/dist/lyra97.cjs.map +1 -1
  1037. package/dist/lyra97.js +534 -432
  1038. package/dist/lyra97.js.map +1 -1
  1039. package/dist/lyra98.cjs +1 -1
  1040. package/dist/lyra98.cjs.map +1 -1
  1041. package/dist/lyra98.js +430 -127
  1042. package/dist/lyra98.js.map +1 -1
  1043. package/dist/lyra99.cjs +1 -1
  1044. package/dist/lyra99.cjs.map +1 -1
  1045. package/dist/lyra99.js +134 -212
  1046. package/dist/lyra99.js.map +1 -1
  1047. package/dist/style.css +1 -1
  1048. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"lyra23.cjs","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n createContext,\n CSSProperties,\n ForwardedRef,\n Key,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useFilter } from \"react-aria\";\nimport { Button as AriaButton, Label } from \"react-aria-components\";\n\nimport { Combobox } from \"@headlessui/react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { match } from \"ts-pattern\";\n\nimport { useLocale, useSpinDelay } from \"../../..\";\nimport { cx, VariantProps } from \"../../../utils/class-variance-authority\";\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport { Button } from \"../../button\";\nimport { listBoxItemStyles, listBoxStyles } from \"../../list-box/list-box-styles2\";\nimport { Popover } from \"../../overlays\";\nimport { Spinner } from \"../../spinner\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { TagGroup } from \"../../tag\";\nimport { Text } from \"../../text\";\nimport {\n sharedInputFieldStyles,\n sharedInputFieldWrapperStyles,\n sharedInputHintStyles,\n sharedInputlabelStyles,\n sharedInputSizeStyles,\n sharedInputStyles,\n} from \"..\";\n\ntype SearchItemRenderPropArg = {\n active: boolean;\n selected: boolean;\n disabled: boolean;\n};\n\ntype SearchListFieldBaseProps<T extends object> = {\n addValueLabel?: string;\n allowCustomValue?: boolean;\n allowCustomValueCreateLabel?: (query: string) => string | string;\n \"aria-label\"?: string;\n clearLabel?: string;\n description?: string;\n name?: string;\n disabledItemIdKeys?: Key[];\n endSlot?: JSX.Element;\n errorMessage?: string;\n fullWidth?: boolean;\n hint?: string;\n initiallyOpen?: boolean;\n isDisabled?: boolean;\n isRequired?: boolean;\n itemIdKey: keyof T;\n itemLabelKey: keyof T;\n items: T[];\n isLoading?: boolean;\n label?: string;\n onQueryChange?: (query?: string) => void;\n placeholder?: string;\n renderItem?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n searchInputClearLabel?: string;\n searchInputEndSlot?: JSX.Element;\n searchInputStartSlot?: JSX.Element;\n size?: VariantProps<typeof sharedInputFieldStyles>[\"size\"];\n startSlot?: JSX.Element;\n validationState?: \"valid\" | \"invalid\";\n} & (\n | {\n defaultValue?: T;\n onChange?: (value?: T) => void;\n selectionMode: \"single\";\n value?: T;\n }\n | {\n defaultValue?: T[];\n name?: string;\n onChange?: (value?: T[]) => void;\n selectionMode: \"multiple\";\n value?: T[];\n }\n);\n\n// type SearchListFieldSingleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\n// type SearchListFieldMultipleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\nexport type SearchListFieldProps<T extends object> = SearchListFieldBaseProps<T>;\n// | SearchListFieldSingleProps<T>\n// | SearchListFieldMultipleProps<T>;\n\ntype SearchListFieldContextProps<T extends object> = SearchListFieldProps<T> & {\n popoverIsOpen: boolean;\n setPopoverIsOpen: (isOpen: boolean) => void;\n internalValue?: T | T[];\n setInternalValue: (value?: T | T[]) => void;\n};\n\nconst SearchListFieldContext = createContext({} as SearchListFieldContextProps<any>);\n\nconst Provider = <T extends object>(props: SearchListFieldProps<T> & { children: ReactNode }) => {\n const [internalValue, setInternalValue] = useState<T | T[] | undefined>(\n props.value ?? props.defaultValue,\n );\n const [popoverIsOpen, setPopoverIsOpen] = useState(props.initiallyOpen ?? false);\n\n return (\n <SearchListFieldContext.Provider\n value={{\n ...props,\n popoverIsOpen,\n setPopoverIsOpen,\n internalValue,\n setInternalValue,\n }}\n >\n {props.children}\n </SearchListFieldContext.Provider>\n );\n};\n\nconst useSearchListFieldContext = <T extends object>() => {\n const context = useContext(SearchListFieldContext) as SearchListFieldContextProps<T>;\n return context;\n};\n\nconst useFilterItemsOnQuery = <T extends object>() => {\n const { itemLabelKey, onQueryChange, items /* listToFilterOn */ } =\n useSearchListFieldContext<T>();\n const [query, setQuery] = useState<string>(\"\");\n const { contains } = useFilter({ sensitivity: \"base\" });\n\n const filteredItems = useMemo(() => {\n if (onQueryChange) {\n return items;\n } else {\n return items.filter((item) => {\n return contains(item[itemLabelKey] as string, query ?? \"\");\n });\n }\n }, [contains, itemLabelKey, items, onQueryChange, query]);\n\n useEffect(() => {\n if (onQueryChange) {\n onQueryChange?.(query);\n }\n // onQueryChange should not be added to the dependencies, it will cause a rerender loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return {\n filteredItems,\n query,\n setQuery,\n };\n};\n\nexport const SearchListField = <T extends object>(props: SearchListFieldProps<T>) => {\n const { selectionMode = \"single\" } = props;\n\n const searchListProps = match({ ...props, selectionMode })\n .returnType<SearchListFieldProps<T>>()\n .with({ selectionMode: \"single\" }, (res) => ({\n ...res,\n value: res.value as T | undefined,\n defaultValue: res.defaultValue as T | undefined,\n onChange: res.onChange as (value?: T) => void | undefined,\n }))\n .with({ selectionMode: \"multiple\" }, (res) => ({\n ...res,\n value: res.value as T[] | undefined,\n defaultValue: res.defaultValue as T[] | undefined,\n onChange: res.onChange as (value?: T[]) => void | undefined,\n }));\n\n const searchListPropsResult = searchListProps.run();\n\n return (\n <Provider {...searchListPropsResult}>\n <SearchListFieldInner<T> />\n </Provider>\n );\n};\n\ntype SearchItemProps<T extends object> = {\n item: T;\n state: SearchItemRenderPropArg;\n render?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n};\nconst SearchItem = <T extends object>({ item, state, render }: SearchItemProps<T>) => {\n const { itemLabelKey } = useSearchListFieldContext<T>();\n const label = item?.[itemLabelKey] as string;\n if (render) {\n return render(item, state);\n }\n return (\n <div className=\"flex items-center gap-1\">\n {state.selected ? (\n <SvgIcon name=\"checkmark\" className=\"h-4 w-4\" />\n ) : (\n <div className=\"h-4 w-4\" />\n )}\n {label}\n </div>\n );\n};\n\nconst SearchListFieldInner = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const { internalValue, value, defaultValue, name, selectionMode, onChange } = context;\n\n return (\n <>\n <Combobox\n name={name}\n value={(onChange ? value : internalValue) ?? \"\"}\n defaultValue={defaultValue}\n multiple={(selectionMode === \"multiple\") as any}\n />\n {selectionMode === \"single\" ? <SingleValueSearchListField<T> /> : null}\n {selectionMode === \"multiple\" ? <MultipleValuesSearchListField<T> /> : null}\n </>\n );\n};\n\ntype SearchInputProps = {\n query?: string;\n setQuery: (value: string) => void;\n isLoading?: boolean;\n onQueryChange?: (query?: string) => void;\n startSlot?: JSX.Element;\n endSlot?: JSX.Element;\n clearLabel?: string;\n};\n\nconst SearchInput = ({\n query,\n setQuery,\n onQueryChange,\n isLoading,\n startSlot,\n endSlot,\n clearLabel = \"Clear\",\n}: SearchInputProps) => {\n const [fieldIsFocused, setFieldIsFocused] = useState(false);\n const [fieldIsHovered, setFieldIsHovered] = useState(false);\n const [timeReached, setTimeReached] = useState(false);\n // This workaround ensures that we wait for the popover to finish rendering before focusing on the input field.\n // .It prevents the page from scrolling to the bottom, although the exact reason for this behavior is currently unclear.\n useEffect(() => {\n setTimeout(() => {\n setTimeReached(true);\n }, 10);\n }, []);\n\n return (\n <div\n className={sharedInputFieldWrapperStyles({\n fullWidth: true,\n className: \"py-3 pe-[--list-box-item-padding-end] ps-[--list-box-item-padding-start]\",\n })}\n >\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth: true,\n isFocused: fieldIsFocused,\n isHovered: fieldIsHovered,\n className: \"px-2\",\n }),\n )}\n onPointerEnter={() => setFieldIsHovered(true)}\n onPointerLeave={() => setFieldIsHovered(false)}\n onMouseEnter={() => setFieldIsHovered(true)}\n onMouseLeave={() => setFieldIsHovered(false)}\n >\n <SvgIcon name=\"search\" className=\"-me-2 h-4 w-4\" />\n {startSlot}\n {timeReached ? (\n <Combobox.Input\n autoFocus\n className={sharedInputStyles({ size: \"small\" })}\n onChange={(e) => {\n setQuery(e.target.value as any);\n onQueryChange?.(e.target.value as any);\n }}\n value={query ?? \"\"}\n onFocus={() => setFieldIsFocused(true)}\n onBlur={() => setFieldIsFocused(false)}\n />\n ) : null}\n\n {query && query.length ? (\n <Button\n variant=\"ghost\"\n className=\"mx-2\"\n size=\"small\"\n tooltip={clearLabel}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n }}\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n ) : null}\n {endSlot}\n {isLoading ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\ntype SearchListFieldHeaderProps = {\n label?: string;\n hint?: string;\n isRequired?: boolean;\n};\n\nconst SearchListFieldHeader = ({ label, hint, isRequired }: SearchListFieldHeaderProps) => (\n <div className={cx(\"flex items-center gap-3\", label ? \"justify-between\" : \"justify-end\")}>\n {label ? (\n <Label\n className={sharedInputlabelStyles()}\n style={{ fontFamily: \"var(--input-label-font-family)\" }}\n >\n {label}\n {isRequired && <span className=\"text-danger\">{\" *\"}</span>}\n </Label>\n ) : null}\n {hint ? (\n <span\n className={sharedInputHintStyles()}\n style={{ fontFamily: \"var(--input-hint-font-family)\" }}\n >\n {hint}\n </span>\n ) : null}\n </div>\n);\n\ntype SearchListFieldFooterProps = {\n description?: string;\n errorMessage?: string;\n};\n\nconst SearchListFieldFooter = ({ description, errorMessage }: SearchListFieldFooterProps) => (\n <>\n {description && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"secondary\" slot=\"description\">\n {description}\n </Text>\n )}\n {errorMessage && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"accent-danger\" slot=\"errorMessage\">\n {errorMessage}\n </Text>\n )}\n </>\n);\n\nconst _SingleValueSearchListFieldButton = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n clearLabel,\n label,\n hint,\n description,\n errorMessage,\n validationState,\n placeholder,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n onChange,\n setInternalValue,\n } = context;\n\n const value = onChange\n ? (context.value as T | undefined)\n : (context.internalValue as T | undefined);\n\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \" \" || e.key === \"Enter\") {\n setPopoverIsOpen(true);\n } else if (e.key === \"Backspace\" || e.key === \"Escape\") {\n onChange?.(undefined);\n setInternalValue(undefined);\n }\n };\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isFocused,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-1 px-0 py-0\",\n }),\n )}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n ref={ref}\n >\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"flex h-full w-full flex-grow items-center gap-3 text-start outline-none\",\n }),\n )}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onKeyDown={handleKeyDown}\n >\n {startSlot}\n <div className=\"grow\">\n {value ? (\n (value?.[itemLabelKey] as unknown as string)\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n {endSlot}\n </AriaButton>\n {value && (\n <Button\n variant=\"ghost\"\n isDisabled={isDisabled}\n size={size}\n tooltip={clearLabel ?? \"Clear\"}\n onPress={() => {\n setInternalValue(undefined);\n onChange?.(undefined);\n }}\n excludeFromTabOrder\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n )}\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"h-full flex-grow outline-none\",\n }),\n )}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onKeyDown={handleKeyDown}\n excludeFromTabOrder\n >\n <SvgIcon name=\"chevron-down\" className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\n\nconst SingleValueSearchListFieldButton = fixedForwardRef(_SingleValueSearchListFieldButton);\n\nconst SingleValueSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n // In this case we are sure that onChange will receive a single value because selectionMode is single.\n // We cast the onChange prop to a function that receives a single value.\n const onChangeHandler = onChange as (value?: T) => void | undefined;\n const internalValue = context?.internalValue as T | undefined;\n const value = context?.value as T | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n\n return (\n <>\n <SingleValueSearchListFieldButton<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n nullable\n onChange={(value?: T) => {\n if (value) {\n onChangeHandler?.(value);\n setInternalValue(value);\n setPopoverIsOpen(false);\n }\n }}\n value={(onChange ? value : internalValue) ?? \"\"}\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length && !showSpinner) ||\n (allowCustomValue && queriedFilteredItemsLength === 0 && !showSpinner) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n {showSpinner ? (\n <div className=\"flex h-40 w-full items-center justify-center\">\n <Spinner size=\"medium\" />\n </div>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n\nconst _MultipleValuesSearchListFieldInput = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n label,\n hint,\n description,\n errorMessage,\n validationState,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n itemIdKey,\n setInternalValue,\n } = context;\n const addValueLabel = context.addValueLabel ?? \"Add value\";\n\n const value = context.internalValue as T[] | undefined;\n const onChange = context.onChange as (value?: T[]) => void | undefined;\n const [isHovered, setIsHovered] = useState(false);\n\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-2 px-2 py-1.5\",\n }),\n )}\n ref={ref}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {startSlot}\n {value && value.length ? (\n <TagGroup<T>\n itemIdKey={itemIdKey}\n itemLabelKey={itemLabelKey}\n label={label ?? context[\"aria-label\"]}\n isDisabled={isDisabled}\n value={value}\n onChange={(value) => {\n setInternalValue(value);\n onChange?.(value);\n }}\n />\n ) : null}\n {endSlot}\n {value?.length ? (\n <Button\n variant=\"ghost\"\n className=\"p-1.5\"\n size=\"small\"\n tooltip={addValueLabel}\n onPress={() => setPopoverIsOpen(true)}\n >\n <SvgIcon name=\"plus\" />\n </Button>\n ) : (\n <Button\n variant=\"ghost\"\n size=\"small\"\n className=\"text-sm\"\n endIcon={<SvgIcon name=\"plus\" />}\n onPress={() => setPopoverIsOpen(true)}\n >\n {addValueLabel}\n </Button>\n )}\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\nconst MultipleValuesSearchListFieldInput = fixedForwardRef(_MultipleValuesSearchListFieldInput);\n\nconst MultipleValuesSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n\n const onChangeHandler = onChange as (value?: T[]) => void | undefined;\n const internalValue = context.internalValue as T[] | undefined;\n const value = context.value as T[] | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n return (\n <>\n <MultipleValuesSearchListFieldInput<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n value={(onChange ? value : internalValue) ?? []}\n onChange={(value) => {\n onChangeHandler?.(value);\n setInternalValue(value);\n }}\n multiple\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n isLoading={isLoading}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length) ||\n (allowCustomValue && queriedFilteredItemsLength === 0) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n"],"names":["SearchListFieldContext","createContext","Provider","props","internalValue","setInternalValue","useState","popoverIsOpen","setPopoverIsOpen","jsx","useSearchListFieldContext","useContext","useFilterItemsOnQuery","itemLabelKey","onQueryChange","items","query","setQuery","contains","useFilter","filteredItems","useMemo","item","useEffect","SearchListField","selectionMode","searchListPropsResult","match","res","SearchListFieldInner","SearchItem","state","render","label","jsxs","SvgIcon","context","value","defaultValue","name","onChange","Fragment","Combobox","SingleValueSearchListField","MultipleValuesSearchListField","SearchInput","isLoading","startSlot","endSlot","clearLabel","fieldIsFocused","setFieldIsFocused","fieldIsHovered","setFieldIsHovered","timeReached","setTimeReached","sharedInputFieldWrapperStyles","twMerge","sharedInputFieldStyles","sharedInputStyles","e","Button","Spinner","SearchListFieldHeader","hint","isRequired","cx","Label","sharedInputlabelStyles","sharedInputHintStyles","SearchListFieldFooter","description","errorMessage","Text","_SingleValueSearchListFieldButton","_props","ref","validationState","placeholder","isDisabled","fullWidth","size","isFocused","setIsFocused","isHovered","setIsHovered","handleKeyDown","AriaButton","sharedInputSizeStyles","SingleValueSearchListFieldButton","fixedForwardRef","itemIdKey","renderItem","disabledItemIdKeys","allowCustomValue","searchInputClearLabel","searchInputEndSlot","searchInputStartSlot","allowCustomValueCreateLabel","onChangeHandler","inputRef","useRef","wrapperRef","direction","useLocale","queriedFilteredItemsLength","_a","showSpinner","useSpinDelay","Popover","isOpen","_b","listBoxStyles","active","selected","disabled","listBoxItemStyles","renderItemState","_MultipleValuesSearchListFieldInput","addValueLabel","TagGroup","MultipleValuesSearchListFieldInput"],"mappings":"8uCA6GMA,EAAyBC,EAAAA,cAAc,CAAA,CAAsC,EAE7EC,GAA8BC,GAA6D,CACzF,KAAA,CAACC,EAAeC,CAAgB,EAAIC,EAAA,SACxCH,EAAM,OAASA,EAAM,YAAA,EAEjB,CAACI,EAAeC,CAAgB,EAAIF,EAAS,SAAAH,EAAM,eAAiB,EAAK,EAG7E,OAAAM,EAAA,kBAAA,IAACT,EAAuB,SAAvB,CACC,MAAO,CACL,GAAGG,EACH,cAAAI,EACA,iBAAAC,EACA,cAAAJ,EACA,iBAAAC,CACF,EAEC,SAAMF,EAAA,QAAA,CAAA,CAGb,EAEMO,EAA4B,IAChBC,aAAWX,CAAsB,EAI7CY,EAAwB,IAAwB,CAC9C,KAAA,CAAE,aAAAC,EAAc,cAAAC,EAAe,MAAAC,GACnCL,EAA6B,EACzB,CAACM,EAAOC,CAAQ,EAAIX,WAAiB,EAAE,EACvC,CAAE,SAAAY,CAAS,EAAIC,EAAAA,UAAU,CAAE,YAAa,OAAQ,EAEhDC,EAAgBC,EAAAA,QAAQ,IACxBP,EACKC,EAEAA,EAAM,OAAQO,GACZJ,EAASI,EAAKT,CAAY,EAAaG,GAAS,EAAE,CAC1D,EAEF,CAACE,EAAUL,EAAcE,EAAOD,EAAeE,CAAK,CAAC,EAExDO,OAAAA,EAAAA,UAAU,IAAM,CACVT,IACFA,GAAA,MAAAA,EAAgBE,GAClB,EAGC,CAACA,CAAK,CAAC,EAEH,CACL,cAAAI,EACA,MAAAJ,EACA,SAAAC,CAAA,CAEJ,EAEaO,GAAqCrB,GAAmC,CAC7E,KAAA,CAAE,cAAAsB,EAAgB,QAAa,EAAAtB,EAiB/BuB,EAfkBC,EAAM,MAAA,CAAE,GAAGxB,EAAO,cAAAsB,EAAe,EACtD,WAAoC,EACpC,KAAK,CAAE,cAAe,QAAS,EAAIG,IAAS,CAC3C,GAAGA,EACH,MAAOA,EAAI,MACX,aAAcA,EAAI,aAClB,SAAUA,EAAI,QAAA,EACd,EACD,KAAK,CAAE,cAAe,UAAW,EAAIA,IAAS,CAC7C,GAAGA,EACH,MAAOA,EAAI,MACX,aAAcA,EAAI,aAClB,SAAUA,EAAI,QACd,EAAA,EAE0C,MAE9C,+BACG1B,GAAU,CAAA,GAAGwB,EACZ,SAAAjB,EAAAA,kBAAAA,IAACoB,KAAwB,CAC3B,CAAA,CAEJ,EAOMC,EAAa,CAAmB,CAAE,KAAAR,EAAM,MAAAS,EAAO,OAAAC,KAAiC,CAC9E,KAAA,CAAE,aAAAnB,GAAiBH,IACnBuB,EAAQX,GAAA,YAAAA,EAAOT,GACrB,OAAImB,EACKA,EAAOV,EAAMS,CAAK,EAGzBG,EAAA,kBAAA,KAAC,MAAI,CAAA,UAAU,0BACZ,SAAA,CAAMH,EAAA,SACJtB,EAAA,kBAAA,IAAA0B,EAAA,QAAA,CAAQ,KAAK,YAAY,UAAU,SAAU,CAAA,EAE9C1B,EAAAA,kBAAAA,IAAC,MAAI,CAAA,UAAU,SAAU,CAAA,EAE1BwB,CACH,CAAA,CAAA,CAEJ,EAEMJ,GAAuB,IAAwB,CACnD,MAAMO,EAAU1B,IACV,CAAE,cAAAN,EAAe,MAAAiC,EAAO,aAAAC,EAAc,KAAAC,EAAM,cAAAd,EAAe,SAAAe,CAAa,EAAAJ,EAE9E,OAEIF,EAAA,kBAAA,KAAAO,6BAAA,CAAA,SAAA,CAAAhC,EAAA,kBAAA,IAACiC,EAAA,SAAA,CACC,KAAAH,EACA,OAAQC,EAAWH,EAAQjC,IAAkB,GAC7C,aAAAkC,EACA,SAAWb,IAAkB,UAAA,CAC/B,EACCA,IAAkB,SAAYhB,EAAAA,kBAAAA,IAAAkC,GAAA,CAAA,CAA8B,EAAK,KACjElB,IAAkB,WAAchB,EAAAA,kBAAAA,IAAAmC,GAAA,CAAA,CAAiC,EAAK,IACzE,CAAA,CAAA,CAEJ,EAYMC,EAAc,CAAC,CACnB,MAAA7B,EACA,SAAAC,EACA,cAAAH,EACA,UAAAgC,EACA,UAAAC,EACA,QAAAC,EACA,WAAAC,EAAa,OACf,IAAwB,CACtB,KAAM,CAACC,EAAgBC,CAAiB,EAAI7C,WAAS,EAAK,EACpD,CAAC8C,EAAgBC,CAAiB,EAAI/C,WAAS,EAAK,EACpD,CAACgD,EAAaC,CAAc,EAAIjD,WAAS,EAAK,EAGpDiB,OAAAA,EAAAA,UAAU,IAAM,CACd,WAAW,IAAM,CACfgC,EAAe,EAAI,GAClB,EAAE,CACP,EAAG,CAAE,CAAA,EAGH9C,EAAA,kBAAA,IAAC,MAAA,CACC,UAAW+C,EAAAA,8BAA8B,CACvC,UAAW,GACX,UAAW,0EAAA,CACZ,EAED,SAAAtB,EAAA,kBAAA,KAAC,MAAA,CACC,UAAWuB,EAAA,QACTC,yBAAuB,CACrB,UAAW,GACX,UAAWR,EACX,UAAWE,EACX,UAAW,MAAA,CACZ,CACH,EACA,eAAgB,IAAMC,EAAkB,EAAI,EAC5C,eAAgB,IAAMA,EAAkB,EAAK,EAC7C,aAAc,IAAMA,EAAkB,EAAI,EAC1C,aAAc,IAAMA,EAAkB,EAAK,EAE3C,SAAA,CAAA5C,EAAA,kBAAA,IAAC0B,EAAQ,QAAA,CAAA,KAAK,SAAS,UAAU,gBAAgB,EAChDY,EACAO,EACC7C,EAAA,kBAAA,IAACiC,EAAAA,SAAS,MAAT,CACC,UAAS,GACT,UAAWiB,EAAA,kBAAkB,CAAE,KAAM,QAAS,EAC9C,SAAWC,GAAM,CACN3C,EAAA2C,EAAE,OAAO,KAAY,EACd9C,GAAA,MAAAA,EAAA8C,EAAE,OAAO,MAC3B,EACA,MAAO5C,GAAS,GAChB,QAAS,IAAMmC,EAAkB,EAAI,EACrC,OAAQ,IAAMA,EAAkB,EAAK,CAAA,CAAA,EAErC,KAEHnC,GAASA,EAAM,OACdP,EAAA,kBAAA,IAACoD,EAAA,OAAA,CACC,QAAQ,QACR,UAAU,OACV,KAAK,QACL,QAASZ,EACT,oBAAmB,GACnB,QAAS,IAAM,CACbhC,EAAS,EAAE,CACb,EAEA,SAACR,EAAA,kBAAA,IAAA0B,UAAA,CAAQ,KAAK,QAAQ,UAAU,UAAU,CAAA,CAAA,EAE1C,KACHa,EACAF,EAAarC,EAAAA,kBAAAA,IAAAqD,EAAAA,QAAA,CAAQ,UAAU,OAAO,KAAK,OAAQ,CAAA,EAAK,IAAA,CAAA,CAC3D,CAAA,CAAA,CAGN,EAQMC,EAAwB,CAAC,CAAE,MAAA9B,EAAO,KAAA+B,EAAM,WAAAC,CAAW,IACtD/B,EAAAA,kBAAAA,KAAA,MAAA,CAAI,UAAWgC,GAAAA,GAAG,0BAA2BjC,EAAQ,kBAAoB,aAAa,EACpF,SAAA,CACCA,EAAAC,EAAA,kBAAA,KAACiC,EAAA,MAAA,CACC,UAAWC,EAAAA,uBAAuB,EAClC,MAAO,CAAE,WAAY,gCAAiC,EAErD,SAAA,CAAAnC,EACAgC,GAAcxD,EAAA,kBAAA,IAAC,OAAK,CAAA,UAAU,cAAe,SAAK,KAAA,CAAA,CAAA,CAAA,EAEnD,KACHuD,EACCvD,EAAA,kBAAA,IAAC,OAAA,CACC,UAAW4D,EAAAA,sBAAsB,EACjC,MAAO,CAAE,WAAY,+BAAgC,EAEpD,SAAAL,CAAA,CAAA,EAED,IAAA,CACN,CAAA,EAQIM,EAAwB,CAAC,CAAE,YAAAC,EAAa,aAAAC,KAEzCtC,yBAAAO,EAAAA,kBAAAA,SAAA,CAAA,SAAA,CACC8B,GAAA9D,EAAAA,kBAAAA,IAACgE,EAAAA,KAAK,CAAA,UAAU,cAAc,QAAQ,aAAa,MAAM,YAAY,KAAK,cACvE,SACHF,CAAA,CAAA,EAEDC,GACE/D,EAAAA,kBAAAA,IAAAgE,EAAAA,KAAA,CAAK,UAAU,cAAc,QAAQ,aAAa,MAAM,gBAAgB,KAAK,eAC3E,SACHD,CAAA,CAAA,CAAA,CAEJ,CAAA,EAGIE,GAAoC,CACxCC,EACAC,IACG,CACH,MAAMxC,EAAU1B,IACV,CACJ,WAAAuC,EACA,MAAAhB,EACA,KAAA+B,EACA,YAAAO,EACA,aAAAC,EACA,gBAAAK,EACA,YAAAC,EACA,WAAAb,EACA,WAAAc,EACA,UAAAC,EACA,iBAAAxE,EACA,KAAAyE,EACA,UAAAlC,EACA,QAAAC,EACA,aAAAnC,EACA,SAAA2B,EACA,iBAAAnC,CACE,EAAA+B,EAEEC,EAAQG,EACTJ,EAAQ,MACRA,EAAQ,cAEP,CAAC8C,EAAWC,CAAY,EAAI7E,WAAS,EAAK,EAC1C,CAAC8E,EAAWC,CAAY,EAAI/E,WAAS,EAAK,EAE1CgF,EAAiB1B,GAA8C,CAC/DA,EAAE,MAAQ,aAAeA,EAAE,MAAQ,KAAOA,EAAE,MAAQ,QACtDpD,EAAiB,EAAI,GACZoD,EAAE,MAAQ,aAAeA,EAAE,MAAQ,YAC5CpB,GAAA,MAAAA,EAAW,QACXnC,EAAiB,MAAS,EAC5B,EAGA,OAAA6B,EAAA,kBAAA,KAAC,OAAI,UAAWuB,EAAAA,QAAQD,gCAA8B,CAAE,UAAAwB,CAAA,CAAW,CAAC,EAClE,SAAA,CAACvE,EAAAA,kBAAAA,IAAAsD,EAAA,CAAsB,KAAAC,EAAY,WAAAC,EAAwB,MAAAhC,CAAc,CAAA,EACzEC,EAAA,kBAAA,KAAC,MAAA,CACC,UAAWuB,EAAA,QACTC,yBAAuB,CACrB,UAAAsB,EACA,WAAAD,EACA,UAAAG,EACA,UAAAE,EACA,KAAMH,GAAQ,SACd,gBAAAJ,EACA,UAAW,iBAAA,CACZ,CACH,EACA,eAAgB,IAAMQ,EAAa,EAAI,EACvC,eAAgB,IAAMA,EAAa,EAAK,EACxC,aAAc,IAAMA,EAAa,EAAI,EACrC,aAAc,IAAMA,EAAa,EAAK,EACtC,IAAAT,EAEA,SAAA,CAAA1C,EAAA,kBAAA,KAACqD,EAAA,OAAA,CACC,WAAAR,EACA,UAAWtB,EAAA,QACT+B,wBAAsB,CACpB,KAAMP,GAAQ,SACd,UAAW,yEAAA,CACZ,CACH,EACA,QAAS,IAAM,CACbE,EAAa,EAAI,CACnB,EACA,OAAQ,IAAM,CACZA,EAAa,EAAK,CACpB,EACA,QAAS,IAAM,CACb3E,EAAiB,EAAI,CACvB,EACA,UAAW8E,EAEV,SAAA,CAAAvC,EACAtC,EAAA,kBAAA,IAAA,MAAA,CAAI,UAAU,OACZ,SACE4B,EAAAA,GAAA,YAAAA,EAAQxB,GAERJ,EAAA,kBAAA,IAAAgE,EAAA,KAAA,CAAK,MAAM,YAAa,UAAY,CAAA,EAEzC,EACCzB,CAAA,CAAA,CACH,EACCX,GACC5B,EAAA,kBAAA,IAACoD,EAAA,OAAA,CACC,QAAQ,QACR,WAAAkB,EACA,KAAAE,EACA,QAAShC,GAAc,QACvB,QAAS,IAAM,CACb5C,EAAiB,MAAS,EAC1BmC,GAAA,MAAAA,EAAW,OACb,EACA,oBAAmB,GAEnB,SAAC/B,EAAA,kBAAA,IAAA0B,UAAA,CAAQ,KAAK,QAAQ,UAAU,UAAU,CAAA,CAC5C,EAEF1B,EAAA,kBAAA,IAAC8E,EAAA,OAAA,CACC,WAAAR,EACA,UAAWtB,EAAA,QACT+B,wBAAsB,CACpB,KAAMP,GAAQ,SACd,UAAW,+BAAA,CACZ,CACH,EACA,QAAS,IAAM,CACbzE,EAAiB,EAAI,CACvB,EACA,QAAS,IAAM,CACb2E,EAAa,EAAI,CACnB,EACA,OAAQ,IAAM,CACZA,EAAa,EAAK,CACpB,EACA,UAAWG,EACX,oBAAmB,GAEnB,SAAC7E,EAAA,kBAAA,IAAA0B,UAAA,CAAQ,KAAK,eAAe,UAAU,UAAU,CAAA,CACnD,CAAA,CAAA,CACF,EACA1B,EAAAA,kBAAAA,IAAC6D,EAAsB,CAAA,YAAAC,EAA0B,aAAAC,CAA4B,CAAA,CAC/E,CAAA,CAAA,CAEJ,EAEMiB,GAAmCC,EAAAA,gBAAgBhB,EAAiC,EAEpF/B,GAA6B,IAAwB,SACzD,MAAMP,EAAU1B,IACV,CACJ,aAAAG,EACA,UAAA8E,EACA,WAAAC,EACA,mBAAAC,EACA,iBAAAC,EACA,SAAAtD,EACA,cAAAjC,EACA,iBAAAC,EACA,iBAAAH,EACA,sBAAA0F,EAAwB,QACxB,UAAAjD,EACA,mBAAAkD,EACA,qBAAAC,EACA,4BAAAC,EAA+BlF,GAAU,WAAWA,CAAK,GACvD,EAAAoB,EAGE+D,EAAkB3D,EAClBpC,EAAgBgC,GAAA,YAAAA,EAAS,cACzBC,EAAQD,GAAA,YAAAA,EAAS,MAEjB,CAAE,cAAAhB,EAAe,MAAAJ,EAAO,SAAAC,GAAaL,EAAyB,EAE9DwF,EAAWC,SAAyB,IAAI,EACxCC,EAAaD,SAAuB,IAAI,EACxC,CAAE,UAAAE,GAAcC,EAAAA,YAChBC,GAA6BC,EAAAtF,GAAA,YAAAA,EAAe,OAC/CE,IAASA,GAAA,YAAAA,EAAOT,KAAiBG,KADD,YAAA0F,EAEhC,OAEGC,EAAcC,gBAAa9D,GAAa,GAAO,CAAE,MAAO,IAAK,YAAa,GAAA,CAAK,EAErF,OAEIZ,EAAA,kBAAA,KAAAO,6BAAA,CAAA,SAAA,CAAChC,EAAAA,kBAAAA,IAAAgF,GAAA,CAAoC,IAAKa,CAAY,CAAA,EACtD7F,EAAA,kBAAA,IAACoG,EAAA,QAAA,CACC,UAAU,OACV,OAAQtG,EACR,aAAeuG,GAAW,OACxBtG,EAAiBsG,CAAM,EACnBA,KACFJ,EAAAN,EAAS,UAAT,MAAAM,EAAkB,QAEtB,EACA,WAAYJ,EACZ,wCAAuC,GACvC,MACE,CAAE,oBAAmBS,EAAAT,EAAW,UAAX,YAAAS,EAAoB,aAAc,KAAM,UAAAR,CAAU,EAGzE,SAAArE,EAAA,kBAAA,KAACQ,EAAA,SAAA,CACC,SAAQ,GACR,SAAWL,GAAc,CACnBA,IACF8D,GAAA,MAAAA,EAAkB9D,GAClBhC,EAAiBgC,CAAK,EACtB7B,EAAiB,EAAK,EAE1B,EACA,OAAQgC,EAAWH,EAAQjC,IAAkB,GAE7C,SAAA,CAAAK,EAAA,kBAAA,IAACoC,EAAA,CACC,MAAA7B,EACA,SAAAC,EACA,WAAY8E,EACZ,UAAWE,EACX,QAASD,CAAA,CACX,EACE5E,IAAiBA,GAAA,MAAAA,EAAe,SAAU,CAACuF,GAC5Cb,GAAoBW,IAA+B,GAAK,CAACE,EACxDzE,EAAAA,kBAAAA,KAACQ,WAAS,QAAT,CAAiB,OAAM,GAAC,UAAWsE,EAAAA,cACjC,EAAA,SAAA,CAAc5F,EAAA,IAAKE,GAClBb,EAAA,kBAAA,IAACiC,EAAAA,SAAS,OAAT,CAEC,UAAW,CAAC,CAAE,OAAAuE,EAAQ,SAAAC,EAAU,SAAAC,CAC9B,IAAA1D,EAAA,QACE2D,oBAAkB,CAChB,OAAAH,EACA,SAAAE,EACA,SAAAD,CAAA,CACD,CACH,EAEF,MAAO5F,EACP,SAAUuE,GAAA,YAAAA,EAAoB,SAASvE,EAAKqE,CAAS,GAEpD,SAAC0B,GACC5G,EAAA,kBAAA,IAAAqB,EAAA,CAAW,KAAAR,EAAY,MAAO+F,EAAiB,OAAQzB,EAAY,CAAA,EAdjEtE,EAAKqE,CAAS,CAAA,CAiBtB,EACA3E,GAASA,EAAM,QAAU8E,GAAoBW,IAA+B,EAC3EhG,EAAA,kBAAA,IAACiC,EAAAA,SAAS,OAAT,CACC,MAAO,CACL,CAACiD,CAAS,EAAG3E,EACb,CAACH,CAAY,EAAGG,CAClB,EACA,UAAW,CAAC,CAAE,OAAAiG,EAAQ,SAAAC,EAAU,SAAAC,CAC9B,IAAA1D,EAAA,QACE2D,oBAAkB,CAChB,OAAAH,EACA,SAAAE,EACA,SAAAD,CAAA,CACD,CACH,EAGF,SAAAhF,EAAA,kBAAA,KAAC,MAAI,CAAA,UAAU,0BACb,SAAA,CAACzB,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,SAAU,CAAA,EACxByF,EAA4BlF,CAAK,CAAA,EACpC,CAAA,CAAA,EAEA,IAAA,CAAA,CACN,EACE,KACH2F,EACElG,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,+CACb,iCAACqD,EAAAA,QAAQ,CAAA,KAAK,QAAS,CAAA,CAAA,CACzB,EACE,IAAA,CAAA,CACN,CAAA,CACF,CACF,CAAA,CAAA,CAEJ,EAEMwD,GAAsC,CAC1C3C,EACAC,IACG,CACH,MAAMxC,EAAU1B,IACV,CACJ,MAAAuB,EACA,KAAA+B,EACA,YAAAO,EACA,aAAAC,EACA,gBAAAK,EACA,WAAAZ,EACA,WAAAc,EACA,UAAAC,EACA,iBAAAxE,EACA,KAAAyE,EACA,UAAAlC,EACA,QAAAC,EACA,aAAAnC,EACA,UAAA8E,EACA,iBAAAtF,CACE,EAAA+B,EACEmF,EAAgBnF,EAAQ,eAAiB,YAEzCC,EAAQD,EAAQ,cAChBI,EAAWJ,EAAQ,SACnB,CAACgD,EAAWC,CAAY,EAAI/E,WAAS,EAAK,EAG9C,OAAA4B,EAAA,kBAAA,KAAC,OAAI,UAAWuB,EAAAA,QAAQD,gCAA8B,CAAE,UAAAwB,CAAA,CAAW,CAAC,EAClE,SAAA,CAACvE,EAAAA,kBAAAA,IAAAsD,EAAA,CAAsB,KAAAC,EAAY,WAAAC,EAAwB,MAAAhC,CAAc,CAAA,EACzEC,EAAA,kBAAA,KAAC,MAAA,CACC,UAAWuB,EAAA,QACTC,yBAAuB,CACrB,UAAAsB,EACA,WAAAD,EACA,UAAAK,EACA,KAAMH,GAAQ,SACd,gBAAAJ,EACA,UAAW,mBAAA,CACZ,CACH,EACA,IAAAD,EACA,eAAgB,IAAMS,EAAa,EAAI,EACvC,eAAgB,IAAMA,EAAa,EAAK,EACxC,aAAc,IAAMA,EAAa,EAAI,EACrC,aAAc,IAAMA,EAAa,EAAK,EAErC,SAAA,CAAAtC,EACAV,GAASA,EAAM,OACd5B,EAAA,kBAAA,IAAC+G,GAAA,SAAA,CACC,UAAA7B,EACA,aAAA9E,EACA,MAAOoB,GAASG,EAAQ,YAAY,EACpC,WAAA2C,EACA,MAAA1C,EACA,SAAWA,GAAU,CACnBhC,EAAiBgC,CAAK,EACtBG,GAAA,MAAAA,EAAWH,EACb,CAAA,CAAA,EAEA,KACHW,EACAX,GAAA,MAAAA,EAAO,OACN5B,EAAA,kBAAA,IAACoD,EAAA,OAAA,CACC,QAAQ,QACR,UAAU,QACV,KAAK,QACL,QAAS0D,EACT,QAAS,IAAM/G,EAAiB,EAAI,EAEpC,SAAAC,EAAAA,kBAAAA,IAAC0B,EAAAA,QAAQ,CAAA,KAAK,MAAO,CAAA,CAAA,CAAA,EAGvB1B,EAAA,kBAAA,IAACoD,EAAA,OAAA,CACC,QAAQ,QACR,KAAK,QACL,UAAU,UACV,QAASpD,EAAAA,kBAAAA,IAAC0B,EAAAA,QAAQ,CAAA,KAAK,MAAO,CAAA,EAC9B,QAAS,IAAM3B,EAAiB,EAAI,EAEnC,SAAA+G,CAAA,CACH,CAAA,CAAA,CAEJ,EACA9G,EAAAA,kBAAAA,IAAC6D,EAAsB,CAAA,YAAAC,EAA0B,aAAAC,CAA4B,CAAA,CAC/E,CAAA,CAAA,CAEJ,EACMiD,GAAqC/B,EAAAA,gBAAgB4B,EAAmC,EAExF1E,GAAgC,IAAwB,SAC5D,MAAMR,EAAU1B,IACV,CACJ,aAAAG,EACA,UAAA8E,EACA,WAAAC,EACA,mBAAAC,EACA,iBAAAC,EACA,SAAAtD,EACA,cAAAjC,EACA,iBAAAC,EACA,iBAAAH,EACA,sBAAA0F,EAAwB,QACxB,UAAAjD,EACA,mBAAAkD,EACA,qBAAAC,EACA,4BAAAC,EAA+BlF,GAAU,WAAWA,CAAK,GACvD,EAAAoB,EAEE+D,EAAkB3D,EAClBpC,EAAgBgC,EAAQ,cACxBC,EAAQD,EAAQ,MAEhB,CAAE,cAAAhB,EAAe,MAAAJ,EAAO,SAAAC,GAAaL,EAAyB,EAE9DwF,EAAWC,SAAyB,IAAI,EACxCC,EAAaD,SAAuB,IAAI,EACxC,CAAE,UAAAE,GAAcC,EAAAA,YAChBC,GAA6BC,EAAAtF,GAAA,YAAAA,EAAe,OAC/CE,IAASA,GAAA,YAAAA,EAAOT,KAAiBG,KADD,YAAA0F,EAEhC,OAEH,OAEIxE,EAAA,kBAAA,KAAAO,6BAAA,CAAA,SAAA,CAAChC,EAAAA,kBAAAA,IAAAgH,GAAA,CAAsC,IAAKnB,CAAY,CAAA,EACxD7F,EAAA,kBAAA,IAACoG,EAAA,QAAA,CACC,UAAU,OACV,OAAQtG,EACR,aAAeuG,GAAW,OACxBtG,EAAiBsG,CAAM,EACnBA,KACFJ,EAAAN,EAAS,UAAT,MAAAM,EAAkB,QAEtB,EACA,WAAYJ,EACZ,wCAAuC,GACvC,MACE,CAAE,oBAAmBS,EAAAT,EAAW,UAAX,YAAAS,EAAoB,aAAc,KAAM,UAAAR,CAAU,EAGzE,SAAArE,EAAA,kBAAA,KAACQ,EAAA,SAAA,CACC,OAAQF,EAAWH,EAAQjC,IAAkB,CAAC,EAC9C,SAAWiC,GAAU,CACnB8D,GAAA,MAAAA,EAAkB9D,GAClBhC,EAAiBgC,CAAK,CACxB,EACA,SAAQ,GAER,SAAA,CAAA5B,EAAA,kBAAA,IAACoC,EAAA,CACC,MAAA7B,EACA,SAAAC,EACA,UAAA6B,EACA,WAAYiD,EACZ,UAAWE,EACX,QAASD,CAAA,CACX,EACE5E,IAAiBA,GAAA,MAAAA,EAAe,SACjC0E,GAAoBW,IAA+B,EAClDvE,EAAA,kBAAA,KAACQ,EAAS,SAAA,QAAT,CAAiB,OAAM,GAAC,UAAWsE,EAAAA,cACjC,EAAA,SAAA,CAAc5F,EAAA,IAAKE,GAClBb,EAAA,kBAAA,IAACiC,EAAAA,SAAS,OAAT,CAEC,UAAW,CAAC,CAAE,OAAAuE,EAAQ,SAAAC,EAAU,SAAAC,CAC9B,IAAA1D,EAAA,QACE2D,oBAAkB,CAChB,OAAAH,EACA,SAAAE,EACA,SAAAD,CAAA,CACD,CACH,EAEF,MAAO5F,EACP,SAAUuE,GAAA,YAAAA,EAAoB,SAASvE,EAAKqE,CAAS,GAEpD,SAAC0B,GACC5G,EAAA,kBAAA,IAAAqB,EAAA,CAAW,KAAAR,EAAY,MAAO+F,EAAiB,OAAQzB,EAAY,CAAA,EAdjEtE,EAAKqE,CAAS,CAAA,CAiBtB,EACA3E,GAASA,EAAM,QAAU8E,GAAoBW,IAA+B,EAC3EhG,EAAA,kBAAA,IAACiC,EAAAA,SAAS,OAAT,CACC,MAAO,CACL,CAACiD,CAAS,EAAG3E,EACb,CAACH,CAAY,EAAGG,CAClB,EACA,UAAW,CAAC,CAAE,OAAAiG,EAAQ,SAAAC,EAAU,SAAAC,CAC9B,IAAA1D,EAAA,QACE2D,oBAAkB,CAChB,OAAAH,EACA,SAAAE,EACA,SAAAD,CAAA,CACD,CACH,EAGF,SAAAhF,EAAA,kBAAA,KAAC,MAAI,CAAA,UAAU,0BACb,SAAA,CAACzB,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAU,SAAU,CAAA,EACxByF,EAA4BlF,CAAK,CAAA,EACpC,CAAA,CAAA,EAEA,IAAA,CAAA,CACN,EACE,IAAA,CAAA,CACN,CAAA,CACF,CACF,CAAA,CAAA,CAEJ"}
1
+ {"version":3,"file":"lyra23.cjs","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n createContext,\n CSSProperties,\n ForwardedRef,\n Key,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useFilter } from \"react-aria\";\nimport { Button as AriaButton, Label } from \"react-aria-components\";\n\nimport { Combobox } from \"@headlessui/react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { match } from \"ts-pattern\";\n\nimport { useLocale, useSpinDelay } from \"../../..\";\nimport { cx, VariantProps } from \"../../../utils/class-variance-authority\";\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport { Button } from \"../../button\";\nimport { listBoxItemStyles, listBoxStyles } from \"../../list-box/list-box-styles2\";\nimport { Popover } from \"../../overlays\";\nimport { Spinner } from \"../../spinner\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { TagGroup } from \"../../tag\";\nimport { Text } from \"../../text\";\nimport {\n sharedInputFieldStyles,\n sharedInputFieldWrapperStyles,\n sharedInputHintStyles,\n sharedInputlabelStyles,\n sharedInputSizeStyles,\n sharedInputStyles,\n} from \"..\";\n\ntype SearchItemRenderPropArg = {\n active: boolean;\n selected: boolean;\n disabled: boolean;\n};\n\ntype SearchListFieldBaseProps<T extends object> = {\n addValueLabel?: string;\n allowCustomValue?: boolean;\n allowCustomValueCreateLabel?: (query: string) => string | string;\n \"aria-label\"?: string;\n clearLabel?: string;\n description?: string;\n name?: string;\n disabledItemIdKeys?: Key[];\n endSlot?: JSX.Element;\n errorMessage?: string;\n fullWidth?: boolean;\n hint?: string;\n initiallyOpen?: boolean;\n isDisabled?: boolean;\n isRequired?: boolean;\n itemIdKey: keyof T;\n itemLabelKey: keyof T;\n items: T[];\n isLoading?: boolean;\n label?: string;\n onQueryChange?: (query?: string) => void;\n placeholder?: string;\n renderItem?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n searchInputClearLabel?: string;\n searchInputEndSlot?: JSX.Element;\n searchInputStartSlot?: JSX.Element;\n size?: VariantProps<typeof sharedInputFieldStyles>[\"size\"];\n startSlot?: JSX.Element;\n validationState?: \"valid\" | \"invalid\";\n} & (\n | {\n defaultValue?: T;\n onChange?: (value?: T) => void;\n selectionMode: \"single\";\n value?: T;\n }\n | {\n defaultValue?: T[];\n name?: string;\n onChange?: (value?: T[]) => void;\n selectionMode: \"multiple\";\n value?: T[];\n }\n);\n\n// type SearchListFieldSingleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\n// type SearchListFieldMultipleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\nexport type SearchListFieldProps<T extends object> = SearchListFieldBaseProps<T>;\n// | SearchListFieldSingleProps<T>\n// | SearchListFieldMultipleProps<T>;\n\ntype SearchListFieldContextProps<T extends object> = SearchListFieldProps<T> & {\n popoverIsOpen: boolean;\n setPopoverIsOpen: (isOpen: boolean) => void;\n internalValue?: T | T[];\n setInternalValue: (value?: T | T[]) => void;\n};\n\nconst SearchListFieldContext = createContext({} as SearchListFieldContextProps<any>);\n\nconst Provider = <T extends object>(props: SearchListFieldProps<T> & { children: ReactNode }) => {\n const [internalValue, setInternalValue] = useState<T | T[] | undefined>(\n props.value ?? props.defaultValue,\n );\n const [popoverIsOpen, setPopoverIsOpen] = useState(props.initiallyOpen ?? false);\n\n return (\n <SearchListFieldContext.Provider\n value={{\n ...props,\n popoverIsOpen,\n setPopoverIsOpen,\n internalValue,\n setInternalValue,\n }}\n >\n {props.children}\n </SearchListFieldContext.Provider>\n );\n};\n\nconst useSearchListFieldContext = <T extends object>() => {\n const context = useContext(SearchListFieldContext) as SearchListFieldContextProps<T>;\n return context;\n};\n\nconst useFilterItemsOnQuery = <T extends object>() => {\n const { itemLabelKey, onQueryChange, items /* listToFilterOn */ } =\n useSearchListFieldContext<T>();\n const [query, setQuery] = useState<string>(\"\");\n const { contains } = useFilter({ sensitivity: \"base\" });\n\n const filteredItems = useMemo(() => {\n if (onQueryChange) {\n return items;\n } else {\n return items.filter((item) => {\n return contains(item[itemLabelKey] as string, query ?? \"\");\n });\n }\n }, [contains, itemLabelKey, items, onQueryChange, query]);\n\n useEffect(() => {\n if (onQueryChange) {\n onQueryChange?.(query);\n }\n // onQueryChange should not be added to the dependencies, it will cause a rerender loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return {\n filteredItems,\n query,\n setQuery,\n };\n};\n\nexport const SearchListField = <T extends object>(props: SearchListFieldProps<T>) => {\n const { selectionMode = \"single\" } = props;\n\n const searchListProps = match({ ...props, selectionMode })\n .returnType<SearchListFieldProps<T>>()\n .with({ selectionMode: \"single\" }, (res) => ({\n ...res,\n value: res.value as T | undefined,\n defaultValue: res.defaultValue as T | undefined,\n onChange: res.onChange as (value?: T) => void | undefined,\n }))\n .with({ selectionMode: \"multiple\" }, (res) => ({\n ...res,\n value: res.value as T[] | undefined,\n defaultValue: res.defaultValue as T[] | undefined,\n onChange: res.onChange as (value?: T[]) => void | undefined,\n }));\n\n const searchListPropsResult = searchListProps.run();\n\n return (\n <Provider {...searchListPropsResult}>\n <SearchListFieldInner<T> />\n </Provider>\n );\n};\n\ntype SearchItemProps<T extends object> = {\n item: T;\n state: SearchItemRenderPropArg;\n render?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n};\nconst SearchItem = <T extends object>({ item, state, render }: SearchItemProps<T>) => {\n const { itemLabelKey } = useSearchListFieldContext<T>();\n const label = item?.[itemLabelKey] as string;\n if (render) {\n return render(item, state);\n }\n return (\n <div className=\"flex items-center gap-1\">\n {state.selected ? (\n <SvgIcon name=\"checkmark\" className=\"h-4 w-4\" />\n ) : (\n <div className=\"h-4 w-4\" />\n )}\n {label}\n </div>\n );\n};\n\nconst SearchListFieldInner = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const { internalValue, value, defaultValue, name, selectionMode, onChange } = context;\n\n return (\n <>\n <Combobox\n name={name}\n value={(onChange ? value : internalValue) ?? \"\"}\n defaultValue={defaultValue}\n multiple={(selectionMode === \"multiple\") as any}\n />\n {selectionMode === \"single\" ? <SingleValueSearchListField<T> /> : null}\n {selectionMode === \"multiple\" ? <MultipleValuesSearchListField<T> /> : null}\n </>\n );\n};\n\ntype SearchInputProps = {\n query?: string;\n setQuery: (value: string) => void;\n isLoading?: boolean;\n onQueryChange?: (query?: string) => void;\n startSlot?: JSX.Element;\n endSlot?: JSX.Element;\n clearLabel?: string;\n};\n\nconst SearchInput = ({\n query,\n setQuery,\n onQueryChange,\n isLoading,\n startSlot,\n endSlot,\n clearLabel = \"Clear\",\n}: SearchInputProps) => {\n const [fieldIsFocused, setFieldIsFocused] = useState(false);\n const [fieldIsHovered, setFieldIsHovered] = useState(false);\n const [timeReached, setTimeReached] = useState(false);\n // This workaround ensures that we wait for the popover to finish rendering before focusing on the input field.\n // .It prevents the page from scrolling to the bottom, although the exact reason for this behavior is currently unclear.\n useEffect(() => {\n setTimeout(() => {\n setTimeReached(true);\n }, 10);\n }, []);\n\n return (\n <div\n className={sharedInputFieldWrapperStyles({\n fullWidth: true,\n className: \"py-3 pe-[--list-box-item-padding-end] ps-[--list-box-item-padding-start]\",\n })}\n >\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth: true,\n isFocused: fieldIsFocused,\n isHovered: fieldIsHovered,\n className: \"px-2\",\n }),\n )}\n onPointerEnter={() => setFieldIsHovered(true)}\n onPointerLeave={() => setFieldIsHovered(false)}\n onMouseEnter={() => setFieldIsHovered(true)}\n onMouseLeave={() => setFieldIsHovered(false)}\n >\n <SvgIcon name=\"search\" className=\"-me-2 h-4 w-4\" />\n {startSlot}\n {timeReached ? (\n <Combobox.Input\n autoFocus\n className={sharedInputStyles({ size: \"small\" })}\n onChange={(e) => {\n setQuery(e.target.value as any);\n onQueryChange?.(e.target.value as any);\n }}\n value={query ?? \"\"}\n onFocus={() => setFieldIsFocused(true)}\n onBlur={() => setFieldIsFocused(false)}\n />\n ) : null}\n\n {query && query.length ? (\n <Button\n variant=\"ghost\"\n className=\"mx-2\"\n size=\"small\"\n tooltip={clearLabel}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n }}\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n ) : null}\n {endSlot}\n {isLoading ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\ntype SearchListFieldHeaderProps = {\n label?: string;\n hint?: string;\n isRequired?: boolean;\n};\n\nconst SearchListFieldHeader = ({ label, hint, isRequired }: SearchListFieldHeaderProps) => (\n <div className={cx(\"flex items-center gap-3\", label ? \"justify-between\" : \"justify-end\")}>\n {label ? (\n <Label\n className={sharedInputlabelStyles()}\n style={{ fontFamily: \"var(--input-label-font-family)\" }}\n >\n {label}\n {isRequired && <span className=\"text-danger\">{\" *\"}</span>}\n </Label>\n ) : null}\n {hint ? (\n <span\n className={sharedInputHintStyles()}\n style={{ fontFamily: \"var(--input-hint-font-family)\" }}\n >\n {hint}\n </span>\n ) : null}\n </div>\n);\n\ntype SearchListFieldFooterProps = {\n description?: string;\n errorMessage?: string;\n};\n\nconst SearchListFieldFooter = ({ description, errorMessage }: SearchListFieldFooterProps) => (\n <>\n {description && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"secondary\" slot=\"description\">\n {description}\n </Text>\n )}\n {errorMessage && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"accent-danger\" slot=\"errorMessage\">\n {errorMessage}\n </Text>\n )}\n </>\n);\n\nconst _SingleValueSearchListFieldButton = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n clearLabel,\n label,\n hint,\n description,\n errorMessage,\n validationState,\n placeholder,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n onChange,\n setInternalValue,\n } = context;\n\n const value = onChange\n ? (context.value as T | undefined)\n : (context.internalValue as T | undefined);\n\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \" \" || e.key === \"Enter\") {\n setPopoverIsOpen(true);\n } else if (e.key === \"Backspace\" || e.key === \"Escape\") {\n onChange?.(undefined);\n setInternalValue(undefined);\n }\n };\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isFocused,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-1 px-0 py-0\",\n }),\n )}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n ref={ref}\n >\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"flex h-full w-full flex-grow items-center gap-3 text-start outline-none\",\n }),\n )}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onKeyDown={handleKeyDown}\n >\n {startSlot}\n <div className=\"grow\">\n {value ? (\n (value?.[itemLabelKey] as unknown as string)\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n {endSlot}\n </AriaButton>\n {value && (\n <Button\n variant=\"ghost\"\n isDisabled={isDisabled}\n size={size}\n tooltip={clearLabel ?? \"Clear\"}\n onPress={() => {\n setInternalValue(undefined);\n onChange?.(undefined);\n }}\n excludeFromTabOrder\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n )}\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"h-full flex-grow outline-none\",\n }),\n )}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onKeyDown={handleKeyDown}\n excludeFromTabOrder\n >\n <SvgIcon name=\"chevron-down\" className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\n\nconst SingleValueSearchListFieldButton = fixedForwardRef(_SingleValueSearchListFieldButton);\n\nconst SingleValueSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n // In this case we are sure that onChange will receive a single value because selectionMode is single.\n // We cast the onChange prop to a function that receives a single value.\n const onChangeHandler = onChange as (value?: T) => void | undefined;\n const internalValue = context?.internalValue as T | undefined;\n const value = context?.value as T | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n\n return (\n <>\n <SingleValueSearchListFieldButton<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n nullable\n onChange={(value?: T) => {\n if (value) {\n onChangeHandler?.(value);\n setInternalValue(value);\n setPopoverIsOpen(false);\n }\n }}\n value={(onChange ? value : internalValue) ?? \"\"}\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length && !showSpinner) ||\n (allowCustomValue && queriedFilteredItemsLength === 0 && !showSpinner) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n {showSpinner ? (\n <div className=\"flex h-40 w-full items-center justify-center\">\n <Spinner size=\"medium\" />\n </div>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n\nconst _MultipleValuesSearchListFieldInput = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n label,\n hint,\n description,\n errorMessage,\n validationState,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n itemIdKey,\n setInternalValue,\n } = context;\n const addValueLabel = context.addValueLabel ?? \"Add value\";\n\n const value = context.internalValue as T[] | undefined;\n const onChange = context.onChange as (value?: T[]) => void | undefined;\n const [isHovered, setIsHovered] = useState(false);\n\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-2 px-2 py-1.5\",\n }),\n )}\n ref={ref}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {startSlot}\n {value && value.length ? (\n <TagGroup<T>\n itemIdKey={itemIdKey}\n itemLabelKey={itemLabelKey}\n label={label ?? context[\"aria-label\"]}\n isDisabled={isDisabled}\n value={value}\n onChange={(value) => {\n setInternalValue(value);\n onChange?.(value);\n }}\n />\n ) : null}\n {endSlot}\n {value?.length ? (\n <Button\n variant=\"ghost\"\n className=\"p-1.5\"\n size=\"small\"\n tooltip={addValueLabel}\n onPress={() => setPopoverIsOpen(true)}\n >\n <SvgIcon name=\"plus\" />\n </Button>\n ) : (\n <Button\n variant=\"ghost\"\n size=\"small\"\n className=\"text-sm\"\n endIcon={<SvgIcon name=\"plus\" />}\n onPress={() => setPopoverIsOpen(true)}\n >\n {addValueLabel}\n </Button>\n )}\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\nconst MultipleValuesSearchListFieldInput = fixedForwardRef(_MultipleValuesSearchListFieldInput);\n\nconst MultipleValuesSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n\n const onChangeHandler = onChange as (value?: T[]) => void | undefined;\n const internalValue = context.internalValue as T[] | undefined;\n const value = context.value as T[] | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n return (\n <>\n <MultipleValuesSearchListFieldInput<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n value={(onChange ? value : internalValue) ?? []}\n onChange={(value) => {\n onChangeHandler?.(value);\n setInternalValue(value);\n }}\n multiple\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n isLoading={isLoading}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length) ||\n (allowCustomValue && queriedFilteredItemsLength === 0) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n"],"names":["SearchListFieldContext","createContext","Provider","props","internalValue","setInternalValue","useState","popoverIsOpen","setPopoverIsOpen","jsx","useSearchListFieldContext","useContext","useFilterItemsOnQuery","itemLabelKey","onQueryChange","items","query","setQuery","contains","useFilter","filteredItems","useMemo","item","useEffect","SearchListField","selectionMode","searchListPropsResult","match","res","SearchListFieldInner","SearchItem","state","render","label","jsxs","SvgIcon","context","value","defaultValue","name","onChange","Fragment","Combobox","SingleValueSearchListField","MultipleValuesSearchListField","SearchInput","isLoading","startSlot","endSlot","clearLabel","fieldIsFocused","setFieldIsFocused","fieldIsHovered","setFieldIsHovered","timeReached","setTimeReached","sharedInputFieldWrapperStyles","twMerge","sharedInputFieldStyles","sharedInputStyles","e","Button","Spinner","SearchListFieldHeader","hint","isRequired","cx","Label","sharedInputlabelStyles","sharedInputHintStyles","SearchListFieldFooter","description","errorMessage","Text","_SingleValueSearchListFieldButton","_props","ref","validationState","placeholder","isDisabled","fullWidth","size","isFocused","setIsFocused","isHovered","setIsHovered","handleKeyDown","AriaButton","sharedInputSizeStyles","SingleValueSearchListFieldButton","fixedForwardRef","itemIdKey","renderItem","disabledItemIdKeys","allowCustomValue","searchInputClearLabel","searchInputEndSlot","searchInputStartSlot","allowCustomValueCreateLabel","onChangeHandler","inputRef","useRef","wrapperRef","direction","useLocale","queriedFilteredItemsLength","_a","showSpinner","useSpinDelay","Popover","isOpen","_b","listBoxStyles","active","selected","disabled","listBoxItemStyles","renderItemState","_MultipleValuesSearchListFieldInput","addValueLabel","TagGroup","MultipleValuesSearchListFieldInput"],"mappings":"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"}
package/dist/lyra23.js CHANGED
@@ -1,48 +1,49 @@
1
- import { j as e } from "./lyra52.js";
1
+ import { j as e } from "./lyra53.js";
2
2
  import { createContext as ne, useState as P, useRef as E, useContext as re, useMemo as ae, useEffect as _ } from "react";
3
- import { Button as W, Label as oe } from "./lyra51.js";
4
- import { match as ie } from "./lyra150.js";
3
+ import { Button as W, Label as oe } from "./lyra52.js";
4
+ import { match as ie } from "./lyra275.js";
5
5
  import "./lyra2.js";
6
- import { cx as ce } from "./lyra61.js";
7
- import "./lyra66.js";
8
- import { Text as k } from "./lyra41.js";
9
- import "./lyra70.js";
10
- import "./lyra71.js";
6
+ import { cx as ce } from "./lyra62.js";
11
7
  import "./lyra67.js";
12
- import { Button as D } from "./lyra8.js";
8
+ import { Text as k } from "./lyra42.js";
9
+ import "./lyra68.js";
13
10
  import "./lyra69.js";
11
+ import "./lyra70.js";
12
+ import { Button as D } from "./lyra8.js";
13
+ import "./lyra72.js";
14
14
  import "./lyra10.js";
15
15
  import "./lyra11.js";
16
- import "./lyra141.js";
16
+ import "./lyra147.js";
17
17
  import "./lyra24.js";
18
- import { SvgIcon as $ } from "./lyra37.js";
18
+ import { SvgIcon as $ } from "./lyra38.js";
19
19
  import "./lyra15.js";
20
20
  import "./lyra17.js";
21
21
  import "./lyra18.js";
22
22
  import { sharedInputFieldWrapperStyles as T, sharedInputFieldStyles as H, sharedInputSizeStyles as q, sharedInputStyles as ue, sharedInputlabelStyles as de, sharedInputHintStyles as me } from "./lyra19.js";
23
23
  import "./lyra20.js";
24
- import "./lyra142.js";
24
+ import "./lyra148.js";
25
25
  import "./lyra22.js";
26
26
  import "./lyra25.js";
27
27
  import "./lyra26.js";
28
+ import "./lyra27.js";
28
29
  import "./lyra73.js";
29
- import { Popover as A } from "./lyra28.js";
30
- import "./lyra30.js";
30
+ import { Popover as A } from "./lyra29.js";
31
+ import "./lyra31.js";
31
32
  import "./lyra149.js";
32
33
  import "./lyra75.js";
33
- import { Spinner as G } from "./lyra35.js";
34
- import "./lyra38.js";
35
- import "./lyra76.js";
36
- import { TagGroup as pe } from "./lyra40.js";
37
- import "./lyra78.js";
38
- import { useSpinDelay as he } from "./lyra46.js";
39
- import "./lyra47.js";
40
- import "./lyra56.js";
41
- import { fixedForwardRef as J } from "./lyra62.js";
42
- import { listBoxStyles as U, listBoxItemStyles as K } from "./lyra151.js";
43
- import { Combobox as w } from "./lyra152.js";
44
- import { twMerge as N } from "./lyra53.js";
45
- import { useLocale as X, useFilter as fe } from "./lyra50.js";
34
+ import { Spinner as G } from "./lyra36.js";
35
+ import "./lyra39.js";
36
+ import "./lyra77.js";
37
+ import { TagGroup as pe } from "./lyra41.js";
38
+ import "./lyra79.js";
39
+ import { useSpinDelay as he } from "./lyra47.js";
40
+ import "./lyra48.js";
41
+ import "./lyra57.js";
42
+ import { fixedForwardRef as J } from "./lyra63.js";
43
+ import { listBoxStyles as U, listBoxItemStyles as K } from "./lyra276.js";
44
+ import { Combobox as w } from "./lyra277.js";
45
+ import { twMerge as N } from "./lyra54.js";
46
+ import { useLocale as X, useFilter as fe } from "./lyra51.js";
46
47
  const Y = ne({}), xe = (s) => {
47
48
  const [l, t] = P(
48
49
  s.value ?? s.defaultValue
@@ -74,7 +75,7 @@ const Y = ne({}), xe = (s) => {
74
75
  query: i,
75
76
  setQuery: n
76
77
  };
77
- }, fs = (s) => {
78
+ }, xs = (s) => {
78
79
  const { selectionMode: l = "single" } = s, i = ie({ ...s, selectionMode: l }).returnType().with({ selectionMode: "single" }, (n) => ({
79
80
  ...n,
80
81
  value: n.value,
@@ -596,5 +597,5 @@ const Y = ne({}), xe = (s) => {
596
597
  ] });
597
598
  };
598
599
  export {
599
- fs as SearchListField
600
+ xs as SearchListField
600
601
  };
@@ -1 +1 @@
1
- {"version":3,"file":"lyra23.js","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n createContext,\n CSSProperties,\n ForwardedRef,\n Key,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useFilter } from \"react-aria\";\nimport { Button as AriaButton, Label } from \"react-aria-components\";\n\nimport { Combobox } from \"@headlessui/react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { match } from \"ts-pattern\";\n\nimport { useLocale, useSpinDelay } from \"../../..\";\nimport { cx, VariantProps } from \"../../../utils/class-variance-authority\";\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport { Button } from \"../../button\";\nimport { listBoxItemStyles, listBoxStyles } from \"../../list-box/list-box-styles2\";\nimport { Popover } from \"../../overlays\";\nimport { Spinner } from \"../../spinner\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { TagGroup } from \"../../tag\";\nimport { Text } from \"../../text\";\nimport {\n sharedInputFieldStyles,\n sharedInputFieldWrapperStyles,\n sharedInputHintStyles,\n sharedInputlabelStyles,\n sharedInputSizeStyles,\n sharedInputStyles,\n} from \"..\";\n\ntype SearchItemRenderPropArg = {\n active: boolean;\n selected: boolean;\n disabled: boolean;\n};\n\ntype SearchListFieldBaseProps<T extends object> = {\n addValueLabel?: string;\n allowCustomValue?: boolean;\n allowCustomValueCreateLabel?: (query: string) => string | string;\n \"aria-label\"?: string;\n clearLabel?: string;\n description?: string;\n name?: string;\n disabledItemIdKeys?: Key[];\n endSlot?: JSX.Element;\n errorMessage?: string;\n fullWidth?: boolean;\n hint?: string;\n initiallyOpen?: boolean;\n isDisabled?: boolean;\n isRequired?: boolean;\n itemIdKey: keyof T;\n itemLabelKey: keyof T;\n items: T[];\n isLoading?: boolean;\n label?: string;\n onQueryChange?: (query?: string) => void;\n placeholder?: string;\n renderItem?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n searchInputClearLabel?: string;\n searchInputEndSlot?: JSX.Element;\n searchInputStartSlot?: JSX.Element;\n size?: VariantProps<typeof sharedInputFieldStyles>[\"size\"];\n startSlot?: JSX.Element;\n validationState?: \"valid\" | \"invalid\";\n} & (\n | {\n defaultValue?: T;\n onChange?: (value?: T) => void;\n selectionMode: \"single\";\n value?: T;\n }\n | {\n defaultValue?: T[];\n name?: string;\n onChange?: (value?: T[]) => void;\n selectionMode: \"multiple\";\n value?: T[];\n }\n);\n\n// type SearchListFieldSingleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\n// type SearchListFieldMultipleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\nexport type SearchListFieldProps<T extends object> = SearchListFieldBaseProps<T>;\n// | SearchListFieldSingleProps<T>\n// | SearchListFieldMultipleProps<T>;\n\ntype SearchListFieldContextProps<T extends object> = SearchListFieldProps<T> & {\n popoverIsOpen: boolean;\n setPopoverIsOpen: (isOpen: boolean) => void;\n internalValue?: T | T[];\n setInternalValue: (value?: T | T[]) => void;\n};\n\nconst SearchListFieldContext = createContext({} as SearchListFieldContextProps<any>);\n\nconst Provider = <T extends object>(props: SearchListFieldProps<T> & { children: ReactNode }) => {\n const [internalValue, setInternalValue] = useState<T | T[] | undefined>(\n props.value ?? props.defaultValue,\n );\n const [popoverIsOpen, setPopoverIsOpen] = useState(props.initiallyOpen ?? false);\n\n return (\n <SearchListFieldContext.Provider\n value={{\n ...props,\n popoverIsOpen,\n setPopoverIsOpen,\n internalValue,\n setInternalValue,\n }}\n >\n {props.children}\n </SearchListFieldContext.Provider>\n );\n};\n\nconst useSearchListFieldContext = <T extends object>() => {\n const context = useContext(SearchListFieldContext) as SearchListFieldContextProps<T>;\n return context;\n};\n\nconst useFilterItemsOnQuery = <T extends object>() => {\n const { itemLabelKey, onQueryChange, items /* listToFilterOn */ } =\n useSearchListFieldContext<T>();\n const [query, setQuery] = useState<string>(\"\");\n const { contains } = useFilter({ sensitivity: \"base\" });\n\n const filteredItems = useMemo(() => {\n if (onQueryChange) {\n return items;\n } else {\n return items.filter((item) => {\n return contains(item[itemLabelKey] as string, query ?? \"\");\n });\n }\n }, [contains, itemLabelKey, items, onQueryChange, query]);\n\n useEffect(() => {\n if (onQueryChange) {\n onQueryChange?.(query);\n }\n // onQueryChange should not be added to the dependencies, it will cause a rerender loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return {\n filteredItems,\n query,\n setQuery,\n };\n};\n\nexport const SearchListField = <T extends object>(props: SearchListFieldProps<T>) => {\n const { selectionMode = \"single\" } = props;\n\n const searchListProps = match({ ...props, selectionMode })\n .returnType<SearchListFieldProps<T>>()\n .with({ selectionMode: \"single\" }, (res) => ({\n ...res,\n value: res.value as T | undefined,\n defaultValue: res.defaultValue as T | undefined,\n onChange: res.onChange as (value?: T) => void | undefined,\n }))\n .with({ selectionMode: \"multiple\" }, (res) => ({\n ...res,\n value: res.value as T[] | undefined,\n defaultValue: res.defaultValue as T[] | undefined,\n onChange: res.onChange as (value?: T[]) => void | undefined,\n }));\n\n const searchListPropsResult = searchListProps.run();\n\n return (\n <Provider {...searchListPropsResult}>\n <SearchListFieldInner<T> />\n </Provider>\n );\n};\n\ntype SearchItemProps<T extends object> = {\n item: T;\n state: SearchItemRenderPropArg;\n render?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n};\nconst SearchItem = <T extends object>({ item, state, render }: SearchItemProps<T>) => {\n const { itemLabelKey } = useSearchListFieldContext<T>();\n const label = item?.[itemLabelKey] as string;\n if (render) {\n return render(item, state);\n }\n return (\n <div className=\"flex items-center gap-1\">\n {state.selected ? (\n <SvgIcon name=\"checkmark\" className=\"h-4 w-4\" />\n ) : (\n <div className=\"h-4 w-4\" />\n )}\n {label}\n </div>\n );\n};\n\nconst SearchListFieldInner = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const { internalValue, value, defaultValue, name, selectionMode, onChange } = context;\n\n return (\n <>\n <Combobox\n name={name}\n value={(onChange ? value : internalValue) ?? \"\"}\n defaultValue={defaultValue}\n multiple={(selectionMode === \"multiple\") as any}\n />\n {selectionMode === \"single\" ? <SingleValueSearchListField<T> /> : null}\n {selectionMode === \"multiple\" ? <MultipleValuesSearchListField<T> /> : null}\n </>\n );\n};\n\ntype SearchInputProps = {\n query?: string;\n setQuery: (value: string) => void;\n isLoading?: boolean;\n onQueryChange?: (query?: string) => void;\n startSlot?: JSX.Element;\n endSlot?: JSX.Element;\n clearLabel?: string;\n};\n\nconst SearchInput = ({\n query,\n setQuery,\n onQueryChange,\n isLoading,\n startSlot,\n endSlot,\n clearLabel = \"Clear\",\n}: SearchInputProps) => {\n const [fieldIsFocused, setFieldIsFocused] = useState(false);\n const [fieldIsHovered, setFieldIsHovered] = useState(false);\n const [timeReached, setTimeReached] = useState(false);\n // This workaround ensures that we wait for the popover to finish rendering before focusing on the input field.\n // .It prevents the page from scrolling to the bottom, although the exact reason for this behavior is currently unclear.\n useEffect(() => {\n setTimeout(() => {\n setTimeReached(true);\n }, 10);\n }, []);\n\n return (\n <div\n className={sharedInputFieldWrapperStyles({\n fullWidth: true,\n className: \"py-3 pe-[--list-box-item-padding-end] ps-[--list-box-item-padding-start]\",\n })}\n >\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth: true,\n isFocused: fieldIsFocused,\n isHovered: fieldIsHovered,\n className: \"px-2\",\n }),\n )}\n onPointerEnter={() => setFieldIsHovered(true)}\n onPointerLeave={() => setFieldIsHovered(false)}\n onMouseEnter={() => setFieldIsHovered(true)}\n onMouseLeave={() => setFieldIsHovered(false)}\n >\n <SvgIcon name=\"search\" className=\"-me-2 h-4 w-4\" />\n {startSlot}\n {timeReached ? (\n <Combobox.Input\n autoFocus\n className={sharedInputStyles({ size: \"small\" })}\n onChange={(e) => {\n setQuery(e.target.value as any);\n onQueryChange?.(e.target.value as any);\n }}\n value={query ?? \"\"}\n onFocus={() => setFieldIsFocused(true)}\n onBlur={() => setFieldIsFocused(false)}\n />\n ) : null}\n\n {query && query.length ? (\n <Button\n variant=\"ghost\"\n className=\"mx-2\"\n size=\"small\"\n tooltip={clearLabel}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n }}\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n ) : null}\n {endSlot}\n {isLoading ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\ntype SearchListFieldHeaderProps = {\n label?: string;\n hint?: string;\n isRequired?: boolean;\n};\n\nconst SearchListFieldHeader = ({ label, hint, isRequired }: SearchListFieldHeaderProps) => (\n <div className={cx(\"flex items-center gap-3\", label ? \"justify-between\" : \"justify-end\")}>\n {label ? (\n <Label\n className={sharedInputlabelStyles()}\n style={{ fontFamily: \"var(--input-label-font-family)\" }}\n >\n {label}\n {isRequired && <span className=\"text-danger\">{\" *\"}</span>}\n </Label>\n ) : null}\n {hint ? (\n <span\n className={sharedInputHintStyles()}\n style={{ fontFamily: \"var(--input-hint-font-family)\" }}\n >\n {hint}\n </span>\n ) : null}\n </div>\n);\n\ntype SearchListFieldFooterProps = {\n description?: string;\n errorMessage?: string;\n};\n\nconst SearchListFieldFooter = ({ description, errorMessage }: SearchListFieldFooterProps) => (\n <>\n {description && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"secondary\" slot=\"description\">\n {description}\n </Text>\n )}\n {errorMessage && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"accent-danger\" slot=\"errorMessage\">\n {errorMessage}\n </Text>\n )}\n </>\n);\n\nconst _SingleValueSearchListFieldButton = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n clearLabel,\n label,\n hint,\n description,\n errorMessage,\n validationState,\n placeholder,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n onChange,\n setInternalValue,\n } = context;\n\n const value = onChange\n ? (context.value as T | undefined)\n : (context.internalValue as T | undefined);\n\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \" \" || e.key === \"Enter\") {\n setPopoverIsOpen(true);\n } else if (e.key === \"Backspace\" || e.key === \"Escape\") {\n onChange?.(undefined);\n setInternalValue(undefined);\n }\n };\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isFocused,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-1 px-0 py-0\",\n }),\n )}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n ref={ref}\n >\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"flex h-full w-full flex-grow items-center gap-3 text-start outline-none\",\n }),\n )}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onKeyDown={handleKeyDown}\n >\n {startSlot}\n <div className=\"grow\">\n {value ? (\n (value?.[itemLabelKey] as unknown as string)\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n {endSlot}\n </AriaButton>\n {value && (\n <Button\n variant=\"ghost\"\n isDisabled={isDisabled}\n size={size}\n tooltip={clearLabel ?? \"Clear\"}\n onPress={() => {\n setInternalValue(undefined);\n onChange?.(undefined);\n }}\n excludeFromTabOrder\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n )}\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"h-full flex-grow outline-none\",\n }),\n )}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onKeyDown={handleKeyDown}\n excludeFromTabOrder\n >\n <SvgIcon name=\"chevron-down\" className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\n\nconst SingleValueSearchListFieldButton = fixedForwardRef(_SingleValueSearchListFieldButton);\n\nconst SingleValueSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n // In this case we are sure that onChange will receive a single value because selectionMode is single.\n // We cast the onChange prop to a function that receives a single value.\n const onChangeHandler = onChange as (value?: T) => void | undefined;\n const internalValue = context?.internalValue as T | undefined;\n const value = context?.value as T | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n\n return (\n <>\n <SingleValueSearchListFieldButton<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n nullable\n onChange={(value?: T) => {\n if (value) {\n onChangeHandler?.(value);\n setInternalValue(value);\n setPopoverIsOpen(false);\n }\n }}\n value={(onChange ? value : internalValue) ?? \"\"}\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length && !showSpinner) ||\n (allowCustomValue && queriedFilteredItemsLength === 0 && !showSpinner) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n {showSpinner ? (\n <div className=\"flex h-40 w-full items-center justify-center\">\n <Spinner size=\"medium\" />\n </div>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n\nconst _MultipleValuesSearchListFieldInput = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n label,\n hint,\n description,\n errorMessage,\n validationState,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n itemIdKey,\n setInternalValue,\n } = context;\n const addValueLabel = context.addValueLabel ?? \"Add value\";\n\n const value = context.internalValue as T[] | undefined;\n const onChange = context.onChange as (value?: T[]) => void | undefined;\n const [isHovered, setIsHovered] = useState(false);\n\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-2 px-2 py-1.5\",\n }),\n )}\n ref={ref}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {startSlot}\n {value && value.length ? (\n <TagGroup<T>\n itemIdKey={itemIdKey}\n itemLabelKey={itemLabelKey}\n label={label ?? context[\"aria-label\"]}\n isDisabled={isDisabled}\n value={value}\n onChange={(value) => {\n setInternalValue(value);\n onChange?.(value);\n }}\n />\n ) : null}\n {endSlot}\n {value?.length ? (\n <Button\n variant=\"ghost\"\n className=\"p-1.5\"\n size=\"small\"\n tooltip={addValueLabel}\n onPress={() => setPopoverIsOpen(true)}\n >\n <SvgIcon name=\"plus\" />\n </Button>\n ) : (\n <Button\n variant=\"ghost\"\n size=\"small\"\n className=\"text-sm\"\n endIcon={<SvgIcon name=\"plus\" />}\n onPress={() => setPopoverIsOpen(true)}\n >\n {addValueLabel}\n </Button>\n )}\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\nconst MultipleValuesSearchListFieldInput = fixedForwardRef(_MultipleValuesSearchListFieldInput);\n\nconst MultipleValuesSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n\n const onChangeHandler = onChange as (value?: T[]) => void | undefined;\n const internalValue = context.internalValue as T[] | undefined;\n const value = context.value as T[] | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n return (\n <>\n <MultipleValuesSearchListFieldInput<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n value={(onChange ? value : internalValue) ?? []}\n onChange={(value) => {\n onChangeHandler?.(value);\n setInternalValue(value);\n }}\n multiple\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n isLoading={isLoading}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length) ||\n (allowCustomValue && queriedFilteredItemsLength === 0) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n"],"names":["SearchListFieldContext","createContext","Provider","props","internalValue","setInternalValue","useState","popoverIsOpen","setPopoverIsOpen","jsx","useSearchListFieldContext","useContext","useFilterItemsOnQuery","itemLabelKey","onQueryChange","items","query","setQuery","contains","useFilter","filteredItems","useMemo","item","useEffect","SearchListField","selectionMode","searchListPropsResult","match","res","SearchListFieldInner","SearchItem","state","render","label","jsxs","SvgIcon","context","value","defaultValue","name","onChange","Fragment","Combobox","SingleValueSearchListField","MultipleValuesSearchListField","SearchInput","isLoading","startSlot","endSlot","clearLabel","fieldIsFocused","setFieldIsFocused","fieldIsHovered","setFieldIsHovered","timeReached","setTimeReached","sharedInputFieldWrapperStyles","twMerge","sharedInputFieldStyles","sharedInputStyles","e","Button","Spinner","SearchListFieldHeader","hint","isRequired","cx","Label","sharedInputlabelStyles","sharedInputHintStyles","SearchListFieldFooter","description","errorMessage","Text","_SingleValueSearchListFieldButton","_props","ref","validationState","placeholder","isDisabled","fullWidth","size","isFocused","setIsFocused","isHovered","setIsHovered","handleKeyDown","AriaButton","sharedInputSizeStyles","SingleValueSearchListFieldButton","fixedForwardRef","itemIdKey","renderItem","disabledItemIdKeys","allowCustomValue","searchInputClearLabel","searchInputEndSlot","searchInputStartSlot","allowCustomValueCreateLabel","onChangeHandler","inputRef","useRef","wrapperRef","direction","useLocale","queriedFilteredItemsLength","_a","showSpinner","useSpinDelay","Popover","isOpen","_b","listBoxStyles","active","selected","disabled","listBoxItemStyles","renderItemState","_MultipleValuesSearchListFieldInput","addValueLabel","TagGroup","MultipleValuesSearchListFieldInput"],"mappings":"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"}
1
+ {"version":3,"file":"lyra23.js","sources":["../src/components/inputs/search-list-field/search-list-field.tsx"],"sourcesContent":["import {\n createContext,\n CSSProperties,\n ForwardedRef,\n Key,\n ReactNode,\n useContext,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useFilter } from \"react-aria\";\nimport { Button as AriaButton, Label } from \"react-aria-components\";\n\nimport { Combobox } from \"@headlessui/react\";\nimport { twMerge } from \"tailwind-merge\";\nimport { match } from \"ts-pattern\";\n\nimport { useLocale, useSpinDelay } from \"../../..\";\nimport { cx, VariantProps } from \"../../../utils/class-variance-authority\";\nimport { fixedForwardRef } from \"../../../utils/helpers\";\nimport { Button } from \"../../button\";\nimport { listBoxItemStyles, listBoxStyles } from \"../../list-box/list-box-styles2\";\nimport { Popover } from \"../../overlays\";\nimport { Spinner } from \"../../spinner\";\nimport { SvgIcon } from \"../../svg-icon\";\nimport { TagGroup } from \"../../tag\";\nimport { Text } from \"../../text\";\nimport {\n sharedInputFieldStyles,\n sharedInputFieldWrapperStyles,\n sharedInputHintStyles,\n sharedInputlabelStyles,\n sharedInputSizeStyles,\n sharedInputStyles,\n} from \"..\";\n\ntype SearchItemRenderPropArg = {\n active: boolean;\n selected: boolean;\n disabled: boolean;\n};\n\ntype SearchListFieldBaseProps<T extends object> = {\n addValueLabel?: string;\n allowCustomValue?: boolean;\n allowCustomValueCreateLabel?: (query: string) => string | string;\n \"aria-label\"?: string;\n clearLabel?: string;\n description?: string;\n name?: string;\n disabledItemIdKeys?: Key[];\n endSlot?: JSX.Element;\n errorMessage?: string;\n fullWidth?: boolean;\n hint?: string;\n initiallyOpen?: boolean;\n isDisabled?: boolean;\n isRequired?: boolean;\n itemIdKey: keyof T;\n itemLabelKey: keyof T;\n items: T[];\n isLoading?: boolean;\n label?: string;\n onQueryChange?: (query?: string) => void;\n placeholder?: string;\n renderItem?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n searchInputClearLabel?: string;\n searchInputEndSlot?: JSX.Element;\n searchInputStartSlot?: JSX.Element;\n size?: VariantProps<typeof sharedInputFieldStyles>[\"size\"];\n startSlot?: JSX.Element;\n validationState?: \"valid\" | \"invalid\";\n} & (\n | {\n defaultValue?: T;\n onChange?: (value?: T) => void;\n selectionMode: \"single\";\n value?: T;\n }\n | {\n defaultValue?: T[];\n name?: string;\n onChange?: (value?: T[]) => void;\n selectionMode: \"multiple\";\n value?: T[];\n }\n);\n\n// type SearchListFieldSingleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\n// type SearchListFieldMultipleProps<T extends object> = SearchListFieldBaseProps<T> & {\n\n// };\n\nexport type SearchListFieldProps<T extends object> = SearchListFieldBaseProps<T>;\n// | SearchListFieldSingleProps<T>\n// | SearchListFieldMultipleProps<T>;\n\ntype SearchListFieldContextProps<T extends object> = SearchListFieldProps<T> & {\n popoverIsOpen: boolean;\n setPopoverIsOpen: (isOpen: boolean) => void;\n internalValue?: T | T[];\n setInternalValue: (value?: T | T[]) => void;\n};\n\nconst SearchListFieldContext = createContext({} as SearchListFieldContextProps<any>);\n\nconst Provider = <T extends object>(props: SearchListFieldProps<T> & { children: ReactNode }) => {\n const [internalValue, setInternalValue] = useState<T | T[] | undefined>(\n props.value ?? props.defaultValue,\n );\n const [popoverIsOpen, setPopoverIsOpen] = useState(props.initiallyOpen ?? false);\n\n return (\n <SearchListFieldContext.Provider\n value={{\n ...props,\n popoverIsOpen,\n setPopoverIsOpen,\n internalValue,\n setInternalValue,\n }}\n >\n {props.children}\n </SearchListFieldContext.Provider>\n );\n};\n\nconst useSearchListFieldContext = <T extends object>() => {\n const context = useContext(SearchListFieldContext) as SearchListFieldContextProps<T>;\n return context;\n};\n\nconst useFilterItemsOnQuery = <T extends object>() => {\n const { itemLabelKey, onQueryChange, items /* listToFilterOn */ } =\n useSearchListFieldContext<T>();\n const [query, setQuery] = useState<string>(\"\");\n const { contains } = useFilter({ sensitivity: \"base\" });\n\n const filteredItems = useMemo(() => {\n if (onQueryChange) {\n return items;\n } else {\n return items.filter((item) => {\n return contains(item[itemLabelKey] as string, query ?? \"\");\n });\n }\n }, [contains, itemLabelKey, items, onQueryChange, query]);\n\n useEffect(() => {\n if (onQueryChange) {\n onQueryChange?.(query);\n }\n // onQueryChange should not be added to the dependencies, it will cause a rerender loop.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [query]);\n\n return {\n filteredItems,\n query,\n setQuery,\n };\n};\n\nexport const SearchListField = <T extends object>(props: SearchListFieldProps<T>) => {\n const { selectionMode = \"single\" } = props;\n\n const searchListProps = match({ ...props, selectionMode })\n .returnType<SearchListFieldProps<T>>()\n .with({ selectionMode: \"single\" }, (res) => ({\n ...res,\n value: res.value as T | undefined,\n defaultValue: res.defaultValue as T | undefined,\n onChange: res.onChange as (value?: T) => void | undefined,\n }))\n .with({ selectionMode: \"multiple\" }, (res) => ({\n ...res,\n value: res.value as T[] | undefined,\n defaultValue: res.defaultValue as T[] | undefined,\n onChange: res.onChange as (value?: T[]) => void | undefined,\n }));\n\n const searchListPropsResult = searchListProps.run();\n\n return (\n <Provider {...searchListPropsResult}>\n <SearchListFieldInner<T> />\n </Provider>\n );\n};\n\ntype SearchItemProps<T extends object> = {\n item: T;\n state: SearchItemRenderPropArg;\n render?: (item: T, state: SearchItemRenderPropArg) => ReactNode;\n};\nconst SearchItem = <T extends object>({ item, state, render }: SearchItemProps<T>) => {\n const { itemLabelKey } = useSearchListFieldContext<T>();\n const label = item?.[itemLabelKey] as string;\n if (render) {\n return render(item, state);\n }\n return (\n <div className=\"flex items-center gap-1\">\n {state.selected ? (\n <SvgIcon name=\"checkmark\" className=\"h-4 w-4\" />\n ) : (\n <div className=\"h-4 w-4\" />\n )}\n {label}\n </div>\n );\n};\n\nconst SearchListFieldInner = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const { internalValue, value, defaultValue, name, selectionMode, onChange } = context;\n\n return (\n <>\n <Combobox\n name={name}\n value={(onChange ? value : internalValue) ?? \"\"}\n defaultValue={defaultValue}\n multiple={(selectionMode === \"multiple\") as any}\n />\n {selectionMode === \"single\" ? <SingleValueSearchListField<T> /> : null}\n {selectionMode === \"multiple\" ? <MultipleValuesSearchListField<T> /> : null}\n </>\n );\n};\n\ntype SearchInputProps = {\n query?: string;\n setQuery: (value: string) => void;\n isLoading?: boolean;\n onQueryChange?: (query?: string) => void;\n startSlot?: JSX.Element;\n endSlot?: JSX.Element;\n clearLabel?: string;\n};\n\nconst SearchInput = ({\n query,\n setQuery,\n onQueryChange,\n isLoading,\n startSlot,\n endSlot,\n clearLabel = \"Clear\",\n}: SearchInputProps) => {\n const [fieldIsFocused, setFieldIsFocused] = useState(false);\n const [fieldIsHovered, setFieldIsHovered] = useState(false);\n const [timeReached, setTimeReached] = useState(false);\n // This workaround ensures that we wait for the popover to finish rendering before focusing on the input field.\n // .It prevents the page from scrolling to the bottom, although the exact reason for this behavior is currently unclear.\n useEffect(() => {\n setTimeout(() => {\n setTimeReached(true);\n }, 10);\n }, []);\n\n return (\n <div\n className={sharedInputFieldWrapperStyles({\n fullWidth: true,\n className: \"py-3 pe-[--list-box-item-padding-end] ps-[--list-box-item-padding-start]\",\n })}\n >\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth: true,\n isFocused: fieldIsFocused,\n isHovered: fieldIsHovered,\n className: \"px-2\",\n }),\n )}\n onPointerEnter={() => setFieldIsHovered(true)}\n onPointerLeave={() => setFieldIsHovered(false)}\n onMouseEnter={() => setFieldIsHovered(true)}\n onMouseLeave={() => setFieldIsHovered(false)}\n >\n <SvgIcon name=\"search\" className=\"-me-2 h-4 w-4\" />\n {startSlot}\n {timeReached ? (\n <Combobox.Input\n autoFocus\n className={sharedInputStyles({ size: \"small\" })}\n onChange={(e) => {\n setQuery(e.target.value as any);\n onQueryChange?.(e.target.value as any);\n }}\n value={query ?? \"\"}\n onFocus={() => setFieldIsFocused(true)}\n onBlur={() => setFieldIsFocused(false)}\n />\n ) : null}\n\n {query && query.length ? (\n <Button\n variant=\"ghost\"\n className=\"mx-2\"\n size=\"small\"\n tooltip={clearLabel}\n excludeFromTabOrder\n onPress={() => {\n setQuery(\"\");\n }}\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n ) : null}\n {endSlot}\n {isLoading ? <Spinner className=\"mx-2\" size=\"small\" /> : null}\n </div>\n </div>\n );\n};\n\ntype SearchListFieldHeaderProps = {\n label?: string;\n hint?: string;\n isRequired?: boolean;\n};\n\nconst SearchListFieldHeader = ({ label, hint, isRequired }: SearchListFieldHeaderProps) => (\n <div className={cx(\"flex items-center gap-3\", label ? \"justify-between\" : \"justify-end\")}>\n {label ? (\n <Label\n className={sharedInputlabelStyles()}\n style={{ fontFamily: \"var(--input-label-font-family)\" }}\n >\n {label}\n {isRequired && <span className=\"text-danger\">{\" *\"}</span>}\n </Label>\n ) : null}\n {hint ? (\n <span\n className={sharedInputHintStyles()}\n style={{ fontFamily: \"var(--input-hint-font-family)\" }}\n >\n {hint}\n </span>\n ) : null}\n </div>\n);\n\ntype SearchListFieldFooterProps = {\n description?: string;\n errorMessage?: string;\n};\n\nconst SearchListFieldFooter = ({ description, errorMessage }: SearchListFieldFooterProps) => (\n <>\n {description && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"secondary\" slot=\"description\">\n {description}\n </Text>\n )}\n {errorMessage && (\n <Text className=\"ml-1 mt-1.5\" variant=\"body-small\" color=\"accent-danger\" slot=\"errorMessage\">\n {errorMessage}\n </Text>\n )}\n </>\n);\n\nconst _SingleValueSearchListFieldButton = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n clearLabel,\n label,\n hint,\n description,\n errorMessage,\n validationState,\n placeholder,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n onChange,\n setInternalValue,\n } = context;\n\n const value = onChange\n ? (context.value as T | undefined)\n : (context.internalValue as T | undefined);\n\n const [isFocused, setIsFocused] = useState(false);\n const [isHovered, setIsHovered] = useState(false);\n\n const handleKeyDown = (e: React.KeyboardEvent<HTMLButtonElement>) => {\n if (e.key === \"ArrowDown\" || e.key === \" \" || e.key === \"Enter\") {\n setPopoverIsOpen(true);\n } else if (e.key === \"Backspace\" || e.key === \"Escape\") {\n onChange?.(undefined);\n setInternalValue(undefined);\n }\n };\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isFocused,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-1 px-0 py-0\",\n }),\n )}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n ref={ref}\n >\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"flex h-full w-full flex-grow items-center gap-3 text-start outline-none\",\n }),\n )}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onKeyDown={handleKeyDown}\n >\n {startSlot}\n <div className=\"grow\">\n {value ? (\n (value?.[itemLabelKey] as unknown as string)\n ) : (\n <Text color=\"secondary\">{placeholder}</Text>\n )}\n </div>\n {endSlot}\n </AriaButton>\n {value && (\n <Button\n variant=\"ghost\"\n isDisabled={isDisabled}\n size={size}\n tooltip={clearLabel ?? \"Clear\"}\n onPress={() => {\n setInternalValue(undefined);\n onChange?.(undefined);\n }}\n excludeFromTabOrder\n >\n <SvgIcon name=\"cross\" className=\"h-4 w-4\" />\n </Button>\n )}\n <AriaButton\n isDisabled={isDisabled}\n className={twMerge(\n sharedInputSizeStyles({\n size: size ?? \"medium\",\n className: \"h-full flex-grow outline-none\",\n }),\n )}\n onPress={() => {\n setPopoverIsOpen(true);\n }}\n onFocus={() => {\n setIsFocused(true);\n }}\n onBlur={() => {\n setIsFocused(false);\n }}\n onKeyDown={handleKeyDown}\n excludeFromTabOrder\n >\n <SvgIcon name=\"chevron-down\" className=\"h-4 w-4\" />\n </AriaButton>\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\n\nconst SingleValueSearchListFieldButton = fixedForwardRef(_SingleValueSearchListFieldButton);\n\nconst SingleValueSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n // In this case we are sure that onChange will receive a single value because selectionMode is single.\n // We cast the onChange prop to a function that receives a single value.\n const onChangeHandler = onChange as (value?: T) => void | undefined;\n const internalValue = context?.internalValue as T | undefined;\n const value = context?.value as T | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n const showSpinner = useSpinDelay(isLoading ?? false, { delay: 500, minDuration: 200 });\n\n return (\n <>\n <SingleValueSearchListFieldButton<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n nullable\n onChange={(value?: T) => {\n if (value) {\n onChangeHandler?.(value);\n setInternalValue(value);\n setPopoverIsOpen(false);\n }\n }}\n value={(onChange ? value : internalValue) ?? \"\"}\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length && !showSpinner) ||\n (allowCustomValue && queriedFilteredItemsLength === 0 && !showSpinner) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n {showSpinner ? (\n <div className=\"flex h-40 w-full items-center justify-center\">\n <Spinner size=\"medium\" />\n </div>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n\nconst _MultipleValuesSearchListFieldInput = <T extends object>(\n _props: object,\n ref: ForwardedRef<HTMLDivElement>,\n) => {\n const context = useSearchListFieldContext<T>();\n const {\n label,\n hint,\n description,\n errorMessage,\n validationState,\n isRequired,\n isDisabled,\n fullWidth,\n setPopoverIsOpen,\n size,\n startSlot,\n endSlot,\n itemLabelKey,\n itemIdKey,\n setInternalValue,\n } = context;\n const addValueLabel = context.addValueLabel ?? \"Add value\";\n\n const value = context.internalValue as T[] | undefined;\n const onChange = context.onChange as (value?: T[]) => void | undefined;\n const [isHovered, setIsHovered] = useState(false);\n\n return (\n <div className={twMerge(sharedInputFieldWrapperStyles({ fullWidth }))}>\n <SearchListFieldHeader hint={hint} isRequired={isRequired} label={label} />\n <div\n className={twMerge(\n sharedInputFieldStyles({\n fullWidth,\n isDisabled,\n isHovered,\n size: size ?? \"medium\",\n validationState,\n className: \"gap-2 px-2 py-1.5\",\n }),\n )}\n ref={ref}\n onPointerEnter={() => setIsHovered(true)}\n onPointerLeave={() => setIsHovered(false)}\n onMouseEnter={() => setIsHovered(true)}\n onMouseLeave={() => setIsHovered(false)}\n >\n {startSlot}\n {value && value.length ? (\n <TagGroup<T>\n itemIdKey={itemIdKey}\n itemLabelKey={itemLabelKey}\n label={label ?? context[\"aria-label\"]}\n isDisabled={isDisabled}\n value={value}\n onChange={(value) => {\n setInternalValue(value);\n onChange?.(value);\n }}\n />\n ) : null}\n {endSlot}\n {value?.length ? (\n <Button\n variant=\"ghost\"\n className=\"p-1.5\"\n size=\"small\"\n tooltip={addValueLabel}\n onPress={() => setPopoverIsOpen(true)}\n >\n <SvgIcon name=\"plus\" />\n </Button>\n ) : (\n <Button\n variant=\"ghost\"\n size=\"small\"\n className=\"text-sm\"\n endIcon={<SvgIcon name=\"plus\" />}\n onPress={() => setPopoverIsOpen(true)}\n >\n {addValueLabel}\n </Button>\n )}\n </div>\n <SearchListFieldFooter description={description} errorMessage={errorMessage} />\n </div>\n );\n};\nconst MultipleValuesSearchListFieldInput = fixedForwardRef(_MultipleValuesSearchListFieldInput);\n\nconst MultipleValuesSearchListField = <T extends object>() => {\n const context = useSearchListFieldContext<T>();\n const {\n itemLabelKey,\n itemIdKey,\n renderItem,\n disabledItemIdKeys,\n allowCustomValue,\n onChange,\n popoverIsOpen,\n setPopoverIsOpen,\n setInternalValue,\n searchInputClearLabel = \"Clear\",\n isLoading,\n searchInputEndSlot,\n searchInputStartSlot,\n allowCustomValueCreateLabel = (query) => `Create \"${query}\"`,\n } = context;\n\n const onChangeHandler = onChange as (value?: T[]) => void | undefined;\n const internalValue = context.internalValue as T[] | undefined;\n const value = context.value as T[] | undefined;\n\n const { filteredItems, query, setQuery } = useFilterItemsOnQuery<T>();\n\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const { direction } = useLocale();\n const queriedFilteredItemsLength = filteredItems?.filter(\n (item) => item?.[itemLabelKey] == query,\n )?.length;\n\n return (\n <>\n <MultipleValuesSearchListFieldInput<T> ref={wrapperRef} />\n <Popover\n className=\"pb-2\"\n isOpen={popoverIsOpen}\n onOpenChange={(isOpen) => {\n setPopoverIsOpen(isOpen);\n if (isOpen) {\n inputRef.current?.focus();\n }\n }}\n triggerRef={wrapperRef}\n showPopoverInBottomDrawerOnSmallScreens\n style={\n { \"--trigger-width\": wrapperRef.current?.offsetWidth + \"px\", direction } as CSSProperties\n }\n >\n <Combobox\n value={(onChange ? value : internalValue) ?? []}\n onChange={(value) => {\n onChangeHandler?.(value);\n setInternalValue(value);\n }}\n multiple\n >\n <SearchInput\n query={query}\n setQuery={setQuery}\n isLoading={isLoading}\n clearLabel={searchInputClearLabel}\n startSlot={searchInputStartSlot}\n endSlot={searchInputEndSlot}\n />\n {(filteredItems && filteredItems?.length) ||\n (allowCustomValue && queriedFilteredItemsLength === 0) ? (\n <Combobox.Options static className={listBoxStyles()}>\n {filteredItems.map((item) => (\n <Combobox.Option\n key={item[itemIdKey] as Key}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n value={item}\n disabled={disabledItemIdKeys?.includes(item[itemIdKey] as Key)}\n >\n {(renderItemState) => (\n <SearchItem item={item} state={renderItemState} render={renderItem} />\n )}\n </Combobox.Option>\n ))}\n {query && query.length && allowCustomValue && queriedFilteredItemsLength === 0 ? (\n <Combobox.Option\n value={{\n [itemIdKey]: query,\n [itemLabelKey]: query,\n }}\n className={({ active, selected, disabled }) =>\n twMerge(\n listBoxItemStyles({\n active,\n disabled,\n selected,\n }),\n )\n }\n >\n <div className=\"flex items-center gap-1\">\n <div className=\"h-4 w-4\" />\n {allowCustomValueCreateLabel(query)}\n </div>\n </Combobox.Option>\n ) : null}\n </Combobox.Options>\n ) : null}\n </Combobox>\n </Popover>\n </>\n );\n};\n"],"names":["SearchListFieldContext","createContext","Provider","props","internalValue","setInternalValue","useState","popoverIsOpen","setPopoverIsOpen","jsx","useSearchListFieldContext","useContext","useFilterItemsOnQuery","itemLabelKey","onQueryChange","items","query","setQuery","contains","useFilter","filteredItems","useMemo","item","useEffect","SearchListField","selectionMode","searchListPropsResult","match","res","SearchListFieldInner","SearchItem","state","render","label","jsxs","SvgIcon","context","value","defaultValue","name","onChange","Fragment","Combobox","SingleValueSearchListField","MultipleValuesSearchListField","SearchInput","isLoading","startSlot","endSlot","clearLabel","fieldIsFocused","setFieldIsFocused","fieldIsHovered","setFieldIsHovered","timeReached","setTimeReached","sharedInputFieldWrapperStyles","twMerge","sharedInputFieldStyles","sharedInputStyles","e","Button","Spinner","SearchListFieldHeader","hint","isRequired","cx","Label","sharedInputlabelStyles","sharedInputHintStyles","SearchListFieldFooter","description","errorMessage","Text","_SingleValueSearchListFieldButton","_props","ref","validationState","placeholder","isDisabled","fullWidth","size","isFocused","setIsFocused","isHovered","setIsHovered","handleKeyDown","AriaButton","sharedInputSizeStyles","SingleValueSearchListFieldButton","fixedForwardRef","itemIdKey","renderItem","disabledItemIdKeys","allowCustomValue","searchInputClearLabel","searchInputEndSlot","searchInputStartSlot","allowCustomValueCreateLabel","onChangeHandler","inputRef","useRef","wrapperRef","direction","useLocale","queriedFilteredItemsLength","_a","showSpinner","useSpinDelay","Popover","isOpen","_b","listBoxStyles","active","selected","disabled","listBoxItemStyles","renderItemState","_MultipleValuesSearchListFieldInput","addValueLabel","TagGroup","MultipleValuesSearchListFieldInput"],"mappings":"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"}
package/dist/lyra24.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./lyra52.cjs"),h=require("react"),n=require("./lyra51.cjs"),v=require("./lyra61.cjs"),S=require("./lyra62.cjs"),E=require("./lyra41.cjs");require("./lyra70.cjs");const l=require("./lyra19.cjs");require("./lyra72.cjs");const b=require("./lyra53.cjs"),p=({label:a,description:x,errorMessage:d,className:q,fullWidth:I=!1,isDisabled:i=!1,isRequired:u=!1,validationState:m,startSlot:f,endSlot:j,size:N,hint:y,inputRef:R,...e},o)=>{[e,o]=n.useContextProps(e,o,n.TextFieldContext);const[T,F]=h.useState(!1),[g,r]=h.useState(!1);return s.jsxRuntimeExports.jsxs(n.TextField,{className:l.sharedInputFieldWrapperStyles({className:q}),isDisabled:i,isRequired:u,validationState:m,...e,onFocus:c=>{var t;F(!0),(t=e.onFocus)==null||t.call(e,c)},onBlur:c=>{var t;F(!1),(t=e.onBlur)==null||t.call(e,c)},ref:o,children:[s.jsxRuntimeExports.jsxs("div",{className:v.cx("flex items-center gap-3",a?"justify-between":"justify-end"),children:[a?s.jsxRuntimeExports.jsxs(n.Label,{className:l.sharedInputlabelStyles(),style:{fontFamily:"var(--input-label-font-family)"},children:[a,u&&s.jsxRuntimeExports.jsx("span",{className:"text-danger",children:" *"})]}):null,y?s.jsxRuntimeExports.jsx("span",{className:l.sharedInputHintStyles(),style:{fontFamily:"var(--input-hint-font-family)"},children:y}):null]}),s.jsxRuntimeExports.jsxs("div",{className:b.twMerge(l.sharedInputFieldStyles({fullWidth:I,isFocused:T,isHovered:g,isDisabled:i,validationState:m})),onPointerEnter:()=>r(!0),onPointerLeave:()=>r(!1),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[f,s.jsxRuntimeExports.jsx(n.Input,{className:l.sharedInputStyles({size:N,className:v.cx(!!f&&"ps-2",!!j&&"pe-2")}),ref:R,required:u,disabled:i,style:{fontFamily:"var(--input-font-family)"}}),j]}),x&&s.jsxRuntimeExports.jsx(E.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"secondary",slot:"description",children:x}),d&&s.jsxRuntimeExports.jsx(E.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"accent-danger",slot:"errorMessage",children:d})]})},M=S.fixedForwardRef(p);exports.TextField=M;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("./lyra53.cjs"),h=require("react"),n=require("./lyra52.cjs"),v=require("./lyra62.cjs"),S=require("./lyra63.cjs"),E=require("./lyra42.cjs");require("./lyra68.cjs");const l=require("./lyra19.cjs");require("./lyra76.cjs");const b=require("./lyra54.cjs"),p=({label:a,description:x,errorMessage:d,className:q,fullWidth:I=!1,isDisabled:i=!1,isRequired:u=!1,validationState:m,startSlot:f,endSlot:j,size:N,hint:y,inputRef:R,...e},o)=>{[e,o]=n.useContextProps(e,o,n.TextFieldContext);const[T,F]=h.useState(!1),[g,r]=h.useState(!1);return s.jsxRuntimeExports.jsxs(n.TextField,{className:l.sharedInputFieldWrapperStyles({className:q}),isDisabled:i,isRequired:u,validationState:m,...e,onFocus:c=>{var t;F(!0),(t=e.onFocus)==null||t.call(e,c)},onBlur:c=>{var t;F(!1),(t=e.onBlur)==null||t.call(e,c)},ref:o,children:[s.jsxRuntimeExports.jsxs("div",{className:v.cx("flex items-center gap-3",a?"justify-between":"justify-end"),children:[a?s.jsxRuntimeExports.jsxs(n.Label,{className:l.sharedInputlabelStyles(),style:{fontFamily:"var(--input-label-font-family)"},children:[a,u&&s.jsxRuntimeExports.jsx("span",{className:"text-danger",children:" *"})]}):null,y?s.jsxRuntimeExports.jsx("span",{className:l.sharedInputHintStyles(),style:{fontFamily:"var(--input-hint-font-family)"},children:y}):null]}),s.jsxRuntimeExports.jsxs("div",{className:b.twMerge(l.sharedInputFieldStyles({fullWidth:I,isFocused:T,isHovered:g,isDisabled:i,validationState:m})),onPointerEnter:()=>r(!0),onPointerLeave:()=>r(!1),onMouseEnter:()=>r(!0),onMouseLeave:()=>r(!1),children:[f,s.jsxRuntimeExports.jsx(n.Input,{className:l.sharedInputStyles({size:N,className:v.cx(!!f&&"ps-2",!!j&&"pe-2")}),ref:R,required:u,disabled:i,style:{fontFamily:"var(--input-font-family)"}}),j]}),x&&s.jsxRuntimeExports.jsx(E.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"secondary",slot:"description",children:x}),d&&s.jsxRuntimeExports.jsx(E.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"accent-danger",slot:"errorMessage",children:d})]})},M=S.fixedForwardRef(p);exports.TextField=M;
package/dist/lyra24.js CHANGED
@@ -1,13 +1,13 @@
1
- import { j as s } from "./lyra52.js";
1
+ import { j as s } from "./lyra53.js";
2
2
  import { useState as F } from "react";
3
- import { useContextProps as T, TextField as g, Label as H, Input as w, TextFieldContext as E } from "./lyra51.js";
4
- import { cx as $ } from "./lyra61.js";
5
- import { fixedForwardRef as L } from "./lyra62.js";
6
- import { Text as b } from "./lyra41.js";
7
- import "./lyra70.js";
3
+ import { useContextProps as T, TextField as g, Label as H, Input as w, TextFieldContext as E } from "./lyra52.js";
4
+ import { cx as $ } from "./lyra62.js";
5
+ import { fixedForwardRef as L } from "./lyra63.js";
6
+ import { Text as b } from "./lyra42.js";
7
+ import "./lyra68.js";
8
8
  import { sharedInputFieldWrapperStyles as M, sharedInputlabelStyles as P, sharedInputHintStyles as S, sharedInputFieldStyles as B, sharedInputStyles as C } from "./lyra19.js";
9
- import "./lyra72.js";
10
- import { twMerge as W } from "./lyra53.js";
9
+ import "./lyra76.js";
10
+ import { twMerge as W } from "./lyra54.js";
11
11
  const _ = ({
12
12
  label: l,
13
13
  description: f,
package/dist/lyra25.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra52.cjs"),F=require("react"),r=require("./lyra51.cjs"),h=require("./lyra61.cjs"),I=require("./lyra62.cjs"),p=require("./lyra41.cjs");require("./lyra70.cjs");const i=require("./lyra19.cjs");require("./lyra72.cjs");require("./lyra153.cjs");const b=require("./lyra53.cjs"),S=({label:a,description:u,errorMessage:o,className:E,fullWidth:d=!1,isDisabled:c=!1,isRequired:m=!1,validationState:x,startSlot:f,endSlot:j,size:v,hint:y,...s},q)=>{const[N,g]=F.useState(!1),[R,l]=F.useState(!1);return e.jsxRuntimeExports.jsxs(r.TimeField,{className:i.sharedInputFieldWrapperStyles({className:E,fullWidth:d}),isDisabled:c,isRequired:m,validationState:x,onFocus:t=>{var n;g(!0),(n=s.onFocus)==null||n.call(s,t)},onBlur:t=>{var n;g(!1),(n=s.onBlur)==null||n.call(s,t)},...s,ref:q,children:[e.jsxRuntimeExports.jsxs("div",{className:h.cx("flex items-center gap-3",a?"justify-between":"justify-end"),children:[a?e.jsxRuntimeExports.jsxs(r.Label,{className:i.sharedInputlabelStyles(),style:{fontFamily:"var(--input-label-font-family)"},children:[a,m&&e.jsxRuntimeExports.jsx("span",{className:"text-danger",children:" *"})]}):null,y?e.jsxRuntimeExports.jsx("span",{className:i.sharedInputHintStyles(),style:{fontFamily:"var(--input-hint-font-family)"},children:y}):null]}),e.jsxRuntimeExports.jsxs("div",{className:b.twMerge(i.sharedInputFieldStyles({fullWidth:d,isFocused:N,isHovered:R,isDisabled:c,validationState:x})),onPointerEnter:()=>l(!0),onPointerLeave:()=>l(!1),onMouseEnter:()=>l(!0),onMouseLeave:()=>l(!1),children:[f,e.jsxRuntimeExports.jsx(r.DateInput,{className:i.sharedInputStyles({size:v,className:h.cx(!!f&&"ps-2",!!j&&"pe-2","flex")}),style:{fontFamily:"var(--input-font-family)"},children:t=>e.jsxRuntimeExports.jsx(r.DateSegment,{className:"rounded-[--time-field-segement-radius] px-[--time-field-segment-padding-x] py-[--time-field-segment-padding-y] outline-none focus:bg-[--time-field-segment-focused-bg] focus:text-[--time-field-segment-focused-text]",segment:t})}),j]}),u&&e.jsxRuntimeExports.jsx(p.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"secondary",slot:"description",children:u}),o&&e.jsxRuntimeExports.jsx(p.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"accent-danger",slot:"errorMessage",children:o})]})},T=I.fixedForwardRef(S);exports.TimeField=T;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./lyra53.cjs"),h=require("react"),o=require("./lyra52.cjs"),F=require("./lyra62.cjs"),g=require("./lyra63.cjs"),v=require("./lyra42.cjs");require("./lyra68.cjs");const r=require("./lyra19.cjs");require("./lyra76.cjs");const S=require("./lyra54.cjs"),b=({label:l,description:u,errorMessage:x,className:E,fullWidth:N=!1,isDisabled:a=!1,isRequired:i=!1,validationState:d,startSlot:m,endSlot:j,size:p,hint:f,rows:R=3,...s},q)=>{const[I,y]=h.useState(!1),[T,n]=h.useState(!1);return e.jsxRuntimeExports.jsxs(o.TextField,{className:r.sharedInputFieldWrapperStyles({className:E}),isDisabled:a,isRequired:i,validationState:d,...s,onFocus:c=>{var t;y(!0),(t=s.onFocus)==null||t.call(s,c)},onBlur:c=>{var t;y(!1),(t=s.onBlur)==null||t.call(s,c)},ref:q,children:[e.jsxRuntimeExports.jsxs("div",{className:F.cx("flex items-center gap-3",l?"justify-between":"justify-end"),children:[l?e.jsxRuntimeExports.jsxs(o.Label,{className:r.sharedInputlabelStyles(),style:{fontFamily:"var(--input-label-font-family)"},children:[l,i&&e.jsxRuntimeExports.jsx("span",{className:"text-danger",children:" *"})]}):null,f?e.jsxRuntimeExports.jsx("span",{className:r.sharedInputHintStyles(),style:{fontFamily:"var(--input-hint-font-family)"},children:f}):null]}),e.jsxRuntimeExports.jsxs("div",{className:S.twMerge(r.sharedInputFieldStyles({fullWidth:N,isFocused:I,isHovered:T,isDisabled:a,validationState:d,className:"items-start"})),onPointerEnter:()=>n(!0),onPointerLeave:()=>n(!1),onMouseEnter:()=>n(!0),onMouseLeave:()=>n(!1),children:[e.jsxRuntimeExports.jsx("div",{className:"pt-4",children:m}),e.jsxRuntimeExports.jsx(o.TextArea,{className:r.sharedInputStyles({size:p,className:F.cx(!!m&&"ps-2",!!j&&"pe-2")}),rows:R,required:i,disabled:a,style:{fontFamily:"var(--input-font-family)"}}),e.jsxRuntimeExports.jsx("div",{className:"pt-4",children:j})]}),u&&e.jsxRuntimeExports.jsx(v.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"secondary",slot:"description",children:u}),x&&e.jsxRuntimeExports.jsx(v.Text,{className:"ml-1 mt-1.5",variant:"body-small",color:"accent-danger",slot:"errorMessage",children:x})]})},M=g.fixedForwardRef(b);exports.TextAreaField=M;