@zentauri-ui/zentauri-components 2.0.0 → 2.1.1

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 (750) hide show
  1. package/CHANGELOG.md +18 -11
  2. package/README.md +12 -11
  3. package/cli/cli.integration.test.ts +52 -0
  4. package/cli/index.mjs +288 -0
  5. package/dist/chunk-22FJROCI.js +70 -0
  6. package/dist/chunk-22FJROCI.js.map +1 -0
  7. package/dist/chunk-2NQKFH26.mjs +64 -0
  8. package/dist/chunk-2NQKFH26.mjs.map +1 -0
  9. package/dist/chunk-2VPXQ2LA.mjs +57 -0
  10. package/dist/chunk-2VPXQ2LA.mjs.map +1 -0
  11. package/dist/chunk-3453DQNL.js +63 -0
  12. package/dist/chunk-3453DQNL.js.map +1 -0
  13. package/dist/chunk-34LHS26H.mjs +240 -0
  14. package/dist/chunk-34LHS26H.mjs.map +1 -0
  15. package/dist/chunk-3CYJQ6KF.js +121 -0
  16. package/dist/chunk-3CYJQ6KF.js.map +1 -0
  17. package/dist/chunk-3EJCQXGV.js +169 -0
  18. package/dist/chunk-3EJCQXGV.js.map +1 -0
  19. package/dist/chunk-3IE4IELX.mjs +64 -0
  20. package/dist/chunk-3IE4IELX.mjs.map +1 -0
  21. package/dist/{chunk-44NX3DAZ.mjs → chunk-3N575QVC.mjs} +3 -3
  22. package/dist/{chunk-44NX3DAZ.mjs.map → chunk-3N575QVC.mjs.map} +1 -1
  23. package/dist/chunk-3VW4HMJT.mjs +58 -0
  24. package/dist/chunk-3VW4HMJT.mjs.map +1 -0
  25. package/dist/chunk-42ZSQNDF.mjs +64 -0
  26. package/dist/chunk-42ZSQNDF.mjs.map +1 -0
  27. package/dist/{chunk-V4FFKIX3.js → chunk-4LCH4OJ5.js} +10 -10
  28. package/dist/{chunk-V4FFKIX3.js.map → chunk-4LCH4OJ5.js.map} +1 -1
  29. package/dist/chunk-4WG3VNVL.mjs +69 -0
  30. package/dist/chunk-4WG3VNVL.mjs.map +1 -0
  31. package/dist/chunk-4ZBMDWWY.mjs +107 -0
  32. package/dist/chunk-4ZBMDWWY.mjs.map +1 -0
  33. package/dist/chunk-523VQLCW.mjs +62 -0
  34. package/dist/chunk-523VQLCW.mjs.map +1 -0
  35. package/dist/chunk-5AOVTY2X.mjs +68 -0
  36. package/dist/chunk-5AOVTY2X.mjs.map +1 -0
  37. package/dist/{chunk-GVGKISKD.js → chunk-5QLPZYWO.js} +9 -9
  38. package/dist/{chunk-GVGKISKD.js.map → chunk-5QLPZYWO.js.map} +1 -1
  39. package/dist/{chunk-OPACTZGV.js → chunk-5TVBPPS6.js} +11 -11
  40. package/dist/{chunk-OPACTZGV.js.map → chunk-5TVBPPS6.js.map} +1 -1
  41. package/dist/{chunk-NWMSIYZP.js → chunk-642JVK45.js} +16 -16
  42. package/dist/{chunk-NWMSIYZP.js.map → chunk-642JVK45.js.map} +1 -1
  43. package/dist/chunk-6ERBVFDA.mjs +66 -0
  44. package/dist/chunk-6ERBVFDA.mjs.map +1 -0
  45. package/dist/chunk-6Q4EOLKN.js +74 -0
  46. package/dist/chunk-6Q4EOLKN.js.map +1 -0
  47. package/dist/{chunk-VUIWYURS.js → chunk-6XVSACCS.js} +15 -15
  48. package/dist/{chunk-VUIWYURS.js.map → chunk-6XVSACCS.js.map} +1 -1
  49. package/dist/{chunk-7GIL24GK.js → chunk-7ARZ3MK2.js} +12 -12
  50. package/dist/{chunk-7GIL24GK.js.map → chunk-7ARZ3MK2.js.map} +1 -1
  51. package/dist/chunk-7DVECOO7.js +78 -0
  52. package/dist/chunk-7DVECOO7.js.map +1 -0
  53. package/dist/{chunk-O23PJPGM.mjs → chunk-7HQFFQSQ.mjs} +3 -3
  54. package/dist/{chunk-O23PJPGM.mjs.map → chunk-7HQFFQSQ.mjs.map} +1 -1
  55. package/dist/{chunk-2PWT2MB5.mjs → chunk-7KCX2FX2.mjs} +3 -3
  56. package/dist/{chunk-2PWT2MB5.mjs.map → chunk-7KCX2FX2.mjs.map} +1 -1
  57. package/dist/chunk-7N2UYQBJ.mjs +655 -0
  58. package/dist/chunk-7N2UYQBJ.mjs.map +1 -0
  59. package/dist/{chunk-ZCTSXNAE.mjs → chunk-7WQ5TWUO.mjs} +3 -3
  60. package/dist/{chunk-ZCTSXNAE.mjs.map → chunk-7WQ5TWUO.mjs.map} +1 -1
  61. package/dist/chunk-A7MU6SFI.js +254 -0
  62. package/dist/chunk-A7MU6SFI.js.map +1 -0
  63. package/dist/{chunk-D4B62J5C.js → chunk-APBQNYFN.js} +11 -11
  64. package/dist/{chunk-D4B62J5C.js.map → chunk-APBQNYFN.js.map} +1 -1
  65. package/dist/{chunk-37YQUTKG.js → chunk-APCN6NUH.js} +8 -8
  66. package/dist/{chunk-37YQUTKG.js.map → chunk-APCN6NUH.js.map} +1 -1
  67. package/dist/chunk-BBM4BKSN.js +65 -0
  68. package/dist/chunk-BBM4BKSN.js.map +1 -0
  69. package/dist/chunk-BIQZC26Q.js +83 -0
  70. package/dist/chunk-BIQZC26Q.js.map +1 -0
  71. package/dist/{chunk-RYJ5WEE3.js → chunk-BUBIH4LS.js} +9 -9
  72. package/dist/{chunk-RYJ5WEE3.js.map → chunk-BUBIH4LS.js.map} +1 -1
  73. package/dist/chunk-BUEI4RMR.mjs +82 -0
  74. package/dist/chunk-BUEI4RMR.mjs.map +1 -0
  75. package/dist/{chunk-7JBQ3ZJN.mjs → chunk-BYXFSXNG.mjs} +3 -3
  76. package/dist/{chunk-7JBQ3ZJN.mjs.map → chunk-BYXFSXNG.mjs.map} +1 -1
  77. package/dist/chunk-BZTAA3MK.js +62 -0
  78. package/dist/chunk-BZTAA3MK.js.map +1 -0
  79. package/dist/chunk-CJCOURVM.js +79 -0
  80. package/dist/chunk-CJCOURVM.js.map +1 -0
  81. package/dist/chunk-COVTMJIQ.mjs +171 -0
  82. package/dist/chunk-COVTMJIQ.mjs.map +1 -0
  83. package/dist/{chunk-ZY6O6Z2I.mjs → chunk-CQ2S43AD.mjs} +3 -3
  84. package/dist/{chunk-ZY6O6Z2I.mjs.map → chunk-CQ2S43AD.mjs.map} +1 -1
  85. package/dist/chunk-D7ATXPVI.js +70 -0
  86. package/dist/chunk-D7ATXPVI.js.map +1 -0
  87. package/dist/chunk-DOA4ESKS.mjs +58 -0
  88. package/dist/chunk-DOA4ESKS.mjs.map +1 -0
  89. package/dist/{chunk-QIUVXTLE.mjs → chunk-DSGPPYZ3.mjs} +3 -3
  90. package/dist/{chunk-QIUVXTLE.mjs.map → chunk-DSGPPYZ3.mjs.map} +1 -1
  91. package/dist/chunk-DYSXCJGL.js +47 -0
  92. package/dist/chunk-DYSXCJGL.js.map +1 -0
  93. package/dist/{chunk-P2DQP4J4.js → chunk-EDJ6TVL3.js} +117 -12
  94. package/dist/chunk-EDJ6TVL3.js.map +1 -0
  95. package/dist/chunk-EE53BIXR.mjs +112 -0
  96. package/dist/chunk-EE53BIXR.mjs.map +1 -0
  97. package/dist/chunk-EJ3UMMCS.mjs +65 -0
  98. package/dist/chunk-EJ3UMMCS.mjs.map +1 -0
  99. package/dist/chunk-ENYZGL4R.mjs +94 -0
  100. package/dist/chunk-ENYZGL4R.mjs.map +1 -0
  101. package/dist/{chunk-BZZVO4GL.mjs → chunk-F6W3GJJ2.mjs} +108 -3
  102. package/dist/chunk-F6W3GJJ2.mjs.map +1 -0
  103. package/dist/chunk-FBUY6K6S.js +69 -0
  104. package/dist/chunk-FBUY6K6S.js.map +1 -0
  105. package/dist/{chunk-QKZR2UTL.mjs → chunk-FEMXNI6E.mjs} +3 -3
  106. package/dist/{chunk-QKZR2UTL.mjs.map → chunk-FEMXNI6E.mjs.map} +1 -1
  107. package/dist/chunk-FX5KR2GP.mjs +81 -0
  108. package/dist/chunk-FX5KR2GP.mjs.map +1 -0
  109. package/dist/{chunk-C7F6OCGK.mjs → chunk-GFCT24TH.mjs} +3 -3
  110. package/dist/{chunk-C7F6OCGK.mjs.map → chunk-GFCT24TH.mjs.map} +1 -1
  111. package/dist/{chunk-IPUQBMAB.mjs → chunk-GH2GZFRD.mjs} +3 -3
  112. package/dist/{chunk-IPUQBMAB.mjs.map → chunk-GH2GZFRD.mjs.map} +1 -1
  113. package/dist/{chunk-NAHHFB2M.js → chunk-GICW4DH5.js} +9 -9
  114. package/dist/{chunk-NAHHFB2M.js.map → chunk-GICW4DH5.js.map} +1 -1
  115. package/dist/{chunk-ATMCT3A3.mjs → chunk-GOH2THVW.mjs} +3 -3
  116. package/dist/{chunk-ATMCT3A3.mjs.map → chunk-GOH2THVW.mjs.map} +1 -1
  117. package/dist/chunk-GUB3RSPR.mjs +211 -0
  118. package/dist/chunk-GUB3RSPR.mjs.map +1 -0
  119. package/dist/chunk-HFQJRAG7.mjs +116 -0
  120. package/dist/chunk-HFQJRAG7.mjs.map +1 -0
  121. package/dist/chunk-HNRCPZCK.js +107 -0
  122. package/dist/chunk-HNRCPZCK.js.map +1 -0
  123. package/dist/chunk-HOOZYA4N.js +92 -0
  124. package/dist/chunk-HOOZYA4N.js.map +1 -0
  125. package/dist/{chunk-3HSFL4WA.mjs → chunk-HVMYPW3Q.mjs} +3 -3
  126. package/dist/{chunk-3HSFL4WA.mjs.map → chunk-HVMYPW3Q.mjs.map} +1 -1
  127. package/dist/chunk-IEHY6KNM.js +122 -0
  128. package/dist/chunk-IEHY6KNM.js.map +1 -0
  129. package/dist/{chunk-BDBL4XXI.mjs → chunk-ILCT3P7D.mjs} +3 -3
  130. package/dist/{chunk-BDBL4XXI.mjs.map → chunk-ILCT3P7D.mjs.map} +1 -1
  131. package/dist/chunk-IR5SJ7AQ.js +87 -0
  132. package/dist/chunk-IR5SJ7AQ.js.map +1 -0
  133. package/dist/chunk-J2SUGU3X.js +63 -0
  134. package/dist/chunk-J2SUGU3X.js.map +1 -0
  135. package/dist/chunk-J5NTJVKX.js +229 -0
  136. package/dist/chunk-J5NTJVKX.js.map +1 -0
  137. package/dist/{chunk-4LVEWKXF.mjs → chunk-J7IATHJY.mjs} +3 -3
  138. package/dist/{chunk-4LVEWKXF.mjs.map → chunk-J7IATHJY.mjs.map} +1 -1
  139. package/dist/{chunk-EKBSSKJQ.js → chunk-JD7TCCMW.js} +10 -10
  140. package/dist/{chunk-EKBSSKJQ.js.map → chunk-JD7TCCMW.js.map} +1 -1
  141. package/dist/chunk-JEDMUBYI.mjs +75 -0
  142. package/dist/chunk-JEDMUBYI.mjs.map +1 -0
  143. package/dist/{chunk-KEGOUZL5.js → chunk-JGPG2D2Y.js} +7 -7
  144. package/dist/{chunk-KEGOUZL5.js.map → chunk-JGPG2D2Y.js.map} +1 -1
  145. package/dist/chunk-JOLSS7UY.mjs +61 -0
  146. package/dist/chunk-JOLSS7UY.mjs.map +1 -0
  147. package/dist/chunk-KJMW7S5X.js +78 -0
  148. package/dist/chunk-KJMW7S5X.js.map +1 -0
  149. package/dist/chunk-KOIXQXZB.js +49 -0
  150. package/dist/{chunk-NVTV3EQB.js.map → chunk-KOIXQXZB.js.map} +1 -1
  151. package/dist/{chunk-PKXDRTC7.js → chunk-KQZWTTY2.js} +13 -13
  152. package/dist/{chunk-PKXDRTC7.js.map → chunk-KQZWTTY2.js.map} +1 -1
  153. package/dist/chunk-KWBGLH7G.js +155 -0
  154. package/dist/chunk-KWBGLH7G.js.map +1 -0
  155. package/dist/chunk-L7W4NRK6.js +78 -0
  156. package/dist/chunk-L7W4NRK6.js.map +1 -0
  157. package/dist/chunk-LRYKMXKI.mjs +159 -0
  158. package/dist/chunk-LRYKMXKI.mjs.map +1 -0
  159. package/dist/chunk-MBEQ4GQ7.mjs +44 -0
  160. package/dist/chunk-MBEQ4GQ7.mjs.map +1 -0
  161. package/dist/{chunk-PAJYNQR3.mjs → chunk-MI3CVVNR.mjs} +3 -3
  162. package/dist/{chunk-PAJYNQR3.mjs.map → chunk-MI3CVVNR.mjs.map} +1 -1
  163. package/dist/{chunk-4FU6FDUT.mjs → chunk-MXYQOQJ4.mjs} +3 -3
  164. package/dist/{chunk-4FU6FDUT.mjs.map → chunk-MXYQOQJ4.mjs.map} +1 -1
  165. package/dist/chunk-NFUOJMNI.js +61 -0
  166. package/dist/chunk-NFUOJMNI.js.map +1 -0
  167. package/dist/chunk-NGZTAVQO.mjs +79 -0
  168. package/dist/chunk-NGZTAVQO.mjs.map +1 -0
  169. package/dist/chunk-NNGL2AFQ.js +181 -0
  170. package/dist/chunk-NNGL2AFQ.js.map +1 -0
  171. package/dist/{chunk-Q2NE2UAO.mjs → chunk-NXVSGMLI.mjs} +3 -3
  172. package/dist/{chunk-Q2NE2UAO.mjs.map → chunk-NXVSGMLI.mjs.map} +1 -1
  173. package/dist/chunk-NYO3W5GY.js +61 -0
  174. package/dist/chunk-NYO3W5GY.js.map +1 -0
  175. package/dist/{chunk-ZFNVFMWG.mjs → chunk-O22T5X4G.mjs} +3 -3
  176. package/dist/{chunk-ZFNVFMWG.mjs.map → chunk-O22T5X4G.mjs.map} +1 -1
  177. package/dist/{chunk-Y73U7C4T.js → chunk-OCKSRD6O.js} +16 -16
  178. package/dist/{chunk-Y73U7C4T.js.map → chunk-OCKSRD6O.js.map} +1 -1
  179. package/dist/{chunk-27PO2FY2.mjs → chunk-OO4IPM4F.mjs} +3 -3
  180. package/dist/{chunk-27PO2FY2.mjs.map → chunk-OO4IPM4F.mjs.map} +1 -1
  181. package/dist/chunk-PP3L6M62.js +126 -0
  182. package/dist/chunk-PP3L6M62.js.map +1 -0
  183. package/dist/{chunk-63YMCBGJ.js → chunk-PYNQZP4X.js} +12 -12
  184. package/dist/{chunk-63YMCBGJ.js.map → chunk-PYNQZP4X.js.map} +1 -1
  185. package/dist/chunk-PZ25OHJE.js +69 -0
  186. package/dist/chunk-PZ25OHJE.js.map +1 -0
  187. package/dist/{chunk-O6R6OQXI.mjs → chunk-PZI2UVPL.mjs} +3 -3
  188. package/dist/{chunk-O6R6OQXI.mjs.map → chunk-PZI2UVPL.mjs.map} +1 -1
  189. package/dist/{chunk-QDHARZDN.js → chunk-QGTLXKKB.js} +12 -12
  190. package/dist/{chunk-QDHARZDN.js.map → chunk-QGTLXKKB.js.map} +1 -1
  191. package/dist/chunk-QX6PPTWL.mjs +125 -0
  192. package/dist/chunk-QX6PPTWL.mjs.map +1 -0
  193. package/dist/chunk-R4D5V7NT.js +19 -0
  194. package/dist/{chunk-FAMHSJTK.js.map → chunk-R4D5V7NT.js.map} +1 -1
  195. package/dist/{chunk-I4TGI6U3.mjs → chunk-RJ7L45SA.mjs} +3 -3
  196. package/dist/{chunk-I4TGI6U3.mjs.map → chunk-RJ7L45SA.mjs.map} +1 -1
  197. package/dist/{chunk-IQ6QVIZ3.mjs → chunk-RSMFWP5S.mjs} +3 -3
  198. package/dist/{chunk-IQ6QVIZ3.mjs.map → chunk-RSMFWP5S.mjs.map} +1 -1
  199. package/dist/chunk-SCOIRBML.js +705 -0
  200. package/dist/{chunk-WBRTXAKP.js.map → chunk-SCOIRBML.js.map} +1 -1
  201. package/dist/chunk-SCWQSQBJ.mjs +113 -0
  202. package/dist/chunk-SCWQSQBJ.mjs.map +1 -0
  203. package/dist/{chunk-LLNK24MM.js → chunk-SK24YZIC.js} +18 -18
  204. package/dist/{chunk-LLNK24MM.js.map → chunk-SK24YZIC.js.map} +1 -1
  205. package/dist/chunk-SRSRY5K2.js +71 -0
  206. package/dist/chunk-SRSRY5K2.js.map +1 -0
  207. package/dist/chunk-SS3T3BUL.mjs +70 -0
  208. package/dist/chunk-SS3T3BUL.mjs.map +1 -0
  209. package/dist/{chunk-L6PSW7JE.mjs → chunk-SUTFW53Y.mjs} +3 -3
  210. package/dist/{chunk-L6PSW7JE.mjs.map → chunk-SUTFW53Y.mjs.map} +1 -1
  211. package/dist/chunk-T4ZLTKV2.mjs +112 -0
  212. package/dist/chunk-T4ZLTKV2.mjs.map +1 -0
  213. package/dist/{chunk-MUKI3OHH.js → chunk-TDVHPNYI.js} +14 -14
  214. package/dist/{chunk-MUKI3OHH.js.map → chunk-TDVHPNYI.js.map} +1 -1
  215. package/dist/chunk-TKAOHMVA.mjs +120 -0
  216. package/dist/chunk-TKAOHMVA.mjs.map +1 -0
  217. package/dist/chunk-TT33BIIT.js +71 -0
  218. package/dist/chunk-TT33BIIT.js.map +1 -0
  219. package/dist/chunk-TVEK6PKH.mjs +74 -0
  220. package/dist/chunk-TVEK6PKH.mjs.map +1 -0
  221. package/dist/{chunk-JXSM2EHC.mjs → chunk-TYBQZO6Y.mjs} +3 -3
  222. package/dist/{chunk-JXSM2EHC.mjs.map → chunk-TYBQZO6Y.mjs.map} +1 -1
  223. package/dist/chunk-U64ISRUX.mjs +73 -0
  224. package/dist/chunk-U64ISRUX.mjs.map +1 -0
  225. package/dist/chunk-UG3GF2BD.js +120 -0
  226. package/dist/chunk-UG3GF2BD.js.map +1 -0
  227. package/dist/chunk-UJXFD4SK.js +65 -0
  228. package/dist/chunk-UJXFD4SK.js.map +1 -0
  229. package/dist/chunk-UQQHB3OI.js +80 -0
  230. package/dist/chunk-UQQHB3OI.js.map +1 -0
  231. package/dist/chunk-USLNTKVQ.js +114 -0
  232. package/dist/chunk-USLNTKVQ.js.map +1 -0
  233. package/dist/chunk-UT6QG35L.js +68 -0
  234. package/dist/chunk-UT6QG35L.js.map +1 -0
  235. package/dist/chunk-V2LI5QZD.js +674 -0
  236. package/dist/chunk-V2LI5QZD.js.map +1 -0
  237. package/dist/{chunk-LS4GY2ZQ.js → chunk-VHYUH5OH.js} +6 -6
  238. package/dist/{chunk-LS4GY2ZQ.js.map → chunk-VHYUH5OH.js.map} +1 -1
  239. package/dist/{chunk-I5TREZO5.js → chunk-VSD4KDZT.js} +10 -10
  240. package/dist/{chunk-I5TREZO5.js.map → chunk-VSD4KDZT.js.map} +1 -1
  241. package/dist/chunk-WGN2CBG6.js +82 -0
  242. package/dist/chunk-WGN2CBG6.js.map +1 -0
  243. package/dist/chunk-WIKNEHPJ.mjs +68 -0
  244. package/dist/chunk-WIKNEHPJ.mjs.map +1 -0
  245. package/dist/{chunk-EIX26RKN.js → chunk-XXGMFT6O.js} +9 -9
  246. package/dist/{chunk-EIX26RKN.js.map → chunk-XXGMFT6O.js.map} +1 -1
  247. package/dist/chunk-Y5JAQEBF.js +134 -0
  248. package/dist/chunk-Y5JAQEBF.js.map +1 -0
  249. package/dist/{chunk-34OSFCSH.js → chunk-Y6DFOQ5E.js} +7 -7
  250. package/dist/{chunk-34OSFCSH.js.map → chunk-Y6DFOQ5E.js.map} +1 -1
  251. package/dist/chunk-Y7BU5RC4.js +95 -0
  252. package/dist/chunk-Y7BU5RC4.js.map +1 -0
  253. package/dist/chunk-YH6MOKHR.mjs +65 -0
  254. package/dist/chunk-YH6MOKHR.mjs.map +1 -0
  255. package/dist/chunk-YKTANA3H.mjs +52 -0
  256. package/dist/chunk-YKTANA3H.mjs.map +1 -0
  257. package/dist/chunk-YPTHTFVF.mjs +144 -0
  258. package/dist/chunk-YPTHTFVF.mjs.map +1 -0
  259. package/dist/chunk-YPYPWALR.js +128 -0
  260. package/dist/chunk-YPYPWALR.js.map +1 -0
  261. package/dist/chunk-YXU2MJMT.mjs +52 -0
  262. package/dist/chunk-YXU2MJMT.mjs.map +1 -0
  263. package/dist/{chunk-ZITS2V53.js → chunk-ZIP7EX64.js} +9 -9
  264. package/dist/{chunk-ZITS2V53.js.map → chunk-ZIP7EX64.js.map} +1 -1
  265. package/dist/chunk-ZJWOSRAS.mjs +57 -0
  266. package/dist/chunk-ZJWOSRAS.mjs.map +1 -0
  267. package/dist/{chunk-ODT5TFIT.mjs → chunk-ZMFRJHO6.mjs} +3 -3
  268. package/dist/{chunk-ODT5TFIT.mjs.map → chunk-ZMFRJHO6.mjs.map} +1 -1
  269. package/dist/chunk-ZPGYR2UP.mjs +54 -0
  270. package/dist/chunk-ZPGYR2UP.mjs.map +1 -0
  271. package/dist/{chunk-XPHD3X4L.mjs → chunk-ZUQOQW5W.mjs} +3 -3
  272. package/dist/{chunk-XPHD3X4L.mjs.map → chunk-ZUQOQW5W.mjs.map} +1 -1
  273. package/dist/design-system/accordion.d.ts +85 -85
  274. package/dist/design-system/accordion.d.ts.map +1 -1
  275. package/dist/design-system/alert.d.ts +46 -46
  276. package/dist/design-system/alert.d.ts.map +1 -1
  277. package/dist/design-system/animated-number.d.ts +44 -44
  278. package/dist/design-system/avatar.d.ts +47 -47
  279. package/dist/design-system/avatar.d.ts.map +1 -1
  280. package/dist/design-system/badge.d.ts +92 -92
  281. package/dist/design-system/badge.d.ts.map +1 -1
  282. package/dist/design-system/breadcrumb.d.ts +38 -38
  283. package/dist/design-system/breadcrumb.d.ts.map +1 -1
  284. package/dist/design-system/button.d.ts +50 -50
  285. package/dist/design-system/button.d.ts.map +1 -1
  286. package/dist/design-system/card.d.ts +52 -52
  287. package/dist/design-system/card.d.ts.map +1 -1
  288. package/dist/design-system/checkbox.d.ts +32 -32
  289. package/dist/design-system/checkbox.d.ts.map +1 -1
  290. package/dist/design-system/combobox.d.ts +181 -98
  291. package/dist/design-system/combobox.d.ts.map +1 -1
  292. package/dist/design-system/command.d.ts +53 -53
  293. package/dist/design-system/command.d.ts.map +1 -1
  294. package/dist/design-system/context-menu.d.ts +51 -51
  295. package/dist/design-system/context-menu.d.ts.map +1 -1
  296. package/dist/design-system/copy-button.d.ts +49 -49
  297. package/dist/design-system/copy-button.d.ts.map +1 -1
  298. package/dist/design-system/divider.d.ts +47 -47
  299. package/dist/design-system/drawer.d.ts +90 -90
  300. package/dist/design-system/drawer.d.ts.map +1 -1
  301. package/dist/design-system/dropdown.d.ts +97 -97
  302. package/dist/design-system/dropdown.d.ts.map +1 -1
  303. package/dist/design-system/dynamic-stepper.d.ts +57 -57
  304. package/dist/design-system/empty-state.d.ts +25 -25
  305. package/dist/design-system/empty-state.d.ts.map +1 -1
  306. package/dist/design-system/facade.js +41 -41
  307. package/dist/design-system/facade.mjs +40 -40
  308. package/dist/design-system/file-upload.d.ts +36 -36
  309. package/dist/design-system/file-upload.d.ts.map +1 -1
  310. package/dist/design-system/inputs.d.ts +159 -159
  311. package/dist/design-system/inputs.d.ts.map +1 -1
  312. package/dist/design-system/kbd.d.ts +51 -51
  313. package/dist/design-system/kbd.d.ts.map +1 -1
  314. package/dist/design-system/marquee.d.ts +43 -43
  315. package/dist/design-system/marquee.d.ts.map +1 -1
  316. package/dist/design-system/modal.d.ts +90 -90
  317. package/dist/design-system/modal.d.ts.map +1 -1
  318. package/dist/design-system/otp-input.d.ts +38 -38
  319. package/dist/design-system/otp-input.d.ts.map +1 -1
  320. package/dist/design-system/pagination.d.ts +51 -51
  321. package/dist/design-system/pagination.d.ts.map +1 -1
  322. package/dist/design-system/popover.d.ts +44 -44
  323. package/dist/design-system/popover.d.ts.map +1 -1
  324. package/dist/design-system/progress.d.ts +47 -47
  325. package/dist/design-system/progress.d.ts.map +1 -1
  326. package/dist/design-system/radio-group.d.ts +32 -32
  327. package/dist/design-system/radio-group.d.ts.map +1 -1
  328. package/dist/design-system/rating.d.ts +54 -54
  329. package/dist/design-system/rating.d.ts.map +1 -1
  330. package/dist/design-system/scroll-area.d.ts +30 -30
  331. package/dist/design-system/scroll-area.d.ts.map +1 -1
  332. package/dist/design-system/select.d.ts +132 -132
  333. package/dist/design-system/select.d.ts.map +1 -1
  334. package/dist/design-system/skeleton.d.ts +67 -67
  335. package/dist/design-system/skeleton.d.ts.map +1 -1
  336. package/dist/design-system/slider.d.ts +45 -45
  337. package/dist/design-system/slider.d.ts.map +1 -1
  338. package/dist/design-system/spinner.d.ts +43 -43
  339. package/dist/design-system/table.d.ts +108 -108
  340. package/dist/design-system/table.d.ts.map +1 -1
  341. package/dist/design-system/tabs.d.ts +43 -43
  342. package/dist/design-system/tabs.d.ts.map +1 -1
  343. package/dist/design-system/timeline.d.ts +45 -45
  344. package/dist/design-system/timeline.d.ts.map +1 -1
  345. package/dist/design-system/toast.d.ts +47 -47
  346. package/dist/design-system/toast.d.ts.map +1 -1
  347. package/dist/design-system/toggle.d.ts +88 -88
  348. package/dist/design-system/toggle.d.ts.map +1 -1
  349. package/dist/design-system/tokens.d.ts +101 -0
  350. package/dist/design-system/tokens.d.ts.map +1 -1
  351. package/dist/design-system/tokens.js +11 -7
  352. package/dist/design-system/tokens.mjs +1 -1
  353. package/dist/design-system/tooltip.d.ts +44 -44
  354. package/dist/design-system/tooltip.d.ts.map +1 -1
  355. package/dist/design-system/tree-view.d.ts +92 -92
  356. package/dist/design-system/tree-view.d.ts.map +1 -1
  357. package/dist/hooks/useCookie/useCookie.d.ts.map +1 -1
  358. package/dist/hooks/useCookie.js +1 -7
  359. package/dist/hooks/useCookie.js.map +1 -1
  360. package/dist/hooks/useCookie.mjs +1 -7
  361. package/dist/hooks/useCookie.mjs.map +1 -1
  362. package/dist/hooks/useEventListener.js.map +1 -1
  363. package/dist/hooks/useEventListener.mjs.map +1 -1
  364. package/dist/hooks/useGeolocation/useGeolocation.d.ts.map +1 -1
  365. package/dist/hooks/useGeolocation.js.map +1 -1
  366. package/dist/hooks/useGeolocation.mjs.map +1 -1
  367. package/dist/hooks/useHotkeys/useHotkeys.d.ts.map +1 -1
  368. package/dist/hooks/useHotkeys.js +5 -1
  369. package/dist/hooks/useHotkeys.js.map +1 -1
  370. package/dist/hooks/useHotkeys.mjs +5 -1
  371. package/dist/hooks/useHotkeys.mjs.map +1 -1
  372. package/dist/hooks/useVirtualList/useVirtualList.d.ts.map +1 -1
  373. package/dist/hooks/useVirtualList.js +1 -4
  374. package/dist/hooks/useVirtualList.js.map +1 -1
  375. package/dist/hooks/useVirtualList.mjs +1 -4
  376. package/dist/hooks/useVirtualList.mjs.map +1 -1
  377. package/dist/ui/accordion/animated.js +8 -8
  378. package/dist/ui/accordion/animated.mjs +3 -3
  379. package/dist/ui/accordion.js +10 -10
  380. package/dist/ui/accordion.mjs +3 -3
  381. package/dist/ui/alert/animated.js +3 -3
  382. package/dist/ui/alert/animated.mjs +2 -2
  383. package/dist/ui/alert.js +11 -11
  384. package/dist/ui/alert.mjs +3 -3
  385. package/dist/ui/animated-number.js +4 -4
  386. package/dist/ui/animated-number.mjs +1 -1
  387. package/dist/ui/avatar/animated.js +6 -6
  388. package/dist/ui/avatar/animated.mjs +3 -3
  389. package/dist/ui/avatar.js +10 -10
  390. package/dist/ui/avatar.mjs +3 -3
  391. package/dist/ui/badge/animated.js +3 -3
  392. package/dist/ui/badge/animated.mjs +2 -2
  393. package/dist/ui/badge/variants.d.ts +45 -45
  394. package/dist/ui/badge.js +5 -5
  395. package/dist/ui/badge.mjs +3 -3
  396. package/dist/ui/breadcrumb.js +9 -9
  397. package/dist/ui/breadcrumb.mjs +1 -1
  398. package/dist/ui/buttons/animated.js +43 -43
  399. package/dist/ui/buttons/animated.mjs +41 -41
  400. package/dist/ui/buttons.js +44 -44
  401. package/dist/ui/buttons.mjs +42 -42
  402. package/dist/ui/card/animated.js +8 -8
  403. package/dist/ui/card/animated.mjs +3 -3
  404. package/dist/ui/card.js +13 -13
  405. package/dist/ui/card.mjs +3 -3
  406. package/dist/ui/checkbox/animated.js +5 -5
  407. package/dist/ui/checkbox/animated.mjs +2 -2
  408. package/dist/ui/checkbox.js +9 -9
  409. package/dist/ui/checkbox.mjs +3 -3
  410. package/dist/ui/combobox/combobox-base.d.ts.map +1 -1
  411. package/dist/ui/combobox/variants.d.ts +3 -3
  412. package/dist/ui/combobox.js +22 -20
  413. package/dist/ui/combobox.js.map +1 -1
  414. package/dist/ui/combobox.mjs +6 -4
  415. package/dist/ui/combobox.mjs.map +1 -1
  416. package/dist/ui/command/animated.js +3 -3
  417. package/dist/ui/command/animated.mjs +2 -2
  418. package/dist/ui/command.js +16 -16
  419. package/dist/ui/command.mjs +3 -3
  420. package/dist/ui/context-menu.js +8 -8
  421. package/dist/ui/context-menu.mjs +2 -2
  422. package/dist/ui/copy-button/animated.js +3 -3
  423. package/dist/ui/copy-button/animated.mjs +2 -2
  424. package/dist/ui/copy-button.js +4 -4
  425. package/dist/ui/copy-button.mjs +3 -3
  426. package/dist/ui/divider/animated.js +3 -3
  427. package/dist/ui/divider/animated.mjs +2 -2
  428. package/dist/ui/divider.js +7 -7
  429. package/dist/ui/divider.mjs +3 -3
  430. package/dist/ui/drawer/animated.js +12 -12
  431. package/dist/ui/drawer/animated.mjs +3 -3
  432. package/dist/ui/drawer.js +12 -12
  433. package/dist/ui/drawer.mjs +2 -2
  434. package/dist/ui/dropdown.js +9 -9
  435. package/dist/ui/dropdown.mjs +1 -1
  436. package/dist/ui/dynamic-stepper/variants.d.ts +1 -1
  437. package/dist/ui/dynamic-stepper/variants.d.ts.map +1 -1
  438. package/dist/ui/dynamic-stepper.js +53 -53
  439. package/dist/ui/dynamic-stepper.mjs +42 -42
  440. package/dist/ui/empty-state/animated.js +3 -3
  441. package/dist/ui/empty-state/animated.mjs +2 -2
  442. package/dist/ui/empty-state.js +11 -11
  443. package/dist/ui/empty-state.mjs +3 -3
  444. package/dist/ui/file-upload.js +3 -3
  445. package/dist/ui/file-upload.mjs +1 -1
  446. package/dist/ui/inputs/animated.js +4 -4
  447. package/dist/ui/inputs/animated.mjs +2 -2
  448. package/dist/ui/inputs.js +5 -5
  449. package/dist/ui/inputs.mjs +3 -3
  450. package/dist/ui/kbd/animated.js +3 -3
  451. package/dist/ui/kbd/animated.mjs +2 -2
  452. package/dist/ui/kbd.js +5 -5
  453. package/dist/ui/kbd.mjs +3 -3
  454. package/dist/ui/marquee.js +6 -6
  455. package/dist/ui/marquee.mjs +1 -1
  456. package/dist/ui/modal/animated.js +5 -5
  457. package/dist/ui/modal/animated.mjs +2 -2
  458. package/dist/ui/modal.js +13 -13
  459. package/dist/ui/modal.mjs +3 -3
  460. package/dist/ui/otp-input.js +10 -10
  461. package/dist/ui/otp-input.mjs +1 -1
  462. package/dist/ui/pagination.js +49 -49
  463. package/dist/ui/pagination.mjs +41 -41
  464. package/dist/ui/popover/animated.js +5 -5
  465. package/dist/ui/popover/animated.mjs +2 -2
  466. package/dist/ui/popover.js +8 -8
  467. package/dist/ui/popover.mjs +2 -2
  468. package/dist/ui/progress/animated.js +9 -9
  469. package/dist/ui/progress/animated.mjs +3 -3
  470. package/dist/ui/progress.js +10 -10
  471. package/dist/ui/progress.mjs +3 -3
  472. package/dist/ui/radio-group/animated.js +8 -8
  473. package/dist/ui/radio-group/animated.mjs +2 -2
  474. package/dist/ui/radio-group.js +12 -12
  475. package/dist/ui/radio-group.mjs +3 -3
  476. package/dist/ui/rating.js +11 -11
  477. package/dist/ui/rating.mjs +1 -1
  478. package/dist/ui/scroll-area.js +7 -7
  479. package/dist/ui/scroll-area.mjs +1 -1
  480. package/dist/ui/search/search-suggestion-list.d.ts.map +1 -1
  481. package/dist/ui/search.js +12 -9
  482. package/dist/ui/search.js.map +1 -1
  483. package/dist/ui/search.mjs +11 -8
  484. package/dist/ui/search.mjs.map +1 -1
  485. package/dist/ui/select.js +11 -11
  486. package/dist/ui/select.mjs +1 -1
  487. package/dist/ui/skeleton/animated.js +9 -9
  488. package/dist/ui/skeleton/animated.mjs +2 -2
  489. package/dist/ui/skeleton/variants.d.ts +21 -21
  490. package/dist/ui/skeleton/variants.d.ts.map +1 -1
  491. package/dist/ui/skeleton.js +10 -10
  492. package/dist/ui/skeleton.mjs +2 -2
  493. package/dist/ui/slider.js +9 -9
  494. package/dist/ui/slider.mjs +1 -1
  495. package/dist/ui/spinner/animated.js +5 -5
  496. package/dist/ui/spinner/animated.mjs +1 -1
  497. package/dist/ui/table/animated.js +9 -9
  498. package/dist/ui/table/animated.mjs +3 -3
  499. package/dist/ui/table.js +15 -15
  500. package/dist/ui/table.mjs +2 -2
  501. package/dist/ui/tabs/animated.js +3 -3
  502. package/dist/ui/tabs/animated.mjs +2 -2
  503. package/dist/ui/tabs.js +10 -10
  504. package/dist/ui/tabs.mjs +2 -2
  505. package/dist/ui/timeline/animated.js +12 -12
  506. package/dist/ui/timeline/animated.mjs +3 -3
  507. package/dist/ui/timeline.js +15 -15
  508. package/dist/ui/timeline.mjs +3 -3
  509. package/dist/ui/toast/animated.js +8 -8
  510. package/dist/ui/toast/animated.mjs +2 -2
  511. package/dist/ui/toast.js +13 -13
  512. package/dist/ui/toast.mjs +2 -2
  513. package/dist/ui/toggle/animated.js +5 -5
  514. package/dist/ui/toggle/animated.mjs +2 -2
  515. package/dist/ui/toggle.js +5 -5
  516. package/dist/ui/toggle.mjs +3 -3
  517. package/dist/ui/tooltip/animated.js +4 -4
  518. package/dist/ui/tooltip/animated.mjs +2 -2
  519. package/dist/ui/tooltip.js +8 -8
  520. package/dist/ui/tooltip.mjs +2 -2
  521. package/dist/ui/tree-view/animated.js +3 -3
  522. package/dist/ui/tree-view/animated.mjs +2 -2
  523. package/dist/ui/tree-view.js +6 -6
  524. package/dist/ui/tree-view.mjs +3 -3
  525. package/package.json +2 -2
  526. package/src/design-system/accordion.ts +85 -85
  527. package/src/design-system/alert.ts +46 -46
  528. package/src/design-system/animated-number.ts +44 -44
  529. package/src/design-system/avatar.ts +47 -47
  530. package/src/design-system/badge.ts +50 -50
  531. package/src/design-system/breadcrumb.ts +38 -38
  532. package/src/design-system/button.ts +52 -52
  533. package/src/design-system/card.ts +54 -54
  534. package/src/design-system/checkbox.ts +32 -32
  535. package/src/design-system/combobox.ts +237 -107
  536. package/src/design-system/command.ts +53 -53
  537. package/src/design-system/context-menu.ts +24 -24
  538. package/src/design-system/copy-button.ts +51 -51
  539. package/src/design-system/divider.ts +47 -47
  540. package/src/design-system/drawer.ts +90 -90
  541. package/src/design-system/dropdown.ts +97 -97
  542. package/src/design-system/dynamic-stepper.ts +57 -57
  543. package/src/design-system/empty-state.ts +25 -25
  544. package/src/design-system/file-upload.ts +36 -36
  545. package/src/design-system/inputs.ts +166 -166
  546. package/src/design-system/kbd.ts +52 -52
  547. package/src/design-system/marquee.ts +43 -43
  548. package/src/design-system/modal.ts +90 -90
  549. package/src/design-system/otp-input.ts +38 -38
  550. package/src/design-system/pagination.ts +51 -51
  551. package/src/design-system/popover.ts +44 -44
  552. package/src/design-system/progress.ts +47 -47
  553. package/src/design-system/radio-group.ts +32 -32
  554. package/src/design-system/rating.ts +54 -54
  555. package/src/design-system/scroll-area.ts +30 -30
  556. package/src/design-system/select.ts +132 -132
  557. package/src/design-system/skeleton.ts +67 -67
  558. package/src/design-system/slider.ts +45 -45
  559. package/src/design-system/spinner.ts +43 -43
  560. package/src/design-system/table.ts +108 -108
  561. package/src/design-system/tabs.ts +44 -43
  562. package/src/design-system/timeline.ts +45 -45
  563. package/src/design-system/toast.ts +47 -47
  564. package/src/design-system/toggle.ts +88 -88
  565. package/src/design-system/tokens.ts +102 -0
  566. package/src/design-system/tooltip.ts +44 -44
  567. package/src/design-system/tree-view.ts +92 -92
  568. package/src/hooks/useCookie/useCookie.ts +1 -7
  569. package/src/hooks/useEventListener/useEventListener.test.ts +3 -3
  570. package/src/hooks/useEventListener/useEventListener.ts +2 -1
  571. package/src/hooks/useGeolocation/useGeolocation.test.ts +6 -4
  572. package/src/hooks/useGeolocation/useGeolocation.ts +3 -1
  573. package/src/hooks/useHotkeys/useHotkeys.ts +6 -6
  574. package/src/hooks/useIdleTimeout/useIdleTimeout.test.ts +1 -3
  575. package/src/hooks/useVirtualList/useVirtualList.ts +1 -4
  576. package/src/lib/facade.test.ts +24 -3
  577. package/src/ui/combobox/combobox-base.tsx +5 -3
  578. package/src/ui/combobox/combobox.test.tsx +69 -0
  579. package/src/ui/command/command.test.tsx +15 -0
  580. package/src/ui/popover/popover.test.tsx +15 -0
  581. package/src/ui/search/search-suggestion-list.tsx +11 -6
  582. package/src/ui/skeleton/variants.ts +105 -0
  583. package/src/ui/tabs/tabs.test.tsx +15 -0
  584. package/src/ui/toast/toast.test.tsx +12 -0
  585. package/dist/chunk-22I54GJW.js +0 -69
  586. package/dist/chunk-22I54GJW.js.map +0 -1
  587. package/dist/chunk-3I6XR7KN.js +0 -87
  588. package/dist/chunk-3I6XR7KN.js.map +0 -1
  589. package/dist/chunk-3R6PQUG2.mjs +0 -144
  590. package/dist/chunk-3R6PQUG2.mjs.map +0 -1
  591. package/dist/chunk-3Z6L24ZK.js +0 -83
  592. package/dist/chunk-3Z6L24ZK.js.map +0 -1
  593. package/dist/chunk-44G3U35C.js +0 -181
  594. package/dist/chunk-44G3U35C.js.map +0 -1
  595. package/dist/chunk-456OEGUT.mjs +0 -58
  596. package/dist/chunk-456OEGUT.mjs.map +0 -1
  597. package/dist/chunk-45CGVW7S.js +0 -126
  598. package/dist/chunk-45CGVW7S.js.map +0 -1
  599. package/dist/chunk-4QLWSXXO.mjs +0 -65
  600. package/dist/chunk-4QLWSXXO.mjs.map +0 -1
  601. package/dist/chunk-4U7CDEN7.mjs +0 -57
  602. package/dist/chunk-4U7CDEN7.mjs.map +0 -1
  603. package/dist/chunk-4ZP444GA.mjs +0 -19
  604. package/dist/chunk-4ZP444GA.mjs.map +0 -1
  605. package/dist/chunk-56DECC6D.js +0 -95
  606. package/dist/chunk-56DECC6D.js.map +0 -1
  607. package/dist/chunk-56KZVM5D.mjs +0 -159
  608. package/dist/chunk-56KZVM5D.mjs.map +0 -1
  609. package/dist/chunk-5BSYGFN7.mjs +0 -94
  610. package/dist/chunk-5BSYGFN7.mjs.map +0 -1
  611. package/dist/chunk-5QSYJHWL.mjs +0 -75
  612. package/dist/chunk-5QSYJHWL.mjs.map +0 -1
  613. package/dist/chunk-5R6XJAXQ.mjs +0 -66
  614. package/dist/chunk-5R6XJAXQ.mjs.map +0 -1
  615. package/dist/chunk-5WWD3TZ2.mjs +0 -70
  616. package/dist/chunk-5WWD3TZ2.mjs.map +0 -1
  617. package/dist/chunk-63UE3BR4.mjs +0 -79
  618. package/dist/chunk-63UE3BR4.mjs.map +0 -1
  619. package/dist/chunk-7LFRU6AW.js +0 -254
  620. package/dist/chunk-7LFRU6AW.js.map +0 -1
  621. package/dist/chunk-7M4TUP4I.js +0 -74
  622. package/dist/chunk-7M4TUP4I.js.map +0 -1
  623. package/dist/chunk-AADGUMYW.js +0 -122
  624. package/dist/chunk-AADGUMYW.js.map +0 -1
  625. package/dist/chunk-BTSCPOWZ.mjs +0 -171
  626. package/dist/chunk-BTSCPOWZ.mjs.map +0 -1
  627. package/dist/chunk-BZZVO4GL.mjs.map +0 -1
  628. package/dist/chunk-DWDDIG6R.js +0 -68
  629. package/dist/chunk-DWDDIG6R.js.map +0 -1
  630. package/dist/chunk-E7BPOL74.js +0 -155
  631. package/dist/chunk-E7BPOL74.js.map +0 -1
  632. package/dist/chunk-EP7WTIKH.mjs +0 -81
  633. package/dist/chunk-EP7WTIKH.mjs.map +0 -1
  634. package/dist/chunk-F6V74YMW.js +0 -71
  635. package/dist/chunk-F6V74YMW.js.map +0 -1
  636. package/dist/chunk-FAMHSJTK.js +0 -19
  637. package/dist/chunk-FNNIH7R2.js +0 -70
  638. package/dist/chunk-FNNIH7R2.js.map +0 -1
  639. package/dist/chunk-FWY22BZZ.js +0 -134
  640. package/dist/chunk-FWY22BZZ.js.map +0 -1
  641. package/dist/chunk-FXDHDQTH.js +0 -79
  642. package/dist/chunk-FXDHDQTH.js.map +0 -1
  643. package/dist/chunk-FZET7XQV.js +0 -169
  644. package/dist/chunk-FZET7XQV.js.map +0 -1
  645. package/dist/chunk-GDYSB7SB.js +0 -78
  646. package/dist/chunk-GDYSB7SB.js.map +0 -1
  647. package/dist/chunk-GPM2PRC5.js +0 -61
  648. package/dist/chunk-GPM2PRC5.js.map +0 -1
  649. package/dist/chunk-I42UYWYA.mjs +0 -128
  650. package/dist/chunk-I42UYWYA.mjs.map +0 -1
  651. package/dist/chunk-I55QC57T.js +0 -47
  652. package/dist/chunk-I55QC57T.js.map +0 -1
  653. package/dist/chunk-IKXO5SJ4.js +0 -671
  654. package/dist/chunk-IKXO5SJ4.js.map +0 -1
  655. package/dist/chunk-ISXAUMRW.js +0 -63
  656. package/dist/chunk-ISXAUMRW.js.map +0 -1
  657. package/dist/chunk-IULYVARJ.mjs +0 -107
  658. package/dist/chunk-IULYVARJ.mjs.map +0 -1
  659. package/dist/chunk-IZAQBJKT.mjs +0 -125
  660. package/dist/chunk-IZAQBJKT.mjs.map +0 -1
  661. package/dist/chunk-J6XKTPP5.js +0 -61
  662. package/dist/chunk-J6XKTPP5.js.map +0 -1
  663. package/dist/chunk-JF4BRFOG.mjs +0 -54
  664. package/dist/chunk-JF4BRFOG.mjs.map +0 -1
  665. package/dist/chunk-JI3IEKH6.mjs +0 -64
  666. package/dist/chunk-JI3IEKH6.mjs.map +0 -1
  667. package/dist/chunk-JTMRSRYD.js +0 -63
  668. package/dist/chunk-JTMRSRYD.js.map +0 -1
  669. package/dist/chunk-KXNMW4NV.mjs +0 -61
  670. package/dist/chunk-KXNMW4NV.mjs.map +0 -1
  671. package/dist/chunk-L67EJJFN.js +0 -82
  672. package/dist/chunk-L67EJJFN.js.map +0 -1
  673. package/dist/chunk-L6AS5AVO.js +0 -121
  674. package/dist/chunk-L6AS5AVO.js.map +0 -1
  675. package/dist/chunk-LL2UY6CD.mjs +0 -74
  676. package/dist/chunk-LL2UY6CD.mjs.map +0 -1
  677. package/dist/chunk-LU6VEI4B.js +0 -92
  678. package/dist/chunk-LU6VEI4B.js.map +0 -1
  679. package/dist/chunk-MCYFKM7T.js +0 -62
  680. package/dist/chunk-MCYFKM7T.js.map +0 -1
  681. package/dist/chunk-MUP7DVQR.js +0 -26
  682. package/dist/chunk-MUP7DVQR.js.map +0 -1
  683. package/dist/chunk-N2RUT33F.mjs +0 -68
  684. package/dist/chunk-N2RUT33F.mjs.map +0 -1
  685. package/dist/chunk-NMBSK44H.mjs +0 -44
  686. package/dist/chunk-NMBSK44H.mjs.map +0 -1
  687. package/dist/chunk-NVTV3EQB.js +0 -49
  688. package/dist/chunk-NXNL64Q7.mjs +0 -112
  689. package/dist/chunk-NXNL64Q7.mjs.map +0 -1
  690. package/dist/chunk-OGMIKRLJ.js +0 -78
  691. package/dist/chunk-OGMIKRLJ.js.map +0 -1
  692. package/dist/chunk-OOBA2MDD.mjs +0 -57
  693. package/dist/chunk-OOBA2MDD.mjs.map +0 -1
  694. package/dist/chunk-OQCI2IVL.mjs +0 -112
  695. package/dist/chunk-OQCI2IVL.mjs.map +0 -1
  696. package/dist/chunk-P25NI2HG.js +0 -114
  697. package/dist/chunk-P25NI2HG.js.map +0 -1
  698. package/dist/chunk-P2DQP4J4.js.map +0 -1
  699. package/dist/chunk-P43A2BPU.mjs +0 -82
  700. package/dist/chunk-P43A2BPU.mjs.map +0 -1
  701. package/dist/chunk-P54PZ72L.mjs +0 -65
  702. package/dist/chunk-P54PZ72L.mjs.map +0 -1
  703. package/dist/chunk-PNAFXOZC.mjs +0 -69
  704. package/dist/chunk-PNAFXOZC.mjs.map +0 -1
  705. package/dist/chunk-QTFOUK4H.js +0 -107
  706. package/dist/chunk-QTFOUK4H.js.map +0 -1
  707. package/dist/chunk-QW2ZHKPC.mjs +0 -64
  708. package/dist/chunk-QW2ZHKPC.mjs.map +0 -1
  709. package/dist/chunk-R2256VSD.js +0 -80
  710. package/dist/chunk-R2256VSD.js.map +0 -1
  711. package/dist/chunk-S4OSJ4ZN.js +0 -71
  712. package/dist/chunk-S4OSJ4ZN.js.map +0 -1
  713. package/dist/chunk-SWU5U5BB.mjs +0 -116
  714. package/dist/chunk-SWU5U5BB.mjs.map +0 -1
  715. package/dist/chunk-SYFTQAZG.mjs +0 -58
  716. package/dist/chunk-SYFTQAZG.mjs.map +0 -1
  717. package/dist/chunk-T5SPR27V.mjs +0 -64
  718. package/dist/chunk-T5SPR27V.mjs.map +0 -1
  719. package/dist/chunk-TD4W3AHI.mjs +0 -113
  720. package/dist/chunk-TD4W3AHI.mjs.map +0 -1
  721. package/dist/chunk-TMFXI5FH.mjs +0 -52
  722. package/dist/chunk-TMFXI5FH.mjs.map +0 -1
  723. package/dist/chunk-UJBXDDHN.mjs +0 -73
  724. package/dist/chunk-UJBXDDHN.mjs.map +0 -1
  725. package/dist/chunk-USLP5NY6.js +0 -69
  726. package/dist/chunk-USLP5NY6.js.map +0 -1
  727. package/dist/chunk-UU34Q42Q.js +0 -70
  728. package/dist/chunk-UU34Q42Q.js.map +0 -1
  729. package/dist/chunk-V4U6Q5NL.mjs +0 -68
  730. package/dist/chunk-V4U6Q5NL.mjs.map +0 -1
  731. package/dist/chunk-VQQHVKEU.mjs +0 -652
  732. package/dist/chunk-VQQHVKEU.mjs.map +0 -1
  733. package/dist/chunk-VWHER5XN.js +0 -65
  734. package/dist/chunk-VWHER5XN.js.map +0 -1
  735. package/dist/chunk-WBRTXAKP.js +0 -705
  736. package/dist/chunk-WN7XWKAS.mjs +0 -52
  737. package/dist/chunk-WN7XWKAS.mjs.map +0 -1
  738. package/dist/chunk-X3N4EVF7.mjs +0 -240
  739. package/dist/chunk-X3N4EVF7.mjs.map +0 -1
  740. package/dist/chunk-Y4YQSCNL.js +0 -65
  741. package/dist/chunk-Y4YQSCNL.js.map +0 -1
  742. package/dist/chunk-Y7NRTCAT.js +0 -78
  743. package/dist/chunk-Y7NRTCAT.js.map +0 -1
  744. package/dist/chunk-YDKAE7RM.mjs +0 -62
  745. package/dist/chunk-YDKAE7RM.mjs.map +0 -1
  746. package/dist/chunk-YN4ZS3R2.js +0 -120
  747. package/dist/chunk-YN4ZS3R2.js.map +0 -1
  748. package/dist/chunk-ZVRGLG35.js +0 -144
  749. package/dist/chunk-ZVRGLG35.js.map +0 -1
  750. package/src/ui/accessibility/axe-core.test.tsx +0 -139
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/combobox/variants.ts","../../src/ui/combobox/combobox-base.tsx"],"names":["cva","zuiComboboxTriggerBase","zuiComboboxTriggerVariants","zuiComboboxSizes","zuiComboboxItemBase","zuiComboboxItemAppearances","zuiComboboxDisabled","zuiComboboxListBase","zuiComboboxListAppearances","zuiComboboxContentBase","zuiComboboxContentAppearances","zuiComboboxSpacing","createContext","useContext","useId","useState","useRef","useEffect","useMemo","useCallback","jsx","cn","jsxs","zuiComboboxSearchRowBase","zuiComboboxSearchIconBase","zuiComboboxSearchInputBase","zuiComboboxEmptyBase"],"mappings":"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","file":"combobox.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nimport {\n zuiComboboxContentAppearances,\n zuiComboboxContentBase,\n zuiComboboxDisabled,\n zuiComboboxItemAppearances,\n zuiComboboxItemBase,\n zuiComboboxListAppearances,\n zuiComboboxListBase,\n zuiComboboxSizes,\n zuiComboboxSpacing,\n zuiComboboxTriggerBase,\n zuiComboboxTriggerVariants,\n} from \"../../design-system/combobox\";\n\nexport const comboboxTriggerVariants = cva(zuiComboboxTriggerBase, {\n variants: {\n variant: zuiComboboxTriggerVariants,\n size: zuiComboboxSizes,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport const comboboxItemVariants = cva(zuiComboboxItemBase, {\n variants: {\n appearance: zuiComboboxItemAppearances,\n disabled: zuiComboboxDisabled,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxListVariants = cva(zuiComboboxListBase, {\n variants: {\n appearance: zuiComboboxListAppearances,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxContentVariants = cva(zuiComboboxContentBase, {\n variants: {\n appearance: zuiComboboxContentAppearances,\n size: zuiComboboxSizes,\n spacing: zuiComboboxSpacing,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode, RefObject } from \"react\";\n\nimport {\n zuiComboboxEmptyBase,\n zuiComboboxSearchIconBase,\n zuiComboboxSearchInputBase,\n zuiComboboxSearchRowBase,\n} from \"../../design-system/combobox\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n ComboboxAppearance,\n ComboboxContentProps,\n ComboboxContextType,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxListProps,\n ComboboxOption,\n ComboboxProps,\n ComboboxSearchProps,\n ComboboxTriggerProps,\n ComboboxValueProps,\n} from \"./types\";\nimport {\n comboboxContentVariants,\n comboboxItemVariants,\n comboboxListVariants,\n comboboxTriggerVariants,\n} from \"./variants\";\n\nconst ComboboxContext = createContext<ComboboxContextType | null>(null);\nconst ComboboxAppearanceContext = createContext<ComboboxAppearance>(\"default\");\n\nexport const useCombobox = () => {\n const ctx = useContext(ComboboxContext);\n if (!ctx) throw new Error(\"Combobox components must be used inside Combobox\");\n return ctx;\n};\n\nexport { ComboboxContext };\n\nexport const Combobox = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = false,\n className,\n}: ComboboxProps) => {\n const baseId = useId();\n const triggerId = `${baseId}-trigger`;\n const listboxId = `${baseId}-listbox`;\n\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ComboboxOption[]>([]);\n const [query, setQuery] = useState(\"\");\n const [activeValue, setActiveValue] = useState<string | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n if (event.target instanceof Node && !root.contains(event.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n setQuery(\"\");\n setActiveValue(null);\n }\n }, [open]);\n\n const visibleValues = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) return options.map((o) => o.value);\n return options\n .filter((o) => {\n if (o.disabled) return false;\n const labelText =\n typeof o.label === \"string\" ? o.label.toLowerCase() : \"\";\n return (\n o.value.toLowerCase().includes(normalized) ||\n labelText.includes(normalized)\n );\n })\n .map((o) => o.value);\n }, [query, options]);\n\n // If the current highlight gets filtered out while typing, clear it.\n // We do NOT auto-populate on open so ArrowDown always starts from the top.\n useEffect(() => {\n if (!open) return;\n if (!activeValue) return;\n if (visibleValues.includes(activeValue)) return;\n setActiveValue(null);\n }, [open, activeValue, visibleValues]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = useCallback(\n (val: string) => {\n if (multiple) {\n const next = selected.includes(val)\n ? selected.filter((v) => v !== val)\n : [...selected, val];\n setSelected(next);\n } else {\n setSelected([val]);\n setOpen(false);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [multiple, selected],\n );\n\n const isSelected = useCallback(\n (val: string) => selected.includes(val),\n [selected],\n );\n\n const isVisible = useCallback(\n (val: string) => visibleValues.includes(val),\n [visibleValues],\n );\n\n const registerOption = useCallback((opt: ComboboxOption) => {\n setOptions((prev) => {\n const existing = prev.find((o) => o.value === opt.value);\n if (existing) {\n const labelChanged =\n (typeof opt.label === \"string\" || typeof opt.label === \"number\") &&\n existing.label !== opt.label;\n const disabledChanged = existing.disabled !== opt.disabled;\n if (labelChanged || disabledChanged) {\n return prev.map((o) => (o.value === opt.value ? opt : o));\n }\n return prev;\n }\n return [...prev, opt];\n });\n // No cleanup on unmount: options must persist across panel open/close so\n // ComboboxValue can still display the selected label when the panel is closed.\n }, []);\n\n return (\n <ComboboxContext.Provider\n value={{\n open,\n setOpen,\n query,\n setQuery,\n selected,\n toggleValue,\n isSelected,\n multiple,\n options,\n registerOption,\n visibleValues,\n isVisible,\n activeValue,\n setActiveValue,\n triggerId,\n listboxId,\n searchRef,\n triggerRef,\n }}\n >\n <div ref={rootRef} className={cn(\"relative w-full\", className)}>\n {children}\n </div>\n </ComboboxContext.Provider>\n );\n};\n\nCombobox.displayName = \"Combobox\";\n\nexport const ComboboxTrigger = ({\n className,\n variant,\n size,\n onClick,\n ref: refProp,\n ...props\n}: ComboboxTriggerProps) => {\n const { open, setOpen, triggerId, listboxId, triggerRef } = useCombobox();\n\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n id={triggerId}\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n data-slot=\"combobox-trigger\"\n className={cn(comboboxTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport const ComboboxValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: ComboboxValueProps) => {\n const { selected, options } = useCombobox();\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span\n data-slot=\"combobox-placeholder\"\n className={cn(\n \"text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-white\",\n className,\n )}\n {...props}\n >\n {placeholder}\n </span>\n );\n }\n\n return (\n <span data-slot=\"combobox-value\" className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nComboboxValue.displayName = \"ComboboxValue\";\n\nexport const ComboboxContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: ComboboxContentProps) => {\n const { open, triggerId, listboxId, searchRef } = useCombobox();\n\n useEffect(() => {\n if (open) {\n searchRef.current?.focus();\n }\n }, [open, searchRef]);\n\n if (!open) return null;\n\n return (\n <ComboboxAppearanceContext.Provider value={appearance}>\n <div\n aria-labelledby={triggerId}\n data-slot=\"combobox-content\"\n className={cn(\n comboboxContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ComboboxAppearanceContext.Provider>\n );\n};\n\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport const ComboboxSearch = ({\n className,\n placeholder = \"Search...\",\n ref: refProp,\n ...props\n}: ComboboxSearchProps) => {\n const {\n query,\n setQuery,\n visibleValues,\n activeValue,\n setActiveValue,\n toggleValue,\n setOpen,\n searchRef,\n listboxId,\n options,\n triggerRef,\n } = useCombobox();\n\n const optionByValue = useMemo(\n () => new Map(options.map((option) => [option.value, option])),\n [options],\n );\n\n const moveActive = (direction: 1 | -1) => {\n if (visibleValues.length === 0) return;\n const currentIndex = activeValue ? visibleValues.indexOf(activeValue) : -1;\n let nextIndex = currentIndex;\n for (let i = 0; i < visibleValues.length; i++) {\n if (nextIndex === -1) {\n nextIndex = direction === 1 ? 0 : visibleValues.length - 1;\n } else {\n nextIndex =\n (nextIndex + direction + visibleValues.length) % visibleValues.length;\n }\n const candidate = optionByValue.get(visibleValues[nextIndex] ?? \"\");\n if (candidate && !candidate.disabled) {\n setActiveValue(visibleValues[nextIndex] ?? null);\n return;\n }\n }\n };\n\n return (\n <div data-slot=\"combobox-search-row\" className={zuiComboboxSearchRowBase}>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className={zuiComboboxSearchIconBase}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={(node) => {\n searchRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLInputElement | null>).current = node;\n }\n }}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n activeValue ? `${listboxId}-option-${activeValue}` : undefined\n }\n data-slot=\"combobox-search\"\n className={cn(zuiComboboxSearchInputBase, className)}\n placeholder={placeholder}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveActive(1);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveActive(-1);\n } else if (event.key === \"Enter\") {\n event.preventDefault();\n if (activeValue && visibleValues.includes(activeValue)) {\n const option = optionByValue.get(activeValue);\n if (option && !option.disabled) {\n toggleValue(activeValue);\n }\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n }}\n {...props}\n />\n </div>\n );\n};\n\nComboboxSearch.displayName = \"ComboboxSearch\";\n\nexport const ComboboxList = ({\n children,\n className,\n ...props\n}: ComboboxListProps) => {\n const { listboxId, triggerId } = useCombobox();\n const appearance = useContext(ComboboxAppearanceContext);\n\n return (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={triggerId}\n data-slot=\"combobox-list\"\n className={cn(comboboxListVariants({ appearance }), className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxList.displayName = \"ComboboxList\";\n\nexport const ComboboxItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: ComboboxItemProps) => {\n const {\n toggleValue,\n isSelected,\n registerOption,\n isVisible,\n activeValue,\n setActiveValue,\n listboxId,\n } = useCombobox();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const visible = isVisible(value);\n const isActive = isSelected(value);\n const isHighlighted = activeValue === value;\n\n if (!visible) return null;\n\n return (\n <div\n id={`${listboxId}-option-${value}`}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n data-slot=\"combobox-item\"\n data-selected={isActive ? \"true\" : \"false\"}\n data-active={isHighlighted ? \"true\" : undefined}\n onMouseEnter={() => !disabled && setActiveValue(value)}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n className={cn(\n comboboxItemVariants({ disabled, appearance }),\n \"flex justify-between\",\n isHighlighted &&\n \"bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && (\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className=\"size-4 shrink-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n )}\n </div>\n );\n};\n\nComboboxItem.displayName = \"ComboboxItem\";\n\nexport const ComboboxEmpty = ({\n className,\n children,\n ...props\n}: ComboboxEmptyProps) => {\n const { visibleValues } = useCombobox();\n\n if (visibleValues.length > 0) return null;\n\n return (\n <div\n data-slot=\"combobox-empty\"\n className={cn(zuiComboboxEmptyBase, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxEmpty.displayName = \"ComboboxEmpty\";\n"]}
1
+ {"version":3,"sources":["../../src/ui/combobox/variants.ts","../../src/ui/combobox/combobox-base.tsx"],"names":["cva","zuiComboboxTriggerBase","zuiComboboxTriggerVariants","zuiComboboxSizes","zuiComboboxItemBase","zuiComboboxItemAppearances","zuiComboboxDisabled","zuiComboboxListBase","zuiComboboxListAppearances","zuiComboboxContentBase","zuiComboboxContentAppearances","zuiComboboxSpacing","createContext","useContext","useId","useState","useRef","useEffect","useMemo","useCallback","jsx","cn","jsxs","zuiComboboxSearchRowBase","zuiComboboxSearchIconBase","zuiComboboxSearchInputBase","zuiComboboxEmptyBase"],"mappings":"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","file":"combobox.js","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nimport {\n zuiComboboxContentAppearances,\n zuiComboboxContentBase,\n zuiComboboxDisabled,\n zuiComboboxItemAppearances,\n zuiComboboxItemBase,\n zuiComboboxListAppearances,\n zuiComboboxListBase,\n zuiComboboxSizes,\n zuiComboboxSpacing,\n zuiComboboxTriggerBase,\n zuiComboboxTriggerVariants,\n} from \"../../design-system/combobox\";\n\nexport const comboboxTriggerVariants = cva(zuiComboboxTriggerBase, {\n variants: {\n variant: zuiComboboxTriggerVariants,\n size: zuiComboboxSizes,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport const comboboxItemVariants = cva(zuiComboboxItemBase, {\n variants: {\n appearance: zuiComboboxItemAppearances,\n disabled: zuiComboboxDisabled,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxListVariants = cva(zuiComboboxListBase, {\n variants: {\n appearance: zuiComboboxListAppearances,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxContentVariants = cva(zuiComboboxContentBase, {\n variants: {\n appearance: zuiComboboxContentAppearances,\n size: zuiComboboxSizes,\n spacing: zuiComboboxSpacing,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode, RefObject } from \"react\";\n\nimport {\n zuiComboboxEmptyBase,\n zuiComboboxSearchIconBase,\n zuiComboboxSearchInputBase,\n zuiComboboxSearchRowBase,\n} from \"../../design-system/combobox\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n ComboboxAppearance,\n ComboboxContentProps,\n ComboboxContextType,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxListProps,\n ComboboxOption,\n ComboboxProps,\n ComboboxSearchProps,\n ComboboxTriggerProps,\n ComboboxValueProps,\n} from \"./types\";\nimport {\n comboboxContentVariants,\n comboboxItemVariants,\n comboboxListVariants,\n comboboxTriggerVariants,\n} from \"./variants\";\n\nconst ComboboxContext = createContext<ComboboxContextType | null>(null);\nconst ComboboxAppearanceContext = createContext<ComboboxAppearance>(\"default\");\n\nexport const useCombobox = () => {\n const ctx = useContext(ComboboxContext);\n if (!ctx) throw new Error(\"Combobox components must be used inside Combobox\");\n return ctx;\n};\n\nexport { ComboboxContext };\n\nexport const Combobox = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = false,\n className,\n}: ComboboxProps) => {\n const baseId = useId();\n const triggerId = `${baseId}-trigger`;\n const listboxId = `${baseId}-listbox`;\n\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ComboboxOption[]>([]);\n const [query, setQuery] = useState(\"\");\n const [activeValue, setActiveValue] = useState<string | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n if (event.target instanceof Node && !root.contains(event.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n setQuery(\"\");\n setActiveValue(null);\n }\n }, [open]);\n\n const visibleValues = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) return options.map((o) => o.value);\n return options\n .filter((o) => {\n if (o.disabled) return false;\n const labelText =\n typeof o.label === \"string\" ? o.label.toLowerCase() : \"\";\n return (\n o.value.toLowerCase().includes(normalized) ||\n labelText.includes(normalized)\n );\n })\n .map((o) => o.value);\n }, [query, options]);\n\n // If the current highlight gets filtered out while typing, clear it.\n // We do NOT auto-populate on open so ArrowDown always starts from the top.\n useEffect(() => {\n if (!open) return;\n if (!activeValue) return;\n if (visibleValues.includes(activeValue)) return;\n setActiveValue(null);\n }, [open, activeValue, visibleValues]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = useCallback(\n (val: string) => {\n if (multiple) {\n const next = selected.includes(val)\n ? selected.filter((v) => v !== val)\n : [...selected, val];\n setSelected(next);\n } else {\n setSelected([val]);\n setOpen(false);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [multiple, selected],\n );\n\n const isSelected = useCallback(\n (val: string) => selected.includes(val),\n [selected],\n );\n\n const isVisible = useCallback(\n (val: string) => visibleValues.includes(val),\n [visibleValues],\n );\n\n const registerOption = useCallback((opt: ComboboxOption) => {\n setOptions((prev) => {\n const existing = prev.find((o) => o.value === opt.value);\n if (existing) {\n const labelChanged =\n (typeof opt.label === \"string\" || typeof opt.label === \"number\") &&\n existing.label !== opt.label;\n const disabledChanged = existing.disabled !== opt.disabled;\n if (labelChanged || disabledChanged) {\n return prev.map((o) => (o.value === opt.value ? opt : o));\n }\n return prev;\n }\n return [...prev, opt];\n });\n // No cleanup on unmount: options must persist across panel open/close so\n // ComboboxValue can still display the selected label when the panel is closed.\n }, []);\n\n return (\n <ComboboxContext.Provider\n value={{\n open,\n setOpen,\n query,\n setQuery,\n selected,\n toggleValue,\n isSelected,\n multiple,\n options,\n registerOption,\n visibleValues,\n isVisible,\n activeValue,\n setActiveValue,\n triggerId,\n listboxId,\n searchRef,\n triggerRef,\n }}\n >\n <div ref={rootRef} className={cn(\"relative w-full\", className)}>\n {children}\n </div>\n </ComboboxContext.Provider>\n );\n};\n\nCombobox.displayName = \"Combobox\";\n\nexport const ComboboxTrigger = ({\n className,\n variant,\n size,\n onClick,\n ref: refProp,\n ...props\n}: ComboboxTriggerProps) => {\n const { open, setOpen, triggerId, listboxId, triggerRef } = useCombobox();\n\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n id={triggerId}\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n data-slot=\"combobox-trigger\"\n className={cn(comboboxTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport const ComboboxValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: ComboboxValueProps) => {\n const { selected, options } = useCombobox();\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span\n data-slot=\"combobox-placeholder\"\n className={cn(\n \"text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-combobox-value-placeholder-fg-dark,#ffffff)]\",\n className,\n )}\n {...props}\n >\n {placeholder}\n </span>\n );\n }\n\n return (\n <span data-slot=\"combobox-value\" className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nComboboxValue.displayName = \"ComboboxValue\";\n\nexport const ComboboxContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: ComboboxContentProps) => {\n const { open, triggerId, listboxId, searchRef } = useCombobox();\n\n useEffect(() => {\n if (open) {\n searchRef.current?.focus();\n }\n }, [open, searchRef]);\n\n if (!open) return null;\n\n return (\n <ComboboxAppearanceContext.Provider value={appearance}>\n <div\n aria-labelledby={triggerId}\n data-slot=\"combobox-content\"\n className={cn(\n comboboxContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ComboboxAppearanceContext.Provider>\n );\n};\n\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport const ComboboxSearch = ({\n className,\n placeholder = \"Search...\",\n ref: refProp,\n ...props\n}: ComboboxSearchProps) => {\n const {\n query,\n setQuery,\n visibleValues,\n activeValue,\n setActiveValue,\n toggleValue,\n setOpen,\n searchRef,\n listboxId,\n options,\n triggerRef,\n } = useCombobox();\n\n const optionByValue = useMemo(\n () => new Map(options.map((option) => [option.value, option])),\n [options],\n );\n\n const moveActive = (direction: 1 | -1) => {\n if (visibleValues.length === 0) return;\n const currentIndex = activeValue ? visibleValues.indexOf(activeValue) : -1;\n let nextIndex = currentIndex;\n for (let i = 0; i < visibleValues.length; i++) {\n if (nextIndex === -1) {\n nextIndex = direction === 1 ? 0 : visibleValues.length - 1;\n } else {\n nextIndex =\n (nextIndex + direction + visibleValues.length) % visibleValues.length;\n }\n const candidate = optionByValue.get(visibleValues[nextIndex] ?? \"\");\n if (candidate && !candidate.disabled) {\n setActiveValue(visibleValues[nextIndex] ?? null);\n return;\n }\n }\n };\n\n return (\n <div data-slot=\"combobox-search-row\" className={zuiComboboxSearchRowBase}>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className={zuiComboboxSearchIconBase}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={(node) => {\n searchRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLInputElement | null>).current = node;\n }\n }}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n activeValue ? `${listboxId}-option-${activeValue}` : undefined\n }\n data-slot=\"combobox-search\"\n className={cn(zuiComboboxSearchInputBase, className)}\n placeholder={placeholder}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveActive(1);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveActive(-1);\n } else if (event.key === \"Enter\") {\n event.preventDefault();\n if (activeValue && visibleValues.includes(activeValue)) {\n const option = optionByValue.get(activeValue);\n if (option && !option.disabled) {\n toggleValue(activeValue);\n }\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n }}\n {...props}\n />\n </div>\n );\n};\n\nComboboxSearch.displayName = \"ComboboxSearch\";\n\nexport const ComboboxList = ({\n children,\n className,\n ...props\n}: ComboboxListProps) => {\n const { listboxId, triggerId } = useCombobox();\n const appearance = useContext(ComboboxAppearanceContext);\n\n return (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={triggerId}\n data-slot=\"combobox-list\"\n className={cn(comboboxListVariants({ appearance }), className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxList.displayName = \"ComboboxList\";\n\nexport const ComboboxItem = ({\n value,\n children,\n disabled,\n appearance,\n className,\n ...props\n}: ComboboxItemProps) => {\n const {\n toggleValue,\n isSelected,\n registerOption,\n isVisible,\n activeValue,\n setActiveValue,\n listboxId,\n } = useCombobox();\n const contentAppearance = useContext(ComboboxAppearanceContext);\n const itemAppearance = appearance ?? contentAppearance;\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const visible = isVisible(value);\n const isActive = isSelected(value);\n const isHighlighted = activeValue === value;\n\n if (!visible) return null;\n\n return (\n <div\n id={`${listboxId}-option-${value}`}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n data-slot=\"combobox-item\"\n data-selected={isActive ? \"true\" : \"false\"}\n data-active={isHighlighted ? \"true\" : undefined}\n onMouseEnter={() => !disabled && setActiveValue(value)}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n className={cn(\n comboboxItemVariants({ disabled, appearance: itemAppearance }),\n \"flex justify-between\",\n isHighlighted &&\n \"bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && (\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className=\"size-4 shrink-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n )}\n </div>\n );\n};\n\nComboboxItem.displayName = \"ComboboxItem\";\n\nexport const ComboboxEmpty = ({\n className,\n children,\n ...props\n}: ComboboxEmptyProps) => {\n const { visibleValues } = useCombobox();\n\n if (visibleValues.length > 0) return null;\n\n return (\n <div\n data-slot=\"combobox-empty\"\n className={cn(zuiComboboxEmptyBase, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxEmpty.displayName = \"ComboboxEmpty\";\n"]}
@@ -1,5 +1,5 @@
1
1
  "use client";
