silver-ui 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (608) hide show
  1. package/README.md +1 -1
  2. package/dist/{chunk-E7UOFIBW.cjs → chunk-23NN5WRP.cjs} +7 -6
  3. package/dist/chunk-23NN5WRP.cjs.map +1 -0
  4. package/dist/chunk-2PSZAWLC.js +8 -0
  5. package/dist/chunk-2PSZAWLC.js.map +1 -0
  6. package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
  7. package/dist/chunk-2XAA3CM5.js.map +1 -0
  8. package/dist/{chunk-AGJ5SZCM.js → chunk-3DJ46WN4.js} +5 -5
  9. package/dist/{chunk-AGJ5SZCM.js.map → chunk-3DJ46WN4.js.map} +1 -1
  10. package/dist/{chunk-UYXQBM2B.cjs → chunk-3IBY374V.cjs} +9 -9
  11. package/dist/{chunk-UYXQBM2B.cjs.map → chunk-3IBY374V.cjs.map} +1 -1
  12. package/dist/{chunk-KIGRE6NA.js → chunk-3L6KAW7G.js} +5 -5
  13. package/dist/{chunk-KIGRE6NA.js.map → chunk-3L6KAW7G.js.map} +1 -1
  14. package/dist/{chunk-ZH3GKYUZ.js → chunk-3TXVDCF2.js} +3 -3
  15. package/dist/{chunk-ZH3GKYUZ.js.map → chunk-3TXVDCF2.js.map} +1 -1
  16. package/dist/{chunk-P4A7GWQY.cjs → chunk-3XDUR3IG.cjs} +7 -6
  17. package/dist/chunk-3XDUR3IG.cjs.map +1 -0
  18. package/dist/{chunk-Y5SXQR52.cjs → chunk-3ZFEBOXD.cjs} +28 -17
  19. package/dist/chunk-3ZFEBOXD.cjs.map +1 -0
  20. package/dist/{chunk-ZTQQ2O6O.cjs → chunk-4H35H54I.cjs} +35 -33
  21. package/dist/chunk-4H35H54I.cjs.map +1 -0
  22. package/dist/chunk-4MRORQNN.js +213 -0
  23. package/dist/chunk-4MRORQNN.js.map +1 -0
  24. package/dist/{chunk-XQU4ECJY.js → chunk-54J6FRPG.js} +16 -15
  25. package/dist/chunk-54J6FRPG.js.map +1 -0
  26. package/dist/chunk-5AYGQJOW.js +162 -0
  27. package/dist/chunk-5AYGQJOW.js.map +1 -0
  28. package/dist/{chunk-UR7RYJOU.cjs → chunk-5BCLEOFF.cjs} +19 -16
  29. package/dist/chunk-5BCLEOFF.cjs.map +1 -0
  30. package/dist/{chunk-2YC7SMVF.js → chunk-5D4LRSIV.js} +6 -5
  31. package/dist/chunk-5D4LRSIV.js.map +1 -0
  32. package/dist/{chunk-OJKZS6HG.cjs → chunk-5GNYP3PH.cjs} +256 -209
  33. package/dist/chunk-5GNYP3PH.cjs.map +1 -0
  34. package/dist/{chunk-I2X2Z7FA.cjs → chunk-5TT4PGZO.cjs} +5 -5
  35. package/dist/{chunk-I2X2Z7FA.cjs.map → chunk-5TT4PGZO.cjs.map} +1 -1
  36. package/dist/{chunk-TRK2ZZFB.cjs → chunk-65QAZWOG.cjs} +4 -3
  37. package/dist/chunk-65QAZWOG.cjs.map +1 -0
  38. package/dist/{chunk-C264Z2GQ.cjs → chunk-66LRFIYK.cjs} +8 -7
  39. package/dist/chunk-66LRFIYK.cjs.map +1 -0
  40. package/dist/{chunk-BDPE6ZKX.cjs → chunk-6MOJEGDU.cjs} +3 -3
  41. package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-6MOJEGDU.cjs.map} +1 -1
  42. package/dist/{chunk-BA2VUDQS.js → chunk-6NTDPZWP.js} +3 -3
  43. package/dist/{chunk-BA2VUDQS.js.map → chunk-6NTDPZWP.js.map} +1 -1
  44. package/dist/{chunk-35MFOORC.js → chunk-6USJ4LJJ.js} +4 -4
  45. package/dist/{chunk-35MFOORC.js.map → chunk-6USJ4LJJ.js.map} +1 -1
  46. package/dist/{chunk-JAHKLROD.cjs → chunk-6W3L6IJB.cjs} +13 -12
  47. package/dist/chunk-6W3L6IJB.cjs.map +1 -0
  48. package/dist/{chunk-7P3VY5JZ.js → chunk-75CPTIET.js} +8 -7
  49. package/dist/chunk-75CPTIET.js.map +1 -0
  50. package/dist/{chunk-J2FCNWYM.js → chunk-76B2VLID.js} +82 -88
  51. package/dist/chunk-76B2VLID.js.map +1 -0
  52. package/dist/{chunk-E4KM3RQ2.js → chunk-7MN4JDP7.js} +31 -16
  53. package/dist/chunk-7MN4JDP7.js.map +1 -0
  54. package/dist/{chunk-ZNPTARIS.cjs → chunk-7PNLMDAR.cjs} +8 -8
  55. package/dist/{chunk-ZNPTARIS.cjs.map → chunk-7PNLMDAR.cjs.map} +1 -1
  56. package/dist/{chunk-4T62TLOD.cjs → chunk-7U7RP6N2.cjs} +8 -8
  57. package/dist/{chunk-4T62TLOD.cjs.map → chunk-7U7RP6N2.cjs.map} +1 -1
  58. package/dist/{chunk-XM3AZXOA.js → chunk-AJTJD5C6.js} +5 -5
  59. package/dist/{chunk-XM3AZXOA.js.map → chunk-AJTJD5C6.js.map} +1 -1
  60. package/dist/chunk-AMFFE5UJ.js +216 -0
  61. package/dist/chunk-AMFFE5UJ.js.map +1 -0
  62. package/dist/{chunk-K6CQ45C2.js → chunk-ASJ5CBCR.js} +7 -6
  63. package/dist/chunk-ASJ5CBCR.js.map +1 -0
  64. package/dist/{chunk-67VLK263.js → chunk-BA4A7C7U.js} +12 -9
  65. package/dist/chunk-BA4A7C7U.js.map +1 -0
  66. package/dist/{chunk-KFEXS6OK.cjs → chunk-BAPCHFNX.cjs} +10 -9
  67. package/dist/chunk-BAPCHFNX.cjs.map +1 -0
  68. package/dist/{chunk-YBPG5RPR.cjs → chunk-BRB52QFV.cjs} +14 -54
  69. package/dist/chunk-BRB52QFV.cjs.map +1 -0
  70. package/dist/chunk-BS55BG2U.cjs +164 -0
  71. package/dist/chunk-BS55BG2U.cjs.map +1 -0
  72. package/dist/{chunk-PLXUM7U6.cjs → chunk-CEU7BIL6.cjs} +11 -11
  73. package/dist/{chunk-PLXUM7U6.cjs.map → chunk-CEU7BIL6.cjs.map} +1 -1
  74. package/dist/{chunk-AADUJ6CN.js → chunk-CN2HJ7CP.js} +212 -183
  75. package/dist/chunk-CN2HJ7CP.js.map +1 -0
  76. package/dist/{chunk-PXVVTPRJ.js → chunk-CRQXHA7N.js} +9 -8
  77. package/dist/chunk-CRQXHA7N.js.map +1 -0
  78. package/dist/{chunk-5BLNJVIA.js → chunk-CZC2K5GJ.js} +10 -9
  79. package/dist/chunk-CZC2K5GJ.js.map +1 -0
  80. package/dist/{chunk-WA4VZ363.cjs → chunk-CZM5FAWL.cjs} +11 -10
  81. package/dist/chunk-CZM5FAWL.cjs.map +1 -0
  82. package/dist/{chunk-AH4AMQEO.js → chunk-D2DOHX4W.js} +253 -206
  83. package/dist/chunk-D2DOHX4W.js.map +1 -0
  84. package/dist/{chunk-WNGBWUWZ.cjs → chunk-D3SSMY73.cjs} +6 -6
  85. package/dist/{chunk-WNGBWUWZ.cjs.map → chunk-D3SSMY73.cjs.map} +1 -1
  86. package/dist/{chunk-GI5MVVIX.js → chunk-DIIE44GO.js} +14 -13
  87. package/dist/chunk-DIIE44GO.js.map +1 -0
  88. package/dist/{chunk-S54CKWKV.js → chunk-DSB4Q3AS.js} +3 -3
  89. package/dist/{chunk-S54CKWKV.js.map → chunk-DSB4Q3AS.js.map} +1 -1
  90. package/dist/{chunk-AMG3S252.js → chunk-EBQ3A4XO.js} +9 -8
  91. package/dist/chunk-EBQ3A4XO.js.map +1 -0
  92. package/dist/{chunk-PXTE3XRD.js → chunk-EC2ALHNJ.js} +73 -67
  93. package/dist/chunk-EC2ALHNJ.js.map +1 -0
  94. package/dist/{chunk-WWB4NSEY.cjs → chunk-EE2O457Z.cjs} +7 -7
  95. package/dist/{chunk-WWB4NSEY.cjs.map → chunk-EE2O457Z.cjs.map} +1 -1
  96. package/dist/{chunk-MQQ4GSUG.cjs → chunk-EVKFA5FA.cjs} +27 -26
  97. package/dist/chunk-EVKFA5FA.cjs.map +1 -0
  98. package/dist/{chunk-ZXPKFGRB.cjs → chunk-F3NATTQG.cjs} +81 -75
  99. package/dist/chunk-F3NATTQG.cjs.map +1 -0
  100. package/dist/{chunk-OJCJPYXE.js → chunk-F3ZNRO6W.js} +8 -7
  101. package/dist/chunk-F3ZNRO6W.js.map +1 -0
  102. package/dist/{chunk-OHKL4DOV.js → chunk-FZCBTFHY.js} +7 -6
  103. package/dist/chunk-FZCBTFHY.js.map +1 -0
  104. package/dist/{chunk-2D6SGEPH.cjs → chunk-GLJWAY4A.cjs} +15 -10
  105. package/dist/chunk-GLJWAY4A.cjs.map +1 -0
  106. package/dist/{chunk-6XESVFC3.js → chunk-GXRH5XQY.js} +89 -74
  107. package/dist/chunk-GXRH5XQY.js.map +1 -0
  108. package/dist/{chunk-VYFMYXU4.js → chunk-HNROO7CR.js} +230 -170
  109. package/dist/chunk-HNROO7CR.js.map +1 -0
  110. package/dist/{chunk-UJODHP7E.cjs → chunk-HPVXP3DG.cjs} +12 -11
  111. package/dist/chunk-HPVXP3DG.cjs.map +1 -0
  112. package/dist/chunk-HVUYVPQL.cjs +193 -0
  113. package/dist/chunk-HVUYVPQL.cjs.map +1 -0
  114. package/dist/{chunk-CFOGSQCG.cjs → chunk-I7KILUVL.cjs} +13 -12
  115. package/dist/chunk-I7KILUVL.cjs.map +1 -0
  116. package/dist/{chunk-UY3MYNI6.js → chunk-IHM2M74J.js} +5 -4
  117. package/dist/chunk-IHM2M74J.js.map +1 -0
  118. package/dist/{chunk-4M2KCZMO.js → chunk-IRSJHEYI.js} +5 -4
  119. package/dist/chunk-IRSJHEYI.js.map +1 -0
  120. package/dist/{chunk-BFWKL5MJ.cjs → chunk-JEIQ5GDK.cjs} +25 -24
  121. package/dist/chunk-JEIQ5GDK.cjs.map +1 -0
  122. package/dist/{chunk-YXYD5HKL.cjs → chunk-KFDHP4WP.cjs} +4 -4
  123. package/dist/{chunk-YXYD5HKL.cjs.map → chunk-KFDHP4WP.cjs.map} +1 -1
  124. package/dist/{chunk-6ADWXOZ2.cjs → chunk-KRZ57O2J.cjs} +3 -3
  125. package/dist/{chunk-6ADWXOZ2.cjs.map → chunk-KRZ57O2J.cjs.map} +1 -1
  126. package/dist/{chunk-W3QVSVL7.cjs → chunk-L5YTMHDI.cjs} +11 -10
  127. package/dist/chunk-L5YTMHDI.cjs.map +1 -0
  128. package/dist/{chunk-PNYF6NS4.cjs → chunk-L7BOLGF2.cjs} +8 -7
  129. package/dist/chunk-L7BOLGF2.cjs.map +1 -0
  130. package/dist/{chunk-WATCCAQU.js → chunk-LHP47U6H.js} +4 -3
  131. package/dist/chunk-LHP47U6H.js.map +1 -0
  132. package/dist/{chunk-YGYA4BYN.js → chunk-LUBVZVY3.js} +17 -16
  133. package/dist/chunk-LUBVZVY3.js.map +1 -0
  134. package/dist/{chunk-ATDW2VII.cjs → chunk-LX64ENLC.cjs} +66 -51
  135. package/dist/chunk-LX64ENLC.cjs.map +1 -0
  136. package/dist/{chunk-25FU5AVR.cjs → chunk-M3BF3BBJ.cjs} +13 -12
  137. package/dist/chunk-M3BF3BBJ.cjs.map +1 -0
  138. package/dist/chunk-M3IKL2VG.js +393 -0
  139. package/dist/chunk-M3IKL2VG.js.map +1 -0
  140. package/dist/{chunk-SFT5LCQP.cjs → chunk-M3RNFDA2.cjs} +14 -13
  141. package/dist/chunk-M3RNFDA2.cjs.map +1 -0
  142. package/dist/{chunk-CZNN2GOC.js → chunk-MGVEX3RS.js} +6 -6
  143. package/dist/{chunk-CZNN2GOC.js.map → chunk-MGVEX3RS.js.map} +1 -1
  144. package/dist/chunk-MSNRGNVY.cjs +216 -0
  145. package/dist/chunk-MSNRGNVY.cjs.map +1 -0
  146. package/dist/{chunk-IXJOPMJX.cjs → chunk-MUUPZEZ5.cjs} +7 -6
  147. package/dist/chunk-MUUPZEZ5.cjs.map +1 -0
  148. package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
  149. package/dist/chunk-N2TNBDQI.js.map +1 -0
  150. package/dist/{chunk-3DW2N6UN.js → chunk-NH7KH7QP.js} +3 -3
  151. package/dist/{chunk-3DW2N6UN.js.map → chunk-NH7KH7QP.js.map} +1 -1
  152. package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
  153. package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
  154. package/dist/{chunk-4I6VIR44.cjs → chunk-NYQPIBOD.cjs} +12 -11
  155. package/dist/chunk-NYQPIBOD.cjs.map +1 -0
  156. package/dist/{chunk-YJJOKZN2.js → chunk-O4RTJESR.js} +3 -3
  157. package/dist/{chunk-YJJOKZN2.js.map → chunk-O4RTJESR.js.map} +1 -1
  158. package/dist/{chunk-BERQEJYB.js → chunk-O5A47TA2.js} +5 -4
  159. package/dist/chunk-O5A47TA2.js.map +1 -0
  160. package/dist/{chunk-DSNJDFO3.cjs → chunk-OSBVDRVD.cjs} +17 -16
  161. package/dist/chunk-OSBVDRVD.cjs.map +1 -0
  162. package/dist/{chunk-32G54PL3.cjs → chunk-OULO3YDQ.cjs} +6 -5
  163. package/dist/chunk-OULO3YDQ.cjs.map +1 -0
  164. package/dist/{chunk-PXIWITSS.js → chunk-OWBNRALR.js} +5 -5
  165. package/dist/{chunk-PXIWITSS.js.map → chunk-OWBNRALR.js.map} +1 -1
  166. package/dist/{chunk-GEGYC7CE.js → chunk-P6RAOXJA.js} +5 -5
  167. package/dist/chunk-P6RAOXJA.js.map +1 -0
  168. package/dist/{chunk-3PDUOYAT.cjs → chunk-PJMV2HTO.cjs} +27 -29
  169. package/dist/chunk-PJMV2HTO.cjs.map +1 -0
  170. package/dist/{chunk-3WMLV4VP.cjs → chunk-PL6J55JB.cjs} +6 -6
  171. package/dist/chunk-PL6J55JB.cjs.map +1 -0
  172. package/dist/chunk-PQRIV5XU.js +242 -0
  173. package/dist/chunk-PQRIV5XU.js.map +1 -0
  174. package/dist/chunk-PZ63ZCEO.cjs +470 -0
  175. package/dist/chunk-PZ63ZCEO.cjs.map +1 -0
  176. package/dist/{chunk-EUN5TCB2.js → chunk-Q3OA23V5.js} +17 -19
  177. package/dist/chunk-Q3OA23V5.js.map +1 -0
  178. package/dist/chunk-QAO6QMNQ.cjs +10 -0
  179. package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
  180. package/dist/{chunk-X5ZQRMEM.cjs → chunk-QCT4BPB6.cjs} +19 -19
  181. package/dist/{chunk-X5ZQRMEM.cjs.map → chunk-QCT4BPB6.cjs.map} +1 -1
  182. package/dist/{chunk-JMNH45Q3.cjs → chunk-QEFE4QBL.cjs} +81 -87
  183. package/dist/chunk-QEFE4QBL.cjs.map +1 -0
  184. package/dist/{chunk-AXT4VA5N.cjs → chunk-QEX7V7TI.cjs} +10 -9
  185. package/dist/chunk-QEX7V7TI.cjs.map +1 -0
  186. package/dist/chunk-QGHFUOUB.cjs +112 -0
  187. package/dist/chunk-QGHFUOUB.cjs.map +1 -0
  188. package/dist/{chunk-ITDQSF2O.cjs → chunk-QL3YSC3H.cjs} +16 -15
  189. package/dist/chunk-QL3YSC3H.cjs.map +1 -0
  190. package/dist/{chunk-PTJ5YZFY.cjs → chunk-QRKRVCA3.cjs} +238 -178
  191. package/dist/chunk-QRKRVCA3.cjs.map +1 -0
  192. package/dist/{chunk-S4GLMGFI.js → chunk-RINP34ZG.js} +5 -4
  193. package/dist/chunk-RINP34ZG.js.map +1 -0
  194. package/dist/{chunk-HLN3JQYD.js → chunk-RVENUWRD.js} +15 -55
  195. package/dist/chunk-RVENUWRD.js.map +1 -0
  196. package/dist/{chunk-GTPRZCNZ.js → chunk-S4B2D427.js} +3 -3
  197. package/dist/{chunk-GTPRZCNZ.js.map → chunk-S4B2D427.js.map} +1 -1
  198. package/dist/{chunk-5Q5TJUHI.js → chunk-S4LVSSJI.js} +11 -6
  199. package/dist/chunk-S4LVSSJI.js.map +1 -0
  200. package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
  201. package/dist/chunk-SSOAZZNR.cjs.map +1 -0
  202. package/dist/{chunk-BYBVI7UN.js → chunk-TF7IWMV2.js} +9 -8
  203. package/dist/chunk-TF7IWMV2.js.map +1 -0
  204. package/dist/{chunk-FQSOUCZS.cjs → chunk-U2U4FMFM.cjs} +8 -8
  205. package/dist/{chunk-FQSOUCZS.cjs.map → chunk-U2U4FMFM.cjs.map} +1 -1
  206. package/dist/chunk-U5GTHA44.cjs +395 -0
  207. package/dist/chunk-U5GTHA44.cjs.map +1 -0
  208. package/dist/{chunk-OMHOVHPX.js → chunk-UKDGDMWN.js} +4 -4
  209. package/dist/{chunk-OMHOVHPX.js.map → chunk-UKDGDMWN.js.map} +1 -1
  210. package/dist/chunk-UN35QV25.js +110 -0
  211. package/dist/chunk-UN35QV25.js.map +1 -0
  212. package/dist/{chunk-RKMW3ZOK.js → chunk-UPQHFW47.js} +4 -4
  213. package/dist/{chunk-RKMW3ZOK.js.map → chunk-UPQHFW47.js.map} +1 -1
  214. package/dist/{chunk-ACQMLJ4I.cjs → chunk-UXDXE7Z6.cjs} +39 -38
  215. package/dist/chunk-UXDXE7Z6.cjs.map +1 -0
  216. package/dist/{chunk-IG4UJZ6B.js → chunk-UYBGXFYX.js} +20 -19
  217. package/dist/chunk-UYBGXFYX.js.map +1 -0
  218. package/dist/{chunk-ZW2ATXTL.js → chunk-VAK4JQYL.js} +7 -6
  219. package/dist/chunk-VAK4JQYL.js.map +1 -0
  220. package/dist/{chunk-7FY26X2V.js → chunk-VEUZ5DZR.js} +6 -5
  221. package/dist/chunk-VEUZ5DZR.js.map +1 -0
  222. package/dist/{chunk-JVLE7PCJ.cjs → chunk-VJBBMBRT.cjs} +7 -7
  223. package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-VJBBMBRT.cjs.map} +1 -1
  224. package/dist/chunk-VVO7GIHG.cjs +220 -0
  225. package/dist/chunk-VVO7GIHG.cjs.map +1 -0
  226. package/dist/{chunk-MAL4D4LR.cjs → chunk-W3KMDQKP.cjs} +8 -7
  227. package/dist/chunk-W3KMDQKP.cjs.map +1 -0
  228. package/dist/{chunk-MACIT6C6.js → chunk-WO6FS4DV.js} +5 -4
  229. package/dist/chunk-WO6FS4DV.js.map +1 -0
  230. package/dist/chunk-WYE3VOFK.cjs +244 -0
  231. package/dist/chunk-WYE3VOFK.cjs.map +1 -0
  232. package/dist/{chunk-BJD32VBQ.cjs → chunk-X2GRBPCJ.cjs} +89 -74
  233. package/dist/chunk-X2GRBPCJ.cjs.map +1 -0
  234. package/dist/{chunk-4YQSKCVF.cjs → chunk-XADTIY7J.cjs} +4 -4
  235. package/dist/{chunk-4YQSKCVF.cjs.map → chunk-XADTIY7J.cjs.map} +1 -1
  236. package/dist/{chunk-H2SGYAUO.js → chunk-XUJZTD4E.js} +9 -8
  237. package/dist/chunk-XUJZTD4E.js.map +1 -0
  238. package/dist/{chunk-ZNZ67KFM.js → chunk-Y4FH67QZ.js} +8 -7
  239. package/dist/chunk-Y4FH67QZ.js.map +1 -0
  240. package/dist/{chunk-SEAVOF6B.js → chunk-YLGAJD6Q.js} +8 -6
  241. package/dist/chunk-YLGAJD6Q.js.map +1 -0
  242. package/dist/chunk-YNTPHZFJ.js +191 -0
  243. package/dist/chunk-YNTPHZFJ.js.map +1 -0
  244. package/dist/{chunk-4Z62KDKI.js → chunk-YSTESYUB.js} +23 -12
  245. package/dist/chunk-YSTESYUB.js.map +1 -0
  246. package/dist/{chunk-K77D7H4V.cjs → chunk-ZD3NPHZ7.cjs} +5 -4
  247. package/dist/chunk-ZD3NPHZ7.cjs.map +1 -0
  248. package/dist/{chunk-UMGW7WJI.cjs → chunk-ZLATP3P5.cjs} +10 -8
  249. package/dist/chunk-ZLATP3P5.cjs.map +1 -0
  250. package/dist/{chunk-VSEKSDTK.js → chunk-ZVH3BLYO.js} +8 -7
  251. package/dist/chunk-ZVH3BLYO.js.map +1 -0
  252. package/dist/{chunk-ISYUZ5FS.js → chunk-ZWULWVN3.js} +30 -28
  253. package/dist/chunk-ZWULWVN3.js.map +1 -0
  254. package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
  255. package/dist/components/Accordion/index.cjs +5 -5
  256. package/dist/components/Accordion/index.js +2 -2
  257. package/dist/components/Alert/Alert.d.ts.map +1 -1
  258. package/dist/components/Alert/Alert.recipe.d.ts +1 -1
  259. package/dist/components/Alert/index.cjs +8 -7
  260. package/dist/components/Alert/index.js +7 -6
  261. package/dist/components/AlertDialog/index.cjs +10 -9
  262. package/dist/components/AlertDialog/index.js +8 -7
  263. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  264. package/dist/components/AppShell/index.cjs +16 -15
  265. package/dist/components/AppShell/index.js +13 -12
  266. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +6 -1
  267. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  268. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
  269. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
  270. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
  271. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
  272. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +22 -2
  273. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  274. package/dist/components/AutocompleteInput/index.cjs +14 -13
  275. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  276. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  277. package/dist/components/AutocompleteInput/index.js +10 -9
  278. package/dist/components/AutocompleteInput/types.d.ts +39 -3
  279. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  280. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  281. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  282. package/dist/components/Avatar/index.cjs +6 -5
  283. package/dist/components/Avatar/index.js +3 -2
  284. package/dist/components/AvatarGroup/index.cjs +6 -5
  285. package/dist/components/AvatarGroup/index.js +4 -3
  286. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  287. package/dist/components/Blockquote/index.cjs +3 -2
  288. package/dist/components/Blockquote/index.js +2 -1
  289. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  290. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
  291. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
  292. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  293. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
  294. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
  295. package/dist/components/Breadcrumbs/index.cjs +6 -4
  296. package/dist/components/Breadcrumbs/index.js +3 -1
  297. package/dist/components/Button/Button.d.ts.map +1 -1
  298. package/dist/components/Button/Button.recipe.d.ts +80 -62
  299. package/dist/components/Button/Button.recipe.d.ts.map +1 -1
  300. package/dist/components/Button/index.cjs +7 -6
  301. package/dist/components/Button/index.js +6 -5
  302. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  303. package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
  304. package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
  305. package/dist/components/Calendar/index.cjs +8 -7
  306. package/dist/components/Calendar/index.js +7 -6
  307. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  308. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
  309. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
  310. package/dist/components/CheckboxInput/index.cjs +7 -6
  311. package/dist/components/CheckboxInput/index.js +6 -5
  312. package/dist/components/CodeBlock/index.cjs +9 -8
  313. package/dist/components/CodeBlock/index.js +8 -7
  314. package/dist/components/ContextMenu/index.cjs +13 -12
  315. package/dist/components/ContextMenu/index.js +11 -10
  316. package/dist/components/DateInput/DateInput.d.ts +5 -1
  317. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  318. package/dist/components/DateInput/index.cjs +11 -10
  319. package/dist/components/DateInput/index.js +10 -9
  320. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  321. package/dist/components/DateRangeInput/index.cjs +11 -10
  322. package/dist/components/DateRangeInput/index.js +10 -9
  323. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  324. package/dist/components/DateTimeInput/index.cjs +13 -12
  325. package/dist/components/DateTimeInput/index.js +12 -11
  326. package/dist/components/Divider/Divider.d.ts.map +1 -1
  327. package/dist/components/Divider/index.cjs +3 -2
  328. package/dist/components/Divider/index.js +2 -1
  329. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  330. package/dist/components/DropdownMenu/index.cjs +14 -13
  331. package/dist/components/DropdownMenu/index.js +10 -9
  332. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  333. package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
  334. package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
  335. package/dist/components/EmptyState/index.cjs +5 -3
  336. package/dist/components/EmptyState/index.js +4 -2
  337. package/dist/components/Field/Field.d.ts.map +1 -1
  338. package/dist/components/Field/index.cjs +6 -5
  339. package/dist/components/Field/index.js +4 -3
  340. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  341. package/dist/components/FileInput/index.cjs +9 -8
  342. package/dist/components/FileInput/index.js +8 -7
  343. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  344. package/dist/components/InputGroup/index.cjs +9 -8
  345. package/dist/components/InputGroup/index.js +5 -4
  346. package/dist/components/Item/Item.d.ts.map +1 -1
  347. package/dist/components/Item/index.cjs +4 -3
  348. package/dist/components/Item/index.js +3 -2
  349. package/dist/components/Layout/Layout.d.ts.map +1 -1
  350. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  351. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  352. package/dist/components/Layout/index.cjs +12 -11
  353. package/dist/components/Layout/index.js +7 -6
  354. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  355. package/dist/components/Lightbox/index.cjs +9 -8
  356. package/dist/components/Lightbox/index.js +7 -6
  357. package/dist/components/Link/index.cjs +1 -0
  358. package/dist/components/Link/index.js +1 -0
  359. package/dist/components/List/List.d.ts.map +1 -1
  360. package/dist/components/List/List.recipe.d.ts +42 -0
  361. package/dist/components/List/List.recipe.d.ts.map +1 -0
  362. package/dist/components/List/ListItem.d.ts.map +1 -1
  363. package/dist/components/List/index.cjs +7 -5
  364. package/dist/components/List/index.js +5 -3
  365. package/dist/components/MetadataList/index.cjs +4 -4
  366. package/dist/components/MetadataList/index.js +2 -2
  367. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  368. package/dist/components/MultiSelect/index.cjs +11 -10
  369. package/dist/components/MultiSelect/index.js +10 -9
  370. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  371. package/dist/components/NumberInput/index.cjs +10 -9
  372. package/dist/components/NumberInput/index.js +9 -8
  373. package/dist/components/Pagination/index.cjs +8 -7
  374. package/dist/components/Pagination/index.js +7 -6
  375. package/dist/components/PasswordInput/index.cjs +11 -10
  376. package/dist/components/PasswordInput/index.js +10 -9
  377. package/dist/components/Popover/Popover.d.ts.map +1 -1
  378. package/dist/components/Popover/index.cjs +9 -8
  379. package/dist/components/Popover/index.js +7 -6
  380. package/dist/components/Progress/Progress.d.ts.map +1 -1
  381. package/dist/components/Progress/Progress.recipe.d.ts +34 -16
  382. package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
  383. package/dist/components/Progress/index.cjs +4 -2
  384. package/dist/components/Progress/index.js +3 -1
  385. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  386. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  387. package/dist/components/RadioGroup/index.cjs +8 -7
  388. package/dist/components/RadioGroup/index.js +6 -5
  389. package/dist/components/Rating/index.cjs +3 -3
  390. package/dist/components/Rating/index.js +2 -2
  391. package/dist/components/Schedule/index.cjs +22 -21
  392. package/dist/components/Schedule/index.js +11 -10
  393. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  394. package/dist/components/SearchFilterInput/index.cjs +30 -29
  395. package/dist/components/SearchFilterInput/index.js +22 -21
  396. package/dist/components/Select/Select.d.ts.map +1 -1
  397. package/dist/components/Select/Select.recipe.d.ts +25 -0
  398. package/dist/components/Select/Select.recipe.d.ts.map +1 -0
  399. package/dist/components/Select/SelectOption.d.ts.map +1 -1
  400. package/dist/components/Select/index.cjs +13 -12
  401. package/dist/components/Select/index.js +11 -10
  402. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  403. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  404. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  405. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  406. package/dist/components/SideNav/index.cjs +15 -14
  407. package/dist/components/SideNav/index.js +9 -8
  408. package/dist/components/Slider/index.cjs +6 -5
  409. package/dist/components/Slider/index.js +5 -4
  410. package/dist/components/Spinner/index.cjs +3 -3
  411. package/dist/components/Spinner/index.js +2 -2
  412. package/dist/components/SplitButton/index.cjs +12 -11
  413. package/dist/components/SplitButton/index.js +11 -10
  414. package/dist/components/Stack/HStack.d.ts +1 -1
  415. package/dist/components/Stack/HStack.d.ts.map +1 -1
  416. package/dist/components/Stack/VStack.d.ts +1 -1
  417. package/dist/components/Stack/VStack.d.ts.map +1 -1
  418. package/dist/components/Stack/index.cjs +3 -3
  419. package/dist/components/Stack/index.d.ts +1 -1
  420. package/dist/components/Stack/index.d.ts.map +1 -1
  421. package/dist/components/Stack/index.js +1 -1
  422. package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
  423. package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
  424. package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
  425. package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
  426. package/dist/components/Stepper/Step.d.ts.map +1 -1
  427. package/dist/components/Stepper/index.cjs +6 -5
  428. package/dist/components/Stepper/index.js +3 -2
  429. package/dist/components/Switch/Switch.d.ts.map +1 -1
  430. package/dist/components/Switch/index.cjs +6 -5
  431. package/dist/components/Switch/index.js +5 -4
  432. package/dist/components/Table/BaseTable.d.ts.map +1 -1
  433. package/dist/components/Table/index.cjs +53 -52
  434. package/dist/components/Table/index.js +25 -24
  435. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  436. package/dist/components/Tabs/index.cjs +13 -12
  437. package/dist/components/Tabs/index.js +8 -7
  438. package/dist/components/Tag/Tag.d.ts +2 -2
  439. package/dist/components/Tag/Tag.d.ts.map +1 -1
  440. package/dist/components/Tag/Tag.recipe.d.ts +103 -68
  441. package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
  442. package/dist/components/Tag/index.cjs +4 -2
  443. package/dist/components/Tag/index.js +3 -1
  444. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  445. package/dist/components/TagsInput/index.cjs +12 -11
  446. package/dist/components/TagsInput/index.js +11 -10
  447. package/dist/components/Text/Heading.d.ts.map +1 -1
  448. package/dist/components/Text/Text.d.ts.map +1 -1
  449. package/dist/components/Text/index.cjs +3 -3
  450. package/dist/components/Text/index.js +1 -1
  451. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  452. package/dist/components/TextArea/index.cjs +7 -6
  453. package/dist/components/TextArea/index.js +6 -5
  454. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  455. package/dist/components/TextInput/index.cjs +10 -9
  456. package/dist/components/TextInput/index.js +9 -8
  457. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
  458. package/dist/components/Thumbnail/index.cjs +8 -7
  459. package/dist/components/Thumbnail/index.js +7 -6
  460. package/dist/components/TimeInput/TimeInput.d.ts +10 -2
  461. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  462. package/dist/components/TimeInput/index.cjs +9 -8
  463. package/dist/components/TimeInput/index.js +8 -7
  464. package/dist/components/Toast/Toast.d.ts.map +1 -1
  465. package/dist/components/Toast/Toast.recipe.d.ts +39 -0
  466. package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
  467. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  468. package/dist/components/Toast/index.cjs +10 -9
  469. package/dist/components/Toast/index.js +7 -6
  470. package/dist/components/ToggleButton/index.cjs +7 -7
  471. package/dist/components/ToggleButton/index.js +5 -5
  472. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  473. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  474. package/dist/components/TopNav/index.cjs +15 -14
  475. package/dist/components/TopNav/index.js +9 -8
  476. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  477. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  478. package/dist/components/TreeView/index.cjs +3 -2
  479. package/dist/components/TreeView/index.js +2 -1
  480. package/dist/index.cjs +218 -217
  481. package/dist/index.cjs.map +1 -1
  482. package/dist/index.d.ts +1 -1
  483. package/dist/index.d.ts.map +1 -1
  484. package/dist/index.js +64 -63
  485. package/dist/index.js.map +1 -1
  486. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  487. package/dist/internal/OverflowList.d.ts.map +1 -1
  488. package/dist/internal/index.d.ts +1 -0
  489. package/dist/internal/index.d.ts.map +1 -1
  490. package/dist/internal/isReactNode.d.ts +3 -0
  491. package/dist/internal/isReactNode.d.ts.map +1 -0
  492. package/dist/internal/useSelectListbox.d.ts +2 -2
  493. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  494. package/dist/styles.css +1 -1
  495. package/package.json +1 -1
  496. package/dist/chunk-25FU5AVR.cjs.map +0 -1
  497. package/dist/chunk-2D6SGEPH.cjs.map +0 -1
  498. package/dist/chunk-2TGDDZG6.cjs +0 -441
  499. package/dist/chunk-2TGDDZG6.cjs.map +0 -1
  500. package/dist/chunk-2YC7SMVF.js.map +0 -1
  501. package/dist/chunk-32G54PL3.cjs.map +0 -1
  502. package/dist/chunk-3PDUOYAT.cjs.map +0 -1
  503. package/dist/chunk-3WMLV4VP.cjs.map +0 -1
  504. package/dist/chunk-4I6VIR44.cjs.map +0 -1
  505. package/dist/chunk-4M2KCZMO.js.map +0 -1
  506. package/dist/chunk-4YESF35X.cjs +0 -211
  507. package/dist/chunk-4YESF35X.cjs.map +0 -1
  508. package/dist/chunk-4Z62KDKI.js.map +0 -1
  509. package/dist/chunk-5BLNJVIA.js.map +0 -1
  510. package/dist/chunk-5MDH6QZE.js.map +0 -1
  511. package/dist/chunk-5Q5TJUHI.js.map +0 -1
  512. package/dist/chunk-67VLK263.js.map +0 -1
  513. package/dist/chunk-6D3FA247.js +0 -126
  514. package/dist/chunk-6D3FA247.js.map +0 -1
  515. package/dist/chunk-6XESVFC3.js.map +0 -1
  516. package/dist/chunk-76FHSISK.cjs.map +0 -1
  517. package/dist/chunk-77RGTGRM.cjs +0 -128
  518. package/dist/chunk-77RGTGRM.cjs.map +0 -1
  519. package/dist/chunk-7FY26X2V.js.map +0 -1
  520. package/dist/chunk-7P3VY5JZ.js.map +0 -1
  521. package/dist/chunk-AADUJ6CN.js.map +0 -1
  522. package/dist/chunk-ACQMLJ4I.cjs.map +0 -1
  523. package/dist/chunk-AH4AMQEO.js.map +0 -1
  524. package/dist/chunk-AMG3S252.js.map +0 -1
  525. package/dist/chunk-ATDW2VII.cjs.map +0 -1
  526. package/dist/chunk-AXT4VA5N.cjs.map +0 -1
  527. package/dist/chunk-BERQEJYB.js.map +0 -1
  528. package/dist/chunk-BFWKL5MJ.cjs.map +0 -1
  529. package/dist/chunk-BJD32VBQ.cjs.map +0 -1
  530. package/dist/chunk-BYBVI7UN.js.map +0 -1
  531. package/dist/chunk-C264Z2GQ.cjs.map +0 -1
  532. package/dist/chunk-CFOGSQCG.cjs.map +0 -1
  533. package/dist/chunk-DSNJDFO3.cjs.map +0 -1
  534. package/dist/chunk-E2JZGYKU.cjs +0 -181
  535. package/dist/chunk-E2JZGYKU.cjs.map +0 -1
  536. package/dist/chunk-E4KM3RQ2.js.map +0 -1
  537. package/dist/chunk-E7UOFIBW.cjs.map +0 -1
  538. package/dist/chunk-EFO5NDBJ.js +0 -191
  539. package/dist/chunk-EFO5NDBJ.js.map +0 -1
  540. package/dist/chunk-EUN5TCB2.js.map +0 -1
  541. package/dist/chunk-GEGYC7CE.js.map +0 -1
  542. package/dist/chunk-GI5MVVIX.js.map +0 -1
  543. package/dist/chunk-H2SGYAUO.js.map +0 -1
  544. package/dist/chunk-HLN3JQYD.js.map +0 -1
  545. package/dist/chunk-IG4UJZ6B.js.map +0 -1
  546. package/dist/chunk-ISYUZ5FS.js.map +0 -1
  547. package/dist/chunk-ITDQSF2O.cjs.map +0 -1
  548. package/dist/chunk-IXJOPMJX.cjs.map +0 -1
  549. package/dist/chunk-J2FCNWYM.js.map +0 -1
  550. package/dist/chunk-JAHKLROD.cjs.map +0 -1
  551. package/dist/chunk-JMNH45Q3.cjs.map +0 -1
  552. package/dist/chunk-K6CQ45C2.js.map +0 -1
  553. package/dist/chunk-K77D7H4V.cjs.map +0 -1
  554. package/dist/chunk-KFEXS6OK.cjs.map +0 -1
  555. package/dist/chunk-L6JT244G.cjs.map +0 -1
  556. package/dist/chunk-L6WUK7O4.js +0 -207
  557. package/dist/chunk-L6WUK7O4.js.map +0 -1
  558. package/dist/chunk-LJLCGQRV.js +0 -99
  559. package/dist/chunk-LJLCGQRV.js.map +0 -1
  560. package/dist/chunk-MACIT6C6.js.map +0 -1
  561. package/dist/chunk-MAL4D4LR.cjs.map +0 -1
  562. package/dist/chunk-MMST4VXH.cjs +0 -392
  563. package/dist/chunk-MMST4VXH.cjs.map +0 -1
  564. package/dist/chunk-MQQ4GSUG.cjs.map +0 -1
  565. package/dist/chunk-OHKL4DOV.js.map +0 -1
  566. package/dist/chunk-OJCJPYXE.js.map +0 -1
  567. package/dist/chunk-OJKZS6HG.cjs.map +0 -1
  568. package/dist/chunk-P4A7GWQY.cjs.map +0 -1
  569. package/dist/chunk-P4TOIB2A.cjs +0 -101
  570. package/dist/chunk-P4TOIB2A.cjs.map +0 -1
  571. package/dist/chunk-PJXJOI73.js +0 -232
  572. package/dist/chunk-PJXJOI73.js.map +0 -1
  573. package/dist/chunk-PNYF6NS4.cjs.map +0 -1
  574. package/dist/chunk-PTJ5YZFY.cjs.map +0 -1
  575. package/dist/chunk-PXTE3XRD.js.map +0 -1
  576. package/dist/chunk-PXVVTPRJ.js.map +0 -1
  577. package/dist/chunk-S4GLMGFI.js.map +0 -1
  578. package/dist/chunk-SEAVOF6B.js.map +0 -1
  579. package/dist/chunk-SFT5LCQP.cjs.map +0 -1
  580. package/dist/chunk-SSOHJEHS.js +0 -390
  581. package/dist/chunk-SSOHJEHS.js.map +0 -1
  582. package/dist/chunk-TO3ZPSYO.cjs +0 -234
  583. package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
  584. package/dist/chunk-TRK2ZZFB.cjs.map +0 -1
  585. package/dist/chunk-UJODHP7E.cjs.map +0 -1
  586. package/dist/chunk-UMGW7WJI.cjs.map +0 -1
  587. package/dist/chunk-UR7RYJOU.cjs.map +0 -1
  588. package/dist/chunk-UX2Z7LRM.cjs +0 -194
  589. package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
  590. package/dist/chunk-UY3MYNI6.js.map +0 -1
  591. package/dist/chunk-VSEKSDTK.js.map +0 -1
  592. package/dist/chunk-VYFMYXU4.js.map +0 -1
  593. package/dist/chunk-W3QVSVL7.cjs.map +0 -1
  594. package/dist/chunk-WA4VZ363.cjs.map +0 -1
  595. package/dist/chunk-WATCCAQU.js.map +0 -1
  596. package/dist/chunk-XQU4ECJY.js.map +0 -1
  597. package/dist/chunk-XVRQSTUF.js.map +0 -1
  598. package/dist/chunk-Y5SXQR52.cjs.map +0 -1
  599. package/dist/chunk-YBPG5RPR.cjs.map +0 -1
  600. package/dist/chunk-YGYA4BYN.js.map +0 -1
  601. package/dist/chunk-ZC6GLBEL.js +0 -179
  602. package/dist/chunk-ZC6GLBEL.js.map +0 -1
  603. package/dist/chunk-ZNZ67KFM.js.map +0 -1
  604. package/dist/chunk-ZTQQ2O6O.cjs.map +0 -1
  605. package/dist/chunk-ZW2ATXTL.js.map +0 -1
  606. package/dist/chunk-ZXPKFGRB.cjs.map +0 -1
  607. package/dist/components/Stack/Stack.d.ts.map +0 -1
  608. package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-4T62TLOD.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {token} from 'styled-system/tokens';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {Card} from '../Card';\nimport {Divider} from '../Divider';\nimport {codeBlockRecipe} from './CodeBlock.recipe';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
