silver-ui 0.2.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 (654) hide show
  1. package/README.md +2 -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-3SLWOIT4.cjs → chunk-276LEL3G.cjs} +15 -6
  5. package/dist/chunk-276LEL3G.cjs.map +1 -0
  6. package/dist/chunk-2PSZAWLC.js +8 -0
  7. package/dist/chunk-2PSZAWLC.js.map +1 -0
  8. package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
  9. package/dist/chunk-2XAA3CM5.js.map +1 -0
  10. package/dist/{chunk-SA3LUT6E.js → chunk-3DJ46WN4.js} +5 -5
  11. package/dist/{chunk-SA3LUT6E.js.map → chunk-3DJ46WN4.js.map} +1 -1
  12. package/dist/{chunk-JMLJLDHO.cjs → chunk-3IBY374V.cjs} +9 -9
  13. package/dist/{chunk-JMLJLDHO.cjs.map → chunk-3IBY374V.cjs.map} +1 -1
  14. package/dist/{chunk-7MB2KK6X.js → chunk-3L6KAW7G.js} +5 -5
  15. package/dist/{chunk-7MB2KK6X.js.map → chunk-3L6KAW7G.js.map} +1 -1
  16. package/dist/{chunk-WVQDFCFQ.js → chunk-3TXVDCF2.js} +4 -4
  17. package/dist/chunk-3TXVDCF2.js.map +1 -0
  18. package/dist/{chunk-P4A7GWQY.cjs → chunk-3XDUR3IG.cjs} +7 -6
  19. package/dist/chunk-3XDUR3IG.cjs.map +1 -0
  20. package/dist/{chunk-XHTKGOQV.cjs → chunk-3ZFEBOXD.cjs} +29 -18
  21. package/dist/chunk-3ZFEBOXD.cjs.map +1 -0
  22. package/dist/{chunk-UYKFE7KF.js → chunk-4CVDLMD6.js} +15 -6
  23. package/dist/chunk-4CVDLMD6.js.map +1 -0
  24. package/dist/{chunk-UUIAGGFW.cjs → chunk-4H35H54I.cjs} +35 -33
  25. package/dist/chunk-4H35H54I.cjs.map +1 -0
  26. package/dist/chunk-4MRORQNN.js +213 -0
  27. package/dist/chunk-4MRORQNN.js.map +1 -0
  28. package/dist/{chunk-CPZWTWYQ.js → chunk-54J6FRPG.js} +21 -16
  29. package/dist/chunk-54J6FRPG.js.map +1 -0
  30. package/dist/chunk-5AYGQJOW.js +162 -0
  31. package/dist/chunk-5AYGQJOW.js.map +1 -0
  32. package/dist/{chunk-GGZGVAEF.cjs → chunk-5BCLEOFF.cjs} +19 -16
  33. package/dist/chunk-5BCLEOFF.cjs.map +1 -0
  34. package/dist/{chunk-MEBIRX2P.js → chunk-5D4LRSIV.js} +6 -5
  35. package/dist/chunk-5D4LRSIV.js.map +1 -0
  36. package/dist/{chunk-4YQTSHIB.cjs → chunk-5GNYP3PH.cjs} +256 -209
  37. package/dist/chunk-5GNYP3PH.cjs.map +1 -0
  38. package/dist/{chunk-3DZPRXMC.cjs → chunk-5TT4PGZO.cjs} +6 -6
  39. package/dist/chunk-5TT4PGZO.cjs.map +1 -0
  40. package/dist/{chunk-AJYVGSBW.cjs → chunk-65QAZWOG.cjs} +4 -4
  41. package/dist/chunk-65QAZWOG.cjs.map +1 -0
  42. package/dist/{chunk-TZQWZ7IL.cjs → chunk-66LRFIYK.cjs} +8 -7
  43. package/dist/chunk-66LRFIYK.cjs.map +1 -0
  44. package/dist/{chunk-BDPE6ZKX.cjs → chunk-6MOJEGDU.cjs} +3 -3
  45. package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-6MOJEGDU.cjs.map} +1 -1
  46. package/dist/{chunk-BA2VUDQS.js → chunk-6NTDPZWP.js} +3 -3
  47. package/dist/{chunk-BA2VUDQS.js.map → chunk-6NTDPZWP.js.map} +1 -1
  48. package/dist/{chunk-35MFOORC.js → chunk-6USJ4LJJ.js} +4 -4
  49. package/dist/{chunk-35MFOORC.js.map → chunk-6USJ4LJJ.js.map} +1 -1
  50. package/dist/{chunk-36QGPGT2.cjs → chunk-6W3L6IJB.cjs} +13 -12
  51. package/dist/chunk-6W3L6IJB.cjs.map +1 -0
  52. package/dist/{chunk-7P3VY5JZ.js → chunk-75CPTIET.js} +8 -7
  53. package/dist/chunk-75CPTIET.js.map +1 -0
  54. package/dist/{chunk-J2FCNWYM.js → chunk-76B2VLID.js} +82 -88
  55. package/dist/chunk-76B2VLID.js.map +1 -0
  56. package/dist/{chunk-FHKB6MBQ.js → chunk-7MN4JDP7.js} +31 -16
  57. package/dist/chunk-7MN4JDP7.js.map +1 -0
  58. package/dist/{chunk-3DFRJSNE.cjs → chunk-7PNLMDAR.cjs} +8 -8
  59. package/dist/{chunk-3DFRJSNE.cjs.map → chunk-7PNLMDAR.cjs.map} +1 -1
  60. package/dist/{chunk-ABEOBHAM.cjs → chunk-7U7RP6N2.cjs} +8 -8
  61. package/dist/{chunk-ABEOBHAM.cjs.map → chunk-7U7RP6N2.cjs.map} +1 -1
  62. package/dist/{chunk-463O56TB.js → chunk-AJTJD5C6.js} +6 -6
  63. package/dist/{chunk-463O56TB.js.map → chunk-AJTJD5C6.js.map} +1 -1
  64. package/dist/chunk-AMFFE5UJ.js +216 -0
  65. package/dist/chunk-AMFFE5UJ.js.map +1 -0
  66. package/dist/{chunk-K6CQ45C2.js → chunk-ASJ5CBCR.js} +7 -6
  67. package/dist/chunk-ASJ5CBCR.js.map +1 -0
  68. package/dist/{chunk-ESJND7B6.js → chunk-BA4A7C7U.js} +12 -9
  69. package/dist/chunk-BA4A7C7U.js.map +1 -0
  70. package/dist/{chunk-KFEXS6OK.cjs → chunk-BAPCHFNX.cjs} +10 -9
  71. package/dist/chunk-BAPCHFNX.cjs.map +1 -0
  72. package/dist/{chunk-O3T7Z6RH.cjs → chunk-BRB52QFV.cjs} +14 -54
  73. package/dist/chunk-BRB52QFV.cjs.map +1 -0
  74. package/dist/chunk-BS55BG2U.cjs +164 -0
  75. package/dist/chunk-BS55BG2U.cjs.map +1 -0
  76. package/dist/{chunk-TH3H5UGK.cjs → chunk-CEU7BIL6.cjs} +11 -11
  77. package/dist/{chunk-TH3H5UGK.cjs.map → chunk-CEU7BIL6.cjs.map} +1 -1
  78. package/dist/{chunk-VBL5SI5N.js → chunk-CN2HJ7CP.js} +212 -183
  79. package/dist/chunk-CN2HJ7CP.js.map +1 -0
  80. package/dist/{chunk-PXVVTPRJ.js → chunk-CRQXHA7N.js} +9 -8
  81. package/dist/chunk-CRQXHA7N.js.map +1 -0
  82. package/dist/{chunk-SXIBQQ55.js → chunk-CZC2K5GJ.js} +10 -9
  83. package/dist/chunk-CZC2K5GJ.js.map +1 -0
  84. package/dist/{chunk-WA4VZ363.cjs → chunk-CZM5FAWL.cjs} +11 -10
  85. package/dist/chunk-CZM5FAWL.cjs.map +1 -0
  86. package/dist/{chunk-3JVD4AXC.js → chunk-D2DOHX4W.js} +253 -206
  87. package/dist/chunk-D2DOHX4W.js.map +1 -0
  88. package/dist/chunk-D3SSMY73.cjs +80 -0
  89. package/dist/chunk-D3SSMY73.cjs.map +1 -0
  90. package/dist/{chunk-PTZAJW3J.js → chunk-DIIE44GO.js} +14 -13
  91. package/dist/chunk-DIIE44GO.js.map +1 -0
  92. package/dist/{chunk-S54CKWKV.js → chunk-DSB4Q3AS.js} +3 -3
  93. package/dist/{chunk-S54CKWKV.js.map → chunk-DSB4Q3AS.js.map} +1 -1
  94. package/dist/{chunk-AMG3S252.js → chunk-EBQ3A4XO.js} +9 -8
  95. package/dist/chunk-EBQ3A4XO.js.map +1 -0
  96. package/dist/{chunk-2K44WLBJ.js → chunk-EC2ALHNJ.js} +73 -67
  97. package/dist/chunk-EC2ALHNJ.js.map +1 -0
  98. package/dist/{chunk-JEK5SVB5.cjs → chunk-EE2O457Z.cjs} +9 -9
  99. package/dist/{chunk-JEK5SVB5.cjs.map → chunk-EE2O457Z.cjs.map} +1 -1
  100. package/dist/{chunk-DP4KK2N4.cjs → chunk-EVKFA5FA.cjs} +32 -27
  101. package/dist/chunk-EVKFA5FA.cjs.map +1 -0
  102. package/dist/{chunk-MNVBSOAQ.cjs → chunk-F3NATTQG.cjs} +81 -75
  103. package/dist/chunk-F3NATTQG.cjs.map +1 -0
  104. package/dist/{chunk-OJCJPYXE.js → chunk-F3ZNRO6W.js} +8 -7
  105. package/dist/chunk-F3ZNRO6W.js.map +1 -0
  106. package/dist/{chunk-OHKL4DOV.js → chunk-FZCBTFHY.js} +7 -6
  107. package/dist/chunk-FZCBTFHY.js.map +1 -0
  108. package/dist/{chunk-Z7ID5TC7.cjs → chunk-GLJWAY4A.cjs} +15 -10
  109. package/dist/chunk-GLJWAY4A.cjs.map +1 -0
  110. package/dist/{chunk-7DWASA3K.js → chunk-GXRH5XQY.js} +89 -74
  111. package/dist/chunk-GXRH5XQY.js.map +1 -0
  112. package/dist/{chunk-WE2AXMPB.js → chunk-HNROO7CR.js} +230 -170
  113. package/dist/chunk-HNROO7CR.js.map +1 -0
  114. package/dist/{chunk-UJODHP7E.cjs → chunk-HPVXP3DG.cjs} +12 -11
  115. package/dist/chunk-HPVXP3DG.cjs.map +1 -0
  116. package/dist/chunk-HVUYVPQL.cjs +193 -0
  117. package/dist/chunk-HVUYVPQL.cjs.map +1 -0
  118. package/dist/{chunk-PWL6TWVC.cjs → chunk-I7KILUVL.cjs} +13 -12
  119. package/dist/chunk-I7KILUVL.cjs.map +1 -0
  120. package/dist/{chunk-UY3MYNI6.js → chunk-IHM2M74J.js} +5 -4
  121. package/dist/chunk-IHM2M74J.js.map +1 -0
  122. package/dist/{chunk-4M2KCZMO.js → chunk-IRSJHEYI.js} +5 -4
  123. package/dist/chunk-IRSJHEYI.js.map +1 -0
  124. package/dist/{chunk-MX2F3HUI.cjs → chunk-JEIQ5GDK.cjs} +25 -24
  125. package/dist/chunk-JEIQ5GDK.cjs.map +1 -0
  126. package/dist/{chunk-YXYD5HKL.cjs → chunk-KFDHP4WP.cjs} +4 -4
  127. package/dist/{chunk-YXYD5HKL.cjs.map → chunk-KFDHP4WP.cjs.map} +1 -1
  128. package/dist/{chunk-FDSUILCM.cjs → chunk-KRZ57O2J.cjs} +3 -4
  129. package/dist/chunk-KRZ57O2J.cjs.map +1 -0
  130. package/dist/{chunk-W3QVSVL7.cjs → chunk-L5YTMHDI.cjs} +11 -10
  131. package/dist/chunk-L5YTMHDI.cjs.map +1 -0
  132. package/dist/{chunk-PNYF6NS4.cjs → chunk-L7BOLGF2.cjs} +8 -7
  133. package/dist/chunk-L7BOLGF2.cjs.map +1 -0
  134. package/dist/{chunk-QPYPPJEZ.js → chunk-LHP47U6H.js} +5 -4
  135. package/dist/chunk-LHP47U6H.js.map +1 -0
  136. package/dist/{chunk-EBCHOGKT.js → chunk-LUBVZVY3.js} +17 -16
  137. package/dist/chunk-LUBVZVY3.js.map +1 -0
  138. package/dist/{chunk-47FUQCAT.cjs → chunk-LX64ENLC.cjs} +66 -51
  139. package/dist/chunk-LX64ENLC.cjs.map +1 -0
  140. package/dist/{chunk-GYUWDJXS.cjs → chunk-M3BF3BBJ.cjs} +13 -12
  141. package/dist/chunk-M3BF3BBJ.cjs.map +1 -0
  142. package/dist/chunk-M3IKL2VG.js +393 -0
  143. package/dist/chunk-M3IKL2VG.js.map +1 -0
  144. package/dist/{chunk-RSG7N5QQ.cjs → chunk-M3RNFDA2.cjs} +14 -13
  145. package/dist/chunk-M3RNFDA2.cjs.map +1 -0
  146. package/dist/{chunk-U4GWNENK.js → chunk-M4JUQCKP.js} +3 -3
  147. package/dist/chunk-M4JUQCKP.js.map +1 -0
  148. package/dist/{chunk-YUONTRNC.js → chunk-MGVEX3RS.js} +7 -7
  149. package/dist/{chunk-YUONTRNC.js.map → chunk-MGVEX3RS.js.map} +1 -1
  150. package/dist/chunk-MSNRGNVY.cjs +216 -0
  151. package/dist/chunk-MSNRGNVY.cjs.map +1 -0
  152. package/dist/{chunk-IXJOPMJX.cjs → chunk-MUUPZEZ5.cjs} +7 -6
  153. package/dist/chunk-MUUPZEZ5.cjs.map +1 -0
  154. package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
  155. package/dist/chunk-N2TNBDQI.js.map +1 -0
  156. package/dist/{chunk-CBJ4APCT.js → chunk-NH7KH7QP.js} +5 -4
  157. package/dist/chunk-NH7KH7QP.js.map +1 -0
  158. package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
  159. package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
  160. package/dist/{chunk-4I6VIR44.cjs → chunk-NYQPIBOD.cjs} +12 -11
  161. package/dist/chunk-NYQPIBOD.cjs.map +1 -0
  162. package/dist/{chunk-BTL6GUMN.js → chunk-O4RTJESR.js} +3 -3
  163. package/dist/{chunk-BTL6GUMN.js.map → chunk-O4RTJESR.js.map} +1 -1
  164. package/dist/{chunk-DZ3NHSJ4.js → chunk-O5A47TA2.js} +5 -4
  165. package/dist/chunk-O5A47TA2.js.map +1 -0
  166. package/dist/{chunk-HMWV6KCW.cjs → chunk-OSBVDRVD.cjs} +17 -16
  167. package/dist/chunk-OSBVDRVD.cjs.map +1 -0
  168. package/dist/{chunk-NF63IRZR.cjs → chunk-OULO3YDQ.cjs} +6 -5
  169. package/dist/chunk-OULO3YDQ.cjs.map +1 -0
  170. package/dist/{chunk-POW2Z7TP.js → chunk-OWBNRALR.js} +5 -5
  171. package/dist/{chunk-POW2Z7TP.js.map → chunk-OWBNRALR.js.map} +1 -1
  172. package/dist/{chunk-GEGYC7CE.js → chunk-P6RAOXJA.js} +5 -5
  173. package/dist/chunk-P6RAOXJA.js.map +1 -0
  174. package/dist/{chunk-MMQIQILP.cjs → chunk-PJMV2HTO.cjs} +27 -29
  175. package/dist/chunk-PJMV2HTO.cjs.map +1 -0
  176. package/dist/{chunk-3WMLV4VP.cjs → chunk-PL6J55JB.cjs} +6 -6
  177. package/dist/chunk-PL6J55JB.cjs.map +1 -0
  178. package/dist/chunk-PQRIV5XU.js +242 -0
  179. package/dist/chunk-PQRIV5XU.js.map +1 -0
  180. package/dist/chunk-PZ63ZCEO.cjs +470 -0
  181. package/dist/chunk-PZ63ZCEO.cjs.map +1 -0
  182. package/dist/{chunk-AKTUU5ML.js → chunk-Q3OA23V5.js} +17 -19
  183. package/dist/chunk-Q3OA23V5.js.map +1 -0
  184. package/dist/chunk-QAO6QMNQ.cjs +10 -0
  185. package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
  186. package/dist/{chunk-O2ZMOBMA.cjs → chunk-QCT4BPB6.cjs} +21 -21
  187. package/dist/{chunk-O2ZMOBMA.cjs.map → chunk-QCT4BPB6.cjs.map} +1 -1
  188. package/dist/{chunk-JMNH45Q3.cjs → chunk-QEFE4QBL.cjs} +81 -87
  189. package/dist/chunk-QEFE4QBL.cjs.map +1 -0
  190. package/dist/{chunk-ZP3UZDSV.cjs → chunk-QEX7V7TI.cjs} +10 -9
  191. package/dist/chunk-QEX7V7TI.cjs.map +1 -0
  192. package/dist/chunk-QGHFUOUB.cjs +112 -0
  193. package/dist/chunk-QGHFUOUB.cjs.map +1 -0
  194. package/dist/{chunk-VQ7IRFRR.cjs → chunk-QL3YSC3H.cjs} +16 -15
  195. package/dist/chunk-QL3YSC3H.cjs.map +1 -0
  196. package/dist/{chunk-2VIJC4NW.cjs → chunk-QRKRVCA3.cjs} +238 -178
  197. package/dist/chunk-QRKRVCA3.cjs.map +1 -0
  198. package/dist/{chunk-S4GLMGFI.js → chunk-RINP34ZG.js} +5 -4
  199. package/dist/chunk-RINP34ZG.js.map +1 -0
  200. package/dist/{chunk-RRNT32KY.js → chunk-RVENUWRD.js} +15 -55
  201. package/dist/chunk-RVENUWRD.js.map +1 -0
  202. package/dist/{chunk-GTPRZCNZ.js → chunk-S4B2D427.js} +3 -3
  203. package/dist/{chunk-GTPRZCNZ.js.map → chunk-S4B2D427.js.map} +1 -1
  204. package/dist/{chunk-AXCE2HKG.js → chunk-S4LVSSJI.js} +11 -6
  205. package/dist/chunk-S4LVSSJI.js.map +1 -0
  206. package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
  207. package/dist/chunk-SSOAZZNR.cjs.map +1 -0
  208. package/dist/{chunk-BZ4XKKNH.js → chunk-TF7IWMV2.js} +9 -8
  209. package/dist/chunk-TF7IWMV2.js.map +1 -0
  210. package/dist/{chunk-V7Q64Z3S.cjs → chunk-U2U4FMFM.cjs} +8 -8
  211. package/dist/{chunk-V7Q64Z3S.cjs.map → chunk-U2U4FMFM.cjs.map} +1 -1
  212. package/dist/chunk-U5GTHA44.cjs +395 -0
  213. package/dist/chunk-U5GTHA44.cjs.map +1 -0
  214. package/dist/chunk-UKDGDMWN.js +78 -0
  215. package/dist/chunk-UKDGDMWN.js.map +1 -0
  216. package/dist/chunk-UN35QV25.js +110 -0
  217. package/dist/chunk-UN35QV25.js.map +1 -0
  218. package/dist/{chunk-IR4COTIR.js → chunk-UPQHFW47.js} +4 -4
  219. package/dist/{chunk-IR4COTIR.js.map → chunk-UPQHFW47.js.map} +1 -1
  220. package/dist/{chunk-U5ZCQI5O.cjs → chunk-UXDXE7Z6.cjs} +41 -40
  221. package/dist/chunk-UXDXE7Z6.cjs.map +1 -0
  222. package/dist/{chunk-ZJ2NV4SQ.js → chunk-UYBGXFYX.js} +22 -21
  223. package/dist/chunk-UYBGXFYX.js.map +1 -0
  224. package/dist/{chunk-ZW2ATXTL.js → chunk-VAK4JQYL.js} +7 -6
  225. package/dist/chunk-VAK4JQYL.js.map +1 -0
  226. package/dist/{chunk-QADMIAYK.js → chunk-VEUZ5DZR.js} +6 -5
  227. package/dist/chunk-VEUZ5DZR.js.map +1 -0
  228. package/dist/{chunk-JVLE7PCJ.cjs → chunk-VJBBMBRT.cjs} +7 -7
  229. package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-VJBBMBRT.cjs.map} +1 -1
  230. package/dist/chunk-VVO7GIHG.cjs +220 -0
  231. package/dist/chunk-VVO7GIHG.cjs.map +1 -0
  232. package/dist/{chunk-BDBHHJGN.cjs → chunk-W3KMDQKP.cjs} +8 -7
  233. package/dist/chunk-W3KMDQKP.cjs.map +1 -0
  234. package/dist/{chunk-UC36KIEP.cjs → chunk-WGCGHFXE.cjs} +2 -3
  235. package/dist/chunk-WGCGHFXE.cjs.map +1 -0
  236. package/dist/{chunk-74ONIT6C.js → chunk-WO6FS4DV.js} +5 -4
  237. package/dist/chunk-WO6FS4DV.js.map +1 -0
  238. package/dist/chunk-WYE3VOFK.cjs +244 -0
  239. package/dist/chunk-WYE3VOFK.cjs.map +1 -0
  240. package/dist/{chunk-3IDEWEDY.cjs → chunk-X2GRBPCJ.cjs} +89 -74
  241. package/dist/chunk-X2GRBPCJ.cjs.map +1 -0
  242. package/dist/{chunk-4YQSKCVF.cjs → chunk-XADTIY7J.cjs} +4 -4
  243. package/dist/{chunk-4YQSKCVF.cjs.map → chunk-XADTIY7J.cjs.map} +1 -1
  244. package/dist/{chunk-63RKQ237.js → chunk-XUJZTD4E.js} +9 -8
  245. package/dist/chunk-XUJZTD4E.js.map +1 -0
  246. package/dist/{chunk-OJ3KVNW2.js → chunk-Y4FH67QZ.js} +8 -7
  247. package/dist/chunk-Y4FH67QZ.js.map +1 -0
  248. package/dist/{chunk-UQV5MOGR.js → chunk-YLGAJD6Q.js} +8 -6
  249. package/dist/chunk-YLGAJD6Q.js.map +1 -0
  250. package/dist/chunk-YNTPHZFJ.js +191 -0
  251. package/dist/chunk-YNTPHZFJ.js.map +1 -0
  252. package/dist/{chunk-OBBPRWYD.js → chunk-YSTESYUB.js} +24 -13
  253. package/dist/chunk-YSTESYUB.js.map +1 -0
  254. package/dist/{chunk-K77D7H4V.cjs → chunk-ZD3NPHZ7.cjs} +5 -4
  255. package/dist/chunk-ZD3NPHZ7.cjs.map +1 -0
  256. package/dist/{chunk-2RIDPITG.cjs → chunk-ZLATP3P5.cjs} +10 -8
  257. package/dist/chunk-ZLATP3P5.cjs.map +1 -0
  258. package/dist/{chunk-6NY5DOFM.js → chunk-ZVH3BLYO.js} +8 -7
  259. package/dist/chunk-ZVH3BLYO.js.map +1 -0
  260. package/dist/{chunk-STSR3FAC.js → chunk-ZWULWVN3.js} +30 -28
  261. package/dist/chunk-ZWULWVN3.js.map +1 -0
  262. package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
  263. package/dist/components/Accordion/index.cjs +5 -5
  264. package/dist/components/Accordion/index.js +2 -2
  265. package/dist/components/Alert/Alert.d.ts.map +1 -1
  266. package/dist/components/Alert/Alert.recipe.d.ts +1 -1
  267. package/dist/components/Alert/index.cjs +8 -7
  268. package/dist/components/Alert/index.js +7 -6
  269. package/dist/components/AlertDialog/index.cjs +10 -9
  270. package/dist/components/AlertDialog/index.js +8 -7
  271. package/dist/components/AppShell/AppShell.d.ts.map +1 -1
  272. package/dist/components/AppShell/index.cjs +16 -15
  273. package/dist/components/AppShell/index.js +13 -12
  274. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +6 -1
  275. package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
  276. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
  277. package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
  278. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
  279. package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
  280. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +22 -2
  281. package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
  282. package/dist/components/AutocompleteInput/index.cjs +14 -13
  283. package/dist/components/AutocompleteInput/index.d.ts +1 -1
  284. package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
  285. package/dist/components/AutocompleteInput/index.js +10 -9
  286. package/dist/components/AutocompleteInput/types.d.ts +39 -3
  287. package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
  288. package/dist/components/Avatar/Avatar.d.ts.map +1 -1
  289. package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
  290. package/dist/components/Avatar/index.cjs +6 -5
  291. package/dist/components/Avatar/index.js +3 -2
  292. package/dist/components/AvatarGroup/index.cjs +6 -5
  293. package/dist/components/AvatarGroup/index.js +4 -3
  294. package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
  295. package/dist/components/Blockquote/index.cjs +3 -6
  296. package/dist/components/Blockquote/index.d.ts +0 -1
  297. package/dist/components/Blockquote/index.d.ts.map +1 -1
  298. package/dist/components/Blockquote/index.js +2 -1
  299. package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
  300. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
  301. package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
  302. package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  303. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
  304. package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
  305. package/dist/components/Breadcrumbs/index.cjs +6 -4
  306. package/dist/components/Breadcrumbs/index.js +3 -1
  307. package/dist/components/Button/Button.d.ts.map +1 -1
  308. package/dist/components/Button/Button.recipe.d.ts +80 -62
  309. package/dist/components/Button/Button.recipe.d.ts.map +1 -1
  310. package/dist/components/Button/index.cjs +7 -6
  311. package/dist/components/Button/index.js +6 -5
  312. package/dist/components/ButtonGroup/ButtonGroup.recipe.d.ts +4 -4
  313. package/dist/components/ButtonGroup/ButtonGroup.recipe.d.ts.map +1 -1
  314. package/dist/components/ButtonGroup/index.cjs +2 -2
  315. package/dist/components/ButtonGroup/index.js +1 -1
  316. package/dist/components/Calendar/Calendar.d.ts.map +1 -1
  317. package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
  318. package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
  319. package/dist/components/Calendar/index.cjs +8 -7
  320. package/dist/components/Calendar/index.js +7 -6
  321. package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
  322. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
  323. package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
  324. package/dist/components/CheckboxInput/index.cjs +7 -6
  325. package/dist/components/CheckboxInput/index.js +6 -5
  326. package/dist/components/CodeBlock/index.cjs +9 -8
  327. package/dist/components/CodeBlock/index.d.ts +0 -1
  328. package/dist/components/CodeBlock/index.d.ts.map +1 -1
  329. package/dist/components/CodeBlock/index.js +8 -7
  330. package/dist/components/ContextMenu/index.cjs +13 -12
  331. package/dist/components/ContextMenu/index.js +11 -10
  332. package/dist/components/DateInput/DateInput.d.ts +5 -1
  333. package/dist/components/DateInput/DateInput.d.ts.map +1 -1
  334. package/dist/components/DateInput/index.cjs +11 -10
  335. package/dist/components/DateInput/index.js +10 -9
  336. package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
  337. package/dist/components/DateRangeInput/index.cjs +11 -10
  338. package/dist/components/DateRangeInput/index.js +10 -9
  339. package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
  340. package/dist/components/DateTimeInput/index.cjs +13 -12
  341. package/dist/components/DateTimeInput/index.js +12 -11
  342. package/dist/components/Divider/Divider.d.ts.map +1 -1
  343. package/dist/components/Divider/index.cjs +3 -2
  344. package/dist/components/Divider/index.js +2 -1
  345. package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
  346. package/dist/components/DropdownMenu/index.cjs +14 -13
  347. package/dist/components/DropdownMenu/index.js +10 -9
  348. package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
  349. package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
  350. package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
  351. package/dist/components/EmptyState/index.cjs +5 -3
  352. package/dist/components/EmptyState/index.js +4 -2
  353. package/dist/components/Field/Field.d.ts.map +1 -1
  354. package/dist/components/Field/index.cjs +6 -5
  355. package/dist/components/Field/index.js +4 -3
  356. package/dist/components/FileInput/FileInput.d.ts.map +1 -1
  357. package/dist/components/FileInput/index.cjs +9 -8
  358. package/dist/components/FileInput/index.js +8 -7
  359. package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
  360. package/dist/components/InputGroup/index.cjs +9 -8
  361. package/dist/components/InputGroup/index.js +5 -4
  362. package/dist/components/Item/Item.d.ts.map +1 -1
  363. package/dist/components/Item/index.cjs +4 -3
  364. package/dist/components/Item/index.js +3 -2
  365. package/dist/components/Kbd/index.d.ts +0 -1
  366. package/dist/components/Kbd/index.d.ts.map +1 -1
  367. package/dist/components/Layout/Layout.d.ts.map +1 -1
  368. package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
  369. package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
  370. package/dist/components/Layout/index.cjs +12 -11
  371. package/dist/components/Layout/index.js +7 -6
  372. package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
  373. package/dist/components/Lightbox/index.cjs +9 -8
  374. package/dist/components/Lightbox/index.js +7 -6
  375. package/dist/components/Link/index.cjs +1 -0
  376. package/dist/components/Link/index.js +1 -0
  377. package/dist/components/List/List.d.ts.map +1 -1
  378. package/dist/components/List/List.recipe.d.ts +42 -0
  379. package/dist/components/List/List.recipe.d.ts.map +1 -0
  380. package/dist/components/List/ListItem.d.ts.map +1 -1
  381. package/dist/components/List/index.cjs +7 -5
  382. package/dist/components/List/index.js +5 -3
  383. package/dist/components/MetadataList/index.cjs +4 -4
  384. package/dist/components/MetadataList/index.js +2 -2
  385. package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
  386. package/dist/components/MultiSelect/index.cjs +11 -10
  387. package/dist/components/MultiSelect/index.js +10 -9
  388. package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
  389. package/dist/components/NumberInput/index.cjs +10 -9
  390. package/dist/components/NumberInput/index.js +9 -8
  391. package/dist/components/Pagination/index.cjs +8 -7
  392. package/dist/components/Pagination/index.js +7 -6
  393. package/dist/components/PasswordInput/index.cjs +11 -10
  394. package/dist/components/PasswordInput/index.js +10 -9
  395. package/dist/components/Popover/Popover.d.ts.map +1 -1
  396. package/dist/components/Popover/index.cjs +9 -8
  397. package/dist/components/Popover/index.js +7 -6
  398. package/dist/components/Progress/Progress.d.ts.map +1 -1
  399. package/dist/components/Progress/Progress.recipe.d.ts +34 -16
  400. package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
  401. package/dist/components/Progress/index.cjs +4 -2
  402. package/dist/components/Progress/index.js +3 -1
  403. package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
  404. package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
  405. package/dist/components/RadioGroup/index.cjs +8 -7
  406. package/dist/components/RadioGroup/index.d.ts +0 -1
  407. package/dist/components/RadioGroup/index.d.ts.map +1 -1
  408. package/dist/components/RadioGroup/index.js +6 -5
  409. package/dist/components/Rating/index.cjs +3 -7
  410. package/dist/components/Rating/index.d.ts +0 -1
  411. package/dist/components/Rating/index.d.ts.map +1 -1
  412. package/dist/components/Rating/index.js +2 -2
  413. package/dist/components/Schedule/index.cjs +23 -22
  414. package/dist/components/Schedule/index.js +12 -11
  415. package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
  416. package/dist/components/SearchFilterInput/index.cjs +30 -29
  417. package/dist/components/SearchFilterInput/index.js +22 -21
  418. package/dist/components/Select/Select.d.ts.map +1 -1
  419. package/dist/components/Select/Select.recipe.d.ts +25 -0
  420. package/dist/components/Select/Select.recipe.d.ts.map +1 -0
  421. package/dist/components/Select/SelectOption.d.ts.map +1 -1
  422. package/dist/components/Select/index.cjs +13 -12
  423. package/dist/components/Select/index.js +11 -10
  424. package/dist/components/SideNav/SideNav.d.ts.map +1 -1
  425. package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
  426. package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
  427. package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
  428. package/dist/components/SideNav/index.cjs +15 -14
  429. package/dist/components/SideNav/index.js +9 -8
  430. package/dist/components/Skeleton/index.cjs +2 -6
  431. package/dist/components/Skeleton/index.d.ts +0 -1
  432. package/dist/components/Skeleton/index.d.ts.map +1 -1
  433. package/dist/components/Skeleton/index.js +1 -1
  434. package/dist/components/Slider/Slider.d.ts.map +1 -1
  435. package/dist/components/Slider/index.cjs +6 -9
  436. package/dist/components/Slider/index.d.ts +0 -1
  437. package/dist/components/Slider/index.d.ts.map +1 -1
  438. package/dist/components/Slider/index.js +5 -4
  439. package/dist/components/Spinner/index.cjs +3 -3
  440. package/dist/components/Spinner/index.js +2 -2
  441. package/dist/components/SplitButton/SplitButton.d.ts +89 -0
  442. package/dist/components/SplitButton/SplitButton.d.ts.map +1 -0
  443. package/dist/components/SplitButton/index.cjs +35 -0
  444. package/dist/components/SplitButton/index.cjs.map +1 -0
  445. package/dist/components/SplitButton/index.d.ts +2 -0
  446. package/dist/components/SplitButton/index.d.ts.map +1 -0
  447. package/dist/components/SplitButton/index.js +26 -0
  448. package/dist/components/SplitButton/index.js.map +1 -0
  449. package/dist/components/Stack/HStack.d.ts +1 -1
  450. package/dist/components/Stack/HStack.d.ts.map +1 -1
  451. package/dist/components/Stack/VStack.d.ts +1 -1
  452. package/dist/components/Stack/VStack.d.ts.map +1 -1
  453. package/dist/components/Stack/index.cjs +3 -3
  454. package/dist/components/Stack/index.d.ts +1 -1
  455. package/dist/components/Stack/index.d.ts.map +1 -1
  456. package/dist/components/Stack/index.js +1 -1
  457. package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
  458. package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
  459. package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
  460. package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
  461. package/dist/components/Stepper/Step.d.ts.map +1 -1
  462. package/dist/components/Stepper/index.cjs +6 -5
  463. package/dist/components/Stepper/index.js +3 -2
  464. package/dist/components/Switch/Switch.d.ts.map +1 -1
  465. package/dist/components/Switch/index.cjs +6 -5
  466. package/dist/components/Switch/index.js +5 -4
  467. package/dist/components/Table/BaseTable.d.ts.map +1 -1
  468. package/dist/components/Table/index.cjs +53 -52
  469. package/dist/components/Table/index.js +25 -24
  470. package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
  471. package/dist/components/Tabs/Tab.d.ts.map +1 -1
  472. package/dist/components/Tabs/index.cjs +13 -12
  473. package/dist/components/Tabs/index.js +8 -7
  474. package/dist/components/Tag/Tag.d.ts +2 -2
  475. package/dist/components/Tag/Tag.d.ts.map +1 -1
  476. package/dist/components/Tag/Tag.recipe.d.ts +103 -68
  477. package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
  478. package/dist/components/Tag/index.cjs +4 -2
  479. package/dist/components/Tag/index.js +3 -1
  480. package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
  481. package/dist/components/TagsInput/index.cjs +12 -11
  482. package/dist/components/TagsInput/index.js +11 -10
  483. package/dist/components/Text/Heading.d.ts.map +1 -1
  484. package/dist/components/Text/Text.d.ts.map +1 -1
  485. package/dist/components/Text/index.cjs +3 -3
  486. package/dist/components/Text/index.js +1 -1
  487. package/dist/components/TextArea/TextArea.d.ts.map +1 -1
  488. package/dist/components/TextArea/index.cjs +7 -6
  489. package/dist/components/TextArea/index.js +6 -5
  490. package/dist/components/TextInput/TextInput.d.ts.map +1 -1
  491. package/dist/components/TextInput/index.cjs +10 -9
  492. package/dist/components/TextInput/index.js +9 -8
  493. package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
  494. package/dist/components/Thumbnail/index.cjs +9 -8
  495. package/dist/components/Thumbnail/index.d.ts +0 -1
  496. package/dist/components/Thumbnail/index.d.ts.map +1 -1
  497. package/dist/components/Thumbnail/index.js +8 -7
  498. package/dist/components/TimeInput/TimeInput.d.ts +10 -2
  499. package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
  500. package/dist/components/TimeInput/index.cjs +9 -8
  501. package/dist/components/TimeInput/index.js +8 -7
  502. package/dist/components/Toast/Toast.d.ts.map +1 -1
  503. package/dist/components/Toast/Toast.recipe.d.ts +39 -0
  504. package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
  505. package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
  506. package/dist/components/Toast/index.cjs +10 -9
  507. package/dist/components/Toast/index.js +7 -6
  508. package/dist/components/ToggleButton/index.cjs +7 -7
  509. package/dist/components/ToggleButton/index.js +5 -5
  510. package/dist/components/TopNav/TopNav.d.ts.map +1 -1
  511. package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
  512. package/dist/components/TopNav/index.cjs +15 -14
  513. package/dist/components/TopNav/index.js +9 -8
  514. package/dist/components/TreeView/TreeView.d.ts.map +1 -1
  515. package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
  516. package/dist/components/TreeView/index.cjs +3 -2
  517. package/dist/components/TreeView/index.js +2 -1
  518. package/dist/index.cjs +229 -227
  519. package/dist/index.cjs.map +1 -1
  520. package/dist/index.d.ts +3 -2
  521. package/dist/index.d.ts.map +1 -1
  522. package/dist/index.js +66 -64
  523. package/dist/index.js.map +1 -1
  524. package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
  525. package/dist/internal/OverflowList.d.ts.map +1 -1
  526. package/dist/internal/index.d.ts +1 -0
  527. package/dist/internal/index.d.ts.map +1 -1
  528. package/dist/internal/isReactNode.d.ts +3 -0
  529. package/dist/internal/isReactNode.d.ts.map +1 -0
  530. package/dist/internal/useSelectListbox.d.ts +2 -2
  531. package/dist/internal/useSelectListbox.d.ts.map +1 -1
  532. package/dist/styles.css +1 -1
  533. package/package.json +1 -1
  534. package/dist/chunk-2K44WLBJ.js.map +0 -1
  535. package/dist/chunk-2RIDPITG.cjs.map +0 -1
  536. package/dist/chunk-2VIJC4NW.cjs.map +0 -1
  537. package/dist/chunk-36QGPGT2.cjs.map +0 -1
  538. package/dist/chunk-3DZPRXMC.cjs.map +0 -1
  539. package/dist/chunk-3IDEWEDY.cjs.map +0 -1
  540. package/dist/chunk-3JVD4AXC.js.map +0 -1
  541. package/dist/chunk-3SLWOIT4.cjs.map +0 -1
  542. package/dist/chunk-3WMLV4VP.cjs.map +0 -1
  543. package/dist/chunk-47FUQCAT.cjs.map +0 -1
  544. package/dist/chunk-4I6VIR44.cjs.map +0 -1
  545. package/dist/chunk-4M2KCZMO.js.map +0 -1
  546. package/dist/chunk-4YESF35X.cjs +0 -211
  547. package/dist/chunk-4YESF35X.cjs.map +0 -1
  548. package/dist/chunk-4YQTSHIB.cjs.map +0 -1
  549. package/dist/chunk-5MDH6QZE.js.map +0 -1
  550. package/dist/chunk-63RKQ237.js.map +0 -1
  551. package/dist/chunk-6D3FA247.js +0 -126
  552. package/dist/chunk-6D3FA247.js.map +0 -1
  553. package/dist/chunk-6NY5DOFM.js.map +0 -1
  554. package/dist/chunk-74ONIT6C.js.map +0 -1
  555. package/dist/chunk-76FHSISK.cjs.map +0 -1
  556. package/dist/chunk-77RGTGRM.cjs +0 -128
  557. package/dist/chunk-77RGTGRM.cjs.map +0 -1
  558. package/dist/chunk-7DWASA3K.js.map +0 -1
  559. package/dist/chunk-7P3VY5JZ.js.map +0 -1
  560. package/dist/chunk-AJYVGSBW.cjs.map +0 -1
  561. package/dist/chunk-AKTUU5ML.js.map +0 -1
  562. package/dist/chunk-AMG3S252.js.map +0 -1
  563. package/dist/chunk-AXCE2HKG.js.map +0 -1
  564. package/dist/chunk-BDBHHJGN.cjs.map +0 -1
  565. package/dist/chunk-BZ4XKKNH.js.map +0 -1
  566. package/dist/chunk-CBJ4APCT.js.map +0 -1
  567. package/dist/chunk-CPZWTWYQ.js.map +0 -1
  568. package/dist/chunk-DH2ZFYKE.cjs +0 -441
  569. package/dist/chunk-DH2ZFYKE.cjs.map +0 -1
  570. package/dist/chunk-DP4KK2N4.cjs.map +0 -1
  571. package/dist/chunk-DZ3NHSJ4.js.map +0 -1
  572. package/dist/chunk-E2JZGYKU.cjs +0 -181
  573. package/dist/chunk-E2JZGYKU.cjs.map +0 -1
  574. package/dist/chunk-E7UOFIBW.cjs.map +0 -1
  575. package/dist/chunk-EBCHOGKT.js.map +0 -1
  576. package/dist/chunk-EFO5NDBJ.js +0 -191
  577. package/dist/chunk-EFO5NDBJ.js.map +0 -1
  578. package/dist/chunk-ESJND7B6.js.map +0 -1
  579. package/dist/chunk-FDSUILCM.cjs.map +0 -1
  580. package/dist/chunk-FHKB6MBQ.js.map +0 -1
  581. package/dist/chunk-GEGYC7CE.js.map +0 -1
  582. package/dist/chunk-GGZGVAEF.cjs.map +0 -1
  583. package/dist/chunk-GYUWDJXS.cjs.map +0 -1
  584. package/dist/chunk-HMWV6KCW.cjs.map +0 -1
  585. package/dist/chunk-IXJOPMJX.cjs.map +0 -1
  586. package/dist/chunk-J2FCNWYM.js.map +0 -1
  587. package/dist/chunk-JMNH45Q3.cjs.map +0 -1
  588. package/dist/chunk-K6CQ45C2.js.map +0 -1
  589. package/dist/chunk-K77D7H4V.cjs.map +0 -1
  590. package/dist/chunk-KFEXS6OK.cjs.map +0 -1
  591. package/dist/chunk-L6JT244G.cjs.map +0 -1
  592. package/dist/chunk-L6WUK7O4.js +0 -207
  593. package/dist/chunk-L6WUK7O4.js.map +0 -1
  594. package/dist/chunk-LJLCGQRV.js +0 -99
  595. package/dist/chunk-LJLCGQRV.js.map +0 -1
  596. package/dist/chunk-MEBIRX2P.js.map +0 -1
  597. package/dist/chunk-MMQIQILP.cjs.map +0 -1
  598. package/dist/chunk-MMST4VXH.cjs +0 -392
  599. package/dist/chunk-MMST4VXH.cjs.map +0 -1
  600. package/dist/chunk-MNVBSOAQ.cjs.map +0 -1
  601. package/dist/chunk-MX2F3HUI.cjs.map +0 -1
  602. package/dist/chunk-NF63IRZR.cjs.map +0 -1
  603. package/dist/chunk-O3T7Z6RH.cjs.map +0 -1
  604. package/dist/chunk-OBBPRWYD.js.map +0 -1
  605. package/dist/chunk-OHKL4DOV.js.map +0 -1
  606. package/dist/chunk-OJ3KVNW2.js.map +0 -1
  607. package/dist/chunk-OJCJPYXE.js.map +0 -1
  608. package/dist/chunk-P4A7GWQY.cjs.map +0 -1
  609. package/dist/chunk-P4TOIB2A.cjs +0 -101
  610. package/dist/chunk-P4TOIB2A.cjs.map +0 -1
  611. package/dist/chunk-PJXJOI73.js +0 -232
  612. package/dist/chunk-PJXJOI73.js.map +0 -1
  613. package/dist/chunk-PNYF6NS4.cjs.map +0 -1
  614. package/dist/chunk-PTZAJW3J.js.map +0 -1
  615. package/dist/chunk-PWL6TWVC.cjs.map +0 -1
  616. package/dist/chunk-PXVVTPRJ.js.map +0 -1
  617. package/dist/chunk-QADMIAYK.js.map +0 -1
  618. package/dist/chunk-QPYPPJEZ.js.map +0 -1
  619. package/dist/chunk-RRNT32KY.js.map +0 -1
  620. package/dist/chunk-RSG7N5QQ.cjs.map +0 -1
  621. package/dist/chunk-S4GLMGFI.js.map +0 -1
  622. package/dist/chunk-SSOHJEHS.js +0 -390
  623. package/dist/chunk-SSOHJEHS.js.map +0 -1
  624. package/dist/chunk-STSR3FAC.js.map +0 -1
  625. package/dist/chunk-SXIBQQ55.js.map +0 -1
  626. package/dist/chunk-TO3ZPSYO.cjs +0 -234
  627. package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
  628. package/dist/chunk-TZQWZ7IL.cjs.map +0 -1
  629. package/dist/chunk-U4GWNENK.js.map +0 -1
  630. package/dist/chunk-U5ZCQI5O.cjs.map +0 -1
  631. package/dist/chunk-UC36KIEP.cjs.map +0 -1
  632. package/dist/chunk-UJODHP7E.cjs.map +0 -1
  633. package/dist/chunk-UQV5MOGR.js.map +0 -1
  634. package/dist/chunk-UUIAGGFW.cjs.map +0 -1
  635. package/dist/chunk-UX2Z7LRM.cjs +0 -194
  636. package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
  637. package/dist/chunk-UY3MYNI6.js.map +0 -1
  638. package/dist/chunk-UYKFE7KF.js.map +0 -1
  639. package/dist/chunk-VBL5SI5N.js.map +0 -1
  640. package/dist/chunk-VQ7IRFRR.cjs.map +0 -1
  641. package/dist/chunk-W3QVSVL7.cjs.map +0 -1
  642. package/dist/chunk-WA4VZ363.cjs.map +0 -1
  643. package/dist/chunk-WE2AXMPB.js.map +0 -1
  644. package/dist/chunk-WVQDFCFQ.js.map +0 -1
  645. package/dist/chunk-XHTKGOQV.cjs.map +0 -1
  646. package/dist/chunk-XVRQSTUF.js.map +0 -1
  647. package/dist/chunk-Z7ID5TC7.cjs.map +0 -1
  648. package/dist/chunk-ZC6GLBEL.js +0 -179
  649. package/dist/chunk-ZC6GLBEL.js.map +0 -1
  650. package/dist/chunk-ZJ2NV4SQ.js.map +0 -1
  651. package/dist/chunk-ZP3UZDSV.cjs.map +0 -1
  652. package/dist/chunk-ZW2ATXTL.js.map +0 -1
  653. package/dist/components/Stack/Stack.d.ts.map +0 -1
  654. package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
