silver-ui 0.3.0 → 0.4.0

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 (713) hide show
  1. package/README.md +1 -1
  2. package/dist/chunk-2A3V6OR7.cjs +112 -0
  3. package/dist/chunk-2A3V6OR7.cjs.map +1 -0
  4. package/dist/{chunk-HLN3JQYD.js → chunk-2LABTS4P.js} +18 -58
  5. package/dist/chunk-2LABTS4P.js.map +1 -0
  6. package/dist/{chunk-GI5MVVIX.js → chunk-2N6FOSNM.js} +15 -14
  7. package/dist/chunk-2N6FOSNM.js.map +1 -0
  8. package/dist/chunk-2PSZAWLC.js +8 -0
  9. package/dist/chunk-2PSZAWLC.js.map +1 -0
  10. package/dist/{chunk-YGYA4BYN.js → chunk-2RKMG2TC.js} +19 -18
  11. package/dist/chunk-2RKMG2TC.js.map +1 -0
  12. package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
  13. package/dist/chunk-2XAA3CM5.js.map +1 -0
  14. package/dist/{chunk-EMHLPPQZ.js → chunk-3CJC4QE6.js} +4 -4
  15. package/dist/chunk-3CJC4QE6.js.map +1 -0
  16. package/dist/{chunk-P3SMNZCT.js → chunk-3JPUXC5U.js} +3 -3
  17. package/dist/{chunk-P3SMNZCT.js.map → chunk-3JPUXC5U.js.map} +1 -1
  18. package/dist/{chunk-OJCJPYXE.js → chunk-3OIUA2NY.js} +9 -8
  19. package/dist/chunk-3OIUA2NY.js.map +1 -0
  20. package/dist/chunk-3ZV3EGGK.cjs +470 -0
  21. package/dist/chunk-3ZV3EGGK.cjs.map +1 -0
  22. package/dist/{chunk-BERQEJYB.js → chunk-4H7X5FGX.js} +7 -6
  23. package/dist/chunk-4H7X5FGX.js.map +1 -0
  24. package/dist/{chunk-EUN5TCB2.js → chunk-52WQDDWQ.js} +18 -20
  25. package/dist/chunk-52WQDDWQ.js.map +1 -0
  26. package/dist/{chunk-UMGW7WJI.cjs → chunk-5D2OR64D.cjs} +11 -9
  27. package/dist/chunk-5D2OR64D.cjs.map +1 -0
  28. package/dist/{chunk-YAIEA2YE.cjs → chunk-5PX76QOL.cjs} +3 -3
  29. package/dist/{chunk-YAIEA2YE.cjs.map → chunk-5PX76QOL.cjs.map} +1 -1
  30. package/dist/{chunk-HM7IEGQ2.cjs → chunk-5YS43PSQ.cjs} +7 -7
  31. package/dist/chunk-5YS43PSQ.cjs.map +1 -0
  32. package/dist/{chunk-AH4AMQEO.js → chunk-6ONAGCCZ.js} +262 -208
  33. package/dist/chunk-6ONAGCCZ.js.map +1 -0
  34. package/dist/{chunk-S54CKWKV.js → chunk-6ULCJ3XZ.js} +4 -4
  35. package/dist/{chunk-S54CKWKV.js.map → chunk-6ULCJ3XZ.js.map} +1 -1
  36. package/dist/{chunk-6XESVFC3.js → chunk-6XWXBXYE.js} +90 -75
  37. package/dist/chunk-6XWXBXYE.js.map +1 -0
  38. package/dist/{chunk-EXYBQVZT.js → chunk-7BSFKG7N.js} +3 -3
  39. package/dist/{chunk-EXYBQVZT.js.map → chunk-7BSFKG7N.js.map} +1 -1
  40. package/dist/{chunk-7GN6YTSS.cjs → chunk-7CCXHH6Y.cjs} +7 -7
  41. package/dist/chunk-7CCXHH6Y.cjs.map +1 -0
  42. package/dist/{chunk-3PDUOYAT.cjs → chunk-7U7JMRVF.cjs} +28 -30
  43. package/dist/chunk-7U7JMRVF.cjs.map +1 -0
  44. package/dist/chunk-AFI4V7LI.js +393 -0
  45. package/dist/chunk-AFI4V7LI.js.map +1 -0
  46. package/dist/{chunk-DSNJDFO3.cjs → chunk-AHVHLNHU.cjs} +18 -17
  47. package/dist/chunk-AHVHLNHU.cjs.map +1 -0
  48. package/dist/{chunk-35MFOORC.js → chunk-AJ6X62AI.js} +5 -5
  49. package/dist/{chunk-35MFOORC.js.map → chunk-AJ6X62AI.js.map} +1 -1
  50. package/dist/{chunk-OMHOVHPX.js → chunk-AP7BDTTF.js} +4 -4
  51. package/dist/{chunk-OMHOVHPX.js.map → chunk-AP7BDTTF.js.map} +1 -1
  52. package/dist/{chunk-4T62TLOD.cjs → chunk-AWDIKDX5.cjs} +10 -10
  53. package/dist/{chunk-4T62TLOD.cjs.map → chunk-AWDIKDX5.cjs.map} +1 -1
  54. package/dist/chunk-BCCPNGUV.js +162 -0
  55. package/dist/chunk-BCCPNGUV.js.map +1 -0
  56. package/dist/{chunk-PTJ5YZFY.cjs → chunk-BLRWA445.cjs} +242 -182
  57. package/dist/chunk-BLRWA445.cjs.map +1 -0
  58. package/dist/{chunk-67VLK263.js → chunk-BSAZRW6T.js} +13 -10
  59. package/dist/chunk-BSAZRW6T.js.map +1 -0
  60. package/dist/{chunk-I2X2Z7FA.cjs → chunk-BUESV4DR.cjs} +9 -9
  61. package/dist/{chunk-I2X2Z7FA.cjs.map → chunk-BUESV4DR.cjs.map} +1 -1
  62. package/dist/{chunk-UJODHP7E.cjs → chunk-BULJWVPU.cjs} +18 -17
  63. package/dist/chunk-BULJWVPU.cjs.map +1 -0
  64. package/dist/{chunk-PNYF6NS4.cjs → chunk-C6EYCIKJ.cjs} +9 -8
  65. package/dist/chunk-C6EYCIKJ.cjs.map +1 -0
  66. package/dist/{chunk-ZTQQ2O6O.cjs → chunk-C732WXKS.cjs} +36 -34
  67. package/dist/chunk-C732WXKS.cjs.map +1 -0
  68. package/dist/{chunk-GTPRZCNZ.js → chunk-CGYZ6QWY.js} +4 -4
  69. package/dist/{chunk-GTPRZCNZ.js.map → chunk-CGYZ6QWY.js.map} +1 -1
  70. package/dist/{chunk-X5ZQRMEM.cjs → chunk-CKTXDIH4.cjs} +39 -40
  71. package/dist/chunk-CKTXDIH4.cjs.map +1 -0
  72. package/dist/{chunk-PYW5UO2Z.js → chunk-D3LZQ5QS.js} +4 -4
  73. package/dist/chunk-D3LZQ5QS.js.map +1 -0
  74. package/dist/{chunk-WNGBWUWZ.cjs → chunk-DIRVAHOF.cjs} +6 -6
  75. package/dist/{chunk-WNGBWUWZ.cjs.map → chunk-DIRVAHOF.cjs.map} +1 -1
  76. package/dist/{chunk-K77D7H4V.cjs → chunk-DP7VC4FW.cjs} +7 -6
  77. package/dist/chunk-DP7VC4FW.cjs.map +1 -0
  78. package/dist/{chunk-4I6VIR44.cjs → chunk-DVGLYE3G.cjs} +16 -15
  79. package/dist/chunk-DVGLYE3G.cjs.map +1 -0
  80. package/dist/{chunk-ISYUZ5FS.js → chunk-DWUEPOYH.js} +31 -29
  81. package/dist/chunk-DWUEPOYH.js.map +1 -0
  82. package/dist/chunk-DXPQRAGI.js +110 -0
  83. package/dist/chunk-DXPQRAGI.js.map +1 -0
  84. package/dist/{chunk-P4A7GWQY.cjs → chunk-E2A3GJSN.cjs} +9 -8
  85. package/dist/chunk-E2A3GJSN.cjs.map +1 -0
  86. package/dist/{chunk-32G54PL3.cjs → chunk-EALKX3ST.cjs} +9 -8
  87. package/dist/chunk-EALKX3ST.cjs.map +1 -0
  88. package/dist/{chunk-ZW2ATXTL.js → chunk-EBDODJ5X.js} +8 -7
  89. package/dist/chunk-EBDODJ5X.js.map +1 -0
  90. package/dist/chunk-FB245S6T.cjs +395 -0
  91. package/dist/chunk-FB245S6T.cjs.map +1 -0
  92. package/dist/{chunk-RNB4BDEG.js → chunk-FDUO2HVX.js} +3 -3
  93. package/dist/{chunk-RNB4BDEG.js.map → chunk-FDUO2HVX.js.map} +1 -1
  94. package/dist/{chunk-JAHKLROD.cjs → chunk-FDZQPWFZ.cjs} +13 -12
  95. package/dist/chunk-FDZQPWFZ.cjs.map +1 -0
  96. package/dist/{chunk-KIGRE6NA.js → chunk-FMLIYHDP.js} +5 -5
  97. package/dist/{chunk-KIGRE6NA.js.map → chunk-FMLIYHDP.js.map} +1 -1
  98. package/dist/{chunk-4YQSKCVF.cjs → chunk-FNOUX5T2.cjs} +5 -5
  99. package/dist/{chunk-4YQSKCVF.cjs.map → chunk-FNOUX5T2.cjs.map} +1 -1
  100. package/dist/{chunk-LFRTNC7M.cjs → chunk-FNZOICR4.cjs} +7 -7
  101. package/dist/{chunk-LFRTNC7M.cjs.map → chunk-FNZOICR4.cjs.map} +1 -1
  102. package/dist/{chunk-4M2KCZMO.js → chunk-FP5E5BUM.js} +5 -4
  103. package/dist/chunk-FP5E5BUM.js.map +1 -0
  104. package/dist/{chunk-VSEKSDTK.js → chunk-G2U2W422.js} +8 -7
  105. package/dist/chunk-G2U2W422.js.map +1 -0
  106. package/dist/{chunk-MAL4D4LR.cjs → chunk-G2WW52GO.cjs} +14 -13
  107. package/dist/chunk-G2WW52GO.cjs.map +1 -0
  108. package/dist/{chunk-FQSOUCZS.cjs → chunk-G3KKLGZU.cjs} +9 -9
  109. package/dist/{chunk-FQSOUCZS.cjs.map → chunk-G3KKLGZU.cjs.map} +1 -1
  110. package/dist/{chunk-IKF6VHA4.cjs → chunk-GC5VUTUR.cjs} +4 -4
  111. package/dist/{chunk-IKF6VHA4.cjs.map → chunk-GC5VUTUR.cjs.map} +1 -1
  112. package/dist/{chunk-ITDQSF2O.cjs → chunk-GL7PSN7H.cjs} +17 -16
  113. package/dist/chunk-GL7PSN7H.cjs.map +1 -0
  114. package/dist/{chunk-WMXIUOOU.cjs → chunk-GYVWTH3U.cjs} +3 -3
  115. package/dist/{chunk-WMXIUOOU.cjs.map → chunk-GYVWTH3U.cjs.map} +1 -1
  116. package/dist/{chunk-ACQMLJ4I.cjs → chunk-H2CZ6IE5.cjs} +42 -39
  117. package/dist/chunk-H2CZ6IE5.cjs.map +1 -0
  118. package/dist/{chunk-CZNN2GOC.js → chunk-H7HQYBPH.js} +25 -26
  119. package/dist/chunk-H7HQYBPH.js.map +1 -0
  120. package/dist/{chunk-ZNUOFLCQ.js → chunk-HINS4GY6.js} +3 -3
  121. package/dist/chunk-HINS4GY6.js.map +1 -0
  122. package/dist/{chunk-PXTE3XRD.js → chunk-HNZWPIJE.js} +74 -68
  123. package/dist/chunk-HNZWPIJE.js.map +1 -0
  124. package/dist/{chunk-Y5SXQR52.cjs → chunk-IA5GII7N.cjs} +33 -22
  125. package/dist/chunk-IA5GII7N.cjs.map +1 -0
  126. package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
  127. package/dist/chunk-IAVZKGZS.js.map +1 -0
  128. package/dist/{chunk-XM3AZXOA.js → chunk-ILEKDNP7.js} +6 -6
  129. package/dist/{chunk-XM3AZXOA.js.map → chunk-ILEKDNP7.js.map} +1 -1
  130. package/dist/{chunk-XSQOHNIF.js → chunk-J3DNWPXJ.js} +3 -3
  131. package/dist/{chunk-XSQOHNIF.js.map → chunk-J3DNWPXJ.js.map} +1 -1
  132. package/dist/{chunk-25FU5AVR.cjs → chunk-J4OEETYQ.cjs} +14 -13
  133. package/dist/chunk-J4OEETYQ.cjs.map +1 -0
  134. package/dist/{chunk-4Z62KDKI.js → chunk-J5IRFGUP.js} +25 -14
  135. package/dist/chunk-J5IRFGUP.js.map +1 -0
  136. package/dist/{chunk-2YC7SMVF.js → chunk-JDAJ2HJQ.js} +7 -6
  137. package/dist/chunk-JDAJ2HJQ.js.map +1 -0
  138. package/dist/{chunk-AGJ5SZCM.js → chunk-JIVYPJKO.js} +6 -6
  139. package/dist/{chunk-AGJ5SZCM.js.map → chunk-JIVYPJKO.js.map} +1 -1
  140. package/dist/{chunk-U2WVHZ24.cjs → chunk-JJ324PSZ.cjs} +6 -6
  141. package/dist/chunk-JJ324PSZ.cjs.map +1 -0
  142. package/dist/{chunk-WWB4NSEY.cjs → chunk-JSINCF2R.cjs} +10 -10
  143. package/dist/{chunk-WWB4NSEY.cjs.map → chunk-JSINCF2R.cjs.map} +1 -1
  144. package/dist/{chunk-BJD32VBQ.cjs → chunk-JTFNNEWR.cjs} +90 -75
  145. package/dist/chunk-JTFNNEWR.cjs.map +1 -0
  146. package/dist/{chunk-YAYINZT2.cjs → chunk-JYVYCU22.cjs} +3 -3
  147. package/dist/{chunk-YAYINZT2.cjs.map → chunk-JYVYCU22.cjs.map} +1 -1
  148. package/dist/chunk-K3XHXWBW.js +242 -0
  149. package/dist/chunk-K3XHXWBW.js.map +1 -0
  150. package/dist/{chunk-TRK2ZZFB.cjs → chunk-K4ZJNQTX.cjs} +6 -5
  151. package/dist/chunk-K4ZJNQTX.cjs.map +1 -0
  152. package/dist/{chunk-WA4VZ363.cjs → chunk-KDR5DCYL.cjs} +13 -12
  153. package/dist/chunk-KDR5DCYL.cjs.map +1 -0
  154. package/dist/{chunk-2D6SGEPH.cjs → chunk-KXIILLQD.cjs} +16 -11
  155. package/dist/chunk-KXIILLQD.cjs.map +1 -0
  156. package/dist/{chunk-ZNZ67KFM.js → chunk-L6VSBBPP.js} +9 -8
  157. package/dist/chunk-L6VSBBPP.js.map +1 -0
  158. package/dist/{chunk-YJJOKZN2.js → chunk-LNT2IFOA.js} +4 -4
  159. package/dist/{chunk-YJJOKZN2.js.map → chunk-LNT2IFOA.js.map} +1 -1
  160. package/dist/{chunk-IXJOPMJX.cjs → chunk-LO5NZY7N.cjs} +7 -6
  161. package/dist/chunk-LO5NZY7N.cjs.map +1 -0
  162. package/dist/{chunk-AADUJ6CN.js → chunk-LQIZSE3O.js} +212 -183
  163. package/dist/chunk-LQIZSE3O.js.map +1 -0
  164. package/dist/{chunk-OJKZS6HG.cjs → chunk-LUQVSNQL.cjs} +265 -211
  165. package/dist/chunk-LUQVSNQL.cjs.map +1 -0
  166. package/dist/{chunk-BYBVI7UN.js → chunk-LY6Z6A54.js} +10 -9
  167. package/dist/chunk-LY6Z6A54.js.map +1 -0
  168. package/dist/{chunk-JMNH45Q3.cjs → chunk-M26XECB2.cjs} +91 -97
  169. package/dist/chunk-M26XECB2.cjs.map +1 -0
  170. package/dist/chunk-M2MC3E27.cjs +220 -0
  171. package/dist/chunk-M2MC3E27.cjs.map +1 -0
  172. package/dist/chunk-MAYQGKKW.cjs +193 -0
  173. package/dist/chunk-MAYQGKKW.cjs.map +1 -0
  174. package/dist/{chunk-2IKWX66Q.js → chunk-MI5QU37D.js} +5 -5
  175. package/dist/{chunk-2IKWX66Q.js.map → chunk-MI5QU37D.js.map} +1 -1
  176. package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
  177. package/dist/chunk-N2TNBDQI.js.map +1 -0
  178. package/dist/{chunk-H2SGYAUO.js → chunk-NFABMGNH.js} +56 -46
  179. package/dist/chunk-NFABMGNH.js.map +1 -0
  180. package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
  181. package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
  182. package/dist/chunk-NI55JEYL.js +213 -0
  183. package/dist/chunk-NI55JEYL.js.map +1 -0
  184. package/dist/{chunk-BDPE6ZKX.cjs → chunk-O2WICOUK.cjs} +5 -5
  185. package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-O2WICOUK.cjs.map} +1 -1
  186. package/dist/{chunk-ATDW2VII.cjs → chunk-OBWWRRL6.cjs} +66 -51
  187. package/dist/chunk-OBWWRRL6.cjs.map +1 -0
  188. package/dist/{chunk-3DW2N6UN.js → chunk-PIOMR4X2.js} +5 -5
  189. package/dist/{chunk-3DW2N6UN.js.map → chunk-PIOMR4X2.js.map} +1 -1
  190. package/dist/{chunk-7P3VY5JZ.js → chunk-PIZMCOKL.js} +9 -8
  191. package/dist/chunk-PIZMCOKL.js.map +1 -0
  192. package/dist/{chunk-W3QVSVL7.cjs → chunk-PQEFVHJZ.cjs} +12 -11
  193. package/dist/chunk-PQEFVHJZ.cjs.map +1 -0
  194. package/dist/chunk-QAO6QMNQ.cjs +10 -0
  195. package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
  196. package/dist/{chunk-CFOGSQCG.cjs → chunk-QATCDVZ6.cjs} +14 -13
  197. package/dist/chunk-QATCDVZ6.cjs.map +1 -0
  198. package/dist/{chunk-YBPG5RPR.cjs → chunk-QOKEU3DC.cjs} +22 -62
  199. package/dist/chunk-QOKEU3DC.cjs.map +1 -0
  200. package/dist/{chunk-J2FCNWYM.js → chunk-QRFDPG34.js} +85 -91
  201. package/dist/chunk-QRFDPG34.js.map +1 -0
  202. package/dist/{chunk-UYXQBM2B.cjs → chunk-QVNDZZS6.cjs} +10 -10
  203. package/dist/{chunk-UYXQBM2B.cjs.map → chunk-QVNDZZS6.cjs.map} +1 -1
  204. package/dist/{chunk-AMG3S252.js → chunk-QY6OMQW6.js} +11 -10
  205. package/dist/chunk-QY6OMQW6.js.map +1 -0
  206. package/dist/{chunk-XIFLSMGW.js → chunk-R6CMJMIJ.js} +3 -3
  207. package/dist/{chunk-XIFLSMGW.js.map → chunk-R6CMJMIJ.js.map} +1 -1
  208. package/dist/{chunk-K6CQ45C2.js → chunk-RLOGQBFD.js} +10 -9
  209. package/dist/chunk-RLOGQBFD.js.map +1 -0
  210. package/dist/{chunk-5Q5TJUHI.js → chunk-S7INL5NI.js} +12 -7
  211. package/dist/chunk-S7INL5NI.js.map +1 -0
  212. package/dist/{chunk-VYFMYXU4.js → chunk-SBOXHIES.js} +234 -174
  213. package/dist/chunk-SBOXHIES.js.map +1 -0
  214. package/dist/{chunk-YXYD5HKL.cjs → chunk-SBS7U7CN.cjs} +6 -6
  215. package/dist/{chunk-YXYD5HKL.cjs.map → chunk-SBS7U7CN.cjs.map} +1 -1
  216. package/dist/chunk-SCGXGVNN.cjs +244 -0
  217. package/dist/chunk-SCGXGVNN.cjs.map +1 -0
  218. package/dist/{chunk-XQU4ECJY.js → chunk-SOCSUNIM.js} +19 -18
  219. package/dist/chunk-SOCSUNIM.js.map +1 -0
  220. package/dist/chunk-SR5VVJ5Y.cjs +164 -0
  221. package/dist/chunk-SR5VVJ5Y.cjs.map +1 -0
  222. package/dist/{chunk-SEAVOF6B.js → chunk-SSAYBCAD.js} +9 -7
  223. package/dist/chunk-SSAYBCAD.js.map +1 -0
  224. package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
  225. package/dist/chunk-SSOAZZNR.cjs.map +1 -0
  226. package/dist/{chunk-24J3BUKL.js → chunk-SUH62Z64.js} +3 -3
  227. package/dist/{chunk-24J3BUKL.js.map → chunk-SUH62Z64.js.map} +1 -1
  228. package/dist/{chunk-3WMLV4VP.cjs → chunk-TBOQTPRO.cjs} +9 -9
  229. package/dist/chunk-TBOQTPRO.cjs.map +1 -0
  230. package/dist/chunk-TCTPR7YQ.js +191 -0
  231. package/dist/chunk-TCTPR7YQ.js.map +1 -0
  232. package/dist/{chunk-SFT5LCQP.cjs → chunk-TF7XVTSP.cjs} +61 -51
  233. package/dist/chunk-TF7XVTSP.cjs.map +1 -0
  234. package/dist/{chunk-PXVVTPRJ.js → chunk-TKTLWX2V.js} +11 -10
  235. package/dist/chunk-TKTLWX2V.js.map +1 -0
  236. package/dist/{chunk-ZXPKFGRB.cjs → chunk-TPB53MHV.cjs} +82 -76
  237. package/dist/chunk-TPB53MHV.cjs.map +1 -0
  238. package/dist/chunk-TQA3BI7M.cjs +216 -0
  239. package/dist/chunk-TQA3BI7M.cjs.map +1 -0
  240. package/dist/{chunk-MACIT6C6.js → chunk-U6NH54YD.js} +7 -6
  241. package/dist/chunk-U6NH54YD.js.map +1 -0
  242. package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
  243. package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
  244. package/dist/{chunk-S4GLMGFI.js → chunk-UKW2C5RN.js} +6 -5
  245. package/dist/chunk-UKW2C5RN.js.map +1 -0
  246. package/dist/chunk-UUVLEOSD.js +216 -0
  247. package/dist/chunk-UUVLEOSD.js.map +1 -0
  248. package/dist/{chunk-BA2VUDQS.js → chunk-VFGSNR35.js} +4 -4
  249. package/dist/{chunk-BA2VUDQS.js.map → chunk-VFGSNR35.js.map} +1 -1
  250. package/dist/{chunk-6ADWXOZ2.cjs → chunk-VGHNBMEJ.cjs} +6 -6
  251. package/dist/{chunk-6ADWXOZ2.cjs.map → chunk-VGHNBMEJ.cjs.map} +1 -1
  252. package/dist/{chunk-UR7RYJOU.cjs → chunk-VHKA25IV.cjs} +20 -17
  253. package/dist/chunk-VHKA25IV.cjs.map +1 -0
  254. package/dist/{chunk-E7UOFIBW.cjs → chunk-VK4O6W2K.cjs} +8 -7
  255. package/dist/chunk-VK4O6W2K.cjs.map +1 -0
  256. package/dist/{chunk-2VOB6LEI.js → chunk-VQ7U3ASC.js} +4 -4
  257. package/dist/{chunk-2VOB6LEI.js.map → chunk-VQ7U3ASC.js.map} +1 -1
  258. package/dist/{chunk-E4KM3RQ2.js → chunk-VUCMGGU5.js} +32 -17
  259. package/dist/chunk-VUCMGGU5.js.map +1 -0
  260. package/dist/{chunk-UY3MYNI6.js → chunk-W2Q4PQ6I.js} +6 -5
  261. package/dist/chunk-W2Q4PQ6I.js.map +1 -0
  262. package/dist/{chunk-RKMW3ZOK.js → chunk-W3C6QQF7.js} +5 -5
  263. package/dist/{chunk-RKMW3ZOK.js.map → chunk-W3C6QQF7.js.map} +1 -1
  264. package/dist/{chunk-GEGYC7CE.js → chunk-WBGFFP3G.js} +7 -7
  265. package/dist/chunk-WBGFFP3G.js.map +1 -0
  266. package/dist/{chunk-5BLNJVIA.js → chunk-WBQNPBXR.js} +10 -9
  267. package/dist/chunk-WBQNPBXR.js.map +1 -0
  268. package/dist/{chunk-ZH3GKYUZ.js → chunk-WY5BOT7O.js} +4 -4
  269. package/dist/{chunk-ZH3GKYUZ.js.map → chunk-WY5BOT7O.js.map} +1 -1
  270. package/dist/{chunk-PLXUM7U6.cjs → chunk-X574M2JB.cjs} +13 -13
  271. package/dist/{chunk-PLXUM7U6.cjs.map → chunk-X574M2JB.cjs.map} +1 -1
  272. package/dist/{chunk-ZNPTARIS.cjs → chunk-XLKXFJMU.cjs} +8 -8
  273. package/dist/{chunk-ZNPTARIS.cjs.map → chunk-XLKXFJMU.cjs.map} +1 -1
  274. package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
  275. package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
  276. package/dist/{chunk-A66NIFJE.cjs → chunk-XXBA3KSH.cjs} +5 -5
  277. package/dist/{chunk-A66NIFJE.cjs.map → chunk-XXBA3KSH.cjs.map} +1 -1
  278. package/dist/{chunk-PXIWITSS.js → chunk-YAWVGZRC.js} +6 -6
  279. package/dist/{chunk-PXIWITSS.js.map → chunk-YAWVGZRC.js.map} +1 -1
  280. package/dist/{chunk-BFWKL5MJ.cjs → chunk-YHBYVERE.cjs} +29 -28
  281. package/dist/chunk-YHBYVERE.cjs.map +1 -0
  282. package/dist/{chunk-CPOYENSZ.cjs → chunk-YO3MBGBP.cjs} +4 -4
  283. package/dist/{chunk-CPOYENSZ.cjs.map → chunk-YO3MBGBP.cjs.map} +1 -1
  284. package/dist/{chunk-MQQ4GSUG.cjs → chunk-YVHWOKR7.cjs} +33 -32
  285. package/dist/chunk-YVHWOKR7.cjs.map +1 -0
  286. package/dist/{chunk-C264Z2GQ.cjs → chunk-YWGYN6YV.cjs} +11 -10
  287. package/dist/chunk-YWGYN6YV.cjs.map +1 -0
  288. package/dist/{chunk-KFEXS6OK.cjs → chunk-YY6KJO5Z.cjs} +15 -14
  289. package/dist/chunk-YY6KJO5Z.cjs.map +1 -0
  290. package/dist/{chunk-IG4UJZ6B.js → chunk-YYNWZRXZ.js} +24 -21
  291. package/dist/chunk-YYNWZRXZ.js.map +1 -0
  292. package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
  293. package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
  294. package/dist/{chunk-7FY26X2V.js → chunk-ZAX2UJBC.js} +8 -7
  295. package/dist/chunk-ZAX2UJBC.js.map +1 -0
  296. package/dist/{chunk-WATCCAQU.js → chunk-ZEA2VYX4.js} +5 -4
  297. package/dist/chunk-ZEA2VYX4.js.map +1 -0
  298. package/dist/{chunk-AXT4VA5N.cjs → chunk-ZFBQ4R7M.cjs} +11 -10
  299. package/dist/chunk-ZFBQ4R7M.cjs.map +1 -0
  300. package/dist/{chunk-AX6HC2YY.cjs → chunk-ZN7CULIL.cjs} +3 -3
  301. package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZN7CULIL.cjs.map} +1 -1
  302. package/dist/{chunk-OHKL4DOV.js → chunk-ZQUPAIBS.js} +8 -7
  303. package/dist/chunk-ZQUPAIBS.js.map +1 -0
  304. package/dist/{chunk-JVLE7PCJ.cjs → chunk-ZTWBG2XY.cjs} +8 -8
  305. package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-ZTWBG2XY.cjs.map} +1 -1
  306. package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
  307. package/dist/components/Accordion/index.cjs +6 -7
  308. package/dist/components/Accordion/index.js +3 -4
  309. package/dist/components/Alert/Alert.d.ts.map +1 -1
  310. package/dist/components/Alert/Alert.recipe.d.ts +1 -1
  311. package/dist/components/Alert/index.cjs +13 -13
  312. package/dist/components/Alert/index.js +12 -12
  313. package/dist/components/AlertDialog/index.cjs +16 -16
  314. package/dist/components/AlertDialog/index.js +14 -14
  315. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  316. package/dist/components/AppShell/index.cjs +21 -21
  317. package/dist/components/AppShell/index.js +18 -18
  318. package/dist/components/AspectRatio/index.cjs +3 -3
  319. package/dist/components/AspectRatio/index.js +2 -2
  320. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +9 -2
  321. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  322. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
  323. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
  324. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
  325. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
  326. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +25 -3
  327. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  328. package/dist/components/AutocompleteInput/index.cjs +21 -21
  329. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  330. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  331. package/dist/components/AutocompleteInput/index.js +16 -16
  332. package/dist/components/AutocompleteInput/types.d.ts +42 -6
  333. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  334. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  335. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  336. package/dist/components/Avatar/index.cjs +7 -7
  337. package/dist/components/Avatar/index.js +4 -4
  338. package/dist/components/AvatarGroup/index.cjs +7 -7
  339. package/dist/components/AvatarGroup/index.js +5 -5
  340. package/dist/components/Badge/index.cjs +1 -1
  341. package/dist/components/Badge/index.js +1 -1
  342. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  343. package/dist/components/Blockquote/index.cjs +5 -5
  344. package/dist/components/Blockquote/index.js +4 -4
  345. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  346. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
  347. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
  348. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  349. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
  350. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
  351. package/dist/components/Breadcrumbs/index.cjs +11 -10
  352. package/dist/components/Breadcrumbs/index.js +8 -7
  353. package/dist/components/Button/Button.d.ts.map +1 -1
  354. package/dist/components/Button/Button.recipe.d.ts +80 -62
  355. package/dist/components/Button/Button.recipe.d.ts.map +1 -1
  356. package/dist/components/Button/index.cjs +12 -12
  357. package/dist/components/Button/index.js +11 -11
  358. package/dist/components/ButtonGroup/index.cjs +1 -1
  359. package/dist/components/ButtonGroup/index.js +1 -1
  360. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  361. package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
  362. package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
  363. package/dist/components/Calendar/index.cjs +13 -13
  364. package/dist/components/Calendar/index.js +12 -12
  365. package/dist/components/Card/index.cjs +1 -1
  366. package/dist/components/Card/index.js +1 -1
  367. package/dist/components/Center/index.cjs +1 -1
  368. package/dist/components/Center/index.js +1 -1
  369. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  370. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
  371. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
  372. package/dist/components/CheckboxInput/index.cjs +13 -13
  373. package/dist/components/CheckboxInput/index.js +12 -12
  374. package/dist/components/CodeBlock/index.cjs +14 -14
  375. package/dist/components/CodeBlock/index.js +13 -13
  376. package/dist/components/ContextMenu/index.cjs +18 -18
  377. package/dist/components/ContextMenu/index.js +16 -16
  378. package/dist/components/DateInput/DateInput.d.ts +5 -1
  379. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  380. package/dist/components/DateInput/index.cjs +17 -17
  381. package/dist/components/DateInput/index.js +16 -16
  382. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  383. package/dist/components/DateRangeInput/index.cjs +17 -17
  384. package/dist/components/DateRangeInput/index.js +16 -16
  385. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  386. package/dist/components/DateTimeInput/index.cjs +19 -19
  387. package/dist/components/DateTimeInput/index.js +18 -18
  388. package/dist/components/Dialog/index.cjs +5 -6
  389. package/dist/components/Dialog/index.js +3 -4
  390. package/dist/components/Divider/Divider.d.ts.map +1 -1
  391. package/dist/components/Divider/index.cjs +5 -5
  392. package/dist/components/Divider/index.js +4 -4
  393. package/dist/components/Drawer/index.cjs +4 -4
  394. package/dist/components/Drawer/index.js +2 -2
  395. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  396. package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
  397. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
  398. package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
  399. package/dist/components/DropdownMenu/index.cjs +19 -19
  400. package/dist/components/DropdownMenu/index.js +15 -15
  401. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  402. package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
  403. package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
  404. package/dist/components/EmptyState/index.cjs +8 -7
  405. package/dist/components/EmptyState/index.js +7 -6
  406. package/dist/components/Field/Field.d.ts.map +1 -1
  407. package/dist/components/Field/index.cjs +11 -11
  408. package/dist/components/Field/index.js +9 -9
  409. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  410. package/dist/components/FileInput/index.cjs +15 -15
  411. package/dist/components/FileInput/index.js +14 -14
  412. package/dist/components/HoverCard/index.cjs +5 -5
  413. package/dist/components/HoverCard/index.js +3 -3
  414. package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
  415. package/dist/components/Icon/index.cjs +1 -1
  416. package/dist/components/Icon/index.js +1 -1
  417. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  418. package/dist/components/InputGroup/index.cjs +14 -14
  419. package/dist/components/InputGroup/index.js +10 -10
  420. package/dist/components/Item/Item.d.ts.map +1 -1
  421. package/dist/components/Item/index.cjs +9 -9
  422. package/dist/components/Item/index.js +8 -8
  423. package/dist/components/Kbd/index.cjs +4 -5
  424. package/dist/components/Kbd/index.js +3 -4
  425. package/dist/components/Layout/Layout.d.ts.map +1 -1
  426. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  427. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  428. package/dist/components/Layout/index.cjs +17 -17
  429. package/dist/components/Layout/index.js +12 -12
  430. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  431. package/dist/components/Lightbox/index.cjs +14 -14
  432. package/dist/components/Lightbox/index.js +12 -12
  433. package/dist/components/Link/index.cjs +9 -9
  434. package/dist/components/Link/index.js +6 -6
  435. package/dist/components/List/List.d.ts.map +1 -1
  436. package/dist/components/List/List.recipe.d.ts +42 -0
  437. package/dist/components/List/List.recipe.d.ts.map +1 -0
  438. package/dist/components/List/ListItem.d.ts.map +1 -1
  439. package/dist/components/List/index.cjs +12 -11
  440. package/dist/components/List/index.js +10 -9
  441. package/dist/components/MetadataList/index.cjs +7 -8
  442. package/dist/components/MetadataList/index.js +5 -6
  443. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  444. package/dist/components/MultiSelect/index.cjs +17 -17
  445. package/dist/components/MultiSelect/index.js +16 -16
  446. package/dist/components/NavIcon/index.cjs +3 -3
  447. package/dist/components/NavIcon/index.js +2 -2
  448. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  449. package/dist/components/NumberInput/index.cjs +16 -16
  450. package/dist/components/NumberInput/index.js +15 -15
  451. package/dist/components/Pagination/index.cjs +13 -13
  452. package/dist/components/Pagination/index.js +12 -12
  453. package/dist/components/PasswordInput/index.cjs +17 -17
  454. package/dist/components/PasswordInput/index.js +16 -16
  455. package/dist/components/Popover/Popover.d.ts.map +1 -1
  456. package/dist/components/Popover/index.cjs +14 -14
  457. package/dist/components/Popover/index.js +12 -12
  458. package/dist/components/Progress/Progress.d.ts.map +1 -1
  459. package/dist/components/Progress/Progress.recipe.d.ts +34 -16
  460. package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
  461. package/dist/components/Progress/index.cjs +5 -4
  462. package/dist/components/Progress/index.js +4 -3
  463. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  464. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  465. package/dist/components/RadioGroup/index.cjs +14 -14
  466. package/dist/components/RadioGroup/index.js +12 -12
  467. package/dist/components/Rating/index.cjs +5 -6
  468. package/dist/components/Rating/index.js +4 -5
  469. package/dist/components/Schedule/ListView.d.ts.map +1 -1
  470. package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
  471. package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
  472. package/dist/components/Schedule/index.cjs +27 -27
  473. package/dist/components/Schedule/index.js +16 -16
  474. package/dist/components/Schedule/shared.d.ts.map +1 -1
  475. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  476. package/dist/components/SearchFilterInput/index.cjs +36 -36
  477. package/dist/components/SearchFilterInput/index.js +28 -28
  478. package/dist/components/SegmentedControl/index.cjs +5 -5
  479. package/dist/components/SegmentedControl/index.js +3 -3
  480. package/dist/components/Select/Select.d.ts.map +1 -1
  481. package/dist/components/Select/Select.recipe.d.ts +25 -0
  482. package/dist/components/Select/Select.recipe.d.ts.map +1 -0
  483. package/dist/components/Select/SelectOption.d.ts.map +1 -1
  484. package/dist/components/Select/index.cjs +19 -19
  485. package/dist/components/Select/index.js +17 -17
  486. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  487. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  488. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  489. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  490. package/dist/components/SideNav/index.cjs +20 -20
  491. package/dist/components/SideNav/index.js +14 -14
  492. package/dist/components/Skeleton/index.cjs +1 -1
  493. package/dist/components/Skeleton/index.js +1 -1
  494. package/dist/components/Slider/index.cjs +11 -11
  495. package/dist/components/Slider/index.js +10 -10
  496. package/dist/components/Spinner/index.cjs +7 -8
  497. package/dist/components/Spinner/index.js +6 -7
  498. package/dist/components/SplitButton/index.cjs +17 -17
  499. package/dist/components/SplitButton/index.js +16 -16
  500. package/dist/components/Stack/HStack.d.ts +1 -1
  501. package/dist/components/Stack/HStack.d.ts.map +1 -1
  502. package/dist/components/Stack/VStack.d.ts +1 -1
  503. package/dist/components/Stack/VStack.d.ts.map +1 -1
  504. package/dist/components/Stack/index.cjs +4 -4
  505. package/dist/components/Stack/index.d.ts +1 -1
  506. package/dist/components/Stack/index.d.ts.map +1 -1
  507. package/dist/components/Stack/index.js +2 -2
  508. package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
  509. package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
  510. package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
  511. package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
  512. package/dist/components/Stepper/Step.d.ts.map +1 -1
  513. package/dist/components/Stepper/index.cjs +9 -9
  514. package/dist/components/Stepper/index.js +6 -6
  515. package/dist/components/Switch/Switch.d.ts.map +1 -1
  516. package/dist/components/Switch/index.cjs +10 -10
  517. package/dist/components/Switch/index.js +9 -9
  518. package/dist/components/Table/BaseTable.d.ts.map +1 -1
  519. package/dist/components/Table/index.cjs +59 -59
  520. package/dist/components/Table/index.js +31 -31
  521. package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
  522. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  523. package/dist/components/Tabs/index.cjs +18 -18
  524. package/dist/components/Tabs/index.js +13 -13
  525. package/dist/components/Tag/Tag.d.ts +2 -2
  526. package/dist/components/Tag/Tag.d.ts.map +1 -1
  527. package/dist/components/Tag/Tag.recipe.d.ts +103 -68
  528. package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
  529. package/dist/components/Tag/index.cjs +9 -8
  530. package/dist/components/Tag/index.js +8 -7
  531. package/dist/components/TagsInput/TagsInput.d.ts +3 -1
  532. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  533. package/dist/components/TagsInput/index.cjs +18 -18
  534. package/dist/components/TagsInput/index.js +17 -17
  535. package/dist/components/Text/Heading.d.ts.map +1 -1
  536. package/dist/components/Text/Text.d.ts.map +1 -1
  537. package/dist/components/Text/index.cjs +6 -6
  538. package/dist/components/Text/index.js +4 -4
  539. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  540. package/dist/components/TextArea/index.cjs +12 -12
  541. package/dist/components/TextArea/index.js +11 -11
  542. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  543. package/dist/components/TextInput/index.cjs +16 -16
  544. package/dist/components/TextInput/index.js +15 -15
  545. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
  546. package/dist/components/Thumbnail/index.cjs +13 -13
  547. package/dist/components/Thumbnail/index.js +12 -12
  548. package/dist/components/TimeInput/TimeInput.d.ts +10 -2
  549. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  550. package/dist/components/TimeInput/index.cjs +15 -15
  551. package/dist/components/TimeInput/index.js +14 -14
  552. package/dist/components/Toast/Toast.d.ts.map +1 -1
  553. package/dist/components/Toast/Toast.recipe.d.ts +39 -0
  554. package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
  555. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  556. package/dist/components/Toast/index.cjs +15 -15
  557. package/dist/components/Toast/index.js +12 -12
  558. package/dist/components/ToggleButton/index.cjs +10 -11
  559. package/dist/components/ToggleButton/index.js +8 -9
  560. package/dist/components/Tooltip/index.cjs +5 -5
  561. package/dist/components/Tooltip/index.js +3 -3
  562. package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
  563. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  564. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  565. package/dist/components/TopNav/index.cjs +20 -20
  566. package/dist/components/TopNav/index.js +14 -14
  567. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  568. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  569. package/dist/components/TreeView/index.cjs +4 -3
  570. package/dist/components/TreeView/index.js +3 -2
  571. package/dist/index.cjs +248 -248
  572. package/dist/index.d.ts +1 -1
  573. package/dist/index.d.ts.map +1 -1
  574. package/dist/index.js +77 -77
  575. package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
  576. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  577. package/dist/internal/OverflowList.d.ts.map +1 -1
  578. package/dist/internal/index.d.ts +1 -0
  579. package/dist/internal/index.d.ts.map +1 -1
  580. package/dist/internal/isReactNode.d.ts +3 -0
  581. package/dist/internal/isReactNode.d.ts.map +1 -0
  582. package/dist/internal/useLayer.d.ts.map +1 -1
  583. package/dist/internal/useSelectListbox.d.ts +2 -2
  584. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  585. package/dist/styles.css +1 -1
  586. package/package.json +1 -1
  587. package/dist/chunk-25FU5AVR.cjs.map +0 -1
  588. package/dist/chunk-2D6SGEPH.cjs.map +0 -1
  589. package/dist/chunk-2TGDDZG6.cjs +0 -441
  590. package/dist/chunk-2TGDDZG6.cjs.map +0 -1
  591. package/dist/chunk-2YC7SMVF.js.map +0 -1
  592. package/dist/chunk-32G54PL3.cjs.map +0 -1
  593. package/dist/chunk-3PDUOYAT.cjs.map +0 -1
  594. package/dist/chunk-3WMLV4VP.cjs.map +0 -1
  595. package/dist/chunk-4I6VIR44.cjs.map +0 -1
  596. package/dist/chunk-4M2KCZMO.js.map +0 -1
  597. package/dist/chunk-4YESF35X.cjs +0 -211
  598. package/dist/chunk-4YESF35X.cjs.map +0 -1
  599. package/dist/chunk-4Z62KDKI.js.map +0 -1
  600. package/dist/chunk-5BLNJVIA.js.map +0 -1
  601. package/dist/chunk-5MDH6QZE.js.map +0 -1
  602. package/dist/chunk-5Q5TJUHI.js.map +0 -1
  603. package/dist/chunk-5QPM5LUS.cjs.map +0 -1
  604. package/dist/chunk-67VLK263.js.map +0 -1
  605. package/dist/chunk-6BK4LUK4.cjs +0 -17
  606. package/dist/chunk-6BK4LUK4.cjs.map +0 -1
  607. package/dist/chunk-6D3FA247.js +0 -126
  608. package/dist/chunk-6D3FA247.js.map +0 -1
  609. package/dist/chunk-6XESVFC3.js.map +0 -1
  610. package/dist/chunk-76FHSISK.cjs.map +0 -1
  611. package/dist/chunk-77RGTGRM.cjs +0 -128
  612. package/dist/chunk-77RGTGRM.cjs.map +0 -1
  613. package/dist/chunk-7FY26X2V.js.map +0 -1
  614. package/dist/chunk-7GN6YTSS.cjs.map +0 -1
  615. package/dist/chunk-7P3VY5JZ.js.map +0 -1
  616. package/dist/chunk-AADUJ6CN.js.map +0 -1
  617. package/dist/chunk-ACQMLJ4I.cjs.map +0 -1
  618. package/dist/chunk-AH4AMQEO.js.map +0 -1
  619. package/dist/chunk-AMG3S252.js.map +0 -1
  620. package/dist/chunk-ATDW2VII.cjs.map +0 -1
  621. package/dist/chunk-AXT4VA5N.cjs.map +0 -1
  622. package/dist/chunk-BERQEJYB.js.map +0 -1
  623. package/dist/chunk-BFWKL5MJ.cjs.map +0 -1
  624. package/dist/chunk-BJD32VBQ.cjs.map +0 -1
  625. package/dist/chunk-BYBVI7UN.js.map +0 -1
  626. package/dist/chunk-C264Z2GQ.cjs.map +0 -1
  627. package/dist/chunk-CFOGSQCG.cjs.map +0 -1
  628. package/dist/chunk-CZNN2GOC.js.map +0 -1
  629. package/dist/chunk-DSNJDFO3.cjs.map +0 -1
  630. package/dist/chunk-E2JZGYKU.cjs +0 -181
  631. package/dist/chunk-E2JZGYKU.cjs.map +0 -1
  632. package/dist/chunk-E4KM3RQ2.js.map +0 -1
  633. package/dist/chunk-E7UOFIBW.cjs.map +0 -1
  634. package/dist/chunk-EFO5NDBJ.js +0 -191
  635. package/dist/chunk-EFO5NDBJ.js.map +0 -1
  636. package/dist/chunk-EHCAF6D3.js.map +0 -1
  637. package/dist/chunk-EMHLPPQZ.js.map +0 -1
  638. package/dist/chunk-EUN5TCB2.js.map +0 -1
  639. package/dist/chunk-GEGYC7CE.js.map +0 -1
  640. package/dist/chunk-GI5MVVIX.js.map +0 -1
  641. package/dist/chunk-GUKZNXTB.js +0 -15
  642. package/dist/chunk-GUKZNXTB.js.map +0 -1
  643. package/dist/chunk-H2SGYAUO.js.map +0 -1
  644. package/dist/chunk-HLN3JQYD.js.map +0 -1
  645. package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
  646. package/dist/chunk-IG4UJZ6B.js.map +0 -1
  647. package/dist/chunk-ISYUZ5FS.js.map +0 -1
  648. package/dist/chunk-ITDQSF2O.cjs.map +0 -1
  649. package/dist/chunk-IXJOPMJX.cjs.map +0 -1
  650. package/dist/chunk-J2FCNWYM.js.map +0 -1
  651. package/dist/chunk-JAHKLROD.cjs.map +0 -1
  652. package/dist/chunk-JMNH45Q3.cjs.map +0 -1
  653. package/dist/chunk-K6CQ45C2.js.map +0 -1
  654. package/dist/chunk-K77D7H4V.cjs.map +0 -1
  655. package/dist/chunk-KFEXS6OK.cjs.map +0 -1
  656. package/dist/chunk-L6JT244G.cjs.map +0 -1
  657. package/dist/chunk-L6WUK7O4.js +0 -207
  658. package/dist/chunk-L6WUK7O4.js.map +0 -1
  659. package/dist/chunk-LJLCGQRV.js +0 -99
  660. package/dist/chunk-LJLCGQRV.js.map +0 -1
  661. package/dist/chunk-MACIT6C6.js.map +0 -1
  662. package/dist/chunk-MAL4D4LR.cjs.map +0 -1
  663. package/dist/chunk-MMST4VXH.cjs +0 -392
  664. package/dist/chunk-MMST4VXH.cjs.map +0 -1
  665. package/dist/chunk-MQQ4GSUG.cjs.map +0 -1
  666. package/dist/chunk-OHKL4DOV.js.map +0 -1
  667. package/dist/chunk-OJCJPYXE.js.map +0 -1
  668. package/dist/chunk-OJKZS6HG.cjs.map +0 -1
  669. package/dist/chunk-P4A7GWQY.cjs.map +0 -1
  670. package/dist/chunk-P4TOIB2A.cjs +0 -101
  671. package/dist/chunk-P4TOIB2A.cjs.map +0 -1
  672. package/dist/chunk-PJXJOI73.js +0 -232
  673. package/dist/chunk-PJXJOI73.js.map +0 -1
  674. package/dist/chunk-PNYF6NS4.cjs.map +0 -1
  675. package/dist/chunk-PTJ5YZFY.cjs.map +0 -1
  676. package/dist/chunk-PXTE3XRD.js.map +0 -1
  677. package/dist/chunk-PXVVTPRJ.js.map +0 -1
  678. package/dist/chunk-PYW5UO2Z.js.map +0 -1
  679. package/dist/chunk-S4GLMGFI.js.map +0 -1
  680. package/dist/chunk-SEAVOF6B.js.map +0 -1
  681. package/dist/chunk-SFT5LCQP.cjs.map +0 -1
  682. package/dist/chunk-SSOHJEHS.js +0 -390
  683. package/dist/chunk-SSOHJEHS.js.map +0 -1
  684. package/dist/chunk-TO3ZPSYO.cjs +0 -234
  685. package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
  686. package/dist/chunk-TRK2ZZFB.cjs.map +0 -1
  687. package/dist/chunk-U2WVHZ24.cjs.map +0 -1
  688. package/dist/chunk-UJODHP7E.cjs.map +0 -1
  689. package/dist/chunk-UMGW7WJI.cjs.map +0 -1
  690. package/dist/chunk-UR7RYJOU.cjs.map +0 -1
  691. package/dist/chunk-UX2Z7LRM.cjs +0 -194
  692. package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
  693. package/dist/chunk-UY3MYNI6.js.map +0 -1
  694. package/dist/chunk-VSEKSDTK.js.map +0 -1
  695. package/dist/chunk-VYFMYXU4.js.map +0 -1
  696. package/dist/chunk-W3QVSVL7.cjs.map +0 -1
  697. package/dist/chunk-WA4VZ363.cjs.map +0 -1
  698. package/dist/chunk-WATCCAQU.js.map +0 -1
  699. package/dist/chunk-X5ZQRMEM.cjs.map +0 -1
  700. package/dist/chunk-XQU4ECJY.js.map +0 -1
  701. package/dist/chunk-XVRQSTUF.js.map +0 -1
  702. package/dist/chunk-Y5SXQR52.cjs.map +0 -1
  703. package/dist/chunk-YBPG5RPR.cjs.map +0 -1
  704. package/dist/chunk-YGYA4BYN.js.map +0 -1
  705. package/dist/chunk-ZC6GLBEL.js +0 -179
  706. package/dist/chunk-ZC6GLBEL.js.map +0 -1
  707. package/dist/chunk-ZNUOFLCQ.js.map +0 -1
  708. package/dist/chunk-ZNZ67KFM.js.map +0 -1
  709. package/dist/chunk-ZTQQ2O6O.cjs.map +0 -1
  710. package/dist/chunk-ZW2ATXTL.js.map +0 -1
  711. package/dist/chunk-ZXPKFGRB.cjs.map +0 -1
  712. package/dist/components/Stack/Stack.d.ts.map +0 -1
  713. package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Lightbox/Lightbox.tsx","../src/components/Lightbox/useLightbox.tsx"],"names":["useState","useCallback","useMemo","jsx"],"mappings":";;;;;;;;;;AAqGA,IAAM,MAAA,GAAS;AAAA,EACb,QAAQ,GAAA,CAAI;AAAA,IACV,QAAA,EAAU,OAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,CAAA,EAAG,QAAA;AAAA,IACH,CAAA,EAAG,QAAA;AAAA,IACH,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,CAAA,EAAG,CAAA;AAAA,IACH,CAAA,EAAG,CAAA;AAAA,IACH,WAAA,EAAa,CAAA;AAAA,IACb,EAAA,EAAI,aAAA;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,SAAA,EAAW;AAAA,MACT,EAAA,EAAI,sBAAA;AAAA,MACJ,cAAA,EAAgB;AAAA;AAClB,GACD,CAAA;AAAA,EACD,WAAW,GAAA,CAAI;AAAA,IACb,QAAA,EAAU,UAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,CAAA,EAAG,MAAA;AAAA,IACH,CAAA,EAAG,MAAA;AAAA,IACH,CAAA,EAAG;AAAA,GACJ,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,UAAA,EAAY,QAAA;AAAA,IACZ,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,WAAW,GAAA,CAAI;AAAA,IACb,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,QAAA;AAAA,IAChB,QAAA,EAAU,QAAA;AAAA,IACV,IAAA,EAAM,CAAA;AAAA,IACN,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,QAAA,EAAU,GAAA,CAAI,EAAC,MAAA,EAAQ,WAAU,CAAA;AAAA,EACjC,MAAA,EAAQ,GAAA,CAAI,EAAC,MAAA,EAAQ,QAAO,CAAA;AAAA,EAC5B,QAAA,EAAU,GAAA,CAAI,EAAC,MAAA,EAAQ,YAAW,CAAA;AAAA,EAClC,OAAO,GAAA,CAAI;AAAA,IACT,OAAA,EAAS,OAAA;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,qBAAA;AAAA,IACN,SAAA,EAAW,SAAA;AAAA,IACX,aAAA,EAAe,MAAA;AAAA,IACf,kBAAA,EAAoB,WAAA;AAAA,IACpB,kBAAA,EAAoB,QAAA;AAAA,IACpB,wBAAA,EAA0B,SAAA;AAAA,IAC1B,yCAAA,EAA2C;AAAA,MACzC,kBAAA,EAAoB;AAAA;AACtB,GACD,CAAA;AAAA,EACD,aAAA,EAAe,GAAA,CAAI,EAAC,kBAAA,EAAoB,QAAO,CAAA;AAAA,EAC/C,OAAO,GAAA,CAAI;AAAA,IACT,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,qBAAA;AAAA,IACN,SAAA,EAAW,SAAA;AAAA,IACX,OAAA,EAAS;AAAA,GACV,CAAA;AAAA,EACD,SAAS,GAAA,CAAI;AAAA,IACX,CAAA,EAAG,MAAA;AAAA,IACH,IAAA,EAAM,mBAAA;AAAA,IACN,EAAA,EAAI,GAAA;AAAA,IACJ,EAAA,EAAI,GAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,UAAA,EAAY,MAAA;AAAA,IACZ,QAAA,EAAU,IAAA;AAAA,IACV,UAAA,EAAY,QAAA;AAAA,IACZ,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,OAAO,GAAA,CAAI;AAAA,IACT,QAAA,EAAU,UAAA;AAAA,IACV,GAAA,EAAK,GAAA;AAAA,IACL,KAAA,EAAO,GAAA;AAAA,IACP,MAAA,EAAQ;AAAA,GACT,CAAA;AAAA,EACD,KAAK,GAAA,CAAI;AAAA,IACP,QAAA,EAAU,UAAA;AAAA,IACV,GAAA,EAAK,KAAA;AAAA,IACL,MAAA,EAAQ,CAAA;AAAA,IACR,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,IAAA,EAAM,GAAA,CAAI,EAAC,IAAA,EAAM,KAAI,CAAA;AAAA,EACrB,IAAA,EAAM,GAAA,CAAI,EAAC,KAAA,EAAO,KAAI,CAAA;AAAA,EACtB,SAAS,GAAA,CAAI;AAAA,IACX,QAAA,EAAU,UAAA;AAAA,IACV,GAAA,EAAK,GAAA;AAAA,IACL,IAAA,EAAM,GAAA;AAAA,IACN,MAAA,EAAQ,CAAA;AAAA,IACR,KAAA,EAAO,cAAA;AAAA,IACP,UAAA,EAAY,MAAA;AAAA,IACZ,QAAA,EAAU;AAAA,GACX,CAAA;AAAA,EACD,eAAe,GAAA,CAAI;AAAA,IACjB,EAAA,EAAI,eAAA;AAAA,IACJ,KAAA,EAAO,cAAA;AAAA,IACP,MAAA,EAAQ;AAAA,MACN,EAAA,EAAI;AAAA,KACN;AAAA,IACA,OAAA,EAAS;AAAA,MACP,EAAA,EAAI;AAAA;AACN,GACD;AACH,CAAA;AAEA,SAAS,cAAc,QAAA,EAAyB;AAC9C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,QAAA,EAAU;AACb,MAAA;AAAA,IACF;AACA,IAAA,MAAM,gBAAA,GAAmB,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,QAAA;AAC7C,IAAA,QAAA,CAAS,IAAA,CAAK,MAAM,QAAA,GAAW,QAAA;AAC/B,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,IAAA,CAAK,MAAM,QAAA,GAAW,gBAAA;AAAA,IACjC,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,QAAQ,CAAC,CAAA;AACf;AAEA,SAAS,aACP,KAAA,EACuC;AACvC,EAAA,OAAO,KAAA,CAAM,QAAQ,KAAK,CAAA;AAC5B;AAKO,SAAS,QAAA,CAAS;AAAA,EACvB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,YAAA,GAAe,CAAA;AAAA,EACf,WAAA,GAAc,KAAA;AAAA,EACd,OAAA,GAAU,KAAA;AAAA,EACV,KAAA,EAAO,cAAA;AAAA,EACP,MAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAA;AAAA,EACA;AACF,CAAA,EAAqC;AACnC,EAAA,MAAM,SAAA,GAAY,OAA0B,IAAI,CAAA;AAChD,EAAA,MAAM,UAAA,GAAa,OAAuB,IAAI,CAAA;AAC9C,EAAA,MAAM,CAAC,iBAAA,EAAmB,oBAAoB,CAAA,GAAI,SAAS,YAAY,CAAA;AACvE,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,CAAA,GAAI,SAAS,CAAC,CAAA;AAClC,EAAA,MAAM,CAAC,GAAA,EAAK,MAAM,CAAA,GAAI,QAAA,CAAS,EAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAE,CAAA;AAC3C,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAClD,EAAA,MAAM,YAAA,GAAe,MAAA,CAAO,EAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,IAAA,EAAM,CAAA,EAAG,IAAA,EAAM,CAAA,EAAE,CAAA;AAC1D,EAAA,MAAM,eAAe,cAAA,KAAmB,MAAA;AACxC,EAAA,MAAM,KAAA,GAAQ,eAAe,cAAA,GAAiB,iBAAA;AAC9C,EAAA,MAAM,UAAA,GAA2C,OAAA;AAAA,IAC/C,MAAO,YAAA,CAAa,KAAK,CAAA,GAAI,KAAA,GAAQ,CAAC,KAAK,CAAA;AAAA,IAC3C,CAAC,KAAK;AAAA,GACR;AACA,EAAA,MAAM,YAAA,GACJ,UAAA,CAAW,MAAA,KAAW,CAAA,GAClB,IACA,IAAA,CAAK,GAAA,CAAI,IAAA,CAAK,GAAA,CAAI,KAAA,EAAO,CAAC,CAAA,EAAG,UAAA,CAAW,SAAS,CAAC,CAAA;AACxD,EAAA,MAAM,cACJ,UAAA,CAAW,MAAA,KAAW,CAAA,GAAI,MAAA,GAAY,WAAW,YAAY,CAAA;AAC/D,EAAA,MAAM,WAAW,WAAA,IAAe,IAAA;AAChC,EAAA,MAAM,SAAA,GAAY,WAAW,MAAA,GAAS,CAAA;AACtC,EAAA,MAAM,OAAA,GAAA,CAAW,WAAA,EAAa,IAAA,IAAQ,OAAA,MAAa,OAAA;AACnD,EAAA,MAAM,OAAA,GAAU,aAAa,YAAA,GAAe,CAAA;AAC5C,EAAA,MAAM,OAAA,GAAU,SAAA,IAAa,YAAA,GAAe,UAAA,CAAW,MAAA,GAAS,CAAA;AAChE,EAAA,MAAM,cAAA,GACJ,IAAA,KAAS,CAAA,GACL,MAAA,GACA,CAAA,MAAA,EAAS,IAAI,CAAA,YAAA,EAAe,GAAA,CAAI,CAAA,GAAI,IAAI,CAAA,IAAA,EAAO,GAAA,CAAI,IAAI,IAAI,CAAA,GAAA,CAAA;AAEjE,EAAA,aAAA,CAAc,MAAM,CAAA;AAEpB,EAAA,MAAM,QAAA,GAAW,WAAA;AAAA,IACf,CAAC,SAAA,KAAsB;AACrB,MAAA,IAAI,CAAC,YAAA,EAAc;AACjB,QAAA,oBAAA,CAAqB,SAAS,CAAA;AAAA,MAChC;AACA,MAAA,aAAA,GAAgB,SAAS,CAAA;AAAA,IAC3B,CAAA;AAAA,IACA,CAAC,cAAc,aAAa;AAAA,GAC9B;AAEA,EAAA,SAAA,CAAU,MAAM;AAEd,IAAA,OAAA,CAAQ,CAAC,CAAA;AAET,IAAA,MAAA,CAAO,EAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAE,CAAA;AAAA,EACrB,GAAG,CAAC,YAAA,EAAc,WAAA,EAAa,GAAA,EAAK,MAAM,CAAC,CAAA;AAE3C,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,SAAA,EAAW;AACd,MAAA;AAAA,IACF;AAEA,IAAA,KAAA,MAAW,aAAa,CAAC,YAAA,GAAe,CAAA,EAAG,YAAA,GAAe,CAAC,CAAA,EAAG;AAC5D,MAAA,IAAI,SAAA,GAAY,CAAA,IAAK,SAAA,IAAa,UAAA,CAAW,MAAA,EAAQ;AACnD,QAAA;AAAA,MACF;AACA,MAAA,MAAM,IAAA,GAAO,WAAW,SAAS,CAAA;AACjC,MAAA,IAAI,IAAA,CAAK,SAAS,OAAA,EAAS;AACzB,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,KAAA,GAAQ,IAAI,KAAA,EAAM;AACxB,MAAA,KAAA,CAAM,MAAM,IAAA,CAAK,GAAA;AAAA,IACnB;AAAA,EACF,CAAA,EAAG,CAAC,YAAA,EAAc,SAAA,EAAW,UAAU,CAAC,CAAA;AAExC,EAAA,yBAAA,CAA0B,MAAM;AAC9B,IAAA,MAAM,SAAS,SAAA,CAAU,OAAA;AACzB,IAAA,IAAI,UAAU,IAAA,EAAM;AAClB,MAAA;AAAA,IACF;AACA,IAAA,IAAI,MAAA,IAAU,CAAC,MAAA,CAAO,IAAA,EAAM;AAC1B,MAAA,UAAA,CAAW,UAAU,QAAA,CAAS,aAAA;AAC9B,MAAA,MAAA,CAAO,SAAA,EAAU;AAAA,IACnB,CAAA,MAAA,IAAW,CAAC,MAAA,IAAU,MAAA,CAAO,IAAA,EAAM;AACjC,MAAA,MAAA,CAAO,KAAA,EAAM;AACb,MAAA,IAAI,UAAA,CAAW,mBAAmB,WAAA,EAAa;AAC7C,QAAA,UAAA,CAAW,QAAQ,KAAA,EAAM;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,UAAA,EAAY;AACf,MAAA;AAAA,IACF;AACA,IAAA,MAAM,iBAAA,GAAoB,CAAC,KAAA,KAAwB;AACjD,MAAA,MAAA,CAAO;AAAA,QACL,GAAG,YAAA,CAAa,OAAA,CAAQ,OAAO,KAAA,CAAM,OAAA,GAAU,aAAa,OAAA,CAAQ,CAAA;AAAA,QACpE,GAAG,YAAA,CAAa,OAAA,CAAQ,OAAO,KAAA,CAAM,OAAA,GAAU,aAAa,OAAA,CAAQ;AAAA,OACrE,CAAA;AAAA,IACH,CAAA;AACA,IAAA,MAAM,eAAA,GAAkB,MAAM,aAAA,CAAc,KAAK,CAAA;AACjD,IAAA,MAAA,CAAO,gBAAA,CAAiB,eAAe,iBAAiB,CAAA;AACxD,IAAA,MAAA,CAAO,gBAAA,CAAiB,aAAa,eAAe,CAAA;AACpD,IAAA,OAAO,MAAM;AACX,MAAA,MAAA,CAAO,mBAAA,CAAoB,eAAe,iBAAiB,CAAA;AAC3D,MAAA,MAAA,CAAO,mBAAA,CAAoB,aAAa,eAAe,CAAA;AAAA,IACzD,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,UAAU,CAAC,CAAA;AAEf,EAAA,MAAM,KAAA,GAAQ,YAAY,MAAM;AAC9B,IAAA,YAAA,CAAa,KAAK,CAAA;AAAA,EACpB,CAAA,EAAG,CAAC,YAAY,CAAC,CAAA;AACjB,EAAA,MAAM,MAAA,GAAS,YAAY,MAAM;AAC/B,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,QAAA,CAAS,eAAe,CAAC,CAAA;AAAA,IAC3B;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,YAAA,EAAc,QAAQ,CAAC,CAAA;AACpC,EAAA,MAAM,MAAA,GAAS,YAAY,MAAM;AAC/B,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,QAAA,CAAS,eAAe,CAAC,CAAA;AAAA,IAC3B;AAAA,EACF,CAAA,EAAG,CAAC,OAAA,EAAS,YAAA,EAAc,QAAQ,CAAC,CAAA;AAEpC,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,gBAAA;AAAA,MACX,SAAA,EAAW,EAAA,CAAG,MAAA,CAAO,MAAA,EAAQ,SAAS,CAAA;AAAA,MACtC,aAAA,EAAa,UAAA;AAAA,MACb,UAAU,CAAA,KAAA,KAAS;AACjB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,KAAA,EAAM;AAAA,MACR,CAAA;AAAA,MACA,OAAA,EAAS,CAAC,KAAA,KAA8C;AACtD,QAAA,IAAI,KAAA,CAAM,MAAA,KAAW,KAAA,CAAM,aAAA,EAAe;AACxC,UAAA,KAAA,EAAM;AAAA,QACR;AAAA,MACF,CAAA;AAAA,MACA,WAAW,CAAA,KAAA,KAAS;AAClB,QAAA,IAAI,KAAA,CAAM,QAAQ,WAAA,EAAa;AAC7B,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,EAAO;AAAA,QACT,CAAA,MAAA,IAAW,KAAA,CAAM,GAAA,KAAQ,YAAA,EAAc;AACrC,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,MAAA,EAAO;AAAA,QACT;AAAA,MACF,CAAA;AAAA,MACA,GAAA,EAAK,SAAA,CAAU,GAAA,EAAK,SAAS,CAAA;AAAA,MAC7B,KAAA;AAAA,MACA,QAAA,kBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,SAAA,EACrB,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,KAAA,EACrB,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAW,MAAA,CAAO,aAAA;AAAA,YAClB,IAAA,EAAM,CAAA;AAAA,YACN,UAAA,EAAU,IAAA;AAAA,YACV,KAAA,EAAM,OAAA;AAAA,YACN,OAAA,EAAS;AAAA;AAAA,SACX,EACF,CAAA;AAAA,QACC,OAAA,uBACE,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,IAAI,CAAA,EACxC,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAW,MAAA,CAAO,aAAA;AAAA,YAClB,IAAA,EAAM,WAAA;AAAA,YACN,UAAA,EAAU,IAAA;AAAA,YACV,KAAA,EAAM,UAAA;AAAA,YACN,OAAA,EAAS;AAAA;AAAA,WAEb,CAAA,GACE,IAAA;AAAA,QACH,QAAA,mBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,UAAA,EAErB,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,KAAA;AAAA,YAAA;AAAA,cACC,SAAA,EAAW,EAAA;AAAA,gBACT,MAAA,CAAO,SAAA;AAAA,gBACP,CAAC,OAAA,IAAW,OAAA,IAAW,IAAA,KAAS,CAAA,GAAI,OAAO,QAAA,GAAW,MAAA;AAAA,gBACtD,CAAC,OAAA,IAAW,IAAA,GAAO,CAAA,GAAI,OAAO,MAAA,GAAS,MAAA;AAAA,gBACvC,UAAA,GAAa,OAAO,QAAA,GAAW;AAAA,eACjC;AAAA,cACA,eAAe,MAAM;AACnB,gBAAA,IAAI,CAAC,WAAW,OAAA,EAAS;AACvB,kBAAA;AAAA,gBACF;AACA,gBAAA,OAAA,CAAQ,IAAA,KAAS,CAAA,GAAI,CAAA,GAAI,CAAC,CAAA;AAC1B,gBAAA,MAAA,CAAO,EAAC,CAAA,EAAG,CAAA,EAAG,CAAA,EAAG,GAAE,CAAA;AAAA,cACrB,CAAA;AAAA,cACA,eAAe,CAAA,KAAA,KAAS;AACtB,gBAAA,IAAI,CAAC,OAAA,IAAW,OAAA,IAAW,IAAA,IAAQ,CAAA,EAAG;AACpC,kBAAA;AAAA,gBACF;AACA,gBAAA,aAAA,CAAc,IAAI,CAAA;AAClB,gBAAA,YAAA,CAAa,OAAA,GAAU;AAAA,kBACrB,GAAG,KAAA,CAAM,OAAA;AAAA,kBACT,GAAG,KAAA,CAAM,OAAA;AAAA,kBACT,MAAM,GAAA,CAAI,CAAA;AAAA,kBACV,MAAM,GAAA,CAAI;AAAA,iBACZ;AAAA,cACF,CAAA;AAAA,cACC,QAAA,EAAA,OAAA;AAAA;AAAA,gCAEC,GAAA;AAAA,kBAAC,OAAA;AAAA,kBAAA;AAAA,oBACC,cAAY,WAAA,CAAY,GAAA;AAAA,oBACxB,QAAA,EAAU,WAAA;AAAA,oBACV,WAAW,MAAA,CAAO,KAAA;AAAA,oBAClB,QAAA,EAAQ,IAAA;AAAA,oBACR,KAAK,WAAA,CAAY,GAAA;AAAA,oBAChB,QAAA,EAAA,WAAA,CAAY,eAAe,IAAA,mBAC1B,GAAA;AAAA,sBAAC,OAAA;AAAA,sBAAA;AAAA,wBACC,IAAA,EAAK,UAAA;AAAA,wBACL,KAAA,EAAM,UAAA;AAAA,wBACN,KAAK,WAAA,CAAY;AAAA;AAAA,qBACnB,GACE;AAAA;AAAA;AACN,kCAEA,GAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,KAAK,WAAA,CAAY,GAAA;AAAA,kBACjB,SAAA,EAAW,EAAA;AAAA,oBACT,MAAA,CAAO,KAAA;AAAA,oBACP,UAAA,GAAa,OAAO,aAAA,GAAgB;AAAA,mBACtC;AAAA,kBACA,SAAA,EAAW,KAAA;AAAA,kBACX,KAAK,WAAA,CAAY,GAAA;AAAA,kBACjB,KAAA,EAAO,EAAC,SAAA,EAAW,cAAA;AAAc;AAAA;AACnC;AAAA,WAEJ;AAAA,UACC,WAAA,CAAY,WAAA,CAAY,OAAO,CAAA,mBAC9B,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,OAAA,EAAU,QAAA,EAAA,WAAA,CAAY,OAAA,EAAQ,CAAA,GACnD;AAAA,SAAA,EACN,CAAA,GACE,IAAA;AAAA,QACH,OAAA,uBACE,KAAA,EAAA,EAAI,SAAA,EAAW,GAAG,MAAA,CAAO,GAAA,EAAK,MAAA,CAAO,IAAI,CAAA,EACxC,QAAA,kBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,WAAW,MAAA,CAAO,aAAA;AAAA,YAClB,IAAA,EAAM,YAAA;AAAA,YACN,UAAA,EAAU,IAAA;AAAA,YACV,KAAA,EAAM,MAAA;AAAA,YACN,OAAA,EAAS;AAAA;AAAA,WAEb,CAAA,GACE,IAAA;AAAA,QACH,SAAA,mBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAO,OAAA,EACpB,QAAA,EAAA;AAAA,UAAA,YAAA,GAAe,CAAA;AAAA,UAAE,KAAA;AAAA,UAAI,UAAA,CAAW;AAAA,SAAA,EACnC,CAAA,GACE;AAAA,OAAA,EACN;AAAA;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA;AC9ahB,SAAS,YAAY,OAAA,EAAgD;AAC1E,EAAA,MAAM,EAAC,KAAA,EAAO,GAAG,aAAA,EAAa,GAAI,OAAA;AAClC,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,CAAA,GAAIA,SAAS,KAAK,CAAA;AAC1C,EAAA,MAAM,CAAC,KAAA,EAAO,QAAQ,CAAA,GAAIA,SAAS,CAAC,CAAA;AAEpC,EAAA,MAAM,IAAA,GAAOC,WAAAA,CAAY,CAAC,SAAA,GAAY,CAAA,KAAM;AAC1C,IAAA,QAAA,CAAS,SAAS,CAAA;AAClB,IAAA,SAAA,CAAU,IAAI,CAAA;AAAA,EAChB,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,QAAQA,WAAAA,CAAY,MAAM,UAAU,KAAK,CAAA,EAAG,EAAE,CAAA;AACpD,EAAA,MAAM,eAAA,GAAkBA,WAAAA;AAAA,IACtB,CAAC,SAAA,MAAuB;AAAA,MACtB,eAAA,EAAiB,QAAA;AAAA,MACjB,OAAA,EAAS,MAAM,IAAA,CAAK,SAAS,CAAA;AAAA,MAC7B,SAAA,EAAW,CAAC,KAAA,KAA+B;AACzC,QAAA,IAAI,KAAA,CAAM,GAAA,KAAQ,OAAA,IAAW,KAAA,CAAM,QAAQ,GAAA,EAAK;AAC9C,UAAA,KAAA,CAAM,cAAA,EAAe;AACrB,UAAA,IAAA,CAAK,SAAS,CAAA;AAAA,QAChB;AAAA,MACF,CAAA;AAAA,MACA,IAAA,EAAM,QAAA;AAAA,MACN,QAAA,EAAU;AAAA,KACZ,CAAA;AAAA,IACA,CAAC,IAAI;AAAA,GACP;AACA,EAAA,MAAM,YAAA,GAAeC,QAAQ,MAAM,eAAA,CAAgB,CAAC,CAAA,EAAG,CAAC,eAAe,CAAC,CAAA;AACxE,EAAA,MAAM,0BACJC,GAAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACE,GAAG,aAAA;AAAA,MACJ,KAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,aAAA,EAAe,QAAA;AAAA,MACf,YAAA,EAAc;AAAA;AAAA,GAChB;AAGF,EAAA,OAAO,EAAC,KAAA,EAAO,OAAA,EAAS,iBAAiB,KAAA,EAAO,MAAA,EAAQ,MAAM,YAAA,EAAY;AAC5E","file":"chunk-U6NH54YD.js","sourcesContent":["/* eslint-disable jsx-a11y-x/no-noninteractive-element-interactions */\n\nimport {ChevronLeft, ChevronRight, X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {useIsomorphicLayoutEffect} from '../../internal/useIsomorphicLayoutEffect';\nimport {Button} from '../Button';\n\nexport type LightboxMediaType = 'image' | 'video';\n\nexport interface LightboxMedia {\n /**\n * Accessible image alt text, or video label.\n */\n alt: string;\n /**\n * Optional caption shown below the media.\n */\n caption?: ReactNode;\n /**\n * Optional WebVTT captions source for video media.\n */\n captionsSrc?: string;\n /**\n * Media source URL.\n */\n src: string;\n /**\n * Media type.\n * @default 'image'\n */\n type?: LightboxMediaType;\n}\n\nexport interface LightboxProps {\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Initial gallery index for uncontrolled usage.\n * @default 0\n */\n defaultIndex?: number;\n /**\n * Whether videos autoplay when opened.\n * @default false\n */\n hasAutoPlay?: boolean;\n /**\n * Whether images can be double-clicked to zoom.\n * @default false\n */\n hasZoom?: boolean;\n /**\n * Controlled gallery index.\n */\n index?: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Media to display.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n /**\n * Called when gallery index changes.\n */\n onIndexChange?: (index: number) => void;\n /**\n * Called when the lightbox requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n dialog: css({\n position: 'fixed',\n inset: 0,\n w: '100dvw',\n h: '100dvh',\n maxW: 'none',\n maxH: 'none',\n m: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n overflow: 'hidden',\n outline: 'none',\n _backdrop: {\n bg: 'overlay.scrim.strong',\n backdropFilter: 'blur(2px)',\n },\n }),\n container: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n p: '8',\n }),\n mediaGroup: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n maxW: 'full',\n maxH: 'full',\n minH: 0,\n }),\n mediaWrap: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n minH: 0,\n userSelect: 'none',\n }),\n zoomable: css({cursor: 'zoom-in'}),\n zoomed: css({cursor: 'grab'}),\n dragging: css({cursor: 'grabbing'}),\n image: css({\n display: 'block',\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n pointerEvents: 'none',\n transitionProperty: 'transform',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0ms',\n },\n }),\n imageDragging: css({transitionProperty: 'none'}),\n video: css({\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n outline: 'none',\n }),\n caption: css({\n w: 'full',\n maxW: 'min(90dvw, 48rem)',\n px: '3',\n pt: '2',\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'lg',\n lineHeight: 'normal',\n textAlign: 'center',\n }),\n close: css({\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n }),\n nav: css({\n position: 'absolute',\n top: '50%',\n zIndex: 1,\n transform: 'translateY(-50%)',\n }),\n prev: css({left: '3'}),\n next: css({right: '3'}),\n counter: css({\n position: 'absolute',\n top: '3',\n left: '3',\n zIndex: 1,\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'md',\n }),\n controlButton: css({\n bg: 'overlay.scrim',\n color: 'fg.onPrimary',\n _hover: {\n bg: 'overlay.scrim.strong',\n },\n _active: {\n bg: 'overlay.scrim.strong',\n },\n }),\n} as const;\n\nfunction useScrollLock(isLocked: boolean): void {\n useEffect(() => {\n if (!isLocked) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isLocked]);\n}\n\nfunction isMediaArray(\n media: LightboxMedia | ReadonlyArray<LightboxMedia>,\n): media is ReadonlyArray<LightboxMedia> {\n return Array.isArray(media);\n}\n\n/**\n * Fullscreen dialog for viewing image or video media, with optional gallery navigation.\n */\nexport function Lightbox({\n className,\n 'data-testid': dataTestId,\n defaultIndex = 0,\n hasAutoPlay = false,\n hasZoom = false,\n index: indexFromProps,\n isOpen,\n media,\n onIndexChange,\n onOpenChange,\n ref,\n style,\n}: LightboxProps): React.JSX.Element {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const triggerRef = useRef<Element | null>(null);\n const [uncontrolledIndex, setUncontrolledIndex] = useState(defaultIndex);\n const [zoom, setZoom] = useState(1);\n const [pan, setPan] = useState({x: 0, y: 0});\n const [isDragging, setIsDragging] = useState(false);\n const dragStartRef = useRef({x: 0, y: 0, panX: 0, panY: 0});\n const isControlled = indexFromProps !== undefined;\n const index = isControlled ? indexFromProps : uncontrolledIndex;\n const mediaItems: ReadonlyArray<LightboxMedia> = useMemo(\n () => (isMediaArray(media) ? media : [media]),\n [media],\n );\n const currentIndex =\n mediaItems.length === 0\n ? 0\n : Math.min(Math.max(index, 0), mediaItems.length - 1);\n const currentItem =\n mediaItems.length === 0 ? undefined : mediaItems[currentIndex];\n const hasMedia = currentItem != null;\n const isGallery = mediaItems.length > 1;\n const isVideo = (currentItem?.type ?? 'image') === 'video';\n const canPrev = isGallery && currentIndex > 0;\n const canNext = isGallery && currentIndex < mediaItems.length - 1;\n const imageTransform =\n zoom === 1\n ? undefined\n : `scale(${zoom}) translate(${pan.x / zoom}px, ${pan.y / zoom}px)`;\n\n useScrollLock(isOpen);\n\n const setIndex = useCallback(\n (nextIndex: number) => {\n if (!isControlled) {\n setUncontrolledIndex(nextIndex);\n }\n onIndexChange?.(nextIndex);\n },\n [isControlled, onIndexChange],\n );\n\n useEffect(() => {\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setZoom(1);\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setPan({x: 0, y: 0});\n }, [currentIndex, currentItem?.src, isOpen]);\n\n useEffect(() => {\n if (!isGallery) {\n return;\n }\n\n for (const nextIndex of [currentIndex - 1, currentIndex + 1]) {\n if (nextIndex < 0 || nextIndex >= mediaItems.length) {\n continue;\n }\n const item = mediaItems[nextIndex];\n if (item.type === 'video') {\n continue;\n }\n\n const image = new Image();\n image.src = item.src;\n }\n }, [currentIndex, isGallery, mediaItems]);\n\n useIsomorphicLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (dialog == null) {\n return;\n }\n if (isOpen && !dialog.open) {\n triggerRef.current = document.activeElement;\n dialog.showModal();\n } else if (!isOpen && dialog.open) {\n dialog.close();\n if (triggerRef.current instanceof HTMLElement) {\n triggerRef.current.focus();\n }\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isDragging) {\n return;\n }\n const handlePointerMove = (event: PointerEvent) => {\n setPan({\n x: dragStartRef.current.panX + event.clientX - dragStartRef.current.x,\n y: dragStartRef.current.panY + event.clientY - dragStartRef.current.y,\n });\n };\n const handlePointerUp = () => setIsDragging(false);\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n return () => {\n window.removeEventListener('pointermove', handlePointerMove);\n window.removeEventListener('pointerup', handlePointerUp);\n };\n }, [isDragging]);\n\n const close = useCallback(() => {\n onOpenChange(false);\n }, [onOpenChange]);\n const goPrev = useCallback(() => {\n if (canPrev) {\n setIndex(currentIndex - 1);\n }\n }, [canPrev, currentIndex, setIndex]);\n const goNext = useCallback(() => {\n if (canNext) {\n setIndex(currentIndex + 1);\n }\n }, [canNext, currentIndex, setIndex]);\n\n return (\n <dialog\n aria-label=\"Media lightbox\"\n className={cx(styles.dialog, className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n close();\n }}\n onClick={(event: ReactMouseEvent<HTMLDialogElement>) => {\n if (event.target === event.currentTarget) {\n close();\n }\n }}\n onKeyDown={event => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n goPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n goNext();\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div className={styles.container}>\n <div className={styles.close}>\n <Button\n className={styles.controlButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={close}\n />\n </div>\n {canPrev ? (\n <div className={cx(styles.nav, styles.prev)}>\n <Button\n className={styles.controlButton}\n icon={ChevronLeft}\n isIconOnly\n label=\"Previous\"\n onClick={goPrev}\n />\n </div>\n ) : null}\n {hasMedia ? (\n <div className={styles.mediaGroup}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- media viewport supports image zoom/pan gestures */}\n <div\n className={cx(\n styles.mediaWrap,\n !isVideo && hasZoom && zoom === 1 ? styles.zoomable : undefined,\n !isVideo && zoom > 1 ? styles.zoomed : undefined,\n isDragging ? styles.dragging : undefined,\n )}\n onDoubleClick={() => {\n if (!hasZoom || isVideo) {\n return;\n }\n setZoom(zoom === 1 ? 2 : 1);\n setPan({x: 0, y: 0});\n }}\n onPointerDown={event => {\n if (!hasZoom || isVideo || zoom <= 1) {\n return;\n }\n setIsDragging(true);\n dragStartRef.current = {\n x: event.clientX,\n y: event.clientY,\n panX: pan.x,\n panY: pan.y,\n };\n }}>\n {isVideo ? (\n // eslint-disable-next-line jsx-a11y-x/media-has-caption -- captions are rendered only when callers provide a real WebVTT source\n <video\n aria-label={currentItem.alt}\n autoPlay={hasAutoPlay}\n className={styles.video}\n controls\n src={currentItem.src}>\n {currentItem.captionsSrc != null ? (\n <track\n kind=\"captions\"\n label=\"Captions\"\n src={currentItem.captionsSrc}\n />\n ) : null}\n </video>\n ) : (\n <img\n alt={currentItem.alt}\n className={cx(\n styles.image,\n isDragging ? styles.imageDragging : undefined,\n )}\n draggable={false}\n src={currentItem.src}\n style={{transform: imageTransform}}\n />\n )}\n </div>\n {isReactNode(currentItem.caption) ? (\n <div className={styles.caption}>{currentItem.caption}</div>\n ) : null}\n </div>\n ) : null}\n {canNext ? (\n <div className={cx(styles.nav, styles.next)}>\n <Button\n className={styles.controlButton}\n icon={ChevronRight}\n isIconOnly\n label=\"Next\"\n onClick={goNext}\n />\n </div>\n ) : null}\n {isGallery ? (\n <div className={styles.counter}>\n {currentIndex + 1} / {mediaItems.length}\n </div>\n ) : null}\n </div>\n </dialog>\n );\n}\n\nLightbox.displayName = 'Lightbox';\n","import {useCallback, useMemo, useState, type ReactNode} from 'react';\nimport {Lightbox, type LightboxMedia, type LightboxProps} from './Lightbox';\n\ntype LightboxOptions = Omit<\n LightboxProps,\n | 'defaultIndex'\n | 'index'\n | 'isOpen'\n | 'media'\n | 'onIndexChange'\n | 'onOpenChange'\n>;\n\nexport interface UseLightboxOptions extends LightboxOptions {\n /**\n * Media to display in the lightbox.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n}\n\nexport interface UseLightboxReturn {\n /**\n * Close the lightbox.\n */\n close: () => void;\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Returns trigger props that open at the given gallery index.\n */\n getTriggerProps: (index: number) => {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n /**\n * Current gallery index.\n */\n index: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Open the lightbox, optionally at a specific gallery index.\n */\n open: (index?: number) => void;\n /**\n * Trigger props that open the first item.\n */\n triggerProps: {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n}\n\n/**\n * State helper for Lightbox triggers and rendering.\n */\nexport function useLightbox(options: UseLightboxOptions): UseLightboxReturn {\n const {media, ...lightboxProps} = options;\n const [isOpen, setIsOpen] = useState(false);\n const [index, setIndex] = useState(0);\n\n const open = useCallback((nextIndex = 0) => {\n setIndex(nextIndex);\n setIsOpen(true);\n }, []);\n const close = useCallback(() => setIsOpen(false), []);\n const getTriggerProps = useCallback(\n (nextIndex: number) => ({\n 'aria-haspopup': 'dialog' as const,\n onClick: () => open(nextIndex),\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n open(nextIndex);\n }\n },\n role: 'button' as const,\n tabIndex: 0 as const,\n }),\n [open],\n );\n const triggerProps = useMemo(() => getTriggerProps(0), [getTriggerProps]);\n const element = (\n <Lightbox\n {...lightboxProps}\n index={index}\n isOpen={isOpen}\n media={media}\n onIndexChange={setIndex}\n onOpenChange={setIsOpen}\n />\n );\n\n return {close, element, getTriggerProps, index, isOpen, open, triggerProps};\n}\n"]}