2
- import { zuiComboboxTriggerBase, zuiComboboxSizes, zuiComboboxTriggerVariants, zuiComboboxItemBase, zuiComboboxDisabled, zuiComboboxItemAppearances, zuiComboboxListBase, zuiComboboxListAppearances, zuiComboboxContentBase, zuiComboboxSpacing, zuiComboboxContentAppearances, zuiComboboxSearchRowBase, zuiComboboxSearchIconBase, zuiComboboxSearchInputBase, zuiComboboxEmptyBase } from '../chunk-I42UYWYA.mjs';
2
+ import { zuiComboboxTriggerBase, zuiComboboxSizes, zuiComboboxTriggerVariants, zuiComboboxItemBase, zuiComboboxDisabled, zuiComboboxItemAppearances, zuiComboboxListBase, zuiComboboxListAppearances, zuiComboboxContentBase, zuiComboboxSpacing, zuiComboboxContentAppearances, zuiComboboxSearchRowBase, zuiComboboxSearchIconBase, zuiComboboxSearchInputBase, zuiComboboxEmptyBase } from '../chunk-GUB3RSPR.mjs';
3
3
  import { cn } from '../chunk-4D54YOL6.mjs';
4
4
  import '../chunk-J5LGTIGS.mjs';
5
5
  import { createContext, useContext, useId, useState, useRef, useEffect, useMemo, useCallback } from 'react';