@@ -1,9 +1,10 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkW5G7ZDQ6_cjs = require('./chunk-W5G7ZDQ6.cjs');
4
- var chunkJMNH45Q3_cjs = require('./chunk-JMNH45Q3.cjs');
4
+ var chunkQEFE4QBL_cjs = require('./chunk-QEFE4QBL.cjs');
5
5
  var chunkWMXIUOOU_cjs = require('./chunk-WMXIUOOU.cjs');
6
6
  var chunk7GN6YTSS_cjs = require('./chunk-7GN6YTSS.cjs');
7
+ var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
7
8
  var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
8
9
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
9
10
  var lucideReact = require('lucide-react');
@@ -39,7 +40,7 @@ function Field({
39
40
  style,
40
41
  ref
41
42
  }) {
42
- const resolvedDescriptionID = descriptionID ?? (description != null ? `${inputId}-description` : void 0);
43
+ const resolvedDescriptionID = descriptionID ?? (chunkQAO6QMNQ_cjs.isReactNode(description) ? `${inputId}-description` : void 0);
43
44
  const resolvedStatusID = status?.messageID ?? (status?.message != null ? `${inputId}-status` : void 0);
44
45
  const statusText = isOptional ? "Optional" : isRequired ? "Required" : null;
45
46
  const classes = chunkW5G7ZDQ6_cjs.fieldRecipe({
@@ -55,17 +56,17 @@ function Field({
55
56
  id: labelId,
56
57
  children: [
57
58
  labelIcon != null ? /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { color: "secondary", icon: labelIcon, size: "sm" }) : null,
58
- /* @__PURE__ */ jsxRuntime.jsx(chunkJMNH45Q3_cjs.Text, { as: "span", color: "inherit", type: "label", children: label }),
59
- statusText != null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkJMNH45Q3_cjs.Text, { as: "span", className: classes.indicator, type: "supporting", children: [
59
+ /* @__PURE__ */ jsxRuntime.jsx(chunkQEFE4QBL_cjs.Text, { as: "span", color: "inherit", type: "label", children: label }),
60
+ statusText != null ? /* @__PURE__ */ jsxRuntime.jsxs(chunkQEFE4QBL_cjs.Text, { as: "span", className: classes.indicator, type: "supporting", children: [
60
61
  /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
61
62
  statusText
62
63
  ] }) : null,
63
- labelTooltip != null ? /* @__PURE__ */ jsxRuntime.jsx(chunk7GN6YTSS_cjs.Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { icon: lucideReact.Info, size: "sm" }) }) }) : null
64
+ chunkQAO6QMNQ_cjs.isReactNode(labelTooltip) ? /* @__PURE__ */ jsxRuntime.jsx(chunk7GN6YTSS_cjs.Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.tooltipIcon, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { icon: lucideReact.Info, size: "sm" }) }) }) : null
64
65
  ]