@@ -1,4 +1,4 @@
1
- import { sva } from './chunk-EHCAF6D3.js';
1
+ import { sva } from './chunk-IAVZKGZS.js';
2
2
 
3
3
  // src/components/Field/Field.recipe.ts
4
4
  var fieldRecipe = sva({
@@ -83,5 +83,5 @@ var fieldRecipe = sva({
83
83
  });
84
84
 
85
85
  export { fieldRecipe };
86
- //# sourceMappingURL=chunk-NUTB2K4G.js.map
87
- //# sourceMappingURL=chunk-NUTB2K4G.js.map
86
+ //# sourceMappingURL=chunk-U7ALNPFJ.js.map
87
+ //# sourceMappingURL=chunk-U7ALNPFJ.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Field/Field.recipe.ts"],"names":[],"mappings":";;;AAEO,IAAM,cAAc,GAAA,CAAI;AAAA,EAC7B,KAAA,EAAO;AAAA,IACL,MAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,GAAA,EAAK;AAAA,KACP;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,CAAA,EAAG,aAAA;AAAA,MACH,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ;AAAA,KACV;AAAA,IACA,SAAA,EAAW;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa;AAAA,MACX,OAAA,EAAS,aAAA;AAAA,MACT,KAAA,EAAO;AAAA,KACT;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,UAAA,EAAY,MAAA;AAAA,MACZ,QAAA,EAAU,IAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA,UACL,MAAA,EAAQ,aAAA;AAAA,UACR,KAAA,EAAO;AAAA;AACT,OACF;AAAA,MACA,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,OAAA,EAAS,EAAC,MAAA,EAAQ,EAAC,IAAI,gBAAA,EAAkB,KAAA,EAAO,qBAAmB,EAAC;AAAA,MACpE,KAAA,EAAO,EAAC,MAAA,EAAQ,EAAC,IAAI,aAAA,EAAe,KAAA,EAAO,kBAAgB,EAAC;AAAA,MAC5D,OAAA,EAAS,EAAC,MAAA,EAAQ,EAAC,IAAI,eAAA,EAAiB,KAAA,EAAO,oBAAkB;AAAC,KACpE;AAAA,IACA,aAAA,EAAe;AAAA,MACb,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,IAAA;AAAA,UACJ,EAAA,EAAI,KAAA;AAAA,UACJ,kBAAA,EAAoB;AAAA;AACtB,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,GAAA;AAAA,UACJ,YAAA,EAAc;AAAA;AAChB;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,KAAA;AAAA,IACZ,aAAA,EAAe;AAAA;AAEnB,CAAC","file":"chunk-NUTB2K4G.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const fieldRecipe = sva({\n slots: [\n 'root',\n 'label',\n 'indicator',\n 'tooltipIcon',\n 'inputWrapper',\n 'status',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: '1',\n },\n label: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n w: 'fit-content',\n color: 'fg',\n cursor: 'pointer',\n },\n indicator: {\n fontWeight: 'normal',\n color: 'fg.muted',\n },\n tooltipIcon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n inputWrapper: {\n display: 'flex',\n flexDirection: 'column',\n isolation: 'isolate',\n },\n status: {\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n px: '2',\n py: '1.5',\n },\n },\n variants: {\n isDisabled: {\n true: {\n label: {\n cursor: 'not-allowed',\n color: 'fg.disabled',\n },\n },\n false: {},\n },\n statusType: {\n warning: {status: {bg: 'surface.yellow', color: 'surface.yellow.fg'}},\n error: {status: {bg: 'surface.red', color: 'surface.red.fg'}},\n success: {status: {bg: 'surface.green', color: 'surface.green.fg'}},\n },\n statusVariant: {\n attached: {\n status: {\n mt: '-1',\n pt: '2.5',\n borderBottomRadius: 'md',\n },\n },\n detached: {\n status: {\n mt: '1',\n borderRadius: 'md',\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n statusVariant: 'attached',\n },\n});\n\nexport type FieldVariants = RecipeVariantProps<typeof fieldRecipe>;\n"]}
1
+ {"version":3,"sources":["../src/components/Field/Field.recipe.ts"],"names":[],"mappings":";;;AAEO,IAAM,cAAc,GAAA,CAAI;AAAA,EAC7B,KAAA,EAAO;AAAA,IACL,MAAA;AAAA,IACA,OAAA;AAAA,IACA,WAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,GAAA,EAAK;AAAA,KACP;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,CAAA,EAAG,aAAA;AAAA,MACH,KAAA,EAAO,IAAA;AAAA,MACP,MAAA,EAAQ;AAAA,KACV;AAAA,IACA,SAAA,EAAW;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,KAAA,EAAO;AAAA,KACT;AAAA,IACA,WAAA,EAAa;AAAA,MACX,OAAA,EAAS,aAAA;AAAA,MACT,KAAA,EAAO;AAAA,KACT;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,SAAA,EAAW;AAAA,KACb;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,UAAA,EAAY,MAAA;AAAA,MACZ,QAAA,EAAU,IAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,KAAA,EAAO;AAAA,UACL,MAAA,EAAQ,aAAA;AAAA,UACR,KAAA,EAAO;AAAA;AACT,OACF;AAAA,MACA,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,OAAA,EAAS,EAAC,MAAA,EAAQ,EAAC,IAAI,gBAAA,EAAkB,KAAA,EAAO,qBAAmB,EAAC;AAAA,MACpE,KAAA,EAAO,EAAC,MAAA,EAAQ,EAAC,IAAI,aAAA,EAAe,KAAA,EAAO,kBAAgB,EAAC;AAAA,MAC5D,OAAA,EAAS,EAAC,MAAA,EAAQ,EAAC,IAAI,eAAA,EAAiB,KAAA,EAAO,oBAAkB;AAAC,KACpE;AAAA,IACA,aAAA,EAAe;AAAA,MACb,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,IAAA;AAAA,UACJ,EAAA,EAAI,KAAA;AAAA,UACJ,kBAAA,EAAoB;AAAA;AACtB,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,MAAA,EAAQ;AAAA,UACN,EAAA,EAAI,GAAA;AAAA,UACJ,YAAA,EAAc;AAAA;AAChB;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,KAAA;AAAA,IACZ,aAAA,EAAe;AAAA;AAEnB,CAAC","file":"chunk-U7ALNPFJ.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const fieldRecipe = sva({\n slots: [\n 'root',\n 'label',\n 'indicator',\n 'tooltipIcon',\n 'inputWrapper',\n 'status',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n gap: '1',\n },\n label: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n w: 'fit-content',\n color: 'fg',\n cursor: 'pointer',\n },\n indicator: {\n fontWeight: 'normal',\n color: 'fg.muted',\n },\n tooltipIcon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n inputWrapper: {\n display: 'flex',\n flexDirection: 'column',\n isolation: 'isolate',\n },\n status: {\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n px: '2',\n py: '1.5',\n },\n },\n variants: {\n isDisabled: {\n true: {\n label: {\n cursor: 'not-allowed',\n color: 'fg.disabled',\n },\n },\n false: {},\n },\n statusType: {\n warning: {status: {bg: 'surface.yellow', color: 'surface.yellow.fg'}},\n error: {status: {bg: 'surface.red', color: 'surface.red.fg'}},\n success: {status: {bg: 'surface.green', color: 'surface.green.fg'}},\n },\n statusVariant: {\n attached: {\n status: {\n mt: '-1',\n pt: '2.5',\n borderBottomRadius: 'md',\n },\n },\n detached: {\n status: {\n mt: '1',\n borderRadius: 'md',\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n statusVariant: 'attached',\n },\n});\n\nexport type FieldVariants = RecipeVariantProps<typeof fieldRecipe>;\n"]}
@@ -1,8 +1,9 @@
1
- import { Text } from './chunk-J2FCNWYM.js';
1
+ import { Text } from './chunk-QRFDPG34.js';
2
+ import { isReactNode } from './chunk-2PSZAWLC.js';
2
3
  import { Icon } from './chunk-7T3SWOY7.js';
3
4
  import { cva } from './chunk-FMEIPGUP.js';
4
- import { cx } from './chunk-PPNETWIP.js';
5
5
  import { css } from './chunk-OD4DHHZH.js';
6
+ import { cx } from './chunk-PPNETWIP.js';
6
7
  import { Check, TriangleAlert } from 'lucide-react';
7
8
  import { createContext, use, useMemo } from 'react';
8
9
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -367,7 +368,7 @@ function Step({
367
368
  ] }),