@@ -227,7 +227,7 @@ var ComboboxValue = ({
227
227
  {
228
228
  "data-slot": "combobox-placeholder",
229
229
  className: cn(
230
- "text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-white",
230
+ "text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-combobox-value-placeholder-fg-dark,#ffffff)]",
231
231
  className
232
232
  ),
233
233
  ...props,
@@ -403,7 +403,7 @@ var ComboboxItem = ({
403
403
  value,
404
404
  children,
405
405
  disabled,
406
- appearance = "default",
406
+ appearance,
407
407
  className,
408
408
  ...props
409
409
  }) => {
@@ -416,6 +416,8 @@ var ComboboxItem = ({
416
416
  setActiveValue,
417
417
  listboxId
418
418
  } = useCombobox();
419
+ const contentAppearance = useContext(ComboboxAppearanceContext);
420
+ const itemAppearance = appearance ?? contentAppearance;
419
421
  useEffect(() => {
420
422
  registerOption({ label: children, value, disabled });
421
423
  }, [children, disabled, registerOption, value]);
@@ -444,7 +446,7 @@ var ComboboxItem = ({
444
446
  }
445
447
  },
446
448
  className: cn(
447
- comboboxItemVariants({ disabled, appearance }),
449
+ comboboxItemVariants({ disabled, appearance: itemAppearance }),
448
450
  "flex justify-between",
449
451
  isHighlighted && "bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]",
450
452
  className
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/ui/combobox/variants.ts","../../src/ui/combobox/combobox-base.tsx"],"names":[],"mappings":"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","file":"combobox.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nimport {\n zuiComboboxContentAppearances,\n zuiComboboxContentBase,\n zuiComboboxDisabled,\n zuiComboboxItemAppearances,\n zuiComboboxItemBase,\n zuiComboboxListAppearances,\n zuiComboboxListBase,\n zuiComboboxSizes,\n zuiComboboxSpacing,\n zuiComboboxTriggerBase,\n zuiComboboxTriggerVariants,\n} from \"../../design-system/combobox\";\n\nexport const comboboxTriggerVariants = cva(zuiComboboxTriggerBase, {\n variants: {\n variant: zuiComboboxTriggerVariants,\n size: zuiComboboxSizes,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport const comboboxItemVariants = cva(zuiComboboxItemBase, {\n variants: {\n appearance: zuiComboboxItemAppearances,\n disabled: zuiComboboxDisabled,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxListVariants = cva(zuiComboboxListBase, {\n variants: {\n appearance: zuiComboboxListAppearances,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxContentVariants = cva(zuiComboboxContentBase, {\n variants: {\n appearance: zuiComboboxContentAppearances,\n size: zuiComboboxSizes,\n spacing: zuiComboboxSpacing,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode, RefObject } from \"react\";\n\nimport {\n zuiComboboxEmptyBase,\n zuiComboboxSearchIconBase,\n zuiComboboxSearchInputBase,\n zuiComboboxSearchRowBase,\n} from \"../../design-system/combobox\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n ComboboxAppearance,\n ComboboxContentProps,\n ComboboxContextType,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxListProps,\n ComboboxOption,\n ComboboxProps,\n ComboboxSearchProps,\n ComboboxTriggerProps,\n ComboboxValueProps,\n} from \"./types\";\nimport {\n comboboxContentVariants,\n comboboxItemVariants,\n comboboxListVariants,\n comboboxTriggerVariants,\n} from \"./variants\";\n\nconst ComboboxContext = createContext<ComboboxContextType | null>(null);\nconst ComboboxAppearanceContext = createContext<ComboboxAppearance>(\"default\");\n\nexport const useCombobox = () => {\n const ctx = useContext(ComboboxContext);\n if (!ctx) throw new Error(\"Combobox components must be used inside Combobox\");\n return ctx;\n};\n\nexport { ComboboxContext };\n\nexport const Combobox = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = false,\n className,\n}: ComboboxProps) => {\n const baseId = useId();\n const triggerId = `${baseId}-trigger`;\n const listboxId = `${baseId}-listbox`;\n\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ComboboxOption[]>([]);\n const [query, setQuery] = useState(\"\");\n const [activeValue, setActiveValue] = useState<string | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n if (event.target instanceof Node && !root.contains(event.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n setQuery(\"\");\n setActiveValue(null);\n }\n }, [open]);\n\n const visibleValues = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) return options.map((o) => o.value);\n return options\n .filter((o) => {\n if (o.disabled) return false;\n const labelText =\n typeof o.label === \"string\" ? o.label.toLowerCase() : \"\";\n return (\n o.value.toLowerCase().includes(normalized) ||\n labelText.includes(normalized)\n );\n })\n .map((o) => o.value);\n }, [query, options]);\n\n // If the current highlight gets filtered out while typing, clear it.\n // We do NOT auto-populate on open so ArrowDown always starts from the top.\n useEffect(() => {\n if (!open) return;\n if (!activeValue) return;\n if (visibleValues.includes(activeValue)) return;\n setActiveValue(null);\n }, [open, activeValue, visibleValues]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = useCallback(\n (val: string) => {\n if (multiple) {\n const next = selected.includes(val)\n ? selected.filter((v) => v !== val)\n : [...selected, val];\n setSelected(next);\n } else {\n setSelected([val]);\n setOpen(false);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [multiple, selected],\n );\n\n const isSelected = useCallback(\n (val: string) => selected.includes(val),\n [selected],\n );\n\n const isVisible = useCallback(\n (val: string) => visibleValues.includes(val),\n [visibleValues],\n );\n\n const registerOption = useCallback((opt: ComboboxOption) => {\n setOptions((prev) => {\n const existing = prev.find((o) => o.value === opt.value);\n if (existing) {\n const labelChanged =\n (typeof opt.label === \"string\" || typeof opt.label === \"number\") &&\n existing.label !== opt.label;\n const disabledChanged = existing.disabled !== opt.disabled;\n if (labelChanged || disabledChanged) {\n return prev.map((o) => (o.value === opt.value ? opt : o));\n }\n return prev;\n }\n return [...prev, opt];\n });\n // No cleanup on unmount: options must persist across panel open/close so\n // ComboboxValue can still display the selected label when the panel is closed.\n }, []);\n\n return (\n <ComboboxContext.Provider\n value={{\n open,\n setOpen,\n query,\n setQuery,\n selected,\n toggleValue,\n isSelected,\n multiple,\n options,\n registerOption,\n visibleValues,\n isVisible,\n activeValue,\n setActiveValue,\n triggerId,\n listboxId,\n searchRef,\n triggerRef,\n }}\n >\n <div ref={rootRef} className={cn(\"relative w-full\", className)}>\n {children}\n </div>\n </ComboboxContext.Provider>\n );\n};\n\nCombobox.displayName = \"Combobox\";\n\nexport const ComboboxTrigger = ({\n className,\n variant,\n size,\n onClick,\n ref: refProp,\n ...props\n}: ComboboxTriggerProps) => {\n const { open, setOpen, triggerId, listboxId, triggerRef } = useCombobox();\n\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n id={triggerId}\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n data-slot=\"combobox-trigger\"\n className={cn(comboboxTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport const ComboboxValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: ComboboxValueProps) => {\n const { selected, options } = useCombobox();\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span\n data-slot=\"combobox-placeholder\"\n className={cn(\n \"text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-white\",\n className,\n )}\n {...props}\n >\n {placeholder}\n </span>\n );\n }\n\n return (\n <span data-slot=\"combobox-value\" className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nComboboxValue.displayName = \"ComboboxValue\";\n\nexport const ComboboxContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: ComboboxContentProps) => {\n const { open, triggerId, listboxId, searchRef } = useCombobox();\n\n useEffect(() => {\n if (open) {\n searchRef.current?.focus();\n }\n }, [open, searchRef]);\n\n if (!open) return null;\n\n return (\n <ComboboxAppearanceContext.Provider value={appearance}>\n <div\n aria-labelledby={triggerId}\n data-slot=\"combobox-content\"\n className={cn(\n comboboxContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ComboboxAppearanceContext.Provider>\n );\n};\n\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport const ComboboxSearch = ({\n className,\n placeholder = \"Search...\",\n ref: refProp,\n ...props\n}: ComboboxSearchProps) => {\n const {\n query,\n setQuery,\n visibleValues,\n activeValue,\n setActiveValue,\n toggleValue,\n setOpen,\n searchRef,\n listboxId,\n options,\n triggerRef,\n } = useCombobox();\n\n const optionByValue = useMemo(\n () => new Map(options.map((option) => [option.value, option])),\n [options],\n );\n\n const moveActive = (direction: 1 | -1) => {\n if (visibleValues.length === 0) return;\n const currentIndex = activeValue ? visibleValues.indexOf(activeValue) : -1;\n let nextIndex = currentIndex;\n for (let i = 0; i < visibleValues.length; i++) {\n if (nextIndex === -1) {\n nextIndex = direction === 1 ? 0 : visibleValues.length - 1;\n } else {\n nextIndex =\n (nextIndex + direction + visibleValues.length) % visibleValues.length;\n }\n const candidate = optionByValue.get(visibleValues[nextIndex] ?? \"\");\n if (candidate && !candidate.disabled) {\n setActiveValue(visibleValues[nextIndex] ?? null);\n return;\n }\n }\n };\n\n return (\n <div data-slot=\"combobox-search-row\" className={zuiComboboxSearchRowBase}>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className={zuiComboboxSearchIconBase}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={(node) => {\n searchRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLInputElement | null>).current = node;\n }\n }}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n activeValue ? `${listboxId}-option-${activeValue}` : undefined\n }\n data-slot=\"combobox-search\"\n className={cn(zuiComboboxSearchInputBase, className)}\n placeholder={placeholder}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveActive(1);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveActive(-1);\n } else if (event.key === \"Enter\") {\n event.preventDefault();\n if (activeValue && visibleValues.includes(activeValue)) {\n const option = optionByValue.get(activeValue);\n if (option && !option.disabled) {\n toggleValue(activeValue);\n }\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n }}\n {...props}\n />\n </div>\n );\n};\n\nComboboxSearch.displayName = \"ComboboxSearch\";\n\nexport const ComboboxList = ({\n children,\n className,\n ...props\n}: ComboboxListProps) => {\n const { listboxId, triggerId } = useCombobox();\n const appearance = useContext(ComboboxAppearanceContext);\n\n return (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={triggerId}\n data-slot=\"combobox-list\"\n className={cn(comboboxListVariants({ appearance }), className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxList.displayName = \"ComboboxList\";\n\nexport const ComboboxItem = ({\n value,\n children,\n disabled,\n appearance = \"default\",\n className,\n ...props\n}: ComboboxItemProps) => {\n const {\n toggleValue,\n isSelected,\n registerOption,\n isVisible,\n activeValue,\n setActiveValue,\n listboxId,\n } = useCombobox();\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const visible = isVisible(value);\n const isActive = isSelected(value);\n const isHighlighted = activeValue === value;\n\n if (!visible) return null;\n\n return (\n <div\n id={`${listboxId}-option-${value}`}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n data-slot=\"combobox-item\"\n data-selected={isActive ? \"true\" : \"false\"}\n data-active={isHighlighted ? \"true\" : undefined}\n onMouseEnter={() => !disabled && setActiveValue(value)}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n className={cn(\n comboboxItemVariants({ disabled, appearance }),\n \"flex justify-between\",\n isHighlighted &&\n \"bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && (\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className=\"size-4 shrink-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n )}\n </div>\n );\n};\n\nComboboxItem.displayName = \"ComboboxItem\";\n\nexport const ComboboxEmpty = ({\n className,\n children,\n ...props\n}: ComboboxEmptyProps) => {\n const { visibleValues } = useCombobox();\n\n if (visibleValues.length > 0) return null;\n\n return (\n <div\n data-slot=\"combobox-empty\"\n className={cn(zuiComboboxEmptyBase, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxEmpty.displayName = \"ComboboxEmpty\";\n"]}
1
+ {"version":3,"sources":["../../src/ui/combobox/variants.ts","../../src/ui/combobox/combobox-base.tsx"],"names":[],"mappings":";;;;;;;AAgBO,IAAM,uBAAA,GAA0B,IAAI,sBAAA,EAAwB;AAAA,EACjE,QAAA,EAAU;AAAA,IACR,OAAA,EAAS,0BAAA;AAAA,IACT,IAAA,EAAM;AAAA,GACR;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM;AAAA;AAEV,CAAC;AAEM,IAAM,oBAAA,GAAuB,IAAI,mBAAA,EAAqB;AAAA,EAC3D,QAAA,EAAU;AAAA,IACR,UAAA,EAAY,0BAAA;AAAA,IACZ,QAAA,EAAU;AAAA,GACZ;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAC;AAEM,IAAM,oBAAA,GAAuB,IAAI,mBAAA,EAAqB;AAAA,EAC3D,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,GACd;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY;AAAA;AAEhB,CAAC;AAEM,IAAM,uBAAA,GAA0B,IAAI,sBAAA,EAAwB;AAAA,EACjE,QAAA,EAAU;AAAA,IACR,UAAA,EAAY,6BAAA;AAAA,IACZ,IAAA,EAAM,gBAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACX;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,SAAA;AAAA,IACZ,IAAA,EAAM,IAAA;AAAA,IACN,OAAA,EAAS;AAAA;AAEb,CAAC;AChBD,IAAM,eAAA,GAAkB,cAA0C,IAAI;AACtE,IAAM,yBAAA,GAA4B,cAAkC,SAAS,CAAA;AAEtE,IAAM,cAAc,MAAM;AAC/B,EAAA,MAAM,GAAA,GAAM,WAAW,eAAe,CAAA;AACtC,EAAA,IAAI,CAAC,GAAA,EAAK,MAAM,IAAI,MAAM,kDAAkD,CAAA;AAC5E,EAAA,OAAO,GAAA;AACT;AAIO,IAAM,WAAW,CAAC;AAAA,EACvB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,eAAe,EAAC;AAAA,EAChB,QAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX;AACF,CAAA,KAAqB;AACnB,EAAA,MAAM,SAAS,KAAA,EAAM;AACrB,EAAA,MAAM,SAAA,GAAY,GAAG,MAAM,CAAA,QAAA,CAAA;AAC3B,EAAA,MAAM,SAAA,GAAY,GAAG,MAAM,CAAA,QAAA,CAAA;AAE3B,EAAA,MAAM,CAAC,QAAA,EAAU,WAAW,CAAA,GAAI,SAAmB,YAAY,CAAA;AAC/D,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,KAAK,CAAA;AACtC,EAAA,MAAM,CAAC,OAAA,EAAS,UAAU,CAAA,GAAI,QAAA,CAA2B,EAAE,CAAA;AAC3D,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAI,SAAS,EAAE,CAAA;AACrC,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,CAAA,GAAI,SAAwB,IAAI,CAAA;AAClE,EAAA,MAAM,OAAA,GAAU,OAAuB,IAAI,CAAA;AAC3C,EAAA,MAAM,SAAA,GAAY,OAAgC,IAAI,CAAA;AACtD,EAAA,MAAM,UAAA,GAAa,OAAiC,IAAI,CAAA;AAExD,EAAA,MAAM,WAAW,KAAA,IAAS,QAAA;AAE1B,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAwB;AACjD,MAAA,MAAM,OAAO,OAAA,CAAQ,OAAA;AACrB,MAAA,IAAI,CAAC,IAAA,EAAM;AACX,MAAA,IAAI,KAAA,CAAM,kBAAkB,IAAA,IAAQ,CAAC,KAAK,QAAA,CAAS,KAAA,CAAM,MAAM,CAAA,EAAG;AAChE,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,MACf;AAAA,IACF,CAAA;AACA,IAAA,QAAA,CAAS,gBAAA,CAAiB,eAAe,iBAAiB,CAAA;AAC1D,IAAA,OAAO,MAAM,QAAA,CAAS,mBAAA,CAAoB,aAAA,EAAe,iBAAiB,CAAA;AAAA,EAC5E,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACT,MAAA,QAAA,CAAS,EAAE,CAAA;AACX,MAAA,cAAA,CAAe,IAAI,CAAA;AAAA,IACrB;AAAA,EACF,CAAA,EAAG,CAAC,IAAI,CAAC,CAAA;AAET,EAAA,MAAM,aAAA,GAAgB,QAAQ,MAAM;AAClC,IAAA,MAAM,UAAA,GAAa,KAAA,CAAM,IAAA,EAAK,CAAE,WAAA,EAAY;AAC5C,IAAA,IAAI,CAAC,YAAY,OAAO,OAAA,CAAQ,IAAI,CAAC,CAAA,KAAM,EAAE,KAAK,CAAA;AAClD,IAAA,OAAO,OAAA,CACJ,MAAA,CAAO,CAAC,CAAA,KAAM;AACb,MAAA,IAAI,CAAA,CAAE,UAAU,OAAO,KAAA;AACvB,MAAA,MAAM,SAAA,GACJ,OAAO,CAAA,CAAE,KAAA,KAAU,WAAW,CAAA,CAAE,KAAA,CAAM,aAAY,GAAI,EAAA;AACxD,MAAA,OACE,CAAA,CAAE,MAAM,WAAA,EAAY,CAAE,SAAS,UAAU,CAAA,IACzC,SAAA,CAAU,QAAA,CAAS,UAAU,CAAA;AAAA,IAEjC,CAAC,CAAA,CACA,GAAA,CAAI,CAAC,CAAA,KAAM,EAAE,KAAK,CAAA;AAAA,EACvB,CAAA,EAAG,CAAC,KAAA,EAAO,OAAO,CAAC,CAAA;AAInB,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,IAAA,EAAM;AACX,IAAA,IAAI,CAAC,WAAA,EAAa;AAClB,IAAA,IAAI,aAAA,CAAc,QAAA,CAAS,WAAW,CAAA,EAAG;AACzC,IAAA,cAAA,CAAe,IAAI,CAAA;AAAA,EACrB,CAAA,EAAG,CAAC,IAAA,EAAM,WAAA,EAAa,aAAa,CAAC,CAAA;AAErC,EAAA,MAAM,WAAA,GAAc,CAAC,IAAA,KAAmB;AACtC,IAAA,IAAI,UAAU,MAAA,EAAW;AACvB,MAAA,QAAA,GAAW,IAAI,CAAA;AAAA,IACjB,CAAA,MAAO;AACL,MAAA,WAAA,CAAY,IAAI,CAAA;AAChB,MAAA,QAAA,GAAW,IAAI,CAAA;AAAA,IACjB;AAAA,EACF,CAAA;AAEA,EAAA,MAAM,WAAA,GAAc,WAAA;AAAA,IAClB,CAAC,GAAA,KAAgB;AACf,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,IAAA,GAAO,QAAA,CAAS,QAAA,CAAS,GAAG,IAC9B,QAAA,CAAS,MAAA,CAAO,CAAC,CAAA,KAAM,MAAM,GAAG,CAAA,GAChC,CAAC,GAAG,UAAU,GAAG,CAAA;AACrB,QAAA,WAAA,CAAY,IAAI,CAAA;AAAA,MAClB,CAAA,MAAO;AACL,QAAA,WAAA,CAAY,CAAC,GAAG,CAAC,CAAA;AACjB,QAAA,OAAA,CAAQ,KAAK,CAAA;AAAA,MACf;AAAA,IACF,CAAA;AAAA;AAAA,IAEA,CAAC,UAAU,QAAQ;AAAA,GACrB;AAEA,EAAA,MAAM,UAAA,GAAa,WAAA;AAAA,IACjB,CAAC,GAAA,KAAgB,QAAA,CAAS,QAAA,CAAS,GAAG,CAAA;AAAA,IACtC,CAAC,QAAQ;AAAA,GACX;AAEA,EAAA,MAAM,SAAA,GAAY,WAAA;AAAA,IAChB,CAAC,GAAA,KAAgB,aAAA,CAAc,QAAA,CAAS,GAAG,CAAA;AAAA,IAC3C,CAAC,aAAa;AAAA,GAChB;AAEA,EAAA,MAAM,cAAA,GAAiB,WAAA,CAAY,CAAC,GAAA,KAAwB;AAC1D,IAAA,UAAA,CAAW,CAAC,IAAA,KAAS;AACnB,MAAA,MAAM,QAAA,GAAW,KAAK,IAAA,CAAK,CAAC,MAAM,CAAA,CAAE,KAAA,KAAU,IAAI,KAAK,CAAA;AACvD,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,MAAM,YAAA,GAAA,CACH,OAAO,GAAA,CAAI,KAAA,KAAU,QAAA,IAAY,OAAO,GAAA,CAAI,KAAA,KAAU,QAAA,KACvD,QAAA,CAAS,KAAA,KAAU,GAAA,CAAI,KAAA;AACzB,QAAA,MAAM,eAAA,GAAkB,QAAA,CAAS,QAAA,KAAa,GAAA,CAAI,QAAA;AAClD,QAAA,IAAI,gBAAgB,eAAA,EAAiB;AACnC,UAAA,OAAO,IAAA,CAAK,IAAI,CAAC,CAAA,KAAO,EAAE,KAAA,KAAU,GAAA,CAAI,KAAA,GAAQ,GAAA,GAAM,CAAE,CAAA;AAAA,QAC1D;AACA,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,OAAO,CAAC,GAAG,IAAA,EAAM,GAAG,CAAA;AAAA,IACtB,CAAC,CAAA;AAAA,EAGH,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,uBACE,GAAA;AAAA,IAAC,eAAA,CAAgB,QAAA;AAAA,IAAhB;AAAA,MACC,KAAA,EAAO;AAAA,QACL,IAAA;AAAA,QACA,OAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA;AAAA,QACA,QAAA;AAAA,QACA,WAAA;AAAA,QACA,UAAA;AAAA,QACA,QAAA;AAAA,QACA,OAAA;AAAA,QACA,cAAA;AAAA,QACA,aAAA;AAAA,QACA,SAAA;AAAA,QACA,WAAA;AAAA,QACA,cAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA,SAAA;AAAA,QACA;AAAA,OACF;AAAA,MAEA,QAAA,kBAAA,GAAA,CAAC,SAAI,GAAA,EAAK,OAAA,EAAS,WAAW,EAAA,CAAG,iBAAA,EAAmB,SAAS,CAAA,EAC1D,QAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AAEhB,IAAM,kBAAkB,CAAC;AAAA,EAC9B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA,EAAK,OAAA;AAAA,EACL,GAAG;AACL,CAAA,KAA4B;AAC1B,EAAA,MAAM,EAAE,IAAA,EAAM,OAAA,EAAS,WAAW,SAAA,EAAW,UAAA,KAAe,WAAA,EAAY;AAExE,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,GAAA,EAAK,CAAC,IAAA,KAAS;AACb,QAAA,UAAA,CAAW,OAAA,GAAU,IAAA;AACrB,QAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AACjC,UAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,QACd,WAAW,OAAA,EAAS;AAClB,UAAC,QAAgD,OAAA,GAAU,IAAA;AAAA,QAC7D;AAAA,MACF,CAAA;AAAA,MACA,EAAA,EAAI,SAAA;AAAA,MACJ,IAAA,EAAK,QAAA;AAAA,MACL,eAAA,EAAe,IAAA;AAAA,MACf,eAAA,EAAc,SAAA;AAAA,MACd,eAAA,EAAe,SAAA;AAAA,MACf,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,GAAG,uBAAA,CAAwB,EAAE,SAAS,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAClE,GAAG,KAAA;AAAA,MACJ,OAAA,EAAS,CAAC,KAAA,KAAU;AAClB,QAAA,OAAA,GAAU,KAAK,CAAA;AACf,QAAA,IAAI,CAAC,MAAM,gBAAA,EAAkB;AAC3B,UAAA,OAAA,CAAQ,CAAC,IAAI,CAAA;AAAA,QACf;AAAA,MACF;AAAA;AAAA,GACF;AAEJ;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAEvB,IAAM,gBAAgB,CAAC;AAAA,EAC5B,WAAA,GAAc,WAAA;AAAA,EACd,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA0B;AACxB,EAAA,MAAM,EAAE,QAAA,EAAU,OAAA,EAAQ,GAAI,WAAA,EAAY;AAC1C,EAAA,MAAM,eAAA,GAAkB,QAAQ,MAAA,CAAO,CAAC,MAAM,QAAA,CAAS,QAAA,CAAS,CAAA,CAAE,KAAK,CAAC,CAAA;AAExE,EAAA,IAAI,eAAA,CAAgB,WAAW,CAAA,EAAG;AAChC,IAAA,uBACE,GAAA;AAAA,MAAC,MAAA;AAAA,MAAA;AAAA,QACC,WAAA,EAAU,sBAAA;AAAA,QACV,SAAA,EAAW,EAAA;AAAA,UACT,0JAAA;AAAA,UACA;AAAA,SACF;AAAA,QACC,GAAG,KAAA;AAAA,QAEH,QAAA,EAAA;AAAA;AAAA,KACH;AAAA,EAEJ;AAEA,EAAA,2BACG,MAAA,EAAA,EAAK,WAAA,EAAU,gBAAA,EAAiB,SAAA,EAAW,GAAG,SAAS,CAAA,EAAI,GAAG,KAAA,EAC5D,0BAAgB,GAAA,CAAI,CAAC,MAAA,EAAQ,KAAA,0BAC3B,MAAA,EAAA,EACE,QAAA,EAAA;AAAA,IAAA,KAAA,GAAQ,IAAI,IAAA,GAAO,IAAA;AAAA,IACnB,MAAA,CAAO;AAAA,GAAA,EAAA,EAFC,MAAA,CAAO,KAGlB,CACD,CAAA,EACH,CAAA;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA;AAErB,IAAM,kBAAkB,CAAC;AAAA,EAC9B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,UAAA,GAAa,SAAA;AAAA,EACb,IAAA,GAAO,IAAA;AAAA,EACP,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,KAA4B;AAC1B,EAAA,MAAM,EAAE,IAAA,EAAM,SAAA,EAAW,SAAA,EAAW,SAAA,KAAc,WAAA,EAAY;AAE9D,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,IAAA,EAAM;AACR,MAAA,SAAA,CAAU,SAAS,KAAA,EAAM;AAAA,IAC3B;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,SAAS,CAAC,CAAA;AAEpB,EAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAElB,EAAA,uBACE,GAAA,CAAC,yBAAA,CAA0B,QAAA,EAA1B,EAAmC,OAAO,UAAA,EACzC,QAAA,kBAAA,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiB,SAAA;AAAA,MACjB,WAAA,EAAU,kBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,uBAAA,CAAwB,EAAE,UAAA,EAAY,IAAA,EAAM,SAAS,CAAA;AAAA,QACrD;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA;AAEvB,IAAM,iBAAiB,CAAC;AAAA,EAC7B,SAAA;AAAA,EACA,WAAA,GAAc,WAAA;AAAA,EACd,GAAA,EAAK,OAAA;AAAA,EACL,GAAG;AACL,CAAA,KAA2B;AACzB,EAAA,MAAM;AAAA,IACJ,KAAA;AAAA,IACA,QAAA;AAAA,IACA,aAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,SAAA;AAAA,IACA,SAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,MACE,WAAA,EAAY;AAEhB,EAAA,MAAM,aAAA,GAAgB,OAAA;AAAA,IACpB,MAAM,IAAI,GAAA,CAAI,OAAA,CAAQ,GAAA,CAAI,CAAC,MAAA,KAAW,CAAC,MAAA,CAAO,KAAA,EAAO,MAAM,CAAC,CAAC,CAAA;AAAA,IAC7D,CAAC,OAAO;AAAA,GACV;AAEA,EAAA,MAAM,UAAA,GAAa,CAAC,SAAA,KAAsB;AACxC,IAAA,IAAI,aAAA,CAAc,WAAW,CAAA,EAAG;AAChC,IAAA,MAAM,YAAA,GAAe,WAAA,GAAc,aAAA,CAAc,OAAA,CAAQ,WAAW,CAAA,GAAI,EAAA;AACxE,IAAA,IAAI,SAAA,GAAY,YAAA;AAChB,IAAA,KAAA,IAAS,CAAA,GAAI,CAAA,EAAG,CAAA,GAAI,aAAA,CAAc,QAAQ,CAAA,EAAA,EAAK;AAC7C,MAAA,IAAI,cAAc,EAAA,EAAI;AACpB,QAAA,SAAA,GAAY,SAAA,KAAc,CAAA,GAAI,CAAA,GAAI,aAAA,CAAc,MAAA,GAAS,CAAA;AAAA,MAC3D,CAAA,MAAO;AACL,QAAA,SAAA,GAAA,CACG,SAAA,GAAY,SAAA,GAAY,aAAA,CAAc,MAAA,IAAU,aAAA,CAAc,MAAA;AAAA,MACnE;AACA,MAAA,MAAM,YAAY,aAAA,CAAc,GAAA,CAAI,aAAA,CAAc,SAAS,KAAK,EAAE,CAAA;AAClE,MAAA,IAAI,SAAA,IAAa,CAAC,SAAA,CAAU,QAAA,EAAU;AACpC,QAAA,cAAA,CAAe,aAAA,CAAc,SAAS,CAAA,IAAK,IAAI,CAAA;AAC/C,QAAA;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,WAAA,EAAU,qBAAA,EAAsB,WAAW,wBAAA,EAC9C,QAAA,EAAA;AAAA,oBAAA,IAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,aAAA,EAAW,IAAA;AAAA,QACX,OAAA,EAAQ,WAAA;AAAA,QACR,SAAA,EAAW,yBAAA;AAAA,QACX,IAAA,EAAK,MAAA;AAAA,QACL,MAAA,EAAO,cAAA;AAAA,QACP,WAAA,EAAY,GAAA;AAAA,QACZ,aAAA,EAAc,OAAA;AAAA,QACd,cAAA,EAAe,OAAA;AAAA,QAEf,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,YAAO,EAAA,EAAG,IAAA,EAAK,EAAA,EAAG,IAAA,EAAK,GAAE,GAAA,EAAI,CAAA;AAAA,0BAC9B,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,gBAAA,EAAiB;AAAA;AAAA;AAAA,KAC3B;AAAA,oBACA,GAAA;AAAA,MAAC,OAAA;AAAA,MAAA;AAAA,QACC,GAAA,EAAK,CAAC,IAAA,KAAS;AACb,UAAA,SAAA,CAAU,OAAA,GAAU,IAAA;AACpB,UAAA,IAAI,OAAO,YAAY,UAAA,EAAY;AACjC,YAAA,OAAA,CAAQ,IAAI,CAAA;AAAA,UACd,WAAW,OAAA,EAAS;AAClB,YAAC,QAA+C,OAAA,GAAU,IAAA;AAAA,UAC5D;AAAA,QACF,CAAA;AAAA,QACA,IAAA,EAAK,MAAA;AAAA,QACL,IAAA,EAAK,UAAA;AAAA,QACL,eAAA,EAAa,IAAA;AAAA,QACb,eAAA,EAAe,SAAA;AAAA,QACf,mBAAA,EAAkB,MAAA;AAAA,QAClB,yBACE,WAAA,GAAc,CAAA,EAAG,SAAS,CAAA,QAAA,EAAW,WAAW,CAAA,CAAA,GAAK,MAAA;AAAA,QAEvD,WAAA,EAAU,iBAAA;AAAA,QACV,SAAA,EAAW,EAAA,CAAG,0BAAA,EAA4B,SAAS,CAAA;AAAA,QACnD,WAAA;AAAA,QACA,KAAA,EAAO,KAAA;AAAA,QACP,UAAU,CAAC,KAAA,KAAU,QAAA,CAAS,KAAA,CAAM,OAAO,KAAK,CAAA;AAAA,QAChD,SAAA,EAAW,CAAC,KAAA,KAAU;AACpB,UAAA,IAAI,KAAA,CAAM,QAAQ,WAAA,EAAa;AAC7B,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,UAAA,CAAW,CAAC,CAAA;AAAA,UACd,CAAA,MAAA,IAAW,KAAA,CAAM,GAAA,KAAQ,SAAA,EAAW;AAClC,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,UAAA,CAAW,EAAE,CAAA;AAAA,UACf,CAAA,MAAA,IAAW,KAAA,CAAM,GAAA,KAAQ,OAAA,EAAS;AAChC,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,IAAI,WAAA,IAAe,aAAA,CAAc,QAAA,CAAS,WAAW,CAAA,EAAG;AACtD,cAAA,MAAM,MAAA,GAAS,aAAA,CAAc,GAAA,CAAI,WAAW,CAAA;AAC5C,cAAA,IAAI,MAAA,IAAU,CAAC,MAAA,CAAO,QAAA,EAAU;AAC9B,gBAAA,WAAA,CAAY,WAAW,CAAA;AAAA,cACzB;AAAA,YACF;AAAA,UACF,CAAA,MAAA,IAAW,KAAA,CAAM,GAAA,KAAQ,QAAA,EAAU;AACjC,YAAA,KAAA,CAAM,cAAA,EAAe;AACrB,YAAA,OAAA,CAAQ,KAAK,CAAA;AACb,YAAA,UAAA,CAAW,SAAS,KAAA,EAAM;AAAA,UAC5B;AAAA,QACF,CAAA;AAAA,QACC,GAAG;AAAA;AAAA;AACN,GAAA,EACF,CAAA;AAEJ;AAEA,cAAA,CAAe,WAAA,GAAc,gBAAA;AAEtB,IAAM,eAAe,CAAC;AAAA,EAC3B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAyB;AACvB,EAAA,MAAM,EAAE,SAAA,EAAW,SAAA,EAAU,GAAI,WAAA,EAAY;AAC7C,EAAA,MAAM,UAAA,GAAa,WAAW,yBAAyB,CAAA;AAEvD,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI,SAAA;AAAA,MACJ,IAAA,EAAK,SAAA;AAAA,MACL,iBAAA,EAAiB,SAAA;AAAA,MACjB,WAAA,EAAU,eAAA;AAAA,MACV,WAAW,EAAA,CAAG,oBAAA,CAAqB,EAAE,UAAA,EAAY,GAAG,SAAS,CAAA;AAAA,MAC5D,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,eAAe,CAAC;AAAA,EAC3B,KAAA;AAAA,EACA,QAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,SAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAyB;AACvB,EAAA,MAAM;AAAA,IACJ,WAAA;AAAA,IACA,UAAA;AAAA,IACA,cAAA;AAAA,IACA,SAAA;AAAA,IACA,WAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,MACE,WAAA,EAAY;AAChB,EAAA,MAAM,iBAAA,GAAoB,WAAW,yBAAyB,CAAA;AAC9D,EAAA,MAAM,iBAAiB,UAAA,IAAc,iBAAA;AAErC,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,cAAA,CAAe,EAAE,KAAA,EAAO,QAAA,EAAU,KAAA,EAAO,UAAU,CAAA;AAAA,EACrD,GAAG,CAAC,QAAA,EAAU,QAAA,EAAU,cAAA,EAAgB,KAAK,CAAC,CAAA;AAE9C,EAAA,MAAM,OAAA,GAAU,UAAU,KAAK,CAAA;AAC/B,EAAA,MAAM,QAAA,GAAW,WAAW,KAAK,CAAA;AACjC,EAAA,MAAM,gBAAgB,WAAA,KAAgB,KAAA;AAEtC,EAAA,IAAI,CAAC,SAAS,OAAO,IAAA;AAErB,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAI,CAAA,EAAG,SAAS,CAAA,QAAA,EAAW,KAAK,CAAA,CAAA;AAAA,MAChC,IAAA,EAAK,QAAA;AAAA,MACL,eAAA,EAAe,QAAA;AAAA,MACf,eAAA,EAAe,WAAW,IAAA,GAAO,MAAA;AAAA,MACjC,QAAA,EAAU,EAAA;AAAA,MACV,WAAA,EAAU,eAAA;AAAA,MACV,eAAA,EAAe,WAAW,MAAA,GAAS,OAAA;AAAA,MACnC,aAAA,EAAa,gBAAgB,MAAA,GAAS,MAAA;AAAA,MACtC,YAAA,EAAc,MAAM,CAAC,QAAA,IAAY,eAAe,KAAK,CAAA;AAAA,MACrD,OAAA,EAAS,MAAM,CAAC,QAAA,IAAY,YAAY,KAAK,CAAA;AAAA,MAC7C,SAAA,EAAW,CAAC,CAAA,KAAM;AAChB,QAAA,IAAI,QAAA,EAAU;AACd,QAAA,IAAI,CAAA,CAAE,GAAA,KAAQ,OAAA,IAAW,CAAA,CAAE,QAAQ,GAAA,EAAK;AACtC,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA,WAAA,CAAY,KAAK,CAAA;AAAA,QACnB;AAAA,MACF,CAAA;AAAA,MACA,SAAA,EAAW,EAAA;AAAA,QACT,oBAAA,CAAqB,EAAE,QAAA,EAAU,UAAA,EAAY,gBAAgB,CAAA;AAAA,QAC7D,sBAAA;AAAA,QACA,aAAA,IACE,6IAAA;AAAA,QACF;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACA,QAAA,oBACC,GAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAW,IAAA;AAAA,YACX,OAAA,EAAQ,WAAA;AAAA,YACR,SAAA,EAAU,iBAAA;AAAA,YACV,IAAA,EAAK,MAAA;AAAA,YACL,MAAA,EAAO,cAAA;AAAA,YACP,WAAA,EAAY,KAAA;AAAA,YACZ,aAAA,EAAc,OAAA;AAAA,YACd,cAAA,EAAe,OAAA;AAAA,YAEf,QAAA,kBAAA,GAAA,CAAC,MAAA,EAAA,EAAK,CAAA,EAAE,iBAAA,EAAkB;AAAA;AAAA;AAC5B;AAAA;AAAA,GAEJ;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AAEpB,IAAM,gBAAgB,CAAC;AAAA,EAC5B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAA0B;AACxB,EAAA,MAAM,EAAE,aAAA,EAAc,GAAI,WAAA,EAAY;AAEtC,EAAA,IAAI,aAAA,CAAc,MAAA,GAAS,CAAA,EAAG,OAAO,IAAA;AAErC,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,gBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,oBAAA,EAAsB,SAAS,CAAA;AAAA,MAC5C,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAEA,aAAA,CAAc,WAAA,GAAc,eAAA","file":"combobox.mjs","sourcesContent":["import { cva } from \"class-variance-authority\";\n\nimport {\n zuiComboboxContentAppearances,\n zuiComboboxContentBase,\n zuiComboboxDisabled,\n zuiComboboxItemAppearances,\n zuiComboboxItemBase,\n zuiComboboxListAppearances,\n zuiComboboxListBase,\n zuiComboboxSizes,\n zuiComboboxSpacing,\n zuiComboboxTriggerBase,\n zuiComboboxTriggerVariants,\n} from \"../../design-system/combobox\";\n\nexport const comboboxTriggerVariants = cva(zuiComboboxTriggerBase, {\n variants: {\n variant: zuiComboboxTriggerVariants,\n size: zuiComboboxSizes,\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n});\n\nexport const comboboxItemVariants = cva(zuiComboboxItemBase, {\n variants: {\n appearance: zuiComboboxItemAppearances,\n disabled: zuiComboboxDisabled,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxListVariants = cva(zuiComboboxListBase, {\n variants: {\n appearance: zuiComboboxListAppearances,\n },\n defaultVariants: {\n appearance: \"default\",\n },\n});\n\nexport const comboboxContentVariants = cva(zuiComboboxContentBase, {\n variants: {\n appearance: zuiComboboxContentAppearances,\n size: zuiComboboxSizes,\n spacing: zuiComboboxSpacing,\n },\n defaultVariants: {\n appearance: \"default\",\n size: \"md\",\n spacing: \"default\",\n },\n});\n","\"use client\";\n\nimport {\n createContext,\n useCallback,\n useContext,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport type { ReactNode, RefObject } from \"react\";\n\nimport {\n zuiComboboxEmptyBase,\n zuiComboboxSearchIconBase,\n zuiComboboxSearchInputBase,\n zuiComboboxSearchRowBase,\n} from \"../../design-system/combobox\";\nimport { cn } from \"../../lib/utils\";\nimport type {\n ComboboxAppearance,\n ComboboxContentProps,\n ComboboxContextType,\n ComboboxEmptyProps,\n ComboboxItemProps,\n ComboboxListProps,\n ComboboxOption,\n ComboboxProps,\n ComboboxSearchProps,\n ComboboxTriggerProps,\n ComboboxValueProps,\n} from \"./types\";\nimport {\n comboboxContentVariants,\n comboboxItemVariants,\n comboboxListVariants,\n comboboxTriggerVariants,\n} from \"./variants\";\n\nconst ComboboxContext = createContext<ComboboxContextType | null>(null);\nconst ComboboxAppearanceContext = createContext<ComboboxAppearance>(\"default\");\n\nexport const useCombobox = () => {\n const ctx = useContext(ComboboxContext);\n if (!ctx) throw new Error(\"Combobox components must be used inside Combobox\");\n return ctx;\n};\n\nexport { ComboboxContext };\n\nexport const Combobox = ({\n children,\n value,\n defaultValue = [],\n onChange,\n multiple = false,\n className,\n}: ComboboxProps) => {\n const baseId = useId();\n const triggerId = `${baseId}-trigger`;\n const listboxId = `${baseId}-listbox`;\n\n const [internal, setInternal] = useState<string[]>(defaultValue);\n const [open, setOpen] = useState(false);\n const [options, setOptions] = useState<ComboboxOption[]>([]);\n const [query, setQuery] = useState(\"\");\n const [activeValue, setActiveValue] = useState<string | null>(null);\n const rootRef = useRef<HTMLDivElement>(null);\n const searchRef = useRef<HTMLInputElement | null>(null);\n const triggerRef = useRef<HTMLButtonElement | null>(null);\n\n const selected = value ?? internal;\n\n useEffect(() => {\n if (!open) return;\n const handlePointerDown = (event: PointerEvent) => {\n const root = rootRef.current;\n if (!root) return;\n if (event.target instanceof Node && !root.contains(event.target)) {\n setOpen(false);\n }\n };\n document.addEventListener(\"pointerdown\", handlePointerDown);\n return () => document.removeEventListener(\"pointerdown\", handlePointerDown);\n }, [open]);\n\n useEffect(() => {\n if (!open) {\n setQuery(\"\");\n setActiveValue(null);\n }\n }, [open]);\n\n const visibleValues = useMemo(() => {\n const normalized = query.trim().toLowerCase();\n if (!normalized) return options.map((o) => o.value);\n return options\n .filter((o) => {\n if (o.disabled) return false;\n const labelText =\n typeof o.label === \"string\" ? o.label.toLowerCase() : \"\";\n return (\n o.value.toLowerCase().includes(normalized) ||\n labelText.includes(normalized)\n );\n })\n .map((o) => o.value);\n }, [query, options]);\n\n // If the current highlight gets filtered out while typing, clear it.\n // We do NOT auto-populate on open so ArrowDown always starts from the top.\n useEffect(() => {\n if (!open) return;\n if (!activeValue) return;\n if (visibleValues.includes(activeValue)) return;\n setActiveValue(null);\n }, [open, activeValue, visibleValues]);\n\n const setSelected = (vals: string[]) => {\n if (value !== undefined) {\n onChange?.(vals);\n } else {\n setInternal(vals);\n onChange?.(vals);\n }\n };\n\n const toggleValue = useCallback(\n (val: string) => {\n if (multiple) {\n const next = selected.includes(val)\n ? selected.filter((v) => v !== val)\n : [...selected, val];\n setSelected(next);\n } else {\n setSelected([val]);\n setOpen(false);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [multiple, selected],\n );\n\n const isSelected = useCallback(\n (val: string) => selected.includes(val),\n [selected],\n );\n\n const isVisible = useCallback(\n (val: string) => visibleValues.includes(val),\n [visibleValues],\n );\n\n const registerOption = useCallback((opt: ComboboxOption) => {\n setOptions((prev) => {\n const existing = prev.find((o) => o.value === opt.value);\n if (existing) {\n const labelChanged =\n (typeof opt.label === \"string\" || typeof opt.label === \"number\") &&\n existing.label !== opt.label;\n const disabledChanged = existing.disabled !== opt.disabled;\n if (labelChanged || disabledChanged) {\n return prev.map((o) => (o.value === opt.value ? opt : o));\n }\n return prev;\n }\n return [...prev, opt];\n });\n // No cleanup on unmount: options must persist across panel open/close so\n // ComboboxValue can still display the selected label when the panel is closed.\n }, []);\n\n return (\n <ComboboxContext.Provider\n value={{\n open,\n setOpen,\n query,\n setQuery,\n selected,\n toggleValue,\n isSelected,\n multiple,\n options,\n registerOption,\n visibleValues,\n isVisible,\n activeValue,\n setActiveValue,\n triggerId,\n listboxId,\n searchRef,\n triggerRef,\n }}\n >\n <div ref={rootRef} className={cn(\"relative w-full\", className)}>\n {children}\n </div>\n </ComboboxContext.Provider>\n );\n};\n\nCombobox.displayName = \"Combobox\";\n\nexport const ComboboxTrigger = ({\n className,\n variant,\n size,\n onClick,\n ref: refProp,\n ...props\n}: ComboboxTriggerProps) => {\n const { open, setOpen, triggerId, listboxId, triggerRef } = useCombobox();\n\n return (\n <button\n ref={(node) => {\n triggerRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLButtonElement | null>).current = node;\n }\n }}\n id={triggerId}\n type=\"button\"\n aria-expanded={open}\n aria-haspopup=\"listbox\"\n aria-controls={listboxId}\n data-slot=\"combobox-trigger\"\n className={cn(comboboxTriggerVariants({ variant, size }), className)}\n {...props}\n onClick={(event) => {\n onClick?.(event);\n if (!event.defaultPrevented) {\n setOpen(!open);\n }\n }}\n />\n );\n};\n\nComboboxTrigger.displayName = \"ComboboxTrigger\";\n\nexport const ComboboxValue = ({\n placeholder = \"Select...\",\n className,\n ...props\n}: ComboboxValueProps) => {\n const { selected, options } = useCombobox();\n const selectedOptions = options.filter((o) => selected.includes(o.value));\n\n if (selectedOptions.length === 0) {\n return (\n <span\n data-slot=\"combobox-placeholder\"\n className={cn(\n \"text-[color:var(--zui-combobox-value-placeholder-fg,oklch(55.1%_0.027_264.364))] dark:text-[color:var(--zui-combobox-value-placeholder-fg-dark,#ffffff)]\",\n className,\n )}\n {...props}\n >\n {placeholder}\n </span>\n );\n }\n\n return (\n <span data-slot=\"combobox-value\" className={cn(className)} {...props}>\n {selectedOptions.map((option, index) => (\n <span key={option.value}>\n {index > 0 ? \", \" : null}\n {option.label}\n </span>\n ))}\n </span>\n );\n};\n\nComboboxValue.displayName = \"ComboboxValue\";\n\nexport const ComboboxContent = ({\n children,\n className,\n appearance = \"default\",\n size = \"md\",\n spacing = \"default\",\n ...props\n}: ComboboxContentProps) => {\n const { open, triggerId, listboxId, searchRef } = useCombobox();\n\n useEffect(() => {\n if (open) {\n searchRef.current?.focus();\n }\n }, [open, searchRef]);\n\n if (!open) return null;\n\n return (\n <ComboboxAppearanceContext.Provider value={appearance}>\n <div\n aria-labelledby={triggerId}\n data-slot=\"combobox-content\"\n className={cn(\n comboboxContentVariants({ appearance, size, spacing }),\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </ComboboxAppearanceContext.Provider>\n );\n};\n\nComboboxContent.displayName = \"ComboboxContent\";\n\nexport const ComboboxSearch = ({\n className,\n placeholder = \"Search...\",\n ref: refProp,\n ...props\n}: ComboboxSearchProps) => {\n const {\n query,\n setQuery,\n visibleValues,\n activeValue,\n setActiveValue,\n toggleValue,\n setOpen,\n searchRef,\n listboxId,\n options,\n triggerRef,\n } = useCombobox();\n\n const optionByValue = useMemo(\n () => new Map(options.map((option) => [option.value, option])),\n [options],\n );\n\n const moveActive = (direction: 1 | -1) => {\n if (visibleValues.length === 0) return;\n const currentIndex = activeValue ? visibleValues.indexOf(activeValue) : -1;\n let nextIndex = currentIndex;\n for (let i = 0; i < visibleValues.length; i++) {\n if (nextIndex === -1) {\n nextIndex = direction === 1 ? 0 : visibleValues.length - 1;\n } else {\n nextIndex =\n (nextIndex + direction + visibleValues.length) % visibleValues.length;\n }\n const candidate = optionByValue.get(visibleValues[nextIndex] ?? \"\");\n if (candidate && !candidate.disabled) {\n setActiveValue(visibleValues[nextIndex] ?? null);\n return;\n }\n }\n };\n\n return (\n <div data-slot=\"combobox-search-row\" className={zuiComboboxSearchRowBase}>\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className={zuiComboboxSearchIconBase}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <circle cx=\"11\" cy=\"11\" r=\"8\" />\n <path d=\"m21 21-4.3-4.3\" />\n </svg>\n <input\n ref={(node) => {\n searchRef.current = node;\n if (typeof refProp === \"function\") {\n refProp(node);\n } else if (refProp) {\n (refProp as RefObject<HTMLInputElement | null>).current = node;\n }\n }}\n type=\"text\"\n role=\"combobox\"\n aria-expanded\n aria-controls={listboxId}\n aria-autocomplete=\"list\"\n aria-activedescendant={\n activeValue ? `${listboxId}-option-${activeValue}` : undefined\n }\n data-slot=\"combobox-search\"\n className={cn(zuiComboboxSearchInputBase, className)}\n placeholder={placeholder}\n value={query}\n onChange={(event) => setQuery(event.target.value)}\n onKeyDown={(event) => {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n moveActive(1);\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n moveActive(-1);\n } else if (event.key === \"Enter\") {\n event.preventDefault();\n if (activeValue && visibleValues.includes(activeValue)) {\n const option = optionByValue.get(activeValue);\n if (option && !option.disabled) {\n toggleValue(activeValue);\n }\n }\n } else if (event.key === \"Escape\") {\n event.preventDefault();\n setOpen(false);\n triggerRef.current?.focus();\n }\n }}\n {...props}\n />\n </div>\n );\n};\n\nComboboxSearch.displayName = \"ComboboxSearch\";\n\nexport const ComboboxList = ({\n children,\n className,\n ...props\n}: ComboboxListProps) => {\n const { listboxId, triggerId } = useCombobox();\n const appearance = useContext(ComboboxAppearanceContext);\n\n return (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-labelledby={triggerId}\n data-slot=\"combobox-list\"\n className={cn(comboboxListVariants({ appearance }), className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxList.displayName = \"ComboboxList\";\n\nexport const ComboboxItem = ({\n value,\n children,\n disabled,\n appearance,\n className,\n ...props\n}: ComboboxItemProps) => {\n const {\n toggleValue,\n isSelected,\n registerOption,\n isVisible,\n activeValue,\n setActiveValue,\n listboxId,\n } = useCombobox();\n const contentAppearance = useContext(ComboboxAppearanceContext);\n const itemAppearance = appearance ?? contentAppearance;\n\n useEffect(() => {\n registerOption({ label: children, value, disabled });\n }, [children, disabled, registerOption, value]);\n\n const visible = isVisible(value);\n const isActive = isSelected(value);\n const isHighlighted = activeValue === value;\n\n if (!visible) return null;\n\n return (\n <div\n id={`${listboxId}-option-${value}`}\n role=\"option\"\n aria-selected={isActive}\n aria-disabled={disabled ? true : undefined}\n tabIndex={-1}\n data-slot=\"combobox-item\"\n data-selected={isActive ? \"true\" : \"false\"}\n data-active={isHighlighted ? \"true\" : undefined}\n onMouseEnter={() => !disabled && setActiveValue(value)}\n onClick={() => !disabled && toggleValue(value)}\n onKeyDown={(e) => {\n if (disabled) return;\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n toggleValue(value);\n }\n }}\n className={cn(\n comboboxItemVariants({ disabled, appearance: itemAppearance }),\n \"flex justify-between\",\n isHighlighted &&\n \"bg-[var(--zui-combobox-item-active-bg,oklch(93%_0.006_264.531))] dark:bg-[var(--zui-combobox-item-active-bg-dark,oklch(22%_0.006_264.531))]\",\n className,\n )}\n {...props}\n >\n {children}\n {isActive && (\n <svg\n aria-hidden\n viewBox=\"0 0 24 24\"\n className=\"size-4 shrink-0\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2.5\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n >\n <path d=\"M20 6 9 17l-5-5\" />\n </svg>\n )}\n </div>\n );\n};\n\nComboboxItem.displayName = \"ComboboxItem\";\n\nexport const ComboboxEmpty = ({\n className,\n children,\n ...props\n}: ComboboxEmptyProps) => {\n const { visibleValues } = useCombobox();\n\n if (visibleValues.length > 0) return null;\n\n return (\n <div\n data-slot=\"combobox-empty\"\n className={cn(zuiComboboxEmptyBase, className)}\n {...props}\n >\n {children}\n </div>\n );\n};\n\nComboboxEmpty.displayName = \"ComboboxEmpty\";\n"]}
@@ -1,10 +1,10 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkNWMSIYZP_js = require('../../chunk-NWMSIYZP.js');
4
+ var chunk642JVK45_js = require('../../chunk-642JVK45.js');
5
5
  require('../../chunk-GBWGVNDA.js');
6
6
  require('../../chunk-UIYFEP3I.js');
7
- require('../../chunk-R2256VSD.js');
7
+ require('../../chunk-UQQHB3OI.js');
8
8
  require('../../chunk-ZS5756ZC.js');
9
9
  require('../../chunk-PZ5AY32C.js');
10
10
  var framerMotion = require('framer-motion');
@@ -52,7 +52,7 @@ function CommandContentAnimated({
52
52
  const overlayMotion = commandOverlayAnimationPresets.fade;
53
53
  const panelMotion = commandOverlayAnimationPresets[reduceMotion ? "fade" : animation];
54
54
  return /* @__PURE__ */ jsxRuntime.jsx(
55
- chunkNWMSIYZP_js.CommandContentLayer,
55
+ chunk642JVK45_js.CommandContentLayer,
56
56
  {
57
57
  appearance,
58
58
  className,
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { CommandContentLayer } from '../../chunk-I4TGI6U3.mjs';
2
+ import { CommandContentLayer } from '../../chunk-RJ7L45SA.mjs';
3
3
  import '../../chunk-K6YI4FJO.mjs';
4
4
  import '../../chunk-PMAF6FBF.mjs';
5
- import '../../chunk-5R6XJAXQ.mjs';
5
+ import '../../chunk-6ERBVFDA.mjs';
6
6
  import '../../chunk-4D54YOL6.mjs';
7
7
  import '../../chunk-J5LGTIGS.mjs';
8
8
  import { useReducedMotion, AnimatePresence, motion } from 'framer-motion';
@@ -1,70 +1,70 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkNWMSIYZP_js = require('../chunk-NWMSIYZP.js');
4
+ var chunk642JVK45_js = require('../chunk-642JVK45.js');
5
5
  require('../chunk-GBWGVNDA.js');
6
6
  require('../chunk-UIYFEP3I.js');
7
- require('../chunk-R2256VSD.js');
7
+ require('../chunk-UQQHB3OI.js');
8
8
  require('../chunk-ZS5756ZC.js');
9
9
  require('../chunk-PZ5AY32C.js');
10
10
  var jsxRuntime = require('react/jsx-runtime');
11
11
 
12
12
  var Command2 = (props) => {
13
- return /* @__PURE__ */ jsxRuntime.jsx(chunkNWMSIYZP_js.Command, { ...props });
13
+ return /* @__PURE__ */ jsxRuntime.jsx(chunk642JVK45_js.Command, { ...props });
14
14
  };
15
15
  Command2.displayName = "Command";
16
16
 
17
17
  Object.defineProperty(exports, "CommandContent", {
18
18
  enumerable: true,
19
- get: function () { return chunkNWMSIYZP_js.CommandContent; }
19
+ get: function () { return chunk642JVK45_js.CommandContent; }
20
20
  });
21
21
  Object.defineProperty(exports, "CommandEmpty", {
22
22
  enumerable: true,
23
- get: function () { return chunkNWMSIYZP_js.CommandEmpty; }
23
+ get: function () { return chunk642JVK45_js.CommandEmpty; }
24
24
  });
25
25
  Object.defineProperty(exports, "CommandFooter", {
26
26
  enumerable: true,
27
- get: function () { return chunkNWMSIYZP_js.CommandFooter; }
27
+ get: function () { return chunk642JVK45_js.CommandFooter; }
28
28
  });
29
29
  Object.defineProperty(exports, "CommandGroup", {
30
30
  enumerable: true,
31
- get: function () { return chunkNWMSIYZP_js.CommandGroup; }
31
+ get: function () { return chunk642JVK45_js.CommandGroup; }
32
32
  });
33
33
  Object.defineProperty(exports, "CommandInput", {
34
34
  enumerable: true,
35
- get: function () { return chunkNWMSIYZP_js.CommandInput; }
35
+ get: function () { return chunk642JVK45_js.CommandInput; }
36
36
  });
37
37
  Object.defineProperty(exports, "CommandItem", {
38
38
  enumerable: true,
39
- get: function () { return chunkNWMSIYZP_js.CommandItem; }
39
+ get: function () { return chunk642JVK45_js.CommandItem; }
40
40
  });
41
41
  Object.defineProperty(exports, "CommandList", {
42
42
  enumerable: true,
43
- get: function () { return chunkNWMSIYZP_js.CommandList; }
43
+ get: function () { return chunk642JVK45_js.CommandList; }
44
44
  });
45
45
  Object.defineProperty(exports, "CommandSeparator", {
46
46
  enumerable: true,
47
- get: function () { return chunkNWMSIYZP_js.CommandSeparator; }
47
+ get: function () { return chunk642JVK45_js.CommandSeparator; }
48
48
  });
49
49
  Object.defineProperty(exports, "CommandTrigger", {
50
50
  enumerable: true,
51
- get: function () { return chunkNWMSIYZP_js.CommandTrigger; }
51
+ get: function () { return chunk642JVK45_js.CommandTrigger; }
52
52
  });
53
53
  Object.defineProperty(exports, "commandContentVariants", {
54
54
  enumerable: true,
55
- get: function () { return chunkNWMSIYZP_js.commandContentVariants; }
55
+ get: function () { return chunk642JVK45_js.commandContentVariants; }
56
56
  });
57
57
  Object.defineProperty(exports, "commandItemVariants", {
58
58
  enumerable: true,
59
- get: function () { return chunkNWMSIYZP_js.commandItemVariants; }
59
+ get: function () { return chunk642JVK45_js.commandItemVariants; }
60
60
  });
61
61
  Object.defineProperty(exports, "commandOverlayVariants", {
62
62
  enumerable: true,
63
- get: function () { return chunkNWMSIYZP_js.commandOverlayVariants; }
63
+ get: function () { return chunk642JVK45_js.commandOverlayVariants; }
64
64
  });
65
65
  Object.defineProperty(exports, "useCommandContext", {
66
66
  enumerable: true,
67
- get: function () { return chunkNWMSIYZP_js.useCommandContext; }
67
+ get: function () { return chunk642JVK45_js.useCommandContext; }
68
68
  });
69
69
  exports.Command = Command2;
70
70
  //# sourceMappingURL=command.js.map
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { Command } from '../chunk-I4TGI6U3.mjs';
3
- export { CommandContent, CommandEmpty, CommandFooter, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandTrigger, commandContentVariants, commandItemVariants, commandOverlayVariants, useCommandContext } from '../chunk-I4TGI6U3.mjs';
2
+ import { Command } from '../chunk-RJ7L45SA.mjs';
3
+ export { CommandContent, CommandEmpty, CommandFooter, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandTrigger, commandContentVariants, commandItemVariants, commandOverlayVariants, useCommandContext } from '../chunk-RJ7L45SA.mjs';
4
4
  import '../chunk-K6YI4FJO.mjs';
5
5
  import '../chunk-PMAF6FBF.mjs';
6
- import '../chunk-5R6XJAXQ.mjs';
6
+ import '../chunk-6ERBVFDA.mjs';
7
7
  import '../chunk-4D54YOL6.mjs';
8
8
  import '../chunk-J5LGTIGS.mjs';
9
9
  import { jsx } from 'react/jsx-runtime';
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkY4YQSCNL_js = require('../chunk-Y4YQSCNL.js');
5
- require('../chunk-FWY22BZZ.js');
4
+ var chunkBBM4BKSN_js = require('../chunk-BBM4BKSN.js');
5
+ require('../chunk-Y5JAQEBF.js');
6
6
  var chunkZS5756ZC_js = require('../chunk-ZS5756ZC.js');
7
7
  require('../chunk-PZ5AY32C.js');
8
8
  var react = require('react');
@@ -10,17 +10,17 @@ var fi = require('react-icons/fi');
10
10
  var classVarianceAuthority = require('class-variance-authority');
11
11
  var jsxRuntime = require('react/jsx-runtime');
12
12
 
13
- var contextMenuContentVariants = classVarianceAuthority.cva(chunkY4YQSCNL_js.zuiContextMenuContentBase, {
13
+ var contextMenuContentVariants = classVarianceAuthority.cva(chunkBBM4BKSN_js.zuiContextMenuContentBase, {
14
14
  variants: {
15
- spacing: chunkY4YQSCNL_js.zuiContextMenuSpacing
15
+ spacing: chunkBBM4BKSN_js.zuiContextMenuSpacing
16
16
  },
17
17
  defaultVariants: {
18
18
  spacing: "default"
19
19
  }
20
20
  });
21
- var contextMenuItemVariants = classVarianceAuthority.cva(chunkY4YQSCNL_js.zuiContextMenuItemBase, {
21
+ var contextMenuItemVariants = classVarianceAuthority.cva(chunkBBM4BKSN_js.zuiContextMenuItemBase, {
22
22
  variants: {
23
- variant: chunkY4YQSCNL_js.zuiContextMenuItemVariants
23
+ variant: chunkBBM4BKSN_js.zuiContextMenuItemVariants
24
24
  },
25
25
  defaultVariants: {
26
26
  variant: "default"
@@ -345,7 +345,7 @@ var ContextMenuLabel = ({
345
345
  return /* @__PURE__ */ jsxRuntime.jsx(
346
346
  "p",
347
347
  {
348
- className: chunkZS5756ZC_js.cn(chunkY4YQSCNL_js.zuiContextMenuLabelBase, inset && "pl-8", className),
348
+ className: chunkZS5756ZC_js.cn(chunkBBM4BKSN_js.zuiContextMenuLabelBase, inset && "pl-8", className),
349
349
  ...props,
350
350
  children
351
351
  }
@@ -359,7 +359,7 @@ var ContextMenuSeparator = ({
359
359
  "div",
360
360
  {
361
361
  role: "separator",
362
- className: chunkZS5756ZC_js.cn(chunkY4YQSCNL_js.zuiContextMenuSeparatorBase, className),
362
+ className: chunkZS5756ZC_js.cn(chunkBBM4BKSN_js.zuiContextMenuSeparatorBase, className),
363
363
  ...props
364
364
  }
365
365
  );
@@ -1,6 +1,6 @@
1
1
  "use client";
2
- import { zuiContextMenuContentBase, zuiContextMenuSpacing, zuiContextMenuItemBase, zuiContextMenuItemVariants, zuiContextMenuLabelBase, zuiContextMenuSeparatorBase } from '../chunk-456OEGUT.mjs';
3
- import '../chunk-IZAQBJKT.mjs';
2
+ import { zuiContextMenuContentBase, zuiContextMenuSpacing, zuiContextMenuItemBase, zuiContextMenuItemVariants, zuiContextMenuLabelBase, zuiContextMenuSeparatorBase } from '../chunk-DOA4ESKS.mjs';
3
+ import '../chunk-QX6PPTWL.mjs';
4
4
  import { cn } from '../chunk-4D54YOL6.mjs';
5
5
  import '../chunk-J5LGTIGS.mjs';
6
6
  import { createContext, useState, useId, useRef, useCallback, useEffect, useMemo, Children, isValidElement, cloneElement, useLayoutEffect, useContext } from 'react';
@@ -1,9 +1,9 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkRYJ5WEE3_js = require('../../chunk-RYJ5WEE3.js');
4
+ var chunkBUBIH4LS_js = require('../../chunk-BUBIH4LS.js');
5
5
  require('../../chunk-CQMV7BB6.js');
6
- require('../../chunk-OGMIKRLJ.js');
6
+ require('../../chunk-7DVECOO7.js');
7
7
  require('../../chunk-ZS5756ZC.js');
8
8
  require('../../chunk-PZ5AY32C.js');
9
9
  var framerMotion = require('framer-motion');
@@ -51,7 +51,7 @@ function CopyButtonAnimated({
51
51
  },
52
52
  copied ? "copied" : "idle"
53
53
  ) });
54
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRYJ5WEE3_js.CopyButtonBase, { ...props, renderIcon });
54
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkBUBIH4LS_js.CopyButtonBase, { ...props, renderIcon });
55
55
  }
56
56
  CopyButtonAnimated.displayName = "CopyButtonAnimated";
57
57
 
@@ -1,7 +1,7 @@
1
1
  "use client";
2
- import { CopyButtonBase } from '../../chunk-XPHD3X4L.mjs';
2
+ import { CopyButtonBase } from '../../chunk-ZUQOQW5W.mjs';
3
3
  import '../../chunk-ODBG4Y6R.mjs';
4
- import '../../chunk-UJBXDDHN.mjs';
4
+ import '../../chunk-U64ISRUX.mjs';
5
5
  import '../../chunk-4D54YOL6.mjs';
6
6
  import '../../chunk-J5LGTIGS.mjs';
7
7
  import { AnimatePresence, motion } from 'framer-motion';
@@ -1,21 +1,21 @@
1
1
  "use client";
2
2
  'use strict';
3
3
 
4
- var chunkRYJ5WEE3_js = require('../chunk-RYJ5WEE3.js');
4
+ var chunkBUBIH4LS_js = require('../chunk-BUBIH4LS.js');
5
5
  require('../chunk-CQMV7BB6.js');
6
- require('../chunk-OGMIKRLJ.js');
6
+ require('../chunk-7DVECOO7.js');
7
7
  require('../chunk-ZS5756ZC.js');
8
8
  require('../chunk-PZ5AY32C.js');
9
9
  var jsxRuntime = require('react/jsx-runtime');
10
10
 
11
11
  function CopyButton(props) {
12
- return /* @__PURE__ */ jsxRuntime.jsx(chunkRYJ5WEE3_js.CopyButtonBase, { ...props });
12
+ return /* @__PURE__ */ jsxRuntime.jsx(chunkBUBIH4LS_js.CopyButtonBase, { ...props });
13
13
  }
14
14
  CopyButton.displayName = "CopyButton";
15
15
 
16
16
  Object.defineProperty(exports, "copyButtonVariants", {
17
17
  enumerable: true,
18
- get: function () { return chunkRYJ5WEE3_js.copyButtonVariants; }
18
+ get: function () { return chunkBUBIH4LS_js.copyButtonVariants; }
19
19
  });
20
20
  exports.CopyButton = CopyButton;
21
21
  //# sourceMappingURL=copy-button.js.map
@@ -1,8 +1,8 @@
1
1
  "use client";
2
- import { CopyButtonBase } from '../chunk-XPHD3X4L.mjs';
3
- export { copyButtonVariants } from '../chunk-XPHD3X4L.mjs';
2
+ import { CopyButtonBase } from '../chunk-ZUQOQW5W.mjs';
3
+ export { copyButtonVariants } from '../chunk-ZUQOQW5W.mjs';
4
4
  import '../chunk-ODBG4Y6R.mjs';
5
- import '../chunk-UJBXDDHN.mjs';
5
+ import '../chunk-U64ISRUX.mjs';
6
6
  import '../chunk-4D54YOL6.mjs';
7
7
  import '../chunk-J5LGTIGS.mjs';
8
8
  import { jsx } from 'react/jsx-runtime';