65
66
  }
66
67
  );
67
- const descriptionNode = description != null ? /* @__PURE__ */ jsxRuntime.jsx(
68
- chunkJMNH45Q3_cjs.Text,
68
+ const descriptionNode = chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(
69
+ chunkQEFE4QBL_cjs.Text,
69
70
  {
70
71
  as: "span",
71
72
  color: "secondary",
@@ -114,5 +115,5 @@ Field.displayName = "Field";
114
115
 
115
116
  exports.Field = Field;
116
117
  exports.getNecessity = getNecessity;
117
- //# sourceMappingURL=chunk-KFEXS6OK.cjs.map
118
- //# sourceMappingURL=chunk-KFEXS6OK.cjs.map
118
+ //# sourceMappingURL=chunk-BAPCHFNX.cjs.map
119
+ //# sourceMappingURL=chunk-BAPCHFNX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Field/Field.tsx"],"names":["isReactNode","fieldRecipe","jsxs","Icon","jsx","Text","Tooltip","Info","cx","VisuallyHidden","Fragment"],"mappings":"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","file":"chunk-BAPCHFNX.cjs","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,54 +1,16 @@
1
1
  'use strict';
2
2
 
3
- var chunk77RGTGRM_cjs = require('./chunk-77RGTGRM.cjs');
4
- var chunkYXYD5HKL_cjs = require('./chunk-YXYD5HKL.cjs');
3
+ var chunkHVUYVPQL_cjs = require('./chunk-HVUYVPQL.cjs');
4
+ var chunkKFDHP4WP_cjs = require('./chunk-KFDHP4WP.cjs');
5
5
  var chunkLFRTNC7M_cjs = require('./chunk-LFRTNC7M.cjs');
6
6
  var chunkWMXIUOOU_cjs = require('./chunk-WMXIUOOU.cjs');
7
7
  var chunk7GN6YTSS_cjs = require('./chunk-7GN6YTSS.cjs');
8
8
  var chunk2OXKEUKG_cjs = require('./chunk-2OXKEUKG.cjs');
9
+ var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
9
10
  var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
10
11
  var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
11
- var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
12
12
  var jsxRuntime = require('react/jsx-runtime');
13
13
 
14
- var styles = {
15
- content: chunkRU6JG3FS_cjs.css({
16
- display: "contents"
17
- }),
18
- label: chunkRU6JG3FS_cjs.css({
19
- overflow: "hidden",
20
- textOverflow: "ellipsis",
21
- minW: 0,
22
- // The label is a (blockified) flex item, so `overflow: hidden` clips it to
23
- // its line box. With a tight line-height that crops descenders (e.g. the
24
- // "g" in "changes"), so pad the clip box vertically and cancel the padding
25
- // with a negative margin to keep layout unchanged.
26
- py: "0.25em",
27
- mt: "-0.35em",
28
- mb: "-0.25em"
29
- }),
30
- icon: chunkRU6JG3FS_cjs.css({
31
- display: "inline-flex",
32
- alignItems: "center",
33
- justifyContent: "center",
34
- flexShrink: 0
35
- }),
36
- endContent: chunkRU6JG3FS_cjs.css({
37
- display: "inline-flex",
38
- alignItems: "center",
39
- color: "inherit"
40
- }),
41
- startContent: chunkRU6JG3FS_cjs.css({
42
- display: "inline-flex",
43
- alignItems: "center",
44
- color: "inherit"
45
- }),
46
- loadingIndicator: chunkRU6JG3FS_cjs.css({
47
- display: "inline-flex",
48
- alignItems: "center",
49
- color: "inherit"
50
- })
51
- };
52
14
  function Button({
53
15
  label,
54
16
  "aria-controls": ariaControls,
@@ -96,11 +58,12 @@ function Button({
96
58
  const renderAsLink = href != null && !buttonDisabled;
97
59
  const opensInNewTab = renderAsLink && target === "_blank";
98
60
  const ariaLabel = ariaLabelProp ?? chunkLFRTNC7M_cjs.getAriaLabel(
99
- isIconOnly || isLoading || startContent != null || endContent != null || opensInNewTab ? label : void 0,
61
+ isIconOnly || isLoading || chunkQAO6QMNQ_cjs.isReactNode(startContent) || chunkQAO6QMNQ_cjs.isReactNode(endContent) || opensInNewTab ? label : void 0,
100
62
  opensInNewTab
101
63
  );
102
64
  const linkRel = chunkLFRTNC7M_cjs.useRel({ target, rel });
103
65
  const spinnerVariant = variant === "primary" || variant === "destructive" || variant === "onSolid" ? "onMedia" : "default";
66
+ const classes = chunkHVUYVPQL_cjs.buttonRecipe({ variant, size, iconOnly: isIconOnly });
104
67
  const ariaAttrs = {
105
68
  "aria-controls": ariaControls,
106
69
  "aria-current": ariaCurrent,
@@ -136,19 +99,16 @@ function Button({
136
99
  onKeyDown?.(event);
137
100
  };
138
101
  const buttonContent = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
139
- /* @__PURE__ */ jsxRuntime.jsxs("span", { "aria-hidden": isLoading || void 0, className: styles.content, children: [
140
- icon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: styles.icon, children: /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { icon, size }) }) : null,
141
- !isIconOnly && startContent != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.startContent, children: startContent }) : null,
142
- !isIconOnly && /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.label, children: label }),
143
- !isIconOnly && endContent != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.endContent, children: endContent }) : null,
144
- !isIconOnly && isLoading ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: styles.loadingIndicator, children: /* @__PURE__ */ jsxRuntime.jsx(chunkYXYD5HKL_cjs.Spinner, { size, variant: spinnerVariant }) }) : null
102
+ /* @__PURE__ */ jsxRuntime.jsxs("span", { "aria-hidden": isLoading || void 0, className: classes.content, children: [
103
+ icon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: classes.icon, children: isIconOnly && isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkKFDHP4WP_cjs.Spinner, { size, variant: spinnerVariant }) : /* @__PURE__ */ jsxRuntime.jsx(chunk4TIAKZ4Q_cjs.Icon, { icon, size }) }) : null,
104
+ !isIconOnly && chunkQAO6QMNQ_cjs.isReactNode(startContent) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.startContent, children: startContent }) : null,
105
+ !isIconOnly ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.label, children: label }) : null,
106
+ !isIconOnly && chunkQAO6QMNQ_cjs.isReactNode(endContent) ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.endContent, children: endContent }) : null,
107
+ !isIconOnly && isLoading ? /* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: classes.loadingIndicator, children: /* @__PURE__ */ jsxRuntime.jsx(chunkKFDHP4WP_cjs.Spinner, { size, variant: spinnerVariant }) }) : null
145
108
  ] }),
