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 +0,0 @@
1
- {"version":3,"sources":["../src/components/TimeInput/TimeInput.tsx"],"names":["css","Temporal","useId","getStatusMessageID","getDescribedBy","getNecessity","jsx","Field","jsxs","inputRecipe","inputStyles","Icon","Clock","cx","Button","X","Spinner","getStatusIcon"],"mappings":"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","file":"chunk-2D6SGEPH.cjs","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {Clock, X} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Button} from '../Button';\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 {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\n\nconst styles = {\n input: css({\n '&::-webkit-calendar-picker-indicator': {\n display: 'none',\n },\n }),\n} as const;\n\nexport type PlainTime = Temporal.PlainTime;\n\nexport type TimeInputProps = {\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 displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is set.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input includes a seconds field.\n * @default false\n */\n hasSeconds?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: 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 loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\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 * Latest allowed time.\n */\n max?: PlainTime;\n /**\n * Earliest allowed time.\n */\n min?: PlainTime;\n /**\n * Called when the time value changes.\n */\n onChange: (value: PlainTime | undefined) => void;\n /**\n * Placeholder text.\n * @default 'Select a time'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Step increment in seconds for the time picker.\n */\n step?: number;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controlled time value.\n */\n value: PlainTime | undefined;\n} & FieldNecessity;\n\nfunction toInputString(\n time: PlainTime | undefined,\n hasSeconds: boolean,\n): string {\n if (time == null) {\n return '';\n }\n return time.toString({\n smallestUnit: hasSeconds ? 'second' : 'minute',\n });\n}\n\nfunction fromInputString(value: string): PlainTime | undefined {\n if (value === '') {\n return undefined;\n }\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return undefined;\n }\n}\n\n/**\n * Time picker input field with optional seconds granularity.\n */\nexport function TimeInput({\n label,\n value,\n onChange,\n hasSeconds = false,\n hasClear = false,\n hasAutoFocus = false,\n min,\n max,\n step,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n placeholder = 'Select a time',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TimeInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n\n const necessity = getNecessity(isOptional, isRequired);\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={inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n })}>\n <span className={inputStyles.iconSlot}>\n <Icon icon={Clock} size=\"sm\" />\n </span>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(inputStyles.control, styles.input)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n max={toInputString(max, hasSeconds)}\n min={toInputString(min, hasSeconds)}\n name={htmlName}\n onChange={event => onChange(fromInputString(event.target.value))}\n placeholder={placeholder}\n ref={ref}\n step={step ?? (hasSeconds ? 1 : 60)}\n type=\"time\"\n value={toInputString(value, hasSeconds)}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={() => onChange(undefined)}\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\nTimeInput.displayName = 'TimeInput';\n"]}
@@ -1,441 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkL6JT244G_cjs = require('./chunk-L6JT244G.cjs');
4
- var chunk4I6VIR44_cjs = require('./chunk-4I6VIR44.cjs');
5
- var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
6
- var chunkKFEXS6OK_cjs = require('./chunk-KFEXS6OK.cjs');
7
- var chunkMAL4D4LR_cjs = require('./chunk-MAL4D4LR.cjs');
8
- var chunkYBPG5RPR_cjs = require('./chunk-YBPG5RPR.cjs');
9
- var chunkYXYD5HKL_cjs = require('./chunk-YXYD5HKL.cjs');
10
- var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
11
- var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
12
- var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
13
- var lucideReact = require('lucide-react');
14
- var react = require('react');
15
- var jsxRuntime = require('react/jsx-runtime');
16
-
17
- var styles = {
18
- wrapper: chunkRU6JG3FS_cjs.css({
19
- cursor: "pointer"
20
- }),
21
- wrapperDisabled: chunkRU6JG3FS_cjs.css({
22
- cursor: "not-allowed"
23
- }),
24
- trigger: chunkRU6JG3FS_cjs.css({
25
- display: "flex",
26
- alignItems: "center",
27
- justifyContent: "space-between",
28
- gap: "2",
29
- flex: 1,
30
- minW: 0,
31
- p: 0,
32
- borderWidth: 0,
33
- bg: "transparent",
34
- color: "inherit",
35
- cursor: "pointer",
36
- fontFamily: "body",
37
- outline: "none",
38
- textAlign: "start",
39
- _disabled: {
40
- cursor: "not-allowed"
41
- }
42
- }),
43
- label: chunkRU6JG3FS_cjs.css({
44
- flex: 1,
45
- minW: 0,
46
- overflow: "hidden",
47
- textOverflow: "ellipsis",
48
- whiteSpace: "nowrap"
49
- }),
50
- placeholder: chunkRU6JG3FS_cjs.css({
51
- color: "fg.muted"
52
- }),
53
- iconSlot: chunkRU6JG3FS_cjs.css({
54
- display: "inline-flex",
55
- alignItems: "center",
56
- flexShrink: 0,
57
- color: "fg.muted"
58
- }),
59
- menu: chunkRU6JG3FS_cjs.css({
60
- display: "flex",
61
- flexDirection: "column",
62
- gap: "0.5",
63
- maxH: "80",
64
- overflowY: "auto",
65
- p: "1"
66
- }),
67
- search: chunkRU6JG3FS_cjs.css({
68
- w: "full",
69
- px: "2",
70
- py: "1",
71
- borderWidth: "default",
72
- borderStyle: "solid",
73
- borderColor: "border.emphasized",
74
- borderRadius: "md",
75
- fontFamily: "body",
76
- outline: "none",
77
- _focus: {
78
- borderColor: "primary"
79
- }
80
- }),
81
- option: chunkRU6JG3FS_cjs.css({
82
- display: "flex",
83
- alignItems: "center",
84
- justifyContent: "space-between",
85
- gap: "2",
86
- w: "full",
87
- px: "2",
88
- py: "2",
89
- borderWidth: 0,
90
- borderRadius: "md",
91
- bg: "transparent",
92
- color: "fg",
93
- cursor: "pointer",
94
- fontFamily: "body",
95
- textAlign: "start",
96
- _hover: { bg: "bg.subtle" },
97
- _focusVisible: {
98
- outlineWidth: "focus",
99
- outlineStyle: "solid",
100
- outlineColor: "primary",
101
- outlineOffset: "focusOffsetTight"
102
- },
103
- _disabled: {
104
- opacity: 0.5,
105
- cursor: "not-allowed"
106
- }
107
- }),
108
- optionSelected: chunkRU6JG3FS_cjs.css({ fontWeight: "medium" }),
109
- optionHighlighted: chunkRU6JG3FS_cjs.css({ bg: "bg.subtle" }),
110
- optionContent: chunkRU6JG3FS_cjs.css({
111
- display: "inline-flex",
112
- alignItems: "center",
113
- gap: "2",
114
- minW: 0
115
- }),
116
- check: chunkRU6JG3FS_cjs.css({
117
- display: "inline-flex",
118
- color: "primary"
119
- }),
120
- sectionHeading: chunkRU6JG3FS_cjs.css({
121
- px: "2",
122
- py: "1",
123
- color: "fg.muted",
124
- fontFamily: "body",
125
- fontSize: "sm",
126
- fontWeight: "semibold"
127
- }),
128
- divider: chunkRU6JG3FS_cjs.css({
129
- h: "1px",
130
- bg: "border",
131
- my: "1"
132
- })
133
- };
134
- function Select({
135
- className,
136
- "data-testid": dataTestId,
137
- description,
138
- hasClear = false,
139
- hasSearch = false,
140
- isDisabled = false,
141
- isLabelHidden = false,
142
- isLoading = false,
143
- isOptional,
144
- isRequired,
145
- label,
146
- labelIcon,
147
- labelTooltip,
148
- onChange,
149
- options,
150
- placeholder = "Select...",
151
- ref,
152
- renderOption: renderOptionProp,
153
- searchPlaceholder = "Search...",
154
- size = "md",
155
- startIcon,
156
- status,
157
- style,
158
- value
159
- }) {
160
- const selectedValues = react.useMemo(
161
- () => value == null ? /* @__PURE__ */ new Set() : /* @__PURE__ */ new Set([value]),
162
- [value]
163
- );
164
- const commitOption = react.useCallback(
165
- (option) => {
166
- if (option.isDisabled) {
167
- return false;
168
- }
169
- onChange(option.value);
170
- return true;
171
- },
172
- [onChange]
173
- );
174
- const {
175
- activeDescendantId,
176
- describedBy,
177
- descriptionID,
178
- filteredValues,
179
- getOptionId,
180
- handleKeyboardNavigation,
181
- handleOptionClick,
182
- handleOptionMouseEnter,
183
- highlightedValue,
184
- inputId,
185
- isInteractionDisabled,
186
- isOpen,
187
- listboxId,
188
- query,
189
- selectableOptions,
190
- setHighlightedValue,
191
- setIsOpen,
192
- setQuery,
193
- statusMessageID,
194
- triggerRef
195
- } = chunkL6JT244G_cjs.useSelectListbox({
196
- clearQueryOnCommit: true,
197
- closeOnCommit: true,
198
- description,
199
- isDisabled,
200
- isLoading,
201
- onCommitOption: commitOption,
202
- options,
203
- selectedValues,
204
- status
205
- });
206
- const selectedOption = react.useMemo(
207
- () => selectableOptions.find((option) => option.value === value),
208
- [selectableOptions, value]
209
- );
210
- const renderOption = react.useCallback(
211
- (option) => {
212
- if (!filteredValues.has(option.value)) {
213
- return null;
214
- }
215
- const isSelected = option.value === value;
216
- const isHighlighted = option.value === highlightedValue;
217
- return /* @__PURE__ */ jsxRuntime.jsxs(
218
- "button",
219
- {
220
- "aria-selected": isSelected,
221
- className: chunkSPDVNY2Z_cjs.cx(
222
- styles.option,
223
- isSelected ? styles.optionSelected : void 0,
224
- isHighlighted ? styles.optionHighlighted : void 0
225
- ),
226
- "data-value": option.value,
227
- disabled: option.isDisabled,
228
- id: getOptionId(option.value),
229
- onClick: handleOptionClick,
230
- onMouseEnter: handleOptionMouseEnter,
231
- role: "option",
232
- tabIndex: isHighlighted ? 0 : -1,
233
- type: "button",
234
- children: [
235
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.optionContent, children: renderOptionProp == null ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
236
- option.icon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "secondary", icon: option.icon, size: "sm" }) }) : null,
237
- option.label
238
- ] }) : renderOptionProp(option) }),
239
- isSelected ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.check, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "accent", icon: lucideReact.Check, size: "sm" }) }) : null
240
- ]
241
- },
242
- option.value
243
- );
244
- },
245
- [
246
- filteredValues,
247
- getOptionId,
248
- handleOptionClick,
249
- handleOptionMouseEnter,
250
- highlightedValue,
251
- renderOptionProp,
252
- value
253
- ]
254
- );
255
- const optionNodes = chunkL6JT244G_cjs.renderSelectListboxOptions({
256
- dividerClassName: styles.divider,
257
- inputId,
258
- options,
259
- renderOption,
260
- sectionHeadingClassName: styles.sectionHeading
261
- });
262
- const menu = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
263
- hasSearch ? /* @__PURE__ */ jsxRuntime.jsx(
264
- "input",
265
- {
266
- "aria-activedescendant": activeDescendantId,
267
- "aria-autocomplete": "list",
268
- "aria-controls": listboxId,
269
- "aria-label": `Search ${label}`,
270
- className: styles.search,
271
- onChange: (event) => {
272
- setQuery(event.target.value);
273
- setHighlightedValue(null);
274
- },
275
- onKeyDown: handleKeyboardNavigation,
276
- placeholder: searchPlaceholder,
277
- type: "search",
278
- value: query
279
- }
280
- ) : null,
281
- /* @__PURE__ */ jsxRuntime.jsx(
282
- "div",
283
- {
284
- "aria-label": `${label} options`,
285
- className: styles.menu,
286
- id: listboxId,
287
- role: "listbox",
288
- children: optionNodes
289
- }
290
- )
291
- ] });
292
- const necessity = chunkKFEXS6OK_cjs.getNecessity(isOptional, isRequired);
293
- const trigger = (
294
- // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- mouse clicks anywhere on the visual input delegate to the inner combobox button; keyboard handling stays on that button.
295
- /* @__PURE__ */ jsxRuntime.jsxs(
296
- "div",
297
- {
298
- className: chunkSPDVNY2Z_cjs.cx(
299
- chunkVXBVSYPA_cjs.inputRecipe({
300
- size,
301
- status: status?.type,
302
- isDisabled
303
- }),
304
- styles.wrapper,
305
- isInteractionDisabled ? styles.wrapperDisabled : void 0
306
- ),
307
- onClick: () => {
308
- if (!isInteractionDisabled) {
309
- setIsOpen((currentIsOpen) => !currentIsOpen);
310
- }
311
- },
312
- ref: triggerRef,
313
- children: [
314
- startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
315
- /* @__PURE__ */ jsxRuntime.jsx(
316
- "button",
317
- {
318
- "aria-activedescendant": activeDescendantId,
319
- "aria-busy": isLoading || void 0,
320
- "aria-controls": listboxId,
321
- "aria-describedby": describedBy,
322
- "aria-expanded": isOpen,
323
- "aria-haspopup": "listbox",
324
- "aria-invalid": status?.type === "error" || void 0,
325
- className: styles.trigger,
326
- "data-testid": dataTestId,
327
- disabled: isInteractionDisabled,
328
- id: inputId,
329
- onKeyDown: handleKeyboardNavigation,
330
- ref,
331
- role: "combobox",
332
- type: "button",
333
- children: /* @__PURE__ */ jsxRuntime.jsx(
334
- "span",
335
- {
336
- className: chunkSPDVNY2Z_cjs.cx(
337
- styles.label,
338
- selectedOption == null ? styles.placeholder : void 0
339
- ),
340
- children: selectedOption?.label ?? placeholder
341
- }
342
- )
343
- }
344
- ),
345
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkYXYD5HKL_cjs.Spinner, { size: "sm" }) : null,
346
- hasClear && selectedOption != null && !isDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
347
- chunkYBPG5RPR_cjs.Button,
348
- {
349
- icon: lucideReact.X,
350
- isIconOnly: true,
351
- label: `Clear ${label}`,
352
- onClick: (event) => {
353
- event.stopPropagation();
354
- onChange(null);
355
- },
356
- size: "sm",
357
- variant: "ghost"
358
- }
359
- ) : null,
360
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { icon: lucideReact.ChevronDown, size: "sm" }) })
361
- ]
362
- }
363
- )
364
- );
365
- return /* @__PURE__ */ jsxRuntime.jsxs(
366
- chunkKFEXS6OK_cjs.Field,
367
- {
368
- className,
369
- description,
370
- descriptionID,
371
- inputId,
372
- isDisabled,
373
- isLabelHidden,
374
- ...necessity,
375
- label,
376
- labelIcon,
377
- labelTooltip,
378
- status: status == null ? void 0 : { ...status, messageID: statusMessageID },
379
- style,
380
- children: [
381
- trigger,
382
- /* @__PURE__ */ jsxRuntime.jsx(
383
- chunkMAL4D4LR_cjs.Popover,
384
- {
385
- anchorRef: triggerRef,
386
- content: menu,
387
- hasAutoFocus: hasSearch,
388
- hasCloseButton: false,
389
- isEnabled: false,
390
- isOpen,
391
- onOpenChange: setIsOpen
392
- }
393
- )
394
- ]
395
- }
396
- );
397
- }
398
- Select.displayName = "Select";
399
- var styles2 = {
400
- root: chunkRU6JG3FS_cjs.css({
401
- display: "flex",
402
- minW: 0,
403
- p: 0
404
- }),
405
- icon: chunkRU6JG3FS_cjs.css({
406
- display: "inline-flex",
407
- flexShrink: 0,
408
- color: "fg.muted"
409
- })
410
- };
411
- function SelectOption({
412
- className,
413
- "data-testid": dataTestId,
414
- description,
415
- endContent,
416
- icon,
417
- label,
418
- ref,
419
- style
420
- }) {
421
- return /* @__PURE__ */ jsxRuntime.jsx(
422
- chunk4I6VIR44_cjs.Item,
423
- {
424
- as: "span",
425
- className: chunkSPDVNY2Z_cjs.cx(styles2.root, className),
426
- "data-testid": dataTestId,
427
- description,
428
- endContent,
429
- label,
430
- ref,
431
- startContent: icon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles2.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "secondary", icon, size: "sm" }) }) : null,
432
- style
433
- }
434
- );
435
- }
436
- SelectOption.displayName = "SelectOption";
437
-
438
- exports.Select = Select;
439
- exports.SelectOption = SelectOption;
440
- //# sourceMappingURL=chunk-2TGDDZG6.cjs.map
441
- //# sourceMappingURL=chunk-2TGDDZG6.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Select/Select.tsx","../src/components/Select/SelectOption.tsx"],"names":["css","useMemo","useCallback","useSelectListbox","jsxs","cx","jsx","Fragment","Icon","Check","renderSelectListboxOptions","getNecessity","inputRecipe","Spinner","Button","X","ChevronDown","Field","Popover","styles","Item"],"mappings":"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","file":"chunk-2TGDDZG6.cjs","sourcesContent":["import {Check, ChevronDown, X} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {\n renderSelectListboxOptions,\n useSelectListbox,\n type SelectListboxOptionData,\n} from '../../internal/useSelectListbox';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe} from '../Field/inputStyles';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {Spinner} from '../Spinner';\n\nexport interface SelectOptionData extends SelectListboxOptionData {\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the option is disabled.\n */\n isDisabled?: boolean;\n /**\n * Option label. Defaults to `value`.\n */\n label?: string;\n /**\n * Option value.\n */\n value: string;\n}\n\nexport interface SelectDivider {\n /**\n * Discriminator identifying a divider entry.\n */\n type: 'divider';\n}\n\nexport interface SelectSection {\n /**\n * Options within this section.\n */\n options: ReadonlyArray<SelectOptionData>;\n /**\n * Optional heading text for the section.\n */\n title?: string;\n /**\n * Discriminator identifying a section entry.\n */\n type: 'section';\n}\n\nexport type SelectOptionDefinition =\n | SelectDivider\n | SelectOptionData\n | SelectSection\n | string;\n\nexport type SelectProps = {\n /**\n * Additional CSS class names applied to the trigger wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the combobox button.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show a clear button when a value is selected.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether to show search input in the dropdown.\n * @default false\n */\n hasSearch?: boolean;\n /**\n * Whether the selector 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 selector is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\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 * Called when selection changes.\n */\n onChange: (value: string | null) => void;\n /**\n * Options to display.\n */\n options: ReadonlyArray<SelectOptionDefinition>;\n /**\n * Placeholder shown when no option is selected.\n * @default 'Select...'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the combobox button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Custom render function for selectable options.\n */\n renderOption?: (option: SelectOptionData) => ReactNode;\n /**\n * Search input placeholder.\n * @default 'Search...'\n */\n searchPlaceholder?: string;\n /**\n * Select size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Start icon rendered in the trigger.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the trigger wrapper.\n */\n style?: CSSProperties;\n /**\n * Selected option value.\n */\n value: string | null;\n} & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n cursor: 'pointer',\n }),\n wrapperDisabled: css({\n cursor: 'not-allowed',\n }),\n trigger: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n flex: 1,\n minW: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n fontFamily: 'body',\n outline: 'none',\n textAlign: 'start',\n _disabled: {\n cursor: 'not-allowed',\n },\n }),\n label: css({\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n placeholder: css({\n color: 'fg.muted',\n }),\n iconSlot: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n search: css({\n w: 'full',\n px: '2',\n py: '1',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n fontFamily: 'body',\n outline: 'none',\n _focus: {\n borderColor: 'primary',\n },\n }),\n option: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n }),\n optionSelected: css({fontWeight: 'medium'}),\n optionHighlighted: css({bg: 'bg.subtle'}),\n optionContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n }),\n check: css({\n display: 'inline-flex',\n color: 'primary',\n }),\n sectionHeading: css({\n px: '2',\n py: '1',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'semibold',\n }),\n divider: css({\n h: '1px',\n bg: 'border',\n my: '1',\n }),\n} as const;\n\n/**\n * Single-select dropdown field.\n */\nexport function Select({\n className,\n 'data-testid': dataTestId,\n description,\n hasClear = false,\n hasSearch = false,\n isDisabled = false,\n isLabelHidden = false,\n isLoading = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n onChange,\n options,\n placeholder = 'Select...',\n ref,\n renderOption: renderOptionProp,\n searchPlaceholder = 'Search...',\n size = 'md',\n startIcon,\n status,\n style,\n value,\n}: SelectProps): React.JSX.Element {\n const selectedValues = useMemo(\n () => (value == null ? new Set<string>() : new Set([value])),\n [value],\n );\n\n const commitOption = useCallback(\n (option: SelectOptionData): boolean => {\n if (option.isDisabled) {\n return false;\n }\n\n onChange(option.value);\n return true;\n },\n [onChange],\n );\n\n const {\n activeDescendantId,\n describedBy,\n descriptionID,\n filteredValues,\n getOptionId,\n handleKeyboardNavigation,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n inputId,\n isInteractionDisabled,\n isOpen,\n listboxId,\n query,\n selectableOptions,\n setHighlightedValue,\n setIsOpen,\n setQuery,\n statusMessageID,\n triggerRef,\n } = useSelectListbox({\n clearQueryOnCommit: true,\n closeOnCommit: true,\n description,\n isDisabled,\n isLoading,\n onCommitOption: commitOption,\n options,\n selectedValues,\n status,\n });\n\n const selectedOption = useMemo(\n () => selectableOptions.find(option => option.value === value),\n [selectableOptions, value],\n );\n\n const renderOption = useCallback(\n (option: SelectOptionData): ReactNode => {\n if (!filteredValues.has(option.value)) {\n return null;\n }\n const isSelected = option.value === value;\n const isHighlighted = option.value === highlightedValue;\n return (\n <button\n aria-selected={isSelected}\n className={cx(\n styles.option,\n isSelected ? styles.optionSelected : undefined,\n isHighlighted ? styles.optionHighlighted : undefined,\n )}\n data-value={option.value}\n disabled={option.isDisabled}\n id={getOptionId(option.value)}\n key={option.value}\n onClick={handleOptionClick}\n onMouseEnter={handleOptionMouseEnter}\n role=\"option\"\n tabIndex={isHighlighted ? 0 : -1}\n type=\"button\">\n <span className={styles.optionContent}>\n {renderOptionProp == null ? (\n <>\n {option.icon != null ? (\n <span className={styles.iconSlot}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </>\n ) : (\n renderOptionProp(option)\n )}\n </span>\n {isSelected ? (\n <span className={styles.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </button>\n );\n },\n [\n filteredValues,\n getOptionId,\n handleOptionClick,\n handleOptionMouseEnter,\n highlightedValue,\n renderOptionProp,\n value,\n ],\n );\n\n const optionNodes = renderSelectListboxOptions({\n dividerClassName: styles.divider,\n inputId,\n options,\n renderOption,\n sectionHeadingClassName: styles.sectionHeading,\n });\n\n const menu = (\n <>\n {hasSearch ? (\n <input\n aria-activedescendant={activeDescendantId}\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-label={`Search ${label}`}\n className={styles.search}\n onChange={event => {\n setQuery(event.target.value);\n setHighlightedValue(null);\n }}\n onKeyDown={handleKeyboardNavigation}\n placeholder={searchPlaceholder}\n type=\"search\"\n value={query}\n />\n ) : null}\n <div\n aria-label={`${label} options`}\n className={styles.menu}\n id={listboxId}\n role=\"listbox\">\n {optionNodes}\n </div>\n </>\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const trigger = (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- mouse clicks anywhere on the visual input delegate to the inner combobox button; keyboard handling stays on that button.\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n isInteractionDisabled ? styles.wrapperDisabled : undefined,\n )}\n onClick={() => {\n if (!isInteractionDisabled) {\n setIsOpen(currentIsOpen => !currentIsOpen);\n }\n }}\n ref={triggerRef}>\n {startIcon != null ? (\n <span className={styles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <button\n aria-activedescendant={activeDescendantId}\n aria-busy={isLoading || undefined}\n aria-controls={listboxId}\n aria-describedby={describedBy}\n aria-expanded={isOpen}\n aria-haspopup=\"listbox\"\n aria-invalid={status?.type === 'error' || undefined}\n className={styles.trigger}\n data-testid={dataTestId}\n disabled={isInteractionDisabled}\n id={inputId}\n onKeyDown={handleKeyboardNavigation}\n ref={ref}\n role=\"combobox\"\n type=\"button\">\n <span\n className={cx(\n styles.label,\n selectedOption == null ? styles.placeholder : undefined,\n )}>\n {selectedOption?.label ?? placeholder}\n </span>\n </button>\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {hasClear && selectedOption != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChange(null);\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span className={styles.iconSlot}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </div>\n );\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 {trigger}\n <Popover\n anchorRef={triggerRef}\n content={menu}\n hasAutoFocus={hasSearch}\n hasCloseButton={false}\n isEnabled={false}\n isOpen={isOpen}\n onOpenChange={setIsOpen}\n />\n </Field>\n );\n}\n\nSelect.displayName = 'Select';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\n\nexport interface SelectOptionProps {\n /**\n * Additional CSS class names applied to the option layout.\n */\n className?: string;\n /**\n * Test ID applied to the option layout.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Primary label.\n */\n label: ReactNode;\n /**\n * Ref forwarded to the layout root.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * Inline styles applied to the layout root.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n minW: 0,\n p: 0,\n }),\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * Helper layout for custom Select option rendering.\n */\nexport function SelectOption({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n label,\n ref,\n style,\n}: SelectOptionProps): React.JSX.Element {\n return (\n <Item\n as=\"span\"\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n label={label}\n ref={ref}\n startContent={\n icon != null ? (\n <span className={styles.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n style={style}\n />\n );\n}\n\nSelectOption.displayName = 'SelectOption';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/DateTimeInput/DateTimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-2YC7SMVF.js","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport {\n useCallback,\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {plainDateIsEqual, type PlainDate} from '../../internal/plainDate';\nimport {DateInput} from '../DateInput';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport type {IconComponent} from '../Icon';\nimport {TimeInput, type PlainTime} from '../TimeInput';\n\nexport type PlainDateTime = Temporal.PlainDateTime;\n\nexport type DateTimeInputProps = {\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 * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether to show the seconds field in the time input.\n * @default false\n */\n hasSeconds?: boolean;\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-time.\n */\n max?: PlainDateTime;\n /**\n * Minimum selectable date-time.\n */\n min?: PlainDateTime;\n /**\n * Called when the selected date-time changes.\n */\n onChange: (value: PlainDateTime | undefined) => void;\n /**\n * Ref forwarded to the date input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the inputs.\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 root element.\n */\n style?: CSSProperties;\n /**\n * Currently selected date-time.\n */\n value: PlainDateTime | undefined;\n} & FieldNecessity;\n\nconst styles = {\n row: css({\n display: 'grid',\n gridTemplateColumns: 'minmax(0, 1fr) minmax(0, 0.75fr)',\n gap: '2',\n }),\n} as const;\n\nfunction splitDateTime(value: PlainDateTime | undefined): {\n date: PlainDate | undefined;\n time: PlainTime | undefined;\n} {\n if (value == null) {\n return {date: undefined, time: undefined};\n }\n return {\n date: value.toPlainDate(),\n time: value.toPlainTime(),\n };\n}\n\nfunction combineDateTime(\n date: PlainDate | undefined,\n time: PlainTime | undefined,\n): PlainDateTime | undefined {\n if (date == null && time == null) {\n return undefined;\n }\n const resolvedDate = date ?? Temporal.Now.plainDateISO();\n const resolvedTime = time ?? Temporal.Now.plainTimeISO();\n return resolvedDate.toPlainDateTime(resolvedTime);\n}\n\nfunction clampTime(\n time: PlainTime,\n min: PlainTime | undefined,\n max: PlainTime | undefined,\n): PlainTime {\n if (min != null && Temporal.PlainTime.compare(time, min) < 0) {\n return min;\n }\n if (max != null && Temporal.PlainTime.compare(time, max) > 0) {\n return max;\n }\n return time;\n}\n\n/**\n * A combined date and time input with calendar popover and time fields.\n */\nexport function DateTimeInput({\n label,\n value,\n onChange,\n min,\n max,\n getIsDateDisabled,\n hasSeconds = false,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n status,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: DateTimeInputProps): React.JSX.Element {\n const fieldId = useId();\n const {date, time} = useMemo(() => splitDateTime(value), [value]);\n const minParts = useMemo(() => splitDateTime(min), [min]);\n const maxParts = useMemo(() => splitDateTime(max), [max]);\n\n const handleDateChange = useCallback(\n (nextDate: PlainDate | undefined) => {\n if (nextDate == null || time == null) {\n onChange(combineDateTime(nextDate, time));\n return;\n }\n const effectiveTimeMin =\n min != null && nextDate.equals(min.toPlainDate())\n ? min.toPlainTime()\n : undefined;\n const effectiveTimeMax =\n max != null && nextDate.equals(max.toPlainDate())\n ? max.toPlainTime()\n : undefined;\n onChange(\n combineDateTime(\n nextDate,\n clampTime(time, effectiveTimeMin, effectiveTimeMax),\n ),\n );\n },\n [onChange, time, min, max],\n );\n const handleTimeChange = useCallback(\n (nextTime: PlainTime | undefined) =>\n onChange(combineDateTime(date, nextTime)),\n [onChange, date],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n description={description}\n inputId={fieldId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={status}>\n <div\n className={cx(styles.row, className)}\n data-testid={dataTestId}\n style={style}>\n <DateInput\n getIsDateDisabled={getIsDateDisabled}\n isDisabled={isDisabled}\n isLabelHidden\n isLoading={isLoading}\n label={`${label} date`}\n max={maxParts.date}\n min={minParts.date}\n onChange={handleDateChange}\n ref={ref}\n size={size}\n value={date}\n />\n <TimeInput\n hasSeconds={hasSeconds}\n isDisabled={isDisabled}\n isLabelHidden\n isLoading={isLoading}\n label={`${label} time`}\n max={\n date != null &&\n maxParts.date != null &&\n plainDateIsEqual(date, maxParts.date)\n ? maxParts.time\n : undefined\n }\n min={\n date != null &&\n minParts.date != null &&\n plainDateIsEqual(date, minParts.date)\n ? minParts.time\n : undefined\n }\n onChange={handleTimeChange}\n size={size}\n value={time}\n />\n </div>\n </Field>\n );\n}\n\nDateTimeInput.displayName = 'DateTimeInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Tabs/TabsContext.ts","../src/components/Tabs/Tab.tsx","../src/components/Tabs/Tabs.tsx","../src/components/Tabs/TabMenu.tsx"],"names":["createContext","use","css","useLinkComponent","cx","jsxs","Fragment","jsx","Icon","styles","useMemo","useState","useRef","Popover","Check","mergeRefs","ChevronDown"],"mappings":"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","file":"chunk-32G54PL3.cjs","sourcesContent":["import {createContext, use} from 'react';\n\nexport type TabsSize = 'lg' | 'md' | 'sm';\nexport type TabsLayout = 'fill' | 'hug';\n\nexport interface TabsContextValue {\n layout: TabsLayout;\n onChange: (value: string) => void;\n size: TabsSize;\n value: string;\n}\n\nexport const TabsContext = createContext<TabsContextValue | null>(null);\n\nTabsContext.displayName = 'TabsContext';\n\nexport function useTabsContext(): TabsContextValue {\n const context = use(TabsContext);\n if (context == null) {\n throw new Error('Tabs children must be used within a Tabs.');\n }\n return context;\n}\n","/* eslint-disable @eslint-react/static-components */\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {useTabsContext} from './TabsContext';\n\nexport interface TabProps {\n /**\n * Custom link component used when href is set.\n */\n as?: LinkComponent;\n /**\n * Additional CSS class names applied to the tab.\n */\n className?: string;\n /**\n * ID of the tabpanel controlled by this tab. Use this for in-page tabs, and\n * render the corresponding panel with `id={controls}`, `role=\"tabpanel\"`,\n * and `aria-labelledby` pointing to this tab's `id`.\n */\n controls?: string;\n /**\n * Test ID applied to the tab.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Optional link URL. When set, the tab renders as a link.\n */\n href?: string;\n /**\n * Icon shown before the label.\n */\n icon?: IconComponent;\n /**\n * ID applied to the tab element. Provide this with `controls` when rendering\n * your own tabpanel so the panel can reference the tab with\n * `aria-labelledby`.\n */\n id?: string;\n /**\n * Whether the tab is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Visible tab label.\n */\n label: string;\n /**\n * Ref forwarded to the tab root.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Icon shown when selected. Falls back to icon.\n */\n selectedIcon?: IconComponent;\n /**\n * Inline styles applied to the tab.\n */\n style?: CSSProperties;\n /**\n * Unique tab value.\n */\n value: string;\n}\n\nconst styles = {\n root: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n transitionProperty: 'color, background-color, border-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n selected: css({\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n disabled: css({\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {\n bg: 'transparent',\n },\n }),\n fill: css({\n flex: 1,\n }),\n icon: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n label: css({\n display: 'inline-grid',\n }),\n labelText: css({\n gridRowStart: 1,\n gridColumnStart: 1,\n }),\n labelSizer: css({\n gridRowStart: 1,\n gridColumnStart: 1,\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n }),\n endContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n size: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n} as const;\n\n/**\n * A single tab inside `Tabs`.\n */\nexport function Tab({\n as,\n className,\n 'data-testid': dataTestId,\n controls,\n endContent,\n href,\n id,\n icon,\n isDisabled = false,\n label,\n ref,\n selectedIcon,\n style,\n value,\n}: TabProps): React.JSX.Element {\n const context = useTabsContext();\n const LinkComponent = useLinkComponent(as);\n const isSelected = context.value === value;\n const displayIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const rootClassName = cx(\n styles.root,\n styles.size[context.size],\n isSelected ? styles.selected : undefined,\n isDisabled ? styles.disabled : undefined,\n context.layout === 'fill' ? styles.fill : undefined,\n className,\n );\n const content = (\n <>\n {displayIcon != null ? (\n <span className={styles.icon}>\n <Icon icon={displayIcon} size={context.size} />\n </span>\n ) : null}\n <span className={styles.label}>\n <span className={styles.labelText}>{label}</span>\n <span aria-hidden=\"true\" className={styles.labelSizer}>\n {label}\n </span>\n </span>\n {endContent != null ? (\n <span className={styles.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n if (href != null) {\n return (\n <LinkComponent\n aria-controls={controls}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n href={href}\n id={id}\n onClick={event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref as Ref<HTMLAnchorElement>}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n to={LinkComponent === 'a' ? undefined : href}>\n {content}\n </LinkComponent>\n );\n }\n\n return (\n <button\n aria-controls={controls}\n aria-disabled={isDisabled || undefined}\n aria-selected={isSelected}\n className={rootClassName}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={isDisabled ? undefined : value}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onClick={() => {\n if (isDisabled) {\n return;\n }\n\n context.onChange(value);\n }}\n ref={ref as Ref<HTMLButtonElement>}\n role=\"tab\"\n style={style}\n tabIndex={isSelected && !isDisabled ? 0 : -1}\n type=\"button\">\n {content}\n </button>\n );\n}\n\nTab.displayName = 'Tab';\n","import {\n useMemo,\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 {TabsContext, type TabsLayout, type TabsSize} from './TabsContext';\n\nexport interface TabsProps {\n /**\n * Tab and TabMenu children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tablist element.\n */\n className?: string;\n /**\n * Test ID applied to the tablist element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a bottom divider.\n * @default false\n */\n hasDivider?: boolean;\n /**\n * Accessible label for the tabs.\n * @default 'Tabs'\n */\n label?: string;\n /**\n * Tab layout mode.\n * @default 'hug'\n */\n layout?: TabsLayout;\n /**\n * Called when a tab is selected.\n */\n onChange: (value: string) => void;\n /**\n * Ref forwarded to the tablist element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Tab size.\n * @default 'md'\n */\n size?: TabsSize;\n /**\n * Inline styles applied to the tablist element.\n */\n style?: CSSProperties;\n /**\n * Current selected tab value.\n */\n value: string;\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n alignItems: 'stretch',\n maxW: 'full',\n minW: 0,\n }),\n fill: css({\n w: 'full',\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n} as const;\n\n/**\n * Controlled tab wrapper.\n *\n * Uses `tablist` / `tabpanel` semantics, so reach for it when selecting an\n * option shows or hides associated content panels. To pick a value without\n * swapping panels — a styled radio group for filters, settings, or view modes —\n * use {@link SegmentedControl} instead.\n */\nexport function Tabs({\n children,\n className,\n 'data-testid': dataTestId,\n hasDivider = false,\n label = 'Tabs',\n layout = 'hug',\n onChange,\n ref,\n size = 'md',\n style,\n value,\n}: TabsProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({layout, onChange, size, value}),\n [layout, onChange, size, value],\n );\n\n const handleKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n if (\n event.key !== 'ArrowLeft' &&\n event.key !== 'ArrowRight' &&\n event.key !== 'Home' &&\n event.key !== 'End'\n ) {\n return;\n }\n\n const activeTab = (event.target as HTMLElement).closest<HTMLElement>(\n '[role=\"tab\"]',\n );\n if (activeTab == null || !event.currentTarget.contains(activeTab)) {\n return;\n }\n\n const tabs = Array.from(\n event.currentTarget.querySelectorAll<HTMLElement>(\n '[role=\"tab\"]:not([data-tab-disabled=\"true\"])',\n ),\n );\n const currentIndex = tabs.indexOf(activeTab);\n if (currentIndex === -1) {\n return;\n }\n\n event.preventDefault();\n\n const nextIndex =\n event.key === 'Home'\n ? 0\n : event.key === 'End'\n ? tabs.length - 1\n : event.key === 'ArrowRight'\n ? (currentIndex + 1) % tabs.length\n : (currentIndex - 1 + tabs.length) % tabs.length;\n const nextTab = tabs[nextIndex];\n nextTab.focus();\n\n const nextValue = nextTab.dataset.tabValue;\n if (nextValue != null) {\n onChange(nextValue);\n }\n };\n\n return (\n <TabsContext value={contextValue}>\n <div\n aria-label={label}\n className={cx(\n styles.root,\n layout === 'fill' ? styles.fill : undefined,\n hasDivider ? styles.divider : undefined,\n className,\n )}\n data-testid={dataTestId}\n onKeyDown={handleKeyDown}\n ref={ref as Ref<HTMLDivElement>}\n role=\"tablist\"\n style={style}\n tabIndex={-1}>\n {children}\n </div>\n </TabsContext>\n );\n}\n\nTabs.displayName = 'Tabs';\n","import {Check, ChevronDown} from 'lucide-react';\nimport {\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Popover} from '../Popover';\nimport {useTabsContext} from './TabsContext';\n\nexport interface TabMenuOption {\n /**\n * Icon rendered before the option label.\n */\n icon?: IconComponent;\n /**\n * Visible option label.\n */\n label: string;\n /**\n * Tab value selected by this option.\n */\n value: string;\n}\n\nexport interface TabMenuProps {\n /**\n * Additional CSS class names applied to the trigger.\n */\n className?: string;\n /**\n * Test ID applied to the trigger.\n */\n 'data-testid'?: string;\n /**\n * ID applied to the menu trigger tab.\n */\n id?: string;\n /**\n * Whether the menu trigger is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Trigger and menu heading label.\n */\n label: string;\n /**\n * Menu options.\n */\n options: ReadonlyArray<TabMenuOption>;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the trigger.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n trigger: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n mb: '-1px',\n px: '3',\n borderWidth: 0,\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'transparent',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'normal',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n triggerSelected: css({\n borderBottomColor: 'fg',\n color: 'fg',\n fontWeight: 'semibold',\n }),\n triggerDisabled: css({\n color: 'fg.disabled',\n cursor: 'not-allowed',\n _hover: {bg: 'transparent'},\n }),\n fill: css({flex: 1}),\n size: {\n sm: css({h: 'component.sm'}),\n md: css({h: 'component.md'}),\n lg: css({h: 'component.lg'}),\n },\n chevron: css({\n display: 'inline-flex',\n }),\n chevronOpen: css({transform: 'rotate(180deg)'}),\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n minW: '40',\n p: '1',\n }),\n item: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n px: '2',\n py: '2',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n }),\n itemSelected: css({fontWeight: 'medium'}),\n itemContent: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n }),\n itemIcon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n check: css({\n display: 'inline-flex',\n color: 'primary',\n }),\n} as const;\n\n/**\n * Overflow menu for additional tabs.\n */\nexport function TabMenu({\n className,\n 'data-testid': dataTestId,\n id,\n isDisabled = false,\n label,\n options,\n ref,\n style,\n}: TabMenuProps): React.JSX.Element {\n const context = useTabsContext();\n const [isOpen, setIsOpen] = useState(false);\n const triggerRef = useRef<HTMLButtonElement>(null);\n const selectedOption = options.find(option => option.value === context.value);\n const triggerLabel = selectedOption?.label ?? label;\n const hasSelectedOption = selectedOption != null;\n\n const focusMenuItem = (\n event: KeyboardEvent<HTMLElement>,\n nextIndex: number,\n ) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n items[nextIndex]?.focus();\n };\n\n const handleMenuKeyDown = (event: KeyboardEvent<HTMLElement>) => {\n const menu = event.currentTarget.closest<HTMLElement>('[role=\"menu\"]');\n const items = Array.from(\n menu?.querySelectorAll<HTMLButtonElement>('[role=\"menuitem\"]') ?? [],\n );\n const activeIndex = items.indexOf(\n document.activeElement as HTMLButtonElement,\n );\n\n if (event.key === 'Escape') {\n event.preventDefault();\n setIsOpen(false);\n triggerRef.current?.focus();\n return;\n }\n\n if (items.length === 0) {\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n focusMenuItem(event, 0);\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n focusMenuItem(event, items.length - 1);\n return;\n }\n\n if (event.key !== 'ArrowDown' && event.key !== 'ArrowUp') {\n return;\n }\n\n event.preventDefault();\n\n const currentIndex = activeIndex === -1 ? 0 : activeIndex;\n const nextIndex =\n event.key === 'ArrowDown'\n ? (currentIndex + 1) % items.length\n : (currentIndex - 1 + items.length) % items.length;\n focusMenuItem(event, nextIndex);\n };\n\n return (\n <Popover\n content={\n <div className={styles.menu}>\n {options.map(option => {\n const isSelected = option.value === context.value;\n return (\n <button\n aria-current={isSelected ? 'true' : undefined}\n className={cx(\n styles.item,\n isSelected ? styles.itemSelected : undefined,\n )}\n key={option.value}\n onClick={() => {\n context.onChange(option.value);\n setIsOpen(false);\n }}\n onKeyDown={handleMenuKeyDown}\n role=\"menuitem\"\n type=\"button\">\n <span className={styles.itemContent}>\n {option.icon != null ? (\n <span className={styles.itemIcon}>\n <Icon color=\"secondary\" icon={option.icon} size=\"sm\" />\n </span>\n ) : null}\n {option.label}\n </span>\n {isSelected ? (\n <span className={styles.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </button>\n );\n })}\n </div>\n }\n hasAutoFocus\n hasCloseButton={false}\n isEnabled={!isDisabled}\n isOpen={isOpen}\n label={label}\n onOpenChange={setIsOpen}\n role=\"menu\">\n <button\n aria-disabled={isDisabled || undefined}\n aria-selected={hasSelectedOption}\n className={cx(\n styles.trigger,\n styles.size[context.size],\n hasSelectedOption ? styles.triggerSelected : undefined,\n isDisabled ? styles.triggerDisabled : undefined,\n context.layout === 'fill' ? styles.fill : undefined,\n className,\n )}\n data-tab-disabled={isDisabled ? 'true' : undefined}\n data-tab-value={\n hasSelectedOption && !isDisabled ? context.value : undefined\n }\n data-testid={dataTestId}\n disabled={isDisabled}\n id={id}\n onKeyDown={event => {\n if (event.key !== 'ArrowDown') {\n return;\n }\n\n event.preventDefault();\n setIsOpen(true);\n }}\n ref={mergeRefs(triggerRef, ref)}\n role=\"tab\"\n style={style}\n tabIndex={hasSelectedOption && !isDisabled ? 0 : -1}\n type=\"button\">\n {triggerLabel}\n <span\n className={cx(\n styles.chevron,\n isOpen ? styles.chevronOpen : undefined,\n )}>\n <Icon icon={ChevronDown} size=\"sm\" />\n </span>\n </button>\n </Popover>\n );\n}\n\nTabMenu.displayName = 'TabMenu';\n"]}