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
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/List/ListContext.tsx","../src/components/List/List.tsx","../src/components/List/ListItem.tsx"],"names":["styles","jsx"],"mappings":"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","file":"chunk-EFO5NDBJ.js","sourcesContent":["import {createContext} from 'react';\n\nexport type ListStyle = 'none' | 'disc' | 'decimal' | 'circle';\n\nexport interface ListContextValue {\n hasDividers: boolean;\n listStyle: ListStyle;\n}\n\nexport const ListContext = createContext<ListContextValue | null>(null);\nListContext.displayName = 'ListContext';\n","import {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {ListContext, type ListStyle} from './ListContext';\n\nexport type {ListStyle};\n\nexport interface ListProps {\n /**\n * List items.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the list element.\n */\n className?: string;\n /**\n * Test ID applied to the list element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show dividers between list items.\n * @default false\n */\n hasDividers?: boolean;\n /**\n * Header content rendered above and associated with the list.\n */\n header?: ReactNode;\n /**\n * List marker style. `decimal` renders an ordered list.\n * @default 'none'\n */\n listStyle?: ListStyle;\n /**\n * Ref forwarded to the list element.\n */\n ref?: Ref<HTMLUListElement | HTMLOListElement>;\n /**\n * Starting number for ordered lists.\n * @default 1\n */\n start?: number;\n /**\n * Inline styles applied to the list element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n }),\n list: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n withDividers: css({\n gap: 0,\n }),\n withCounter: css({\n counterReset: 'silver-list',\n }),\n header: css({\n mb: '2',\n }),\n} as const;\n\n/**\n * Semantic vertical list container with optional dividers, markers, and header.\n */\nexport function List({\n children,\n className,\n 'data-testid': dataTestId,\n hasDividers = false,\n header,\n listStyle = 'none',\n ref,\n start,\n style,\n}: ListProps): React.JSX.Element {\n const headerId = useId();\n const isOrdered = listStyle === 'decimal';\n const Component = isOrdered ? 'ol' : 'ul';\n const counterReset =\n listStyle !== 'none' && start != null && start !== 1\n ? `silver-list ${start - 1}`\n : undefined;\n const contextValue = useMemo(\n () => ({hasDividers, listStyle}),\n [hasDividers, listStyle],\n );\n\n const listElement = (\n <Component\n aria-labelledby={header != null ? headerId : undefined}\n className={cx(\n styles.list,\n hasDividers ? styles.withDividers : undefined,\n listStyle !== 'none' ? styles.withCounter : undefined,\n className,\n )}\n data-testid={dataTestId}\n ref={ref as Ref<HTMLUListElement & HTMLOListElement>}\n role={listStyle === 'none' && !isOrdered ? 'list' : undefined}\n start={isOrdered ? start : undefined}\n style={{counterReset, ...style}}>\n {children}\n </Component>\n );\n\n return (\n <ListContext value={contextValue}>\n {header == null ? (\n listElement\n ) : (\n <div className={styles.root}>\n <div className={styles.header} id={headerId}>\n {header}\n </div>\n {listElement}\n </div>\n )}\n </ListContext>\n );\n}\n\nList.displayName = 'List';\n","import {\n use,\n type CSSProperties,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Item} from '../Item';\nimport {ListContext, type ListStyle} from './ListContext';\n\nexport interface ListItemProps {\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 * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content rendered after the label area.\n */\n endContent?: ReactNode;\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Click handler for interactive items.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Link relationship.\n */\n rel?: string;\n /**\n * Content rendered before the label area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the list item.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n}\n\nconst markerSize = '6px';\n\nconst styles = {\n withCounter: css({\n counterIncrement: 'silver-list',\n }),\n withDivider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n _last: {\n borderBlockEndWidth: 0,\n },\n }),\n noRadius: css({\n borderRadius: 0,\n }),\n markerContainer: css({\n alignSelf: 'baseline',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n mt: `calc((1em * 1.5 - ${markerSize}) / 2)`,\n }),\n dot: css({\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n bg: 'fg',\n }),\n circle: css({\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'fg',\n bg: 'transparent',\n }),\n number: css({\n alignSelf: 'baseline',\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: '1.5',\n w: '4',\n _before: {\n content: 'counter(silver-list) \".\"',\n },\n }),\n} as const;\n\nfunction Marker({listStyle}: {listStyle: ListStyle}): React.JSX.Element | null {\n if (listStyle === 'disc') {\n return (\n <span className={styles.markerContainer}>\n <span className={styles.dot} />\n </span>\n );\n }\n\n if (listStyle === 'circle') {\n return (\n <span className={styles.markerContainer}>\n <span className={styles.circle} />\n </span>\n );\n }\n\n if (listStyle === 'decimal') {\n return <span className={styles.number} />;\n }\n\n return null;\n}\n\n/**\n * Structured list item built on the shared `Item` primitive.\n */\nexport function ListItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n rel,\n startContent,\n style,\n target,\n}: ListItemProps): React.JSX.Element {\n const context = use(ListContext);\n const hasDividers = context?.hasDividers ?? false;\n const listStyle = context?.listStyle ?? 'none';\n const hasMarkers = listStyle !== 'none';\n\n return (\n <Item\n as=\"li\"\n className={cx(\n hasMarkers ? styles.withCounter : undefined,\n hasDividers ? styles.withDivider : undefined,\n hasDividers ? styles.noRadius : undefined,\n className,\n )}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n href={href}\n isDisabled={isDisabled}\n isSelected={isSelected}\n label={label}\n leadingContent={<Marker listStyle={listStyle} />}\n onClick={onClick}\n ref={ref}\n rel={rel}\n startContent={startContent}\n style={style}\n target={target}\n />\n );\n}\n\nListItem.displayName = 'ListItem';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../styled-system/css/sva.js"],"names":["variants"],"mappings":";;;;;AAIO,SAAS,IAAI,MAAA,EAAQ;AAC1B,EAAA,MAAM,QAAQ,MAAA,CAAO,OAAA,CAAQ,eAAe,MAAM,CAAC,EAAE,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,OAAO,CAAA,KAAM,CAAC,MAAM,GAAA,CAAI,OAAO,CAAC,CAAC,CAAA;AAClG,EAAA,MAAM,eAAA,GAAkB,MAAA,CAAO,eAAA,IAAmB,EAAC;AAEnD,EAAA,MAAM,YAAA,GAAe,MAAM,MAAA,CAAO,CAAC,KAAK,CAAC,IAAA,EAAM,KAAK,CAAA,KAAM;AACxD,IAAA,IAAI,OAAO,SAAA,EAAW,GAAA,CAAI,IAAI,CAAA,GAAI,MAAM,MAAA,CAAO,SAAA;AAC/C,IAAA,OAAO,GAAA;AAAA,EACT,CAAA,EAAG,EAAE,CAAA;AAEL,EAAA,SAAS,MAAM,KAAA,EAAO;AACpB,IAAA,MAAM,SAAS,KAAA,CAAM,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,KAAK,CAAA,KAAM,CAAC,IAAA,EAAM,EAAA,CAAG,MAAM,KAAK,CAAA,EAAG,aAAa,IAAI,CAAC,CAAC,CAAC,CAAA;AACxF,IAAA,OAAO,MAAA,CAAO,YAAY,MAAM,CAAA;AAAA,EAClC;AAEA,EAAA,SAAS,IAAI,KAAA,EAAO;AAClB,IAAA,MAAM,MAAA,GAAS,KAAA,CAAM,GAAA,CAAI,CAAC,CAAC,IAAA,EAAM,KAAK,CAAA,KAAM,CAAC,IAAA,EAAM,KAAA,CAAM,GAAA,CAAI,KAAK,CAAC,CAAC,CAAA;AACpE,IAAA,OAAO,MAAA,CAAO,YAAY,MAAM,CAAA;AAAA,EAClC;AAEA,EAAA,MAAM,QAAA,GAAW,MAAA,CAAO,QAAA,IAAY,EAAC;AACrC,EAAA,MAAM,WAAA,GAAc,MAAA,CAAO,IAAA,CAAK,QAAQ,CAAA;AAExC,EAAA,SAAS,kBAAkB,KAAA,EAAO;AAChC,IAAA,OAAO,UAAA,CAAW,OAAO,WAAW,CAAA;AAAA,EACtC;AACA,EAAA,MAAM,eAAA,GAAkB,CAACA,SAAAA,MAAc,EAAE,GAAG,eAAA,EAAiB,GAAG,OAAA,CAAQA,SAAQ,CAAA,EAAE,CAAA;AAElF,EAAA,MAAM,aAAa,MAAA,CAAO,WAAA;AAAA,IACxB,OAAO,OAAA,CAAQ,QAAQ,CAAA,CAAE,GAAA,CAAI,CAAC,CAAC,GAAA,EAAK,KAAK,CAAA,KAAM,CAAC,GAAA,EAAK,MAAA,CAAO,IAAA,CAAK,KAAK,CAAC,CAAC;AAAA,GAC1E;AAEA,EAAA,OAAO,MAAA,CAAO,MAAA,CAAO,IAAA,CAAK,KAAK,CAAA,EAAG;AAAA,IAChC,OAAA,EAAS,KAAA;AAAA,IACT,GAAA;AAAA,IACA,MAAA;AAAA,IACA,UAAA;AAAA,IACA,WAAA;AAAA,IACA,YAAA;AAAA,IACA,iBAAA;AAAA,IACA;AAAA,GACD,CAAA;AACH","file":"chunk-EHCAF6D3.js","sourcesContent":["import { compact, getSlotRecipes, memo, splitProps } from '../helpers.js';\nimport { cva } from './cva.js';\nimport { cx } from './cx.js';\n\nexport function sva(config) {\n const slots = Object.entries(getSlotRecipes(config)).map(([slot, slotCva]) => [slot, cva(slotCva)])\n const defaultVariants = config.defaultVariants ?? {}\n\n const classNameMap = slots.reduce((acc, [slot, cvaFn]) => {\n if (config.className) acc[slot] = cvaFn.config.className\n return acc\n }, {})\n\n function svaFn(props) {\n const result = slots.map(([slot, cvaFn]) => [slot, cx(cvaFn(props), classNameMap[slot])])\n return Object.fromEntries(result)\n }\n\n function raw(props) {\n const result = slots.map(([slot, cvaFn]) => [slot, cvaFn.raw(props)])\n return Object.fromEntries(result)\n }\n\n const variants = config.variants ?? {};\n const variantKeys = Object.keys(variants);\n\n function splitVariantProps(props) {\n return splitProps(props, variantKeys);\n }\n const getVariantProps = (variants) => ({ ...defaultVariants, ...compact(variants) })\n\n const variantMap = Object.fromEntries(\n Object.entries(variants).map(([key, value]) => [key, Object.keys(value)])\n );\n\n return Object.assign(memo(svaFn), {\n __cva__: false,\n raw,\n config,\n variantMap,\n variantKeys,\n classNameMap,\n splitVariantProps,\n getVariantProps,\n })\n}"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Tooltip/useTooltip.tsx","../src/components/Tooltip/Tooltip.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-EMHLPPQZ.js","sourcesContent":["import {\n useCallback,\n useEffect,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport {\n useHoverLayer,\n type HoverLayerFocusTrigger,\n} from '../../internal/useHoverLayer';\nimport type {\n ContextRenderProps,\n LayerAlignment,\n LayerPlacement,\n} from '../../internal/useLayer';\n\nexport type TooltipFocusTrigger = HoverLayerFocusTrigger;\n\nexport interface UseTooltipOptions {\n alignment?: LayerAlignment;\n delay?: number;\n focusTrigger?: TooltipFocusTrigger;\n hideDelay?: number;\n isEnabled?: boolean;\n onHide?: () => void;\n onShow?: () => void;\n placement?: LayerPlacement;\n}\n\nexport interface TooltipRenderProps extends ContextRenderProps {\n contentStyle?: CSSProperties;\n}\n\nexport interface UseTooltipReturn {\n /**\n * ID of the anchor element, used for CSS anchor positioning.\n */\n anchorId: string;\n /**\n * ID of the tooltip element. Pass to `aria-describedby` on the trigger.\n */\n describedBy: string;\n /**\n * Attaches hover/focus/keyboard listeners only.\n * Use when another element handles positioning (e.g., a wrapper provides the anchor).\n */\n interactionRef: RefCallback<HTMLElement>;\n /**\n * Attaches CSS anchor positioning only.\n * Use when another element handles interaction listeners.\n */\n positionRef: RefCallback<HTMLElement>;\n /**\n * Combined ref that attaches both positioning and interaction.\n * Use this for the common case where one element is both the anchor and trigger.\n * Do not combine with `interactionRef` or `positionRef` — use one or the other.\n */\n ref: RefCallback<HTMLElement>;\n /**\n * Renders the tooltip content into the layer.\n */\n renderTooltip: (children: ReactNode, props?: TooltipRenderProps) => ReactNode;\n}\n\nconst styles = {\n tooltipContainer: css({\n bg: 'fg',\n color: 'bg',\n borderRadius: 'md',\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n boxShadow: 'md',\n '--silver-text-color': 'currentColor',\n '--silver-text-color-muted':\n 'color-mix(in srgb, currentColor 70%, transparent)',\n }),\n tooltipContent: css({\n px: '2',\n py: '1',\n maxW: 'xs',\n wordBreak: 'break-word',\n }),\n marginByPlacement: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nexport function useTooltip(options: UseTooltipOptions = {}): UseTooltipReturn {\n const {\n placement = 'above',\n alignment = 'center',\n delay = 200,\n hideDelay = 0,\n focusTrigger = 'auto',\n isEnabled = true,\n onShow,\n onHide,\n } = options;\n\n const hoverLayer = useHoverLayer({\n delay,\n focusTrigger,\n hideDelay,\n isEnabled,\n onFocusIn: event => {\n const target = event.target as HTMLElement;\n return target.matches(':focus-visible');\n },\n onHide,\n onShow,\n });\n\n const {interactionRef, layer, ref} = hoverLayer;\n\n useEffect(() => {\n if (!layer.isOpen) {\n return;\n }\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n layer.hide();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n return () => document.removeEventListener('keydown', handleEscape);\n }, [layer, layer.isOpen]);\n\n const renderTooltip = useCallback(\n (children: ReactNode, props?: TooltipRenderProps): ReactNode => {\n const renderPlacement = props?.placement ?? placement;\n return layer.render(\n <div className={styles.tooltipContent} style={props?.contentStyle}>\n {children}\n </div>,\n {\n placement: renderPlacement,\n alignment: props?.alignment ?? alignment,\n className: cx(\n styles.tooltipContainer,\n styles.marginByPlacement[renderPlacement],\n props?.className,\n ),\n role: 'tooltip',\n style: props?.style,\n },\n );\n },\n [alignment, layer, placement],\n );\n\n return useMemo(\n () => ({\n ref,\n positionRef: layer.ref,\n interactionRef,\n anchorId: layer.anchorId,\n describedBy: layer.id,\n renderTooltip,\n }),\n [ref, layer.ref, interactionRef, layer.anchorId, layer.id, renderTooltip],\n );\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {HoverLayerTrigger} from '../../internal/HoverLayerTrigger';\nimport type {LayerAlignment, LayerPlacement} from '../../internal/useLayer';\nimport {useTooltip, type TooltipFocusTrigger} from './useTooltip';\n\nexport type {TooltipFocusTrigger} from './useTooltip';\n\nexport interface TooltipProps {\n /**\n * Cross-axis alignment of the tooltip relative to the anchor.\n * @default 'center'\n */\n alignment?: LayerAlignment;\n /**\n * Element(s) that the tooltip is anchored to.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the wrapper.\n */\n className?: string;\n /**\n * Content rendered inside the tooltip popup.\n */\n content: ReactNode;\n /**\n * Inline styles applied to the tooltip content area.\n */\n contentStyle?: CSSProperties;\n /**\n * Test ID applied to the wrapper.\n */\n 'data-testid'?: string;\n /**\n * Delay in milliseconds before the tooltip appears.\n * @default 200\n */\n delay?: number;\n /**\n * How focus interactions trigger the tooltip.\n * @default 'auto'\n */\n focusTrigger?: TooltipFocusTrigger;\n /**\n * Whether to show a dashed underline on text-only children.\n * @default 'auto'\n */\n hasHoverIndication?: 'auto' | boolean;\n /**\n * Delay in milliseconds before the tooltip hides after leaving.\n * @default 0\n */\n hideDelay?: number;\n /**\n * Whether the tooltip can be shown.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Preferred placement of the tooltip relative to the anchor.\n * @default 'above'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the wrapper element.\n */\n ref?: Ref<HTMLDivElement | HTMLSpanElement>;\n /**\n * Inline styles applied to the wrapper.\n */\n style?: CSSProperties;\n}\n\n/**\n * Displays contextual information in a popup anchored to a trigger element.\n *\n * For attaching a tooltip to an external ref (without wrapping children),\n * use the `useTooltip` hook directly.\n */\nexport function Tooltip({\n children,\n content,\n contentStyle,\n placement = 'above',\n alignment = 'center',\n delay = 200,\n hideDelay = 0,\n focusTrigger = 'auto',\n isEnabled = true,\n hasHoverIndication = 'auto',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TooltipProps): React.JSX.Element {\n const tooltip = useTooltip({\n placement,\n alignment,\n delay,\n hideDelay,\n focusTrigger,\n isEnabled,\n });\n\n return (\n <HoverLayerTrigger\n className={className}\n data-testid={dataTestId}\n describedBy={tooltip.describedBy}\n hasHoverIndication={hasHoverIndication}\n layer={tooltip.renderTooltip(content, {contentStyle})}\n nonTextWrapperElement=\"div\"\n style={style}\n triggerRef={tooltip.ref}\n wrapperRef={ref}>\n {children}\n </HoverLayerTrigger>\n );\n}\n\nTooltip.displayName = 'Tooltip';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internal/sharedResizeObserver.ts","../src/internal/useMediaQuery.ts","../src/components/AppShell/AppShell.recipe.ts","../src/components/AppShell/useSlotPresence.tsx","../src/components/AppShell/AppShell.tsx"],"names":["useCallback","observer","useState","useRef","useEffect"],"mappings":"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","file":"chunk-EUN5TCB2.js","sourcesContent":["type ResizeCallback = (entry: ResizeObserverEntry) => void;\n\nlet observer: ResizeObserver | null = null;\nconst callbacks = new Map<Element, ResizeCallback>();\n\nfunction getObserver(): ResizeObserver {\n observer ??= new ResizeObserver(entries => {\n for (const entry of entries) {\n callbacks.get(entry.target)?.(entry);\n }\n });\n\n return observer;\n}\n\nexport function observeResize(\n element: Element,\n callback: ResizeCallback,\n): void {\n callbacks.set(element, callback);\n getObserver().observe(element);\n}\n\nexport function unobserveResize(element: Element): void {\n callbacks.delete(element);\n\n if (observer == null) {\n return;\n }\n\n observer.unobserve(element);\n\n if (callbacks.size === 0) {\n observer.disconnect();\n observer = null;\n }\n}\n","import {useCallback, useSyncExternalStore} from 'react';\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\n/**\n * Subscribe to a browser media query using React's external-store API.\n */\nexport function useMediaQuery(query: string): boolean {\n const subscribe = useCallback(\n (onStoreChange: () => void) => {\n const mediaQueryList = window.matchMedia(query);\n mediaQueryList.addEventListener('change', onStoreChange);\n return () => mediaQueryList.removeEventListener('change', onStoreChange);\n },\n [query],\n );\n\n const getSnapshot = useCallback(() => {\n return window.matchMedia(query).matches;\n }, [query]);\n\n return useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const appShellRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n position: 'relative',\n },\n variants: {\n height: {\n fill: {\n h: '100dvh',\n },\n auto: {\n minH: '100dvh',\n },\n },\n variant: {\n default: {\n bg: 'bg.subtle',\n },\n section: {\n bg: 'bg',\n },\n },\n },\n defaultVariants: {\n height: 'fill',\n variant: 'default',\n },\n});\n\nexport type AppShellVariants = RecipeVariantProps<typeof appShellRecipe>;\n","import {useCallback, useEffect, useRef, useState} from 'react';\n\nfunction hasChildContent(element: HTMLElement): boolean {\n for (const node of element.childNodes) {\n if (node.nodeType === Node.ELEMENT_NODE) {\n return true;\n }\n\n if (node.nodeType === Node.TEXT_NODE && node.textContent?.trim() !== '') {\n return true;\n }\n }\n\n return false;\n}\n\nexport function useSlotPresence(initialValue = false): {\n hasContent: boolean;\n ref: (node: HTMLDivElement | null) => void;\n} {\n const [hasContent, setHasContent] = useState(initialValue);\n const observerRef = useRef<MutationObserver | null>(null);\n\n const ref = useCallback((node: HTMLDivElement | null) => {\n observerRef.current?.disconnect();\n observerRef.current = null;\n\n if (node == null) {\n setHasContent(false);\n return;\n }\n\n setHasContent(hasChildContent(node));\n\n const observer = new MutationObserver(() => {\n setHasContent(hasChildContent(node));\n });\n observer.observe(node, {childList: true});\n observerRef.current = observer;\n }, []);\n\n useEffect(() => {\n return () => observerRef.current?.disconnect();\n }, []);\n\n return {hasContent, ref};\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useEffect, useId, useMemo, useRef, useState} from 'react';\nimport {css} from 'styled-system/css';\nimport {MobileNavToggle} from '../../internal/MobileNav';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {\n observeResize,\n unobserveResize,\n} from '../../internal/sharedResizeObserver';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {useMediaQuery} from '../../internal/useMediaQuery';\nimport {Layout, LayoutContent, LayoutPanel} from '../Layout';\nimport {SideNavRenderContext} from '../SideNav';\nimport {TopNavMobileContentContext, TopNavRenderContext} from '../TopNav';\nimport {appShellRecipe} from './AppShell.recipe';\nimport {\n AppShellMobileContext,\n type AppShellMobileContextValue,\n} from './AppShellMobileContext';\nimport {useSlotPresence} from './useSlotPresence';\n\nexport type AppShellBreakpoint = 'sm' | 'md' | 'lg' | 'none';\nexport type AppShellVariant = 'default' | 'section';\nexport type AppShellHeight = 'fill' | 'auto';\n\n/**\n * Application-level layout shell with top navigation, side navigation,\n * banner, skip-to-content support, and responsive mobile navigation.\n */\nexport interface AppShellProps {\n /**\n * System-wide content rendered above the top navigation.\n */\n banner?: ReactNode;\n /**\n * Main content rendered inside the shell's `<main>` landmark.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Padding applied to the main content area. Default is `0`.\n */\n contentPadding?: SpacingToken;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Height behavior. `fill` keeps scrolling inside the shell; `auto` lets the\n * page grow with content.\n */\n height?: AppShellHeight;\n /**\n * Disable generated mobile navigation.\n */\n isMobileNavDisabled?: boolean;\n /**\n * Breakpoint below which mobile navigation is used.\n * @default 'md'\n */\n mobileBreakpoint?: AppShellBreakpoint;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Side navigation slot, typically a SideNav.\n */\n sideNav?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Top navigation slot, typically a TopNav.\n */\n topNav?: ReactNode;\n /**\n * Background and divider style for the shell.\n */\n variant?: AppShellVariant;\n}\n\nconst BREAKPOINT_VALUES: Record<AppShellBreakpoint, number> = {\n sm: 640,\n md: 768,\n lg: 1024,\n none: 0,\n};\n\nconst styles = {\n skipLink: css({\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n zIndex: 9999,\n bg: 'bg',\n color: 'primary',\n textDecoration: 'none',\n fontWeight: 'semibold',\n _focus: {\n position: 'fixed',\n top: '2',\n insetInlineStart: '2',\n w: 'auto',\n h: 'auto',\n p: '2',\n m: 0,\n overflow: 'visible',\n clipPath: 'none',\n whiteSpace: 'normal',\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n headerSticky: css({\n position: 'sticky',\n top: 0,\n zIndex: 1,\n }),\n banner: css({\n flexShrink: 0,\n }),\n autoMobileTopBar: css({\n display: 'flex',\n alignItems: 'center',\n h: '12',\n px: '2',\n }),\n sideNavSticky: css({\n flexShrink: 0,\n overflow: 'clip',\n position: 'sticky',\n top: 'var(--appshell-header-height, 0px)',\n h: 'calc(100dvh - var(--appshell-header-height, 0px))',\n display: 'flex',\n flexDirection: 'column',\n }),\n elevatedWrapper: css({\n position: 'relative',\n display: 'flex',\n flex: 1,\n minH: 0,\n h: '100%',\n }),\n elevatedBackdrop: css({\n position: 'absolute',\n inset: 0,\n bg: 'bg',\n borderStartStartRadius: '2xl',\n pointerEvents: 'none',\n }),\n contentSurface: css({\n bg: 'bg',\n }),\n contentTransparent: css({\n bg: 'transparent',\n isolation: 'isolate',\n }),\n slotContents: css({\n display: 'contents',\n }),\n};\n\ntype AppShellRootStyle = CSSProperties & {\n '--appshell-header-height'?: string;\n};\n\n/**\n * Application-level layout shell with top navigation, side navigation,\n * banner, skip-to-content support, and responsive mobile navigation.\n */\nexport function AppShell({\n banner,\n children,\n className,\n contentPadding,\n 'data-testid': dataTestId,\n height = 'fill',\n isMobileNavDisabled = false,\n mobileBreakpoint = 'md',\n ref,\n sideNav,\n style,\n topNav,\n variant = 'default',\n}: AppShellProps): React.JSX.Element {\n const mainContentId = useId();\n const breakpointQuery =\n mobileBreakpoint === 'none'\n ? '(max-width: 0px)'\n : `(max-width: ${BREAKPOINT_VALUES[mobileBreakpoint]}px)`;\n const isBelowBreakpoint = useMediaQuery(breakpointQuery);\n const [isMobileNavOpen, setIsMobileNavOpen] = useState(false);\n const setMobileNavOpen = useCallback((isOpen: boolean) => {\n setIsMobileNavOpen(isOpen);\n }, []);\n const {ref: topNavPresenceRef, hasContent: hasTopNavContent} =\n useSlotPresence(topNav != null);\n const {ref: sideNavPresenceRef, hasContent: hasSideNavContent} =\n useSlotPresence(sideNav != null);\n const hasTopNav = topNav != null;\n const hasSideNav = sideNav != null;\n const hasNavContent = hasTopNavContent || hasSideNavContent;\n const mobileNavEnabled = !isMobileNavDisabled && hasNavContent;\n const showSideNavInline = hasSideNav && !isBelowBreakpoint;\n const isAuto = height === 'auto';\n const isFill = height === 'fill';\n const navHasDividers = variant === 'section';\n const headerRef = useRef<HTMLDivElement>(null);\n const shellRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!isAuto || headerRef.current == null || shellRef.current == null) {\n return;\n }\n\n const headerElement = headerRef.current;\n const shellElement = shellRef.current;\n const updateHeight = () => {\n shellElement.style.setProperty(\n '--appshell-header-height',\n `${headerElement.getBoundingClientRect().height}px`,\n );\n };\n\n observeResize(headerElement, updateHeight);\n return () => unobserveResize(headerElement);\n }, [isAuto]);\n\n const mobileContextValue = useMemo<AppShellMobileContextValue>(\n () => ({\n closeMobileNav: () => setMobileNavOpen(false),\n hasAutoToggle: true,\n isMobile: isBelowBreakpoint,\n isMobileNavEnabled: mobileNavEnabled,\n isMobileNavOpen,\n openMobileNav: () => mobileNavEnabled && setMobileNavOpen(true),\n toggleMobileNav: () => {\n if (mobileNavEnabled) {\n setIsMobileNavOpen(prev => !prev);\n }\n },\n }),\n [isBelowBreakpoint, isMobileNavOpen, mobileNavEnabled, setMobileNavOpen],\n );\n\n /* eslint-disable @eslint-react/no-unstable-context-value -- sideNav ReactNode prop prevents stable memoization */\n const mobileContentValue = hasSideNavContent ? (\n <SideNavRenderContext value=\"drawer-content\">\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </SideNavRenderContext>\n ) : null;\n const drawerMobileContentValue = hasSideNavContent ? (\n <SideNavRenderContext value=\"drawer-content\">\n {sideNav}\n </SideNavRenderContext>\n ) : null;\n /* eslint-enable @eslint-react/no-unstable-context-value */\n const topNavContent =\n hasTopNav && isBelowBreakpoint && !isMobileNavDisabled ? (\n <TopNavMobileContentContext value={mobileContentValue}>\n <TopNavRenderContext value=\"mobile-bar\">\n <div className={styles.slotContents} ref={topNavPresenceRef}>\n {topNav}\n </div>\n </TopNavRenderContext>\n </TopNavMobileContentContext>\n ) : (\n topNav\n );\n const headerContent =\n hasTopNav || banner != null ? (\n <div className={cx(isAuto && styles.headerSticky)} ref={headerRef}>\n <header style={{flexShrink: 0}}>\n {banner != null ? (\n <div className={styles.banner}>{banner}</div>\n ) : null}\n {hasTopNav ? (\n <div className={styles.slotContents} ref={topNavPresenceRef}>\n {topNavContent}\n </div>\n ) : null}\n </header>\n </div>\n ) : undefined;\n const autoMobileTopBar =\n !isMobileNavDisabled &&\n isBelowBreakpoint &&\n !hasTopNavContent &&\n hasSideNav ? (\n <header style={{flexShrink: 0}}>\n <div\n aria-label=\"Mobile navigation\"\n className={styles.autoMobileTopBar}\n role=\"navigation\">\n <SideNavRenderContext value=\"topbar\">\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </SideNavRenderContext>\n <MobileNavToggle />\n </div>\n </header>\n ) : undefined;\n const sideNavPanel = showSideNavInline ? (\n <LayoutPanel isScrollable={isFill} padding={0}>\n <div className={styles.slotContents} ref={sideNavPresenceRef}>\n {sideNav}\n </div>\n </LayoutPanel>\n ) : undefined;\n const sideNavContent =\n sideNavPanel != null && isAuto ? (\n <div className={styles.sideNavSticky}>{sideNavPanel}</div>\n ) : (\n sideNavPanel\n );\n const contentClassName =\n variant === 'default' && hasTopNavContent && showSideNavInline\n ? styles.contentTransparent\n : variant === 'default'\n ? styles.contentSurface\n : undefined;\n const mainInner = (\n <LayoutContent\n as=\"main\"\n className={contentClassName}\n id={mainContentId}\n isScrollable={isFill}\n padding={contentPadding ?? 0}>\n {children}\n </LayoutContent>\n );\n const shouldElevateWithCorner =\n variant === 'default' && hasTopNavContent && showSideNavInline;\n const mainContent = shouldElevateWithCorner ? (\n <div className={styles.elevatedWrapper}>\n <div className={styles.elevatedBackdrop} />\n {mainInner}\n </div>\n ) : (\n mainInner\n );\n const rootStyle: AppShellRootStyle = {...style};\n\n return (\n <AppShellMobileContext value={mobileContextValue}>\n <div\n className={cx(appShellRecipe({height, variant}), className)}\n data-testid={dataTestId}\n ref={mergeRefs(ref, shellRef)}\n style={rootStyle}>\n <a\n className={styles.skipLink}\n data-testid=\"skip-to-content\"\n href={`#${mainContentId}`}>\n Skip to content\n </a>\n <Layout\n content={mainContent}\n hasDividers={navHasDividers}\n header={\n <>\n {headerContent}\n {autoMobileTopBar}\n </>\n }\n height={height}\n padding={0}\n start={sideNavContent}\n />\n {isBelowBreakpoint && !isMobileNavDisabled ? (\n <>\n {hasSideNav && !hasTopNavContent ? (\n <SideNavRenderContext value=\"drawer\">\n {sideNav}\n </SideNavRenderContext>\n ) : null}\n {hasTopNav && hasTopNavContent ? (\n <TopNavMobileContentContext value={drawerMobileContentValue}>\n <TopNavRenderContext value=\"drawer\">\n {topNav}\n </TopNavRenderContext>\n </TopNavMobileContentContext>\n ) : null}\n </>\n ) : null}\n </div>\n </AppShellMobileContext>\n );\n}\n\nAppShell.displayName = 'AppShell';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/ToggleButton/ToggleButtonGroup.tsx","../src/components/ToggleButton/ToggleButton.tsx"],"names":["current","styles","jsx"],"mappings":"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","file":"chunk-GEGYC7CE.js","sourcesContent":["import {\n createContext,\n use,\n useCallback,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\n\nexport type ToggleButtonGroupOrientation = 'horizontal' | 'vertical';\n\ninterface ToggleButtonGroupContextValue {\n isDisabled?: boolean;\n onToggle: (value: string) => void;\n selectedValues: Set<string>;\n size?: ButtonSize;\n}\n\nconst ToggleButtonGroupContext =\n createContext<ToggleButtonGroupContextValue | null>(null);\n\nToggleButtonGroupContext.displayName = 'ToggleButtonGroupContext';\n\nexport function useToggleButtonGroup(): ToggleButtonGroupContextValue | null {\n return use(ToggleButtonGroupContext);\n}\n\ninterface ToggleButtonGroupBaseProps {\n /**\n * Toggle button children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the group root.\n */\n className?: string;\n /**\n * Test ID applied to the group root.\n */\n 'data-testid'?: string;\n /**\n * Whether all buttons in the group are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the group.\n */\n label: string;\n /**\n * Group orientation.\n * @default 'horizontal'\n */\n orientation?: ToggleButtonGroupOrientation;\n /**\n * Ref forwarded to the group root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Default size for buttons in the group.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the group root.\n */\n style?: CSSProperties;\n}\n\nexport interface ToggleButtonGroupSingleProps extends ToggleButtonGroupBaseProps {\n /**\n * Called with the selected value when selection changes, or `null`\n * when the active button is deselected.\n */\n onChange: (value: string | null) => void;\n /**\n * Single-selection mode. Clicking the active button clears selection.\n * @default 'single'\n */\n type?: 'single';\n /**\n * Currently selected value, or `null` for no selection.\n */\n value: string | null;\n}\n\nexport interface ToggleButtonGroupMultipleProps extends ToggleButtonGroupBaseProps {\n /**\n * Called with the array of selected values when selection changes.\n */\n onChange: (value: string[]) => void;\n /**\n * Multiple-selection mode.\n */\n type: 'multiple';\n /**\n * Currently selected values.\n */\n value: string[];\n}\n\nexport type ToggleButtonGroupProps =\n | ToggleButtonGroupSingleProps\n | ToggleButtonGroupMultipleProps;\n\nconst styles = {\n group: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n }),\n vertical: css({\n flexDirection: 'column',\n alignItems: 'stretch',\n }),\n} as const;\n\n/**\n * Groups related ToggleButtons and manages shared selection state.\n */\nexport function ToggleButtonGroup({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n orientation = 'horizontal',\n ref,\n size,\n style,\n ...props\n}: ToggleButtonGroupProps): React.JSX.Element {\n const isMultiple = props.type === 'multiple';\n const {onChange, value} = props;\n\n const selectedValues = useMemo(() => {\n if (isMultiple) {\n return new Set(value as string[]);\n }\n\n return value == null ? new Set<string>() : new Set([value as string]);\n }, [isMultiple, value]);\n\n const onToggle = useCallback(\n (itemValue: string) => {\n if (isMultiple) {\n const current = value as string[];\n (onChange as (v: string[]) => void)(\n current.includes(itemValue)\n ? current.filter(v => v !== itemValue)\n : [...current, itemValue],\n );\n return;\n }\n\n const current = value as string | null;\n (onChange as (v: string | null) => void)(\n current === itemValue ? null : itemValue,\n );\n },\n [isMultiple, value, onChange],\n );\n\n const contextValue = useMemo(\n () => ({isDisabled, onToggle, selectedValues, size}),\n [isDisabled, onToggle, selectedValues, size],\n );\n\n return (\n <ToggleButtonGroupContext value={contextValue}>\n <div\n aria-label={label}\n className={cx(\n styles.group,\n orientation === 'vertical' ? styles.vertical : undefined,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </ToggleButtonGroupContext>\n );\n}\n\nToggleButtonGroup.displayName = 'ToggleButtonGroup';\n","import type {CSSProperties, MouseEvent, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {ButtonSize} from '../Button';\nimport {buttonRecipe} from '../Button/Button.recipe';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {useToggleButtonGroup} from './ToggleButtonGroup';\n\nexport interface ToggleButtonProps {\n /**\n * Custom visible content. When omitted, `label` is rendered.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the button root.\n */\n className?: string;\n /**\n * Test ID applied to the button root.\n */\n 'data-testid'?: string;\n /**\n * Icon element rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the button is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label and render a square icon button.\n * @default false\n */\n isIconOnly?: boolean;\n /**\n * Whether the button is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the button is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible label for the button.\n */\n label: string;\n /**\n * Called when the selected state should change.\n */\n onChange?: (isSelected: boolean) => void;\n /**\n * Ref forwarded to the button root.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Icon element rendered when the button is selected.\n */\n selectedIcon?: IconComponent;\n /**\n * Visual size of the button.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the button root.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n /**\n * Value identifier when used inside `ToggleButtonGroup`.\n */\n value?: string;\n}\n\nconst styles = {\n selected: css({\n bg: 'bg.subtle',\n fontWeight: 'semibold',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.subtle'},\n }),\n content: css({\n display: 'contents',\n }),\n labelWrapper: css({\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minW: 0,\n }),\n label: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minW: 0,\n }),\n widthReservation: css({\n display: 'block',\n h: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n spinner: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n} as const;\n\n/**\n * Button that toggles between selected and unselected states.\n */\nexport function ToggleButton({\n children,\n className,\n 'data-testid': dataTestId,\n icon,\n isDisabled: isDisabledProp = false,\n isIconOnly = false,\n isLoading = false,\n isSelected: isSelectedProp = false,\n label,\n onChange,\n selectedIcon,\n ref,\n size: sizeProp,\n style,\n tooltip,\n value,\n}: ToggleButtonProps): React.JSX.Element {\n const group = useToggleButtonGroup();\n\n if (process.env.NODE_ENV !== 'production') {\n if (group != null && value == null) {\n throw new Error(\n 'ToggleButton: `value` prop is required when used inside a ToggleButtonGroup.',\n );\n }\n }\n\n const isSelected =\n group != null && value != null\n ? group.selectedValues.has(value)\n : isSelectedProp;\n const size = sizeProp ?? group?.size ?? 'md';\n const isDisabled = isDisabledProp || group?.isDisabled === true;\n const resolvedIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const visibleLabel = children ?? label;\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled || isLoading) {\n event.preventDefault();\n return;\n }\n\n if (group != null && value != null) {\n group.onToggle(value);\n return;\n }\n\n onChange?.(!isSelected);\n };\n\n const button = (\n <button\n aria-busy={isLoading || undefined}\n aria-label={isIconOnly || isLoading ? label : undefined}\n aria-pressed={isSelected}\n className={cx(\n buttonRecipe({variant: 'ghost', size, iconOnly: isIconOnly}),\n isSelected ? styles.selected : undefined,\n className,\n )}\n data-testid={dataTestId}\n disabled={isDisabled || isLoading}\n onClick={handleClick}\n ref={ref}\n style={style}\n type=\"button\">\n <span aria-hidden={isLoading || undefined} className={styles.content}>\n {resolvedIcon != null ? (\n <span className={styles.icon}>\n <Icon icon={resolvedIcon} size={size} />\n </span>\n ) : null}\n {!isIconOnly ? (\n <span className={styles.labelWrapper}>\n <span className={styles.label}>{visibleLabel}</span>\n <span aria-hidden=\"true\" className={styles.widthReservation}>\n {visibleLabel}\n </span>\n </span>\n ) : null}\n {!isIconOnly && isLoading ? (\n <span aria-hidden=\"true\" className={styles.spinner}>\n <Spinner size={size} />\n </span>\n ) : null}\n </span>\n </button>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{button}</Tooltip>;\n }\n\n return button;\n}\n\nToggleButton.displayName = 'ToggleButton';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Layout/Layout.recipe.ts","../src/components/Layout/LayoutContext.ts","../src/components/Layout/Layout.tsx","../src/components/Layout/LayoutContent.tsx","../src/components/Layout/LayoutFooter.tsx","../src/components/Layout/LayoutHeader.tsx","../src/components/Layout/LayoutPanel.tsx"],"names":["styles","jsx","jsxs"],"mappings":"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","file":"chunk-GI5MVVIX.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst paddingVariants = {\n 0: {p: '0'},\n 0.5: {p: '0.5'},\n 1: {p: '1'},\n 1.5: {p: '1.5'},\n 2: {p: '2'},\n 3: {p: '3'},\n 4: {p: '4'},\n 5: {p: '5'},\n 6: {p: '6'},\n 8: {p: '8'},\n 10: {p: '10'},\n};\n\nexport const layoutRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n variants: {\n height: {\n fill: {\n h: '100%',\n minH: 0,\n },\n auto: {\n minH: '100%',\n },\n },\n padding: paddingVariants,\n },\n defaultVariants: {\n height: 'fill',\n },\n});\n\nexport const layoutMiddleRecipe = cva({\n base: {\n display: 'flex',\n flex: 1,\n minH: 0,\n minW: 0,\n },\n});\n\nexport const layoutRegionRecipe = cva({\n variants: {\n padding: paddingVariants,\n },\n defaultVariants: {\n padding: 4,\n },\n});\n\nexport type LayoutVariants = RecipeVariantProps<typeof layoutRecipe>;\nexport type LayoutRegionVariants = RecipeVariantProps<\n typeof layoutRegionRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type LayoutArea = 'header' | 'content' | 'start' | 'end' | 'footer';\n\nexport interface LayoutSlots {\n hasEnd: boolean;\n hasFooter: boolean;\n hasHeader: boolean;\n hasStart: boolean;\n}\n\nexport interface LayoutDividerContextValue {\n hasDividers: boolean;\n}\n\nexport const LayoutAreaContext = createContext<LayoutArea>('content');\nLayoutAreaContext.displayName = 'LayoutAreaContext';\nexport const LayoutSlotsContext = createContext<LayoutSlots>({\n hasEnd: false,\n hasFooter: false,\n hasHeader: false,\n hasStart: false,\n});\nLayoutSlotsContext.displayName = 'LayoutSlotsContext';\nexport const LayoutDividerContext =\n createContext<LayoutDividerContextValue | null>(null);\nLayoutDividerContext.displayName = 'LayoutDividerContext';\n\nexport function useLayoutArea(): LayoutArea {\n return use(LayoutAreaContext);\n}\n\nexport function useLayoutDivider(): LayoutDividerContextValue | null {\n return use(LayoutDividerContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutMiddleRecipe, layoutRecipe} from './Layout.recipe';\nimport {\n LayoutAreaContext,\n LayoutDividerContext,\n LayoutSlotsContext,\n type LayoutArea,\n} from './LayoutContext';\nimport type {LayoutHeight} from './types';\n\n/**\n * Shell with header, side panels, content, and footer slots.\n */\nexport interface LayoutProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Main content slot.\n */\n content?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * End panel slot.\n */\n end?: ReactNode;\n /**\n * Footer slot.\n */\n footer?: ReactNode;\n /**\n * Whether child layout regions should show dividers.\n */\n hasDividers?: boolean;\n /**\n * Header slot.\n */\n header?: ReactNode;\n /**\n * Layout height behavior. Default is `fill`.\n */\n height?: LayoutHeight;\n /**\n * Outer padding for layout edges.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Start panel slot.\n */\n start?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n contentFill: css({\n flex: 1,\n minW: 0,\n display: 'flex',\n flexDirection: 'column',\n }),\n};\n\nfunction AreaProvider({\n area,\n children,\n}: {\n area: LayoutArea;\n children?: ReactNode;\n}): React.JSX.Element | null {\n if (children == null) {\n return null;\n }\n\n return <LayoutAreaContext value={area}>{children}</LayoutAreaContext>;\n}\n\nexport function Layout({\n className,\n content,\n 'data-testid': dataTestId,\n hasDividers = true,\n end,\n footer,\n header,\n height = 'fill',\n padding,\n ref,\n start,\n style,\n}: LayoutProps): React.JSX.Element {\n const slots = useMemo(\n () => ({\n hasEnd: end != null,\n hasFooter: footer != null,\n hasHeader: header != null,\n hasStart: start != null,\n }),\n [end, footer, header, start],\n );\n const dividerValue = useMemo(() => ({hasDividers}), [hasDividers]);\n const rootStyle: CSSProperties = {\n ...style,\n };\n\n return (\n <LayoutDividerContext value={dividerValue}>\n <LayoutSlotsContext value={slots}>\n <div\n className={cx(layoutRecipe({height, padding}), className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <AreaProvider area=\"header\">{header}</AreaProvider>\n <div className={layoutMiddleRecipe()}>\n <AreaProvider area=\"start\">{start}</AreaProvider>\n <div className={styles.contentFill}>\n <AreaProvider area=\"content\">{content}</AreaProvider>\n </div>\n <AreaProvider area=\"end\">{end}</AreaProvider>\n </div>\n <AreaProvider area=\"footer\">{footer}</AreaProvider>\n </div>\n </LayoutSlotsContext>\n </LayoutDividerContext>\n );\n}\n\nLayout.displayName = 'Layout';\n","import type {ComponentPropsWithRef, ElementType} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport interface LayoutContentProps extends ComponentPropsWithRef<'div'> {\n /**\n * HTML element to render. Default is `div`.\n */\n as?: ElementType;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the content area scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n}\n\nconst styles = {\n root: css({\n flex: 1,\n minH: 0,\n minW: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n};\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport function LayoutContent({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n ...rest\n}: LayoutContentProps): React.JSX.Element {\n return (\n <Element\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={style}>\n {children}\n </Element>\n );\n}\n\nLayoutContent.displayName = 'LayoutContent';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\ninterface LayoutFooterBaseProps {\n /**\n * Additional CSS class names applied to the footer.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Fixed height for the footer.\n */\n height?: number | string;\n /**\n * Accessible label for the footer landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the footer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the footer.\n */\n style?: CSSProperties;\n}\n\ninterface LayoutFooterCustomProps extends LayoutFooterBaseProps {\n /**\n * Custom footer content rendered inside the footer shell.\n */\n children: ReactNode;\n primaryButton?: never;\n secondaryButton?: never;\n startContent?: never;\n}\n\ninterface LayoutFooterActionsProps extends LayoutFooterBaseProps {\n children?: never;\n /**\n * Primary action button, rendered rightmost.\n */\n primaryButton: ReactNode;\n /**\n * Secondary action button, rendered left of the primary button.\n */\n secondaryButton?: ReactNode;\n /**\n * Content rendered at the start (left) of the footer.\n */\n startContent?: ReactNode;\n}\n\n/**\n * Footer landmark region within a Layout. Use action slots for the standard\n * footer layout, or children for a custom footer inside the same shell.\n */\nexport type LayoutFooterProps =\n | LayoutFooterActionsProps\n | LayoutFooterCustomProps;\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '3',\n }),\n customInner: css({}),\n start: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n marginInlineEnd: 'auto',\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n};\n\n/**\n * Footer landmark region within a Layout.\n */\nexport function LayoutFooter({\n children,\n className,\n 'data-testid': dataTestId,\n height,\n label,\n padding = 4,\n primaryButton,\n ref,\n secondaryButton,\n startContent,\n style,\n}: LayoutFooterProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const isCustom = children != null;\n\n return (\n <footer\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-divider={hasDivider || undefined}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div\n className={cx(\n isCustom ? styles.customInner : styles.inner,\n layoutRegionRecipe({padding}),\n )}>\n {isCustom ? (\n children\n ) : (\n <>\n {startContent != null ? (\n <div className={styles.start}>{startContent}</div>\n ) : null}\n <div className={styles.actions}>\n {secondaryButton}\n {primaryButton}\n </div>\n </>\n )}\n </div>\n </footer>\n );\n}\n\nLayoutFooter.displayName = 'LayoutFooter';\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {useDialogContext} from '../Dialog/DialogContext';\nimport {Heading, Text} from '../Text';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport interface LayoutHeaderProps {\n /**\n * Additional CSS class names applied to the header.\n */\n className?: string;\n /**\n * Test ID applied to the header.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the title area.\n */\n endContent?: ReactNode;\n /**\n * Fixed height for the header.\n */\n height?: number | string;\n /**\n * Accessible label for the header landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the header element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered before the title area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the header.\n */\n style?: CSSProperties;\n /**\n * Supporting text displayed below the title.\n */\n subtitle?: string;\n /**\n * Primary header title.\n */\n title: string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: '3',\n }),\n titleArea: css({\n flex: 1,\n minW: 0,\n '& > :focus': {\n outline: 'none',\n },\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n closeButton: css({\n marginInlineEnd: '-2',\n marginBlockStart: '-2',\n }),\n} as const;\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport function LayoutHeader({\n className,\n 'data-testid': dataTestId,\n endContent,\n height,\n label,\n padding = 4,\n ref,\n startContent,\n style,\n subtitle,\n title,\n}: LayoutHeaderProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const dialogContext = useDialogContext();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n\n const closeButton =\n dialogContext != null ? (\n <Button\n className={styles.closeButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={() => dialogContext.onOpenChange(false)}\n variant=\"ghost\"\n />\n ) : null;\n const hasEnd = endContent != null || closeButton != null;\n\n return (\n <header\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(styles.inner, layoutRegionRecipe({padding}))}>\n {startContent != null ? (\n <div className={styles.actions}>{startContent}</div>\n ) : null}\n <div className={styles.titleArea}>\n <Heading\n data-dialog-autofocus={dialogContext != null ? 'true' : undefined}\n id={dialogContext?.titleId}\n level={4}\n tabIndex={dialogContext != null ? -1 : undefined}>\n {title}\n </Heading>\n {subtitle != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </div>\n {hasEnd ? (\n <div className={styles.actions}>\n {endContent}\n {closeButton}\n </div>\n ) : null}\n </div>\n </header>\n );\n}\n\nLayoutHeader.displayName = 'LayoutHeader';\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutArea, useLayoutDivider} from './LayoutContext';\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport interface LayoutPanelProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the panel scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Fixed width for the panel.\n */\n width?: number | string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n dividerEnd: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n dividerStart: css({\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n};\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport function LayoutPanel({\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n width,\n ...rest\n}: LayoutPanelProps): React.JSX.Element {\n const area = useLayoutArea();\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n\n return (\n <div\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n hasDivider && area === 'start' && styles.dividerEnd,\n hasDivider && area === 'end' && styles.dividerStart,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={{width, ...style}}>\n {children}\n </div>\n );\n}\n\nLayoutPanel.displayName = 'LayoutPanel';\n"]}
@@ -1,15 +0,0 @@
1
- // styled-system/css/cx.js
2
- function cx() {
3
- let str = "", i = 0, arg;
4
- for (; i < arguments.length; ) {
5
- if ((arg = arguments[i++]) && typeof arg === "string") {
6
- str && (str += " ");
7
- str += arg;
8
- }
9
- }
10
- return str;
11
- }
12
-
13
- export { cx };
14
- //# sourceMappingURL=chunk-GUKZNXTB.js.map
15
- //# sourceMappingURL=chunk-GUKZNXTB.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../styled-system/css/cx.js"],"names":[],"mappings":";AAAA,SAAS,EAAA,GAAK;AACZ,EAAA,IAAI,GAAA,GAAM,EAAA,EACR,CAAA,GAAI,CAAA,EACJ,GAAA;AAEF,EAAA,OAAO,CAAA,GAAI,UAAU,MAAA,IAAU;AAC7B,IAAA,IAAA,CAAK,MAAM,SAAA,CAAU,CAAA,EAAG,CAAA,KAAM,OAAO,QAAQ,QAAA,EAAU;AACrD,MAAA,GAAA,KAAQ,GAAA,IAAO,GAAA,CAAA;AACf,MAAA,GAAA,IAAO,GAAA;AAAA,IACT;AAAA,EACF;AACA,EAAA,OAAO,GAAA;AACT","file":"chunk-GUKZNXTB.js","sourcesContent":["function cx() {\n let str = '',\n i = 0,\n arg\n\n for (; i < arguments.length; ) {\n if ((arg = arguments[i++]) && typeof arg === 'string') {\n str && (str += ' ')\n str += arg\n }\n }\n return str\n}\n\nexport { cx }"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/DropdownMenu/DropdownMenuContext.ts","../src/components/DropdownMenu/DropdownMenuItem.tsx","../src/components/DropdownMenu/menuUtils.tsx","../src/components/DropdownMenu/DropdownMenu.tsx"],"names":["cx","jsx","styles","useCallback","jsxs"],"mappings":"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","file":"chunk-H2SGYAUO.js","sourcesContent":["import {createContext, use} from 'react';\nimport type {ButtonSize} from '../Button';\n\nexport interface DropdownMenuContextValue {\n closeMenu: () => void;\n menuSize: ButtonSize;\n}\n\nexport const DropdownMenuContext =\n createContext<DropdownMenuContextValue | null>(null);\n\nDropdownMenuContext.displayName = 'DropdownMenuContext';\n\nexport function useDropdownMenuContext(): DropdownMenuContextValue | null {\n return use(DropdownMenuContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css, cva} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport {useDropdownMenuContext} from './DropdownMenuContext';\n\nexport interface DropdownMenuItemProps {\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Item label.\n */\n label: string;\n /**\n * Called when the item is selected.\n */\n onClick?: () => void;\n /**\n * Ref forwarded to the item button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\nconst menuItemRecipe = cva({\n base: {\n display: 'block',\n w: 'full',\n borderRadius: 'md',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n },\n variants: {\n size: {\n sm: {\n minH: 'component.sm',\n '& > *': {py: '0.5', px: '1.5', gap: '1.5'},\n },\n md: {\n minH: 'component.md',\n '& > *': {py: '1.5', px: '2'},\n },\n lg: {\n minH: 'component.lg',\n '& > *': {py: '2.5', px: '2.5', gap: '2.5'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst styles = {\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * Action item inside a `DropdownMenu`.\n */\nexport function DropdownMenuItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDisabled = false,\n label,\n onClick,\n ref,\n style,\n}: DropdownMenuItemProps): React.JSX.Element {\n const context = useDropdownMenuContext();\n const menuSize = context?.menuSize ?? 'md';\n\n return (\n <button\n className={cx(menuItemRecipe({size: menuSize}), className)}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={() => {\n onClick?.();\n context?.closeMenu();\n }}\n ref={ref}\n role=\"menuitem\"\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n description={description}\n endContent={endContent}\n label={label}\n startContent={\n icon != null ? (\n <span className={styles.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n />\n </button>\n );\n}\n\nDropdownMenuItem.displayName = 'DropdownMenuItem';\n","/* eslint-disable @eslint-react/no-array-index-key */\nimport {useCallback, type KeyboardEvent, type ReactNode} from 'react';\nimport {css} from 'styled-system/css';\nimport {Divider} from '../Divider';\nimport {Text} from '../Text';\nimport {DropdownMenuItem} from './DropdownMenuItem';\nimport type {DropdownMenuOption} from './types';\n\nconst menuStyles = {\n section: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n heading: css({\n px: '2',\n py: '1',\n userSelect: 'none',\n }),\n divider: css({\n my: '1',\n }),\n} as const;\n\nexport function formatMenuWidth(\n value: number | string | undefined,\n): string | undefined {\n if (value == null) {\n return undefined;\n }\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function renderMenuItems(\n items: ReadonlyArray<DropdownMenuOption>,\n): ReactNode {\n return items.map((item, index) => {\n if ('type' in item && item.type === 'divider') {\n return (\n <Divider className={menuStyles.divider} key={`divider-${index}`} />\n );\n }\n\n if ('type' in item) {\n return (\n <div\n aria-label={item.title}\n className={menuStyles.section}\n key={`section-${item.title ?? index}`}\n role=\"group\">\n {item.title != null ? (\n <Text\n as=\"span\"\n className={menuStyles.heading}\n color=\"secondary\"\n type=\"supporting\">\n {item.title}\n </Text>\n ) : null}\n {item.items.map(sectionItem => (\n <DropdownMenuItem\n description={sectionItem.description}\n icon={sectionItem.icon}\n isDisabled={sectionItem.isDisabled}\n key={sectionItem.label}\n label={sectionItem.label}\n onClick={sectionItem.onClick}\n />\n ))}\n </div>\n );\n }\n\n return (\n <DropdownMenuItem\n description={item.description}\n icon={item.icon}\n isDisabled={item.isDisabled}\n key={item.label}\n label={item.label}\n onClick={item.onClick}\n />\n );\n });\n}\n\nexport function useMenuKeyboard(\n menuRef: React.RefObject<HTMLElement | null>,\n onClose: () => void,\n): (event: KeyboardEvent<HTMLElement>) => void {\n const getMenuItems = useCallback(() => {\n if (menuRef.current == null) {\n return [];\n }\n return Array.from(\n menuRef.current.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not(:disabled)',\n ),\n );\n }, [menuRef]);\n\n return useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n const menuItems = getMenuItems();\n if (menuItems.length === 0) {\n return;\n }\n const currentIndex = menuItems.findIndex(\n item => item === document.activeElement,\n );\n let nextIndex: number;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex === -1 ? 0 : (currentIndex + 1) % menuItems.length;\n break;\n case 'ArrowUp':\n nextIndex =\n currentIndex === -1\n ? menuItems.length - 1\n : (currentIndex - 1 + menuItems.length) % menuItems.length;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = menuItems.length - 1;\n break;\n case 'Escape':\n event.preventDefault();\n onClose();\n return;\n case 'Enter':\n case ' ':\n if (document.activeElement instanceof HTMLElement) {\n event.preventDefault();\n document.activeElement.click();\n }\n return;\n default:\n if (event.key.length === 1) {\n const char = event.key.toLowerCase();\n const startIndex = currentIndex === -1 ? 0 : currentIndex + 1;\n for (let i = 0; i < menuItems.length; i++) {\n const index = (startIndex + i) % menuItems.length;\n const label = menuItems[index].textContent.trim().toLowerCase();\n if (label.startsWith(char)) {\n event.preventDefault();\n menuItems[index].focus();\n return;\n }\n }\n }\n return;\n }\n\n event.preventDefault();\n menuItems[nextIndex]?.focus();\n },\n [getMenuItems, onClose],\n );\n}\n","import {ChevronDown} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport {Button, type ButtonProps, type ButtonSize} from '../Button';\nimport {Icon} from '../Icon';\nimport {Popover} from '../Popover';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {formatMenuWidth, renderMenuItems, useMenuKeyboard} from './menuUtils';\nimport type {DropdownMenuOption} from './types';\n\nexport type {\n DropdownMenuDivider,\n DropdownMenuItemData,\n DropdownMenuOption,\n DropdownMenuSection,\n} from './types';\n\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nexport type DropdownMenuButtonProps = DistributiveOmit<ButtonProps, 'onClick'>;\n\nexport interface DropdownMenuProps {\n /**\n * Trigger button props.\n */\n button?: DropdownMenuButtonProps;\n /**\n * Compound menu content (alternative to `items`).\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the menu surface.\n */\n className?: string;\n /**\n * Test ID applied to the trigger button.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a chevron on the trigger button.\n * @default true\n */\n hasChevron?: boolean;\n /**\n * Controlled open state.\n */\n isMenuOpen?: boolean;\n /**\n * Data-driven menu items.\n */\n items?: ReadonlyArray<DropdownMenuOption>;\n /**\n * Width of the menu surface.\n */\n menuWidth?: number | string;\n /**\n * Click handler for the trigger button.\n */\n onClick?: () => void;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the menu surface.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n} as const;\n\nconst defaultButton = {label: 'Menu'} satisfies DropdownMenuButtonProps;\n\n/**\n * Button-triggered menu for grouped actions.\n */\nexport function DropdownMenu({\n button = defaultButton,\n children,\n className,\n 'data-testid': dataTestId,\n hasAutoFocus = true,\n hasChevron = true,\n isMenuOpen,\n items,\n menuWidth,\n onClick,\n onOpenChange,\n ref,\n style,\n}: DropdownMenuProps): React.JSX.Element {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isMenuOpen !== undefined;\n const isOpen = isControlled ? isMenuOpen : internalOpen;\n const menuSize: ButtonSize = button.size ?? 'md';\n const menuRef = useRef<HTMLDivElement>(null);\n\n if (process.env.NODE_ENV !== 'production') {\n if (items != null && children != null) {\n throw new Error(\n 'DropdownMenu: pass either `items` or `children`, not both.',\n );\n }\n }\n\n const hide = useCallback(() => {\n if (isControlled) {\n onOpenChange?.(false);\n } else {\n setInternalOpen(false);\n }\n }, [isControlled, onOpenChange]);\n\n const handleMenuKeyDown = useMenuKeyboard(menuRef, hide);\n\n const contextValue = useMemo(\n () => ({\n closeMenu: hide,\n menuSize,\n }),\n [hide, menuSize],\n );\n\n const menuNode = useMemo(\n (): ReactNode => (items == null ? children : renderMenuItems(items)),\n [items, children],\n );\n\n return (\n <Popover\n content={\n <DropdownMenuContext value={contextValue}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- keyboard handler captures events for the parent role=\"menu\" element */}\n <div\n className={cx(styles.menu, className)}\n onKeyDown={handleMenuKeyDown}\n ref={menuRef}\n tabIndex={-1}>\n {menuNode}\n </div>\n </DropdownMenuContext>\n }\n hasAutoFocus={hasAutoFocus}\n hasCloseButton={false}\n isOpen={isOpen}\n onOpenChange={(isNextOpen: boolean): void => {\n if (isControlled) {\n onOpenChange?.(isNextOpen);\n } else {\n setInternalOpen(isNextOpen);\n }\n }}\n role=\"menu\"\n style={{width: formatMenuWidth(menuWidth), ...style}}>\n <Button\n {...button}\n data-testid={dataTestId}\n endContent={\n <>\n {button.endContent}\n {hasChevron ? <Icon icon={ChevronDown} size=\"sm\" /> : null}\n </>\n }\n onClick={onClick}\n ref={ref}\n />\n </Popover>\n );\n}\n\nDropdownMenu.displayName = 'DropdownMenu';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Button/Button.tsx"],"names":[],"mappings":"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","file":"chunk-HLN3JQYD.js","sourcesContent":["/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport type {\n CSSProperties,\n JSX,\n KeyboardEvent,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal';\nimport {cx} from '../../internal/cx';\nimport {getAriaLabel, useRel} from '../../internal/linkAccessibility';\nimport {useButtonGroup} from '../ButtonGroup/ButtonGroupContext';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {buttonRecipe, type ButtonVariants} from './Button.recipe';\n\nexport type ButtonSize = NonNullable<ButtonVariants>['size'];\ntype ButtonVariant = NonNullable<ButtonVariants>['variant'];\n\n/**\n * A versatile action element that renders as a `<button>` or a link depending\n * on whether `href` is provided. Supports explicit loading states, icon-only\n * modes, link buttons, and tooltips.\n */\ninterface ButtonBaseProps {\n /**\n * Identifies the element(s) whose contents are controlled by the button.\n */\n 'aria-controls'?: string;\n /**\n * Indicates the current item in a set.\n */\n 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time';\n /**\n * Identifies the element(s) that describe the button.\n */\n 'aria-describedby'?: string;\n /**\n * Identifies the element that provides a detailed description.\n */\n 'aria-details'?: string;\n /**\n * Indicates whether a controlled element is expanded or collapsed.\n */\n 'aria-expanded'?: boolean;\n /**\n * Indicates the button opens an interactive popup element.\n */\n 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n /**\n * Indicates whether the element is exposed to the accessibility API.\n */\n 'aria-hidden'?: boolean;\n /**\n * Keyboard shortcuts that activate or focus the button.\n */\n 'aria-keyshortcuts'?: string;\n /**\n * Accessible label that overrides the visible `label` for assistive\n * technologies. Use when the visible text is too terse (e.g. a page\n * number) and a longer description is needed.\n */\n 'aria-label'?: string;\n /**\n * Identifies the element(s) that label the button.\n */\n 'aria-labelledby'?: string;\n /**\n * Identifies element(s) owned by the button that are not DOM children.\n */\n 'aria-owns'?: string;\n /**\n * Indicates the current pressed state of a toggle button.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Human-readable description of the role of the button.\n */\n 'aria-roledescription'?: string;\n /**\n * Custom link component to render when `href` is set. Falls back to the\n * component provided by `LinkProvider`, or a plain `<a>` tag.\n */\n as?: LinkComponent;\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 * Content rendered after the label, such as a badge or count. Hidden in\n * icon-only mode.\n */\n endContent?: ReactNode;\n /**\n * HTML `form` attribute associating the button with a `<form>` by ID.\n */\n form?: string;\n /**\n * URL to navigate to. When set and the button is not disabled, the component\n * renders as a link element.\n */\n href?: string;\n /**\n * Whether the button is disabled. Prevents interaction and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Whether the button is in a loading state. Shows a spinner overlay,\n * disables interaction, and announces \"Loading\" to assistive technologies.\n */\n isLoading?: boolean;\n /**\n * Text label for the button. Always required for accessibility even when\n * `isIconOnly` is true.\n */\n label: string;\n /**\n * HTML `name` attribute for form submission.\n */\n name?: string;\n /**\n * Click event handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Keyboard event handler for the root element.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link `rel` attribute (e.g., `\"noopener\"`). Only applies when rendering\n * as a link.\n */\n rel?: string;\n /**\n * Visual size of the button.\n */\n size?: ButtonSize;\n /**\n * Arbitrary content rendered before the label (after the icon, if present).\n * Hidden in icon-only mode.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link `target` attribute (e.g., `\"_blank\"`). Only applies when rendering\n * as a link.\n */\n target?: string;\n /**\n * Tooltip text shown on hover. When set on a disabled button,\n * `aria-disabled` is used instead of the `disabled` attribute so the\n * tooltip remains accessible.\n */\n tooltip?: string;\n /**\n * HTML button `type` attribute.\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * HTML `value` attribute for form submission.\n */\n value?: string;\n /**\n * Visual style variant.\n */\n variant?: ButtonVariant;\n}\n\nexport type ButtonProps =\n | (ButtonBaseProps & {\n /**\n * Icon element rendered before the label. Required in icon-only mode.\n */\n icon: IconComponent;\n /**\n * Visually hides the label, showing only the icon. The `label` prop is\n * still required and used as `aria-label`.\n */\n isIconOnly: true;\n })\n | (ButtonBaseProps & {\n /**\n * Icon element rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Visually hides the label, showing only the icon. The `label` prop is\n * still required and used as `aria-label`.\n */\n isIconOnly?: false;\n });\n\nconst styles = {\n content: css({\n display: 'contents',\n }),\n label: css({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minW: 0,\n // The label is a (blockified) flex item, so `overflow: hidden` clips it to\n // its line box. With a tight line-height that crops descenders (e.g. the\n // \"g\" in \"changes\"), so pad the clip box vertically and cancel the padding\n // with a negative margin to keep layout unchanged.\n py: '0.25em',\n mt: '-0.35em',\n mb: '-0.25em',\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n startContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n loadingIndicator: css({\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n }),\n} as const;\n\nexport function Button({\n label,\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-label': ariaLabelProp,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-pressed': ariaPressed,\n 'aria-roledescription': ariaRoledescription,\n href,\n as,\n target,\n rel,\n variant,\n size: sizeProp,\n className,\n 'data-testid': dataTestId,\n style,\n type = 'button',\n ref,\n isDisabled = false,\n isLoading = false,\n icon,\n isIconOnly = false,\n endContent,\n startContent,\n tooltip,\n onClick,\n onKeyDown,\n form,\n name,\n value,\n}: ButtonProps): JSX.Element {\n const LinkComponent = useLinkComponent(as);\n const buttonGroup = useButtonGroup();\n const size = sizeProp ?? buttonGroup?.size ?? 'md';\n const buttonDisabled =\n isDisabled || buttonGroup?.isDisabled === true || isLoading;\n const useAriaDisabled = tooltip != null && buttonDisabled;\n const renderAsLink = href != null && !buttonDisabled;\n const opensInNewTab = renderAsLink && target === '_blank';\n const ariaLabel =\n ariaLabelProp ??\n getAriaLabel(\n isIconOnly ||\n isLoading ||\n startContent != null ||\n endContent != null ||\n opensInNewTab\n ? label\n : undefined,\n opensInNewTab,\n );\n const linkRel = useRel({target, rel});\n const spinnerVariant =\n variant === 'primary' || variant === 'destructive' || variant === 'onSolid'\n ? 'onMedia'\n : 'default';\n\n const ariaAttrs = {\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-pressed': ariaPressed,\n 'aria-roledescription': ariaRoledescription,\n };\n\n const handleButtonClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (buttonDisabled) {\n event.preventDefault();\n return;\n }\n\n onClick?.(event);\n };\n\n const handleLinkClick = (event: MouseEvent<HTMLAnchorElement>) => {\n onClick?.(event);\n };\n\n const handleButtonKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (useAriaDisabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n return;\n }\n\n onKeyDown?.(event);\n };\n\n const handleLinkKeyDown = (event: KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n };\n\n const buttonContent = (\n <>\n <span aria-hidden={isLoading || undefined} className={styles.content}>\n {icon != null ? (\n <span aria-hidden=\"true\" className={styles.icon}>\n <Icon icon={icon} size={size} />\n </span>\n ) : null}\n {!isIconOnly && startContent != null ? (\n <span className={styles.startContent}>{startContent}</span>\n ) : null}\n {!isIconOnly ? <span className={styles.label}>{label}</span> : null}\n {!isIconOnly && endContent != null ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n {!isIconOnly && isLoading ? (\n <span aria-hidden=\"true\" className={styles.loadingIndicator}>\n <Spinner size={size} variant={spinnerVariant} />\n </span>\n ) : null}\n </span>\n <VisuallyHidden aria-live=\"polite\" role=\"status\">\n {isLoading ? 'Loading' : ''}\n </VisuallyHidden>\n </>\n );\n\n const rootClassName = cx(\n buttonRecipe({variant, size, iconOnly: isIconOnly}),\n className,\n );\n\n const element = renderAsLink ? (\n <LinkComponent\n {...ariaAttrs}\n aria-label={ariaLabel}\n className={rootClassName}\n data-testid={dataTestId}\n href={href}\n onClick={handleLinkClick}\n onKeyDown={handleLinkKeyDown}\n ref={ref as Ref<HTMLAnchorElement>}\n rel={linkRel}\n style={style}\n target={target}\n to={LinkComponent === 'a' ? undefined : href}>\n {buttonContent}\n </LinkComponent>\n ) : (\n <button\n {...ariaAttrs}\n aria-busy={isLoading || undefined}\n aria-disabled={useAriaDisabled || undefined}\n aria-label={ariaLabel}\n className={rootClassName}\n data-testid={dataTestId}\n disabled={useAriaDisabled ? undefined : buttonDisabled}\n form={form}\n name={name}\n onClick={handleButtonClick}\n onKeyDown={handleButtonKeyDown}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type={type}\n value={value}>\n {buttonContent}\n </button>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nButton.displayName = 'Button';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/HoverCard/useHoverCard.tsx","../src/components/HoverCard/HoverCard.tsx"],"names":["css","useRef","useHoverLayer","useCallback","jsx","cx","useMemo","HoverLayerTrigger"],"mappings":"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","file":"chunk-HM7IEGQ2.cjs","sourcesContent":["import {\n useCallback,\n useMemo,\n useRef,\n type FocusEvent as ReactFocusEvent,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport {\n useHoverLayer,\n type HoverLayerFocusTrigger,\n} from '../../internal/useHoverLayer';\nimport type {\n ContextRenderProps,\n LayerAlignment,\n LayerPlacement,\n} from '../../internal/useLayer';\n\nexport type HoverCardFocusTrigger = HoverLayerFocusTrigger;\n\nexport interface UseHoverCardOptions {\n alignment?: LayerAlignment;\n delay?: number;\n focusTrigger?: HoverCardFocusTrigger;\n hideDelay?: number;\n isEnabled?: boolean;\n onHide?: () => void;\n onShow?: () => void;\n placement?: LayerPlacement;\n}\n\nexport interface UseHoverCardReturn {\n anchorId: string;\n describedBy: string;\n hide: () => void;\n interactionRef: RefCallback<HTMLElement>;\n positionRef: RefCallback<HTMLElement>;\n ref: RefCallback<HTMLElement>;\n renderHoverCard: (\n children: ReactNode,\n props?: ContextRenderProps,\n ) => ReactNode;\n show: () => void;\n}\n\nconst styles = {\n container: css({\n bg: 'bg',\n borderRadius: 'md',\n boxShadow: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n content: css({\n p: '3',\n }),\n margin: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nexport function useHoverCard({\n placement = 'above',\n alignment = 'center',\n delay = 300,\n hideDelay = 200,\n focusTrigger = 'auto',\n isEnabled = true,\n onShow,\n onHide,\n}: UseHoverCardOptions = {}): UseHoverCardReturn {\n const isHoveringContentRef = useRef(false);\n const isEscapeDismissingRef = useRef(false);\n\n const hoverLayer = useHoverLayer({\n delay,\n focusTrigger,\n hideDelay,\n isEnabled,\n onFocusIn: () => {\n if (isEscapeDismissingRef.current) {\n isEscapeDismissingRef.current = false;\n return false;\n }\n\n return true;\n },\n onFocusOut: event => {\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n const popoverElement = document.getElementById(hoverLayer.describedBy);\n\n return !popoverElement?.contains(relatedTarget);\n },\n onHide,\n onShow,\n onTriggerEscape: event => {\n event.stopPropagation();\n hoverLayer.clearTimeouts();\n hoverLayer.hide();\n },\n shouldHide: () => !isHoveringContentRef.current,\n });\n\n const {clearTimeouts, interactionRef, layer, ref, scheduleHide, triggerRef} =\n hoverLayer;\n\n const handleContentBlur = useCallback(\n (event: ReactFocusEvent<HTMLElement>) => {\n const relatedTarget = event.relatedTarget as HTMLElement | null;\n if (\n event.currentTarget.contains(relatedTarget) ||\n triggerRef.current?.contains(relatedTarget)\n ) {\n return;\n }\n\n scheduleHide();\n },\n [scheduleHide, triggerRef],\n );\n\n const renderHoverCard = useCallback(\n (children: ReactNode, props?: ContextRenderProps): ReactNode => {\n const renderPlacement = props?.placement ?? placement;\n\n return layer.render(\n // eslint-disable-next-line jsx-a11y-x/no-static-element-interactions\n <div\n className={styles.content}\n onBlur={handleContentBlur}\n onKeyDown={event => {\n if (event.key === 'Escape') {\n event.stopPropagation();\n isEscapeDismissingRef.current = true;\n clearTimeouts();\n hoverLayer.hide();\n triggerRef.current?.focus();\n }\n }}\n onMouseEnter={() => {\n isHoveringContentRef.current = true;\n clearTimeouts();\n }}\n onMouseLeave={() => {\n isHoveringContentRef.current = false;\n scheduleHide();\n }}>\n {children}\n </div>,\n {\n placement: renderPlacement,\n alignment: props?.alignment ?? alignment,\n className: cx(\n styles.container,\n styles.margin[renderPlacement],\n props?.className,\n ),\n role: props?.role,\n style: props?.style,\n },\n );\n },\n [\n alignment,\n clearTimeouts,\n handleContentBlur,\n hoverLayer,\n layer,\n placement,\n scheduleHide,\n triggerRef,\n ],\n );\n\n return useMemo(\n () => ({\n anchorId: layer.anchorId,\n describedBy: layer.id,\n hide: hoverLayer.hide,\n interactionRef,\n positionRef: layer.ref,\n ref,\n renderHoverCard,\n show: hoverLayer.show,\n }),\n [\n hoverLayer.hide,\n hoverLayer.show,\n interactionRef,\n layer.anchorId,\n layer.id,\n layer.ref,\n ref,\n renderHoverCard,\n ],\n );\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {HoverLayerTrigger} from '../../internal/HoverLayerTrigger';\nimport type {LayerAlignment, LayerPlacement} from '../../internal/useLayer';\nimport {useHoverCard, type HoverCardFocusTrigger} from './useHoverCard';\n\nexport type {HoverCardFocusTrigger} from './useHoverCard';\n\nexport interface HoverCardProps {\n /**\n * Alignment along the placement axis.\n * @default 'center'\n */\n alignment?: LayerAlignment;\n /**\n * Trigger content.\n */\n children: ReactNode;\n /**\n * Additional class names applied to the trigger wrapper for text triggers.\n */\n className?: string;\n /**\n * Content shown in the floating hover card.\n */\n content: ReactNode;\n /**\n * Test ID applied to the trigger wrapper for text triggers.\n */\n 'data-testid'?: string;\n /**\n * Delay before opening on hover, in milliseconds.\n * @default 300\n */\n delay?: number;\n /**\n * Controls focus-trigger behavior.\n * @default 'auto'\n */\n focusTrigger?: HoverCardFocusTrigger;\n /**\n * Whether to visually underline text triggers.\n * @default 'auto'\n */\n hasHoverIndication?: 'auto' | boolean;\n /**\n * Delay before closing after hover/focus leaves, in milliseconds.\n * @default 200\n */\n hideDelay?: number;\n /**\n * Whether hover/focus interactions are enabled.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Position relative to the trigger.\n * @default 'above'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the text trigger wrapper.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Inline styles applied to the text trigger wrapper.\n */\n style?: CSSProperties;\n}\n\n/**\n * A floating card that appears on hover or focus of a trigger element.\n */\nexport function HoverCard({\n children,\n content,\n placement = 'above',\n alignment = 'center',\n delay = 300,\n hideDelay = 200,\n focusTrigger = 'auto',\n isEnabled = true,\n hasHoverIndication = 'auto',\n className,\n style,\n ref,\n 'data-testid': dataTestId,\n}: HoverCardProps): React.JSX.Element {\n const hoverCard = useHoverCard({\n alignment,\n delay,\n focusTrigger,\n hideDelay,\n isEnabled,\n placement,\n });\n\n return (\n <HoverLayerTrigger\n className={className}\n data-testid={dataTestId}\n describedBy={hoverCard.describedBy}\n hasHoverIndication={hasHoverIndication}\n layer={hoverCard.renderHoverCard(content)}\n shouldForwardNonTextWrapperProps={false}\n style={style}\n triggerRef={hoverCard.ref}\n wrapperRef={ref}>\n {children}\n </HoverLayerTrigger>\n );\n}\n\nHoverCard.displayName = 'HoverCard';\n"]}