146
109
  /* @__PURE__ */ jsxRuntime.jsx(chunkWMXIUOOU_cjs.VisuallyHidden, { "aria-live": "polite", role: "status", children: isLoading ? "Loading" : "" })
147
110
  ] });
148
- const rootClassName = chunkSPDVNY2Z_cjs.cx(
149
- chunk77RGTGRM_cjs.buttonRecipe({ variant, size, iconOnly: isIconOnly }),
150
- className
151
- );
111
+ const rootClassName = chunkSPDVNY2Z_cjs.cx(classes.root, className);
152
112
  const element = renderAsLink ? /* @__PURE__ */ jsxRuntime.jsx(
153
113
  LinkComponent,
154
114
  {
@@ -195,5 +155,5 @@ function Button({
195
155
  Button.displayName = "Button";
196
156
 
197
157
  exports.Button = Button;
198
- //# sourceMappingURL=chunk-O3T7Z6RH.cjs.map
199
- //# sourceMappingURL=chunk-O3T7Z6RH.cjs.map
158
+ //# sourceMappingURL=chunk-BRB52QFV.cjs.map
159
+ //# sourceMappingURL=chunk-BRB52QFV.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Button/Button.tsx"],"names":["useLinkComponent","useButtonGroup","getAriaLabel","isReactNode","useRel","buttonRecipe","jsxs","Fragment","Spinner","Icon","jsx","VisuallyHidden","cx","Tooltip"],"mappings":"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","file":"chunk-BRB52QFV.cjs","sourcesContent":["/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n\nimport type {\n CSSProperties,\n JSX,\n KeyboardEvent,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {getAriaLabel, useRel} from '../../internal/linkAccessibility';\nimport {useButtonGroup} from '../ButtonGroup/ButtonGroupContext';\nimport {Icon, type IconComponent} from '../Icon';\nimport type {LinkComponent} from '../Link';\nimport {useLinkComponent} from '../Link';\nimport {Spinner} from '../Spinner';\nimport {Tooltip} from '../Tooltip';\nimport {buttonRecipe, type ButtonVariants} from './Button.recipe';\n\nexport type ButtonSize = NonNullable<ButtonVariants>['size'];\ntype ButtonVariant = NonNullable<ButtonVariants>['variant'];\n\n/**\n * A versatile action element that renders as a `<button>` or a link depending\n * on whether `href` is provided. Supports explicit loading states, icon-only\n * modes, link buttons, and tooltips.\n */\ninterface ButtonBaseProps {\n /**\n * Identifies the element(s) whose contents are controlled by the button.\n */\n 'aria-controls'?: string;\n /**\n * Indicates the current item in a set.\n */\n 'aria-current'?: 'page' | 'step' | 'location' | 'date' | 'time';\n /**\n * Identifies the element(s) that describe the button.\n */\n 'aria-describedby'?: string;\n /**\n * Identifies the element that provides a detailed description.\n */\n 'aria-details'?: string;\n /**\n * Indicates whether a controlled element is expanded or collapsed.\n */\n 'aria-expanded'?: boolean;\n /**\n * Indicates the button opens an interactive popup element.\n */\n 'aria-haspopup'?: boolean | 'menu' | 'listbox' | 'tree' | 'grid' | 'dialog';\n /**\n * Indicates whether the element is exposed to the accessibility API.\n */\n 'aria-hidden'?: boolean;\n /**\n * Keyboard shortcuts that activate or focus the button.\n */\n 'aria-keyshortcuts'?: string;\n /**\n * Accessible label that overrides the visible `label` for assistive\n * technologies. Use when the visible text is too terse (e.g. a page\n * number) and a longer description is needed.\n */\n 'aria-label'?: string;\n /**\n * Identifies the element(s) that label the button.\n */\n 'aria-labelledby'?: string;\n /**\n * Identifies element(s) owned by the button that are not DOM children.\n */\n 'aria-owns'?: string;\n /**\n * Indicates the current pressed state of a toggle button.\n */\n 'aria-pressed'?: boolean | 'mixed';\n /**\n * Human-readable description of the role of the button.\n */\n 'aria-roledescription'?: string;\n /**\n * Custom link component to render when `href` is set. Falls back to the\n * component provided by `LinkProvider`, or a plain `<a>` tag.\n */\n as?: LinkComponent;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the label, such as a badge or count. Hidden in\n * icon-only mode.\n */\n endContent?: ReactNode;\n /**\n * HTML `form` attribute associating the button with a `<form>` by ID.\n */\n form?: string;\n /**\n * URL to navigate to. When set and the button is not disabled, the component\n * renders as a link element.\n */\n href?: string;\n /**\n * Whether the button is disabled. Prevents interaction and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Whether the button is in a loading state. Shows a spinner overlay,\n * disables interaction, and announces \"Loading\" to assistive technologies.\n */\n isLoading?: boolean;\n /**\n * Text label for the button. Always required for accessibility even when\n * `isIconOnly` is true.\n */\n label: string;\n /**\n * HTML `name` attribute for form submission.\n */\n name?: string;\n /**\n * Click event handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Keyboard event handler for the root element.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLElement>) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link `rel` attribute (e.g., `\"noopener\"`). Only applies when rendering\n * as a link.\n */\n rel?: string;\n /**\n * Visual size of the button.\n */\n size?: ButtonSize;\n /**\n * Arbitrary content rendered before the label (after the icon, if present).\n * Hidden in icon-only mode.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link `target` attribute (e.g., `\"_blank\"`). Only applies when rendering\n * as a link.\n */\n target?: string;\n /**\n * Tooltip text shown on hover. When set on a disabled button,\n * `aria-disabled` is used instead of the `disabled` attribute so the\n * tooltip remains accessible.\n */\n tooltip?: string;\n /**\n * HTML button `type` attribute.\n */\n type?: 'button' | 'submit' | 'reset';\n /**\n * HTML `value` attribute for form submission.\n */\n value?: string;\n /**\n * Visual style variant.\n */\n variant?: ButtonVariant;\n}\n\nexport type ButtonProps =\n | (ButtonBaseProps & {\n /**\n * Icon element rendered before the label. Required in icon-only mode.\n */\n icon: IconComponent;\n /**\n * Visually hides the label, showing only the icon. The `label` prop is\n * still required and used as `aria-label`.\n */\n isIconOnly: true;\n })\n | (ButtonBaseProps & {\n /**\n * Icon element rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Visually hides the label, showing only the icon. The `label` prop is\n * still required and used as `aria-label`.\n */\n isIconOnly?: false;\n });\n\nexport function Button({\n label,\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-label': ariaLabelProp,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-pressed': ariaPressed,\n 'aria-roledescription': ariaRoledescription,\n href,\n as,\n target,\n rel,\n variant,\n size: sizeProp,\n className,\n 'data-testid': dataTestId,\n style,\n type = 'button',\n ref,\n isDisabled = false,\n isLoading = false,\n icon,\n isIconOnly = false,\n endContent,\n startContent,\n tooltip,\n onClick,\n onKeyDown,\n form,\n name,\n value,\n}: ButtonProps): JSX.Element {\n const LinkComponent = useLinkComponent(as);\n const buttonGroup = useButtonGroup();\n const size = sizeProp ?? buttonGroup?.size ?? 'md';\n const buttonDisabled =\n isDisabled || buttonGroup?.isDisabled === true || isLoading;\n const useAriaDisabled = tooltip != null && buttonDisabled;\n const renderAsLink = href != null && !buttonDisabled;\n const opensInNewTab = renderAsLink && target === '_blank';\n const ariaLabel =\n ariaLabelProp ??\n getAriaLabel(\n isIconOnly ||\n isLoading ||\n isReactNode(startContent) ||\n isReactNode(endContent) ||\n opensInNewTab\n ? label\n : undefined,\n opensInNewTab,\n );\n const linkRel = useRel({target, rel});\n const spinnerVariant =\n variant === 'primary' || variant === 'destructive' || variant === 'onSolid'\n ? 'onMedia'\n : 'default';\n\n const classes = buttonRecipe({variant, size, iconOnly: isIconOnly});\n\n const ariaAttrs = {\n 'aria-controls': ariaControls,\n 'aria-current': ariaCurrent,\n 'aria-describedby': ariaDescribedby,\n 'aria-details': ariaDetails,\n 'aria-expanded': ariaExpanded,\n 'aria-haspopup': ariaHaspopup,\n 'aria-hidden': ariaHidden,\n 'aria-keyshortcuts': ariaKeyshortcuts,\n 'aria-labelledby': ariaLabelledby,\n 'aria-owns': ariaOwns,\n 'aria-pressed': ariaPressed,\n 'aria-roledescription': ariaRoledescription,\n };\n\n const handleButtonClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (buttonDisabled) {\n event.preventDefault();\n return;\n }\n\n onClick?.(event);\n };\n\n const handleLinkClick = (event: MouseEvent<HTMLAnchorElement>) => {\n onClick?.(event);\n };\n\n const handleButtonKeyDown = (event: KeyboardEvent<HTMLButtonElement>) => {\n if (useAriaDisabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n return;\n }\n\n onKeyDown?.(event);\n };\n\n const handleLinkKeyDown = (event: KeyboardEvent<HTMLAnchorElement>) => {\n onKeyDown?.(event);\n };\n\n const buttonContent = (\n <>\n <span aria-hidden={isLoading || undefined} className={classes.content}>\n {icon != null ? (\n <span aria-hidden=\"true\" className={classes.icon}>\n {isIconOnly && isLoading ? (\n <Spinner size={size} variant={spinnerVariant} />\n ) : (\n <Icon icon={icon} size={size} />\n )}\n </span>\n ) : null}\n {!isIconOnly && isReactNode(startContent) ? (\n <span className={classes.startContent}>{startContent}</span>\n ) : null}\n {!isIconOnly ? <span className={classes.label}>{label}</span> : null}\n {!isIconOnly && isReactNode(endContent) ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n {!isIconOnly && isLoading ? (\n <span aria-hidden=\"true\" className={classes.loadingIndicator}>\n <Spinner size={size} variant={spinnerVariant} />\n </span>\n ) : null}\n </span>\n <VisuallyHidden aria-live=\"polite\" role=\"status\">\n {isLoading ? 'Loading' : ''}\n </VisuallyHidden>\n </>\n );\n\n const rootClassName = cx(classes.root, className);\n\n const element = renderAsLink ? (\n <LinkComponent\n {...ariaAttrs}\n aria-label={ariaLabel}\n className={rootClassName}\n data-testid={dataTestId}\n href={href}\n onClick={handleLinkClick}\n onKeyDown={handleLinkKeyDown}\n ref={ref as Ref<HTMLAnchorElement>}\n rel={linkRel}\n style={style}\n target={target}\n to={LinkComponent === 'a' ? undefined : href}>\n {buttonContent}\n </LinkComponent>\n ) : (\n <button\n {...ariaAttrs}\n aria-busy={isLoading || undefined}\n aria-disabled={useAriaDisabled || undefined}\n aria-label={ariaLabel}\n className={rootClassName}\n data-testid={dataTestId}\n disabled={useAriaDisabled ? undefined : buttonDisabled}\n form={form}\n name={name}\n onClick={handleButtonClick}\n onKeyDown={handleButtonKeyDown}\n ref={ref as Ref<HTMLButtonElement>}\n style={style}\n type={type}\n value={value}>\n {buttonContent}\n </button>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nButton.displayName = 'Button';\n"]}
@@ -0,0 +1,164 @@
1
+ 'use strict';
2
+
3
+ var chunkWMXIUOOU_cjs = require('./chunk-WMXIUOOU.cjs');
4
+ var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
5
+ var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
6
+ var react = require('react');
7
+ var jsxRuntime = require('react/jsx-runtime');
8
+
9
+ // src/components/Progress/Progress.recipe.ts
10
+ var progressRecipe = chunk5QPM5LUS_cjs.sva({
11
+ slots: ["container", "header", "label", "valueLabel", "track", "fill"],
12
+ base: {
13
+ container: {
14
+ display: "flex",
15
+ flexDirection: "column",
16
+ gap: "1",
17
+ w: "full",
18
+ minW: "12"
19
+ },
20
+ header: {
21
+ display: "flex",
22
+ alignItems: "baseline",
23
+ justifyContent: "space-between",
24
+ gap: "2"
25
+ },
26
+ label: {
27
+ color: "fg",
28
+ fontFamily: "body",
29
+ fontSize: "sm",
30
+ fontWeight: "medium",
31
+ lineHeight: "normal"
32
+ },
33
+ valueLabel: {
34
+ color: "fg.muted",
35
+ fontFamily: "body",
36
+ fontSize: "sm",
37
+ lineHeight: "normal",
38
+ whiteSpace: "nowrap"
39
+ },
40
+ track: {
41
+ w: "full",
42
+ h: "2",
43
+ overflow: "hidden",
44
+ borderRadius: "full",
45
+ bg: "bg.hover"
46
+ },
47
+ fill: {
48
+ h: "full",
49
+ borderRadius: "full",
50
+ transitionProperty: "width",
51
+ transitionDuration: "normal",
52
+ transitionTimingFunction: "default",
53
+ "@media (prefers-reduced-motion: reduce)": {
54
+ transitionDuration: "0s"
55
+ }
56
+ }
57
+ },
58
+ variants: {
59
+ variant: {
60
+ error: { fill: { bg: "status.error.solid" } },
61
+ info: { fill: { bg: "status.info.solid" } },
62
+ neutral: { fill: { bg: "status.neutral.solid" } },
63
+ success: { fill: { bg: "status.success.solid" } },
64
+ warning: { fill: { bg: "status.warning.solid" } }
65
+ },
66
+ isDisabled: {
67
+ true: {
68
+ fill: { bg: "status.disabled.solid" },
69
+ label: { color: "fg.disabled" },
70
+ valueLabel: { color: "fg.disabled" }
71
+ }
72
+ },
73
+ isIndeterminate: {
74
+ true: {
75
+ fill: {
76
+ w: "40%",
77
+ animation: "pulse 1.5s ease-in-out infinite",
78
+ transitionProperty: "none",
79
+ transitionDuration: "0s",
80
+ "@media (prefers-reduced-motion: reduce)": {
81
+ animation: "pulse 3s ease-in-out infinite"
82
+ }
83
+ }
84
+ }
85
+ }
86
+ },
87
+ defaultVariants: {
88
+ variant: "info",
89
+ isDisabled: false,
90
+ isIndeterminate: false
91
+ }
92
+ });
93
+ function defaultFormatValueLabel(value, max) {
94
+ if (max <= 0) {
95
+ return "0%";
96
+ }
97
+ return `${Math.round(value / max * 100)}%`;
98
+ }
99
+ function Progress({
100
+ className,
101
+ "data-testid": dataTestId,
102
+ formatValueLabel = defaultFormatValueLabel,
103
+ hasValueLabel = false,
104
+ isDisabled = false,
105
+ isIndeterminate = false,
106
+ isLabelHidden = false,
107
+ label,
108
+ max = 100,
109
+ ref,
110
+ role: roleProp = "progressbar",
111
+ style,
112
+ value = 0,
113
+ variant = "info"
114
+ }) {
115
+ const labelId = react.useId();
116
+ if (process.env.NODE_ENV !== "production" && max <= 0) {
117
+ console.warn("Progress: `max` must be greater than 0.");
118
+ }
119
+ const clampedValue = Math.min(Math.max(0, value), max);
120
+ const percentage = max > 0 ? clampedValue / max * 100 : 0;
121
+ const valueText = formatValueLabel(clampedValue, max);
122
+ const showValueLabel = hasValueLabel && !isIndeterminate;
123
+ const classes = progressRecipe({ variant, isDisabled, isIndeterminate });
124
+ return /* @__PURE__ */ jsxRuntime.jsxs(
125
+ "div",
126
+ {
127
+ className: chunkSPDVNY2Z_cjs.cx(classes.container, className),
128
+ "data-testid": dataTestId,
129
+ ref,
130
+ style,
131
+ children: [
132
+ !isLabelHidden || showValueLabel ? /* @__PURE__ */ jsxRuntime.jsxs("div", { className: classes.header, children: [
133
+ isLabelHidden ? /* @__PURE__ */ jsxRuntime.jsx(chunkWMXIUOOU_cjs.VisuallyHidden, { id: labelId, children: label }) : /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.label, id: labelId, children: label }),
134
+ showValueLabel ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.valueLabel, children: valueText }) : null
135
+ ] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkWMXIUOOU_cjs.VisuallyHidden, { id: labelId, children: label }),
136
+ /* @__PURE__ */ jsxRuntime.jsx(
137
+ "div",
138
+ {
139
+ "aria-disabled": isDisabled || void 0,
140
+ "aria-labelledby": labelId,
141
+ "aria-valuemax": isIndeterminate ? void 0 : max,
142
+ "aria-valuemin": isIndeterminate ? void 0 : 0,
143
+ "aria-valuenow": isIndeterminate ? void 0 : clampedValue,
144
+ "aria-valuetext": isIndeterminate ? void 0 : valueText,
145
+ className: classes.track,
146
+ role: isIndeterminate ? "progressbar" : roleProp,
147
+ children: /* @__PURE__ */ jsxRuntime.jsx(
148
+ "div",
149
+ {
150
+ className: classes.fill,
151
+ style: isIndeterminate ? void 0 : { width: `${percentage}%` }
152
+ }
153
+ )
154
+ }
155
+ )
156
+ ]
157
+ }
158
+ );
159
+ }
160
+ Progress.displayName = "Progress";
161
+
162
+ exports.Progress = Progress;
163
+ //# sourceMappingURL=chunk-BS55BG2U.cjs.map
164
+ //# sourceMappingURL=chunk-BS55BG2U.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/Progress/Progress.recipe.ts","../src/components/Progress/Progress.tsx"],"names":["sva","useId","jsxs","cx","jsx","VisuallyHidden"],"mappings":"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","file":"chunk-BS55BG2U.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const progressRecipe = sva({\n slots: ['container', 'header', 'label', 'valueLabel', 'track', 'fill'],\n base: {\n container: {\n display: 'flex',\n flexDirection: 'column',\n gap: '1',\n w: 'full',\n minW: '12',\n },\n header: {\n display: 'flex',\n alignItems: 'baseline',\n justifyContent: 'space-between',\n gap: '2',\n },\n label: {\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n fontWeight: 'medium',\n lineHeight: 'normal',\n },\n valueLabel: {\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n whiteSpace: 'nowrap',\n },\n track: {\n w: 'full',\n h: '2',\n overflow: 'hidden',\n borderRadius: 'full',\n bg: 'bg.hover',\n },\n fill: {\n h: 'full',\n borderRadius: 'full',\n transitionProperty: 'width',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n variants: {\n variant: {\n error: {fill: {bg: 'status.error.solid'}},\n info: {fill: {bg: 'status.info.solid'}},\n neutral: {fill: {bg: 'status.neutral.solid'}},\n success: {fill: {bg: 'status.success.solid'}},\n warning: {fill: {bg: 'status.warning.solid'}},\n },\n isDisabled: {\n true: {\n fill: {bg: 'status.disabled.solid'},\n label: {color: 'fg.disabled'},\n valueLabel: {color: 'fg.disabled'},\n },\n },\n isIndeterminate: {\n true: {\n fill: {\n w: '40%',\n animation: 'pulse 1.5s ease-in-out infinite',\n transitionProperty: 'none',\n transitionDuration: '0s',\n '@media (prefers-reduced-motion: reduce)': {\n animation: 'pulse 3s ease-in-out infinite',\n },\n },\n },\n },\n },\n defaultVariants: {\n variant: 'info',\n isDisabled: false,\n isIndeterminate: false,\n },\n});\n\nexport type ProgressVariants = RecipeVariantProps<typeof progressRecipe>;\n","import {useId, type CSSProperties, type Ref} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {progressRecipe} from './Progress.recipe';\n\nexport type ProgressVariant =\n | 'error'\n | 'info'\n | 'neutral'\n | 'success'\n | 'warning';\n\nexport interface ProgressProps {\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 * Custom formatter for the value label and aria-valuetext.\n */\n formatValueLabel?: (value: number, max: number) => string;\n /**\n * Whether to display the formatted value beside the label.\n * @default false\n */\n hasValueLabel?: boolean;\n /**\n * Whether the progress bar is visually disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to render an indeterminate loading indicator.\n * @default false\n */\n isIndeterminate?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Accessible label for the progress bar.\n */\n label: string;\n /**\n * Maximum progress value.\n * @default 100\n */\n max?: number;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * ARIA role for the progress indicator. Use 'progressbar' for task\n * completion and 'meter' for static gauges.\n * @default 'progressbar'\n */\n role?: 'meter' | 'progressbar';\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Current progress value.\n * @default 0\n */\n value?: number;\n /**\n * Semantic color variant.\n * @default 'info'\n */\n variant?: ProgressVariant;\n}\n\nfunction defaultFormatValueLabel(value: number, max: number): string {\n if (max <= 0) {\n return '0%';\n }\n return `${Math.round((value / max) * 100)}%`;\n}\n\n/**\n * A progress bar that communicates determinate or indeterminate loading state.\n */\nexport function Progress({\n className,\n 'data-testid': dataTestId,\n formatValueLabel = defaultFormatValueLabel,\n hasValueLabel = false,\n isDisabled = false,\n isIndeterminate = false,\n isLabelHidden = false,\n label,\n max = 100,\n ref,\n role: roleProp = 'progressbar',\n style,\n value = 0,\n variant = 'info',\n}: ProgressProps): React.JSX.Element {\n const labelId = useId();\n\n if (process.env.NODE_ENV !== 'production' && max <= 0) {\n console.warn('Progress: `max` must be greater than 0.');\n }\n\n const clampedValue = Math.min(Math.max(0, value), max);\n const percentage = max > 0 ? (clampedValue / max) * 100 : 0;\n const valueText = formatValueLabel(clampedValue, max);\n const showValueLabel = hasValueLabel && !isIndeterminate;\n const classes = progressRecipe({variant, isDisabled, isIndeterminate});\n\n return (\n <div\n className={cx(classes.container, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {!isLabelHidden || showValueLabel ? (\n <div className={classes.header}>\n {isLabelHidden ? (\n <VisuallyHidden id={labelId}>{label}</VisuallyHidden>\n ) : (\n <span className={classes.label} id={labelId}>\n {label}\n </span>\n )}\n {showValueLabel ? (\n <span className={classes.valueLabel}>{valueText}</span>\n ) : null}\n </div>\n ) : (\n <VisuallyHidden id={labelId}>{label}</VisuallyHidden>\n )}\n\n <div\n aria-disabled={isDisabled || undefined}\n aria-labelledby={labelId}\n aria-valuemax={isIndeterminate ? undefined : max}\n aria-valuemin={isIndeterminate ? undefined : 0}\n aria-valuenow={isIndeterminate ? undefined : clampedValue}\n aria-valuetext={isIndeterminate ? undefined : valueText}\n className={classes.track}\n role={isIndeterminate ? 'progressbar' : roleProp}>\n <div\n className={classes.fill}\n style={isIndeterminate ? undefined : {width: `${percentage}%`}}\n />\n </div>\n </div>\n );\n}\n\nProgress.displayName = 'Progress';\n"]}
@@ -1,9 +1,9 @@
1
1
  'use strict';
2
2
 
3
3
  var chunkIKF6VHA4_cjs = require('./chunk-IKF6VHA4.cjs');
4
- var chunkHMWV6KCW_cjs = require('./chunk-HMWV6KCW.cjs');
5
- var chunkO3T7Z6RH_cjs = require('./chunk-O3T7Z6RH.cjs');
6
- var chunkJMNH45Q3_cjs = require('./chunk-JMNH45Q3.cjs');
4
+ var chunkOSBVDRVD_cjs = require('./chunk-OSBVDRVD.cjs');
5
+ var chunkBRB52QFV_cjs = require('./chunk-BRB52QFV.cjs');
6
+ var chunkQEFE4QBL_cjs = require('./chunk-QEFE4QBL.cjs');
7
7
  var react = require('react');
8
8
  var jsxRuntime = require('react/jsx-runtime');
9
9
 
@@ -54,14 +54,14 @@ function AlertDialog({
54
54
  style,
55
55
  width,
56
56
  children: /* @__PURE__ */ jsxRuntime.jsx(
57
- chunkHMWV6KCW_cjs.Layout,
57
+ chunkOSBVDRVD_cjs.Layout,
58
58
  {
59
- content: /* @__PURE__ */ jsxRuntime.jsx(chunkHMWV6KCW_cjs.LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkJMNH45Q3_cjs.Text, { as: "p", color: "secondary", children: description }) }),
59
+ content: /* @__PURE__ */ jsxRuntime.jsx(chunkOSBVDRVD_cjs.LayoutContent, { children: /* @__PURE__ */ jsxRuntime.jsx(chunkQEFE4QBL_cjs.Text, { as: "p", color: "secondary", children: description }) }),
60
60
  footer: /* @__PURE__ */ jsxRuntime.jsx(
61
- chunkHMWV6KCW_cjs.LayoutFooter,
61
+ chunkOSBVDRVD_cjs.LayoutFooter,
62
62
  {
63
63
  primaryButton: /* @__PURE__ */ jsxRuntime.jsx(
64
- chunkO3T7Z6RH_cjs.Button,
64
+ chunkBRB52QFV_cjs.Button,
65
65
  {
66
66
  isLoading: isActionLoading,
67
67
  label: actionLabel,
@@ -70,7 +70,7 @@ function AlertDialog({
70
70
  }
71
71
  ),
72
72
  secondaryButton: /* @__PURE__ */ jsxRuntime.jsx(
73
- chunkO3T7Z6RH_cjs.Button,
73
+ chunkBRB52QFV_cjs.Button,
74
74
  {
75
75
  label: cancelLabel,
76
76
  onClick: () => onOpenChange(false),
@@ -80,7 +80,7 @@ function AlertDialog({
80
80
  }
81
81
  ),
82
82
  hasDividers: true,
83
- header: /* @__PURE__ */ jsxRuntime.jsx(chunkHMWV6KCW_cjs.LayoutHeader, { title })
83
+ header: /* @__PURE__ */ jsxRuntime.jsx(chunkOSBVDRVD_cjs.LayoutHeader, { title })
84
84
  }
85
85
  )
86
86
  }
@@ -104,5 +104,5 @@ function useAlertDialog() {
104
104
 
105
105
  exports.AlertDialog = AlertDialog;
106
106
  exports.useAlertDialog = useAlertDialog;
107
- //# sourceMappingURL=chunk-TH3H5UGK.cjs.map
108
- //# sourceMappingURL=chunk-TH3H5UGK.cjs.map
107
+ //# sourceMappingURL=chunk-CEU7BIL6.cjs.map
108
+ //# sourceMappingURL=chunk-CEU7BIL6.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useRef","useEffect","useCallback","jsx","Dialog","Layout","LayoutContent","Text","LayoutFooter","Button","LayoutHeader","useState"],"mappings":"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","file":"chunk-TH3H5UGK.cjs","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from '../Button';\nimport {Dialog} from '../Dialog';\nimport {Layout, LayoutContent, LayoutFooter, LayoutHeader} from '../Layout';\nimport {Text} from '../Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {AlertDialog, type AlertDialogProps} from './AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}
1
+ {"version":3,"sources":["../src/components/AlertDialog/AlertDialog.tsx","../src/components/AlertDialog/useAlertDialog.tsx"],"names":["useRef","useEffect","useCallback","jsx","Dialog","Layout","LayoutContent","Text","LayoutFooter","Button","LayoutHeader","useState"],"mappings":"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","file":"chunk-CEU7BIL6.cjs","sourcesContent":["import {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from '../Button';\nimport {Dialog} from '../Dialog';\nimport {Layout, LayoutContent, LayoutFooter, LayoutHeader} from '../Layout';\nimport {Text} from '../Text';\n\nexport type AlertDialogActionVariant = 'destructive' | 'primary';\n\nexport interface AlertDialogProps {\n /**\n * Action button label.\n */\n actionLabel: string;\n /**\n * Visual variant for the action button.\n * @default 'destructive'\n */\n actionVariant?: AlertDialogActionVariant;\n /**\n * Cancel button label.\n * @default 'Cancel'\n */\n cancelLabel?: string;\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Consequence description.\n */\n description: string;\n /**\n * Whether the action button is loading.\n * @default false\n */\n isActionLoading?: boolean;\n /**\n * Whether the dialog is open.\n */\n isOpen: boolean;\n /**\n * Called when the primary action is clicked.\n */\n onAction: () => void;\n /**\n * Called when the dialog requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n /**\n * Dialog title.\n */\n title: string;\n /**\n * Dialog width. Numbers are treated as pixels.\n * @default 400\n */\n width?: number | string;\n}\n\n/**\n * A modal confirmation dialog for destructive or irreversible actions.\n */\nexport function AlertDialog({\n actionLabel,\n actionVariant = 'destructive',\n cancelLabel = 'Cancel',\n className,\n 'data-testid': dataTestId,\n description,\n isActionLoading = false,\n isOpen,\n onAction,\n onOpenChange,\n ref,\n style,\n title,\n width = 400,\n}: AlertDialogProps): React.JSX.Element | null {\n /**\n * Synchronous guard against rapid double-invocation of onAction.\n * The ref flips immediately on the first call — before React can\n * re-render with `isActionLoading=true` — so a second Enter/click\n * in the same event-loop tick is ignored.\n */\n const actionFiredRef = useRef(false);\n\n useEffect(() => {\n if (!isActionLoading) {\n actionFiredRef.current = false;\n }\n }, [isActionLoading]);\n\n useEffect(() => {\n if (!isOpen) {\n actionFiredRef.current = false;\n }\n }, [isOpen]);\n\n const handleAction = useCallback(() => {\n if (actionFiredRef.current) {\n return;\n }\n actionFiredRef.current = true;\n onAction();\n }, [onAction]);\n\n return (\n <Dialog\n className={className}\n data-testid={dataTestId}\n dismissBehavior={false}\n isOpen={isOpen}\n onOpenChange={onOpenChange}\n ref={ref}\n role=\"alertdialog\"\n style={style}\n width={width}>\n <Layout\n content={\n <LayoutContent>\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n </LayoutContent>\n }\n footer={\n <LayoutFooter\n primaryButton={\n <Button\n isLoading={isActionLoading}\n label={actionLabel}\n onClick={handleAction}\n variant={actionVariant}\n />\n }\n secondaryButton={\n <Button\n label={cancelLabel}\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n }\n />\n }\n hasDividers\n header={<LayoutHeader title={title} />}\n />\n </Dialog>\n );\n}\n\nAlertDialog.displayName = 'AlertDialog';\n","import {useCallback, useState, type ReactNode} from 'react';\nimport {AlertDialog, type AlertDialogProps} from './AlertDialog';\n\nexport type AlertDialogOptions = Omit<\n AlertDialogProps,\n 'isOpen' | 'onOpenChange'\n>;\n\nexport interface UseAlertDialogReturn {\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Hide the current alert dialog.\n */\n hide: () => void;\n /**\n * Whether the alert dialog is open.\n */\n isOpen: boolean;\n /**\n * Show an alert dialog with the provided options.\n */\n show: (options: AlertDialogOptions) => void;\n}\n\nexport function useAlertDialog(): UseAlertDialogReturn {\n const [isOpen, setIsOpen] = useState(false);\n const [options, setOptions] = useState<AlertDialogOptions | null>(null);\n\n const show = useCallback((nextOptions: AlertDialogOptions) => {\n setOptions(nextOptions);\n setIsOpen(true);\n }, []);\n const hide = useCallback(() => {\n setIsOpen(false);\n setOptions(null);\n }, []);\n\n const element: ReactNode =\n options == null ? null : (\n <AlertDialog {...options} isOpen={isOpen} onOpenChange={setIsOpen} />\n );\n\n return {element, hide, isOpen, show};\n}\n"]}