1
+ {"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-7U7RP6N2.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {token} from 'styled-system/tokens';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {Card} from '../Card';\nimport {Divider} from '../Divider';\nimport {codeBlockRecipe} from './CodeBlock.recipe';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
@@ -1,9 +1,9 @@
1
1
  import { Skeleton } from './chunk-M4JUQCKP.js';
2
- import { Button } from './chunk-HLN3JQYD.js';
3
- import { Spinner } from './chunk-S54CKWKV.js';
2
+ import { Button } from './chunk-RVENUWRD.js';
3
+ import { Spinner } from './chunk-DSB4Q3AS.js';
4
4
  import { Tooltip } from './chunk-EMHLPPQZ.js';
5
- import { sva } from './chunk-EHCAF6D3.js';
6
5
  import { Icon } from './chunk-7T3SWOY7.js';
6
+ import { sva } from './chunk-EHCAF6D3.js';
7
7
  import { cx } from './chunk-PPNETWIP.js';
8
8
  import { ImageIcon, X } from 'lucide-react';
9
9
  import { useState } from 'react';
@@ -220,5 +220,5 @@ function Thumbnail({
220
220
  Thumbnail.displayName = "Thumbnail";
221
221
 
222
222
  export { Thumbnail };
223
- //# sourceMappingURL=chunk-XM3AZXOA.js.map
224
- //# sourceMappingURL=chunk-XM3AZXOA.js.map
223
+ //# sourceMappingURL=chunk-AJTJD5C6.js.map
224
+ //# sourceMappingURL=chunk-AJTJD5C6.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/Thumbnail/Thumbnail.recipe.ts","../src/components/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"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","file":"chunk-XM3AZXOA.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const thumbnailRecipe = sva({\n slots: [\n 'root',\n 'imageContainer',\n 'imageButton',\n 'image',\n 'placeholder',\n 'insetBorder',\n 'remove',\n 'overlay',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column',\n w: '16',\n flexShrink: 0,\n isolation: 'isolate',\n },\n imageContainer: {\n position: 'relative',\n w: 'full',\n aspectRatio: '1',\n borderRadius: 'md',\n overflow: 'hidden',\n bg: 'surface.gray',\n },\n imageButton: {\n display: 'block',\n w: 'full',\n h: 'full',\n cursor: 'pointer',\n borderRadius: 'inherit',\n overflow: 'hidden',\n },\n image: {\n display: 'block',\n w: 'full',\n h: 'full',\n objectFit: 'cover',\n },\n placeholder: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n color: 'fg.muted',\n },\n insetBorder: {\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)',\n pointerEvents: 'none',\n },\n remove: {\n position: 'absolute',\n top: '1',\n right: '1',\n zIndex: 1,\n color: 'fg.onPrimary',\n },\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n bg: 'overlay.scrim.subtle',\n borderRadius: 'inherit',\n zIndex: 1,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n },\n isInteractive: {\n true: {\n imageContainer: {\n cursor: 'pointer',\n transitionProperty: 'opacity, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n boxShadow: 'lg',\n opacity: 0.9,\n },\n _active: {\n opacity: 0.75,\n },\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n isInteractive: false,\n },\n});\n\nexport type ThumbnailVariants = RecipeVariantProps<typeof thumbnailRecipe>;\n","import {ImageIcon, X} from 'lucide-react';\nimport {useState, type CSSProperties, type MouseEvent, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Skeleton} from '../Skeleton';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {thumbnailRecipe} from './Thumbnail.recipe';\n\nexport interface ThumbnailProps {\n /**\n * Alt text describing the image content. Use `label` for a file name or\n * action label shown in the tooltip and button accessible names.\n */\n alt?: string;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Whether the thumbnail is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the thumbnail is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * File name or short item label used for the root accessible name, tooltip,\n * and open/remove button labels. When omitted, `alt` is used as a fallback.\n */\n label?: string;\n /**\n * Called when the thumbnail image area is clicked.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Called when the remove button is clicked.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Image source.\n */\n src?: string;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\ntype ThumbnailClasses = ReturnType<typeof thumbnailRecipe>;\n\ntype ThumbnailImageAreaProps = Pick<\n ThumbnailProps,\n 'alt' | 'isLoading' | 'onClick' | 'onRemove' | 'src'\n> & {\n accessibleName: string;\n classes: ThumbnailClasses;\n isDisabled: boolean;\n};\n\nfunction ThumbnailImageArea({\n accessibleName,\n alt,\n classes,\n isDisabled,\n isLoading = false,\n onClick,\n onRemove,\n src,\n}: ThumbnailImageAreaProps): React.JSX.Element {\n const [hasImageError, setHasImageError] = useState(false);\n const hasImage = src != null && !hasImageError;\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const imageContent =\n isLoading && !hasImage ? (\n <Skeleton radius={2} />\n ) : hasImage ? (\n <img\n alt={alt ?? ''}\n className={classes.image}\n onError={() => setHasImageError(true)}\n src={src}\n />\n ) : (\n <div className={classes.placeholder}>\n <Icon icon={ImageIcon} size=\"lg\" />\n </div>\n );\n\n return (\n <div className={classes.imageContainer}>\n {isInteractive ? (\n <button\n aria-label={`Open ${accessibleName}`}\n className={classes.imageButton}\n onClick={onClick}\n type=\"button\">\n {imageContent}\n </button>\n ) : (\n imageContent\n )}\n {hasImage ? <div className={classes.insetBorder} /> : null}\n {isLoading && hasImage ? (\n <div className={classes.overlay}>\n <Spinner size=\"sm\" variant=\"onMedia\" />\n </div>\n ) : null}\n {onRemove != null && !isDisabled ? (\n <div className={classes.remove}>\n <Button\n icon={X}\n isIconOnly\n label={`Remove ${accessibleName}`}\n onClick={event => {\n event.stopPropagation();\n onRemove(event as MouseEvent<HTMLButtonElement>);\n }}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n ) : null}\n </div>\n );\n}\n\n/**\n * Square image preview for attachments and media.\n */\nexport function Thumbnail({\n alt,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isLoading = false,\n label,\n onClick,\n onRemove,\n ref,\n src,\n style,\n}: ThumbnailProps): React.JSX.Element {\n const accessibleName = label ?? alt ?? 'thumbnail';\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const classes = thumbnailRecipe({isDisabled, isInteractive});\n\n const thumbnail = (\n <div\n aria-busy={isLoading || undefined}\n aria-label={accessibleName}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ThumbnailImageArea\n accessibleName={accessibleName}\n alt={alt}\n classes={classes}\n isDisabled={isDisabled}\n isLoading={isLoading}\n key={src ?? 'empty'}\n onClick={onClick}\n onRemove={onRemove}\n src={src}\n />\n </div>\n );\n\n return label != null ? (\n <Tooltip content={label}>{thumbnail}</Tooltip>\n ) : (\n thumbnail\n );\n}\n\nThumbnail.displayName = 'Thumbnail';\n"]}
1
+ {"version":3,"sources":["../src/components/Thumbnail/Thumbnail.recipe.ts","../src/components/Thumbnail/Thumbnail.tsx"],"names":[],"mappings":"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","file":"chunk-AJTJD5C6.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const thumbnailRecipe = sva({\n slots: [\n 'root',\n 'imageContainer',\n 'imageButton',\n 'image',\n 'placeholder',\n 'insetBorder',\n 'remove',\n 'overlay',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n flexDirection: 'column',\n w: '16',\n flexShrink: 0,\n isolation: 'isolate',\n },\n imageContainer: {\n position: 'relative',\n w: 'full',\n aspectRatio: '1',\n borderRadius: 'md',\n overflow: 'hidden',\n bg: 'surface.gray',\n },\n imageButton: {\n display: 'block',\n w: 'full',\n h: 'full',\n cursor: 'pointer',\n borderRadius: 'inherit',\n overflow: 'hidden',\n },\n image: {\n display: 'block',\n w: 'full',\n h: 'full',\n objectFit: 'cover',\n },\n placeholder: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n color: 'fg.muted',\n },\n insetBorder: {\n position: 'absolute',\n inset: 0,\n borderRadius: 'inherit',\n boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)',\n pointerEvents: 'none',\n },\n remove: {\n position: 'absolute',\n top: '1',\n right: '1',\n zIndex: 1,\n color: 'fg.onPrimary',\n },\n overlay: {\n position: 'absolute',\n inset: 0,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n bg: 'overlay.scrim.subtle',\n borderRadius: 'inherit',\n zIndex: 1,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n },\n },\n isInteractive: {\n true: {\n imageContainer: {\n cursor: 'pointer',\n transitionProperty: 'opacity, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n boxShadow: 'lg',\n opacity: 0.9,\n },\n _active: {\n opacity: 0.75,\n },\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n },\n defaultVariants: {\n isDisabled: false,\n isInteractive: false,\n },\n});\n\nexport type ThumbnailVariants = RecipeVariantProps<typeof thumbnailRecipe>;\n","import {ImageIcon, X} from 'lucide-react';\nimport {useState, type CSSProperties, type MouseEvent, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\nimport {Icon} from '../Icon';\nimport {Skeleton} from '../Skeleton';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {thumbnailRecipe} from './Thumbnail.recipe';\n\nexport interface ThumbnailProps {\n /**\n * Alt text describing the image content. Use `label` for a file name or\n * action label shown in the tooltip and button accessible names.\n */\n alt?: string;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Whether the thumbnail is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the thumbnail is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * File name or short item label used for the root accessible name, tooltip,\n * and open/remove button labels. When omitted, `alt` is used as a fallback.\n */\n label?: string;\n /**\n * Called when the thumbnail image area is clicked.\n */\n onClick?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Called when the remove button is clicked.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Image source.\n */\n src?: string;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\ntype ThumbnailClasses = ReturnType<typeof thumbnailRecipe>;\n\ntype ThumbnailImageAreaProps = Pick<\n ThumbnailProps,\n 'alt' | 'isLoading' | 'onClick' | 'onRemove' | 'src'\n> & {\n accessibleName: string;\n classes: ThumbnailClasses;\n isDisabled: boolean;\n};\n\nfunction ThumbnailImageArea({\n accessibleName,\n alt,\n classes,\n isDisabled,\n isLoading = false,\n onClick,\n onRemove,\n src,\n}: ThumbnailImageAreaProps): React.JSX.Element {\n const [hasImageError, setHasImageError] = useState(false);\n const hasImage = src != null && !hasImageError;\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const imageContent =\n isLoading && !hasImage ? (\n <Skeleton radius={2} />\n ) : hasImage ? (\n <img\n alt={alt ?? ''}\n className={classes.image}\n onError={() => setHasImageError(true)}\n src={src}\n />\n ) : (\n <div className={classes.placeholder}>\n <Icon icon={ImageIcon} size=\"lg\" />\n </div>\n );\n\n return (\n <div className={classes.imageContainer}>\n {isInteractive ? (\n <button\n aria-label={`Open ${accessibleName}`}\n className={classes.imageButton}\n onClick={onClick}\n type=\"button\">\n {imageContent}\n </button>\n ) : (\n imageContent\n )}\n {hasImage ? <div className={classes.insetBorder} /> : null}\n {isLoading && hasImage ? (\n <div className={classes.overlay}>\n <Spinner size=\"sm\" variant=\"onMedia\" />\n </div>\n ) : null}\n {onRemove != null && !isDisabled ? (\n <div className={classes.remove}>\n <Button\n icon={X}\n isIconOnly\n label={`Remove ${accessibleName}`}\n onClick={event => {\n event.stopPropagation();\n onRemove(event as MouseEvent<HTMLButtonElement>);\n }}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n ) : null}\n </div>\n );\n}\n\n/**\n * Square image preview for attachments and media.\n */\nexport function Thumbnail({\n alt,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n isLoading = false,\n label,\n onClick,\n onRemove,\n ref,\n src,\n style,\n}: ThumbnailProps): React.JSX.Element {\n const accessibleName = label ?? alt ?? 'thumbnail';\n const isInteractive = onClick != null && !isDisabled && !isLoading;\n const classes = thumbnailRecipe({isDisabled, isInteractive});\n\n const thumbnail = (\n <div\n aria-busy={isLoading || undefined}\n aria-label={accessibleName}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ThumbnailImageArea\n accessibleName={accessibleName}\n alt={alt}\n classes={classes}\n isDisabled={isDisabled}\n isLoading={isLoading}\n key={src ?? 'empty'}\n onClick={onClick}\n onRemove={onRemove}\n src={src}\n />\n </div>\n );\n\n return label != null ? (\n <Tooltip content={label}>{thumbnail}</Tooltip>\n ) : (\n thumbnail\n );\n}\n\nThumbnail.displayName = 'Thumbnail';\n"]}
@@ -0,0 +1,216 @@
1
+ import { useLinkComponent } from './chunk-2IKWX66Q.js';
2
+ import { Icon } from './chunk-7T3SWOY7.js';
3
+ import { sva } from './chunk-EHCAF6D3.js';
4
+ import { cx } from './chunk-PPNETWIP.js';
5
+ import { createContext, use, useMemo } from 'react';
6
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
7
+
8
+ // src/components/Breadcrumbs/BreadcrumbItem.recipe.ts
9
+ var breadcrumbItemRecipe = sva({
10
+ slots: ["item", "separator", "content", "link", "icon"],
11
+ base: {
12
+ item: {
13
+ display: "flex",
14
+ alignItems: "center",
15
+ gap: "1",
16
+ m: 0,
17
+ "--breadcrumb-separator-display": "flex",
18
+ _first: {
19
+ "--breadcrumb-separator-display": "none"
20
+ }
21
+ },
22
+ separator: {
23
+ display: "var(--breadcrumb-separator-display)",
24
+ alignItems: "center",
25
+ color: "fg.muted",
26
+ py: "1",
27
+ userSelect: "none"
28
+ },
29
+ content: {
30
+ display: "inline-flex",
31
+ alignItems: "center",
32
+ gap: "1",
33
+ minW: 0
34
+ },
35
+ link: {
36
+ display: "inline-flex",
37
+ alignItems: "center",
38
+ gap: "1",
39
+ minW: 0,
40
+ p: 0,
41
+ py: "1",
42
+ borderWidth: 0,
43
+ bg: "transparent",
44
+ color: "fg.muted",
45
+ cursor: "pointer",
46
+ font: "inherit",
47
+ textDecoration: "none",
48
+ _hover: {
49
+ textDecoration: "underline"
50
+ },
51
+ _focusVisible: {
52
+ outlineWidth: "focus",
53
+ outlineStyle: "solid",
54
+ outlineColor: "primary",
55
+ outlineOffset: "focusOffset"
56
+ }
57
+ },
58
+ icon: {
59
+ display: "inline-flex",
60
+ alignItems: "center",
61
+ flexShrink: 0
62
+ }
63
+ },
64
+ variants: {
65
+ variant: {
66
+ default: {
67
+ item: {
68
+ fontSize: "sm",
69
+ lineHeight: "normal"
70
+ }
71
+ },
72
+ supporting: {
73
+ item: {
74
+ fontSize: "xs",
75
+ lineHeight: "normal"
76
+ }
77
+ }
78
+ },
79
+ isCurrent: {
80
+ true: {}
81
+ }
82
+ },
83
+ compoundVariants: [
84
+ {
85
+ variant: "default",
86
+ isCurrent: true,
87
+ css: { content: { color: "fg" } }
88
+ },
89
+ {
90
+ variant: "supporting",
91
+ isCurrent: true,
92
+ css: { content: { color: "fg.muted" } }
93
+ }
94
+ ],
95
+ defaultVariants: {
96
+ variant: "default"
97
+ }
98
+ });
99
+ var BreadcrumbsContext = createContext({
100
+ separator: "/",
101
+ variant: "default"
102
+ });
103
+ BreadcrumbsContext.displayName = "BreadcrumbsContext";
104
+ function BreadcrumbItem({
105
+ as,
106
+ children,
107
+ className,
108
+ "data-testid": dataTestId,
109
+ href,
110
+ isCurrent: isCurrentProp,
111
+ onClick,
112
+ ref,
113
+ startIcon,
114
+ style
115
+ }) {
116
+ const context = use(BreadcrumbsContext);
117
+ const LinkComponent = useLinkComponent(as);
118
+ const isCurrent = isCurrentProp === true;
119
+ const classes = breadcrumbItemRecipe({
120
+ variant: context.variant,
121
+ isCurrent: isCurrent || void 0
122
+ });
123
+ const content = /* @__PURE__ */ jsxs(Fragment, { children: [
124
+ startIcon != null ? /* @__PURE__ */ jsx("span", { className: classes.icon, children: /* @__PURE__ */ jsx(Icon, { icon: startIcon, size: "sm" }) }) : null,
125
+ children
126
+ ] });
127
+ if (isCurrent) {
128
+ return /* @__PURE__ */ jsxs(
129
+ "li",
130
+ {
131
+ className: cx(classes.item, className),
132
+ "data-testid": dataTestId,
133
+ ref,
134
+ style,
135
+ children: [
136
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.separator, children: context.separator }),
137
+ /* @__PURE__ */ jsx("span", { "aria-current": "page", className: classes.content, children: content })
138
+ ]
139
+ }
140
+ );
141
+ }
142
+ return /* @__PURE__ */ jsxs(
143
+ "li",
144
+ {
145
+ className: cx(classes.item, className),
146
+ "data-testid": dataTestId,
147
+ ref,
148
+ style,
149
+ children: [
150
+ /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.separator, children: context.separator }),
151
+ href != null ? /* @__PURE__ */ jsx(
152
+ LinkComponent,
153
+ {
154
+ className: classes.link,
155
+ href,
156
+ onClick,
157
+ to: LinkComponent === "a" ? void 0 : href,
158
+ children: content
159
+ }
160
+ ) : onClick != null ? /* @__PURE__ */ jsx("button", { className: classes.link, onClick, type: "button", children: content }) : /* @__PURE__ */ jsx("span", { className: classes.content, children: content })
161
+ ]
162
+ }
163
+ );
164
+ }
165
+ BreadcrumbItem.displayName = "BreadcrumbItem";
166
+
167
+ // src/components/Breadcrumbs/Breadcrumbs.recipe.ts
168
+ var breadcrumbsRecipe = sva({
169
+ slots: ["nav", "list"],
170
+ base: {
171
+ nav: {
172
+ display: "block"
173
+ },
174
+ list: {
175
+ display: "flex",
176
+ alignItems: "center",
177
+ flexWrap: "wrap",
178
+ gap: "1",
179
+ m: 0,
180
+ p: 0,
181
+ listStyle: "none"
182
+ }
183
+ }
184
+ });
185
+ function Breadcrumbs({
186
+ children,
187
+ className,
188
+ "data-testid": dataTestId,
189
+ label = "Breadcrumb",
190
+ ref,
191
+ separator = "/",
192
+ style,
193
+ variant = "default"
194
+ }) {
195
+ const contextValue = useMemo(
196
+ () => ({ separator, variant }),
197
+ [separator, variant]
198
+ );
199
+ const classes = breadcrumbsRecipe();
200
+ return /* @__PURE__ */ jsx(BreadcrumbsContext, { value: contextValue, children: /* @__PURE__ */ jsx(
201
+ "nav",
202
+ {
203
+ "aria-label": label,
204
+ className: cx(classes.nav, className),
205
+ "data-testid": dataTestId,
206
+ ref,
207
+ style,
208
+ children: /* @__PURE__ */ jsx("ol", { className: classes.list, children })
209
+ }
210
+ ) });
211
+ }
212
+ Breadcrumbs.displayName = "Breadcrumbs";
213
+
214
+ export { BreadcrumbItem, Breadcrumbs, BreadcrumbsContext };
215
+ //# sourceMappingURL=chunk-AMFFE5UJ.js.map
216
+ //# sourceMappingURL=chunk-AMFFE5UJ.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Breadcrumbs/BreadcrumbItem.recipe.ts","../src/components/Breadcrumbs/BreadcrumbsContext.ts","../src/components/Breadcrumbs/BreadcrumbItem.tsx","../src/components/Breadcrumbs/Breadcrumbs.recipe.ts","../src/components/Breadcrumbs/Breadcrumbs.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-AMFFE5UJ.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const breadcrumbItemRecipe = sva({\n slots: ['item', 'separator', 'content', 'link', 'icon'],\n base: {\n item: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n m: 0,\n '--breadcrumb-separator-display': 'flex',\n _first: {\n '--breadcrumb-separator-display': 'none',\n },\n },\n separator: {\n display: 'var(--breadcrumb-separator-display)',\n alignItems: 'center',\n color: 'fg.muted',\n py: '1',\n userSelect: 'none',\n },\n content: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n },\n link: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n p: 0,\n py: '1',\n borderWidth: 0,\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n font: 'inherit',\n textDecoration: 'none',\n _hover: {\n textDecoration: 'underline',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n variant: {\n default: {\n item: {\n fontSize: 'sm',\n lineHeight: 'normal',\n },\n },\n supporting: {\n item: {\n fontSize: 'xs',\n lineHeight: 'normal',\n },\n },\n },\n isCurrent: {\n true: {},\n },\n },\n compoundVariants: [\n {\n variant: 'default',\n isCurrent: true,\n css: {content: {color: 'fg'}},\n },\n {\n variant: 'supporting',\n isCurrent: true,\n css: {content: {color: 'fg.muted'}},\n },\n ],\n defaultVariants: {\n variant: 'default',\n },\n});\n\nexport type BreadcrumbItemVariants = RecipeVariantProps<\n typeof breadcrumbItemRecipe\n>;\n","import {createContext, type ReactNode} from 'react';\n\nexport type BreadcrumbsVariant = 'default' | 'supporting';\n\nexport interface BreadcrumbsContextValue {\n separator: ReactNode;\n variant: BreadcrumbsVariant;\n}\n\nexport const BreadcrumbsContext = createContext<BreadcrumbsContextValue>({\n separator: '/',\n variant: 'default',\n});\n\nBreadcrumbsContext.displayName = 'BreadcrumbsContext';\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport {\n use,\n type CSSProperties,\n type MouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {breadcrumbItemRecipe} from './BreadcrumbItem.recipe';\nimport {BreadcrumbsContext} from './BreadcrumbsContext';\n\nexport interface BreadcrumbItemProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Breadcrumb label content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the list item.\n */\n className?: string;\n /**\n * Test ID applied to the list item.\n */\n 'data-testid'?: string;\n /**\n * Link destination. Omit for the current page.\n */\n href?: string;\n /**\n * Whether this item represents the current page.\n */\n isCurrent?: boolean;\n /**\n * Click handler for link or button items.\n */\n onClick?: (event: MouseEvent<HTMLElement>) => void;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Icon rendered before the label.\n */\n startIcon?: IconComponent;\n /**\n * Inline styles applied to the list item.\n */\n style?: CSSProperties;\n}\n\n/**\n * A single item in a breadcrumb trail, rendered as a link, button, or\n * static text depending on the props provided.\n */\nexport function BreadcrumbItem({\n as,\n children,\n className,\n 'data-testid': dataTestId,\n href,\n isCurrent: isCurrentProp,\n onClick,\n ref,\n startIcon,\n style,\n}: BreadcrumbItemProps): React.JSX.Element {\n const context = use(BreadcrumbsContext);\n const LinkComponent = useLinkComponent(as);\n const isCurrent = isCurrentProp === true;\n const classes = breadcrumbItemRecipe({\n variant: context.variant,\n isCurrent: isCurrent || undefined,\n });\n\n const content = (\n <>\n {startIcon != null ? (\n <span className={classes.icon}>\n <Icon icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {children}\n </>\n );\n\n if (isCurrent) {\n return (\n <li\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <span aria-hidden=\"true\" className={classes.separator}>\n {context.separator}\n </span>\n <span aria-current=\"page\" className={classes.content}>\n {content}\n </span>\n </li>\n );\n }\n\n return (\n <li\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <span aria-hidden=\"true\" className={classes.separator}>\n {context.separator}\n </span>\n {href != null ? (\n <LinkComponent\n className={classes.link}\n href={href}\n onClick={onClick}\n to={LinkComponent === 'a' ? undefined : href}>\n {content}\n </LinkComponent>\n ) : onClick != null ? (\n <button className={classes.link} onClick={onClick} type=\"button\">\n {content}\n </button>\n ) : (\n <span className={classes.content}>{content}</span>\n )}\n </li>\n );\n}\n\nBreadcrumbItem.displayName = 'BreadcrumbItem';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const breadcrumbsRecipe = sva({\n slots: ['nav', 'list'],\n base: {\n nav: {\n display: 'block',\n },\n list: {\n display: 'flex',\n alignItems: 'center',\n flexWrap: 'wrap',\n gap: '1',\n m: 0,\n p: 0,\n listStyle: 'none',\n },\n },\n});\n\nexport type BreadcrumbsVariants = RecipeVariantProps<typeof breadcrumbsRecipe>;\n","import {useMemo, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport {breadcrumbsRecipe} from './Breadcrumbs.recipe';\nimport {\n BreadcrumbsContext,\n type BreadcrumbsVariant,\n} from './BreadcrumbsContext';\n\nexport interface BreadcrumbsProps {\n /**\n * BreadcrumbItem children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the nav element.\n */\n className?: string;\n /**\n * Test ID applied to the nav element.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Breadcrumb'\n */\n label?: string;\n /**\n * Ref forwarded to the nav element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Separator rendered between items.\n * @default '/'\n */\n separator?: ReactNode;\n /**\n * Inline styles applied to the nav element.\n */\n style?: CSSProperties;\n /**\n * Visual text variant.\n * @default 'default'\n */\n variant?: BreadcrumbsVariant;\n}\n\n/**\n * Navigation landmark that displays a trail of breadcrumb links.\n */\nexport function Breadcrumbs({\n children,\n className,\n 'data-testid': dataTestId,\n label = 'Breadcrumb',\n ref,\n separator = '/',\n style,\n variant = 'default',\n}: BreadcrumbsProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({separator, variant}),\n [separator, variant],\n );\n const classes = breadcrumbsRecipe();\n\n return (\n <BreadcrumbsContext value={contextValue}>\n <nav\n aria-label={label}\n className={cx(classes.nav, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <ol className={classes.list}>{children}</ol>\n </nav>\n </BreadcrumbsContext>\n );\n}\n\nBreadcrumbs.displayName = 'Breadcrumbs';\n"]}
@@ -1,7 +1,8 @@
1
1
  import { fieldRecipe } from './chunk-NUTB2K4G.js';