368
369
  /* @__PURE__ */ jsxs("div", { className: styles.verticalContent, children: [
369
370
  labelNode,
370
- children != null ? /* @__PURE__ */ jsx("div", { className: styles.stepContent, children }) : null
371
+ isReactNode(children) ? /* @__PURE__ */ jsx("div", { className: styles.stepContent, children }) : null
371
372
  ] })
372
373
  ]
373
374
  }
@@ -445,5 +446,5 @@ function Stepper({
445
446
  Stepper.displayName = "Stepper";
446
447
 
447
448
  export { Step, Stepper, useStepperContext };
448
- //# sourceMappingURL=chunk-S4GLMGFI.js.map
449
- //# sourceMappingURL=chunk-S4GLMGFI.js.map
449
+ //# sourceMappingURL=chunk-UKW2C5RN.js.map
450
+ //# sourceMappingURL=chunk-UKW2C5RN.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Stepper/Step.recipe.ts","../src/components/Stepper/StepperContext.ts","../src/components/Stepper/Step.tsx","../src/components/Stepper/Stepper.tsx"],"names":["styles","jsx"],"mappings":"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","file":"chunk-UKW2C5RN.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\nimport type {StepState} from './Step';\n\nexport const stepIndicatorRecipe = cva({\n base: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: '7',\n h: '7',\n borderRadius: 'full',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'semibold',\n lineHeight: 'none',\n transitionProperty: 'background-color, color, border-color, opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n flexShrink: 0,\n userSelect: 'none',\n borderWidth: 'emphasized',\n borderStyle: 'solid',\n },\n variants: {\n state: {\n active: {\n bg: 'primary',\n borderColor: 'primary',\n color: 'fg.onPrimary',\n },\n completed: {\n bg: 'primary',\n borderColor: 'primary',\n color: 'fg.onPrimary',\n },\n upcoming: {\n bg: 'transparent',\n borderColor: 'border.emphasized',\n color: 'fg.muted',\n },\n disabled: {\n bg: 'transparent',\n borderColor: 'border',\n color: 'fg.disabled',\n },\n error: {\n bg: 'status.error.solid',\n borderColor: 'status.error.solid',\n color: 'status.error.solidFg',\n },\n } satisfies Record<StepState, object>,\n isClickable: {\n true: {\n cursor: 'pointer',\n _hover: {\n opacity: 0.85,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n state: 'upcoming',\n isClickable: false,\n },\n});\n\nexport const stepLabelRecipe = cva({\n base: {\n textAlign: 'center',\n },\n variants: {\n state: {\n active: {\n color: 'fg',\n fontWeight: 'semibold',\n },\n completed: {\n color: 'fg',\n },\n upcoming: {\n color: 'fg.muted',\n },\n disabled: {\n color: 'fg.disabled',\n },\n error: {\n color: 'status.error.fg',\n },\n } satisfies Record<StepState, object>,\n orientation: {\n horizontal: {},\n vertical: {\n textAlign: 'start',\n },\n },\n },\n defaultVariants: {\n state: 'upcoming',\n orientation: 'horizontal',\n },\n});\n\nexport const stepConnectorRecipe = cva({\n base: {\n borderRadius: 'full',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n },\n variants: {\n isCompleted: {\n true: {\n bg: 'primary',\n },\n false: {\n bg: 'track.emphasized',\n },\n },\n orientation: {\n horizontal: {\n h: '0.5',\n w: 'full',\n },\n vertical: {\n w: '0.5',\n h: 'full',\n },\n },\n },\n defaultVariants: {\n isCompleted: false,\n orientation: 'horizontal',\n },\n});\n\nexport type StepIndicatorVariants = RecipeVariantProps<\n typeof stepIndicatorRecipe\n>;\nexport type StepLabelVariants = RecipeVariantProps<typeof stepLabelRecipe>;\nexport type StepConnectorVariants = RecipeVariantProps<\n typeof stepConnectorRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type StepperOrientation = 'horizontal' | 'vertical';\n\nexport interface StepperContextValue {\n activeStep: number;\n isNonLinear: boolean;\n onStepClick: ((index: number) => void) | null;\n orientation: StepperOrientation;\n}\n\nexport const StepperContext = createContext<StepperContextValue | null>(null);\nStepperContext.displayName = 'StepperContext';\n\nexport function useStepperContext(): StepperContextValue {\n const context = use(StepperContext);\n\n if (context == null) {\n throw new Error('Step must be used within a Stepper.');\n }\n\n return context;\n}\n","import {Check, TriangleAlert} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon} from '../Icon';\nimport {Text} from '../Text';\nimport {\n stepConnectorRecipe,\n stepIndicatorRecipe,\n stepLabelRecipe,\n} from './Step.recipe';\nimport {useStepperContext} from './StepperContext';\n\nexport type StepState =\n | 'active'\n | 'completed'\n | 'disabled'\n | 'error'\n | 'upcoming';\n\nexport interface StepProps {\n /**\n * Content rendered below the label and description in vertical steppers.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the step.\n */\n className?: string;\n /**\n * Test ID applied to the step.\n */\n 'data-testid'?: string;\n /**\n * Optional supporting text.\n */\n description?: string;\n /**\n * Whether the step has an error.\n * @default false\n */\n hasError?: boolean;\n /**\n * Custom indicator content replacing the number or check icon.\n */\n icon?: ReactNode;\n /**\n * Override the automatically computed completed state.\n */\n isCompleted?: boolean;\n /**\n * Whether the step is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Step label.\n */\n label: string;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Zero-based index of this step.\n */\n step: number;\n /**\n * Inline styles applied to the step.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n horizontalRoot: css({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'flex-start',\n flex: 1,\n position: 'relative',\n _last: {\n flex: 'none',\n },\n '&:last-child [data-step-connector]': {\n display: 'none',\n },\n }),\n horizontalContent: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n position: 'relative',\n zIndex: 1,\n }),\n horizontalConnector: css({\n flex: 1,\n display: 'flex',\n alignItems: 'center',\n px: '2',\n minW: '6',\n h: '7',\n }),\n verticalRoot: css({\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'stretch',\n position: 'relative',\n minH: '12',\n '&:last-child [data-step-connector]': {\n display: 'none',\n },\n }),\n verticalIndicatorColumn: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n w: '7',\n flexShrink: 0,\n }),\n verticalConnector: css({\n flex: 1,\n display: 'flex',\n justifyContent: 'center',\n py: '1',\n }),\n verticalContent: css({\n display: 'flex',\n flexDirection: 'column',\n ps: '3',\n pb: '6',\n flex: 1,\n }),\n labelRow: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n pt: '1',\n maxW: '120px',\n }),\n labelRowVertical: css({\n alignItems: 'flex-start',\n maxW: 'none',\n pt: '0.5',\n }),\n description: css({\n textAlign: 'center',\n }),\n descriptionVertical: css({\n textAlign: 'start',\n }),\n descriptionError: css({\n color: 'status.error.fg',\n }),\n buttonReset: css({\n bg: 'none',\n borderWidth: 0,\n p: 0,\n m: 0,\n font: 'inherit',\n }),\n stepContent: css({\n pt: '3',\n }),\n} as const;\n\nfunction getStepState({\n hasError,\n isActive,\n isCompleted,\n isDisabled,\n}: {\n hasError: boolean;\n isActive: boolean;\n isCompleted: boolean;\n isDisabled: boolean;\n}): StepState {\n if (hasError) {\n return 'error';\n }\n if (isDisabled) {\n return 'disabled';\n }\n if (isActive) {\n return 'active';\n }\n if (isCompleted) {\n return 'completed';\n }\n return 'upcoming';\n}\n\n/**\n * Individual step within a `Stepper`.\n */\nexport function Step({\n children,\n className,\n 'data-testid': dataTestId,\n description,\n hasError = false,\n icon,\n isCompleted: isCompletedFromProps,\n isDisabled = false,\n label,\n ref,\n step,\n style,\n}: StepProps): React.JSX.Element {\n const {activeStep, orientation, isNonLinear, onStepClick} =\n useStepperContext();\n const isActive = step === activeStep;\n const isCompleted = isCompletedFromProps ?? step < activeStep;\n const isVertical = orientation === 'vertical';\n const isClickable = isNonLinear && !isDisabled && (isCompleted || isActive);\n const state = getStepState({hasError, isActive, isCompleted, isDisabled});\n\n const connectorClassName = stepConnectorRecipe({\n isCompleted,\n orientation,\n });\n\n const defaultIndicatorContent = isCompleted ? (\n <Icon color=\"inherit\" icon={Check} size=\"sm\" />\n ) : (\n <span>{step + 1}</span>\n );\n const indicatorContent = hasError ? (\n <Icon color=\"inherit\" icon={TriangleAlert} size=\"sm\" />\n ) : (\n (icon ?? defaultIndicatorContent)\n );\n\n const handleClick = () => {\n if (isClickable) {\n onStepClick?.(step);\n }\n };\n\n const stepLabel = hasError\n ? `Go to step ${step + 1}: ${label} (error)`\n : `Go to step ${step + 1}: ${label}`;\n\n const indicator = isClickable ? (\n <button\n aria-label={stepLabel}\n className={cx(\n styles.buttonReset,\n stepIndicatorRecipe({state, isClickable: true}),\n )}\n onClick={handleClick}\n type=\"button\">\n {indicatorContent}\n </button>\n ) : (\n <div\n aria-hidden=\"true\"\n className={stepIndicatorRecipe({state, isClickable: false})}>\n {indicatorContent}\n </div>\n );\n\n const labelNode = (\n <div\n className={cx(\n styles.labelRow,\n isVertical ? styles.labelRowVertical : undefined,\n )}>\n <Text\n as=\"span\"\n className={stepLabelRecipe({state, orientation})}\n color=\"inherit\"\n type=\"label\">\n {label}\n </Text>\n {description != null ? (\n <Text\n as=\"span\"\n className={cx(\n styles.description,\n isVertical ? styles.descriptionVertical : undefined,\n state === 'error' ? styles.descriptionError : undefined,\n )}\n color=\"secondary\"\n type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </div>\n );\n\n if (isVertical) {\n return (\n <li\n aria-current={isActive ? 'step' : undefined}\n className={cx(styles.verticalRoot, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={styles.verticalIndicatorColumn}>\n {indicator}\n <div className={styles.verticalConnector} data-step-connector=\"\">\n <div className={connectorClassName} />\n </div>\n </div>\n <div className={styles.verticalContent}>\n {labelNode}\n {isReactNode(children) ? (\n <div className={styles.stepContent}>{children}</div>\n ) : null}\n </div>\n </li>\n );\n }\n\n return (\n <li\n aria-current={isActive ? 'step' : undefined}\n className={cx(styles.horizontalRoot, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={styles.horizontalContent}>\n {indicator}\n {labelNode}\n </div>\n <div className={styles.horizontalConnector} data-step-connector=\"\">\n <div className={connectorClassName} />\n </div>\n </li>\n );\n}\n\nStep.displayName = 'Step';\n","import {useMemo, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {\n StepperContext,\n type StepperContextValue,\n type StepperOrientation,\n} from './StepperContext';\n\nexport type {StepperOrientation};\n\nexport interface StepperProps {\n /**\n * Zero-based index of the active step.\n */\n activeStep: number;\n /**\n * Step elements to render.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the ordered list.\n */\n className?: string;\n /**\n * Test ID applied to the ordered list.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Progress'\n */\n label?: string;\n /**\n * Called when a completed or active step indicator is clicked.\n */\n onStepClick?: (index: number) => void;\n /**\n * Layout direction.\n * @default 'horizontal'\n */\n orientation?: StepperOrientation;\n /**\n * Ref forwarded to the navigation element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the ordered list.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n w: 'full',\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n horizontal: css({\n flexDirection: 'row',\n alignItems: 'flex-start',\n }),\n vertical: css({\n flexDirection: 'column',\n }),\n} as const;\n\n/**\n * Displays progress through a sequence of logical steps.\n */\nexport function Stepper({\n activeStep,\n children,\n className,\n 'data-testid': dataTestId,\n label = 'Progress',\n onStepClick,\n orientation = 'horizontal',\n ref,\n style,\n}: StepperProps): React.JSX.Element {\n const contextValue = useMemo<StepperContextValue>(\n () => ({\n activeStep,\n isNonLinear: onStepClick != null,\n onStepClick: onStepClick ?? null,\n orientation,\n }),\n [activeStep, onStepClick, orientation],\n );\n\n return (\n <StepperContext value={contextValue}>\n <nav aria-label={label} ref={ref}>\n <ol\n className={cx(\n styles.root,\n orientation === 'horizontal' ? styles.horizontal : styles.vertical,\n className,\n )}\n data-testid={dataTestId}\n style={style}>\n {children}\n </ol>\n </nav>\n </StepperContext>\n );\n}\n\nStepper.displayName = 'Stepper';\n"]}
@@ -0,0 +1,216 @@
1
+ import { useLinkComponent } from './chunk-MI5QU37D.js';
2
+ import { Icon } from './chunk-7T3SWOY7.js';
3
+ import { sva } from './chunk-IAVZKGZS.js';
4
+ import { cx } from './chunk-PPNETWIP.js';
5
+ import { createContext, use, useMemo } from 'react';
6
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
+
8
+ // src/components/Breadcrumbs/BreadcrumbItem.recipe.ts
9
+ var breadcrumbItemRecipe = sva({
10
+ slots: ["item", "separator", "content", "link", "icon"],
11
+ base: {
12
+ item: {
13
+ display: "flex",
14
+ alignItems: "center",
15
+ gap: "1",
16
+ m: 0,
17
+ "--breadcrumb-separator-display": "flex",
18
+ _first: {
19
+ "--breadcrumb-separator-display": "none"
20
+ }
21
+ },
22
+ separator: {
23
+ display: "var(--breadcrumb-separator-display)",
24
+ alignItems: "center",
25
+ color: "fg.muted",
26
+ py: "1",
27
+ userSelect: "none"
28
+ },
29
+ content: {
30
+ display: "inline-flex",
31
+ alignItems: "center",
32
+ gap: "1",
33
+ minW: 0
34
+ },
35
+ link: {
36
+ display: "inline-flex",
37
+ alignItems: "center",
38
+ gap: "1",
39
+ minW: 0,
40
+ p: 0,
41
+ py: "1",
42
+ borderWidth: 0,
43
+ bg: "transparent",
44
+ color: "fg.muted",
45
+ cursor: "pointer",
46
+ font: "inherit",
47
+ textDecoration: "none",
48
+ _hover: {
49
+ textDecoration: "underline"
50
+ },
51
+ _focusVisible: {
52
+ outlineWidth: "focus",
53
+ outlineStyle: "solid",
54
+ outlineColor: "primary",
55
+ outlineOffset: "focusOffset"
56
+ }
57
+ },
58
+ icon: {
59
+ display: "inline-flex",
60
+ alignItems: "center",
61
+ flexShrink: 0
62
+ }
63
+ },
64
+ variants: {
65
+ variant: {
66
+ default: {
67
+ item: {
68
+ fontSize: "sm",
69
+ lineHeight: "normal"
70
+ }
71
+ },
72
+ supporting: {
73
+ item: {
74
+ fontSize: "xs",
75
+ lineHeight: "normal"
76
+ }
77
+ }
78
+ },
79
+ isCurrent: {
80
+ true: {}
81
+ }
82
+ },
83
+ compoundVariants: [
84
+ {
85
+ variant: "default",
86
+ isCurrent: true,
87
+ css: { content: { color: "fg" } }
88
+ },
89
+ {
90
+ variant: "supporting",
91
+ isCurrent: true,
92
+ css: { content: { color: "fg.muted" } }
93
+ }
94
+ ],
95
+ defaultVariants: {
96
+ variant: "default"
97
+ }
98
+ });
99
+ var BreadcrumbsContext = createContext({
100
+ separator: "/",
101
+ variant: "default"
102
+ });
103
+ BreadcrumbsContext.displayName = "BreadcrumbsContext";
104
+ function BreadcrumbItem({
105
+ as,
106
+ children,
107
+ className,
108
+ "data-testid": dataTestId,
109
+ href,
110
+ isCurrent: isCurrentProp,
111
+ onClick,
112
+ ref,
113
+ startIcon,
114
+ style
115
+ }) {
116
+ const context = use(BreadcrumbsContext);
117
+ const LinkComponent = useLinkComponent(as);
118
+ const isCurrent = isCurrentProp === true;
119
+ const classes = breadcrumbItemRecipe({
120
+ variant: context.variant,
121
+ isCurrent: isCurrent || void 0
122
+ });
123
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
124
+ startIcon != null ? /* @__PURE__ */ jsx("span", { className: classes.icon, children: /* @__PURE__ */ jsx(Icon, { icon: startIcon, size: "sm" }) }) : null,
125
+ children
126
+ ] });
127
+ if (isCurrent) {
128
+ return /* @__PURE__ */ jsxs(
129
+ "li",
130
+ {
131
+ className: cx(classes.item, className),
132
+ "data-testid": dataTestId,
133
+ ref,
134
+ style,
135
+ children: [
136
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.separator, children: context.separator }),
137
+ /* @__PURE__ */ jsx("span", { "aria-current": "page", className: classes.content, children: content })
138
+ ]
139
+ }
140
+ );
141
+ }
142
+ return /* @__PURE__ */ jsxs(
143
+ "li",
144
+ {
145
+ className: cx(classes.item, className),
146
+ "data-testid": dataTestId,
147
+ ref,
148
+ style,
149
+ children: [
150
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.separator, children: context.separator }),
151
+ href != null ? /* @__PURE__ */ jsx(
152
+ LinkComponent,
153
+ {
154
+ className: classes.link,
155
+ href,
156
+ onClick,
157
+ to: LinkComponent === "a" ? void 0 : href,
158
+ children: content
159
+ }
160
+ ) : onClick != null ? /* @__PURE__ */ jsx("button", { className: classes.link, onClick, type: "button", children: content }) : /* @__PURE__ */ jsx("span", { className: classes.content, children: content })
161
+ ]
162
+ }
163
+ );
164
+ }
165
+ BreadcrumbItem.displayName = "BreadcrumbItem";
166
+
167
+ // src/components/Breadcrumbs/Breadcrumbs.recipe.ts
168
+ var breadcrumbsRecipe = sva({
169
+ slots: ["nav", "list"],
170
+ base: {
171
+ nav: {
172
+ display: "block"
173
+ },
174
+ list: {
175
+ display: "flex",
176
+ alignItems: "center",
177
+ flexWrap: "wrap",
178
+ gap: "1",
179
+ m: 0,
180
+ p: 0,
181
+ listStyle: "none"
182
+ }
183
+ }
184
+ });
185
+ function Breadcrumbs({
186
+ children,
187
+ className,
188
+ "data-testid": dataTestId,
189
+ label = "Breadcrumb",
190
+ ref,
191
+ separator = "/",
192
+ style,
193
+ variant = "default"
194
+ }) {
195
+ const contextValue = useMemo(
196
+ () => ({ separator, variant }),
197
+ [separator, variant]
198
+ );
199
+ const classes = breadcrumbsRecipe();
200
+ return /* @__PURE__ */ jsx(BreadcrumbsContext, { value: contextValue, children: /* @__PURE__ */ jsx(
201
+ "nav",
202
+ {
203
+ "aria-label": label,
204
+ className: cx(classes.nav, className),
205
+ "data-testid": dataTestId,
206
+ ref,
207
+ style,
208
+ children: /* @__PURE__ */ jsx("ol", { className: classes.list, children })
209
+ }
210
+ ) });
211
+ }
212
+ Breadcrumbs.displayName = "Breadcrumbs";
213
+
214
+ export { BreadcrumbItem, Breadcrumbs, BreadcrumbsContext };
215
+ //# sourceMappingURL=chunk-UUVLEOSD.js.map
216
+ //# sourceMappingURL=chunk-UUVLEOSD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Breadcrumbs/BreadcrumbItem.recipe.ts","../src/components/Breadcrumbs/BreadcrumbsContext.ts","../src/components/Breadcrumbs/BreadcrumbItem.tsx","../src/components/Breadcrumbs/Breadcrumbs.recipe.ts","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-UUVLEOSD.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const breadcrumbItemRecipe = sva({\n slots: ['item', 'separator', 'content', 'link', 'icon'],\n base: {\n item: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n m: 0,\n '--breadcrumb-separator-display': 'flex',\n _first: {\n '--breadcrumb-separator-display': 'none',\n },\n },\n separator: {\n display: 'var(--breadcrumb-separator-display)',\n alignItems: 'center',\n color: 'fg.muted',\n py: '1',\n userSelect: 'none',\n },\n content: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n },\n link: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n p: 0,\n py: '1',\n borderWidth: 0,\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n font: 'inherit',\n textDecoration: 'none',\n _hover: {\n textDecoration: 'underline',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n variant: {\n default: {\n item: {\n fontSize: 'sm',\n lineHeight: 'normal',\n },\n },\n supporting: {\n item: {\n fontSize: 'xs',\n lineHeight: 'normal',\n },\n },\n },\n isCurrent: {\n true: {},\n },\n },\n compoundVariants: [\n {\n variant: 'default',\n isCurrent: true,\n css: {content: {color: 'fg'}},\n },\n {\n variant: 'supporting',\n isCurrent: true,\n css: {content: {color: 'fg.muted'}},\n },\n ],\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport type BreadcrumbItemVariants = RecipeVariantProps<\n typeof breadcrumbItemRecipe\n>;\n","import {createContext, type ReactNode} from 'react';\n\nexport type BreadcrumbsVariant = 'default' | 'supporting';\n\nexport interface BreadcrumbsContextValue {\n separator: ReactNode;\n variant: BreadcrumbsVariant;\n}\n\nexport const BreadcrumbsContext = createContext<BreadcrumbsContextValue>({\n separator: '/',\n variant: 'default',\n});\n\nBreadcrumbsContext.displayName = 'BreadcrumbsContext';\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport {\n use,\n type CSSProperties,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {breadcrumbItemRecipe} from './BreadcrumbItem.recipe';\nimport {BreadcrumbsContext} from './BreadcrumbsContext';\n\nexport interface BreadcrumbItemProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Breadcrumb label content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the list item.\n */\n className?: string;\n /**\n * Test ID applied to the list item.\n */\n 'data-testid'?: string;\n /**\n * Link destination. Omit for the current page.\n */\n href?: string;\n /**\n * Whether this item represents the current page.\n */\n isCurrent?: boolean;\n /**\n * Click handler for link or button items.\n */\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Icon rendered before the label.\n */\n startIcon?: IconComponent;\n /**\n * Inline styles applied to the list item.\n */\n style?: CSSProperties;\n}\n\n/**\n * A single item in a breadcrumb trail, rendered as a link, button, or\n * static text depending on the props provided.\n */\nexport function BreadcrumbItem({\n as,\n children,\n className,\n 'data-testid': dataTestId,\n href,\n isCurrent: isCurrentProp,\n onClick,\n ref,\n startIcon,\n style,\n}: BreadcrumbItemProps): React.JSX.Element {\n const context = use(BreadcrumbsContext);\n const LinkComponent = useLinkComponent(as);\n const isCurrent = isCurrentProp === true;\n const classes = breadcrumbItemRecipe({\n variant: context.variant,\n isCurrent: isCurrent || undefined,\n });\n\n const content = (\n <>\n {startIcon != null ? (\n <span className={classes.icon}>\n <Icon icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {children}\n </>\n );\n\n if (isCurrent) {\n return (\n <li\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <span aria-hidden=\"true\" className={classes.separator}>\n {context.separator}\n </span>\n <span aria-current=\"page\" className={classes.content}>\n {content}\n </span>\n </li>\n );\n }\n\n return (\n <li\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <span aria-hidden=\"true\" className={classes.separator}>\n {context.separator}\n </span>\n {href != null ? (\n <LinkComponent\n className={classes.link}\n href={href}\n onClick={onClick}\n to={LinkComponent === 'a' ? undefined : href}>\n {content}\n </LinkComponent>\n ) : onClick != null ? (\n <button className={classes.link} onClick={onClick} type=\"button\">\n {content}\n </button>\n ) : (\n <span className={classes.content}>{content}</span>\n )}\n </li>\n );\n}\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const breadcrumbsRecipe = sva({\n slots: ['nav', 'list'],\n base: {\n nav: {\n display: 'block',\n },\n list: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: '1',\n m: 0,\n p: 0,\n listStyle: 'none',\n },\n },\n});\n\nexport type BreadcrumbsVariants = RecipeVariantProps<typeof breadcrumbsRecipe>;\n","import {useMemo, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {breadcrumbsRecipe} from './Breadcrumbs.recipe';\nimport {\n BreadcrumbsContext,\n type BreadcrumbsVariant,\n} from './BreadcrumbsContext';\n\nexport interface BreadcrumbsProps {\n /**\n * BreadcrumbItem children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the nav element.\n */\n className?: string;\n /**\n * Test ID applied to the nav element.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Breadcrumb'\n */\n label?: string;\n /**\n * Ref forwarded to the nav element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Separator rendered between items.\n * @default '/'\n */\n separator?: ReactNode;\n /**\n * Inline styles applied to the nav element.\n */\n style?: CSSProperties;\n /**\n * Visual text variant.\n * @default 'default'\n */\n variant?: BreadcrumbsVariant;\n}\n\n/**\n * Navigation landmark that displays a trail of breadcrumb links.\n */\nexport function Breadcrumbs({\n children,\n className,\n 'data-testid': dataTestId,\n label = 'Breadcrumb',\n ref,\n separator = '/',\n style,\n variant = 'default',\n}: BreadcrumbsProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({separator, variant}),\n [separator, variant],\n );\n const classes = breadcrumbsRecipe();\n\n return (\n <BreadcrumbsContext value={contextValue}>\n <nav\n aria-label={label}\n className={cx(classes.nav, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ol className={classes.list}>{children}</ol>\n </nav>\n </BreadcrumbsContext>\n );\n}\n\nBreadcrumbs.displayName = 'Breadcrumbs';\n"]}
@@ -1,7 +1,7 @@
1
- import { sva } from './chunk-EHCAF6D3.js';
2
1
  import { Icon } from './chunk-7T3SWOY7.js';
