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,232 +0,0 @@
1
- import { Item } from './chunk-AMG3S252.js';
2
- import { getStatusMessageID, getDescribedBy } from './chunk-WOIWI2UO.js';
3
- import { fieldRecipe } from './chunk-NUTB2K4G.js';
4
- import { Spinner } from './chunk-S54CKWKV.js';
5
- import { Text } from './chunk-J2FCNWYM.js';
6
- import { VisuallyHidden } from './chunk-EXYBQVZT.js';
7
- import { Tooltip } from './chunk-EMHLPPQZ.js';
8
- import { mergeRefs } from './chunk-SGLIDI6R.js';
9
- import { Icon } from './chunk-7T3SWOY7.js';
10
- import { cx } from './chunk-PPNETWIP.js';
11
- import { css } from './chunk-OD4DHHZH.js';
12
- import { Minus, Check, Info } from 'lucide-react';
13
- import { useId, useRef, useEffect } from 'react';
14
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
15
-
16
- var styles = {
17
- root: css({
18
- display: "flex",
19
- flexDirection: "column"
20
- }),
21
- boxWrap: css({
22
- position: "relative",
23
- display: "inline-flex",
24
- alignItems: "center",
25
- justifyContent: "center",
26
- flexShrink: 0
27
- }),
28
- input: css({
29
- position: "absolute",
30
- inset: 0,
31
- opacity: 0,
32
- cursor: "pointer",
33
- _disabled: {
34
- cursor: "not-allowed"
35
- }
36
- }),
37
- box: css({
38
- display: "inline-flex",
39
- alignItems: "center",
40
- justifyContent: "center",
41
- borderWidth: "default",
42
- borderStyle: "solid",
43
- borderColor: "border.emphasized",
44
- borderRadius: "sm",
45
- bg: "bg",
46
- color: "fg.onPrimary",
47
- pointerEvents: "none",
48
- _peerFocusVisible: {
49
- outlineWidth: "focus",
50
- outlineStyle: "solid",
51
- outlineColor: "primary",
52
- outlineOffset: "focusOffset"
53
- }
54
- }),
55
- boxChecked: css({
56
- bg: "primary",
57
- borderColor: "primary"
58
- }),
59
- boxDisabled: css({
60
- opacity: 0.55
61
- }),
62
- boxSize: {
63
- sm: css({ w: "4.5", h: "4.5" }),
64
- md: css({ w: "5.5", h: "5.5" })
65
- },
66
- icon: css({
67
- w: "70%",
68
- h: "70%"
69
- }),
70
- label: css({
71
- cursor: "pointer"
72
- }),
73
- labelDisabled: css({
74
- cursor: "not-allowed"
75
- }),
76
- indicator: css({
77
- fontWeight: "normal",
78
- color: "fg.muted"
79
- }),
80
- tooltipIcon: css({
81
- display: "inline-flex",
82
- color: "fg.muted"
83
- })
84
- };
85
- function CheckboxInput({
86
- label,
87
- value,
88
- onChange,
89
- description,
90
- endContent,
91
- endContentPosition = "inline",
92
- htmlName,
93
- isLabelHidden = false,
94
- isOptional,
95
- isRequired,
96
- isDisabled = false,
97
- isReadOnly = false,
98
- isLoading = false,
99
- status,
100
- labelIcon,
101
- labelTooltip,
102
- size = "md",
103
- startContent,
104
- onFocus,
105
- onBlur,
106
- className,
107
- "data-testid": dataTestId,
108
- style,
109
- ref
110
- }) {
111
- const inputId = useId();
112
- const descriptionId = useId();
113
- const inputRef = useRef(null);
114
- const statusMessageID = getStatusMessageID(inputId, status);
115
- const describedBy = getDescribedBy(
116
- description != null ? descriptionId : void 0,
117
- statusMessageID
118
- );
119
- const isIndeterminate = value === "indeterminate";
120
- const isChecked = value === true;
121
- const isCheckedOrIndeterminate = isChecked || isIndeterminate;
122
- useEffect(() => {
123
- if (inputRef.current != null) {
124
- inputRef.current.indeterminate = isIndeterminate;
125
- }
126
- }, [isIndeterminate]);
127
- const statusText = isOptional ? "Optional" : isRequired ? "Required" : null;
128
- const control = /* @__PURE__ */ jsxs("span", { className: styles.boxWrap, children: [
129
- /* @__PURE__ */ jsx(
130
- "input",
131
- {
132
- "aria-busy": isLoading || void 0,
133
- "aria-checked": isIndeterminate ? "mixed" : void 0,
134
- "aria-describedby": describedBy,
135
- "aria-invalid": status?.type === "error" || void 0,
136
- "aria-readonly": isReadOnly || void 0,
137
- checked: isChecked,
138
- className: styles.input,
139
- "data-testid": dataTestId,
140
- disabled: isDisabled,
141
- id: inputId,
142
- name: htmlName,
143
- onBlur,
144
- onChange: (event) => {
145
- if (isReadOnly) {
146
- event.preventDefault();
147
- return;
148
- }
149
- onChange(event.target.checked, event);
150
- },
151
- onFocus,
152
- readOnly: isReadOnly,
153
- ref: mergeRefs(ref, inputRef),
154
- required: isRequired,
155
- type: "checkbox"
156
- }
157
- ),
158
- /* @__PURE__ */ jsx(
159
- "span",
160
- {
161
- "aria-hidden": "true",
162
- className: cx(
163
- styles.box,
164
- styles.boxSize[size],
165
- isCheckedOrIndeterminate ? styles.boxChecked : void 0,
166
- isDisabled ? styles.boxDisabled : void 0
167
- ),
168
- children: isLoading ? /* @__PURE__ */ jsx(
169
- Spinner,
170
- {
171
- size: "sm",
172
- variant: isCheckedOrIndeterminate ? "onMedia" : "default"
173
- }
174
- ) : isIndeterminate ? /* @__PURE__ */ jsx(Icon, { className: styles.icon, icon: Minus }) : isChecked ? /* @__PURE__ */ jsx(Icon, { className: styles.icon, icon: Check }) : null
175
- }
176
- )
177
- ] });
178
- const labelContent = /* @__PURE__ */ jsxs(Fragment, { children: [
179
- labelIcon != null ? /* @__PURE__ */ jsx(Icon, { color: "secondary", icon: labelIcon, size: "sm" }) : null,
180
- label,
181
- statusText != null ? /* @__PURE__ */ jsxs(Text, { as: "span", className: styles.indicator, type: "supporting", children: [
182
- /* @__PURE__ */ jsx("span", { "aria-hidden": "true", children: " \xB7 " }),
183
- statusText
184
- ] }) : null,
185
- labelTooltip != null ? /* @__PURE__ */ jsx(Tooltip, { content: labelTooltip, children: /* @__PURE__ */ jsx("span", { className: styles.tooltipIcon, children: /* @__PURE__ */ jsx(Icon, { icon: Info, size: "sm" }) }) }) : null
186
- ] });
187
- const labelNode = /* @__PURE__ */ jsx(
188
- "label",
189
- {
190
- className: cx(
191
- styles.label,
192
- isDisabled ? styles.labelDisabled : void 0
193
- ),
194
- htmlFor: inputId,
195
- children: isLabelHidden ? /* @__PURE__ */ jsx(VisuallyHidden, { children: labelContent }) : labelContent
196
- }
197
- );
198
- const statusNode = status?.message != null ? /* @__PURE__ */ jsx(
199
- "div",
200
- {
201
- "aria-live": status.type === "error" ? "assertive" : "polite",
202
- className: fieldRecipe({
203
- statusType: status.type,
204
- statusVariant: "detached"
205
- }).status,
206
- id: statusMessageID,
207
- role: status.type === "error" ? "alert" : "status",
208
- children: status.message
209
- }
210
- ) : null;
211
- const item = /* @__PURE__ */ jsx(
212
- Item,
213
- {
214
- description: description != null ? /* @__PURE__ */ jsx("span", { id: descriptionId, children: description }) : void 0,
215
- endContent,
216
- endContentPosition,
217
- isDisabled,
218
- label: labelNode,
219
- leadingContent: control,
220
- startContent
221
- }
222
- );
223
- return /* @__PURE__ */ jsxs("div", { className: cx(styles.root, className), style, children: [
224
- item,
225
- statusNode
226
- ] });
227
- }
228
- CheckboxInput.displayName = "CheckboxInput";
229
-
230
- export { CheckboxInput };
231
- //# sourceMappingURL=chunk-PJXJOI73.js.map
232
- //# sourceMappingURL=chunk-PJXJOI73.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"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","file":"chunk-PJXJOI73.js","sourcesContent":["import {Check, Info, Minus} from 'lucide-react';\nimport {\n useEffect,\n useId,\n useRef,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport type {FieldNecessity, InputStatus} from '../Field';\nimport {fieldRecipe} from '../Field/Field.recipe';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\n\nexport type CheckboxInputSize = 'sm' | 'md';\nexport type CheckboxInputValue = boolean | 'indeterminate';\n\nexport type CheckboxInputProps = {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'inline'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * HTML name attribute for native form submission.\n */\n htmlName?: string;\n /**\n * Whether the checkbox 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 checkbox is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the checkbox is read-only.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Optional content 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 the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the checked state changes.\n */\n onChange: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Called when the input receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the checkbox.\n * @default 'md'\n */\n size?: CheckboxInputSize;\n /**\n * Content rendered after the checkbox control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Validation status displayed below the checkbox.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Current checked state: true, false, or 'indeterminate'.\n */\n value: CheckboxInputValue;\n} & FieldNecessity;\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n }),\n boxWrap: css({\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n }),\n input: css({\n position: 'absolute',\n inset: 0,\n opacity: 0,\n cursor: 'pointer',\n _disabled: {\n cursor: 'not-allowed',\n },\n }),\n box: css({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'sm',\n bg: 'bg',\n color: 'fg.onPrimary',\n pointerEvents: 'none',\n _peerFocusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n boxChecked: css({\n bg: 'primary',\n borderColor: 'primary',\n }),\n boxDisabled: css({\n opacity: 0.55,\n }),\n boxSize: {\n sm: css({w: '4.5', h: '4.5'}),\n md: css({w: '5.5', h: '5.5'}),\n },\n icon: css({\n w: '70%',\n h: '70%',\n }),\n label: css({\n cursor: 'pointer',\n }),\n labelDisabled: css({\n cursor: 'not-allowed',\n }),\n indicator: css({\n fontWeight: 'normal',\n color: 'fg.muted',\n }),\n tooltipIcon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * A checkbox input with label, description, and validation support.\n */\nexport function CheckboxInput({\n label,\n value,\n onChange,\n description,\n endContent,\n endContentPosition = 'inline',\n htmlName,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isReadOnly = false,\n isLoading = false,\n status,\n labelIcon,\n labelTooltip,\n size = 'md',\n startContent,\n onFocus,\n onBlur,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: CheckboxInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(\n description != null ? descriptionId : undefined,\n statusMessageID,\n );\n const isIndeterminate = value === 'indeterminate';\n const isChecked = value === true;\n const isCheckedOrIndeterminate = isChecked || isIndeterminate;\n\n useEffect(() => {\n if (inputRef.current != null) {\n inputRef.current.indeterminate = isIndeterminate;\n }\n }, [isIndeterminate]);\n\n const statusText = isOptional ? 'Optional' : isRequired ? 'Required' : null;\n\n const control = (\n <span className={styles.boxWrap}>\n <input\n aria-busy={isLoading || undefined}\n aria-checked={isIndeterminate ? 'mixed' : undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-readonly={isReadOnly || undefined}\n checked={isChecked}\n className={styles.input}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => {\n if (isReadOnly) {\n event.preventDefault();\n return;\n }\n onChange(event.target.checked, event);\n }}\n onFocus={onFocus}\n readOnly={isReadOnly}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"checkbox\"\n />\n <span\n aria-hidden=\"true\"\n className={cx(\n styles.box,\n styles.boxSize[size],\n isCheckedOrIndeterminate ? styles.boxChecked : undefined,\n isDisabled ? styles.boxDisabled : undefined,\n )}>\n {isLoading ? (\n <Spinner\n size=\"sm\"\n variant={isCheckedOrIndeterminate ? 'onMedia' : 'default'}\n />\n ) : isIndeterminate ? (\n <Icon className={styles.icon} icon={Minus} />\n ) : isChecked ? (\n <Icon className={styles.icon} icon={Check} />\n ) : null}\n </span>\n </span>\n );\n\n const labelContent = (\n <>\n {labelIcon != null ? (\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n ) : null}\n {label}\n {statusText != null ? (\n <Text as=\"span\" className={styles.indicator} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {statusText}\n </Text>\n ) : null}\n {labelTooltip != null ? (\n <Tooltip content={labelTooltip}>\n <span className={styles.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </>\n );\n\n const labelNode = (\n <label\n className={cx(\n styles.label,\n isDisabled ? styles.labelDisabled : undefined,\n )}\n htmlFor={inputId}>\n {isLabelHidden ? (\n <VisuallyHidden>{labelContent}</VisuallyHidden>\n ) : (\n labelContent\n )}\n </label>\n );\n\n const statusNode =\n status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={\n fieldRecipe({\n statusType: status.type,\n statusVariant: 'detached',\n }).status\n }\n id={statusMessageID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null;\n\n const item = (\n <Item\n description={\n description != null ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition={endContentPosition}\n isDisabled={isDisabled}\n label={labelNode}\n leadingContent={control}\n startContent={startContent}\n />\n );\n\n return (\n <div className={cx(styles.root, className)} style={style}>\n {item}\n {statusNode}\n </div>\n );\n}\n\nCheckboxInput.displayName = 'CheckboxInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/TreeView/TreeViewBranches.tsx","../src/components/TreeView/TreeViewItem.tsx","../src/components/TreeView/TreeView.tsx"],"names":["css","jsxs","Fragment","jsx","styles","useId","useRef","useCallback","cx","Icon","ChevronRight","useMemo","useState"],"mappings":"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","file":"chunk-PNYF6NS4.cjs","sourcesContent":["/* eslint-disable silver-ui/require-component-props -- internal presentational connector */\n\nimport {css} from 'styled-system/css';\n\nconst styles = {\n container: css({\n position: 'absolute',\n h: 'full',\n w: '5',\n }),\n line: css({\n position: 'absolute',\n insetInline: 0,\n m: 'auto',\n w: '1px',\n h: 'calc(100% + 1px)',\n borderRadius: 'xs',\n bg: 'border.emphasized',\n }),\n} as const;\n\nconst branchOffset = '6px';\n\ninterface TreeViewBranchesProps {\n /**\n * Whether each ancestor at the corresponding level is the last sibling.\n */\n ancestorsIsLast: ReadonlyArray<boolean>;\n /**\n * Zero-based nesting depth used to draw vertical connector lines.\n */\n nestedLevel: number;\n}\n\n/**\n * Renders vertical connector lines for tree item indentation levels.\n */\nexport function TreeViewBranches({\n ancestorsIsLast,\n nestedLevel,\n}: TreeViewBranchesProps): React.JSX.Element {\n return (\n <>\n {ancestorsIsLast.map((ancestorIsLast, level) => {\n if (ancestorIsLast || level === nestedLevel - 1) {\n return null;\n }\n\n return (\n <div\n className={styles.container}\n // eslint-disable-next-line @eslint-react/no-array-index-key -- level is the stable connector coordinate\n key={level}\n style={{left: `calc(${branchOffset} + ${level} * 16px)`}}>\n <div className={styles.line} />\n </div>\n );\n })}\n {nestedLevel > 0 ? (\n <div\n className={styles.container}\n style={{left: `calc(${branchOffset} + ${nestedLevel - 1} * 16px)`}}>\n <div className={styles.line} />\n </div>\n ) : null}\n </>\n );\n}\n\nTreeViewBranches.displayName = 'TreeViewBranches';\n","/* eslint-disable jsx-a11y-x/no-noninteractive-element-to-interactive-role, jsx-a11y-x/no-static-element-interactions, silver-ui/require-component-props -- internal recursive tree item */\n\nimport {ChevronRight} from 'lucide-react';\nimport {useCallback, useId, useRef, type ReactNode, type Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon} from '../Icon';\nimport {TreeViewBranches} from './TreeViewBranches';\nimport type {TreeViewDensity} from './types';\n\ninterface TreeViewItemProps {\n /**\n * Whether each ancestor at the corresponding level is the last sibling.\n */\n ancestorsIsLast: ReadonlyArray<boolean>;\n /**\n * Plain-text label used for generated control labels.\n */\n ariaLabel?: string;\n /**\n * Spacing density for the item.\n */\n density: TreeViewDensity;\n /**\n * Secondary description text shown below the label.\n */\n description?: string;\n /**\n * Content rendered at the end of the item row.\n */\n endContent?: React.ReactNode;\n /**\n * Whether this item has child items.\n */\n hasChildren: boolean;\n /**\n * Link destination. When provided, the item renders as a link.\n */\n href?: string;\n /**\n * Unique identifier for the item.\n */\n id: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item's children are visible.\n */\n isExpanded: boolean;\n /**\n * Whether this item currently owns roving focus.\n */\n isFocused: boolean;\n /**\n * Whether this item is the last sibling at its level.\n */\n isLast: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary label content.\n */\n label: React.ReactNode;\n /**\n * Zero-based nesting depth of this item.\n */\n nestedLevel: number;\n /**\n * Click handler for the item action.\n */\n onClick?: (event: React.MouseEvent) => void;\n /**\n * Called when the item receives focus.\n */\n onFocusItem: (id: string, isFocusVisible?: boolean) => void;\n /**\n * Called for tree keyboard navigation.\n */\n onItemKeyDown: (\n event: React.KeyboardEvent<HTMLLIElement>,\n id: string,\n ) => void;\n /**\n * Called when the expand/collapse toggle is activated.\n */\n onToggle?: (id: string) => void;\n /**\n * Ref forwarded to the treeitem element.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Pre-rendered child items.\n */\n renderedChildren?: ReactNode;\n /**\n * Content rendered before the label.\n */\n startContent?: React.ReactNode;\n /**\n * Roving tab index for this treeitem.\n */\n tabIndex: 0 | -1;\n /**\n * Link target attribute (e.g. '_blank').\n */\n target?: string;\n}\n\nconst styles = {\n childGroup: css({\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n content: css({\n display: 'flex',\n flex: 1,\n minW: 0,\n flexDirection: 'column',\n textAlign: 'start',\n }),\n contentWrapper: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n overflow: 'hidden',\n px: '2',\n borderRadius: 'md',\n outline: 'none',\n textAlign: 'start',\n }),\n density: {\n balanced: css({\n py: '2',\n fontSize: 'sm',\n lineHeight: 'normal',\n }),\n compact: css({\n py: '1',\n fontSize: 'sm',\n lineHeight: 'normal',\n }),\n spacious: css({\n py: '3',\n fontSize: 'sm',\n lineHeight: 'normal',\n }),\n },\n description: css({\n color: 'fg.muted',\n fontSize: 'xs',\n lineHeight: 'normal',\n }),\n disabled: css({\n cursor: 'not-allowed',\n opacity: 0.5,\n pointerEvents: 'none',\n }),\n endContent: css({\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n ml: 'auto',\n }),\n interactive: css({\n cursor: 'pointer',\n transitionDuration: 'fast',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'default',\n _active: {\n bg: 'bg.hover',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.subtle',\n },\n },\n }),\n invisibleAction: css({\n display: 'flex',\n flex: 1,\n minW: 0,\n flexDirection: 'column',\n color: 'inherit',\n cursor: 'inherit',\n font: 'inherit',\n textAlign: 'start',\n textDecoration: 'none',\n outline: 'none',\n }),\n label: css({\n color: 'fg',\n }),\n rowWrapper: css({\n position: 'relative',\n }),\n selected: css({\n bg: 'bg.selected',\n }),\n focused: css({\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n }),\n startContent: css({\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n toggleButton: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n h: '4',\n borderRadius: 'sm',\n color: 'fg.muted',\n cursor: 'pointer',\n }),\n toggleIcon: css({\n display: 'flex',\n transitionDuration: 'fast',\n transitionProperty: 'transform',\n transitionTimingFunction: 'default',\n }),\n toggleIconExpanded: css({\n transform: 'rotate(90deg)',\n }),\n toggleSpacer: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n h: '4',\n color: 'fg.muted',\n }),\n treeBranches: css({\n ps: '2',\n }),\n wrapper: css({\n position: 'relative',\n m: 0,\n p: 0,\n w: 'full',\n listStyleType: 'none',\n outline: 'none',\n }),\n} as const;\n\n/**\n * Renders a single tree item with toggle, branch lines, and optional link or button action.\n */\nexport function TreeViewItem({\n ariaLabel,\n ancestorsIsLast,\n density,\n description,\n endContent,\n hasChildren,\n href,\n id,\n isDisabled = false,\n isExpanded,\n isFocused,\n isLast: _isLast,\n isSelected = false,\n label,\n nestedLevel,\n onClick,\n onFocusItem,\n onItemKeyDown,\n onToggle,\n ref,\n renderedChildren,\n startContent,\n tabIndex,\n target,\n}: TreeViewItemProps): React.JSX.Element {\n const labelId = useId();\n const descriptionId = useId();\n const actionRef = useRef<HTMLAnchorElement | HTMLButtonElement>(null);\n const isInteractive = onClick != null || href != null;\n const togglesOnRow = hasChildren && onClick == null && onToggle != null;\n const textLabel =\n ariaLabel ??\n (typeof label === 'string' || typeof label === 'number'\n ? String(label)\n : id);\n\n const handleToggle = useCallback(\n (event: React.MouseEvent) => {\n event.stopPropagation();\n onToggle?.(id);\n },\n [id, onToggle],\n );\n\n const handleRowClick = useCallback(() => {\n if (!togglesOnRow) {\n return;\n }\n\n if (isDisabled) {\n return;\n }\n onToggle(id);\n }, [id, isDisabled, onToggle, togglesOnRow]);\n\n const handleRowKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLLIElement>) => {\n event.stopPropagation();\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n if (togglesOnRow) {\n handleRowClick();\n return;\n }\n actionRef.current?.click();\n return;\n }\n onItemKeyDown(event, id);\n },\n [handleRowClick, id, onItemKeyDown, togglesOnRow],\n );\n\n const handleFocus = useCallback(\n (event: React.FocusEvent<HTMLLIElement>) => {\n if (event.currentTarget !== event.target) {\n return;\n }\n onFocusItem(id, event.currentTarget.matches(':focus-visible'));\n },\n [id, onFocusItem],\n );\n\n const handlePointerDown = useCallback(() => {\n onFocusItem(id, false);\n }, [id, onFocusItem]);\n\n const handleDisabledLinkClick = useCallback(\n (event: React.MouseEvent<HTMLAnchorElement>) => {\n if (!isDisabled) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n },\n [isDisabled],\n );\n\n const labelAndDescription = (\n <>\n <span className={styles.label} id={labelId}>\n {label}\n </span>\n {description == null ? null : (\n <span className={styles.description} id={descriptionId}>\n {description}\n </span>\n )}\n </>\n );\n\n const toggleIcon = (\n <span\n className={cx(\n styles.toggleIcon,\n isExpanded ? styles.toggleIconExpanded : undefined,\n )}>\n <Icon icon={ChevronRight} size=\"sm\" />\n </span>\n );\n\n const toggle = hasChildren ? (\n onClick != null ? (\n <button\n aria-label={`Toggle ${textLabel} children`}\n className={styles.toggleButton}\n onClick={handleToggle}\n tabIndex={-1}\n type=\"button\">\n {toggleIcon}\n </button>\n ) : (\n <span className={styles.toggleSpacer}>{toggleIcon}</span>\n )\n ) : null;\n\n const content = (\n <>\n {toggle}\n {startContent == null ? null : (\n <span className={styles.startContent}>{startContent}</span>\n )}\n {href != null ? (\n <a\n aria-describedby={description == null ? undefined : descriptionId}\n aria-disabled={isDisabled || undefined}\n aria-labelledby={labelId}\n className={styles.invisibleAction}\n href={href}\n onClick={handleDisabledLinkClick}\n ref={actionRef as Ref<HTMLAnchorElement>}\n tabIndex={-1}\n target={target}>\n {labelAndDescription}\n </a>\n ) : onClick != null ? (\n <button\n aria-describedby={description == null ? undefined : descriptionId}\n aria-labelledby={labelId}\n className={styles.invisibleAction}\n disabled={isDisabled}\n onClick={onClick}\n ref={actionRef as Ref<HTMLButtonElement>}\n tabIndex={-1}\n type=\"button\">\n {labelAndDescription}\n </button>\n ) : (\n <span className={styles.content}>{labelAndDescription}</span>\n )}\n {endContent == null ? null : (\n <span className={styles.endContent}>{endContent}</span>\n )}\n </>\n );\n\n const marginLeft = hasChildren\n ? `calc(${nestedLevel} * 16px)`\n : `calc(${nestedLevel} * 16px + 24px)`;\n\n return (\n <li\n aria-describedby={description == null ? undefined : descriptionId}\n aria-disabled={isDisabled || undefined}\n aria-expanded={hasChildren ? isExpanded : undefined}\n aria-labelledby={labelId}\n aria-selected={isSelected || undefined}\n className={styles.wrapper}\n onFocus={handleFocus}\n onKeyDown={handleRowKeyDown}\n ref={ref}\n role=\"treeitem\"\n tabIndex={isDisabled ? -1 : tabIndex}>\n <div className={styles.treeBranches}>\n <TreeViewBranches\n ancestorsIsLast={ancestorsIsLast}\n nestedLevel={nestedLevel}\n />\n </div>\n <div className={styles.rowWrapper}>\n {/* eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard interaction is handled by the parent treeitem for roving focus. */}\n <div\n className={cx(\n 'silver-tree-view-item',\n styles.contentWrapper,\n styles.density[density],\n isInteractive || togglesOnRow ? styles.interactive : undefined,\n isDisabled ? styles.disabled : undefined,\n isSelected ? styles.selected : undefined,\n isFocused ? styles.focused : undefined,\n )}\n onClick={handleRowClick}\n onPointerDown={handlePointerDown}\n style={{marginLeft}}\n tabIndex={undefined}>\n {content}\n </div>\n </div>\n {isExpanded && renderedChildren != null ? (\n <ul className={styles.childGroup} role=\"group\">\n {renderedChildren}\n </ul>\n ) : null}\n </li>\n );\n}\n\nTreeViewItem.displayName = 'TreeViewItem';\n","/* eslint-disable jsx-a11y-x/no-noninteractive-element-to-interactive-role -- tree semantics are applied to list markup */\n\nimport {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {TreeViewItem} from './TreeViewItem';\nimport type {TreeViewDensity, TreeViewItemData} from './types';\n\nexport interface TreeViewProps {\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Spacing density for tree items.\n * @default 'balanced'\n */\n density?: TreeViewDensity;\n /**\n * Header content rendered above the tree and associated with `aria-labelledby`.\n */\n header?: ReactNode;\n /**\n * Recursive tree item data. Pass a stable reference, or memoize large inline\n * arrays, to avoid repeating recursive expansion scans on every render.\n */\n items: TreeViewItemData[];\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n header: css({\n mb: '2',\n }),\n list: css({\n m: 0,\n p: 0,\n listStyleType: 'none',\n }),\n root: css({\n position: 'relative',\n }),\n} as const;\n\ninterface VisibleTreeItem {\n hasChildren: boolean;\n id: string;\n isDisabled: boolean;\n isExpanded: boolean;\n label: string;\n parentId: string | null;\n}\n\nfunction collectExpandedKeys(items: TreeViewItemData[]): string[] {\n const keys: string[] = [];\n for (const item of items) {\n if (item.isExpanded && item.children != null && item.children.length > 0) {\n keys.push(item.id);\n }\n if (item.children != null) {\n keys.push(...collectExpandedKeys(item.children));\n }\n }\n return keys;\n}\n\nfunction getTextLabel(item: TreeViewItemData): string {\n if (item.ariaLabel != null) {\n return item.ariaLabel;\n }\n if (typeof item.label === 'string' || typeof item.label === 'number') {\n return String(item.label);\n }\n return item.id;\n}\n\nfunction getItemExpansion(\n id: string,\n expandedKeyOverrides: ReadonlyMap<string, boolean>,\n expandedKeysFromProps: ReadonlySet<string>,\n): boolean {\n return expandedKeyOverrides.has(id)\n ? (expandedKeyOverrides.get(id) ?? false)\n : expandedKeysFromProps.has(id);\n}\n\nfunction collectVisibleItems(\n items: TreeViewItemData[],\n expandedKeyOverrides: ReadonlyMap<string, boolean>,\n expandedKeysFromProps: ReadonlySet<string>,\n parentId: string | null = null,\n): VisibleTreeItem[] {\n const visibleItems: VisibleTreeItem[] = [];\n for (const item of items) {\n const hasChildren = item.children != null && item.children.length > 0;\n const isExpanded = getItemExpansion(\n item.id,\n expandedKeyOverrides,\n expandedKeysFromProps,\n );\n visibleItems.push({\n hasChildren,\n id: item.id,\n isDisabled: item.isDisabled === true,\n isExpanded,\n label: getTextLabel(item),\n parentId,\n });\n\n if (hasChildren && isExpanded) {\n visibleItems.push(\n ...collectVisibleItems(\n item.children ?? [],\n expandedKeyOverrides,\n expandedKeysFromProps,\n item.id,\n ),\n );\n }\n }\n return visibleItems;\n}\n\n/**\n * Renders a hierarchical tree of expandable and selectable items.\n */\nexport function TreeView({\n className,\n 'data-testid': dataTestId,\n density = 'balanced',\n header,\n items,\n ref,\n style,\n}: TreeViewProps): React.JSX.Element {\n const headerId = useId();\n const itemElementsRef = useRef(new Map<string, HTMLLIElement>());\n const inputModalityRef = useRef<'keyboard' | 'pointer'>('keyboard');\n const expandedKeysFromProps = useMemo(\n () => new Set(collectExpandedKeys(items)),\n [items],\n );\n const [expandedKeyOverrides, setExpandedKeyOverrides] = useState<\n Map<string, boolean>\n >(() => new Map());\n const [focusedId, setFocusedId] = useState<string | null>(null);\n const [hasFocusWithin, setHasFocusWithin] = useState(false);\n const [focusVisibleId, setFocusVisibleId] = useState<string | null>(null);\n\n const visibleItems = useMemo(\n () =>\n collectVisibleItems(items, expandedKeyOverrides, expandedKeysFromProps),\n [expandedKeyOverrides, expandedKeysFromProps, items],\n );\n const focusableItems = useMemo(\n () => visibleItems.filter(item => !item.isDisabled),\n [visibleItems],\n );\n const activeFocusedId =\n focusedId != null && focusableItems.some(item => item.id === focusedId)\n ? focusedId\n : (focusableItems[0]?.id ?? null);\n\n const handleToggle = useCallback(\n (id: string) => {\n setExpandedKeyOverrides(previous => {\n const next = new Map(previous);\n const defaultIsExpanded = expandedKeysFromProps.has(id);\n const isExpanded = previous.has(id)\n ? (previous.get(id) ?? false)\n : defaultIsExpanded;\n const nextIsExpanded = !isExpanded;\n if (nextIsExpanded === defaultIsExpanded) {\n next.delete(id);\n } else {\n next.set(id, nextIsExpanded);\n }\n return next;\n });\n },\n [expandedKeysFromProps],\n );\n\n const focusItem = useCallback((id: string) => {\n setFocusedId(id);\n itemElementsRef.current.get(id)?.focus();\n }, []);\n\n const handleItemFocus = useCallback((id: string, isFocusVisible = false) => {\n setFocusedId(id);\n setFocusVisibleId(\n isFocusVisible || inputModalityRef.current === 'keyboard' ? id : null,\n );\n }, []);\n\n const handleFocusCapture = useCallback(() => {\n setHasFocusWithin(true);\n }, []);\n\n const handleBlurCapture = useCallback((event: FocusEvent<HTMLDivElement>) => {\n const nextFocusedElement = event.relatedTarget;\n if (\n nextFocusedElement instanceof Node &&\n event.currentTarget.contains(nextFocusedElement)\n ) {\n return;\n }\n\n setHasFocusWithin(false);\n setFocusVisibleId(null);\n }, []);\n\n const handleKeyDownCapture = useCallback(() => {\n inputModalityRef.current = 'keyboard';\n }, []);\n\n const handlePointerDownCapture = useCallback(() => {\n inputModalityRef.current = 'pointer';\n }, []);\n\n const registerItem = useCallback(\n (id: string) => (element: HTMLLIElement | null) => {\n if (element == null) {\n itemElementsRef.current.delete(id);\n return;\n }\n itemElementsRef.current.set(id, element);\n },\n [],\n );\n\n const handleItemKeyDown = useCallback(\n (event: KeyboardEvent<HTMLLIElement>, id: string) => {\n const currentIndex = focusableItems.findIndex(item => item.id === id);\n if (currentIndex === -1) {\n return;\n }\n\n const currentItem = focusableItems[currentIndex];\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n const nextIndex = currentIndex + 1;\n if (nextIndex < focusableItems.length) {\n focusItem(focusableItems[nextIndex].id);\n }\n return;\n }\n\n if (event.key === 'ArrowUp') {\n event.preventDefault();\n const previousIndex = currentIndex - 1;\n if (previousIndex >= 0) {\n focusItem(focusableItems[previousIndex].id);\n }\n return;\n }\n\n if (event.key === 'Home') {\n event.preventDefault();\n if (focusableItems.length > 0) {\n focusItem(focusableItems[0].id);\n }\n return;\n }\n\n if (event.key === 'End') {\n event.preventDefault();\n if (focusableItems.length > 0) {\n focusItem(focusableItems[focusableItems.length - 1].id);\n }\n return;\n }\n\n if (event.key === 'ArrowRight') {\n if (!currentItem.hasChildren) {\n return;\n }\n event.preventDefault();\n if (!currentItem.isExpanded) {\n handleToggle(currentItem.id);\n return;\n }\n\n const firstChild = focusableItems.find(\n item => item.parentId === currentItem.id,\n );\n if (firstChild != null) {\n focusItem(firstChild.id);\n }\n return;\n }\n\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n if (currentItem.hasChildren && currentItem.isExpanded) {\n handleToggle(currentItem.id);\n return;\n }\n if (currentItem.parentId != null) {\n focusItem(currentItem.parentId);\n }\n return;\n }\n\n if (\n event.key.length === 1 &&\n !event.altKey &&\n !event.ctrlKey &&\n !event.metaKey\n ) {\n const query = event.key.toLocaleLowerCase();\n const orderedItems = [\n ...focusableItems.slice(currentIndex + 1),\n ...focusableItems.slice(0, currentIndex + 1),\n ];\n const matchingItem = orderedItems.find(item =>\n item.label.toLocaleLowerCase().startsWith(query),\n );\n if (matchingItem != null) {\n event.preventDefault();\n focusItem(matchingItem.id);\n }\n }\n },\n [focusItem, focusableItems, handleToggle],\n );\n\n const renderItems = useCallback(\n (\n treeItems: TreeViewItemData[],\n nestedLevel: number,\n ancestorsIsLast: ReadonlyArray<boolean>,\n ): ReactNode =>\n treeItems.map((item, index) => {\n const isLast = index === treeItems.length - 1;\n const hasChildren = item.children != null && item.children.length > 0;\n const isExpanded = expandedKeyOverrides.has(item.id)\n ? (expandedKeyOverrides.get(item.id) ?? false)\n : expandedKeysFromProps.has(item.id);\n const childAncestorsIsLast = hasChildren\n ? [...ancestorsIsLast, isLast]\n : ancestorsIsLast;\n const renderedChildren =\n isExpanded && hasChildren\n ? renderItems(\n item.children ?? [],\n nestedLevel + 1,\n childAncestorsIsLast,\n )\n : undefined;\n\n return (\n <TreeViewItem\n ancestorsIsLast={ancestorsIsLast}\n ariaLabel={item.ariaLabel}\n density={density}\n description={item.description}\n endContent={item.endContent}\n hasChildren={hasChildren}\n href={item.href}\n id={item.id}\n isDisabled={item.isDisabled}\n isExpanded={isExpanded}\n isFocused={hasFocusWithin && focusVisibleId === item.id}\n isLast={isLast}\n isSelected={item.isSelected}\n key={item.id}\n label={item.label}\n nestedLevel={nestedLevel}\n onClick={item.onClick}\n onFocusItem={handleItemFocus}\n onItemKeyDown={handleItemKeyDown}\n onToggle={handleToggle}\n ref={registerItem(item.id)}\n renderedChildren={renderedChildren}\n startContent={item.startContent}\n tabIndex={activeFocusedId === item.id ? 0 : -1}\n target={item.target}\n />\n );\n }),\n [\n activeFocusedId,\n density,\n expandedKeyOverrides,\n expandedKeysFromProps,\n focusVisibleId,\n hasFocusWithin,\n handleItemFocus,\n handleItemKeyDown,\n handleToggle,\n registerItem,\n ],\n );\n\n return (\n <div\n className={cx('silver-tree-view', styles.root, className)}\n data-testid={dataTestId}\n onBlurCapture={handleBlurCapture}\n onFocusCapture={handleFocusCapture}\n onKeyDownCapture={handleKeyDownCapture}\n onPointerDownCapture={handlePointerDownCapture}\n ref={ref}\n style={style}>\n {header == null ? null : (\n <div className={styles.header} id={headerId}>\n {header}\n </div>\n )}\n <ul\n aria-labelledby={header == null ? undefined : headerId}\n className={styles.list}\n role=\"tree\">\n {renderItems(items, 0, [])}\n </ul>\n </div>\n );\n}\n\nTreeView.displayName = 'TreeView';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Layout/Layout.recipe.ts","../src/components/Layout/LayoutContext.ts","../src/components/Layout/Layout.tsx","../src/components/Layout/LayoutContent.tsx","../src/components/Layout/LayoutFooter.tsx","../src/components/Layout/LayoutHeader.tsx","../src/components/Layout/LayoutPanel.tsx"],"names":["styles","jsx","jsxs"],"mappings":"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","file":"chunk-PTZAJW3J.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nconst paddingVariants = {\n 0: {p: '0'},\n 0.5: {p: '0.5'},\n 1: {p: '1'},\n 1.5: {p: '1.5'},\n 2: {p: '2'},\n 3: {p: '3'},\n 4: {p: '4'},\n 5: {p: '5'},\n 6: {p: '6'},\n 8: {p: '8'},\n 10: {p: '10'},\n};\n\nexport const layoutRecipe = cva({\n base: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n variants: {\n height: {\n fill: {\n h: '100%',\n minH: 0,\n },\n auto: {\n minH: '100%',\n },\n },\n padding: paddingVariants,\n },\n defaultVariants: {\n height: 'fill',\n },\n});\n\nexport const layoutMiddleRecipe = cva({\n base: {\n display: 'flex',\n flex: 1,\n minH: 0,\n minW: 0,\n },\n});\n\nexport const layoutRegionRecipe = cva({\n variants: {\n padding: paddingVariants,\n },\n defaultVariants: {\n padding: 4,\n },\n});\n\nexport type LayoutVariants = RecipeVariantProps<typeof layoutRecipe>;\nexport type LayoutRegionVariants = RecipeVariantProps<\n typeof layoutRegionRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type LayoutArea = 'header' | 'content' | 'start' | 'end' | 'footer';\n\nexport interface LayoutSlots {\n hasEnd: boolean;\n hasFooter: boolean;\n hasHeader: boolean;\n hasStart: boolean;\n}\n\nexport interface LayoutDividerContextValue {\n hasDividers: boolean;\n}\n\nexport const LayoutAreaContext = createContext<LayoutArea>('content');\nLayoutAreaContext.displayName = 'LayoutAreaContext';\nexport const LayoutSlotsContext = createContext<LayoutSlots>({\n hasEnd: false,\n hasFooter: false,\n hasHeader: false,\n hasStart: false,\n});\nLayoutSlotsContext.displayName = 'LayoutSlotsContext';\nexport const LayoutDividerContext =\n createContext<LayoutDividerContextValue | null>(null);\nLayoutDividerContext.displayName = 'LayoutDividerContext';\n\nexport function useLayoutArea(): LayoutArea {\n return use(LayoutAreaContext);\n}\n\nexport function useLayoutDivider(): LayoutDividerContextValue | null {\n return use(LayoutDividerContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutMiddleRecipe, layoutRecipe} from './Layout.recipe';\nimport {\n LayoutAreaContext,\n LayoutDividerContext,\n LayoutSlotsContext,\n type LayoutArea,\n} from './LayoutContext';\nimport type {LayoutHeight} from './types';\n\n/**\n * Shell with header, side panels, content, and footer slots.\n */\nexport interface LayoutProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Main content slot.\n */\n content?: ReactNode;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * End panel slot.\n */\n end?: ReactNode;\n /**\n * Footer slot.\n */\n footer?: ReactNode;\n /**\n * Whether child layout regions should show dividers.\n */\n hasDividers?: boolean;\n /**\n * Header slot.\n */\n header?: ReactNode;\n /**\n * Layout height behavior. Default is `fill`.\n */\n height?: LayoutHeight;\n /**\n * Outer padding for layout edges.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Start panel slot.\n */\n start?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n contentFill: css({\n flex: 1,\n minW: 0,\n display: 'flex',\n flexDirection: 'column',\n }),\n};\n\nfunction AreaProvider({\n area,\n children,\n}: {\n area: LayoutArea;\n children?: ReactNode;\n}): React.JSX.Element | null {\n if (children == null) {\n return null;\n }\n\n return <LayoutAreaContext value={area}>{children}</LayoutAreaContext>;\n}\n\nexport function Layout({\n className,\n content,\n 'data-testid': dataTestId,\n hasDividers = true,\n end,\n footer,\n header,\n height = 'fill',\n padding,\n ref,\n start,\n style,\n}: LayoutProps): React.JSX.Element {\n const slots = useMemo(\n () => ({\n hasEnd: end != null,\n hasFooter: footer != null,\n hasHeader: header != null,\n hasStart: start != null,\n }),\n [end, footer, header, start],\n );\n const dividerValue = useMemo(() => ({hasDividers}), [hasDividers]);\n const rootStyle: CSSProperties = {\n ...style,\n };\n\n return (\n <LayoutDividerContext value={dividerValue}>\n <LayoutSlotsContext value={slots}>\n <div\n className={cx(layoutRecipe({height, padding}), className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <AreaProvider area=\"header\">{header}</AreaProvider>\n <div className={layoutMiddleRecipe()}>\n <AreaProvider area=\"start\">{start}</AreaProvider>\n <div className={styles.contentFill}>\n <AreaProvider area=\"content\">{content}</AreaProvider>\n </div>\n <AreaProvider area=\"end\">{end}</AreaProvider>\n </div>\n <AreaProvider area=\"footer\">{footer}</AreaProvider>\n </div>\n </LayoutSlotsContext>\n </LayoutDividerContext>\n );\n}\n\nLayout.displayName = 'Layout';\n","import type {ComponentPropsWithRef, ElementType} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport interface LayoutContentProps extends ComponentPropsWithRef<'div'> {\n /**\n * HTML element to render. Default is `div`.\n */\n as?: ElementType;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the content area scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n}\n\nconst styles = {\n root: css({\n flex: 1,\n minH: 0,\n minW: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n};\n\n/**\n * Scrollable main content area within a Layout. Fills the remaining space\n * between panels and stretches to fill the available height.\n */\nexport function LayoutContent({\n as: Element = 'div',\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n ...rest\n}: LayoutContentProps): React.JSX.Element {\n return (\n <Element\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={style}>\n {children}\n </Element>\n );\n}\n\nLayoutContent.displayName = 'LayoutContent';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\ninterface LayoutFooterBaseProps {\n /**\n * Additional CSS class names applied to the footer.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Fixed height for the footer.\n */\n height?: number | string;\n /**\n * Accessible label for the footer landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the footer element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the footer.\n */\n style?: CSSProperties;\n}\n\ninterface LayoutFooterCustomProps extends LayoutFooterBaseProps {\n /**\n * Custom footer content rendered inside the footer shell.\n */\n children: ReactNode;\n primaryButton?: never;\n secondaryButton?: never;\n startContent?: never;\n}\n\ninterface LayoutFooterActionsProps extends LayoutFooterBaseProps {\n children?: never;\n /**\n * Primary action button, rendered rightmost.\n */\n primaryButton: ReactNode;\n /**\n * Secondary action button, rendered left of the primary button.\n */\n secondaryButton?: ReactNode;\n /**\n * Content rendered at the start (left) of the footer.\n */\n startContent?: ReactNode;\n}\n\n/**\n * Footer landmark region within a Layout. Use action slots for the standard\n * footer layout, or children for a custom footer inside the same shell.\n */\nexport type LayoutFooterProps =\n | LayoutFooterActionsProps\n | LayoutFooterCustomProps;\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '3',\n }),\n customInner: css({}),\n start: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n marginInlineEnd: 'auto',\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n};\n\n/**\n * Footer landmark region within a Layout.\n */\nexport function LayoutFooter({\n children,\n className,\n 'data-testid': dataTestId,\n height,\n label,\n padding = 4,\n primaryButton,\n ref,\n secondaryButton,\n startContent,\n style,\n}: LayoutFooterProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n const isCustom = children != null;\n\n return (\n <footer\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-divider={hasDivider || undefined}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div\n className={cx(\n isCustom ? styles.customInner : styles.inner,\n layoutRegionRecipe({padding}),\n )}>\n {isCustom ? (\n children\n ) : (\n <>\n {startContent != null ? (\n <div className={styles.start}>{startContent}</div>\n ) : null}\n <div className={styles.actions}>\n {secondaryButton}\n {primaryButton}\n </div>\n </>\n )}\n </div>\n </footer>\n );\n}\n\nLayoutFooter.displayName = 'LayoutFooter';\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {Button} from '../Button';\nimport {useDialogContext} from '../Dialog/DialogContext';\nimport {Heading, Text} from '../Text';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutDivider} from './LayoutContext';\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport interface LayoutHeaderProps {\n /**\n * Additional CSS class names applied to the header.\n */\n className?: string;\n /**\n * Test ID applied to the header.\n */\n 'data-testid'?: string;\n /**\n * Content rendered after the title area.\n */\n endContent?: ReactNode;\n /**\n * Fixed height for the header.\n */\n height?: number | string;\n /**\n * Accessible label for the header landmark.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the header element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered before the title area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the header.\n */\n style?: CSSProperties;\n /**\n * Supporting text displayed below the title.\n */\n subtitle?: string;\n /**\n * Primary header title.\n */\n title: string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n }),\n divider: css({\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n }),\n inner: css({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: '3',\n }),\n titleArea: css({\n flex: 1,\n minW: 0,\n '& > :focus': {\n outline: 'none',\n },\n }),\n actions: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n }),\n closeButton: css({\n marginInlineEnd: '-2',\n marginBlockStart: '-2',\n }),\n} as const;\n\n/**\n * Header landmark region within a Layout with a structured title,\n * optional subtitle, and start/end content slots.\n *\n * When rendered inside a Dialog, a close button is automatically\n * appended after `endContent`. The button calls `onOpenChange(false)`\n * on the parent Dialog and the title receives initial focus.\n */\nexport function LayoutHeader({\n className,\n 'data-testid': dataTestId,\n endContent,\n height,\n label,\n padding = 4,\n ref,\n startContent,\n style,\n subtitle,\n title,\n}: LayoutHeaderProps): React.JSX.Element {\n const dividerContext = useLayoutDivider();\n const dialogContext = useDialogContext();\n const hasDivider = dividerContext?.hasDividers ?? false;\n const rootStyle: CSSProperties = {height, ...style};\n\n const closeButton =\n dialogContext != null ? (\n <Button\n className={styles.closeButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={() => dialogContext.onOpenChange(false)}\n variant=\"ghost\"\n />\n ) : null;\n const hasEnd = endContent != null || closeButton != null;\n\n return (\n <header\n aria-label={label}\n className={cx(styles.root, hasDivider && styles.divider, className)}\n data-testid={dataTestId}\n ref={ref}\n style={rootStyle}>\n <div className={cx(styles.inner, layoutRegionRecipe({padding}))}>\n {startContent != null ? (\n <div className={styles.actions}>{startContent}</div>\n ) : null}\n <div className={styles.titleArea}>\n <Heading\n data-dialog-autofocus={dialogContext != null ? 'true' : undefined}\n id={dialogContext?.titleId}\n level={4}\n tabIndex={dialogContext != null ? -1 : undefined}>\n {title}\n </Heading>\n {subtitle != null ? (\n <Text as=\"p\" color=\"secondary\" type=\"supporting\">\n {subtitle}\n </Text>\n ) : null}\n </div>\n {hasEnd ? (\n <div className={styles.actions}>\n {endContent}\n {closeButton}\n </div>\n ) : null}\n </div>\n </header>\n );\n}\n\nLayoutHeader.displayName = 'LayoutHeader';\n","import type {ComponentPropsWithRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport type {SpacingToken} from '../../internal/spacingTokens';\nimport {layoutRegionRecipe} from './Layout.recipe';\nimport {useLayoutArea, useLayoutDivider} from './LayoutContext';\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport interface LayoutPanelProps extends ComponentPropsWithRef<'div'> {\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the panel scrolls when it overflows.\n */\n isScrollable?: boolean;\n /**\n * Accessible label. Automatically sets role=\"region\" when provided.\n */\n label?: string;\n /**\n * Inner padding.\n */\n padding?: SpacingToken;\n /**\n * Fixed width for the panel.\n */\n width?: number | string;\n}\n\nconst styles = {\n root: css({\n flexShrink: 0,\n overflow: 'clip',\n }),\n scrollable: css({\n overflow: 'auto',\n }),\n dividerEnd: css({\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n }),\n dividerStart: css({\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n }),\n};\n\n/**\n * Side panel region within a Layout. Placed in the start or end slot,\n * with optional dividers and scrolling.\n */\nexport function LayoutPanel({\n children,\n className,\n 'data-testid': dataTestId,\n isScrollable = true,\n label,\n padding = 4,\n ref,\n role,\n style,\n width,\n ...rest\n}: LayoutPanelProps): React.JSX.Element {\n const area = useLayoutArea();\n const dividerContext = useLayoutDivider();\n const hasDivider = dividerContext?.hasDividers ?? false;\n\n return (\n <div\n {...rest}\n aria-label={label}\n className={cx(\n styles.root,\n layoutRegionRecipe({padding}),\n isScrollable && styles.scrollable,\n hasDivider && area === 'start' && styles.dividerEnd,\n hasDivider && area === 'end' && styles.dividerStart,\n className,\n )}\n data-testid={dataTestId}\n ref={ref}\n role={role ?? (label != null ? 'region' : undefined)}\n style={{width, ...style}}>\n {children}\n </div>\n );\n}\n\nLayoutPanel.displayName = 'LayoutPanel';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/internal/formatFileSize.ts","../src/components/FileInput/FileInput.tsx"],"names":["css","useId","useRef","useState","getStatusMessageID","getDescribedBy","getNecessity","jsx","Field","jsxs","cx","inputRecipe","mergeRefs","Spinner","Icon","Upload","Text","Button","X","getStatusIcon"],"mappings":"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","file":"chunk-PWL6TWVC.cjs","sourcesContent":["export function formatFileSize(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`;\n }\n\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`;\n }\n\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n","import {Upload, X} from 'lucide-react';\nimport {\n useId,\n useRef,\n useState,\n type CSSProperties,\n type DragEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {formatFileSize} from '../../internal/formatFileSize';\nimport {mergeRefs} from '../../internal/mergeRefs';\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 {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\n\nexport type FileInputMode = 'dropzone' | 'input';\n\ninterface FileInputBaseProps {\n /**\n * Comma-separated MIME types or file extensions the input accepts.\n */\n accept?: string;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the hidden file input.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\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 file size in bytes.\n */\n maxSize?: number;\n /**\n * Display mode: inline input or drag-and-drop dropzone.\n * @default 'input'\n */\n mode?: FileInputMode;\n /**\n * Placeholder text shown when no file is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the hidden file input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\ninterface FileInputSingleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple?: false;\n /**\n * Maximum number of files allowed. Only applicable when isMultiple is true.\n */\n maxFiles?: undefined;\n /**\n * Called when the selected file changes.\n */\n onChange: (file: File | null) => void;\n /**\n * Currently selected file.\n */\n value: File | null;\n}\n\ninterface FileInputMultipleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple: true;\n /**\n * Maximum number of files allowed.\n */\n maxFiles?: number;\n /**\n * Called when the selected files change.\n */\n onChange: (files: File[]) => void;\n /**\n * Currently selected files.\n */\n value: File[];\n}\n\nexport type FileInputProps = (FileInputMultipleProps | FileInputSingleProps) &\n FieldNecessity;\n\nconst styles = {\n surface: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '3',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n bg: 'bg',\n cursor: 'pointer',\n _hover: {borderColor: 'fg.muted'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n dropzone: css({\n minH: '32',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n borderStyle: 'dashed',\n textAlign: 'center',\n '& > *': {\n flex: 'none',\n },\n }),\n disabled: css({\n cursor: 'not-allowed',\n opacity: 0.55,\n }),\n active: css({\n borderColor: 'primary',\n bg: 'bg.selected',\n }),\n hiddenInput: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }),\n fileName: css({\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n icon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n} as const;\n\nfunction validateFiles(\n files: File[],\n options: {\n accept?: string;\n isMultiple: boolean;\n maxFiles?: number;\n maxSize?: number;\n },\n): {error: string | null; files: File[]} {\n let validFiles = files;\n if (options.accept != null) {\n const acceptedTypes = options.accept\n .split(',')\n .map(type => type.trim().toLowerCase());\n validFiles = validFiles.filter(file =>\n acceptedTypes.some(type => {\n if (type.startsWith('.')) {\n return file.name.toLowerCase().endsWith(type);\n }\n if (type.endsWith('/*')) {\n return file.type.startsWith(type.slice(0, -1));\n }\n return file.type.toLowerCase() === type;\n }),\n );\n if (validFiles.length !== files.length) {\n return {\n files: validFiles,\n error: 'One or more files are not an accepted type.',\n };\n }\n }\n if (options.maxSize != null) {\n const maxSize = options.maxSize;\n const oversized = validFiles.find(file => file.size > maxSize);\n if (oversized != null) {\n return {\n error: `\"${oversized.name}\" exceeds ${formatFileSize(maxSize)}.`,\n files: validFiles.filter(file => file.size <= maxSize),\n };\n }\n }\n if (\n options.isMultiple &&\n options.maxFiles != null &&\n validFiles.length > options.maxFiles\n ) {\n return {\n files: validFiles.slice(0, options.maxFiles),\n error: `Maximum ${options.maxFiles} files allowed.`,\n };\n }\n return {files: validFiles, error: null};\n}\n\nfunction getFileNames(value: File | File[] | null): string | null {\n if (value == null) {\n return null;\n }\n if (Array.isArray(value)) {\n return value.length === 0 ? null : value.map(file => file.name).join(', ');\n }\n return value.name;\n}\n\n/**\n * A file input supporting both inline and drag-and-drop dropzone modes.\n */\nexport function FileInput({\n label,\n value,\n onChange,\n accept,\n isMultiple = false,\n maxSize,\n maxFiles,\n mode = 'input',\n placeholder,\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n size = 'md',\n status: statusFromProps,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FileInputProps): React.JSX.Element {\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n const [validationError, setValidationError] = useState<string | null>(null);\n const status =\n statusFromProps ??\n (validationError == null\n ? undefined\n : {type: 'error' as const, message: validationError});\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const fileNames = getFileNames(value);\n const displayText =\n fileNames ?? placeholder ?? (isMultiple ? 'Choose files' : 'Choose file');\n const isDropzone = mode === 'dropzone';\n\n const handleFiles = (files: File[]) => {\n if (isDisabled) {\n return;\n }\n const result = validateFiles(files, {\n accept,\n isMultiple,\n maxFiles,\n maxSize,\n });\n setValidationError(result.error);\n if (isMultiple) {\n (onChange as (files: File[]) => void)(result.files);\n } else if (result.files.length === 0) {\n (onChange as (file: File | null) => void)(null);\n } else {\n (onChange as (file: File | null) => void)(result.files[0]);\n }\n };\n\n const handleClear = () => {\n setValidationError(null);\n if (isMultiple) {\n (onChange as (files: File[]) => void)([]);\n } else {\n (onChange as (file: File | null) => void)(null);\n }\n };\n\n const dragProps = isDropzone\n ? {\n onDragEnter: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDragLeave: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n },\n onDragOver: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDrop: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n if (!isDisabled) {\n handleFiles(Array.from(event.dataTransfer.files));\n }\n },\n }\n : {};\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\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 <div\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-disabled={isDisabled || undefined}\n className={cx(\n styles.surface,\n isDropzone\n ? styles.dropzone\n : inputRecipe({size, status: status?.type, isDisabled}),\n isDisabled ? styles.disabled : undefined,\n isDragOver ? styles.active : undefined,\n className,\n )}\n onClick={() => {\n if (!isDisabled) {\n inputRef.current?.click();\n }\n }}\n onKeyDown={event => {\n if (!isDisabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n inputRef.current?.click();\n }\n }}\n role=\"button\"\n style={style}\n tabIndex={isDisabled ? -1 : 0}\n {...dragProps}>\n <input\n accept={accept}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n className={styles.hiddenInput}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n multiple={isMultiple}\n onChange={event => {\n handleFiles(Array.from(event.target.files ?? []));\n event.currentTarget.value = '';\n }}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"file\"\n />\n {isLoading ? (\n <Spinner size={isDropzone ? 'md' : 'sm'} />\n ) : (\n <span className={styles.icon}>\n <Icon icon={Upload} size={isDropzone ? 'md' : 'sm'} />\n </span>\n )}\n <Text\n as=\"span\"\n className={styles.fileName}\n color={fileNames == null ? 'secondary' : 'primary'}>\n {isDragOver ? 'Drop files here' : displayText}\n </Text>\n {fileNames != null ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n handleClear();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {status != null && !isDropzone ? (\n <span className={styles.icon}>{getStatusIcon(status.type)}</span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nFileInput.displayName = 'FileInput';\n"]}
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/Switch/Switch.recipe.ts","../src/components/Switch/Switch.tsx"],"names":[],"mappings":"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","file":"chunk-PXVVTPRJ.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const switchRecipe = sva({\n slots: [\n 'field',\n 'row',\n 'labelWrapper',\n 'label',\n 'labelIcon',\n 'requiredness',\n 'tooltipIcon',\n 'status',\n 'control',\n 'input',\n 'track',\n 'thumb',\n ],\n base: {\n field: {\n display: 'flex',\n flexDirection: 'column',\n gap: '1',\n w: 'fit-content',\n },\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n labelWrapper: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n minW: 0,\n },\n label: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n w: 'fit-content',\n color: 'fg.muted',\n cursor: 'pointer',\n },\n labelIcon: {\n display: 'inline-flex',\n alignItems: 'center',\n },\n requiredness: {\n fontWeight: 'normal',\n color: 'fg.muted',\n },\n tooltipIcon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n status: {\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n px: '2',\n py: '1.5',\n mt: '1',\n borderRadius: 'md',\n },\n control: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n w: '10',\n h: '6',\n borderRadius: 'full',\n isolation: 'isolate',\n '&:has(input:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n '& [data-switch-track][data-selected=\"true\"]': {\n bg: 'primary',\n },\n '&:has(input:active:not(:disabled)) [data-switch-track]': {\n bg: 'primary.active',\n },\n },\n input: {\n position: 'absolute',\n inset: 0,\n m: 0,\n p: 0,\n opacity: 0,\n cursor: 'pointer',\n zIndex: 1,\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n track: {\n display: 'flex',\n alignItems: 'center',\n w: '10',\n h: '6',\n p: '1',\n borderRadius: 'full',\n bg: 'track.emphasized',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n pointerEvents: 'none',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n thumb: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: '4',\n h: '4',\n borderRadius: 'full',\n bg: 'bg',\n color: 'primary',\n transform: 'translateX(0)',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n variants: {\n labelSpacing: {\n default: {},\n spread: {\n field: {w: 'full'},\n row: {justifyContent: 'space-between', w: 'full'},\n },\n },\n isSelected: {\n true: {\n track: {bg: 'primary'},\n thumb: {transform: 'translateX(16px)'},\n },\n false: {},\n },\n isDisabled: {\n true: {\n label: {color: 'fg.disabled', cursor: 'not-allowed'},\n track: {opacity: 0.5},\n },\n false: {},\n },\n // Applied only when a status message is rendered (status?.type is defined).\n status: {\n warning: {status: {bg: 'surface.yellow', color: 'surface.yellow.fg'}},\n error: {status: {bg: 'surface.red', color: 'surface.red.fg'}},\n success: {status: {bg: 'surface.green', color: 'surface.green.fg'}},\n },\n },\n defaultVariants: {\n labelSpacing: 'default',\n isSelected: false,\n isDisabled: false,\n },\n});\n\nexport type SwitchVariants = RecipeVariantProps<typeof switchRecipe>;\n","import {Info} from 'lucide-react';\nimport {\n useId,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {VisuallyHidden} from '../../internal/VisuallyHidden';\nimport {cx} from '../../internal/cx';\nimport type {FieldNecessity, InputStatus} from '../Field';\nimport {getDescribedBy, getStatusMessageID} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\nimport {Tooltip} from '../Tooltip';\nimport {switchRecipe} from './Switch.recipe';\n\nexport type SwitchLabelPosition = 'end' | 'start';\nexport type SwitchLabelSpacing = 'default' | 'spread';\n\nexport type SwitchProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the checkbox input.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether the switch 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 switch is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the switch is on.\n */\n isSelected: boolean;\n /**\n * Switch label.\n */\n label: string;\n /**\n * Content rendered before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Which side of the switch the label appears on.\n * @default 'end'\n */\n labelPosition?: SwitchLabelPosition;\n /**\n * Spacing behavior between label and switch.\n * @default 'default'\n */\n labelSpacing?: SwitchLabelSpacing;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Called when the switch loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the checked state changes.\n */\n onChange: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Called when the switch receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Ref forwarded to the checkbox input.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Validation status displayed below the switch.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n} & FieldNecessity;\n\n/**\n * A controlled switch for boolean settings.\n */\nexport function Switch({\n className,\n 'data-testid': dataTestId,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isLoading = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n labelPosition = 'end',\n labelSpacing = 'default',\n onBlur,\n onChange,\n onFocus,\n ref,\n status,\n style,\n isSelected,\n}: SwitchProps): 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 const requirednessText = isOptional\n ? 'Optional'\n : isRequired\n ? 'Required'\n : null;\n const classes = switchRecipe({\n labelSpacing,\n isSelected,\n isDisabled,\n status: status?.type,\n });\n const control = (\n <span className={classes.control}>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n checked={isSelected}\n className={classes.input}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n onBlur={onBlur}\n onChange={event => onChange(event.target.checked, event)}\n onFocus={onFocus}\n ref={ref}\n required={isRequired}\n role=\"switch\"\n type=\"checkbox\"\n />\n <span\n aria-hidden=\"true\"\n className={classes.track}\n data-selected={isSelected ? 'true' : undefined}\n data-switch-track=\"\">\n <span className={classes.thumb}>\n {isLoading ? <Spinner size=\"sm\" /> : null}\n </span>\n </span>\n {isLoading ? (\n <VisuallyHidden>\n <span role=\"status\">Loading</span>\n </VisuallyHidden>\n ) : null}\n </span>\n );\n const labelNode = (\n <div className={classes.labelWrapper}>\n <label className={classes.label} htmlFor={inputId}>\n {labelIcon != null ? (\n <span className={classes.labelIcon}>\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n </span>\n ) : null}\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {label}\n </Text>\n {requirednessText != null ? (\n <Text as=\"span\" className={classes.requiredness} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {requirednessText}\n </Text>\n ) : null}\n {labelTooltip != null ? (\n <Tooltip content={labelTooltip}>\n <span className={classes.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </label>\n {description != null ? (\n <Text as=\"span\" color=\"secondary\" id={descriptionID} type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </div>\n );\n\n return (\n <div className={cx(classes.field, className)} style={style}>\n <div className={classes.row}>\n {labelPosition === 'start' ? (\n isLabelHidden ? (\n <VisuallyHidden>{labelNode}</VisuallyHidden>\n ) : (\n labelNode\n )\n ) : (\n control\n )}\n {labelPosition === 'start' ? (\n control\n ) : isLabelHidden ? (\n <VisuallyHidden>{labelNode}</VisuallyHidden>\n ) : (\n labelNode\n )}\n </div>\n {status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={classes.status}\n id={statusMessageID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null}\n </div>\n );\n}\n\nSwitch.displayName = 'Switch';\n"]}