2
- import { Text } from './chunk-J2FCNWYM.js';
2
+ import { Text } from './chunk-76B2VLID.js';
3
3
  import { VisuallyHidden } from './chunk-EXYBQVZT.js';
4
4
  import { Tooltip } from './chunk-EMHLPPQZ.js';
5
+ import { isReactNode } from './chunk-2PSZAWLC.js';
5
6
  import { Icon } from './chunk-7T3SWOY7.js';
6
7
  import { cx } from './chunk-PPNETWIP.js';
7
8
  import { Info } from 'lucide-react';
@@ -37,7 +38,7 @@ function Field({
37
38
  style,
38
39
  ref
39
40
  }) {
40
- const resolvedDescriptionID = descriptionID ?? (description != null ? `${inputId}-description` : void 0);
41
+ const resolvedDescriptionID = descriptionID ?? (isReactNode(description) ? `${inputId}-description` : void 0);
41
42
  const resolvedStatusID = status?.messageID ?? (status?.message != null ? `${inputId}-status` : void 0);
42
43
  const statusText = isOptional ? "Optional" : isRequired ? "Required" : null;
43
44
  const classes = fieldRecipe({
@@ -58,11 +59,11 @@ function Field({
58
59
  /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
59
60
  statusText
60
61
  ] }) : null,
61
- labelTooltip != null ? /* @__PURE__ */ jsx(Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsx(Icon, { icon: Info, size: "sm" }) }) }) : null
62
+ isReactNode(labelTooltip) ? /* @__PURE__ */ jsx(Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsx(Icon, { icon: Info, size: "sm" }) }) }) : null
62
63
  ]