3
- import { cx } from './chunk-PPNETWIP.js';
2
+ import { sva } from './chunk-IAVZKGZS.js';
4
3
  import { css } from './chunk-OD4DHHZH.js';
4
+ import { cx } from './chunk-PPNETWIP.js';
5
5
  import { createContext, useState, useRef, useMemo, useCallback, useId, use } from 'react';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
7
7
  import { ChevronDown } from 'lucide-react';
@@ -317,5 +317,5 @@ function Collapsible({
317
317
  Collapsible.displayName = "Collapsible";
318
318
 
319
319
  export { Accordion, AccordionItem, Collapsible };
320
- //# sourceMappingURL=chunk-BA2VUDQS.js.map
321
- //# sourceMappingURL=chunk-BA2VUDQS.js.map
320
+ //# sourceMappingURL=chunk-VFGSNR35.js.map
321
+ //# sourceMappingURL=chunk-VFGSNR35.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Accordion/AccordionContext.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/AccordionItem.recipe.ts","../src/components/Accordion/useCollapsible.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Collapsible.tsx"],"names":["useState","useCallback","jsx"],"mappings":"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","file":"chunk-BA2VUDQS.js","sourcesContent":["import {createContext} from 'react';\n\nexport interface AccordionContextValue {\n getIsOpen: (value: string) => boolean;\n toggle: (value: string) => void;\n}\n\nexport const AccordionContext = createContext<AccordionContextValue | null>(\n null,\n);\nAccordionContext.displayName = 'AccordionContext';\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {AccordionContext, type AccordionContextValue} from './AccordionContext';\n\n/**\n * A container that coordinates multiple `AccordionItem` children so that\n * one (`type=\"single\"`) or several (`type=\"multiple\"`) can be open at a\n * time. For a standalone disclosure widget, use `Collapsible` instead.\n */\ninterface AccordionBaseProps {\n /**\n * Accessible label for the accordion group. Provide either `aria-label`\n * or `aria-labelledby`, not both.\n */\n 'aria-label'?: string;\n /**\n * ID of an element that labels the accordion group. Provide either\n * `aria-label` or `aria-labelledby`, not both.\n */\n 'aria-labelledby'?: string;\n /**\n * One or more `AccordionItem` elements.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nexport type AccordionProps =\n | (AccordionBaseProps & {\n /**\n * Item value that is open on initial render, or `null` for all\n * closed. Ignored when `value` is provided.\n */\n defaultValue?: string | null;\n /**\n * Called when the open item changes. Receives the item value string,\n * or `null` when all items are closed.\n */\n onChange?: (value: string | null) => void;\n /**\n * Only one item can be open at a time. This is the default.\n */\n type?: 'single';\n /**\n * Controls which item is open externally. Pass `null` to close all\n * items. When set, the component becomes controlled and `onChange`\n * should be provided.\n */\n value?: string | null;\n })\n | (AccordionBaseProps & {\n /**\n * Item values that are open on initial render. Ignored when `value` is\n * provided.\n */\n defaultValue?: string[];\n /**\n * Called when the set of open items changes. Receives an array of\n * open item values.\n */\n onChange?: (value: string[]) => void;\n /**\n * Multiple items can be open simultaneously.\n */\n type: 'multiple';\n /**\n * Controls which items are open externally. When set, the component\n * becomes controlled and `onChange` should be provided. Memoize array\n * values to avoid unnecessary re-renders.\n */\n value?: string[];\n });\n\nfunction normalizeToSet(\n value: string | string[] | null | undefined,\n): ReadonlySet<string> {\n if (value == null) {\n return new Set();\n }\n return new Set(Array.isArray(value) ? value : [value]);\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '3',\n }),\n};\n\nexport function Accordion({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n type = 'single',\n defaultValue,\n value: controlledValue,\n onChange,\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: AccordionProps): React.JSX.Element {\n const isControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<ReadonlySet<string>>(() =>\n normalizeToSet(defaultValue),\n );\n\n // Dev-only: warn when a controlled `value` array is recreated each render\n // with the same contents, which defeats the `openValues` memo and forces\n // unnecessary re-renders. These refs are read/written during render purely\n // for the diagnostic — they never affect render output — and the whole\n // block is inert in production.\n /* eslint-disable @eslint-react/refs -- diagnostic-only ref use, does not affect render output */\n const prevControlledArrayRef = useRef<ReadonlyArray<string> | undefined>(\n undefined,\n );\n const hasWarnedUnstableValueRef = useRef(false);\n if (process.env.NODE_ENV !== 'production') {\n if (Array.isArray(controlledValue)) {\n const prev = prevControlledArrayRef.current;\n if (\n !hasWarnedUnstableValueRef.current &&\n prev !== undefined &&\n prev !== controlledValue &&\n prev.length === controlledValue.length &&\n prev.every((item, i) => item === controlledValue[i])\n ) {\n hasWarnedUnstableValueRef.current = true;\n console.warn(\n 'Accordion: the `value` array changed identity between renders but ' +\n 'contains the same items. Memoize it (e.g. with `useMemo`) to ' +\n 'avoid unnecessary re-renders of the accordion items.',\n );\n }\n prevControlledArrayRef.current = controlledValue;\n }\n }\n /* eslint-enable @eslint-react/refs */\n\n const openValues = useMemo(\n () => (isControlled ? normalizeToSet(controlledValue) : internalValue),\n [isControlled, controlledValue, internalValue],\n );\n\n const getIsOpen = useCallback(\n (itemValue: string) => openValues.has(itemValue),\n [openValues],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n let nextValues: ReadonlySet<string>;\n\n if (type === 'single') {\n nextValues = openValues.has(itemValue)\n ? new Set()\n : new Set([itemValue]);\n } else {\n const next = new Set(openValues);\n if (next.has(itemValue)) {\n next.delete(itemValue);\n } else {\n next.add(itemValue);\n }\n nextValues = next;\n }\n\n if (!isControlled) {\n setInternalValue(nextValues);\n }\n\n if (onChange) {\n const arr = [...nextValues];\n if (type === 'single') {\n (onChange as (value: string | null) => void)(arr[0] ?? null);\n } else {\n (onChange as (value: string[]) => void)(arr);\n }\n }\n },\n [type, openValues, isControlled, onChange],\n );\n\n const contextValue = useMemo<AccordionContextValue>(\n () => ({getIsOpen, toggle}),\n [getIsOpen, toggle],\n );\n\n return (\n <AccordionContext value={contextValue}>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </AccordionContext>\n );\n}\n\nAccordion.displayName = 'Accordion';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const accordionItemRecipe = sva({\n slots: ['root', 'trigger', 'chevron', 'panel', 'panelInner'],\n base: {\n root: {\n w: '100%',\n },\n trigger: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n w: '100%',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'fg',\n textAlign: 'start',\n py: 0,\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n borderRadius: 'sm',\n },\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n color: 'fg.muted',\n },\n panel: {\n display: 'grid',\n gridTemplateRows: '1fr',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n panelInner: {\n overflow: 'hidden',\n minH: 0,\n pt: '1',\n },\n },\n variants: {\n isOpen: {\n true: {\n chevron: {transform: 'rotate(180deg)'},\n },\n false: {\n panel: {gridTemplateRows: '0fr'},\n },\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type AccordionItemVariants = RecipeVariantProps<\n typeof accordionItemRecipe\n>;\n","import {use, useCallback, useState} from 'react';\nimport {AccordionContext} from './AccordionContext';\n\nexport interface CollapsibleConfig {\n isDefaultOpen?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nexport interface UseCollapsibleOptions {\n config?: CollapsibleConfig;\n value?: string;\n}\n\nexport interface UseCollapsibleReturn {\n isOpen: boolean;\n toggle: () => void;\n}\n\nexport function useCollapsible(\n options: UseCollapsibleOptions,\n): UseCollapsibleReturn {\n const {config, value} = options;\n\n const group = use(AccordionContext);\n const isMissingGroupValue = group != null && value == null;\n const isControlledByGroup = group != null && value != null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (isMissingGroupValue) {\n throw new Error(\n 'AccordionItem: `value` prop is required when used inside an Accordion.',\n );\n }\n }\n\n const [internalIsOpen, setInternalIsOpen] = useState(() => {\n if (isControlledByGroup) {\n return true;\n }\n if (config?.isOpen !== undefined) {\n return config.isOpen;\n }\n return config?.isDefaultOpen ?? true;\n });\n\n let isOpen: boolean;\n if (isControlledByGroup) {\n isOpen = group.getIsOpen(value);\n } else if (isMissingGroupValue) {\n isOpen = false;\n } else if (config?.isOpen !== undefined) {\n isOpen = config.isOpen;\n } else {\n isOpen = internalIsOpen;\n }\n\n const configIsOpen = config?.isOpen;\n const onOpenChange = config?.onOpenChange;\n\n // Depend on the primitive config fields rather than the `config` object so\n // the toggle keeps a stable identity across renders (callers commonly build\n // a fresh `config` object each render). Re-checking `group`/`value` inside\n // the callback also gives TypeScript the non-null narrowing it needs.\n const toggle = useCallback(() => {\n if (group != null && value != null) {\n group.toggle(value);\n } else if (group != null) {\n // Inside a group but missing a `value` prop: nothing to toggle.\n return;\n } else if (configIsOpen !== undefined) {\n onOpenChange?.(!configIsOpen);\n } else {\n setInternalIsOpen(prev => !prev);\n onOpenChange?.(!isOpen);\n }\n }, [group, value, configIsOpen, onOpenChange, isOpen]);\n\n return {isOpen, toggle};\n}\n","import {ChevronDown} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Icon} from '../Icon';\nimport {accordionItemRecipe} from './AccordionItem.recipe';\nimport {useCollapsible} from './useCollapsible';\n\n/**\n * A single expandable section within an `Accordion`, or a standalone\n * collapsible panel when used outside of an `Accordion` context. Prefer\n * the `Collapsible` wrapper for standalone usage.\n */\nexport interface AccordionItemProps {\n /**\n * Content revealed when the item is open.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the item is open on initial render. Ignored when `isOpen` is\n * provided or the item is inside an `Accordion`. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided. Ignored when the\n * item is inside an `Accordion`.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes from user interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger. Must be phrasing content\n * (text, `<span>`, `<strong>`, icons, etc.) since it is placed inside a\n * `<button>` element.\n */\n trigger: ReactNode;\n /**\n * Unique identifier used by a parent `Accordion` to track which items\n * are open. Required when used inside an `Accordion`, ignored otherwise.\n */\n value?: string;\n}\n\nexport function AccordionItem({\n trigger,\n children,\n isDefaultOpen,\n isDisabled = false,\n isOpen: controlledIsOpen,\n onOpenChange,\n value,\n ref,\n className,\n 'data-testid': dataTestId,\n style,\n}: AccordionItemProps): React.JSX.Element {\n const collapsibleConfig =\n controlledIsOpen !== undefined\n ? {isOpen: controlledIsOpen, onOpenChange}\n : {isDefaultOpen: isDefaultOpen ?? true, onOpenChange};\n\n const {isOpen, toggle} = useCollapsible({\n config: collapsibleConfig,\n value,\n });\n\n const id = useId();\n const triggerId = `${id}-trigger`;\n const panelId = `${id}-panel`;\n\n const classes = accordionItemRecipe({isOpen});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <button\n aria-controls={panelId}\n aria-expanded={isOpen}\n className={classes.trigger}\n disabled={isDisabled}\n id={triggerId}\n onClick={toggle}\n type=\"button\">\n {trigger}\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"md\" />\n </span>\n </button>\n <div\n aria-labelledby={triggerId}\n className={classes.panel}\n id={panelId}\n role=\"region\"\n style={{visibility: isOpen ? undefined : 'hidden'}}>\n <div className={classes.panelInner}>{children}</div>\n </div>\n </div>\n );\n}\n\nAccordionItem.displayName = 'AccordionItem';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {AccordionItem} from './AccordionItem';\n\n/**\n * A standalone disclosure widget that toggles the visibility of a content\n * panel. Use `Collapsible` for individual expand/collapse sections. For\n * coordinated groups where only one (or a subset) can be open at a time,\n * use `Accordion` with `AccordionItem` instead.\n */\nexport interface CollapsibleProps {\n /**\n * Content revealed when the collapsible is open.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the collapsible is open on initial render. Ignored when `isOpen`\n * is provided. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided to handle toggling.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes, either from a user click on the\n * trigger or from a keyboard interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger that toggles the panel. Must be\n * phrasing content (text, `<span>`, `<strong>`, icons, etc.) since it is\n * placed inside a `<button>` element.\n */\n trigger: ReactNode;\n}\n\nexport function Collapsible({\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n ...props\n}: CollapsibleProps): React.JSX.Element {\n return (\n <AccordionItem\n {...props}\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}\n />\n );\n}\n\nCollapsible.displayName = 'Collapsible';\n"]}
1
+ {"version":3,"sources":["../src/components/Accordion/AccordionContext.tsx","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/AccordionItem.recipe.ts","../src/components/Accordion/useCollapsible.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Collapsible.tsx"],"names":["useState","useCallback","jsx"],"mappings":"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","file":"chunk-VFGSNR35.js","sourcesContent":["import {createContext} from 'react';\n\nexport interface AccordionContextValue {\n getIsOpen: (value: string) => boolean;\n toggle: (value: string) => void;\n}\n\nexport const AccordionContext = createContext<AccordionContextValue | null>(\n null,\n);\nAccordionContext.displayName = 'AccordionContext';\n","import {\n useCallback,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {AccordionContext, type AccordionContextValue} from './AccordionContext';\n\n/**\n * A container that coordinates multiple `AccordionItem` children so that\n * one (`type=\"single\"`) or several (`type=\"multiple\"`) can be open at a\n * time. For a standalone disclosure widget, use `Collapsible` instead.\n */\ninterface AccordionBaseProps {\n /**\n * Accessible label for the accordion group. Provide either `aria-label`\n * or `aria-labelledby`, not both.\n */\n 'aria-label'?: string;\n /**\n * ID of an element that labels the accordion group. Provide either\n * `aria-label` or `aria-labelledby`, not both.\n */\n 'aria-labelledby'?: string;\n /**\n * One or more `AccordionItem` elements.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nexport type AccordionProps =\n | (AccordionBaseProps & {\n /**\n * Item value that is open on initial render, or `null` for all\n * closed. Ignored when `value` is provided.\n */\n defaultValue?: string | null;\n /**\n * Called when the open item changes. Receives the item value string,\n * or `null` when all items are closed.\n */\n onChange?: (value: string | null) => void;\n /**\n * Only one item can be open at a time. This is the default.\n */\n type?: 'single';\n /**\n * Controls which item is open externally. Pass `null` to close all\n * items. When set, the component becomes controlled and `onChange`\n * should be provided.\n */\n value?: string | null;\n })\n | (AccordionBaseProps & {\n /**\n * Item values that are open on initial render. Ignored when `value` is\n * provided.\n */\n defaultValue?: string[];\n /**\n * Called when the set of open items changes. Receives an array of\n * open item values.\n */\n onChange?: (value: string[]) => void;\n /**\n * Multiple items can be open simultaneously.\n */\n type: 'multiple';\n /**\n * Controls which items are open externally. When set, the component\n * becomes controlled and `onChange` should be provided. Memoize array\n * values to avoid unnecessary re-renders.\n */\n value?: string[];\n });\n\nfunction normalizeToSet(\n value: string | string[] | null | undefined,\n): ReadonlySet<string> {\n if (value == null) {\n return new Set();\n }\n return new Set(Array.isArray(value) ? value : [value]);\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '3',\n }),\n};\n\nexport function Accordion({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n type = 'single',\n defaultValue,\n value: controlledValue,\n onChange,\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: AccordionProps): React.JSX.Element {\n const isControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<ReadonlySet<string>>(() =>\n normalizeToSet(defaultValue),\n );\n\n // Dev-only: warn when a controlled `value` array is recreated each render\n // with the same contents, which defeats the `openValues` memo and forces\n // unnecessary re-renders. These refs are read/written during render purely\n // for the diagnostic — they never affect render output — and the whole\n // block is inert in production.\n /* eslint-disable @eslint-react/refs -- diagnostic-only ref use, does not affect render output */\n const prevControlledArrayRef = useRef<ReadonlyArray<string> | undefined>(\n undefined,\n );\n const hasWarnedUnstableValueRef = useRef(false);\n if (process.env.NODE_ENV !== 'production') {\n if (Array.isArray(controlledValue)) {\n const prev = prevControlledArrayRef.current;\n if (\n !hasWarnedUnstableValueRef.current &&\n prev !== undefined &&\n prev !== controlledValue &&\n prev.length === controlledValue.length &&\n prev.every((item, i) => item === controlledValue[i])\n ) {\n hasWarnedUnstableValueRef.current = true;\n console.warn(\n 'Accordion: the `value` array changed identity between renders but ' +\n 'contains the same items. Memoize it (e.g. with `useMemo`) to ' +\n 'avoid unnecessary re-renders of the accordion items.',\n );\n }\n prevControlledArrayRef.current = controlledValue;\n }\n }\n /* eslint-enable @eslint-react/refs */\n\n const openValues = useMemo(\n () => (isControlled ? normalizeToSet(controlledValue) : internalValue),\n [isControlled, controlledValue, internalValue],\n );\n\n const getIsOpen = useCallback(\n (itemValue: string) => openValues.has(itemValue),\n [openValues],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n let nextValues: ReadonlySet<string>;\n\n if (type === 'single') {\n nextValues = openValues.has(itemValue)\n ? new Set()\n : new Set([itemValue]);\n } else {\n const next = new Set(openValues);\n if (next.has(itemValue)) {\n next.delete(itemValue);\n } else {\n next.add(itemValue);\n }\n nextValues = next;\n }\n\n if (!isControlled) {\n setInternalValue(nextValues);\n }\n\n if (onChange) {\n const arr = [...nextValues];\n if (type === 'single') {\n (onChange as (value: string | null) => void)(arr[0] ?? null);\n } else {\n (onChange as (value: string[]) => void)(arr);\n }\n }\n },\n [type, openValues, isControlled, onChange],\n );\n\n const contextValue = useMemo<AccordionContextValue>(\n () => ({getIsOpen, toggle}),\n [getIsOpen, toggle],\n );\n\n return (\n <AccordionContext value={contextValue}>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </AccordionContext>\n );\n}\n\nAccordion.displayName = 'Accordion';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const accordionItemRecipe = sva({\n slots: ['root', 'trigger', 'chevron', 'panel', 'panelInner'],\n base: {\n root: {\n w: '100%',\n },\n trigger: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n w: '100%',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'fg',\n textAlign: 'start',\n py: 0,\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n borderRadius: 'sm',\n },\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n color: 'fg.muted',\n },\n panel: {\n display: 'grid',\n gridTemplateRows: '1fr',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n panelInner: {\n overflow: 'hidden',\n minH: 0,\n pt: '1',\n },\n },\n variants: {\n isOpen: {\n true: {\n chevron: {transform: 'rotate(180deg)'},\n },\n false: {\n panel: {gridTemplateRows: '0fr'},\n },\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type AccordionItemVariants = RecipeVariantProps<\n typeof accordionItemRecipe\n>;\n","import {use, useCallback, useState} from 'react';\nimport {AccordionContext} from './AccordionContext';\n\nexport interface CollapsibleConfig {\n isDefaultOpen?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nexport interface UseCollapsibleOptions {\n config?: CollapsibleConfig;\n value?: string;\n}\n\nexport interface UseCollapsibleReturn {\n isOpen: boolean;\n toggle: () => void;\n}\n\nexport function useCollapsible(\n options: UseCollapsibleOptions,\n): UseCollapsibleReturn {\n const {config, value} = options;\n\n const group = use(AccordionContext);\n const isMissingGroupValue = group != null && value == null;\n const isControlledByGroup = group != null && value != null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (isMissingGroupValue) {\n throw new Error(\n 'AccordionItem: `value` prop is required when used inside an Accordion.',\n );\n }\n }\n\n const [internalIsOpen, setInternalIsOpen] = useState(() => {\n if (isControlledByGroup) {\n return true;\n }\n if (config?.isOpen !== undefined) {\n return config.isOpen;\n }\n return config?.isDefaultOpen ?? true;\n });\n\n let isOpen: boolean;\n if (isControlledByGroup) {\n isOpen = group.getIsOpen(value);\n } else if (isMissingGroupValue) {\n isOpen = false;\n } else if (config?.isOpen !== undefined) {\n isOpen = config.isOpen;\n } else {\n isOpen = internalIsOpen;\n }\n\n const configIsOpen = config?.isOpen;\n const onOpenChange = config?.onOpenChange;\n\n // Depend on the primitive config fields rather than the `config` object so\n // the toggle keeps a stable identity across renders (callers commonly build\n // a fresh `config` object each render). Re-checking `group`/`value` inside\n // the callback also gives TypeScript the non-null narrowing it needs.\n const toggle = useCallback(() => {\n if (group != null && value != null) {\n group.toggle(value);\n } else if (group != null) {\n // Inside a group but missing a `value` prop: nothing to toggle.\n return;\n } else if (configIsOpen !== undefined) {\n onOpenChange?.(!configIsOpen);\n } else {\n setInternalIsOpen(prev => !prev);\n onOpenChange?.(!isOpen);\n }\n }, [group, value, configIsOpen, onOpenChange, isOpen]);\n\n return {isOpen, toggle};\n}\n","import {ChevronDown} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Icon} from '../Icon';\nimport {accordionItemRecipe} from './AccordionItem.recipe';\nimport {useCollapsible} from './useCollapsible';\n\n/**\n * A single expandable section within an `Accordion`, or a standalone\n * collapsible panel when used outside of an `Accordion` context. Prefer\n * the `Collapsible` wrapper for standalone usage.\n */\nexport interface AccordionItemProps {\n /**\n * Content revealed when the item is open.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the item is open on initial render. Ignored when `isOpen` is\n * provided or the item is inside an `Accordion`. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided. Ignored when the\n * item is inside an `Accordion`.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes from user interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger. Must be phrasing content\n * (text, `<span>`, `<strong>`, icons, etc.) since it is placed inside a\n * `<button>` element.\n */\n trigger: ReactNode;\n /**\n * Unique identifier used by a parent `Accordion` to track which items\n * are open. Required when used inside an `Accordion`, ignored otherwise.\n */\n value?: string;\n}\n\nexport function AccordionItem({\n trigger,\n children,\n isDefaultOpen,\n isDisabled = false,\n isOpen: controlledIsOpen,\n onOpenChange,\n value,\n ref,\n className,\n 'data-testid': dataTestId,\n style,\n}: AccordionItemProps): React.JSX.Element {\n const collapsibleConfig =\n controlledIsOpen !== undefined\n ? {isOpen: controlledIsOpen, onOpenChange}\n : {isDefaultOpen: isDefaultOpen ?? true, onOpenChange};\n\n const {isOpen, toggle} = useCollapsible({\n config: collapsibleConfig,\n value,\n });\n\n const id = useId();\n const triggerId = `${id}-trigger`;\n const panelId = `${id}-panel`;\n\n const classes = accordionItemRecipe({isOpen});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <button\n aria-controls={panelId}\n aria-expanded={isOpen}\n className={classes.trigger}\n disabled={isDisabled}\n id={triggerId}\n onClick={toggle}\n type=\"button\">\n {trigger}\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"md\" />\n </span>\n </button>\n <div\n aria-labelledby={triggerId}\n className={classes.panel}\n id={panelId}\n role=\"region\"\n style={{visibility: isOpen ? undefined : 'hidden'}}>\n <div className={classes.panelInner}>{children}</div>\n </div>\n </div>\n );\n}\n\nAccordionItem.displayName = 'AccordionItem';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {AccordionItem} from './AccordionItem';\n\n/**\n * A standalone disclosure widget that toggles the visibility of a content\n * panel. Use `Collapsible` for individual expand/collapse sections. For\n * coordinated groups where only one (or a subset) can be open at a time,\n * use `Accordion` with `AccordionItem` instead.\n */\nexport interface CollapsibleProps {\n /**\n * Content revealed when the collapsible is open.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the collapsible is open on initial render. Ignored when `isOpen`\n * is provided. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided to handle toggling.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes, either from a user click on the\n * trigger or from a keyboard interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger that toggles the panel. Must be\n * phrasing content (text, `<span>`, `<strong>`, icons, etc.) since it is\n * placed inside a `<button>` element.\n */\n trigger: ReactNode;\n}\n\nexport function Collapsible({\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n ...props\n}: CollapsibleProps): React.JSX.Element {\n return (\n <AccordionItem\n {...props}\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}\n />\n );\n}\n\nCollapsible.displayName = 'Collapsible';\n"]}