silver-ui 0.3.1 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-YAYINZT2.cjs → chunk-27EAV2GT.cjs} +3 -3
- package/dist/chunk-27EAV2GT.cjs.map +1 -0
- package/dist/{chunk-AMFFE5UJ.js → chunk-2AWSJF22.js} +5 -5
- package/dist/{chunk-AMFFE5UJ.js.map → chunk-2AWSJF22.js.map} +1 -1
- package/dist/{chunk-66LRFIYK.cjs → chunk-2F5TDBRT.cjs} +171 -153
- package/dist/chunk-2F5TDBRT.cjs.map +1 -0
- package/dist/{chunk-MUUPZEZ5.cjs → chunk-2GMDMZKI.cjs} +6 -6
- package/dist/chunk-2GMDMZKI.cjs.map +1 -0
- package/dist/{chunk-BS55BG2U.cjs → chunk-2K4I2MB3.cjs} +7 -7
- package/dist/{chunk-BS55BG2U.cjs.map → chunk-2K4I2MB3.cjs.map} +1 -1
- package/dist/{chunk-WMXIUOOU.cjs → chunk-2MXK2SDR.cjs} +3 -3
- package/dist/chunk-2MXK2SDR.cjs.map +1 -0
- package/dist/{chunk-U5GTHA44.cjs → chunk-2RZNX26F.cjs} +14 -14
- package/dist/{chunk-U5GTHA44.cjs.map → chunk-2RZNX26F.cjs.map} +1 -1
- package/dist/{chunk-DSB4Q3AS.js → chunk-2VAUVJVG.js} +4 -4
- package/dist/{chunk-DSB4Q3AS.js.map → chunk-2VAUVJVG.js.map} +1 -1
- package/dist/{chunk-D2DOHX4W.js → chunk-2VL66QBX.js} +123 -108
- package/dist/chunk-2VL66QBX.js.map +1 -0
- package/dist/{chunk-QL3YSC3H.cjs → chunk-2WTHSGDP.cjs} +30 -24
- package/dist/chunk-2WTHSGDP.cjs.map +1 -0
- package/dist/{chunk-UYBGXFYX.js → chunk-2Y7ULSEU.js} +495 -433
- package/dist/chunk-2Y7ULSEU.js.map +1 -0
- package/dist/{chunk-UPQHFW47.js → chunk-3IYM5MAC.js} +5 -5
- package/dist/chunk-3IYM5MAC.js.map +1 -0
- package/dist/chunk-3NIDAKCF.cjs +38 -0
- package/dist/chunk-3NIDAKCF.cjs.map +1 -0
- package/dist/{chunk-L7BOLGF2.cjs → chunk-3VJIUZAY.cjs} +263 -224
- package/dist/chunk-3VJIUZAY.cjs.map +1 -0
- package/dist/{chunk-VJBBMBRT.cjs → chunk-3W3ST5Y3.cjs} +7 -7
- package/dist/chunk-3W3ST5Y3.cjs.map +1 -0
- package/dist/{chunk-QEFE4QBL.cjs → chunk-3Z5PF75J.cjs} +14 -14
- package/dist/{chunk-QEFE4QBL.cjs.map → chunk-3Z5PF75J.cjs.map} +1 -1
- package/dist/{chunk-XSQOHNIF.js → chunk-4426KMA7.js} +3 -3
- package/dist/{chunk-XSQOHNIF.js.map → chunk-4426KMA7.js.map} +1 -1
- package/dist/{chunk-4MRORQNN.js → chunk-4HXNBLCJ.js} +4 -4
- package/dist/{chunk-4MRORQNN.js.map → chunk-4HXNBLCJ.js.map} +1 -1
- package/dist/chunk-4RDA4W4N.js +150 -0
- package/dist/chunk-4RDA4W4N.js.map +1 -0
- package/dist/{chunk-Y4FH67QZ.js → chunk-4SUQFPWH.js} +176 -102
- package/dist/chunk-4SUQFPWH.js.map +1 -0
- package/dist/{chunk-P3SMNZCT.js → chunk-56PY2CD7.js} +18 -45
- package/dist/chunk-56PY2CD7.js.map +1 -0
- package/dist/{chunk-M4JUQCKP.js → chunk-5FTIATD6.js} +2 -2
- package/dist/{chunk-M4JUQCKP.js.map → chunk-5FTIATD6.js.map} +1 -1
- package/dist/{chunk-QSEDH7T2.js → chunk-5HPXUDX6.js} +3 -6
- package/dist/chunk-5HPXUDX6.js.map +1 -0
- package/dist/{chunk-Z4TZAJS3.js → chunk-5UGHDUMO.js} +2 -2
- package/dist/chunk-5UGHDUMO.js.map +1 -0
- package/dist/{chunk-BRB52QFV.cjs → chunk-5XMWGK3O.cjs} +18 -18
- package/dist/chunk-5XMWGK3O.cjs.map +1 -0
- package/dist/{chunk-2XAA3CM5.js → chunk-5ZU7FY4O.js} +2 -2
- package/dist/chunk-5ZU7FY4O.js.map +1 -0
- package/dist/{chunk-NHXJVSZZ.cjs → chunk-62SQBQA4.cjs} +2 -2
- package/dist/chunk-62SQBQA4.cjs.map +1 -0
- package/dist/{chunk-LUBVZVY3.js → chunk-65MJZYO6.js} +185 -134
- package/dist/chunk-65MJZYO6.js.map +1 -0
- package/dist/{chunk-U2U4FMFM.cjs → chunk-67UUGI3M.cjs} +9 -9
- package/dist/chunk-67UUGI3M.cjs.map +1 -0
- package/dist/{chunk-CEU7BIL6.cjs → chunk-6DAZ2ZOW.cjs} +13 -13
- package/dist/chunk-6DAZ2ZOW.cjs.map +1 -0
- package/dist/{chunk-DIIE44GO.js → chunk-6EYLEVC6.js} +203 -172
- package/dist/chunk-6EYLEVC6.js.map +1 -0
- package/dist/{chunk-ASJ5CBCR.js → chunk-6J326CN6.js} +7 -7
- package/dist/chunk-6J326CN6.js.map +1 -0
- package/dist/{chunk-EMHLPPQZ.js → chunk-6PIVWNUR.js} +4 -4
- package/dist/chunk-6PIVWNUR.js.map +1 -0
- package/dist/{chunk-BA4A7C7U.js → chunk-75KSHZTV.js} +23 -16
- package/dist/chunk-75KSHZTV.js.map +1 -0
- package/dist/{chunk-ZLATP3P5.cjs → chunk-7CTHD4G6.cjs} +8 -16
- package/dist/chunk-7CTHD4G6.cjs.map +1 -0
- package/dist/{chunk-ZWULWVN3.js → chunk-ADSG24VE.js} +9 -9
- package/dist/chunk-ADSG24VE.js.map +1 -0
- package/dist/{chunk-N2TNBDQI.js → chunk-AEYJ6PWC.js} +3 -3
- package/dist/{chunk-N2TNBDQI.js.map → chunk-AEYJ6PWC.js.map} +1 -1
- package/dist/{chunk-D3SSMY73.cjs → chunk-ANACERIO.cjs} +8 -8
- package/dist/chunk-ANACERIO.cjs.map +1 -0
- package/dist/{chunk-6MOJEGDU.cjs → chunk-ARUOMLOJ.cjs} +27 -23
- package/dist/chunk-ARUOMLOJ.cjs.map +1 -0
- package/dist/{chunk-OWBNRALR.js → chunk-AV7D3SXF.js} +7 -7
- package/dist/{chunk-OWBNRALR.js.map → chunk-AV7D3SXF.js.map} +1 -1
- package/dist/{chunk-PL6J55JB.cjs → chunk-BIJ6YDWJ.cjs} +87 -60
- package/dist/chunk-BIJ6YDWJ.cjs.map +1 -0
- package/dist/{chunk-RNB4BDEG.js → chunk-BIKVMVWF.js} +3 -3
- package/dist/{chunk-RNB4BDEG.js.map → chunk-BIKVMVWF.js.map} +1 -1
- package/dist/{chunk-IHM2M74J.js → chunk-BQWUTDTN.js} +3 -3
- package/dist/{chunk-IHM2M74J.js.map → chunk-BQWUTDTN.js.map} +1 -1
- package/dist/{chunk-KFDHP4WP.cjs → chunk-BSI4BQEX.cjs} +6 -6
- package/dist/{chunk-KFDHP4WP.cjs.map → chunk-BSI4BQEX.cjs.map} +1 -1
- package/dist/{chunk-WYE3VOFK.cjs → chunk-BSPWX2OZ.cjs} +22 -22
- package/dist/{chunk-WYE3VOFK.cjs.map → chunk-BSPWX2OZ.cjs.map} +1 -1
- package/dist/{chunk-3XDUR3IG.cjs → chunk-BSXUNRET.cjs} +14 -15
- package/dist/chunk-BSXUNRET.cjs.map +1 -0
- package/dist/chunk-BUYZZOOU.js +56 -0
- package/dist/chunk-BUYZZOOU.js.map +1 -0
- package/dist/chunk-CPDWUT2H.cjs +59 -0
- package/dist/chunk-CPDWUT2H.cjs.map +1 -0
- package/dist/{chunk-ZVH3BLYO.js → chunk-CUHJDV6K.js} +8 -8
- package/dist/chunk-CUHJDV6K.js.map +1 -0
- package/dist/{chunk-4CVDLMD6.js → chunk-D3CHBU46.js} +3 -3
- package/dist/{chunk-4CVDLMD6.js.map → chunk-D3CHBU46.js.map} +1 -1
- package/dist/{chunk-HM7IEGQ2.cjs → chunk-D5OX6II7.cjs} +7 -7
- package/dist/chunk-D5OX6II7.cjs.map +1 -0
- package/dist/{chunk-RDNMAV5B.js → chunk-DE7JLNSO.js} +2 -2
- package/dist/chunk-DE7JLNSO.js.map +1 -0
- package/dist/{chunk-JKERY7QF.cjs → chunk-DLIYUFTS.cjs} +2 -2
- package/dist/{chunk-JKERY7QF.cjs.map → chunk-DLIYUFTS.cjs.map} +1 -1
- package/dist/{chunk-MSNRGNVY.cjs → chunk-DV4K35UC.cjs} +7 -7
- package/dist/{chunk-MSNRGNVY.cjs.map → chunk-DV4K35UC.cjs.map} +1 -1
- package/dist/{chunk-54J6FRPG.js → chunk-DZZEJY3J.js} +198 -180
- package/dist/chunk-DZZEJY3J.js.map +1 -0
- package/dist/{chunk-IRSJHEYI.js → chunk-E42WOTIC.js} +4 -4
- package/dist/chunk-E42WOTIC.js.map +1 -0
- package/dist/{chunk-ZNUOFLCQ.js → chunk-EBJPUXFQ.js} +149 -147
- package/dist/chunk-EBJPUXFQ.js.map +1 -0
- package/dist/{chunk-AJTJD5C6.js → chunk-ECDYAZ2R.js} +8 -8
- package/dist/{chunk-AJTJD5C6.js.map → chunk-ECDYAZ2R.js.map} +1 -1
- package/dist/{chunk-2IKWX66Q.js → chunk-EFBSEJBD.js} +28 -29
- package/dist/chunk-EFBSEJBD.js.map +1 -0
- package/dist/{chunk-PUVBNGCF.js → chunk-EIT2QSCA.js} +2 -2
- package/dist/{chunk-PUVBNGCF.js.map → chunk-EIT2QSCA.js.map} +1 -1
- package/dist/{chunk-3IBY374V.cjs → chunk-ESRDHDYN.cjs} +10 -10
- package/dist/chunk-ESRDHDYN.cjs.map +1 -0
- package/dist/{chunk-IKF6VHA4.cjs → chunk-EZFQCREN.cjs} +19 -46
- package/dist/chunk-EZFQCREN.cjs.map +1 -0
- package/dist/chunk-F7BFO3SD.cjs +153 -0
- package/dist/chunk-F7BFO3SD.cjs.map +1 -0
- package/dist/{chunk-EVKFA5FA.cjs → chunk-FCUUGJTM.cjs} +210 -192
- package/dist/chunk-FCUUGJTM.cjs.map +1 -0
- package/dist/{chunk-BAPCHFNX.cjs → chunk-FFF57VHO.cjs} +14 -14
- package/dist/chunk-FFF57VHO.cjs.map +1 -0
- package/dist/{chunk-UKDGDMWN.js → chunk-FNRYGCO3.js} +5 -5
- package/dist/chunk-FNRYGCO3.js.map +1 -0
- package/dist/{chunk-6USJ4LJJ.js → chunk-FQSVY4QB.js} +4 -4
- package/dist/chunk-FQSVY4QB.js.map +1 -0
- package/dist/{chunk-WOIWI2UO.js → chunk-G6HS52US.js} +3 -3
- package/dist/chunk-G6HS52US.js.map +1 -0
- package/dist/chunk-GA77PPVL.cjs +217 -0
- package/dist/chunk-GA77PPVL.cjs.map +1 -0
- package/dist/{chunk-MGVEX3RS.js → chunk-GSTINE4X.js} +814 -503
- package/dist/chunk-GSTINE4X.js.map +1 -0
- package/dist/chunk-GW6P4FJ4.cjs +424 -0
- package/dist/chunk-GW6P4FJ4.cjs.map +1 -0
- package/dist/{chunk-QRKRVCA3.cjs → chunk-GY2ZZR4Z.cjs} +34 -34
- package/dist/chunk-GY2ZZR4Z.cjs.map +1 -0
- package/dist/{chunk-RQ5BMSGU.js → chunk-H2EMKCWT.js} +3 -3
- package/dist/{chunk-RQ5BMSGU.js.map → chunk-H2EMKCWT.js.map} +1 -1
- package/dist/{chunk-P6RAOXJA.js → chunk-H4L456EW.js} +85 -58
- package/dist/chunk-H4L456EW.js.map +1 -0
- package/dist/{chunk-GXRH5XQY.js → chunk-HIH6MS5D.js} +10 -12
- package/dist/chunk-HIH6MS5D.js.map +1 -0
- package/dist/{chunk-YLGAJD6Q.js → chunk-HNDDNW52.js} +6 -14
- package/dist/chunk-HNDDNW52.js.map +1 -0
- package/dist/{chunk-3TXVDCF2.js → chunk-HPNY32G6.js} +5 -5
- package/dist/{chunk-3TXVDCF2.js.map → chunk-HPNY32G6.js.map} +1 -1
- package/dist/{chunk-M3RNFDA2.cjs → chunk-HWD4HDQ5.cjs} +61 -52
- package/dist/chunk-HWD4HDQ5.cjs.map +1 -0
- package/dist/{chunk-LX64ENLC.cjs → chunk-HWP2UGOC.cjs} +84 -97
- package/dist/chunk-HWP2UGOC.cjs.map +1 -0
- package/dist/chunk-HXIU3SIQ.cjs +391 -0
- package/dist/chunk-HXIU3SIQ.cjs.map +1 -0
- package/dist/{chunk-5GNYP3PH.cjs → chunk-I2NG2P5K.cjs} +152 -137
- package/dist/chunk-I2NG2P5K.cjs.map +1 -0
- package/dist/chunk-I47WOF6E.js +389 -0
- package/dist/chunk-I47WOF6E.js.map +1 -0
- package/dist/{chunk-EHCAF6D3.js → chunk-IAVZKGZS.js} +14 -3
- package/dist/chunk-IAVZKGZS.js.map +1 -0
- package/dist/{chunk-F3NATTQG.cjs → chunk-IGJEZLHP.cjs} +223 -205
- package/dist/chunk-IGJEZLHP.cjs.map +1 -0
- package/dist/{chunk-A66NIFJE.cjs → chunk-IU2YRN35.cjs} +112 -112
- package/dist/chunk-IU2YRN35.cjs.map +1 -0
- package/dist/{chunk-7T3SWOY7.js → chunk-IUW777WZ.js} +2 -2
- package/dist/{chunk-7T3SWOY7.js.map → chunk-IUW777WZ.js.map} +1 -1
- package/dist/{chunk-QGHFUOUB.cjs → chunk-IX26TMZD.cjs} +7 -7
- package/dist/{chunk-QGHFUOUB.cjs.map → chunk-IX26TMZD.cjs.map} +1 -1
- package/dist/chunk-J2YKUHQM.js +330 -0
- package/dist/chunk-J2YKUHQM.js.map +1 -0
- package/dist/{chunk-QEX7V7TI.cjs → chunk-J3X465QT.cjs} +16 -16
- package/dist/chunk-J3X465QT.cjs.map +1 -0
- package/dist/{chunk-4TIAKZ4Q.cjs → chunk-J4PIYOWT.cjs} +2 -2
- package/dist/{chunk-4TIAKZ4Q.cjs.map → chunk-J4PIYOWT.cjs.map} +1 -1
- package/dist/{chunk-O32BKXTR.cjs → chunk-JIF5TZHC.cjs} +2 -2
- package/dist/chunk-JIF5TZHC.cjs.map +1 -0
- package/dist/{chunk-UN35QV25.js → chunk-JJNXQ7EL.js} +4 -4
- package/dist/{chunk-UN35QV25.js.map → chunk-JJNXQ7EL.js.map} +1 -1
- package/dist/{chunk-CK3UJQRI.cjs → chunk-JK4YAQ2N.cjs} +2 -6
- package/dist/chunk-JK4YAQ2N.cjs.map +1 -0
- package/dist/{chunk-VVO7GIHG.cjs → chunk-JM4Q7ZQH.cjs} +9 -9
- package/dist/{chunk-VVO7GIHG.cjs.map → chunk-JM4Q7ZQH.cjs.map} +1 -1
- package/dist/{chunk-NH7KH7QP.js → chunk-JS6MRT6M.js} +5 -5
- package/dist/{chunk-NH7KH7QP.js.map → chunk-JS6MRT6M.js.map} +1 -1
- package/dist/{chunk-7GN6YTSS.cjs → chunk-JSAYTQTJ.cjs} +7 -7
- package/dist/chunk-JSAYTQTJ.cjs.map +1 -0
- package/dist/{chunk-WGCGHFXE.cjs → chunk-JV4Y6HNP.cjs} +2 -2
- package/dist/{chunk-WGCGHFXE.cjs.map → chunk-JV4Y6HNP.cjs.map} +1 -1
- package/dist/{chunk-I7KILUVL.cjs → chunk-K4K4FU3D.cjs} +182 -108
- package/dist/chunk-K4K4FU3D.cjs.map +1 -0
- package/dist/{chunk-M3IKL2VG.js → chunk-KC4EKXGF.js} +7 -7
- package/dist/{chunk-M3IKL2VG.js.map → chunk-KC4EKXGF.js.map} +1 -1
- package/dist/{chunk-PYPXJC35.cjs → chunk-KUXFEAT4.cjs} +4 -4
- package/dist/{chunk-PYPXJC35.cjs.map → chunk-KUXFEAT4.cjs.map} +1 -1
- package/dist/chunk-KVEXSDEM.js +214 -0
- package/dist/chunk-KVEXSDEM.js.map +1 -0
- package/dist/{chunk-276LEL3G.cjs → chunk-KVJ27734.cjs} +4 -4
- package/dist/{chunk-276LEL3G.cjs.map → chunk-KVJ27734.cjs.map} +1 -1
- package/dist/{chunk-W3KMDQKP.cjs → chunk-L5JS6P62.cjs} +38 -33
- package/dist/chunk-L5JS6P62.cjs.map +1 -0
- package/dist/{chunk-75CPTIET.js → chunk-L5PJCLV6.js} +263 -224
- package/dist/chunk-L5PJCLV6.js.map +1 -0
- package/dist/{chunk-3L6KAW7G.js → chunk-L7XJZJCM.js} +5 -5
- package/dist/chunk-L7XJZJCM.js.map +1 -0
- package/dist/{chunk-YSTESYUB.js → chunk-LBGC6EC5.js} +249 -203
- package/dist/chunk-LBGC6EC5.js.map +1 -0
- package/dist/{chunk-CN2HJ7CP.js → chunk-LKGHYNLH.js} +10 -10
- package/dist/{chunk-CN2HJ7CP.js.map → chunk-LKGHYNLH.js.map} +1 -1
- package/dist/{chunk-7U7RP6N2.cjs → chunk-LW3DJOF4.cjs} +13 -13
- package/dist/{chunk-7U7RP6N2.cjs.map → chunk-LW3DJOF4.cjs.map} +1 -1
- package/dist/{chunk-HVUYVPQL.cjs → chunk-MAYQGKKW.cjs} +4 -4
- package/dist/{chunk-HVUYVPQL.cjs.map → chunk-MAYQGKKW.cjs.map} +1 -1
- package/dist/{chunk-6NTDPZWP.js → chunk-MDQSVB2Y.js} +26 -22
- package/dist/chunk-MDQSVB2Y.js.map +1 -0
- package/dist/{chunk-EE2O457Z.cjs → chunk-MEUELWGO.cjs} +14 -14
- package/dist/{chunk-EE2O457Z.cjs.map → chunk-MEUELWGO.cjs.map} +1 -1
- package/dist/{chunk-CRQXHA7N.js → chunk-MEXR5ONE.js} +9 -9
- package/dist/{chunk-CRQXHA7N.js.map → chunk-MEXR5ONE.js.map} +1 -1
- package/dist/{chunk-WO6FS4DV.js → chunk-MGJLBHPJ.js} +166 -148
- package/dist/chunk-MGJLBHPJ.js.map +1 -0
- package/dist/{chunk-5AYGQJOW.js → chunk-MN2NCSQQ.js} +4 -4
- package/dist/{chunk-5AYGQJOW.js.map → chunk-MN2NCSQQ.js.map} +1 -1
- package/dist/{chunk-5TT4PGZO.cjs → chunk-N77K3NQY.cjs} +9 -9
- package/dist/{chunk-5TT4PGZO.cjs.map → chunk-N77K3NQY.cjs.map} +1 -1
- package/dist/{chunk-KRZ57O2J.cjs → chunk-NYTSAO5I.cjs} +8 -8
- package/dist/{chunk-KRZ57O2J.cjs.map → chunk-NYTSAO5I.cjs.map} +1 -1
- package/dist/{chunk-CPOYENSZ.cjs → chunk-O4PO6AMS.cjs} +4 -4
- package/dist/{chunk-CPOYENSZ.cjs.map → chunk-O4PO6AMS.cjs.map} +1 -1
- package/dist/{chunk-HNROO7CR.js → chunk-OERNLR2P.js} +16 -16
- package/dist/chunk-OERNLR2P.js.map +1 -0
- package/dist/{chunk-TF7IWMV2.js → chunk-OF5NULAO.js} +19 -13
- package/dist/chunk-OF5NULAO.js.map +1 -0
- package/dist/{chunk-F3ZNRO6W.js → chunk-OTQAREYU.js} +6 -6
- package/dist/{chunk-F3ZNRO6W.js.map → chunk-OTQAREYU.js.map} +1 -1
- package/dist/{chunk-LFRTNC7M.cjs → chunk-OUZX7STE.cjs} +30 -31
- package/dist/chunk-OUZX7STE.cjs.map +1 -0
- package/dist/{chunk-O4RTJESR.js → chunk-PBQMHXVO.js} +4 -4
- package/dist/chunk-PBQMHXVO.js.map +1 -0
- package/dist/{chunk-HPVXP3DG.cjs → chunk-PGTOVMP7.cjs} +21 -21
- package/dist/{chunk-HPVXP3DG.cjs.map → chunk-PGTOVMP7.cjs.map} +1 -1
- package/dist/{chunk-2OXKEUKG.cjs → chunk-PKZSJX53.cjs} +2 -2
- package/dist/chunk-PKZSJX53.cjs.map +1 -0
- package/dist/chunk-PZHRFASW.js +36 -0
- package/dist/chunk-PZHRFASW.js.map +1 -0
- package/dist/{chunk-7MN4JDP7.js → chunk-Q3HMGFGI.js} +46 -59
- package/dist/chunk-Q3HMGFGI.js.map +1 -0
- package/dist/{chunk-U2WVHZ24.cjs → chunk-Q4HAXT5C.cjs} +149 -146
- package/dist/chunk-Q4HAXT5C.cjs.map +1 -0
- package/dist/{chunk-ZD3NPHZ7.cjs → chunk-QB2BSOM4.cjs} +4 -4
- package/dist/{chunk-ZD3NPHZ7.cjs.map → chunk-QB2BSOM4.cjs.map} +1 -1
- package/dist/{chunk-VAK4JQYL.js → chunk-QO5C7TIV.js} +9 -8
- package/dist/chunk-QO5C7TIV.js.map +1 -0
- package/dist/{chunk-CZM5FAWL.cjs → chunk-R4DGCQTA.cjs} +12 -12
- package/dist/{chunk-CZM5FAWL.cjs.map → chunk-R4DGCQTA.cjs.map} +1 -1
- package/dist/{chunk-76B2VLID.js → chunk-RJEZBOSH.js} +5 -5
- package/dist/{chunk-76B2VLID.js.map → chunk-RJEZBOSH.js.map} +1 -1
- package/dist/{chunk-4H35H54I.cjs → chunk-RRXOSNCX.cjs} +18 -18
- package/dist/chunk-RRXOSNCX.cjs.map +1 -0
- package/dist/{chunk-2VOB6LEI.js → chunk-S4IHNNA2.js} +111 -111
- package/dist/chunk-S4IHNNA2.js.map +1 -0
- package/dist/{chunk-VEUZ5DZR.js → chunk-S5CMLG2E.js} +34 -29
- package/dist/chunk-S5CMLG2E.js.map +1 -0
- package/dist/{chunk-24J3BUKL.js → chunk-SHARVIUI.js} +3 -3
- package/dist/chunk-SHARVIUI.js.map +1 -0
- package/dist/{chunk-7PNLMDAR.cjs → chunk-SUT35RHA.cjs} +8 -8
- package/dist/chunk-SUT35RHA.cjs.map +1 -0
- package/dist/{chunk-SSOAZZNR.cjs → chunk-SUWRSJAN.cjs} +5 -5
- package/dist/{chunk-SSOAZZNR.cjs.map → chunk-SUWRSJAN.cjs.map} +1 -1
- package/dist/{chunk-LHP47U6H.js → chunk-SZ27SCE2.js} +3 -3
- package/dist/{chunk-LHP47U6H.js.map → chunk-SZ27SCE2.js.map} +1 -1
- package/dist/{chunk-YNTPHZFJ.js → chunk-TCTPR7YQ.js} +3 -3
- package/dist/{chunk-YNTPHZFJ.js.map → chunk-TCTPR7YQ.js.map} +1 -1
- package/dist/{chunk-XUJZTD4E.js → chunk-TH537HOM.js} +55 -46
- package/dist/chunk-TH537HOM.js.map +1 -0
- package/dist/{chunk-RVENUWRD.js → chunk-THTVYP5V.js} +9 -9
- package/dist/chunk-THTVYP5V.js.map +1 -0
- package/dist/{chunk-GLJWAY4A.cjs → chunk-TKTCN4JE.cjs} +19 -19
- package/dist/chunk-TKTCN4JE.cjs.map +1 -0
- package/dist/{chunk-Q3OA23V5.js → chunk-TOQ4MGM5.js} +51 -51
- package/dist/chunk-TOQ4MGM5.js.map +1 -0
- package/dist/chunk-TSKFGLGQ.cjs +332 -0
- package/dist/chunk-TSKFGLGQ.cjs.map +1 -0
- package/dist/{chunk-OULO3YDQ.cjs → chunk-TTDNCN5G.cjs} +233 -242
- package/dist/chunk-TTDNCN5G.cjs.map +1 -0
- package/dist/{chunk-PYW5UO2Z.js → chunk-U5M4JZBX.js} +4 -4
- package/dist/chunk-U5M4JZBX.js.map +1 -0
- package/dist/{chunk-NUTB2K4G.js → chunk-U7ALNPFJ.js} +3 -3
- package/dist/{chunk-NUTB2K4G.js.map → chunk-U7ALNPFJ.js.map} +1 -1
- package/dist/{chunk-5D4LRSIV.js → chunk-UARQIMPS.js} +10 -10
- package/dist/chunk-UARQIMPS.js.map +1 -0
- package/dist/{chunk-CZC2K5GJ.js → chunk-UXGHFKLA.js} +6 -6
- package/dist/{chunk-CZC2K5GJ.js.map → chunk-UXGHFKLA.js.map} +1 -1
- package/dist/{chunk-QCT4BPB6.cjs → chunk-UXQSSRBQ.cjs} +867 -556
- package/dist/chunk-UXQSSRBQ.cjs.map +1 -0
- package/dist/{chunk-EXYBQVZT.js → chunk-V2V5TTTL.js} +3 -3
- package/dist/chunk-V2V5TTTL.js.map +1 -0
- package/dist/{chunk-5BCLEOFF.cjs → chunk-V4ZH2H2P.cjs} +37 -30
- package/dist/chunk-V4ZH2H2P.cjs.map +1 -0
- package/dist/{chunk-EC2ALHNJ.js → chunk-VD52FLHL.js} +214 -196
- package/dist/chunk-VD52FLHL.js.map +1 -0
- package/dist/{chunk-O5A47TA2.js → chunk-VH3G4IUX.js} +231 -240
- package/dist/chunk-VH3G4IUX.js.map +1 -0
- package/dist/{chunk-IUUQXCDE.js → chunk-VJXSJXEX.js} +2 -2
- package/dist/{chunk-IUUQXCDE.js.map → chunk-VJXSJXEX.js.map} +1 -1
- package/dist/{chunk-PJMV2HTO.cjs → chunk-VO4FG3L2.cjs} +62 -62
- package/dist/chunk-VO4FG3L2.cjs.map +1 -0
- package/dist/{chunk-I45346RZ.cjs → chunk-VOOD6CXJ.cjs} +2 -2
- package/dist/{chunk-I45346RZ.cjs.map → chunk-VOOD6CXJ.cjs.map} +1 -1
- package/dist/{chunk-3ZFEBOXD.cjs → chunk-VV72PGKH.cjs} +257 -211
- package/dist/chunk-VV72PGKH.cjs.map +1 -0
- package/dist/{chunk-PQRIV5XU.js → chunk-W5F7PYT2.js} +11 -11
- package/dist/{chunk-PQRIV5XU.js.map → chunk-W5F7PYT2.js.map} +1 -1
- package/dist/{chunk-3DJ46WN4.js → chunk-WPMWHKJX.js} +6 -6
- package/dist/chunk-WPMWHKJX.js.map +1 -0
- package/dist/{chunk-FZCBTFHY.js → chunk-WTCH3QCQ.js} +12 -13
- package/dist/chunk-WTCH3QCQ.js.map +1 -0
- package/dist/{chunk-65QAZWOG.cjs → chunk-X34F4ZV6.cjs} +4 -4
- package/dist/{chunk-65QAZWOG.cjs.map → chunk-X34F4ZV6.cjs.map} +1 -1
- package/dist/{chunk-6W3L6IJB.cjs → chunk-X4I5YARV.cjs} +17 -17
- package/dist/chunk-X4I5YARV.cjs.map +1 -0
- package/dist/{chunk-S4LVSSJI.js → chunk-XHJRAEGW.js} +11 -11
- package/dist/chunk-XHJRAEGW.js.map +1 -0
- package/dist/{chunk-W5G7ZDQ6.cjs → chunk-XLNRO3S6.cjs} +4 -4
- package/dist/{chunk-W5G7ZDQ6.cjs.map → chunk-XLNRO3S6.cjs.map} +1 -1
- package/dist/{chunk-PZ63ZCEO.cjs → chunk-XPGIWOJO.cjs} +26 -26
- package/dist/{chunk-PZ63ZCEO.cjs.map → chunk-XPGIWOJO.cjs.map} +1 -1
- package/dist/{chunk-2P6D43V2.cjs → chunk-XPHXAZCE.cjs} +6 -6
- package/dist/chunk-XPHXAZCE.cjs.map +1 -0
- package/dist/{chunk-X2GRBPCJ.cjs → chunk-XZZI3JYK.cjs} +11 -13
- package/dist/chunk-XZZI3JYK.cjs.map +1 -0
- package/dist/{chunk-UXDXE7Z6.cjs → chunk-YDNEAHVK.cjs} +512 -452
- package/dist/chunk-YDNEAHVK.cjs.map +1 -0
- package/dist/{chunk-M3BF3BBJ.cjs → chunk-YJEX32HZ.cjs} +15 -15
- package/dist/{chunk-M3BF3BBJ.cjs.map → chunk-YJEX32HZ.cjs.map} +1 -1
- package/dist/{chunk-5QPM5LUS.cjs → chunk-Z6RT3WPE.cjs} +15 -4
- package/dist/chunk-Z6RT3WPE.cjs.map +1 -0
- package/dist/{chunk-L5YTMHDI.cjs → chunk-Z7OUMVR5.cjs} +17 -16
- package/dist/chunk-Z7OUMVR5.cjs.map +1 -0
- package/dist/{chunk-OSBVDRVD.cjs → chunk-ZPJW3PP7.cjs} +206 -175
- package/dist/chunk-ZPJW3PP7.cjs.map +1 -0
- package/dist/{chunk-AX6HC2YY.cjs → chunk-ZPOXH42B.cjs} +3 -3
- package/dist/{chunk-AX6HC2YY.cjs.map → chunk-ZPOXH42B.cjs.map} +1 -1
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/index.cjs +7 -8
- package/dist/components/Accordion/index.d.ts +2 -2
- package/dist/components/Accordion/index.d.ts.map +1 -1
- package/dist/components/Accordion/index.js +4 -5
- package/dist/components/Accordion/useAccordionDevWarning.d.ts +8 -0
- package/dist/components/Accordion/useAccordionDevWarning.d.ts.map +1 -0
- package/dist/components/Alert/Alert.d.ts +2 -11
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.recipe.d.ts +1 -1
- package/dist/components/Alert/Alert.types.d.ts +3 -0
- package/dist/components/Alert/Alert.types.d.ts.map +1 -0
- package/dist/components/Alert/index.cjs +14 -15
- package/dist/components/Alert/index.d.ts.map +1 -1
- package/dist/components/Alert/index.js +13 -14
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.cjs +19 -18
- package/dist/components/AlertDialog/index.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.js +17 -16
- package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +23 -23
- package/dist/components/AppShell/index.d.ts.map +1 -1
- package/dist/components/AppShell/index.js +20 -20
- package/dist/components/AspectRatio/index.cjs +3 -3
- package/dist/components/AspectRatio/index.d.ts +1 -1
- package/dist/components/AspectRatio/index.d.ts.map +1 -1
- package/dist/components/AspectRatio/index.js +2 -2
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +4 -2
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +3 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +23 -25
- package/dist/components/AutocompleteInput/index.d.ts +1 -1
- package/dist/components/AutocompleteInput/index.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.js +18 -20
- package/dist/components/AutocompleteInput/types.d.ts +3 -3
- package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.recipe.d.ts +1 -1
- package/dist/components/Avatar/index.cjs +7 -8
- package/dist/components/Avatar/index.d.ts.map +1 -1
- package/dist/components/Avatar/index.js +4 -5
- package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.cjs +7 -8
- package/dist/components/AvatarGroup/index.d.ts +1 -1
- package/dist/components/AvatarGroup/index.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.js +5 -6
- package/dist/components/Badge/Badge.d.ts.map +1 -1
- package/dist/components/Badge/index.cjs +4 -4
- package/dist/components/Badge/index.d.ts +1 -1
- package/dist/components/Badge/index.d.ts.map +1 -1
- package/dist/components/Badge/index.js +3 -3
- package/dist/components/Blockquote/Blockquote.recipe.d.ts +1 -1
- package/dist/components/Blockquote/index.cjs +4 -5
- package/dist/components/Blockquote/index.d.ts +1 -1
- package/dist/components/Blockquote/index.d.ts.map +1 -1
- package/dist/components/Blockquote/index.js +3 -4
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +1 -1
- package/dist/components/Breadcrumbs/index.cjs +11 -12
- package/dist/components/Breadcrumbs/index.d.ts +2 -2
- package/dist/components/Breadcrumbs/index.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.js +8 -9
- package/dist/components/Button/Button.d.ts +2 -4
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.recipe.d.ts +1 -1
- package/dist/components/Button/Button.types.d.ts +3 -0
- package/dist/components/Button/Button.types.d.ts.map +1 -0
- package/dist/components/Button/index.cjs +13 -14
- package/dist/components/Button/index.d.ts +1 -1
- package/dist/components/Button/index.d.ts.map +1 -1
- package/dist/components/Button/index.js +12 -13
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroupContext.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.cjs +4 -4
- package/dist/components/ButtonGroup/index.d.ts +1 -1
- package/dist/components/ButtonGroup/index.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.js +3 -3
- package/dist/components/Calendar/Calendar.d.ts +16 -3
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.recipe.d.ts +1 -1
- package/dist/components/Calendar/index.cjs +15 -16
- package/dist/components/Calendar/index.d.ts.map +1 -1
- package/dist/components/Calendar/index.js +14 -15
- package/dist/components/Card/Card.d.ts.map +1 -1
- package/dist/components/Card/index.cjs +3 -3
- package/dist/components/Card/index.d.ts +1 -1
- package/dist/components/Card/index.d.ts.map +1 -1
- package/dist/components/Card/index.js +2 -2
- package/dist/components/Center/Center.d.ts.map +1 -1
- package/dist/components/Center/index.cjs +3 -3
- package/dist/components/Center/index.d.ts +1 -1
- package/dist/components/Center/index.d.ts.map +1 -1
- package/dist/components/Center/index.js +2 -2
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +1 -1
- package/dist/components/CheckboxInput/index.cjs +14 -15
- package/dist/components/CheckboxInput/index.d.ts.map +1 -1
- package/dist/components/CheckboxInput/index.js +13 -14
- package/dist/components/CodeBlock/CodeBlock.d.ts.map +1 -1
- package/dist/components/CodeBlock/CodeBlock.recipe.d.ts +1 -1
- package/dist/components/CodeBlock/index.cjs +16 -17
- package/dist/components/CodeBlock/index.d.ts.map +1 -1
- package/dist/components/CodeBlock/index.js +15 -16
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.cjs +19 -21
- package/dist/components/ContextMenu/index.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.js +17 -19
- package/dist/components/DateInput/DateInput.d.ts +7 -5
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +21 -22
- package/dist/components/DateInput/index.d.ts +1 -1
- package/dist/components/DateInput/index.d.ts.map +1 -1
- package/dist/components/DateInput/index.js +20 -21
- package/dist/components/DateRangeInput/DateRangeInput.d.ts +5 -5
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +21 -22
- package/dist/components/DateRangeInput/index.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.js +20 -21
- package/dist/components/DateTimeInput/DateTimeInput.d.ts +4 -4
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +23 -24
- package/dist/components/DateTimeInput/index.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.js +22 -23
- package/dist/components/Dialog/Dialog.d.ts +2 -4
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/index.cjs +7 -6
- package/dist/components/Dialog/index.d.ts +1 -1
- package/dist/components/Dialog/index.d.ts.map +1 -1
- package/dist/components/Dialog/index.js +5 -4
- package/dist/components/Dialog/useDialog.d.ts.map +1 -1
- package/dist/components/Divider/Divider.recipe.d.ts +1 -1
- package/dist/components/Divider/index.cjs +4 -5
- package/dist/components/Divider/index.d.ts.map +1 -1
- package/dist/components/Divider/index.js +3 -4
- package/dist/components/Drawer/Drawer.d.ts +10 -2
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/Drawer.recipe.d.ts +63 -0
- package/dist/components/Drawer/Drawer.recipe.d.ts.map +1 -0
- package/dist/components/Drawer/index.cjs +8 -4
- package/dist/components/Drawer/index.d.ts +2 -2
- package/dist/components/Drawer/index.d.ts.map +1 -1
- package/dist/components/Drawer/index.js +6 -2
- package/dist/components/Drawer/useDrawer.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts +36 -0
- package/dist/components/DropdownMenu/DropdownMenuItem.recipe.d.ts.map +1 -0
- package/dist/components/DropdownMenu/index.cjs +20 -22
- package/dist/components/DropdownMenu/index.d.ts +1 -1
- package/dist/components/DropdownMenu/index.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.js +16 -18
- package/dist/components/DropdownMenu/menuUtils.d.ts.map +1 -1
- package/dist/components/DropdownMenu/types.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.recipe.d.ts +1 -1
- package/dist/components/EmptyState/index.cjs +7 -8
- package/dist/components/EmptyState/index.d.ts +1 -1
- package/dist/components/EmptyState/index.d.ts.map +1 -1
- package/dist/components/EmptyState/index.js +6 -7
- package/dist/components/Field/Field.d.ts +1 -1
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/Field.recipe.d.ts +1 -1
- package/dist/components/Field/index.cjs +11 -12
- package/dist/components/Field/index.d.ts +1 -1
- package/dist/components/Field/index.d.ts.map +1 -1
- package/dist/components/Field/index.js +9 -10
- package/dist/components/Field/inputUtils.d.ts.map +1 -1
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/FileInput.recipe.d.ts +66 -0
- package/dist/components/FileInput/FileInput.recipe.d.ts.map +1 -0
- package/dist/components/FileInput/index.cjs +17 -19
- package/dist/components/FileInput/index.d.ts +1 -1
- package/dist/components/FileInput/index.d.ts.map +1 -1
- package/dist/components/FileInput/index.js +16 -18
- package/dist/components/HoverCard/HoverCard.d.ts +1 -1
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/index.cjs +5 -5
- package/dist/components/HoverCard/index.d.ts.map +1 -1
- package/dist/components/HoverCard/index.js +3 -3
- package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/components/Icon/index.cjs +3 -3
- package/dist/components/Icon/index.d.ts.map +1 -1
- package/dist/components/Icon/index.js +2 -2
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroup.recipe.d.ts +1 -1
- package/dist/components/InputGroup/InputGroup.recipe.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroupContext.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroupText.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +14 -15
- package/dist/components/InputGroup/index.d.ts +2 -2
- package/dist/components/InputGroup/index.d.ts.map +1 -1
- package/dist/components/InputGroup/index.js +10 -11
- package/dist/components/Item/Item.d.ts +1 -1
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/Item.recipe.d.ts +75 -0
- package/dist/components/Item/Item.recipe.d.ts.map +1 -0
- package/dist/components/Item/index.cjs +10 -10
- package/dist/components/Item/index.d.ts +1 -1
- package/dist/components/Item/index.d.ts.map +1 -1
- package/dist/components/Item/index.js +9 -9
- package/dist/components/Kbd/Kbd.recipe.d.ts +1 -1
- package/dist/components/Kbd/index.cjs +4 -5
- package/dist/components/Kbd/index.d.ts.map +1 -1
- package/dist/components/Kbd/index.js +3 -4
- package/dist/components/Layout/Layout.d.ts +1 -1
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/Layout.recipe.d.ts +101 -16
- package/dist/components/Layout/Layout.recipe.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContent.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContext.d.ts +0 -7
- package/dist/components/Layout/LayoutContext.d.ts.map +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/components/Layout/index.cjs +18 -19
- package/dist/components/Layout/index.d.ts +4 -4
- package/dist/components/Layout/index.d.ts.map +1 -1
- package/dist/components/Layout/index.js +13 -14
- package/dist/components/Layout/types.d.ts +4 -2
- package/dist/components/Layout/types.d.ts.map +1 -1
- package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/components/Lightbox/Lightbox.recipe.d.ts +43 -0
- package/dist/components/Lightbox/Lightbox.recipe.d.ts.map +1 -0
- package/dist/components/Lightbox/index.cjs +16 -16
- package/dist/components/Lightbox/index.d.ts.map +1 -1
- package/dist/components/Lightbox/index.js +14 -14
- package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/components/Link/Link.d.ts +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/LinkContext.d.ts.map +1 -1
- package/dist/components/Link/LinkProvider.d.ts.map +1 -1
- package/dist/components/Link/index.cjs +9 -10
- package/dist/components/Link/index.d.ts +1 -1
- package/dist/components/Link/index.d.ts.map +1 -1
- package/dist/components/Link/index.js +6 -7
- package/dist/components/Link/useLinkComponent.d.ts.map +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.recipe.d.ts +1 -1
- package/dist/components/List/index.cjs +12 -13
- package/dist/components/List/index.d.ts.map +1 -1
- package/dist/components/List/index.js +10 -11
- package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataList.recipe.d.ts +29 -0
- package/dist/components/MetadataList/MetadataList.recipe.d.ts.map +1 -0
- package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/components/MetadataList/index.cjs +9 -9
- package/dist/components/MetadataList/index.d.ts +1 -1
- package/dist/components/MetadataList/index.d.ts.map +1 -1
- package/dist/components/MetadataList/index.js +7 -7
- package/dist/components/MultiSelect/MultiSelect.d.ts +1 -1
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/MultiSelect.recipe.d.ts +41 -0
- package/dist/components/MultiSelect/MultiSelect.recipe.d.ts.map +1 -0
- package/dist/components/MultiSelect/index.cjs +20 -22
- package/dist/components/MultiSelect/index.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.js +19 -21
- package/dist/components/NavIcon/index.cjs +3 -3
- package/dist/components/NavIcon/index.d.ts.map +1 -1
- package/dist/components/NavIcon/index.js +2 -2
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +18 -19
- package/dist/components/NumberInput/index.d.ts +1 -1
- package/dist/components/NumberInput/index.d.ts.map +1 -1
- package/dist/components/NumberInput/index.js +17 -18
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/index.cjs +14 -15
- package/dist/components/Pagination/index.d.ts.map +1 -1
- package/dist/components/Pagination/index.js +13 -14
- package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.cjs +19 -20
- package/dist/components/PasswordInput/index.d.ts +1 -1
- package/dist/components/PasswordInput/index.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.js +18 -19
- package/dist/components/Popover/Popover.d.ts +9 -3
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +15 -17
- package/dist/components/Popover/index.d.ts.map +1 -1
- package/dist/components/Popover/index.js +13 -15
- package/dist/components/Popover/usePopover.d.ts +72 -2
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Progress/Progress.recipe.d.ts +1 -1
- package/dist/components/Progress/index.cjs +5 -6
- package/dist/components/Progress/index.d.ts +1 -1
- package/dist/components/Progress/index.d.ts.map +1 -1
- package/dist/components/Progress/index.js +4 -5
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroup.recipe.d.ts +1 -1
- package/dist/components/RadioGroup/index.cjs +15 -16
- package/dist/components/RadioGroup/index.d.ts +1 -1
- package/dist/components/RadioGroup/index.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.js +13 -14
- package/dist/components/Rating/Rating.d.ts.map +1 -1
- package/dist/components/Rating/Rating.recipe.d.ts +1 -1
- package/dist/components/Rating/index.cjs +6 -7
- package/dist/components/Rating/index.d.ts.map +1 -1
- package/dist/components/Rating/index.js +5 -6
- package/dist/components/Schedule/CalendarEvent.d.ts +2 -2
- package/dist/components/Schedule/CalendarEvent.d.ts.map +1 -1
- package/dist/components/Schedule/DayView.d.ts.map +1 -1
- package/dist/components/Schedule/ListView.d.ts.map +1 -1
- package/dist/components/Schedule/MonthlyView.d.ts +12 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/Schedule.d.ts +2 -6
- package/dist/components/Schedule/Schedule.d.ts.map +1 -1
- package/dist/components/Schedule/Schedule.recipe.d.ts +8 -0
- package/dist/components/Schedule/Schedule.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/ScheduleEvent.recipe.d.ts +191 -0
- package/dist/components/Schedule/ScheduleEvent.recipe.d.ts.map +1 -0
- package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
- package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
- package/dist/components/Schedule/context.d.ts +4 -8
- package/dist/components/Schedule/context.d.ts.map +1 -1
- package/dist/components/Schedule/dateMath.d.ts +1 -1
- package/dist/components/Schedule/dateMath.d.ts.map +1 -1
- package/dist/components/Schedule/index.cjs +30 -31
- package/dist/components/Schedule/index.d.ts +3 -3
- package/dist/components/Schedule/index.d.ts.map +1 -1
- package/dist/components/Schedule/index.js +19 -20
- package/dist/components/Schedule/plugins/PaginationPlugin.d.ts +3 -3
- package/dist/components/Schedule/plugins/PaginationPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/index.d.ts.map +1 -1
- package/dist/components/Schedule/scheduleZonedInstant.d.ts +17 -0
- package/dist/components/Schedule/scheduleZonedInstant.d.ts.map +1 -0
- package/dist/components/Schedule/shared.d.ts +11 -20
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/Schedule/types.d.ts +8 -7
- package/dist/components/Schedule/types.d.ts.map +1 -1
- package/dist/components/Schedule/useCurrentTime.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputFilterEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts +1 -2
- package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/formatFilterValue.d.ts +1 -2
- package/dist/components/SearchFilterInput/formatFilterValue.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +40 -41
- package/dist/components/SearchFilterInput/index.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.js +32 -33
- package/dist/components/SearchFilterInput/internalConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/types.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputSource.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.recipe.d.ts +73 -0
- package/dist/components/SegmentedControl/SegmentedControl.recipe.d.ts.map +1 -0
- package/dist/components/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.cjs +7 -6
- package/dist/components/SegmentedControl/index.d.ts +1 -1
- package/dist/components/SegmentedControl/index.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.js +5 -4
- package/dist/components/Select/Select.d.ts +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.recipe.d.ts +1 -1
- package/dist/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +21 -23
- package/dist/components/Select/index.d.ts +1 -1
- package/dist/components/Select/index.d.ts.map +1 -1
- package/dist/components/Select/index.js +19 -21
- package/dist/components/SideNav/SideNav.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.recipe.d.ts +51 -0
- package/dist/components/SideNav/SideNavItem.recipe.d.ts.map +1 -0
- package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +22 -22
- package/dist/components/SideNav/index.d.ts +3 -3
- package/dist/components/SideNav/index.d.ts.map +1 -1
- package/dist/components/SideNav/index.js +16 -16
- package/dist/components/Skeleton/index.cjs +3 -3
- package/dist/components/Skeleton/index.d.ts +1 -1
- package/dist/components/Skeleton/index.d.ts.map +1 -1
- package/dist/components/Skeleton/index.js +2 -2
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/Slider.recipe.d.ts +1 -1
- package/dist/components/Slider/index.cjs +11 -12
- package/dist/components/Slider/index.d.ts.map +1 -1
- package/dist/components/Slider/index.js +10 -11
- package/dist/components/Spinner/Spinner.d.ts +1 -4
- package/dist/components/Spinner/Spinner.d.ts.map +1 -1
- package/dist/components/Spinner/Spinner.types.d.ts +3 -0
- package/dist/components/Spinner/Spinner.types.d.ts.map +1 -0
- package/dist/components/Spinner/index.cjs +7 -8
- package/dist/components/Spinner/index.d.ts.map +1 -1
- package/dist/components/Spinner/index.js +6 -7
- package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
- package/dist/components/SplitButton/index.cjs +19 -21
- package/dist/components/SplitButton/index.d.ts +1 -1
- package/dist/components/SplitButton/index.d.ts.map +1 -1
- package/dist/components/SplitButton/index.js +18 -20
- package/dist/components/Stack/HStack.d.ts.map +1 -1
- package/dist/components/Stack/VStack.d.ts.map +1 -1
- package/dist/components/Stack/index.cjs +4 -4
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +2 -2
- package/dist/components/Stack/internal/Stack.d.ts.map +1 -1
- package/dist/components/Stepper/Stepper.d.ts +55 -11
- package/dist/components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper/index.cjs +8 -16
- package/dist/components/Stepper/index.d.ts +2 -3
- package/dist/components/Stepper/index.d.ts.map +1 -1
- package/dist/components/Stepper/index.js +7 -7
- package/dist/components/Stepper/internal/Step.d.ts +36 -0
- package/dist/components/Stepper/internal/Step.d.ts.map +1 -0
- package/dist/components/Stepper/internal/Step.recipe.d.ts +164 -0
- package/dist/components/Stepper/internal/Step.recipe.d.ts.map +1 -0
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/Switch.recipe.d.ts +1 -1
- package/dist/components/Switch/index.cjs +11 -12
- package/dist/components/Switch/index.d.ts.map +1 -1
- package/dist/components/Switch/index.js +10 -11
- package/dist/components/Table/Table.d.ts +45 -3
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/Table.recipe.d.ts +156 -0
- package/dist/components/Table/Table.recipe.d.ts.map +1 -0
- package/dist/components/Table/TableCell.d.ts.map +1 -1
- package/dist/components/Table/TableContext.d.ts.map +1 -1
- package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/components/Table/columnUtils.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +62 -71
- package/dist/components/Table/index.d.ts +2 -4
- package/dist/components/Table/index.d.ts.map +1 -1
- package/dist/components/Table/index.js +36 -37
- package/dist/components/Table/plugins/columnResize/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFilterState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts +1 -1
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/components/Table/plugins/pagination/index.d.ts +1 -1
- package/dist/components/Table/plugins/pagination/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/index.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/components/Table/types.d.ts +1 -18
- package/dist/components/Table/types.d.ts.map +1 -1
- package/dist/components/Table/useBaseTablePlugins.d.ts +1 -1
- package/dist/components/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/TabMenu.d.ts.map +1 -1
- package/dist/components/Tabs/TabMenu.recipe.d.ts +21 -0
- package/dist/components/Tabs/TabMenu.recipe.d.ts.map +1 -0
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.recipe.d.ts +65 -0
- package/dist/components/Tabs/Tabs.recipe.d.ts.map +1 -0
- package/dist/components/Tabs/index.cjs +19 -21
- package/dist/components/Tabs/index.d.ts +1 -1
- package/dist/components/Tabs/index.d.ts.map +1 -1
- package/dist/components/Tabs/index.js +14 -16
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/Tag.recipe.d.ts +1 -1
- package/dist/components/Tag/index.cjs +9 -10
- package/dist/components/Tag/index.d.ts +1 -1
- package/dist/components/Tag/index.d.ts.map +1 -1
- package/dist/components/Tag/index.js +8 -9
- package/dist/components/TagsInput/TagsInput.d.ts +52 -8
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/TagsInput.recipe.d.ts +45 -0
- package/dist/components/TagsInput/TagsInput.recipe.d.ts.map +1 -0
- package/dist/components/TagsInput/index.cjs +20 -22
- package/dist/components/TagsInput/index.d.ts.map +1 -1
- package/dist/components/TagsInput/index.js +19 -21
- package/dist/components/Text/Heading.d.ts +1 -1
- package/dist/components/Text/Heading.d.ts.map +1 -1
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/index.cjs +6 -6
- package/dist/components/Text/index.d.ts.map +1 -1
- package/dist/components/Text/index.js +4 -4
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +13 -14
- package/dist/components/TextArea/index.d.ts.map +1 -1
- package/dist/components/TextArea/index.js +12 -13
- package/dist/components/TextInput/TextInput.d.ts +5 -0
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +18 -19
- package/dist/components/TextInput/index.d.ts +1 -1
- package/dist/components/TextInput/index.d.ts.map +1 -1
- package/dist/components/TextInput/index.js +17 -18
- package/dist/components/Theme/index.cjs +2 -2
- package/dist/components/Theme/index.d.ts.map +1 -1
- package/dist/components/Theme/index.js +1 -1
- package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
- package/dist/components/Thumbnail/index.cjs +15 -16
- package/dist/components/Thumbnail/index.d.ts.map +1 -1
- package/dist/components/Thumbnail/index.js +14 -15
- package/dist/components/TimeInput/TimeInput.d.ts +3 -3
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +17 -18
- package/dist/components/TimeInput/index.d.ts +1 -1
- package/dist/components/TimeInput/index.d.ts.map +1 -1
- package/dist/components/TimeInput/index.js +16 -17
- package/dist/components/Toast/Toast.d.ts +1 -1
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.recipe.d.ts +1 -1
- package/dist/components/Toast/ToastContext.d.ts.map +1 -1
- package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/components/Toast/index.cjs +16 -17
- package/dist/components/Toast/index.d.ts.map +1 -1
- package/dist/components/Toast/index.js +13 -14
- package/dist/components/Toast/useToast.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButton.d.ts +2 -6
- package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButton.recipe.d.ts +20 -0
- package/dist/components/ToggleButton/ToggleButton.recipe.d.ts.map +1 -0
- package/dist/components/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.cjs +11 -12
- package/dist/components/ToggleButton/index.d.ts +1 -1
- package/dist/components/ToggleButton/index.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.js +9 -10
- package/dist/components/Tooltip/Tooltip.d.ts +1 -1
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.cjs +5 -5
- package/dist/components/Tooltip/index.d.ts +1 -1
- package/dist/components/Tooltip/index.d.ts.map +1 -1
- package/dist/components/Tooltip/index.js +3 -3
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.recipe.d.ts +11 -5
- package/dist/components/TopNav/TopNav.recipe.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavContext.d.ts +0 -2
- package/dist/components/TopNav/TopNavContext.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.recipe.d.ts +4 -0
- package/dist/components/TopNav/TopNavHeading.recipe.d.ts.map +1 -0
- package/dist/components/TopNav/TopNavItem.d.ts +13 -8
- package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +21 -25
- package/dist/components/TopNav/index.d.ts +2 -2
- package/dist/components/TopNav/index.d.ts.map +1 -1
- package/dist/components/TopNav/index.js +16 -16
- package/dist/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/components/TreeView/TreeView.recipe.d.ts +4 -0
- package/dist/components/TreeView/TreeView.recipe.d.ts.map +1 -0
- package/dist/components/TreeView/TreeViewBranches.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewBranches.recipe.d.ts +4 -0
- package/dist/components/TreeView/TreeViewBranches.recipe.d.ts.map +1 -0
- package/dist/components/TreeView/TreeViewItem.d.ts +1 -5
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewItem.recipe.d.ts +84 -0
- package/dist/components/TreeView/TreeViewItem.recipe.d.ts.map +1 -0
- package/dist/components/TreeView/index.cjs +5 -4
- package/dist/components/TreeView/index.d.ts +1 -1
- package/dist/components/TreeView/index.d.ts.map +1 -1
- package/dist/components/TreeView/index.js +4 -3
- package/dist/index.cjs +262 -281
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +8 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +89 -88
- package/dist/index.js.map +1 -1
- package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/MobileNav/index.d.ts +2 -2
- package/dist/internal/MobileNav/index.d.ts.map +1 -1
- package/dist/internal/dismissBehavior.d.ts +18 -0
- package/dist/internal/dismissBehavior.d.ts.map +1 -0
- package/dist/internal/index.d.ts +1 -1
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/parseDateInput.d.ts.map +1 -1
- package/dist/internal/plainDate.d.ts.map +1 -1
- package/dist/internal/shallowEqual.d.ts +7 -0
- package/dist/internal/shallowEqual.d.ts.map +1 -0
- package/dist/internal/useBackdropDismiss.d.ts +16 -0
- package/dist/internal/useBackdropDismiss.d.ts.map +1 -0
- package/dist/internal/useConstant.d.ts +8 -0
- package/dist/internal/useConstant.d.ts.map +1 -0
- package/dist/internal/useHoverLayer.d.ts.map +1 -1
- package/dist/internal/useLatest.d.ts +5 -0
- package/dist/internal/useLatest.d.ts.map +1 -0
- package/dist/internal/useLayer.d.ts +55 -2
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/dist/internal/useScrollLock.d.ts +8 -0
- package/dist/internal/useScrollLock.d.ts.map +1 -0
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/internal/useShallowEqualMemo.d.ts +13 -0
- package/dist/internal/useShallowEqualMemo.d.ts.map +1 -0
- package/dist/styles.css +1 -1
- package/dist/themes/presets.d.ts.map +1 -1
- package/package.json +3 -2
- package/dist/chunk-23NN5WRP.cjs +0 -454
- package/dist/chunk-23NN5WRP.cjs.map +0 -1
- package/dist/chunk-24J3BUKL.js.map +0 -1
- package/dist/chunk-2IKWX66Q.js.map +0 -1
- package/dist/chunk-2OXKEUKG.cjs.map +0 -1
- package/dist/chunk-2P6D43V2.cjs.map +0 -1
- package/dist/chunk-2VOB6LEI.js.map +0 -1
- package/dist/chunk-2XAA3CM5.js.map +0 -1
- package/dist/chunk-3DJ46WN4.js.map +0 -1
- package/dist/chunk-3IBY374V.cjs.map +0 -1
- package/dist/chunk-3L6KAW7G.js.map +0 -1
- package/dist/chunk-3XDUR3IG.cjs.map +0 -1
- package/dist/chunk-3ZFEBOXD.cjs.map +0 -1
- package/dist/chunk-4H35H54I.cjs.map +0 -1
- package/dist/chunk-54J6FRPG.js.map +0 -1
- package/dist/chunk-5BCLEOFF.cjs.map +0 -1
- package/dist/chunk-5D4LRSIV.js.map +0 -1
- package/dist/chunk-5GNYP3PH.cjs.map +0 -1
- package/dist/chunk-5QPM5LUS.cjs.map +0 -1
- package/dist/chunk-66LRFIYK.cjs.map +0 -1
- package/dist/chunk-6BK4LUK4.cjs +0 -17
- package/dist/chunk-6BK4LUK4.cjs.map +0 -1
- package/dist/chunk-6MOJEGDU.cjs.map +0 -1
- package/dist/chunk-6NTDPZWP.js.map +0 -1
- package/dist/chunk-6USJ4LJJ.js.map +0 -1
- package/dist/chunk-6W3L6IJB.cjs.map +0 -1
- package/dist/chunk-75CPTIET.js.map +0 -1
- package/dist/chunk-7GN6YTSS.cjs.map +0 -1
- package/dist/chunk-7MN4JDP7.js.map +0 -1
- package/dist/chunk-7PNLMDAR.cjs.map +0 -1
- package/dist/chunk-A66NIFJE.cjs.map +0 -1
- package/dist/chunk-ASJ5CBCR.js.map +0 -1
- package/dist/chunk-BA4A7C7U.js.map +0 -1
- package/dist/chunk-BAPCHFNX.cjs.map +0 -1
- package/dist/chunk-BRB52QFV.cjs.map +0 -1
- package/dist/chunk-CEU7BIL6.cjs.map +0 -1
- package/dist/chunk-CK3UJQRI.cjs.map +0 -1
- package/dist/chunk-D2DOHX4W.js.map +0 -1
- package/dist/chunk-D3SSMY73.cjs.map +0 -1
- package/dist/chunk-DIIE44GO.js.map +0 -1
- package/dist/chunk-EBQ3A4XO.js +0 -285
- package/dist/chunk-EBQ3A4XO.js.map +0 -1
- package/dist/chunk-EC2ALHNJ.js.map +0 -1
- package/dist/chunk-EHCAF6D3.js.map +0 -1
- package/dist/chunk-EMHLPPQZ.js.map +0 -1
- package/dist/chunk-EVKFA5FA.cjs.map +0 -1
- package/dist/chunk-EXYBQVZT.js.map +0 -1
- package/dist/chunk-F3NATTQG.cjs.map +0 -1
- package/dist/chunk-FZCBTFHY.js.map +0 -1
- package/dist/chunk-GLJWAY4A.cjs.map +0 -1
- package/dist/chunk-GUKZNXTB.js +0 -15
- package/dist/chunk-GUKZNXTB.js.map +0 -1
- package/dist/chunk-GXRH5XQY.js.map +0 -1
- package/dist/chunk-HM7IEGQ2.cjs.map +0 -1
- package/dist/chunk-HNROO7CR.js.map +0 -1
- package/dist/chunk-I7KILUVL.cjs.map +0 -1
- package/dist/chunk-IKF6VHA4.cjs.map +0 -1
- package/dist/chunk-IRSJHEYI.js.map +0 -1
- package/dist/chunk-JEIQ5GDK.cjs +0 -374
- package/dist/chunk-JEIQ5GDK.cjs.map +0 -1
- package/dist/chunk-L5YTMHDI.cjs.map +0 -1
- package/dist/chunk-L7BOLGF2.cjs.map +0 -1
- package/dist/chunk-LFRTNC7M.cjs.map +0 -1
- package/dist/chunk-LUBVZVY3.js.map +0 -1
- package/dist/chunk-LX64ENLC.cjs.map +0 -1
- package/dist/chunk-M3RNFDA2.cjs.map +0 -1
- package/dist/chunk-MGVEX3RS.js.map +0 -1
- package/dist/chunk-MUUPZEZ5.cjs.map +0 -1
- package/dist/chunk-NHXJVSZZ.cjs.map +0 -1
- package/dist/chunk-NYQPIBOD.cjs +0 -287
- package/dist/chunk-NYQPIBOD.cjs.map +0 -1
- package/dist/chunk-O32BKXTR.cjs.map +0 -1
- package/dist/chunk-O4RTJESR.js.map +0 -1
- package/dist/chunk-O5A47TA2.js.map +0 -1
- package/dist/chunk-OSBVDRVD.cjs.map +0 -1
- package/dist/chunk-OULO3YDQ.cjs.map +0 -1
- package/dist/chunk-P3SMNZCT.js.map +0 -1
- package/dist/chunk-P6RAOXJA.js.map +0 -1
- package/dist/chunk-PJMV2HTO.cjs.map +0 -1
- package/dist/chunk-PL6J55JB.cjs.map +0 -1
- package/dist/chunk-PYW5UO2Z.js.map +0 -1
- package/dist/chunk-Q3OA23V5.js.map +0 -1
- package/dist/chunk-QCT4BPB6.cjs.map +0 -1
- package/dist/chunk-QEX7V7TI.cjs.map +0 -1
- package/dist/chunk-QL3YSC3H.cjs.map +0 -1
- package/dist/chunk-QRKRVCA3.cjs.map +0 -1
- package/dist/chunk-QSEDH7T2.js.map +0 -1
- package/dist/chunk-RDNMAV5B.js.map +0 -1
- package/dist/chunk-RINP34ZG.js +0 -450
- package/dist/chunk-RINP34ZG.js.map +0 -1
- package/dist/chunk-RVENUWRD.js.map +0 -1
- package/dist/chunk-S4B2D427.js +0 -142
- package/dist/chunk-S4B2D427.js.map +0 -1
- package/dist/chunk-S4LVSSJI.js.map +0 -1
- package/dist/chunk-TF7IWMV2.js.map +0 -1
- package/dist/chunk-U2U4FMFM.cjs.map +0 -1
- package/dist/chunk-U2WVHZ24.cjs.map +0 -1
- package/dist/chunk-UKDGDMWN.js.map +0 -1
- package/dist/chunk-UPQHFW47.js.map +0 -1
- package/dist/chunk-UXDXE7Z6.cjs.map +0 -1
- package/dist/chunk-UYBGXFYX.js.map +0 -1
- package/dist/chunk-VAK4JQYL.js.map +0 -1
- package/dist/chunk-VEUZ5DZR.js.map +0 -1
- package/dist/chunk-VJBBMBRT.cjs.map +0 -1
- package/dist/chunk-W3KMDQKP.cjs.map +0 -1
- package/dist/chunk-WMXIUOOU.cjs.map +0 -1
- package/dist/chunk-WO6FS4DV.js.map +0 -1
- package/dist/chunk-WOIWI2UO.js.map +0 -1
- package/dist/chunk-X2GRBPCJ.cjs.map +0 -1
- package/dist/chunk-XADTIY7J.cjs +0 -145
- package/dist/chunk-XADTIY7J.cjs.map +0 -1
- package/dist/chunk-XIFLSMGW.js +0 -200
- package/dist/chunk-XIFLSMGW.js.map +0 -1
- package/dist/chunk-XUJZTD4E.js.map +0 -1
- package/dist/chunk-Y4FH67QZ.js.map +0 -1
- package/dist/chunk-YAIEA2YE.cjs +0 -203
- package/dist/chunk-YAIEA2YE.cjs.map +0 -1
- package/dist/chunk-YAYINZT2.cjs.map +0 -1
- package/dist/chunk-YLGAJD6Q.js.map +0 -1
- package/dist/chunk-YSTESYUB.js.map +0 -1
- package/dist/chunk-Z4TZAJS3.js.map +0 -1
- package/dist/chunk-ZLATP3P5.cjs.map +0 -1
- package/dist/chunk-ZNUOFLCQ.js.map +0 -1
- package/dist/chunk-ZVH3BLYO.js.map +0 -1
- package/dist/chunk-ZWULWVN3.js.map +0 -1
- package/dist/components/Schedule/zonedDateTime.d.ts +0 -14
- package/dist/components/Schedule/zonedDateTime.d.ts.map +0 -1
- package/dist/components/Stepper/Step.d.ts +0 -62
- package/dist/components/Stepper/Step.d.ts.map +0 -1
- package/dist/components/Stepper/Step.recipe.d.ts +0 -95
- package/dist/components/Stepper/Step.recipe.d.ts.map +0 -1
- package/dist/components/Stepper/StepperContext.d.ts +0 -10
- package/dist/components/Stepper/StepperContext.d.ts.map +0 -1
- package/dist/components/Table/BaseTable.d.ts +0 -6
- package/dist/components/Table/BaseTable.d.ts.map +0 -1
- package/dist/theme/generate-color-scale.d.ts +0 -6
- package/dist/theme/generate-color-scale.d.ts.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AutocompleteInput/AutocompleteInput.recipe.ts","../src/components/AutocompleteInput/AutocompleteInputItem.tsx","../src/components/AutocompleteInput/BaseAutocompleteInput.tsx","../src/components/AutocompleteInput/AutocompleteInput.tsx","../src/components/AutocompleteInput/types.ts"],"names":["sva","css","isReactNode","jsx","Fragment","jsxs","cx","Icon","Text","useId","useRef","useState","useCallback","useEffect","LoaderCircle","Check","mergeRefs","Spinner","Popover","styles","getStatusMessageID","getDescribedBy","useMemo","getNecessity","Field","inputRecipe","inputStyles","Tag","Button","X"],"mappings":"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","file":"chunk-GY2ZZR4Z.cjs","sourcesContent":["import {css, sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const autocompleteMenuRecipe = sva({\n slots: ['menu', 'option', 'check', 'loading', 'empty'],\n base: {\n menu: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n },\n option: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n w: 'full',\n borderWidth: 0,\n borderRadius: 'md',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n },\n check: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'primary',\n },\n loading: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n p: '2',\n color: 'fg.muted',\n '& > svg': {\n animation: 'spin 0.8s linear infinite',\n },\n '@media (prefers-reduced-motion: reduce)': {\n '& > svg': {animation: 'none'},\n },\n },\n empty: {\n p: '3',\n textAlign: 'center',\n },\n },\n variants: {\n size: {\n sm: {option: {px: '2', py: '1'}},\n md: {option: {px: '2', py: '2'}},\n lg: {option: {px: '3', py: '2.5'}},\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type AutocompleteMenuVariants = RecipeVariantProps<\n typeof autocompleteMenuRecipe\n>;\n\n/**\n * Per-option state styles applied via `cx()` since they vary per-row\n * rather than per-component instance.\n */\nexport const optionHighlightedStyle = css({bg: 'bg.subtle'});\nexport const optionSelectedStyle = css({fontWeight: 'medium'});\n\nexport const autocompleteItemRecipe = sva({\n slots: ['root', 'icon', 'text'],\n base: {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minW: 0,\n },\n icon: {\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n },\n text: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n },\n variants: {\n isDisabled: {\n true: {root: {opacity: 0.55}},\n false: {},\n },\n },\n defaultVariants: {\n isDisabled: false,\n },\n});\n\nexport type AutocompleteItemVariants = RecipeVariantProps<\n typeof autocompleteItemRecipe\n>;\n","/* eslint-disable silver-ui/require-component-props -- discriminated union: custom-element items render item.element directly; passthrough props only apply to standard items */\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {autocompleteItemRecipe} from 'components/AutocompleteInput/AutocompleteInput.recipe';\nimport type {SearchableItem} from 'components/AutocompleteInput/types';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\n/**\n * Props for an item with a custom `element`. The element is rendered\n * directly — layout props like `icon` and `description` do not apply.\n */\ninterface AutocompleteInputCustomItemProps {\n /**\n * Search result item with custom element content.\n */\n item: SearchableItem & {element: ReactNode};\n}\n\n/**\n * Props for a standard item rendered with the default layout.\n */\ninterface AutocompleteInputStandardItemProps {\n /**\n * Additional CSS class names applied to the item layout.\n */\n className?: string;\n /**\n * Test ID applied to the item layout.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Icon or avatar rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Search result item without a custom element.\n */\n item: SearchableItem & {element?: undefined};\n /**\n * Ref forwarded to the item layout.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the item layout.\n */\n style?: CSSProperties;\n}\n\nexport type AutocompleteInputItemProps =\n | AutocompleteInputCustomItemProps\n | AutocompleteInputStandardItemProps;\n\n/**\n * Default layout for AutocompleteInput and TagsInput result rows.\n *\n * When the item has a pre-rendered `element`, it is returned directly.\n * Otherwise the component renders a flex row with an optional icon,\n * primary label, and description.\n */\nexport function AutocompleteInputItem(\n props: AutocompleteInputItemProps,\n): React.JSX.Element {\n if (isReactNode(props.item.element)) {\n return <>{props.item.element}</>;\n }\n\n const {\n className,\n 'data-testid': dataTestId,\n description,\n icon,\n isDisabled = false,\n item,\n ref,\n style,\n } = props as AutocompleteInputStandardItemProps;\n\n const classes = autocompleteItemRecipe({isDisabled});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {icon != null ? (\n <span className={classes.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null}\n <span className={classes.text}>\n <Text as=\"span\" color=\"inherit\" type=\"label\">\n {item.label}\n </Text>\n {isReactNode(description) ? (\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </span>\n </div>\n );\n}\n\nAutocompleteInputItem.displayName = 'AutocompleteInputItem';\n","import {Check, LoaderCircle} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useId,\n useRef,\n useState,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {\n autocompleteMenuRecipe,\n optionHighlightedStyle,\n optionSelectedStyle,\n} from 'components/AutocompleteInput/AutocompleteInput.recipe';\nimport {AutocompleteInputItem} from 'components/AutocompleteInput/AutocompleteInputItem';\nimport type {\n SearchableItem,\n SearchSource,\n} from 'components/AutocompleteInput/types';\nimport {Icon} from 'components/Icon';\nimport {Popover} from 'components/Popover';\nimport {Spinner} from 'components/Spinner';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport {css} from 'styled-system/css';\n\nexport interface BaseAutocompleteInputProps<T extends SearchableItem> {\n /**\n * Ref to the element the result popover should align to.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * IDs describing the input.\n */\n ariaDescribedBy?: string;\n /**\n * Additional CSS class names applied to the input.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Text shown in the menu when a search fails.\n * @default 'Something went wrong'\n */\n errorText?: string;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether to re-bootstrap results after selecting an item. Useful for\n * multi-select comboboxes where the user picks several items in a row.\n * @default false\n */\n hasReopenOnSelect?: boolean;\n /**\n * Optional ID for the input.\n */\n inputId?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the input is required.\n * @default false\n */\n isRequired?: boolean;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when a result is selected.\n */\n onChange: (item: T | null) => void;\n /**\n * Keyboard handler invoked before internal navigation.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Called when the result popover opens or closes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange: (query: string) => void;\n /**\n * Placeholder text.\n * @default 'Search...'\n */\n placeholder?: string;\n /**\n * Current query string.\n */\n query: string;\n /**\n * Ref forwarded to the input.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: 'sm' | 'md' | 'lg';\n /**\n * Inline styles applied to the input.\n */\n style?: CSSProperties;\n /**\n * Selected item.\n */\n value: T | null;\n}\n\nconst styles = {\n input: css({\n display: 'block',\n flex: 1,\n minW: '15',\n borderWidth: 0,\n p: 0,\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: 'normal',\n color: 'fg',\n bg: 'transparent',\n outline: 'none',\n _placeholder: {color: 'fg.muted'},\n _disabled: {cursor: 'not-allowed'},\n }),\n} as const;\n\n/**\n * Internal combobox engine used by AutocompleteInput and TagsInput.\n */\nexport function BaseAutocompleteInput<T extends SearchableItem>({\n anchorRef,\n ariaDescribedBy,\n className,\n 'data-testid': dataTestId,\n debounceMs = 150,\n emptySearchResultsText = 'No results found',\n errorText = 'Something went wrong',\n hasAutoFocus = false,\n hasEntriesOnFocus = false,\n hasReopenOnSelect = false,\n inputId,\n isDisabled = false,\n isRequired = false,\n maxMenuItems = 10,\n onChange,\n onKeyDown,\n onOpenChange,\n onQueryChange,\n placeholder = 'Search...',\n query,\n ref,\n renderItem,\n searchSource,\n size = 'md',\n style,\n value,\n}: BaseAutocompleteInputProps<T>): React.JSX.Element {\n const generatedId = useId();\n const listboxId = useId();\n const resolvedInputId = inputId ?? generatedId;\n const inputRef = useRef<HTMLInputElement>(null);\n const fallbackAnchorRef = useRef<HTMLInputElement>(null);\n const timeoutRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const generationRef = useRef(0);\n const [results, setResults] = useState<T[]>([]);\n const [highlightedIndex, setHighlightedIndex] = useState(-1);\n const [isLoading, setIsLoading] = useState(false);\n const [hasSearched, setHasSearched] = useState(false);\n const [hasError, setHasError] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n const selectingRef = useRef(false);\n\n const setOpen = useCallback(\n (isNextOpen: boolean) => {\n setIsOpen(isNextOpen);\n onOpenChange?.(isNextOpen);\n if (!isNextOpen) {\n searchSource.cancel?.();\n setHighlightedIndex(-1);\n }\n },\n [onOpenChange, searchSource],\n );\n\n const showMenu = useCallback(() => {\n setOpen(true);\n }, [setOpen]);\n\n const runSearch = useCallback(\n async (nextQuery: string, kind: 'bootstrap' | 'search') => {\n const generation = ++generationRef.current;\n searchSource.cancel?.();\n setIsLoading(true);\n setHasSearched(true);\n setHasError(false);\n\n try {\n const nextResults =\n kind === 'bootstrap'\n ? await searchSource.bootstrap()\n : await searchSource.search(nextQuery);\n if (generationRef.current !== generation) {\n return;\n }\n const limitedResults = nextResults.slice(0, maxMenuItems);\n setResults(limitedResults);\n setHighlightedIndex(limitedResults.length > 0 ? 0 : -1);\n if (limitedResults.length > 0 || nextQuery !== '') {\n showMenu();\n } else {\n setOpen(false);\n }\n } catch {\n if (generationRef.current === generation) {\n setResults([]);\n setHighlightedIndex(-1);\n setHasError(true);\n showMenu();\n }\n } finally {\n if (generationRef.current === generation) {\n setIsLoading(false);\n }\n }\n },\n [maxMenuItems, searchSource, setOpen, showMenu],\n );\n\n const updateQuery = useCallback(\n (nextQuery: string) => {\n onQueryChange(nextQuery);\n\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n\n if (nextQuery === '' && !hasEntriesOnFocus) {\n generationRef.current++;\n searchSource.cancel?.();\n setResults([]);\n setHasSearched(false);\n setHasError(false);\n setIsLoading(false);\n setOpen(false);\n return;\n }\n\n const searchKind = nextQuery === '' ? 'bootstrap' : 'search';\n if (debounceMs <= 0) {\n void runSearch(nextQuery, searchKind);\n return;\n }\n\n timeoutRef.current = setTimeout(() => {\n void runSearch(nextQuery, searchKind);\n }, debounceMs);\n },\n [\n debounceMs,\n hasEntriesOnFocus,\n onQueryChange,\n runSearch,\n searchSource,\n setOpen,\n ],\n );\n\n const selectItem = useCallback(\n (item: T) => {\n generationRef.current++;\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n searchSource.cancel?.();\n onQueryChange('');\n setResults([]);\n setHasSearched(false);\n setHasError(false);\n setIsLoading(false);\n onChange(item);\n selectingRef.current = true;\n inputRef.current?.focus();\n selectingRef.current = false;\n if (hasReopenOnSelect && hasEntriesOnFocus) {\n void runSearch('', 'bootstrap');\n } else {\n setOpen(false);\n }\n },\n [\n hasEntriesOnFocus,\n hasReopenOnSelect,\n onChange,\n onQueryChange,\n runSearch,\n searchSource,\n setOpen,\n ],\n );\n\n useEffect(() => {\n return () => {\n if (timeoutRef.current != null) {\n clearTimeout(timeoutRef.current);\n }\n searchSource.cancel?.();\n };\n }, [searchSource]);\n\n const menuClasses = autocompleteMenuRecipe({size});\n\n const menu = (\n <div\n aria-label=\"Search results\"\n className={menuClasses.menu}\n id={listboxId}\n role=\"listbox\">\n {isLoading ? (\n <div className={menuClasses.loading} role=\"status\">\n <Icon icon={LoaderCircle} size=\"sm\" />\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n Loading\n </Text>\n </div>\n ) : hasError ? (\n <div className={menuClasses.empty} role=\"alert\">\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {errorText}\n </Text>\n </div>\n ) : results.length === 0 && hasSearched ? (\n <div className={menuClasses.empty}>\n <Text as=\"span\" color=\"secondary\" type=\"supporting\">\n {emptySearchResultsText}\n </Text>\n </div>\n ) : (\n results.map((item, index) => {\n const isSelected = value?.id === item.id;\n return (\n // eslint-disable-next-line jsx-a11y-x/click-events-have-key-events -- keyboard navigation is handled by the combobox input, not individual options\n <div\n aria-selected={isSelected}\n className={cx(\n menuClasses.option,\n index === highlightedIndex ? optionHighlightedStyle : undefined,\n isSelected ? optionSelectedStyle : undefined,\n )}\n id={`${listboxId}-option-${index}`}\n key={item.id}\n onClick={() => selectItem(item)}\n onMouseEnter={() => setHighlightedIndex(index)}\n role=\"option\"\n tabIndex={-1}>\n {renderItem == null ? (\n <AutocompleteInputItem item={item} />\n ) : (\n renderItem(item)\n )}\n {isSelected ? (\n <span className={menuClasses.check}>\n <Icon color=\"accent\" icon={Check} size=\"sm\" />\n </span>\n ) : null}\n </div>\n );\n })\n )}\n </div>\n );\n\n return (\n <>\n <input\n aria-activedescendant={\n isOpen && highlightedIndex >= 0\n ? `${listboxId}-option-${highlightedIndex}`\n : undefined\n }\n aria-autocomplete=\"list\"\n aria-controls={listboxId}\n aria-describedby={ariaDescribedBy}\n aria-expanded={isOpen}\n aria-required={isRequired || undefined}\n autoComplete=\"off\"\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(styles.input, className)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={resolvedInputId}\n onBlur={() => {\n // Defer so we can check whether focus moved to an option inside\n // the popover (e.g. the user clicked a result). If focus left\n // both the input and the popover, close the menu.\n requestAnimationFrame(() => {\n if (\n !inputRef.current?.contains(document.activeElement) &&\n !document.activeElement?.closest('[role=\"listbox\"]')\n ) {\n setOpen(false);\n }\n });\n }}\n onChange={event => updateQuery(event.target.value)}\n onFocus={() => {\n if (selectingRef.current) {\n return;\n }\n if (query !== '' && results.length === 0) {\n void runSearch(query, 'search');\n } else if (\n hasEntriesOnFocus &&\n query === '' &&\n results.length === 0\n ) {\n void runSearch('', 'bootstrap');\n } else if (results.length > 0) {\n showMenu();\n }\n }}\n onKeyDown={event => {\n onKeyDown?.(event);\n if (event.defaultPrevented) {\n return;\n }\n\n if (event.key === 'ArrowDown') {\n event.preventDefault();\n if (!isOpen) {\n if (results.length > 0) {\n showMenu();\n } else if (hasEntriesOnFocus) {\n void runSearch('', 'bootstrap');\n }\n return;\n }\n setHighlightedIndex(index =>\n results.length === 0 ? -1 : (index + 1) % results.length,\n );\n } else if (event.key === 'ArrowUp') {\n event.preventDefault();\n setHighlightedIndex(index =>\n results.length === 0\n ? -1\n : (index - 1 + results.length) % results.length,\n );\n } else if (\n event.key === 'Enter' &&\n isOpen &&\n highlightedIndex >= 0 &&\n highlightedIndex < results.length\n ) {\n event.preventDefault();\n selectItem(results[highlightedIndex]);\n } else if (event.key === 'Escape' && isOpen) {\n event.preventDefault();\n setOpen(false);\n }\n }}\n placeholder={placeholder}\n ref={mergeRefs(ref, inputRef, fallbackAnchorRef)}\n role=\"combobox\"\n style={style}\n type=\"text\"\n value={query}\n />\n {isLoading ? <Spinner size=\"sm\" /> : null}\n <Popover\n anchorRef={anchorRef ?? fallbackAnchorRef}\n content={menu}\n hasAutoFocus={false}\n hasCloseButton={false}\n isDismissable={false}\n isOpen={isOpen}\n onOpenChange={setOpen}\n />\n </>\n );\n}\n\nBaseAutocompleteInput.displayName = 'BaseAutocompleteInput';\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {BaseAutocompleteInput} from 'components/AutocompleteInput/BaseAutocompleteInput';\nimport type {\n SearchableItem,\n SearchSource,\n} from 'components/AutocompleteInput/types';\nimport {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputRecipe, inputStyles} from 'components/Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Tag} from 'components/Tag';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\nexport type AutocompleteInputProps<T extends SearchableItem = SearchableItem> =\n {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Text shown in the menu when a search fails.\n * @default 'Something went wrong'\n */\n errorText?: string;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is selected.\n * @default true\n */\n hasClear?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when selection changes.\n */\n onChange: (item: T | null) => void;\n /**\n * Called when the result popover opens or closes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the selector.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Selected item.\n */\n value: T | null;\n } & FieldNecessity;\n\nconst styles = {\n wrapper: css({\n cursor: 'text',\n flexWrap: 'wrap',\n }),\n tag: css({\n my: '-1',\n ms: '-1',\n }),\n inputHidden: css({\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n }),\n clearButton: css({\n ms: 'auto',\n }),\n} as const;\n\n/**\n * Search-as-you-type field for selecting a single item from a search source.\n */\nexport function AutocompleteInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n errorText,\n hasAutoFocus = false,\n hasClear = true,\n hasEntriesOnFocus = false,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxMenuItems,\n onChange,\n onOpenChange,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n value,\n}: AutocompleteInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const inputRef = useRef<HTMLInputElement>(null);\n const [isEditing, setIsEditing] = useState(false);\n const [queryValue, setQueryValue] = useState('');\n const showTag = value != null && !isEditing;\n const fieldStatus = useMemo(\n () =>\n status == null ? undefined : {...status, messageID: statusMessageID},\n [status, statusMessageID],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const startEditing = useCallback(\n (seedQuery: string) => {\n if (isDisabled) {\n return;\n }\n setIsEditing(true);\n setQueryValue(seedQuery);\n requestAnimationFrame(() => {\n const input = inputRef.current;\n if (input != null) {\n input.focus();\n input.setSelectionRange(seedQuery.length, seedQuery.length);\n }\n });\n },\n [isDisabled],\n );\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n ref={ref}\n status={fieldStatus}\n style={style}>\n {/* eslint-disable-next-line jsx-a11y-x/click-events-have-key-events, jsx-a11y-x/no-static-element-interactions -- wrapper delegates focus to the inner input; keyboard users interact with the input directly */}\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n styles.wrapper,\n )}\n data-testid={dataTestId}\n onClick={() => {\n if (showTag) {\n startEditing(value.label);\n }\n }}\n ref={wrapperRef}>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {showTag ? (\n <Tag\n className={styles.tag}\n isDisabled={isDisabled}\n label={value.label}\n onClick={() => startEditing(value.label)}\n size={size}\n />\n ) : null}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={showTag ? styles.inputHidden : undefined}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n errorText={errorText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled}\n isRequired={isRequired}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n setIsEditing(false);\n setQueryValue('');\n onChange(item);\n }}\n onOpenChange={onOpenChange}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={showTag ? undefined : placeholder}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={searchSource}\n size={size}\n value={value}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n className={styles.clearButton}\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n setIsEditing(false);\n onChange(null);\n inputRef.current?.focus();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n </div>\n </Field>\n );\n}\n\nAutocompleteInput.displayName = 'AutocompleteInput';\n","import type {ReactNode} from 'react';\n\n/**\n * A search result item with a fully custom pre-rendered element. When\n * `element` is set, `AutocompleteInputItem` renders it directly — props\n * like `icon`, `description`, and `className` do not apply.\n */\nexport interface CustomSearchableItem<TAuxiliaryData = unknown> {\n /**\n * Custom data associated with the item.\n */\n auxiliaryData?: TAuxiliaryData;\n /**\n * Pre-rendered item content. When set, `AutocompleteInputItem` renders\n * this element directly and ignores layout props like `icon` and\n * `description`.\n */\n element: ReactNode;\n /**\n * Stable unique identifier.\n */\n id: string;\n /**\n * Display text used for the selected-value tag chip.\n */\n label: string;\n}\n\n/**\n * A search result item rendered by the default `AutocompleteInputItem`\n * layout with an optional icon and description.\n */\nexport interface StandardSearchableItem<TAuxiliaryData = unknown> {\n /**\n * Custom data associated with the item.\n */\n auxiliaryData?: TAuxiliaryData;\n /**\n * Must be omitted to use the standard layout. Set `element` on a\n * {@link CustomSearchableItem} for fully custom rendering.\n */\n element?: undefined;\n /**\n * Stable unique identifier.\n */\n id: string;\n /**\n * Display text.\n */\n label: string;\n}\n\n/**\n * A search result item. Items without `element` use the default\n * `AutocompleteInputItem` layout; items with `element` render fully\n * custom content.\n */\nexport type SearchableItem<TAuxiliaryData = unknown> =\n | CustomSearchableItem<TAuxiliaryData>\n | StandardSearchableItem<TAuxiliaryData>;\n\nexport interface SearchSource<T extends SearchableItem = SearchableItem> {\n /**\n * Return initial items, usually recent or common selections.\n */\n bootstrap(): Promise<T[]> | T[];\n /**\n * Optional cancellation for in-flight async searches.\n */\n cancel?(): void;\n /**\n * Return items matching the query.\n */\n search(query: string): Promise<T[]> | T[];\n}\n\nexport interface CreateStaticSearchSourceOptions<\n T extends SearchableItem = SearchableItem,\n> {\n /**\n * Extra searchable terms for each item.\n */\n getKeywords?: (item: T) => string[];\n}\n\nexport function createStaticSearchSource<T extends SearchableItem>(\n items: T[],\n options?: CreateStaticSearchSourceOptions<T>,\n): SearchSource<T> {\n return {\n bootstrap: () => items,\n search(query) {\n const normalizedQuery = query.trim().toLowerCase();\n if (normalizedQuery === '') {\n return items;\n }\n\n return items.filter(item => {\n if (item.label.toLowerCase().includes(normalizedQuery)) {\n return true;\n }\n return (\n options\n ?.getKeywords?.(item)\n .some(keyword => keyword.toLowerCase().includes(normalizedQuery)) ??\n false\n );\n });\n },\n };\n}\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Icon } from './chunk-
|
|
1
|
+
import { Icon } from './chunk-IUW777WZ.js';
|
|
2
2
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
3
3
|
import { cx } from './chunk-PPNETWIP.js';
|
|
4
4
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
@@ -74,5 +74,5 @@ function Badge({
|
|
|
74
74
|
Badge.displayName = "Badge";
|
|
75
75
|
|
|
76
76
|
export { Badge };
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
77
|
+
//# sourceMappingURL=chunk-H2EMKCWT.js.map
|
|
78
|
+
//# sourceMappingURL=chunk-H2EMKCWT.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Badge/Badge.recipe.ts","../src/components/Badge/Badge.tsx"],"names":[],"mappings":"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","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/Badge/Badge.recipe.ts","../src/components/Badge/Badge.tsx"],"names":[],"mappings":"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","file":"chunk-H2EMKCWT.js","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const badgeRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'full',\n fontFamily: 'body',\n lineHeight: 'none',\n fontWeight: 'medium',\n whiteSpace: 'nowrap',\n },\n variants: {\n size: {\n sm: {gap: '1', h: '5', px: '2', fontSize: 'sm'},\n md: {gap: '1.5', h: '6', px: '2.5', fontSize: 'sm'},\n lg: {gap: '2', h: '7', px: '3', fontSize: 'md'},\n },\n color: {\n neutral: {bg: 'surface.gray', color: 'fg'},\n info: {bg: 'status.info.solid', color: 'status.info.solidFg'},\n success: {bg: 'status.success.solid', color: 'status.success.solidFg'},\n warning: {bg: 'status.warning.solid', color: 'status.warning.solidFg'},\n error: {bg: 'status.error.solid', color: 'status.error.solidFg'},\n blue: {bg: 'surface.blue', color: 'surface.blue.fg'},\n cyan: {bg: 'surface.cyan', color: 'surface.cyan.fg'},\n green: {bg: 'surface.green', color: 'surface.green.fg'},\n orange: {bg: 'surface.orange', color: 'surface.orange.fg'},\n pink: {bg: 'surface.pink', color: 'surface.pink.fg'},\n purple: {bg: 'surface.purple', color: 'surface.purple.fg'},\n red: {bg: 'surface.red', color: 'surface.red.fg'},\n teal: {bg: 'surface.teal', color: 'surface.teal.fg'},\n yellow: {bg: 'surface.yellow', color: 'surface.yellow.fg'},\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'neutral',\n },\n});\n\nexport type BadgeVariants = RecipeVariantProps<typeof badgeRecipe>;\n","import type {CSSProperties, Ref} from 'react';\nimport {badgeRecipe} from 'components/Badge/Badge.recipe';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {cx} from 'internal/cx';\n\nexport type BadgeSize = 'sm' | 'md' | 'lg';\n\nexport type BadgeColor =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'error'\n | 'blue'\n | 'cyan'\n | 'green'\n | 'orange'\n | 'pink'\n | 'purple'\n | 'red'\n | 'teal'\n | 'yellow';\n\n/**\n * A compact status label, category marker, or count.\n */\nexport interface BadgeProps {\n /**\n * Accessible label for the badge.\n */\n 'aria-label'?: string;\n /**\n * Additional CSS class names applied to the badge.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'neutral'\n */\n color?: BadgeColor;\n /**\n * Test ID applied to the badge.\n */\n 'data-testid'?: string;\n /**\n * Optional icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Badge text or count.\n */\n label: string | number;\n /**\n * Ref forwarded to the badge element.\n */\n ref?: Ref<HTMLSpanElement>;\n /**\n * ARIA role for the badge element. Common choices:\n *\n * - `'status'` — a live region whose content is advisory (e.g. \"3 new\").\n * - `'alert'` — an urgent, time-sensitive message (e.g. error counts).\n * - `'log'` — appended information such as chat counts or activity feeds.\n *\n * Any valid ARIA role string is accepted.\n */\n role?: 'status' | 'alert' | 'log' | (string & {});\n /**\n * Badge size.\n * @default 'md'\n */\n size?: BadgeSize;\n /**\n * Inline styles applied to the badge.\n */\n style?: CSSProperties;\n}\n\n/**\n * A compact status label, category marker, or count.\n */\nexport function Badge({\n 'aria-label': ariaLabel,\n className,\n 'data-testid': dataTestId,\n icon,\n label,\n ref,\n role,\n size = 'md',\n style,\n color = 'neutral',\n}: BadgeProps): React.JSX.Element {\n return (\n <span\n aria-label={ariaLabel}\n className={cx(badgeRecipe({size, color}), className)}\n data-testid={dataTestId}\n ref={ref}\n role={role}\n style={style}>\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {label}\n </span>\n );\n}\n\nBadge.displayName = 'Badge';\n"]}
|
|
@@ -1,12 +1,80 @@
|
|
|
1
|
-
import { buttonRecipe } from './chunk-
|
|
2
|
-
import { Spinner } from './chunk-
|
|
3
|
-
import { Tooltip } from './chunk-
|
|
4
|
-
import { Icon } from './chunk-
|
|
5
|
-
import {
|
|
1
|
+
import { buttonRecipe } from './chunk-TCTPR7YQ.js';
|
|
2
|
+
import { Spinner } from './chunk-2VAUVJVG.js';
|
|
3
|
+
import { Tooltip } from './chunk-6PIVWNUR.js';
|
|
4
|
+
import { Icon } from './chunk-IUW777WZ.js';
|
|
5
|
+
import { sva } from './chunk-IAVZKGZS.js';
|
|
6
6
|
import { css } from './chunk-OD4DHHZH.js';
|
|
7
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
7
8
|
import { createContext, useMemo, useCallback, use } from 'react';
|
|
8
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
9
10
|
|
|
11
|
+
// src/components/ToggleButton/ToggleButton.recipe.ts
|
|
12
|
+
var toggleButtonRecipe = sva({
|
|
13
|
+
slots: [
|
|
14
|
+
"root",
|
|
15
|
+
"content",
|
|
16
|
+
"labelWrapper",
|
|
17
|
+
"label",
|
|
18
|
+
"widthReservation",
|
|
19
|
+
"icon",
|
|
20
|
+
"spinner"
|
|
21
|
+
],
|
|
22
|
+
base: {
|
|
23
|
+
content: {
|
|
24
|
+
display: "contents"
|
|
25
|
+
},
|
|
26
|
+
labelWrapper: {
|
|
27
|
+
display: "inline-flex",
|
|
28
|
+
flexDirection: "column",
|
|
29
|
+
alignItems: "center",
|
|
30
|
+
justifyContent: "center",
|
|
31
|
+
minW: 0
|
|
32
|
+
},
|
|
33
|
+
label: {
|
|
34
|
+
overflow: "hidden",
|
|
35
|
+
textOverflow: "ellipsis",
|
|
36
|
+
minW: 0
|
|
37
|
+
},
|
|
38
|
+
widthReservation: {
|
|
39
|
+
display: "block",
|
|
40
|
+
h: 0,
|
|
41
|
+
overflow: "hidden",
|
|
42
|
+
visibility: "hidden",
|
|
43
|
+
pointerEvents: "none",
|
|
44
|
+
fontWeight: "semibold"
|
|
45
|
+
},
|
|
46
|
+
icon: {
|
|
47
|
+
display: "inline-flex",
|
|
48
|
+
alignItems: "center",
|
|
49
|
+
justifyContent: "center",
|
|
50
|
+
flexShrink: 0
|
|
51
|
+
},
|
|
52
|
+
spinner: {
|
|
53
|
+
display: "inline-flex",
|
|
54
|
+
alignItems: "center",
|
|
55
|
+
color: "inherit"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
variants: {
|
|
59
|
+
// The core button visuals (size/variant/iconOnly) come from the shared
|
|
60
|
+
// `buttonRecipe`; this recipe only layers the selected-state override on the
|
|
61
|
+
// root, which is composed with the button root via `cx`.
|
|
62
|
+
isSelected: {
|
|
63
|
+
true: {
|
|
64
|
+
root: {
|
|
65
|
+
bg: "bg.subtle",
|
|
66
|
+
fontWeight: "semibold",
|
|
67
|
+
_hover: { bg: "bg.subtle" },
|
|
68
|
+
_active: { bg: "bg.subtle" }
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
false: {}
|
|
72
|
+
}
|
|
73
|
+
},
|
|
74
|
+
defaultVariants: {
|
|
75
|
+
isSelected: false
|
|
76
|
+
}
|
|
77
|
+
});
|
|
10
78
|
var ToggleButtonGroupContext = createContext(null);
|
|
11
79
|
ToggleButtonGroupContext.displayName = "ToggleButtonGroupContext";
|
|
12
80
|
function useToggleButtonGroup() {
|
|
@@ -66,12 +134,14 @@ function ToggleButtonGroup({
|
|
|
66
134
|
return /* @__PURE__ */ jsx(ToggleButtonGroupContext, { value: contextValue, children: /* @__PURE__ */ jsx(
|
|
67
135
|
"div",
|
|
68
136
|
{
|
|
137
|
+
"aria-disabled": isDisabled || void 0,
|
|
69
138
|
"aria-label": label,
|
|
70
139
|
className: cx(
|
|
71
140
|
styles.group,
|
|
72
141
|
orientation === "vertical" ? styles.vertical : void 0,
|
|
73
142
|
className
|
|
74
143
|
),
|
|
144
|
+
"data-orientation": orientation,
|
|
75
145
|
"data-testid": dataTestId,
|
|
76
146
|
ref,
|
|
77
147
|
role: "group",
|
|
@@ -81,50 +151,7 @@ function ToggleButtonGroup({
|
|
|
81
151
|
) });
|
|
82
152
|
}
|
|
83
153
|
ToggleButtonGroup.displayName = "ToggleButtonGroup";
|
|
84
|
-
var styles2 = {
|
|
85
|
-
selected: css({
|
|
86
|
-
bg: "bg.subtle",
|
|
87
|
-
fontWeight: "semibold",
|
|
88
|
-
_hover: { bg: "bg.subtle" },
|
|
89
|
-
_active: { bg: "bg.subtle" }
|
|
90
|
-
}),
|
|
91
|
-
content: css({
|
|
92
|
-
display: "contents"
|
|
93
|
-
}),
|
|
94
|
-
labelWrapper: css({
|
|
95
|
-
display: "inline-flex",
|
|
96
|
-
flexDirection: "column",
|
|
97
|
-
alignItems: "center",
|
|
98
|
-
justifyContent: "center",
|
|
99
|
-
minW: 0
|
|
100
|
-
}),
|
|
101
|
-
label: css({
|
|
102
|
-
overflow: "hidden",
|
|
103
|
-
textOverflow: "ellipsis",
|
|
104
|
-
minW: 0
|
|
105
|
-
}),
|
|
106
|
-
widthReservation: css({
|
|
107
|
-
display: "block",
|
|
108
|
-
h: 0,
|
|
109
|
-
overflow: "hidden",
|
|
110
|
-
visibility: "hidden",
|
|
111
|
-
pointerEvents: "none",
|
|
112
|
-
fontWeight: "semibold"
|
|
113
|
-
}),
|
|
114
|
-
icon: css({
|
|
115
|
-
display: "inline-flex",
|
|
116
|
-
alignItems: "center",
|
|
117
|
-
justifyContent: "center",
|
|
118
|
-
flexShrink: 0
|
|
119
|
-
}),
|
|
120
|
-
spinner: css({
|
|
121
|
-
display: "inline-flex",
|
|
122
|
-
alignItems: "center",
|
|
123
|
-
color: "inherit"
|
|
124
|
-
})
|
|
125
|
-
};
|
|
126
154
|
function ToggleButton({
|
|
127
|
-
children,
|
|
128
155
|
className,
|
|
129
156
|
"data-testid": dataTestId,
|
|
130
157
|
icon,
|
|
@@ -153,7 +180,7 @@ function ToggleButton({
|
|
|
153
180
|
const size = sizeProp ?? group?.size ?? "md";
|
|
154
181
|
const isDisabled = isDisabledProp || group?.isDisabled === true;
|
|
155
182
|
const resolvedIcon = isSelected && selectedIcon != null ? selectedIcon : icon;
|
|
156
|
-
const
|
|
183
|
+
const classes = toggleButtonRecipe({ isSelected });
|
|
157
184
|
const handleClick = (event) => {
|
|
158
185
|
if (isDisabled || isLoading) {
|
|
159
186
|
event.preventDefault();
|
|
@@ -173,7 +200,7 @@ function ToggleButton({
|
|
|
173
200
|
"aria-pressed": isSelected,
|
|
174
201
|
className: cx(
|
|
175
202
|
buttonRecipe({ variant: "ghost", size, iconOnly: isIconOnly }).root,
|
|
176
|
-
|
|
203
|
+
classes.root,
|
|
177
204
|
className
|
|
178
205
|
),
|
|
179
206
|
"data-testid": dataTestId,
|
|
@@ -182,13 +209,13 @@ function ToggleButton({
|
|
|
182
209
|
ref,
|
|
183
210
|
style,
|
|
184
211
|
type: "button",
|
|
185
|
-
children: /* @__PURE__ */ jsxs("span", { "aria-hidden": isLoading || void 0, className:
|
|
186
|
-
resolvedIcon != null ? /* @__PURE__ */ jsx("span", { className:
|
|
187
|
-
!isIconOnly ? /* @__PURE__ */ jsxs("span", { className:
|
|
188
|
-
/* @__PURE__ */ jsx("span", { className:
|
|
189
|
-
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className:
|
|
212
|
+
children: /* @__PURE__ */ jsxs("span", { "aria-hidden": isLoading || void 0, className: classes.content, children: [
|
|
213
|
+
resolvedIcon != null ? /* @__PURE__ */ jsx("span", { className: classes.icon, children: isIconOnly && isLoading ? /* @__PURE__ */ jsx(Spinner, { size }) : /* @__PURE__ */ jsx(Icon, { icon: resolvedIcon, size }) }) : null,
|
|
214
|
+
!isIconOnly ? /* @__PURE__ */ jsxs("span", { className: classes.labelWrapper, children: [
|
|
215
|
+
/* @__PURE__ */ jsx("span", { className: classes.label, children: label }),
|
|
216
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.widthReservation, children: label })
|
|
190
217
|
] }) : null,
|
|
191
|
-
!isIconOnly && isLoading ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className:
|
|
218
|
+
!isIconOnly && isLoading ? /* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: classes.spinner, children: /* @__PURE__ */ jsx(Spinner, { size }) }) : null
|
|
192
219
|
] })
|
|
193
220
|
}
|
|
194
221
|
);
|
|
@@ -200,5 +227,5 @@ function ToggleButton({
|
|
|
200
227
|
ToggleButton.displayName = "ToggleButton";
|
|
201
228
|
|
|
202
229
|
export { ToggleButton, ToggleButtonGroup };
|
|
203
|
-
//# sourceMappingURL=chunk-
|
|
204
|
-
//# sourceMappingURL=chunk-
|
|
230
|
+
//# sourceMappingURL=chunk-H4L456EW.js.map
|
|
231
|
+
//# sourceMappingURL=chunk-H4L456EW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/ToggleButton/ToggleButton.recipe.ts","../src/components/ToggleButton/ToggleButtonGroup.tsx","../src/components/ToggleButton/ToggleButton.tsx"],"names":["current","jsx"],"mappings":"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","file":"chunk-H4L456EW.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const toggleButtonRecipe = sva({\n slots: [\n 'root',\n 'content',\n 'labelWrapper',\n 'label',\n 'widthReservation',\n 'icon',\n 'spinner',\n ],\n base: {\n content: {\n display: 'contents',\n },\n labelWrapper: {\n display: 'inline-flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n minW: 0,\n },\n label: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minW: 0,\n },\n widthReservation: {\n display: 'block',\n h: 0,\n overflow: 'hidden',\n visibility: 'hidden',\n pointerEvents: 'none',\n fontWeight: 'semibold',\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n spinner: {\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n },\n },\n variants: {\n // The core button visuals (size/variant/iconOnly) come from the shared\n // `buttonRecipe`; this recipe only layers the selected-state override on the\n // root, which is composed with the button root via `cx`.\n isSelected: {\n true: {\n root: {\n bg: 'bg.subtle',\n fontWeight: 'semibold',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.subtle'},\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n isSelected: false,\n },\n});\n\nexport type ToggleButtonVariants = RecipeVariantProps<\n typeof toggleButtonRecipe\n>;\n","import {\n createContext,\n use,\n useCallback,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport type {ButtonSize} from 'components/Button';\nimport {cx} from 'internal/cx';\nimport {css} from 'styled-system/css';\n\nexport type ToggleButtonGroupOrientation = 'horizontal' | 'vertical';\n\ninterface ToggleButtonGroupContextValue {\n isDisabled?: boolean;\n onToggle: (value: string) => void;\n selectedValues: Set<string>;\n size?: ButtonSize;\n}\n\nconst ToggleButtonGroupContext =\n createContext<ToggleButtonGroupContextValue | null>(null);\n\nToggleButtonGroupContext.displayName = 'ToggleButtonGroupContext';\n\nexport function useToggleButtonGroup(): ToggleButtonGroupContextValue | null {\n return use(ToggleButtonGroupContext);\n}\n\ninterface ToggleButtonGroupBaseProps {\n /**\n * Toggle button children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the group root.\n */\n className?: string;\n /**\n * Test ID applied to the group root.\n */\n 'data-testid'?: string;\n /**\n * Whether all buttons in the group are disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the group.\n */\n label: string;\n /**\n * Group orientation.\n * @default 'horizontal'\n */\n orientation?: ToggleButtonGroupOrientation;\n /**\n * Ref forwarded to the group root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Default size for buttons in the group.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the group root.\n */\n style?: CSSProperties;\n}\n\nexport interface ToggleButtonGroupSingleProps extends ToggleButtonGroupBaseProps {\n /**\n * Called with the selected value when selection changes, or `null`\n * when the active button is deselected.\n */\n onChange: (value: string | null) => void;\n /**\n * Single-selection mode. Clicking the active button clears selection.\n * @default 'single'\n */\n type?: 'single';\n /**\n * Currently selected value, or `null` for no selection.\n */\n value: string | null;\n}\n\nexport interface ToggleButtonGroupMultipleProps extends ToggleButtonGroupBaseProps {\n /**\n * Called with the array of selected values when selection changes.\n */\n onChange: (value: string[]) => void;\n /**\n * Multiple-selection mode.\n */\n type: 'multiple';\n /**\n * Currently selected values.\n */\n value: string[];\n}\n\nexport type ToggleButtonGroupProps =\n | ToggleButtonGroupSingleProps\n | ToggleButtonGroupMultipleProps;\n\nconst styles = {\n group: css({\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n }),\n vertical: css({\n flexDirection: 'column',\n alignItems: 'stretch',\n }),\n} as const;\n\n/**\n * Groups related ToggleButtons and manages shared selection state.\n */\nexport function ToggleButtonGroup({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n orientation = 'horizontal',\n ref,\n size,\n style,\n ...props\n}: ToggleButtonGroupProps): React.JSX.Element {\n const isMultiple = props.type === 'multiple';\n const {onChange, value} = props;\n\n const selectedValues = useMemo(() => {\n if (isMultiple) {\n return new Set(value as string[]);\n }\n\n return value == null ? new Set<string>() : new Set([value as string]);\n }, [isMultiple, value]);\n\n const onToggle = useCallback(\n (itemValue: string) => {\n if (isMultiple) {\n const current = value as string[];\n (onChange as (v: string[]) => void)(\n current.includes(itemValue)\n ? current.filter(v => v !== itemValue)\n : [...current, itemValue],\n );\n return;\n }\n\n const current = value as string | null;\n (onChange as (v: string | null) => void)(\n current === itemValue ? null : itemValue,\n );\n },\n [isMultiple, value, onChange],\n );\n\n const contextValue = useMemo(\n () => ({isDisabled, onToggle, selectedValues, size}),\n [isDisabled, onToggle, selectedValues, size],\n );\n\n return (\n <ToggleButtonGroupContext value={contextValue}>\n <div\n aria-disabled={isDisabled || undefined}\n aria-label={label}\n className={cx(\n styles.group,\n orientation === 'vertical' ? styles.vertical : undefined,\n className,\n )}\n data-orientation={orientation}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </ToggleButtonGroupContext>\n );\n}\n\nToggleButtonGroup.displayName = 'ToggleButtonGroup';\n","import type {CSSProperties, MouseEvent, Ref} from 'react';\nimport type {ButtonSize} from 'components/Button';\nimport {buttonRecipe} from 'components/Button/Button.recipe';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Spinner} from 'components/Spinner';\nimport {toggleButtonRecipe} from 'components/ToggleButton/ToggleButton.recipe';\nimport {useToggleButtonGroup} from 'components/ToggleButton/ToggleButtonGroup';\nimport {Tooltip} from 'components/Tooltip';\nimport {cx} from 'internal/cx';\n\nexport interface ToggleButtonProps {\n /**\n * Additional CSS class names applied to the button root.\n */\n className?: string;\n /**\n * Test ID applied to the button root.\n */\n 'data-testid'?: string;\n /**\n * Icon element rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the button is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label and render a square icon button.\n * @default false\n */\n isIconOnly?: boolean;\n /**\n * Whether the button is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the button is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible label for the button.\n */\n label: string;\n /**\n * Called when the selected state should change.\n */\n onChange?: (isSelected: boolean) => void;\n /**\n * Ref forwarded to the button root.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Icon element rendered when the button is selected.\n */\n selectedIcon?: IconComponent;\n /**\n * Visual size of the button.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the button root.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n /**\n * Value identifier when used inside `ToggleButtonGroup`.\n */\n value?: string;\n}\n\n/**\n * Button that toggles between selected and unselected states.\n */\nexport function ToggleButton({\n className,\n 'data-testid': dataTestId,\n icon,\n isDisabled: isDisabledProp = false,\n isIconOnly = false,\n isLoading = false,\n isSelected: isSelectedProp = false,\n label,\n onChange,\n selectedIcon,\n ref,\n size: sizeProp,\n style,\n tooltip,\n value,\n}: ToggleButtonProps): React.JSX.Element {\n const group = useToggleButtonGroup();\n\n if (process.env.NODE_ENV !== 'production') {\n if (group != null && value == null) {\n throw new Error(\n 'ToggleButton: `value` prop is required when used inside a ToggleButtonGroup.',\n );\n }\n }\n\n const isSelected =\n group != null && value != null\n ? group.selectedValues.has(value)\n : isSelectedProp;\n const size = sizeProp ?? group?.size ?? 'md';\n const isDisabled = isDisabledProp || group?.isDisabled === true;\n const resolvedIcon = isSelected && selectedIcon != null ? selectedIcon : icon;\n const classes = toggleButtonRecipe({isSelected});\n\n const handleClick = (event: MouseEvent<HTMLButtonElement>) => {\n if (isDisabled || isLoading) {\n event.preventDefault();\n return;\n }\n\n if (group != null && value != null) {\n group.onToggle(value);\n return;\n }\n\n onChange?.(!isSelected);\n };\n\n const button = (\n <button\n aria-busy={isLoading || undefined}\n aria-label={isIconOnly || isLoading ? label : undefined}\n aria-pressed={isSelected}\n className={cx(\n buttonRecipe({variant: 'ghost', size, iconOnly: isIconOnly}).root,\n classes.root,\n className,\n )}\n data-testid={dataTestId}\n disabled={isDisabled || isLoading}\n onClick={handleClick}\n ref={ref}\n style={style}\n type=\"button\">\n <span aria-hidden={isLoading || undefined} className={classes.content}>\n {resolvedIcon != null ? (\n <span className={classes.icon}>\n {isIconOnly && isLoading ? (\n <Spinner size={size} />\n ) : (\n <Icon icon={resolvedIcon} size={size} />\n )}\n </span>\n ) : null}\n {!isIconOnly ? (\n <span className={classes.labelWrapper}>\n <span className={classes.label}>{label}</span>\n <span aria-hidden=\"true\" className={classes.widthReservation}>\n {label}\n </span>\n </span>\n ) : null}\n {!isIconOnly && isLoading ? (\n <span aria-hidden=\"true\" className={classes.spinner}>\n <Spinner size={size} />\n </span>\n ) : null}\n </span>\n </button>\n );\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{button}</Tooltip>;\n }\n\n return button;\n}\n\nToggleButton.displayName = 'ToggleButton';\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
import { nowMonotonicMilliseconds, nowEpochMilliseconds } from './chunk-OX4ZMUF4.js';
|
|
2
|
-
import { Button } from './chunk-
|
|
2
|
+
import { Button } from './chunk-THTVYP5V.js';
|
|
3
|
+
import { useLatest_default } from './chunk-EBJPUXFQ.js';
|
|
3
4
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
4
|
-
import { sva } from './chunk-
|
|
5
|
-
import { cx } from './chunk-PPNETWIP.js';
|
|
5
|
+
import { sva } from './chunk-IAVZKGZS.js';
|
|
6
6
|
import { css } from './chunk-OD4DHHZH.js';
|
|
7
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
7
8
|
import { X } from 'lucide-react';
|
|
8
|
-
import { createContext, useRef,
|
|
9
|
+
import { createContext, useRef, useCallback, useEffect, useState, useMemo, use } from 'react';
|
|
9
10
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
10
11
|
|
|
11
12
|
// src/components/Toast/Toast.recipe.ts
|
|
@@ -83,7 +84,7 @@ function Toast({
|
|
|
83
84
|
endContent,
|
|
84
85
|
isAutoHide,
|
|
85
86
|
isExiting = false,
|
|
86
|
-
onDismiss,
|
|
87
|
+
onDismiss: onDismissFromProps,
|
|
87
88
|
ref,
|
|
88
89
|
style,
|
|
89
90
|
type
|
|
@@ -92,10 +93,7 @@ function Toast({
|
|
|
92
93
|
const startedAtRef = useRef(null);
|
|
93
94
|
const remainingRef = useRef(autoHideDuration);
|
|
94
95
|
const isPausedRef = useRef(false);
|
|
95
|
-
const onDismissRef =
|
|
96
|
-
useEffect(() => {
|
|
97
|
-
onDismissRef.current = onDismiss;
|
|
98
|
-
});
|
|
96
|
+
const onDismissRef = useLatest_default(onDismissFromProps);
|
|
99
97
|
const startTimer = useCallback(() => {
|
|
100
98
|
if (!isAutoHide) {
|
|
101
99
|
return;
|
|
@@ -166,7 +164,7 @@ function Toast({
|
|
|
166
164
|
icon: X,
|
|
167
165
|
isIconOnly: true,
|
|
168
166
|
label: "Dismiss notification",
|
|
169
|
-
onClick: () =>
|
|
167
|
+
onClick: () => onDismissRef.current("manual"),
|
|
170
168
|
size: "sm",
|
|
171
169
|
variant: "onSolid"
|
|
172
170
|
}
|
|
@@ -382,5 +380,5 @@ function useToast() {
|
|
|
382
380
|
}
|
|
383
381
|
|
|
384
382
|
export { Toast, ToastViewport, useToast };
|
|
385
|
-
//# sourceMappingURL=chunk-
|
|
386
|
-
//# sourceMappingURL=chunk-
|
|
383
|
+
//# sourceMappingURL=chunk-HIH6MS5D.js.map
|
|
384
|
+
//# sourceMappingURL=chunk-HIH6MS5D.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Toast/Toast.recipe.ts","../src/components/Toast/Toast.tsx","../src/components/Toast/ToastContext.ts","../src/components/Toast/ToastViewport.tsx","../src/components/Toast/useToast.tsx"],"names":["useRef","useEffect","useCallback","jsxs","jsx"],"mappings":"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","file":"chunk-HIH6MS5D.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const toastRecipe = sva({\n slots: ['root', 'inner', 'content', 'end'],\n base: {\n root: {\n width: '25rem',\n maxW: 'calc(100vw - 32px)',\n p: '4',\n borderRadius: 'lg',\n boxShadow: 'xl',\n fontFamily: 'body',\n transitionProperty: 'opacity, transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@starting-style': {\n opacity: 0,\n transform: 'translateY(8px)',\n },\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n },\n inner: {\n display: 'flex',\n alignItems: 'center',\n gap: '3',\n },\n content: {\n flex: 1,\n minW: 0,\n },\n end: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flexShrink: 0,\n },\n },\n variants: {\n type: {\n info: {root: {bg: 'status.info.solid', color: 'status.info.solidFg'}},\n error: {root: {bg: 'status.error.solid', color: 'status.error.solidFg'}},\n success: {\n root: {bg: 'status.success.solid', color: 'status.success.solidFg'},\n },\n warning: {\n root: {bg: 'status.warning.solid', color: 'status.warning.solidFg'},\n },\n },\n isExiting: {\n true: {\n root: {\n opacity: 0,\n transform: 'translateY(-8px)',\n },\n },\n },\n },\n defaultVariants: {\n type: 'info',\n isExiting: false,\n },\n});\n\nexport type ToastVariants = RecipeVariantProps<typeof toastRecipe>;\n","/* eslint-disable jsx-a11y-x/no-static-element-interactions */\nimport {X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {toastRecipe} from 'components/Toast/Toast.recipe';\nimport type {ToastDismissReason, ToastType} from 'components/Toast/types';\nimport {cx} from 'internal/cx';\nimport {nowMonotonicMilliseconds} from 'internal/time';\nimport useLatest from 'internal/useLatest';\n\nexport interface ToastProps {\n /**\n * Auto-dismiss duration in milliseconds.\n */\n autoHideDuration: number;\n /**\n * Toast message content.\n */\n body: ReactNode;\n /**\n * Additional CSS class names applied to the toast.\n */\n className?: string;\n /**\n * Test ID applied to the toast.\n */\n 'data-testid'?: string;\n /**\n * Content rendered before the dismiss button.\n */\n endContent?: ReactNode;\n /**\n * Whether the toast auto-dismisses.\n */\n isAutoHide: boolean;\n /**\n * Whether the toast is exiting.\n * @default false\n */\n isExiting?: boolean;\n /**\n * Called when the toast should be dismissed.\n */\n onDismiss: (reason: ToastDismissReason) => void;\n /**\n * Ref forwarded to the toast element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the toast.\n */\n style?: CSSProperties;\n /**\n * Toast tone.\n */\n type: ToastType;\n}\n\nconst assertiveTypes: Partial<Record<ToastType, true>> = {\n error: true,\n warning: true,\n};\n\n/**\n * An individual toast notification.\n */\nexport function Toast({\n autoHideDuration,\n body,\n className,\n 'data-testid': dataTestId,\n endContent,\n isAutoHide,\n isExiting = false,\n onDismiss: onDismissFromProps,\n ref,\n style,\n type,\n}: ToastProps): React.JSX.Element {\n const timerRef = useRef<ReturnType<typeof setTimeout> | null>(null);\n const startedAtRef = useRef<number | null>(null);\n const remainingRef = useRef(autoHideDuration);\n const isPausedRef = useRef(false);\n const onDismissRef = useLatest(onDismissFromProps);\n\n const startTimer = useCallback(() => {\n if (!isAutoHide) {\n return;\n }\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n }\n startedAtRef.current = nowMonotonicMilliseconds();\n timerRef.current = setTimeout(\n () => onDismissRef.current('auto'),\n remainingRef.current,\n );\n }, [isAutoHide]);\n\n const pauseTimer = useCallback(() => {\n if (!isAutoHide || isPausedRef.current) {\n return;\n }\n isPausedRef.current = true;\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n timerRef.current = null;\n }\n if (startedAtRef.current != null) {\n remainingRef.current = Math.max(\n remainingRef.current -\n (nowMonotonicMilliseconds() - startedAtRef.current),\n 1000,\n );\n }\n }, [isAutoHide]);\n\n const resumeTimer = useCallback(() => {\n if (!isAutoHide || !isPausedRef.current) {\n return;\n }\n isPausedRef.current = false;\n startTimer();\n }, [isAutoHide, startTimer]);\n\n useEffect(() => {\n remainingRef.current = autoHideDuration;\n startTimer();\n return () => {\n if (timerRef.current != null) {\n clearTimeout(timerRef.current);\n }\n };\n }, [autoHideDuration, startTimer]);\n\n const classes = toastRecipe({type, isExiting});\n\n return (\n <div\n aria-atomic=\"true\"\n aria-live={assertiveTypes[type] ? 'assertive' : 'polite'}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onBlurCapture={resumeTimer}\n onFocusCapture={pauseTimer}\n onMouseEnter={pauseTimer}\n onMouseLeave={resumeTimer}\n ref={ref}\n role={assertiveTypes[type] ? 'alert' : 'status'}\n style={style}>\n <div className={classes.inner}>\n <div className={classes.content}>{body}</div>\n <div className={classes.end}>\n {endContent}\n <Button\n icon={X}\n isIconOnly\n label=\"Dismiss notification\"\n onClick={() => onDismissRef.current('manual')}\n size=\"sm\"\n variant=\"onSolid\"\n />\n </div>\n </div>\n </div>\n );\n}\n\nToast.displayName = 'Toast';\n","import {createContext} from 'react';\nimport type {ToastDismissReason, ToastEntry} from 'components/Toast/types';\n\nexport interface ToastContextValue {\n addToast: (entry: ToastEntry) => void;\n findByUniqueID: (uniqueID: string) => ToastEntry | undefined;\n removeToast: (id: string, reason: ToastDismissReason) => void;\n}\n\nexport const ToastContext = createContext<ToastContextValue | null>(null);\n\nToastContext.displayName = 'ToastContext';\n","import {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Toast} from 'components/Toast/Toast';\nimport {\n ToastContext,\n type ToastContextValue,\n} from 'components/Toast/ToastContext';\nimport type {\n ToastDismissReason,\n ToastEntry,\n ToastPosition,\n} from 'components/Toast/types';\nimport {cx} from 'internal/cx';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport {css} from 'styled-system/css';\n\nexport interface ToastViewportInset {\n bottom?: number;\n end?: number;\n start?: number;\n top?: number;\n}\n\nexport interface ToastViewportProps {\n /**\n * App content that should receive the toast context.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the viewport.\n */\n className?: string;\n /**\n * Test ID applied to the viewport.\n */\n 'data-testid'?: string;\n /**\n * Custom viewport inset.\n */\n inset?: Readonly<ToastViewportInset>;\n /**\n * Whether to promote the viewport to the CSS top layer using popover.\n * @default true\n */\n isTopLayer?: boolean;\n /**\n * Maximum visible toast count.\n * @default 5\n */\n maxVisible?: number;\n /**\n * Toast stack position.\n * @default 'bottomEnd'\n */\n position?: ToastPosition;\n /**\n * Ref forwarded to the viewport element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the viewport.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n viewport: css({\n position: 'fixed',\n zIndex: 500,\n display: 'flex',\n flexDirection: 'column',\n p: '4',\n pointerEvents: 'none',\n inset: 'unset',\n m: 0,\n borderWidth: 0,\n bg: 'transparent',\n overflow: 'visible',\n }),\n bottomEnd: css({bottom: 0, insetInlineEnd: 0, alignItems: 'flex-end'}),\n bottomStart: css({bottom: 0, insetInlineStart: 0, alignItems: 'flex-start'}),\n topEnd: css({\n top: 0,\n insetInlineEnd: 0,\n alignItems: 'flex-end',\n flexDirection: 'column-reverse',\n }),\n topStart: css({\n top: 0,\n insetInlineStart: 0,\n alignItems: 'flex-start',\n flexDirection: 'column-reverse',\n }),\n wrapper: css({\n pointerEvents: 'auto',\n display: 'grid',\n gridTemplateRows: '1fr',\n pb: '3',\n transitionProperty: 'grid-template-rows, padding',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01ms',\n },\n }),\n wrapperExiting: css({\n gridTemplateRows: '0fr',\n pb: 0,\n }),\n wrapperInner: css({\n overflow: 'hidden',\n }),\n position: {\n bottomEnd: '',\n bottomStart: '',\n topEnd: '',\n topStart: '',\n } satisfies Record<ToastPosition, string>,\n} as const;\n\nstyles.position.bottomEnd = styles.bottomEnd;\nstyles.position.bottomStart = styles.bottomStart;\nstyles.position.topEnd = styles.topEnd;\nstyles.position.topStart = styles.topStart;\n\n/**\n * Toast provider and viewport. Mount once near the app root to enable\n * toast notifications. Components below this provider can call `useToast()`\n * to show toasts.\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <ToastViewport>\n * <MyRoutes />\n * </ToastViewport>\n * );\n * }\n * ```\n */\nexport function ToastViewport({\n children,\n className,\n 'data-testid': dataTestId,\n inset,\n isTopLayer = true,\n maxVisible = 5,\n position = 'bottomEnd',\n ref,\n style,\n}: ToastViewportProps): React.JSX.Element {\n const [toasts, setToasts] = useState<ToastEntry[]>([]);\n const [exitingIds, setExitingIds] = useState<Set<string>>(() => new Set());\n const toastsRef = useRef(toasts);\n const viewportRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n toastsRef.current = toasts;\n }, [toasts]);\n\n const addToast = useCallback((entry: ToastEntry) => {\n setToasts(previous => {\n const {uniqueID, collisionBehavior = 'overwrite'} = entry.options;\n if (uniqueID != null) {\n const existing = previous.find(\n toast => toast.options.uniqueID === uniqueID,\n );\n if (existing != null) {\n if (collisionBehavior === 'ignore') {\n return previous;\n }\n return previous.map(toast =>\n toast.options.uniqueID === uniqueID ? entry : toast,\n );\n }\n }\n return [...previous, entry];\n });\n }, []);\n\n const removeToast = useCallback((id: string, reason: ToastDismissReason) => {\n const entry = toastsRef.current.find(toast => toast.id === id);\n entry?.options.onHide?.(reason);\n setExitingIds(previous => new Set(previous).add(id));\n globalThis.setTimeout(() => {\n setExitingIds(previous => {\n const next = new Set(previous);\n next.delete(id);\n return next;\n });\n setToasts(previous => previous.filter(toast => toast.id !== id));\n }, 180);\n }, []);\n\n const findByUniqueID = useCallback((uniqueID: string) => {\n return toastsRef.current.find(toast => toast.options.uniqueID === uniqueID);\n }, []);\n\n const contextValue = useMemo<ToastContextValue>(\n () => ({addToast, findByUniqueID, removeToast}),\n [addToast, findByUniqueID, removeToast],\n );\n\n useEffect(() => {\n if (!isTopLayer) {\n return;\n }\n try {\n viewportRef.current?.showPopover();\n } catch {\n // Already showing.\n }\n }, [isTopLayer]);\n\n const insetStyle: CSSProperties = {\n ...(inset?.top != null ? {top: inset.top} : null),\n ...(inset?.bottom != null ? {bottom: inset.bottom} : null),\n ...(inset?.start != null ? {insetInlineStart: inset.start} : null),\n ...(inset?.end != null ? {insetInlineEnd: inset.end} : null),\n ...style,\n };\n const visibleToasts = toasts.slice(-maxVisible);\n\n return (\n <ToastContext value={contextValue}>\n {children}\n <div\n aria-label=\"Notifications\"\n className={cx(styles.viewport, styles.position[position], className)}\n data-testid={dataTestId}\n popover={isTopLayer ? 'manual' : undefined}\n ref={mergeRefs(viewportRef, ref)}\n role=\"region\"\n style={insetStyle}>\n {visibleToasts.map(entry => {\n const type = entry.options.type ?? 'info';\n const isAutoHide =\n entry.options.isAutoHide ?? (type === 'error' ? false : true);\n return (\n <div\n className={cx(\n styles.wrapper,\n exitingIds.has(entry.id) ? styles.wrapperExiting : undefined,\n )}\n key={entry.id}>\n <div className={styles.wrapperInner}>\n <Toast\n autoHideDuration={entry.options.autoHideDuration ?? 5000}\n body={entry.options.body}\n endContent={entry.options.endContent}\n isAutoHide={isAutoHide}\n isExiting={exitingIds.has(entry.id)}\n onDismiss={reason => removeToast(entry.id, reason)}\n type={type}\n />\n </div>\n </div>\n );\n })}\n </div>\n </ToastContext>\n );\n}\n\nToastViewport.displayName = 'ToastViewport';\n","import {use, useCallback} from 'react';\nimport {ToastContext} from 'components/Toast/ToastContext';\nimport type {\n ShowToastFn,\n ToastDismissFn,\n ToastEntry,\n ToastOptions,\n} from 'components/Toast/types';\nimport {nowEpochMilliseconds} from 'internal/time';\n\nlet toastIdCounter = 0;\n\nfunction generateToastId(): string {\n toastIdCounter += 1;\n return `silver-toast-${toastIdCounter}`;\n}\n\n/**\n * Returns a function that shows a toast notification.\n * Must be called within a `ToastViewport` provider.\n * The returned function accepts `ToastOptions` and returns a dismiss callback.\n */\nexport function useToast(): ShowToastFn {\n const context = use(ToastContext);\n\n if (context == null) {\n throw new Error(\n 'useToast must be used within a ToastViewport. Add <ToastViewport> near your app root to enable toast notifications.',\n );\n }\n\n return useCallback(\n (options: ToastOptions): ToastDismissFn => {\n const id = generateToastId();\n const entry: ToastEntry = {\n createdAt: nowEpochMilliseconds(),\n id,\n options,\n };\n context.addToast(entry);\n return () => context.removeToast(id, 'manual');\n },\n [context],\n );\n}\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useScrollLock } from './chunk-PZHRFASW.js';
|
|
2
|
+
import { Button } from './chunk-THTVYP5V.js';
|
|
2
3
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
3
4
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
4
|
-
import { cx } from './chunk-PPNETWIP.js';
|
|
5
5
|
import { css } from './chunk-OD4DHHZH.js';
|
|
6
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
6
7
|
import { createContext, use, useCallback, useRef, useEffect } from 'react';
|
|
7
8
|
import { X, Menu } from 'lucide-react';
|
|
8
9
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
@@ -156,16 +157,7 @@ function MobileNav({
|
|
|
156
157
|
dialog.close();
|
|
157
158
|
}
|
|
158
159
|
}, [isOpen]);
|
|
159
|
-
|
|
160
|
-
if (!isOpen) {
|
|
161
|
-
return;
|
|
162
|
-
}
|
|
163
|
-
const previousOverflow = document.body.style.overflow;
|
|
164
|
-
document.body.style.overflow = "hidden";
|
|
165
|
-
return () => {
|
|
166
|
-
document.body.style.overflow = previousOverflow;
|
|
167
|
-
};
|
|
168
|
-
}, [isOpen]);
|
|
160
|
+
useScrollLock(isOpen);
|
|
169
161
|
const formattedSize = formatSize(size);
|
|
170
162
|
return /* @__PURE__ */ jsx(
|
|
171
163
|
"dialog",
|
|
@@ -244,5 +236,5 @@ function MobileNavToggle({
|
|
|
244
236
|
MobileNavToggle.displayName = "MobileNavToggle";
|
|
245
237
|
|
|
246
238
|
export { AppShellMobileContext, MobileNav, MobileNavToggle, useAppShellMobile };
|
|
247
|
-
//# sourceMappingURL=chunk-
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
239
|
+
//# sourceMappingURL=chunk-HNDDNW52.js.map
|
|
240
|
+
//# sourceMappingURL=chunk-HNDDNW52.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AppShell/AppShellMobileContext.tsx","../src/internal/MobileNav/MobileNav.recipe.ts","../src/internal/MobileNav/MobileNav.tsx","../src/internal/MobileNav/MobileNavToggle.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-HNDDNW52.js","sourcesContent":["import {createContext, use} from 'react';\n\nexport interface AppShellMobileContextValue {\n closeMobileNav: () => void;\n hasAutoToggle: boolean;\n isMobile: boolean;\n isMobileNavEnabled: boolean;\n isMobileNavOpen: boolean;\n openMobileNav: () => void;\n toggleMobileNav: () => void;\n}\n\nconst defaultValue: AppShellMobileContextValue = {\n closeMobileNav: () => {},\n hasAutoToggle: true,\n isMobile: false,\n isMobileNavEnabled: false,\n isMobileNavOpen: false,\n openMobileNav: () => {},\n toggleMobileNav: () => {},\n};\n\nexport const AppShellMobileContext =\n createContext<AppShellMobileContextValue>(defaultValue);\nAppShellMobileContext.displayName = 'AppShellMobileContext';\n\nexport function useAppShellMobile(): AppShellMobileContextValue {\n return use(AppShellMobileContext);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const mobileNavRecipe = cva({\n base: {\n position: 'fixed',\n inset: 0,\n m: 0,\n p: 0,\n borderWidth: 0,\n maxW: 'none',\n maxH: 'none',\n w: '100vw',\n h: '100dvh',\n bg: 'transparent',\n overflow: 'hidden',\n display: 'none',\n '&::backdrop': {\n bg: 'overlay.scrim',\n backdropFilter: 'blur(2px)',\n },\n },\n variants: {\n isOpen: {\n true: {\n display: 'flex',\n },\n false: {},\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type MobileNavVariants = RecipeVariantProps<typeof mobileNavRecipe>;\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {useAppShellMobile} from 'components/AppShell/AppShellMobileContext';\nimport {Button} from 'components/Button';\nimport {mobileNavRecipe} from 'internal/MobileNav/MobileNav.recipe';\nimport {cx} from 'internal/cx';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport {useScrollLock} from 'internal/useScrollLock';\nimport {css} from 'styled-system/css';\n\nexport type MobileNavSide = 'start' | 'end';\n\n/**\n * Slide-out drawer for mobile navigation.\n */\nexport interface MobileNavProps {\n /**\n * Drawer body content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the dialog element.\n */\n className?: string;\n /**\n * Test ID applied to the dialog element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the drawer header bar.\n */\n header?: ReactNode;\n /**\n * Whether the drawer is open.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the dialog.\n */\n label?: string;\n /**\n * Called when the drawer requests an open-state change.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Which edge of the viewport the drawer slides from.\n * @default 'end'\n */\n side?: MobileNavSide;\n /**\n * Maximum drawer width.\n * @default 320\n */\n size?: number | string;\n /**\n * Inline styles applied to the dialog element.\n */\n style?: CSSProperties;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst CLOSE_BUTTON_SELECTOR = '[aria-label=\"Close navigation\"]';\n\nconst styles = {\n drawer: css({\n position: 'absolute',\n insetBlock: 0,\n display: 'flex',\n flexDirection: 'column',\n bg: 'bg',\n borderColor: 'border',\n overflow: 'hidden',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n }),\n drawerStart: css({\n insetInlineStart: 0,\n borderInlineEndWidth: 'default',\n transform: 'translateX(-100%)',\n _rtl: {transform: 'translateX(100%)'},\n }),\n drawerEnd: css({\n insetInlineEnd: 0,\n borderInlineStartWidth: 'default',\n transform: 'translateX(100%)',\n _rtl: {transform: 'translateX(-100%)'},\n }),\n drawerOpen: css({\n transform: 'translateX(0)',\n }),\n header: css({\n h: '12',\n px: '2',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n flexShrink: 0,\n }),\n body: css({\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n p: '2',\n }),\n};\n\nexport function MobileNav({\n children,\n className,\n 'data-testid': dataTestId,\n header,\n isOpen: isOpenFromProps,\n label,\n onOpenChange: onOpenChangeFromProps,\n ref,\n side = 'end',\n size = 320,\n style,\n}: MobileNavProps): React.JSX.Element {\n const appShellMobile = useAppShellMobile();\n const isOpen = isOpenFromProps ?? appShellMobile.isMobileNavOpen;\n const {openMobileNav, closeMobileNav} = appShellMobile;\n const onOpenChange = useCallback(\n (isNextOpen: boolean) => {\n if (onOpenChangeFromProps != null) {\n onOpenChangeFromProps(isNextOpen);\n } else if (isNextOpen) {\n openMobileNav();\n } else {\n closeMobileNav();\n }\n },\n [openMobileNav, closeMobileNav, onOpenChangeFromProps],\n );\n const dialogRef = useRef<HTMLDialogElement>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n\n if (dialog == null) {\n return;\n }\n\n if (isOpen && !dialog.open) {\n dialog.showModal();\n\n const firstFocusable = dialog.querySelector<HTMLElement>(\n `a[href], button:not(${CLOSE_BUTTON_SELECTOR}):not([disabled])`,\n );\n if (firstFocusable != null) {\n firstFocusable.focus();\n }\n } else if (!isOpen && dialog.open) {\n dialog.close();\n }\n }, [isOpen]);\n\n useScrollLock(isOpen);\n\n const formattedSize = formatSize(size);\n\n return (\n <dialog\n aria-label={label ?? (typeof header === 'string' ? header : 'Navigation')}\n className={cx(mobileNavRecipe({isOpen}), className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n onOpenChange(false);\n }}\n onClick={event => {\n if (event.target === event.currentTarget) {\n onOpenChange(false);\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div\n className={cx(\n styles.drawer,\n side === 'start' ? styles.drawerStart : styles.drawerEnd,\n isOpen && styles.drawerOpen,\n )}\n style={{maxWidth: formattedSize, width: '100vw'}}>\n <div className={styles.header}>\n {header ?? <span />}\n <Button\n icon={X}\n isIconOnly\n label=\"Close navigation\"\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n </div>\n <div className={styles.body}>{children}</div>\n </div>\n </dialog>\n );\n}\n\nMobileNav.displayName = 'MobileNav';\n","import {Menu} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useAppShellMobile} from 'components/AppShell/AppShellMobileContext';\nimport {Button} from 'components/Button';\n\n/**\n * Props for {@link MobileNavToggle}.\n */\nexport interface MobileNavToggleProps {\n /**\n * Additional CSS class names applied to the toggle button.\n */\n className?: string;\n /**\n * Test ID applied to the toggle button.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the toggle button.\n * @default 'Open navigation'\n */\n label?: string;\n /**\n * Ref forwarded to the toggle button.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the toggle button.\n */\n style?: CSSProperties;\n}\n\n/**\n * Hamburger-style button that toggles the mobile navigation drawer.\n * Renders nothing when the viewport is above the mobile breakpoint or\n * mobile navigation is disabled.\n */\nexport function MobileNavToggle({\n className,\n 'data-testid': dataTestId,\n label = 'Open navigation',\n ref,\n style,\n}: MobileNavToggleProps): React.JSX.Element | null {\n const {isMobile, isMobileNavEnabled, toggleMobileNav} = useAppShellMobile();\n\n if (!isMobile || !isMobileNavEnabled) {\n return null;\n }\n\n return (\n <Button\n className={className}\n data-testid={dataTestId}\n icon={Menu}\n isIconOnly\n label={label}\n onClick={toggleMobileNav}\n ref={ref}\n style={style}\n variant=\"ghost\"\n />\n );\n}\n\nMobileNavToggle.displayName = 'MobileNavToggle';\n"]}
|