63
64
  }
64
65
  );
65
- const descriptionNode = description != null ? /* @__PURE__ */ jsx(
66
+ const descriptionNode = isReactNode(description) ? /* @__PURE__ */ jsx(
66
67
  Text,
67
68
  {
68
69
  as: "span",
@@ -111,5 +112,5 @@ function Field({
111
112
  Field.displayName = "Field";
112
113
 
113
114
  export { Field, getNecessity };
114
- //# sourceMappingURL=chunk-K6CQ45C2.js.map
115
- //# sourceMappingURL=chunk-K6CQ45C2.js.map
115
+ //# sourceMappingURL=chunk-ASJ5CBCR.js.map
116
+ //# sourceMappingURL=chunk-ASJ5CBCR.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Field/Field.tsx"],"names":[],"mappings":";;;;;;;;;;AA0HO,SAAS,YAAA,CACd,YACA,UAAA,EACgB;AAChB,EAAA,IAAI,eAAe,IAAA,EAAM;AACvB,IAAA,OAAO,EAAC,YAAY,IAAA,EAAI;AAAA,EAC1B;AACA,EAAA,IAAI,eAAe,IAAA,EAAM;AACvB,IAAA,OAAO,EAAC,YAAY,IAAA,EAAI;AAAA,EAC1B;AACA,EAAA,OAAO,EAAC;AACV;AAKO,SAAS,KAAA,CAAM;AAAA,EACpB,QAAA;AAAA,EACA,KAAA;AAAA,EACA,aAAA,GAAgB,KAAA;AAAA,EAChB,WAAA;AAAA,EACA,OAAA;AAAA,EACA,aAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,UAAA,GAAa,KAAA;AAAA,EACb,UAAA,GAAa,KAAA;AAAA,EACb,SAAS,cAAA,GAAiB,OAAA;AAAA,EAC1B,SAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,MAAA;AAAA,EACA,aAAA,GAAgB,UAAA;AAAA,EAChB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA;AACF,CAAA,EAAkC;AAChC,EAAA,MAAM,wBACJ,aAAA,KACC,WAAA,CAAY,WAAW,CAAA,GAAI,CAAA,EAAG,OAAO,CAAA,YAAA,CAAA,GAAiB,MAAA,CAAA;AACzD,EAAA,MAAM,gBAAA,GACJ,QAAQ,SAAA,KACP,MAAA,EAAQ,WAAW,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,OAAA,CAAA,GAAY,MAAA,CAAA;AACnD,EAAA,MAAM,UAAA,GAAa,UAAA,GAAa,UAAA,GAAa,UAAA,GAAa,UAAA,GAAa,IAAA;AACvE,EAAA,MAAM,UAAU,WAAA,CAAY;AAAA,IAC1B,UAAA;AAAA,IACA,YAAY,MAAA,EAAQ,IAAA;AAAA,IACpB;AAAA,GACD,CAAA;AACD,EAAA,MAAM,SAAA,mBACJ,IAAA;AAAA,IAAC,cAAA;AAAA,IAAA;AAAA,MACC,WAAW,OAAA,CAAQ,KAAA;AAAA,MAClB,GAAI,cAAA,KAAmB,OAAA,GAAU,EAAC,OAAA,EAAS,SAAO,GAAI,MAAA;AAAA,MACvD,EAAA,EAAI,OAAA;AAAA,MACH,QAAA,EAAA;AAAA,QAAA,SAAA,IAAa,IAAA,uBACX,IAAA,EAAA,EAAK,KAAA,EAAM,aAAY,IAAA,EAAM,SAAA,EAAW,IAAA,EAAK,IAAA,EAAK,CAAA,GACjD,IAAA;AAAA,wBACJ,GAAA,CAAC,QAAK,EAAA,EAAG,MAAA,EAAO,OAAM,SAAA,EAAU,IAAA,EAAK,SAClC,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,QACC,UAAA,IAAc,IAAA,mBACb,IAAA,CAAC,IAAA,EAAA,EAAK,EAAA,EAAG,QAAO,SAAA,EAAW,OAAA,CAAQ,SAAA,EAAW,IAAA,EAAK,YAAA,EACjD,QAAA,EAAA;AAAA,0BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,aAAA,EAAY,MAAA,EAAO,QAAA,EAAA,QAAA,EAAG,CAAA;AAAA,UAC3B;AAAA,SAAA,EACH,CAAA,GACE,IAAA;AAAA,QACH,WAAA,CAAY,YAAY,CAAA,mBACvB,GAAA,CAAC,WAAQ,OAAA,EAAS,YAAA,EAChB,8BAAC,MAAA,EAAA,EAAK,SAAA,EAAW,QAAQ,WAAA,EACvB,QAAA,kBAAA,GAAA,CAAC,QAAK,IAAA,EAAM,IAAA,EAAM,MAAK,IAAA,EAAK,CAAA,EAC9B,GACF,CAAA,GACE;AAAA;AAAA;AAAA,GACN;AAEF,EAAA,MAAM,eAAA,GAAkB,WAAA,CAAY,WAAW,CAAA,mBAC7C,GAAA;AAAA,IAAC,IAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAG,MAAA;AAAA,MACH,KAAA,EAAM,WAAA;AAAA,MACN,EAAA,EAAI,qBAAA;AAAA,MACJ,IAAA,EAAK,YAAA;AAAA,MACJ,QAAA,EAAA;AAAA;AAAA,GACH,GACE,IAAA;AACJ,EAAA,MAAM,UAAA,GACJ,MAAA,EAAQ,OAAA,IAAW,IAAA,mBACjB,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAW,MAAA,CAAO,IAAA,KAAS,OAAA,GAAU,WAAA,GAAc,QAAA;AAAA,MACnD,WAAW,OAAA,CAAQ,MAAA;AAAA,MACnB,EAAA,EAAI,gBAAA;AAAA,MACJ,IAAA,EAAM,MAAA,CAAO,IAAA,KAAS,OAAA,GAAU,OAAA,GAAU,QAAA;AAAA,MACzC,QAAA,EAAA,MAAA,CAAO;AAAA;AAAA,GACV,GACE,IAAA;AAEN,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,aAAA,wBACE,cAAA,EAAA,EACE,QAAA,EAAA;AAAA,UAAA,SAAA;AAAA,UACA;AAAA,SAAA,EACH,oBAEA,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,SAAA;AAAA,UACA;AAAA,SAAA,EACH,CAAA;AAAA,QAED,kBAAkB,UAAA,mBACjB,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,YAAA,EACrB,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA;AAAA,SAAA,EACH,oBAEA,IAAA,CAAA,QAAA,EAAA,EACG,QAAA,EAAA;AAAA,UAAA,QAAA;AAAA,UACA;AAAA,SAAA,EACH;AAAA;AAAA;AAAA,GAEJ;AAEJ;AAEA,KAAA,CAAM,WAAA,GAAc,OAAA","file":"chunk-ASJ5CBCR.js","sourcesContent":["import {Info} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\nimport {fieldRecipe} from './Field.recipe';\nimport type {InputStatusType} from './types';\n\nexport type FieldStatusVariant = 'attached' | 'detached';\n\nexport interface FieldStatus {\n /**\n * Optional status text displayed below the input.\n */\n message?: string;\n /**\n * Status message ID used by `aria-describedby`.\n */\n messageID?: string;\n /**\n * Validation state for the field.\n */\n type: InputStatusType;\n}\n\ninterface FieldBaseProps {\n /**\n * The form control rendered inside the field.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered between the label and control.\n */\n description?: ReactNode;\n /**\n * ID for the description element.\n */\n descriptionID?: string;\n /**\n * ID of the associated control.\n */\n inputId: string;\n /**\n * Whether the associated control is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label and description.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * HTML element used for the label. Use 'span' for group controls\n * (e.g., radiogroup) where `htmlFor` cannot target a labelable element.\n * @default 'label'\n */\n labelAs?: 'label' | 'span';\n /**\n * Optional icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * ID applied to the label element, useful for `aria-labelledby`.\n */\n labelId?: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the control.\n */\n status?: FieldStatus;\n /**\n * How the status message is positioned.\n * @default 'attached'\n */\n statusVariant?: FieldStatusVariant;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Controls whether a field displays an \"Optional\" or \"Required\" indicator.\n * The two options are mutually exclusive — a field cannot be both optional\n * and required at the same time. TypeScript enforces this at the type level.\n */\nexport type FieldNecessity =\n | {isOptional?: false; isRequired?: false}\n | {isOptional: true; isRequired?: false}\n | {isOptional?: false; isRequired: true};\n\nexport type FieldProps = FieldBaseProps & FieldNecessity;\n\n/**\n * Narrows individually-typed `isOptional`/`isRequired` values back into\n * a valid `FieldNecessity` union member. Useful when forwarding necessity\n * props that were destructured from a component's own props (which widens\n * the discriminated union to `boolean | undefined`).\n */\nexport function getNecessity(\n isOptional: boolean | undefined,\n isRequired: boolean | undefined,\n): FieldNecessity {\n if (isOptional === true) {\n return {isOptional: true};\n }\n if (isRequired === true) {\n return {isRequired: true};\n }\n return {};\n}\n\n/**\n * A form field wrapper that renders a label, description, control slot, and validation status.\n */\nexport function Field({\n children,\n label,\n isLabelHidden = false,\n description,\n inputId,\n descriptionID,\n isOptional = false,\n isRequired = false,\n isDisabled = false,\n labelAs: LabelComponent = 'label',\n labelIcon,\n labelId,\n labelTooltip,\n status,\n statusVariant = 'attached',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FieldProps): React.JSX.Element {\n const resolvedDescriptionID =\n descriptionID ??\n (isReactNode(description) ? `${inputId}-description` : undefined);\n const resolvedStatusID =\n status?.messageID ??\n (status?.message != null ? `${inputId}-status` : undefined);\n const statusText = isOptional ? 'Optional' : isRequired ? 'Required' : null;\n const classes = fieldRecipe({\n isDisabled,\n statusType: status?.type,\n statusVariant,\n });\n const labelNode = (\n <LabelComponent\n className={classes.label}\n {...(LabelComponent === 'label' ? {htmlFor: inputId} : undefined)}\n id={labelId}>\n {labelIcon != null ? (\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n ) : null}\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {label}\n </Text>\n {statusText != null ? (\n <Text as=\"span\" className={classes.indicator} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {statusText}\n </Text>\n ) : null}\n {isReactNode(labelTooltip) ? (\n <Tooltip content={labelTooltip}>\n <span className={classes.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </LabelComponent>\n );\n const descriptionNode = isReactNode(description) ? (\n <Text\n as=\"span\"\n color=\"secondary\"\n id={resolvedDescriptionID}\n type=\"supporting\">\n {description}\n </Text>\n ) : null;\n const statusNode =\n status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={classes.status}\n id={resolvedStatusID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null;\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {isLabelHidden ? (\n <VisuallyHidden>\n {labelNode}\n {descriptionNode}\n </VisuallyHidden>\n ) : (\n <>\n {labelNode}\n {descriptionNode}\n </>\n )}\n {statusVariant === 'attached' ? (\n <div className={classes.inputWrapper}>\n {children}\n {statusNode}\n </div>\n ) : (\n <>\n {children}\n {statusNode}\n </>\n )}\n </div>\n );\n}\n\nField.displayName = 'Field';\n"]}
@@ -1,12 +1,13 @@
1
- import { Calendar } from './chunk-AH4AMQEO.js';
1
+ import { Calendar } from './chunk-D2DOHX4W.js';
2
2
  import { plainDateFormat, DATE_FORMAT_LONG, plainDateIsBefore, plainDateIsAfter, plainDateCreate } from './chunk-QSEDH7T2.js';
3
3
  import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
4
- import { getNecessity, Field } from './chunk-K6CQ45C2.js';
4
+ import { getNecessity, Field } from './chunk-ASJ5CBCR.js';
5
5
  import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-WOIWI2UO.js';
6
- import { Popover } from './chunk-7FY26X2V.js';
7
- import { Button } from './chunk-HLN3JQYD.js';
8
- import { Spinner } from './chunk-S54CKWKV.js';
6
+ import { Popover } from './chunk-VEUZ5DZR.js';
7
+ import { Button } from './chunk-RVENUWRD.js';
8
+ import { Spinner } from './chunk-DSB4Q3AS.js';
9
9
  import { mergeRefs } from './chunk-SGLIDI6R.js';
10
+ import { isReactNode } from './chunk-2PSZAWLC.js';
10
11
  import { cx } from './chunk-PPNETWIP.js';
11
12
  import { css } from './chunk-OD4DHHZH.js';
12
13
  import { CalendarIcon, X } from 'lucide-react';
@@ -125,6 +126,7 @@ function DateInput({
125
126
  isDisabled = false,
126
127
  isLoading = false,
127
128
  hasClear = false,
129
+ htmlId,
128
130
  status,
129
131
  labelIcon,
130
132
  labelTooltip,
@@ -133,8 +135,9 @@ function DateInput({
133
135
  style,
134
136
  ref
135
137
  }) {
136
- const inputId = useId();
137
- const descriptionID = description != null ? `${inputId}-description` : void 0;
138
+ const generatedId = useId();
139
+ const inputId = htmlId ?? generatedId;
140
+ const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
138
141
  const statusMessageID = getStatusMessageID(inputId, status);
139
142
  const describedBy = getDescribedBy(descriptionID, statusMessageID);
140
143
  const inputRef = useRef(null);
@@ -304,5 +307,5 @@ function DateInput({
304
307
  DateInput.displayName = "DateInput";
305
308
 
306
309
  export { DateInput };
307
- //# sourceMappingURL=chunk-67VLK263.js.map
308
- //# sourceMappingURL=chunk-67VLK263.js.map
310
+ //# sourceMappingURL=chunk-BA4A7C7U.js.map
311
+ //# sourceMappingURL=chunk-BA4A7C7U.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/internal/parseDateInput.ts","../src/components/DateInput/DateInput.tsx"],"names":[],"mappings":"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","file":"chunk-BA4A7C7U.js","sourcesContent":["import {plainDateCreate, type PlainDate} from './plainDate';\n\nconst MONTH_NAMES: Partial<Record<string, number>> = {\n jan: 1,\n january: 1,\n feb: 2,\n february: 2,\n mar: 3,\n march: 3,\n apr: 4,\n april: 4,\n may: 5,\n jun: 6,\n june: 6,\n jul: 7,\n july: 7,\n aug: 8,\n august: 8,\n sep: 9,\n september: 9,\n oct: 10,\n october: 10,\n nov: 11,\n november: 11,\n dec: 12,\n december: 12,\n};\n\n/**\n * Parses common date input formats into a PlainDate.\n * Supports: \"2026-05-21\", \"05/21/2026\", \"May 21, 2026\", \"21 May 2026\", etc.\n * Returns null if the input cannot be parsed.\n */\nexport function parseDateInput(input: string): PlainDate | null {\n const trimmed = input.trim();\n if (trimmed === '') {\n return null;\n }\n\n // ISO format: 2026-05-21\n const isoMatch = /^(\\d{4})-(\\d{1,2})-(\\d{1,2})$/.exec(trimmed);\n if (isoMatch != null) {\n return tryCreate(\n parseInt(isoMatch[1], 10),\n parseInt(isoMatch[2], 10),\n parseInt(isoMatch[3], 10),\n );\n }\n\n // US format: 05/21/2026, 5/21/2026, or 3/4/25 (2-digit year)\n const usMatch = /^(\\d{1,2})[/\\-.](\\d{1,2})[/\\-.](\\d{2,4})$/.exec(trimmed);\n if (usMatch != null) {\n let year = parseInt(usMatch[3], 10);\n if (year < 100) {\n year += year < 50 ? 2000 : 1900;\n }\n return tryCreate(year, parseInt(usMatch[1], 10), parseInt(usMatch[2], 10));\n }\n\n // Named month: \"May 21, 2026\" or \"May 21 2026\"\n const namedMonthFirst = /^([A-Za-z]+)\\s+(\\d{1,2}),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthFirst != null) {\n const month = MONTH_NAMES[namedMonthFirst[1].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthFirst[3], 10),\n month,\n parseInt(namedMonthFirst[2], 10),\n );\n }\n }\n\n // Named month reversed: \"21 May 2026\"\n const namedMonthLast = /^(\\d{1,2})\\s+([A-Za-z]+),?\\s+(\\d{4})$/.exec(trimmed);\n if (namedMonthLast != null) {\n const month = MONTH_NAMES[namedMonthLast[2].toLowerCase()];\n if (month != null) {\n return tryCreate(\n parseInt(namedMonthLast[3], 10),\n month,\n parseInt(namedMonthLast[1], 10),\n );\n }\n }\n\n return null;\n}\n\nfunction tryCreate(year: number, month: number, day: number): PlainDate | null {\n try {\n return plainDateCreate(year, month, day);\n } catch {\n return null;\n }\n}\n","import {CalendarIcon, X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useRef,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {parseDateInput} from '../../internal/parseDateInput';\nimport {\n DATE_FORMAT_LONG,\n plainDateFormat,\n plainDateIsAfter,\n plainDateIsBefore,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {Button} from '../Button';\nimport {Calendar, type CalendarHandle} from '../Calendar';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe, inputStyles} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport type {IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport type {PlainDate} from '../../internal/plainDate';\n\nconst styles = {\n wrapper: css({ps: '1', gap: '1'}),\n} as const;\n\nexport type DateInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Custom HTML id applied to the input element.\n */\n htmlId?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Called when the selected date changes.\n */\n onChange: (value: PlainDate | undefined) => void;\n /**\n * Placeholder text shown when no date is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Currently selected date.\n */\n value: PlainDate | undefined;\n} & FieldNecessity;\n\nfunction formatDate(value: PlainDate | undefined): string {\n return value == null ? '' : plainDateFormat(value, DATE_FORMAT_LONG);\n}\n\nfunction isDateAllowed(\n date: PlainDate,\n options: {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n max?: PlainDate;\n min?: PlainDate;\n },\n): boolean {\n if (options.min != null && plainDateIsBefore(date, options.min)) {\n return false;\n }\n if (options.max != null && plainDateIsAfter(date, options.max)) {\n return false;\n }\n if (options.getIsDateDisabled?.(date)) {\n return false;\n }\n return true;\n}\n\n/**\n * A date picker input that combines a text input with a calendar popover.\n * Users can type a date directly or select one from the calendar.\n */\nexport function DateInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n placeholder = 'Select a date',\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n hasClear = false,\n htmlId,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateInputProps): React.JSX.Element {\n const generatedId = useId();\n const inputId = htmlId ?? generatedId;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement | null>(null);\n const calendarRef = useRef<CalendarHandle | null>(null);\n const wrapperRef = useRef<HTMLDivElement | null>(null);\n const [isOpen, setIsOpen] = useState(false);\n const [pendingInput, setPendingInput] = useState<string | null>(null);\n\n const displayValue = pendingInput ?? formatDate(value);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const handleCalendarChange = useCallback(\n (nextValue: PlainDate) => {\n onChange(nextValue);\n setPendingInput(null);\n setIsOpen(false);\n inputRef.current?.focus();\n },\n [onChange],\n );\n\n const handleInputChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const text = event.target.value;\n setPendingInput(text);\n\n const parsed = parseDateInput(text);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n calendarRef.current?.navigateTo(parsed);\n }\n },\n [getIsDateDisabled, max, min, onChange],\n );\n\n const commitPendingInput = useCallback(() => {\n if (pendingInput == null) {\n return;\n }\n\n if (pendingInput.trim() === '') {\n if (value != null) {\n onChange(undefined);\n }\n setPendingInput(null);\n return;\n }\n\n const parsed = parseDateInput(pendingInput);\n if (\n parsed != null &&\n isDateAllowed(parsed, {min, max, getIsDateDisabled})\n ) {\n onChange(parsed);\n }\n setPendingInput(null);\n }, [getIsDateDisabled, max, min, onChange, pendingInput, value]);\n\n const handleBlur = useCallback(() => {\n commitPendingInput();\n }, [commitPendingInput]);\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLInputElement>) => {\n if (event.key === 'Enter') {\n event.preventDefault();\n commitPendingInput();\n }\n },\n [commitPendingInput],\n );\n\n const handleClear = useCallback(() => {\n onChange(undefined);\n setPendingInput(null);\n inputRef.current?.focus();\n }, [onChange]);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled: isDisabled,\n }),\n styles.wrapper,\n )}\n ref={wrapperRef}>\n <Popover\n content={\n <Calendar\n getIsDateDisabled={getIsDateDisabled}\n max={max}\n min={min}\n onChange={handleCalendarChange}\n ref={calendarRef}\n value={value}\n viewDate={value}\n />\n }\n hasAutoFocus\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={`Choose ${label}`}\n onOpenChange={setIsOpen}\n padding={3}>\n <Button\n icon={CalendarIcon}\n isDisabled={isDisabled}\n isIconOnly\n label={`Choose ${label}`}\n size=\"sm\"\n variant=\"ghost\"\n />\n </Popover>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n autoComplete=\"off\"\n className={inputStyles.control}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n onBlur={handleBlur}\n onChange={handleInputChange}\n onKeyDown={handleKeyDown}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef)}\n type=\"text\"\n value={displayValue}\n />\n {hasClear && value != null && !isDisabled && !isLoading ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={handleClear}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nDateInput.displayName = 'DateInput';\n"]}