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
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunk2GMDMZKI_cjs = require('./chunk-2GMDMZKI.cjs');
|
|
4
4
|
var chunkVXBVSYPA_cjs = require('./chunk-VXBVSYPA.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
7
|
-
var
|
|
8
|
-
var
|
|
5
|
+
var chunkFFF57VHO_cjs = require('./chunk-FFF57VHO.cjs');
|
|
6
|
+
var chunkXPHXAZCE_cjs = require('./chunk-XPHXAZCE.cjs');
|
|
7
|
+
var chunk5XMWGK3O_cjs = require('./chunk-5XMWGK3O.cjs');
|
|
8
|
+
var chunkBSI4BQEX_cjs = require('./chunk-BSI4BQEX.cjs');
|
|
9
9
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
10
|
-
var
|
|
11
|
-
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
10
|
+
var chunkJ4PIYOWT_cjs = require('./chunk-J4PIYOWT.cjs');
|
|
12
11
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
12
|
+
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
13
13
|
var lucideReact = require('lucide-react');
|
|
14
14
|
var react = require('react');
|
|
15
15
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -82,9 +82,9 @@ function NumberInput({
|
|
|
82
82
|
}) {
|
|
83
83
|
const inputId = react.useId();
|
|
84
84
|
const descriptionID = chunkQAO6QMNQ_cjs.isReactNode(description) ? `${inputId}-description` : void 0;
|
|
85
|
-
const statusMessageID =
|
|
86
|
-
const describedBy =
|
|
87
|
-
const inputGroup =
|
|
85
|
+
const statusMessageID = chunkXPHXAZCE_cjs.getStatusMessageID(inputId, status);
|
|
86
|
+
const describedBy = chunkXPHXAZCE_cjs.getDescribedBy(descriptionID, statusMessageID);
|
|
87
|
+
const inputGroup = chunk2GMDMZKI_cjs.useInputGroup();
|
|
88
88
|
const effectiveDisabled = isDisabled || inputGroup?.isDisabled === true;
|
|
89
89
|
const size = inputGroup?.size ?? sizeProp;
|
|
90
90
|
const effectiveStatusType = status?.type ?? inputGroup?.statusType;
|
|
@@ -95,7 +95,7 @@ function NumberInput({
|
|
|
95
95
|
}
|
|
96
96
|
return value == null ? "" : String(value);
|
|
97
97
|
}, [pendingInput, value]);
|
|
98
|
-
const necessity =
|
|
98
|
+
const necessity = chunkFFF57VHO_cjs.getNecessity(isOptional, isRequired);
|
|
99
99
|
const inputWrapper = /* @__PURE__ */ jsxRuntime.jsxs(
|
|
100
100
|
"div",
|
|
101
101
|
{
|
|
@@ -109,7 +109,7 @@ function NumberInput({
|
|
|
109
109
|
),
|
|
110
110
|
style: inputGroup != null ? style : void 0,
|
|
111
111
|
children: [
|
|
112
|
-
startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
112
|
+
startIcon != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: /* @__PURE__ */ jsxRuntime.jsx(chunkJ4PIYOWT_cjs.Icon, { color: "secondary", icon: startIcon, size: "sm" }) }) : null,
|
|
113
113
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
114
114
|
"input",
|
|
115
115
|
{
|
|
@@ -169,7 +169,7 @@ function NumberInput({
|
|
|
169
169
|
),
|
|
170
170
|
units != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles.units, children: units }) : null,
|
|
171
171
|
hasClear === true && value != null && !effectiveDisabled ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
172
|
-
|
|
172
|
+
chunk5XMWGK3O_cjs.Button,
|
|
173
173
|
{
|
|
174
174
|
icon: lucideReact.X,
|
|
175
175
|
isIconOnly: true,
|
|
@@ -180,8 +180,8 @@ function NumberInput({
|
|
|
180
180
|
}
|
|
181
181
|
) : null,
|
|
182
182
|
endContent,
|
|
183
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
184
|
-
status != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children:
|
|
183
|
+
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(chunkBSI4BQEX_cjs.Spinner, { size: "sm" }) : null,
|
|
184
|
+
status != null ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: chunkVXBVSYPA_cjs.inputStyles.iconSlot, children: chunkXPHXAZCE_cjs.getStatusIcon(status.type) }) : null
|
|
185
185
|
]
|
|
186
186
|
}
|
|
187
187
|
);
|
|
@@ -189,7 +189,7 @@ function NumberInput({
|
|
|
189
189
|
return inputWrapper;
|
|
190
190
|
}
|
|
191
191
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
192
|
-
|
|
192
|
+
chunkFFF57VHO_cjs.Field,
|
|
193
193
|
{
|
|
194
194
|
className,
|
|
195
195
|
description,
|
|
@@ -210,5 +210,5 @@ function NumberInput({
|
|
|
210
210
|
NumberInput.displayName = "NumberInput";
|
|
211
211
|
|
|
212
212
|
exports.NumberInput = NumberInput;
|
|
213
|
-
//# sourceMappingURL=chunk-
|
|
214
|
-
//# sourceMappingURL=chunk-
|
|
213
|
+
//# sourceMappingURL=chunk-RRXOSNCX.cjs.map
|
|
214
|
+
//# sourceMappingURL=chunk-RRXOSNCX.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/NumberInput/NumberInput.tsx"],"names":["css","useId","isReactNode","getStatusMessageID","getDescribedBy","useInputGroup","useState","useMemo","getNecessity","jsxs","cx","inputRecipe","jsx","inputStyles","Icon","Button","X","Spinner","getStatusIcon","Field"],"mappings":"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","file":"chunk-RRXOSNCX.cjs","sourcesContent":["import {X} from 'lucide-react';\nimport {\n useId,\n useMemo,\n useState,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\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 {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {useInputGroup} from 'components/InputGroup';\nimport {Spinner} from 'components/Spinner';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\ntype NumberInputBaseProps = {\n /**\n * HTML autocomplete attribute value.\n */\n autoComplete?: string;\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the input, before the status icon.\n */\n endContent?: ReactNode;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to restrict input to integer values only.\n * @default false\n */\n isIntegerOnly?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon rendered beside the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum allowed value.\n */\n max?: number | null;\n /**\n * Minimum allowed value.\n */\n min?: number | null;\n /**\n * Called when the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when Enter is pressed.\n */\n onEnter?: () => void;\n /**\n * Called when the input receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Keyboard event handler for the input.\n */\n onKeyDown?: (event: KeyboardEvent<HTMLInputElement>) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Step increment for the number input.\n */\n step?: number | null;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Unit label displayed after the input value.\n */\n units?: string | null;\n /**\n * Controlled numeric value.\n */\n value: number | null;\n} & FieldNecessity;\n\ntype NumberInputNonClearableProps = NumberInputBaseProps & {\n /**\n * Whether to show a clear button.\n */\n hasClear?: false;\n /**\n * Called when the numeric value changes.\n */\n onChange: (value: number) => void;\n};\n\ntype NumberInputClearableProps = NumberInputBaseProps & {\n /**\n * Whether to show a clear button.\n */\n hasClear: true;\n /**\n * Called when the numeric value changes or is cleared.\n */\n onChange: (value: number | null) => void;\n};\n\nexport type NumberInputProps =\n | NumberInputClearableProps\n | NumberInputNonClearableProps;\n\nconst styles = {\n units: css({\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'sm',\n }),\n} as const;\n\nfunction parseNumberInput(\n input: string,\n options: {isIntegerOnly: boolean},\n): number | null {\n const trimmed = input.trim();\n if (trimmed === '' || trimmed === '-') {\n return null;\n }\n const number = Number(trimmed);\n if (!Number.isFinite(number)) {\n return null;\n }\n if (options.isIntegerOnly && !Number.isInteger(number)) {\n return null;\n }\n return number;\n}\n\nfunction clampValue(\n value: number,\n min?: number | null,\n max?: number | null,\n): number {\n let clamped = value;\n if (min != null && clamped < min) {\n clamped = min;\n }\n if (max != null && clamped > max) {\n clamped = max;\n }\n return clamped;\n}\n\n/**\n * Numeric input field with optional min/max bounds and step control.\n */\nexport function NumberInput({\n label,\n value,\n onChange,\n size: sizeProp = 'md',\n description,\n endContent,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isIntegerOnly = false,\n isLoading = false,\n hasClear,\n hasAutoFocus = false,\n htmlName,\n autoComplete,\n min,\n max,\n step,\n units,\n status,\n labelIcon,\n labelTooltip,\n startIcon,\n placeholder,\n onFocus,\n onBlur,\n onEnter,\n onKeyDown,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: NumberInputProps): 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 inputGroup = useInputGroup();\n const effectiveDisabled = isDisabled || inputGroup?.isDisabled === true;\n const size = inputGroup?.size ?? sizeProp;\n const effectiveStatusType = status?.type ?? inputGroup?.statusType;\n const [pendingInput, setPendingInput] = useState<string | null>(null);\n const displayValue = useMemo(() => {\n if (pendingInput != null) {\n return pendingInput;\n }\n return value == null ? '' : String(value);\n }, [pendingInput, value]);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const inputWrapper = (\n <div\n className={cx(\n inputRecipe({\n size,\n status: effectiveStatusType,\n isDisabled: effectiveDisabled,\n }),\n inputGroup != null ? className : undefined,\n )}\n style={inputGroup != null ? style : undefined}>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={inputGroup != null ? label : undefined}\n aria-required={isRequired ?? undefined}\n autoComplete={autoComplete}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={inputStyles.control}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={effectiveDisabled}\n id={inputId}\n max={max ?? undefined}\n min={min ?? undefined}\n name={htmlName}\n onBlur={event => {\n if (pendingInput != null) {\n const parsed = parseNumberInput(pendingInput, {isIntegerOnly});\n if (parsed != null) {\n const clamped = clampValue(parsed, min, max);\n if (clamped !== value) {\n onChange(clamped);\n }\n }\n setPendingInput(null);\n }\n onBlur?.(event);\n }}\n onChange={(event: ChangeEvent<HTMLInputElement>) => {\n const nextValue = event.target.value;\n setPendingInput(nextValue);\n const parsed = parseNumberInput(nextValue, {isIntegerOnly});\n if (parsed != null) {\n const clamped = clampValue(parsed, min, max);\n if (clamped !== value) {\n onChange(clamped);\n }\n }\n }}\n onFocus={onFocus}\n onKeyDown={event => {\n if (event.key === 'Enter' && !event.nativeEvent.isComposing) {\n onEnter?.();\n }\n onKeyDown?.(event);\n }}\n placeholder={placeholder}\n ref={ref}\n required={isRequired ?? undefined}\n step={step ?? undefined}\n type=\"number\"\n value={displayValue}\n />\n {units != null ? <span className={styles.units}>{units}</span> : null}\n {hasClear === true && value != null && !effectiveDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={() => onChange(null)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {endContent}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n );\n\n if (inputGroup != null) {\n return inputWrapper;\n }\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputWrapper}\n </Field>\n );\n}\n\nNumberInput.displayName = 'NumberInput';\n"]}
|
|
@@ -1,11 +1,107 @@
|
|
|
1
|
-
import { VisuallyHidden } from './chunk-
|
|
1
|
+
import { VisuallyHidden } from './chunk-V2V5TTTL.js';
|
|
2
2
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
3
|
-
import { Icon } from './chunk-
|
|
3
|
+
import { Icon } from './chunk-IUW777WZ.js';
|
|
4
|
+
import { sva } from './chunk-IAVZKGZS.js';
|
|
4
5
|
import { cx } from './chunk-PPNETWIP.js';
|
|
5
|
-
import { css } from './chunk-OD4DHHZH.js';
|
|
6
6
|
import { createContext, useRef, useCallback, useMemo, use } from 'react';
|
|
7
7
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
8
|
|
|
9
|
+
// src/components/SegmentedControl/SegmentedControl.recipe.ts
|
|
10
|
+
var segmentedControlRecipe = sva({
|
|
11
|
+
slots: ["root", "item", "icon"],
|
|
12
|
+
base: {
|
|
13
|
+
root: {
|
|
14
|
+
display: "inline-flex",
|
|
15
|
+
alignItems: "center",
|
|
16
|
+
gap: "0.5",
|
|
17
|
+
p: "0.5",
|
|
18
|
+
bg: "surface.gray",
|
|
19
|
+
borderRadius: "md"
|
|
20
|
+
},
|
|
21
|
+
item: {
|
|
22
|
+
display: "inline-flex",
|
|
23
|
+
alignItems: "center",
|
|
24
|
+
justifyContent: "center",
|
|
25
|
+
gap: "1",
|
|
26
|
+
borderWidth: 0,
|
|
27
|
+
borderStyle: "none",
|
|
28
|
+
bg: "transparent",
|
|
29
|
+
color: "fg.muted",
|
|
30
|
+
cursor: "pointer",
|
|
31
|
+
fontFamily: "body",
|
|
32
|
+
fontWeight: "medium",
|
|
33
|
+
lineHeight: "normal",
|
|
34
|
+
transitionProperty: "background-color, color, box-shadow",
|
|
35
|
+
transitionDuration: "fast",
|
|
36
|
+
transitionTimingFunction: "default",
|
|
37
|
+
_hover: {
|
|
38
|
+
bg: "bg.subtle"
|
|
39
|
+
},
|
|
40
|
+
_focusVisible: {
|
|
41
|
+
outlineWidth: "focus",
|
|
42
|
+
outlineStyle: "solid",
|
|
43
|
+
outlineColor: "primary",
|
|
44
|
+
outlineOffset: "focusOffset"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
icon: {
|
|
48
|
+
display: "inline-flex",
|
|
49
|
+
alignItems: "center",
|
|
50
|
+
justifyContent: "center",
|
|
51
|
+
flexShrink: 0
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
variants: {
|
|
55
|
+
size: {
|
|
56
|
+
sm: { item: { h: "7", px: "2", borderRadius: "sm", fontSize: "sm" } },
|
|
57
|
+
md: { item: { h: "9", px: "3", borderRadius: "sm", fontSize: "sm" } },
|
|
58
|
+
lg: { item: { h: "11", px: "3", borderRadius: "md", fontSize: "md" } }
|
|
59
|
+
},
|
|
60
|
+
layout: {
|
|
61
|
+
hug: {},
|
|
62
|
+
fill: {
|
|
63
|
+
root: { display: "flex", w: "full" },
|
|
64
|
+
item: { flex: 1 }
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
isSelected: {
|
|
68
|
+
true: {
|
|
69
|
+
item: {
|
|
70
|
+
bg: "bg",
|
|
71
|
+
color: "fg",
|
|
72
|
+
fontWeight: "semibold",
|
|
73
|
+
boxShadow: "sm",
|
|
74
|
+
_hover: {
|
|
75
|
+
bg: "bg"
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
false: {}
|
|
80
|
+
},
|
|
81
|
+
isDisabled: {
|
|
82
|
+
true: {
|
|
83
|
+
root: {
|
|
84
|
+
opacity: 0.5,
|
|
85
|
+
pointerEvents: "none"
|
|
86
|
+
},
|
|
87
|
+
item: {
|
|
88
|
+
color: "fg.disabled",
|
|
89
|
+
cursor: "default",
|
|
90
|
+
_hover: {
|
|
91
|
+
bg: "transparent"
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
false: {}
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
defaultVariants: {
|
|
99
|
+
size: "md",
|
|
100
|
+
layout: "hug",
|
|
101
|
+
isSelected: false,
|
|
102
|
+
isDisabled: false
|
|
103
|
+
}
|
|
104
|
+
});
|
|
9
105
|
var SegmentedControlContext = createContext(null);
|
|
10
106
|
SegmentedControlContext.displayName = "SegmentedControlContext";
|
|
11
107
|
function useSegmentedControlContext() {
|
|
@@ -17,24 +113,6 @@ function useSegmentedControlContext() {
|
|
|
17
113
|
}
|
|
18
114
|
return context;
|
|
19
115
|
}
|
|
20
|
-
var styles = {
|
|
21
|
-
root: css({
|
|
22
|
-
display: "inline-flex",
|
|
23
|
-
alignItems: "center",
|
|
24
|
-
gap: "0.5",
|
|
25
|
-
p: "0.5",
|
|
26
|
-
bg: "surface.gray",
|
|
27
|
-
borderRadius: "md"
|
|
28
|
-
}),
|
|
29
|
-
fill: css({
|
|
30
|
-
display: "flex",
|
|
31
|
-
w: "full"
|
|
32
|
-
}),
|
|
33
|
-
disabled: css({
|
|
34
|
-
opacity: 0.5,
|
|
35
|
-
pointerEvents: "none"
|
|
36
|
-
})
|
|
37
|
-
};
|
|
38
116
|
function SegmentedControl({
|
|
39
117
|
children,
|
|
40
118
|
className,
|
|
@@ -59,6 +137,7 @@ function SegmentedControl({
|
|
|
59
137
|
() => ({ isDisabled, layout, onChange: handleChange, size, value }),
|
|
60
138
|
[handleChange, isDisabled, layout, size, value]
|
|
61
139
|
);
|
|
140
|
+
const classes = segmentedControlRecipe({ isDisabled, layout });
|
|
62
141
|
const handleKeyDown = useCallback(
|
|
63
142
|
(event) => {
|
|
64
143
|
if (isDisabled) {
|
|
@@ -114,12 +193,7 @@ function SegmentedControl({
|
|
|
114
193
|
"aria-disabled": isDisabled || void 0,
|
|
115
194
|
"aria-label": label,
|
|
116
195
|
"aria-orientation": "horizontal",
|
|
117
|
-
className: cx(
|
|
118
|
-
styles.root,
|
|
119
|
-
layout === "fill" ? styles.fill : void 0,
|
|
120
|
-
isDisabled ? styles.disabled : void 0,
|
|
121
|
-
className
|
|
122
|
-
),
|
|
196
|
+
className: cx(classes.root, className),
|
|
123
197
|
"data-testid": dataTestId,
|
|
124
198
|
onKeyDown: handleKeyDown,
|
|
125
199
|
ref: mergeRefs(ref, containerRef),
|
|
@@ -131,79 +205,6 @@ function SegmentedControl({
|
|
|
131
205
|
) });
|
|
132
206
|
}
|
|
133
207
|
SegmentedControl.displayName = "SegmentedControl";
|
|
134
|
-
var styles2 = {
|
|
135
|
-
item: css({
|
|
136
|
-
display: "inline-flex",
|
|
137
|
-
alignItems: "center",
|
|
138
|
-
justifyContent: "center",
|
|
139
|
-
gap: "1",
|
|
140
|
-
borderWidth: 0,
|
|
141
|
-
borderStyle: "none",
|
|
142
|
-
bg: "transparent",
|
|
143
|
-
color: "fg.muted",
|
|
144
|
-
cursor: "pointer",
|
|
145
|
-
fontFamily: "body",
|
|
146
|
-
fontWeight: "medium",
|
|
147
|
-
lineHeight: "normal",
|
|
148
|
-
transitionProperty: "background-color, color, box-shadow",
|
|
149
|
-
transitionDuration: "fast",
|
|
150
|
-
transitionTimingFunction: "default",
|
|
151
|
-
_hover: {
|
|
152
|
-
bg: "bg.subtle"
|
|
153
|
-
},
|
|
154
|
-
_focusVisible: {
|
|
155
|
-
outlineWidth: "focus",
|
|
156
|
-
outlineStyle: "solid",
|
|
157
|
-
outlineColor: "primary",
|
|
158
|
-
outlineOffset: "focusOffset"
|
|
159
|
-
}
|
|
160
|
-
}),
|
|
161
|
-
selected: css({
|
|
162
|
-
bg: "bg",
|
|
163
|
-
color: "fg",
|
|
164
|
-
fontWeight: "semibold",
|
|
165
|
-
boxShadow: "sm",
|
|
166
|
-
_hover: {
|
|
167
|
-
bg: "bg"
|
|
168
|
-
}
|
|
169
|
-
}),
|
|
170
|
-
disabled: css({
|
|
171
|
-
color: "fg.disabled",
|
|
172
|
-
cursor: "default",
|
|
173
|
-
_hover: {
|
|
174
|
-
bg: "transparent"
|
|
175
|
-
}
|
|
176
|
-
}),
|
|
177
|
-
fill: css({
|
|
178
|
-
flex: 1
|
|
179
|
-
}),
|
|
180
|
-
icon: css({
|
|
181
|
-
display: "inline-flex",
|
|
182
|
-
alignItems: "center",
|
|
183
|
-
justifyContent: "center",
|
|
184
|
-
flexShrink: 0
|
|
185
|
-
}),
|
|
186
|
-
size: {
|
|
187
|
-
sm: css({
|
|
188
|
-
h: "7",
|
|
189
|
-
px: "2",
|
|
190
|
-
borderRadius: "sm",
|
|
191
|
-
fontSize: "sm"
|
|
192
|
-
}),
|
|
193
|
-
md: css({
|
|
194
|
-
h: "9",
|
|
195
|
-
px: "3",
|
|
196
|
-
borderRadius: "sm",
|
|
197
|
-
fontSize: "sm"
|
|
198
|
-
}),
|
|
199
|
-
lg: css({
|
|
200
|
-
h: "11",
|
|
201
|
-
px: "3",
|
|
202
|
-
borderRadius: "md",
|
|
203
|
-
fontSize: "md"
|
|
204
|
-
})
|
|
205
|
-
}
|
|
206
|
-
};
|
|
207
208
|
function SegmentedControlItem({
|
|
208
209
|
className,
|
|
209
210
|
"data-testid": dataTestId,
|
|
@@ -218,20 +219,19 @@ function SegmentedControlItem({
|
|
|
218
219
|
const context = useSegmentedControlContext();
|
|
219
220
|
const isSelected = context.value === value;
|
|
220
221
|
const isItemDisabled = context.isDisabled || isDisabled;
|
|
222
|
+
const classes = segmentedControlRecipe({
|
|
223
|
+
size: context.size,
|
|
224
|
+
layout: context.layout,
|
|
225
|
+
isSelected,
|
|
226
|
+
isDisabled: isItemDisabled
|
|
227
|
+
});
|
|
221
228
|
return /* @__PURE__ */ jsxs(
|
|
222
229
|
"button",
|
|
223
230
|
{
|
|
224
231
|
"aria-checked": isSelected,
|
|
225
232
|
"aria-disabled": isItemDisabled || void 0,
|
|
226
233
|
"aria-label": isLabelHidden ? label : void 0,
|
|
227
|
-
className: cx(
|
|
228
|
-
styles2.item,
|
|
229
|
-
styles2.size[context.size],
|
|
230
|
-
context.layout === "fill" ? styles2.fill : void 0,
|
|
231
|
-
isSelected ? styles2.selected : void 0,
|
|
232
|
-
isItemDisabled ? styles2.disabled : void 0,
|
|
233
|
-
className
|
|
234
|
-
),
|
|
234
|
+
className: cx(classes.item, className),
|
|
235
235
|
"data-testid": dataTestId,
|
|
236
236
|
"data-value": value,
|
|
237
237
|
onClick: () => {
|
|
@@ -245,7 +245,7 @@ function SegmentedControlItem({
|
|
|
245
245
|
tabIndex: isSelected ? 0 : -1,
|
|
246
246
|
type: "button",
|
|
247
247
|
children: [
|
|
248
|
-
icon != null ? /* @__PURE__ */ jsx("span", { className:
|
|
248
|
+
icon != null ? /* @__PURE__ */ jsx("span", { className: classes.icon, children: /* @__PURE__ */ jsx(Icon, { icon, size: context.size }) }) : null,
|
|
249
249
|
isLabelHidden ? /* @__PURE__ */ jsx(VisuallyHidden, { children: label }) : label
|
|
250
250
|
]
|
|
251
251
|
}
|
|
@@ -254,5 +254,5 @@ function SegmentedControlItem({
|
|
|
254
254
|
SegmentedControlItem.displayName = "SegmentedControlItem";
|
|
255
255
|
|
|
256
256
|
export { SegmentedControl, SegmentedControlItem };
|
|
257
|
-
//# sourceMappingURL=chunk-
|
|
258
|
-
//# sourceMappingURL=chunk-
|
|
257
|
+
//# sourceMappingURL=chunk-S4IHNNA2.js.map
|
|
258
|
+
//# sourceMappingURL=chunk-S4IHNNA2.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/SegmentedControl/SegmentedControl.recipe.ts","../src/components/SegmentedControl/SegmentedControlContext.ts","../src/components/SegmentedControl/SegmentedControl.tsx","../src/components/SegmentedControl/SegmentedControlItem.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-S4IHNNA2.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const segmentedControlRecipe = sva({\n slots: ['root', 'item', 'icon'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '0.5',\n p: '0.5',\n bg: 'surface.gray',\n borderRadius: 'md',\n },\n item: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n borderWidth: 0,\n borderStyle: 'none',\n bg: 'transparent',\n color: 'fg.muted',\n cursor: 'pointer',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n transitionProperty: 'background-color, color, box-shadow',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n size: {\n sm: {item: {h: '7', px: '2', borderRadius: 'sm', fontSize: 'sm'}},\n md: {item: {h: '9', px: '3', borderRadius: 'sm', fontSize: 'sm'}},\n lg: {item: {h: '11', px: '3', borderRadius: 'md', fontSize: 'md'}},\n },\n layout: {\n hug: {},\n fill: {\n root: {display: 'flex', w: 'full'},\n item: {flex: 1},\n },\n },\n isSelected: {\n true: {\n item: {\n bg: 'bg',\n color: 'fg',\n fontWeight: 'semibold',\n boxShadow: 'sm',\n _hover: {\n bg: 'bg',\n },\n },\n },\n false: {},\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n item: {\n color: 'fg.disabled',\n cursor: 'default',\n _hover: {\n bg: 'transparent',\n },\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n size: 'md',\n layout: 'hug',\n isSelected: false,\n isDisabled: false,\n },\n});\n\nexport type SegmentedControlVariants = RecipeVariantProps<\n typeof segmentedControlRecipe\n>;\n","import {createContext, use} from 'react';\n\nexport type SegmentedControlLayout = 'fill' | 'hug';\nexport type SegmentedControlSize = 'lg' | 'md' | 'sm';\n\nexport interface SegmentedControlContextValue {\n isDisabled: boolean;\n layout: SegmentedControlLayout;\n onChange: (value: string) => void;\n size: SegmentedControlSize;\n value: string;\n}\n\nexport const SegmentedControlContext =\n createContext<SegmentedControlContextValue | null>(null);\n\nSegmentedControlContext.displayName = 'SegmentedControlContext';\n\nexport function useSegmentedControlContext(): SegmentedControlContextValue {\n const context = use(SegmentedControlContext);\n if (context == null) {\n throw new Error(\n 'SegmentedControlItem must be used within a SegmentedControl.',\n );\n }\n return context;\n}\n","import {\n useCallback,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {segmentedControlRecipe} from 'components/SegmentedControl/SegmentedControl.recipe';\nimport {\n SegmentedControlContext,\n type SegmentedControlLayout,\n type SegmentedControlSize,\n} from 'components/SegmentedControl/SegmentedControlContext';\nimport {cx} from 'internal/cx';\nimport {mergeRefs} from 'internal/mergeRefs';\n\nexport interface SegmentedControlProps<TValue extends string = string> {\n /**\n * SegmentedControlItem children.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the entire control is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the radio group.\n */\n label: string;\n /**\n * Segment layout mode.\n * @default 'hug'\n */\n layout?: SegmentedControlLayout;\n /**\n * Called when a segment is selected.\n */\n onChange: (value: TValue) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Control size.\n * @default 'md'\n */\n size?: SegmentedControlSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Current selected value.\n */\n value: TValue;\n}\n\n/**\n * Segmented toggle control for selecting one option from a small set.\n *\n * Rendered as a radio group (`role=\"radiogroup\"`), so reach for it when picking\n * a value — filters, settings, or view modes whose content you render yourself.\n * If selecting an option should show or hide associated content panels, use\n * {@link Tabs} instead.\n */\nexport function SegmentedControl<TValue extends string = string>({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n layout = 'hug',\n onChange,\n ref,\n size = 'md',\n style,\n value,\n}: SegmentedControlProps<TValue>): React.JSX.Element {\n const containerRef = useRef<HTMLDivElement>(null);\n const handleChange = useCallback(\n (nextValue: string) => {\n onChange(nextValue as TValue);\n },\n [onChange],\n );\n const contextValue = useMemo(\n () => ({isDisabled, layout, onChange: handleChange, size, value}),\n [handleChange, isDisabled, layout, size, value],\n );\n const classes = segmentedControlRecipe({isDisabled, layout});\n\n const handleKeyDown = useCallback(\n (event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n\n const items = Array.from(\n container.querySelectorAll<HTMLButtonElement>(\n '[role=\"radio\"]:not([aria-disabled=\"true\"])',\n ),\n );\n\n if (items.length === 0) {\n return;\n }\n\n const currentIndex = items.findIndex(\n item => item === document.activeElement,\n );\n let nextIndex: number;\n\n switch (event.key) {\n case 'ArrowRight':\n case 'ArrowDown':\n nextIndex =\n currentIndex === -1 ? 0 : (currentIndex + 1) % items.length;\n break;\n case 'ArrowLeft':\n case 'ArrowUp':\n nextIndex =\n currentIndex === -1\n ? items.length - 1\n : (currentIndex - 1 + items.length) % items.length;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = items.length - 1;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextItem = items[nextIndex];\n nextItem.focus();\n const nextValue = nextItem.dataset.value;\n if (nextValue != null) {\n handleChange(nextValue);\n }\n },\n [handleChange, isDisabled],\n );\n\n return (\n <SegmentedControlContext value={contextValue}>\n <div\n aria-disabled={isDisabled || undefined}\n aria-label={label}\n aria-orientation=\"horizontal\"\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onKeyDown={handleKeyDown}\n ref={mergeRefs(ref, containerRef)}\n role=\"radiogroup\"\n style={style}\n tabIndex={-1}>\n {children}\n </div>\n </SegmentedControlContext>\n );\n}\n\nSegmentedControl.displayName = 'SegmentedControl';\n","import type {CSSProperties, Ref} from 'react';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {segmentedControlRecipe} from 'components/SegmentedControl/SegmentedControl.recipe';\nimport {useSegmentedControlContext} from 'components/SegmentedControl/SegmentedControlContext';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\n\nexport interface SegmentedControlItemProps<TValue extends string = string> {\n /**\n * Additional CSS class names applied to the segment.\n */\n className?: string;\n /**\n * Test ID applied to the segment.\n */\n 'data-testid'?: string;\n /**\n * Icon element displayed before the label.\n */\n icon?: IconComponent;\n /**\n * Whether this segment 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 * Accessible and visible label for the segment.\n */\n label: string;\n /**\n * Ref forwarded to the segment button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the segment.\n */\n style?: CSSProperties;\n /**\n * Unique value represented by this segment.\n */\n value: TValue;\n}\n\n/**\n * Individual segment within a `SegmentedControl`.\n */\nexport function SegmentedControlItem<TValue extends string = string>({\n className,\n 'data-testid': dataTestId,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n ref,\n style,\n value,\n}: SegmentedControlItemProps<TValue>): React.JSX.Element {\n const context = useSegmentedControlContext();\n const isSelected = context.value === value;\n const isItemDisabled = context.isDisabled || isDisabled;\n const classes = segmentedControlRecipe({\n size: context.size,\n layout: context.layout,\n isSelected,\n isDisabled: isItemDisabled,\n });\n\n return (\n <button\n aria-checked={isSelected}\n aria-disabled={isItemDisabled || undefined}\n aria-label={isLabelHidden ? label : undefined}\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n data-value={value}\n onClick={() => {\n if (!isItemDisabled && !isSelected) {\n context.onChange(value);\n }\n }}\n ref={ref}\n role=\"radio\"\n style={style}\n tabIndex={isSelected ? 0 : -1}\n type=\"button\">\n {icon != null ? (\n <span className={classes.icon}>\n <Icon icon={icon} size={context.size} />\n </span>\n ) : null}\n {isLabelHidden ? <VisuallyHidden>{label}</VisuallyHidden> : label}\n </button>\n );\n}\n\nSegmentedControlItem.displayName = 'SegmentedControlItem';\n"]}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import { useLayer, useIsomorphicLayoutEffect } from './chunk-
|
|
1
|
+
import { Button } from './chunk-THTVYP5V.js';
|
|
2
|
+
import { token } from './chunk-RJEZBOSH.js';
|
|
3
|
+
import { VisuallyHidden } from './chunk-V2V5TTTL.js';
|
|
4
|
+
import { useLayer, useIsomorphicLayoutEffect } from './chunk-EBJPUXFQ.js';
|
|
5
5
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
6
|
-
import { cx } from './chunk-GUKZNXTB.js';
|
|
7
6
|
import { css } from './chunk-OD4DHHZH.js';
|
|
8
|
-
import {
|
|
7
|
+
import { cx } from './chunk-PPNETWIP.js';
|
|
8
|
+
import { useRef, useCallback, useEffect, useMemo } from 'react';
|
|
9
9
|
import { X } from 'lucide-react';
|
|
10
10
|
import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
|
|
11
11
|
|
|
@@ -77,28 +77,35 @@ var styles = {
|
|
|
77
77
|
borderWidth: "default",
|
|
78
78
|
borderStyle: "solid",
|
|
79
79
|
borderColor: "border"
|
|
80
|
-
}),
|
|
81
|
-
closeButtonWrapper: css({
|
|
82
|
-
position: "absolute",
|
|
83
|
-
w: "1px",
|
|
84
|
-
h: "1px",
|
|
85
|
-
overflow: "hidden",
|
|
86
|
-
clipPath: "inset(50%)"
|
|
87
80
|
})
|
|
88
81
|
};
|
|
89
82
|
function usePopover({
|
|
90
83
|
onShow,
|
|
91
84
|
onHide,
|
|
92
|
-
|
|
85
|
+
isDismissable = true,
|
|
93
86
|
hasAutoFocus = true,
|
|
94
87
|
hasSurface = true,
|
|
95
88
|
hasCloseButton = true,
|
|
96
89
|
closeButtonLabel = "Close popover",
|
|
97
90
|
label,
|
|
98
|
-
role = "dialog"
|
|
91
|
+
role = "dialog",
|
|
92
|
+
layerId
|
|
99
93
|
} = {}) {
|
|
100
94
|
const skipAutoFocusRef = useRef(false);
|
|
101
|
-
const
|
|
95
|
+
const isDismissingRef = useRef(false);
|
|
96
|
+
const handleHide = useCallback(() => {
|
|
97
|
+
isDismissingRef.current = true;
|
|
98
|
+
requestAnimationFrame(() => {
|
|
99
|
+
isDismissingRef.current = false;
|
|
100
|
+
});
|
|
101
|
+
onHide?.();
|
|
102
|
+
}, [onHide]);
|
|
103
|
+
const layer = useLayer({
|
|
104
|
+
isDismissable,
|
|
105
|
+
id: layerId,
|
|
106
|
+
onShow,
|
|
107
|
+
onHide: handleHide
|
|
108
|
+
});
|
|
102
109
|
const { containerRef: contentRef, focusFirst } = useFocusTrap({
|
|
103
110
|
isActive: layer.isOpen,
|
|
104
111
|
onEscape: layer.hide
|
|
@@ -120,6 +127,9 @@ function usePopover({
|
|
|
120
127
|
[layer]
|
|
121
128
|
);
|
|
122
129
|
const toggle = useCallback(() => {
|
|
130
|
+
if (isDismissingRef.current) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
123
133
|
if (layer.isOpen) {
|
|
124
134
|
layer.hide();
|
|
125
135
|
return;
|
|
@@ -138,7 +148,7 @@ function usePopover({
|
|
|
138
148
|
role,
|
|
139
149
|
children: [
|
|
140
150
|
children,
|
|
141
|
-
hasCloseButton ? /* @__PURE__ */ jsx(
|
|
151
|
+
hasCloseButton ? /* @__PURE__ */ jsx(VisuallyHidden, { children: /* @__PURE__ */ jsx(
|
|
142
152
|
Button,
|
|
143
153
|
{
|
|
144
154
|
icon: X,
|
|
@@ -234,7 +244,7 @@ function Popover({
|
|
|
234
244
|
width,
|
|
235
245
|
label,
|
|
236
246
|
hasCloseButton,
|
|
237
|
-
|
|
247
|
+
isDismissable,
|
|
238
248
|
closeButtonLabel,
|
|
239
249
|
padding,
|
|
240
250
|
ref,
|
|
@@ -242,21 +252,19 @@ function Popover({
|
|
|
242
252
|
className,
|
|
243
253
|
style,
|
|
244
254
|
role,
|
|
255
|
+
id,
|
|
245
256
|
"data-testid": dataTestId
|
|
246
257
|
}) {
|
|
247
258
|
const wrapperRef = useRef(null);
|
|
248
259
|
const isControlled = isOpen !== void 0;
|
|
249
|
-
const lastHideTimeRef = useRef(0);
|
|
250
260
|
const popover = usePopover({
|
|
251
261
|
closeButtonLabel,
|
|
252
262
|
hasAutoFocus,
|
|
253
263
|
hasCloseButton,
|
|
254
|
-
|
|
264
|
+
isDismissable,
|
|
255
265
|
label,
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
onOpenChange?.(false);
|
|
259
|
-
},
|
|
266
|
+
layerId: id,
|
|
267
|
+
onHide: () => onOpenChange?.(false),
|
|
260
268
|
onShow: () => onOpenChange?.(true),
|
|
261
269
|
role
|
|
262
270
|
});
|
|
@@ -264,9 +272,6 @@ function Popover({
|
|
|
264
272
|
if (!isEnabled) {
|
|
265
273
|
return;
|
|
266
274
|
}
|
|
267
|
-
if (nowMonotonicMilliseconds() - lastHideTimeRef.current < 50) {
|
|
268
|
-
return;
|
|
269
|
-
}
|
|
270
275
|
popover.toggle();
|
|
271
276
|
}, [isEnabled, popover]);
|
|
272
277
|
const handleTriggerKeyDown = useCallback(
|
|
@@ -368,5 +373,5 @@ function Popover({
|
|
|
368
373
|
Popover.displayName = "Popover";
|
|
369
374
|
|
|
370
375
|
export { Popover, usePopover };
|
|
371
|
-
//# sourceMappingURL=chunk-
|
|
372
|
-
//# sourceMappingURL=chunk-
|
|
376
|
+
//# sourceMappingURL=chunk-S5CMLG2E.js.map
|
|
377
|
+
//# sourceMappingURL=chunk-S5CMLG2E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/useFocusTrap.ts","../src/components/Popover/usePopover.tsx","../src/components/Popover/Popover.tsx"],"names":["useRef","useCallback","useEffect","styles","jsx","jsxs"],"mappings":"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","file":"chunk-S5CMLG2E.js","sourcesContent":["import {useCallback, useEffect, useRef} from 'react';\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n\nexport interface UseFocusTrapOptions {\n isActive: boolean;\n onEscape?: () => void;\n}\n\nexport interface UseFocusTrapReturn<T extends HTMLElement = HTMLElement> {\n containerRef: React.RefObject<T | null>;\n focusFirst: () => void;\n}\n\nfunction getFocusableElements(container: HTMLElement): HTMLElement[] {\n return Array.from(\n container.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR),\n );\n}\n\nfunction focusFirstDescendant(container: HTMLElement): void {\n getFocusableElements(container)[0]?.focus();\n}\n\nfunction focusLastDescendant(container: HTMLElement): void {\n const elements = getFocusableElements(container);\n elements.at(-1)?.focus();\n}\n\nexport function useFocusTrap<T extends HTMLElement = HTMLElement>({\n isActive,\n onEscape,\n}: UseFocusTrapOptions): UseFocusTrapReturn<T> {\n const containerRef = useRef<T>(null);\n\n const focusFirst = useCallback(() => {\n if (containerRef.current != null) {\n focusFirstDescendant(containerRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!isActive) {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n onEscape?.();\n return;\n }\n\n if (event.key !== 'Tab') {\n return;\n }\n\n const focusable = getFocusableElements(container);\n if (focusable.length === 0) {\n return;\n }\n\n const first = focusable[0];\n const last = focusable.at(-1);\n if (event.shiftKey && document.activeElement === first) {\n event.preventDefault();\n focusLastDescendant(container);\n } else if (!event.shiftKey && document.activeElement === last) {\n event.preventDefault();\n focusFirstDescendant(container);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [isActive, onEscape]);\n\n return {containerRef, focusFirst};\n}\n","import {X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {VisuallyHidden} from 'internal';\nimport {useFocusTrap} from 'internal/useFocusTrap';\nimport {useLayer, type ContextRenderProps} from 'internal/useLayer';\nimport {css} from 'styled-system/css';\n\nexport type {LayerAlignment, LayerPlacement} from 'internal/useLayer';\n\nexport interface UsePopoverOptions {\n /**\n * Accessible label for the close button rendered when `hasCloseButton` is\n * `true`. Defaults to `'Close popover'`.\n */\n closeButtonLabel?: string;\n /**\n * When `true`, focus moves to the first focusable element inside the popover\n * when it opens. Defaults to `true`.\n */\n hasAutoFocus?: boolean;\n /**\n * When `true`, renders a visually hidden close button inside the popover so\n * assistive technology users can dismiss it. Defaults to `true`.\n */\n hasCloseButton?: boolean;\n /**\n * When `true`, wraps the content in a styled surface (background, border,\n * shadow). Set to `false` to render unstyled content. Defaults to `true`.\n */\n hasSurface?: boolean;\n /**\n * When `true`, the popover can be dismissed by clicking outside or pressing\n * Escape. Defaults to `true`.\n */\n isDismissable?: boolean;\n /**\n * Accessible label applied to the popover content via `aria-label`.\n */\n label?: string;\n /**\n * Id applied to the underlying layer element. Falls back to a generated id.\n * Supply this when another element needs a stable `aria-controls` reference\n * to the popover.\n */\n layerId?: string;\n /**\n * Called after the popover is hidden, including via light dismiss.\n */\n onHide?: () => void;\n /**\n * Called after the popover is shown.\n */\n onShow?: () => void;\n /**\n * ARIA role for the popover content. Defaults to `'dialog'`; use `'menu'` for\n * menu-style popovers.\n */\n role?: 'dialog' | 'menu';\n}\n\nexport interface UsePopoverReturn {\n /**\n * CSS anchor name tying the popover content to the trigger for positioning.\n */\n anchorId: string;\n /**\n * Ref attached to the popover content element.\n */\n contentRef: React.RefObject<HTMLDivElement | null>;\n /**\n * Hides the popover.\n */\n hide: () => void;\n /**\n * Id of the underlying layer element, matching `triggerProps['aria-controls']`.\n */\n id: string;\n /**\n * Whether the popover is currently open.\n */\n isOpen: boolean;\n /**\n * Renders the given children inside the popover layer.\n */\n render: (children: ReactNode, props?: ContextRenderProps) => ReactNode;\n /**\n * Shows the popover. Pass `isAutoFocusSkipped` to suppress moving focus into\n * the content for this open.\n */\n show: (options?: {isAutoFocusSkipped?: boolean}) => void;\n /**\n * Toggles the popover between open and closed.\n */\n toggle: () => void;\n /**\n * ARIA props to spread onto the trigger element.\n */\n triggerProps: {\n 'aria-controls': string;\n 'aria-expanded': boolean;\n 'aria-haspopup': 'dialog' | 'menu';\n };\n /**\n * Ref callback to attach to the trigger element for anchor positioning.\n */\n triggerRef: RefCallback<HTMLElement>;\n}\n\nconst styles = {\n surface: css({\n position: 'relative',\n bg: 'bg',\n borderRadius: 'md',\n boxShadow: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n} as const;\n\nexport function usePopover({\n onShow,\n onHide,\n isDismissable = true,\n hasAutoFocus = true,\n hasSurface = true,\n hasCloseButton = true,\n closeButtonLabel = 'Close popover',\n label,\n role = 'dialog',\n layerId,\n}: UsePopoverOptions = {}): UsePopoverReturn {\n const skipAutoFocusRef = useRef(false);\n // Guards against a light-dismiss close immediately re-opening the popover.\n // When the trigger is clicked while the popover is open, the browser's native\n // light dismiss closes it (firing `onHide`) *before* the trigger's own click\n // handler runs `toggle()` — which would otherwise re-open it. The flag is\n // cleared on the next animation frame: the browser never paints mid-gesture,\n // so it is reliably still set when the spurious click arrives, yet cleared\n // before any genuine later click.\n const isDismissingRef = useRef(false);\n\n const handleHide = useCallback(() => {\n isDismissingRef.current = true;\n requestAnimationFrame(() => {\n isDismissingRef.current = false;\n });\n onHide?.();\n }, [onHide]);\n\n const layer = useLayer({\n isDismissable,\n id: layerId,\n onShow,\n onHide: handleHide,\n });\n const {containerRef: contentRef, focusFirst} = useFocusTrap<HTMLDivElement>({\n isActive: layer.isOpen,\n onEscape: layer.hide,\n });\n\n useEffect(() => {\n if (!layer.isOpen) {\n skipAutoFocusRef.current = false;\n return;\n }\n\n if (hasAutoFocus && !skipAutoFocusRef.current) {\n requestAnimationFrame(() => focusFirst());\n }\n }, [focusFirst, hasAutoFocus, layer.isOpen]);\n\n const show = useCallback(\n (options?: {isAutoFocusSkipped?: boolean}) => {\n skipAutoFocusRef.current = options?.isAutoFocusSkipped ?? false;\n layer.show();\n },\n [layer],\n );\n\n const toggle = useCallback(() => {\n if (isDismissingRef.current) {\n return;\n }\n\n if (layer.isOpen) {\n layer.hide();\n return;\n }\n\n show();\n }, [layer, show]);\n\n const render = useCallback(\n (children: ReactNode, props?: ContextRenderProps): ReactNode => {\n return layer.render(\n <div\n aria-label={label}\n className={hasSurface ? styles.surface : undefined}\n ref={contentRef}\n role={role}>\n {children}\n {hasCloseButton ? (\n <VisuallyHidden>\n <Button\n icon={X}\n isIconOnly\n label={closeButtonLabel}\n onClick={layer.hide}\n size=\"sm\"\n variant=\"ghost\"\n />\n </VisuallyHidden>\n ) : null}\n </div>,\n {\n ...props,\n className: props?.className,\n },\n );\n },\n [\n closeButtonLabel,\n contentRef,\n hasCloseButton,\n hasSurface,\n label,\n layer,\n role,\n ],\n );\n\n const triggerProps = useMemo(\n () => ({\n 'aria-controls': layer.id,\n 'aria-expanded': layer.isOpen,\n 'aria-haspopup': role,\n }),\n [layer.id, layer.isOpen, role],\n );\n\n return useMemo(\n () => ({\n anchorId: layer.anchorId,\n contentRef,\n hide: layer.hide,\n id: layer.id,\n isOpen: layer.isOpen,\n render,\n show,\n toggle,\n triggerProps,\n triggerRef: layer.ref,\n }),\n [\n contentRef,\n layer.anchorId,\n layer.hide,\n layer.id,\n layer.isOpen,\n layer.ref,\n render,\n show,\n toggle,\n triggerProps,\n ],\n );\n}\n","import {\n useCallback,\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {usePopover} from 'components/Popover/usePopover';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {useIsomorphicLayoutEffect} from 'internal/useIsomorphicLayoutEffect';\nimport type {LayerAlignment, LayerPlacement} from 'internal/useLayer';\nimport {css} from 'styled-system/css';\nimport {token} from 'styled-system/tokens';\n\nexport interface PopoverProps {\n /**\n * Alignment along the placement axis.\n * @default 'start'\n */\n alignment?: LayerAlignment;\n /**\n * External trigger element. When provided without children, Popover attaches\n * click and ARIA behavior directly to this element.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * Trigger content. Must contain a `<button>` or `[role=\"button\"]`.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the popover content.\n */\n className?: string;\n /**\n * Label for the hidden close button.\n * @default 'Close popover'\n */\n closeButtonLabel?: string;\n /**\n * Content displayed inside the popover dialog.\n */\n content: ReactNode;\n /**\n * Test ID applied to the popover content.\n */\n 'data-testid'?: string;\n /**\n * Whether to focus the first focusable item after opening.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to include a keyboard-accessible close button.\n * @default true\n */\n hasCloseButton?: boolean;\n /**\n * Id applied to the popover content element. Falls back to a generated id.\n * Supply this when another element needs a stable `aria-controls` reference\n * to the popover.\n */\n id?: string;\n /**\n * Whether clicking outside or pressing Escape closes the popover.\n * @default true\n */\n isDismissable?: boolean;\n /**\n * Whether trigger interactions open the popover.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Controlled open state.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the popover dialog.\n */\n label?: string;\n /**\n * Callback fired when open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Inner padding of the popover content.\n * @default 0\n */\n padding?: SpacingToken;\n /**\n * Position relative to the trigger.\n * @default 'below'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the popover content element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * ARIA role for the floating content.\n * @default 'dialog'\n */\n role?: 'dialog' | 'menu';\n /**\n * Inline styles applied to the popover content.\n */\n style?: CSSProperties;\n /**\n * Width of the popover content.\n */\n width?: number | string;\n}\n\nconst BUTTON_SELECTOR = 'button, [role=\"button\"]';\n\nconst styles = {\n anchor: css({\n display: 'inline-flex',\n }),\n content: css({}),\n gap: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nfunction findTriggerButton(element: HTMLElement): HTMLElement | null {\n if (element.matches(BUTTON_SELECTOR)) {\n return element;\n }\n\n return element.querySelector<HTMLElement>(BUTTON_SELECTOR);\n}\n\n/**\n * A click-triggered floating dialog anchored to a trigger element.\n */\nexport function Popover({\n anchorRef,\n children,\n content,\n placement = 'below',\n alignment = 'start',\n isOpen,\n onOpenChange,\n isEnabled = true,\n width,\n label,\n hasCloseButton,\n isDismissable,\n closeButtonLabel,\n padding,\n ref,\n hasAutoFocus,\n className,\n style,\n role,\n id,\n 'data-testid': dataTestId,\n}: PopoverProps): React.JSX.Element {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isControlled = isOpen !== undefined;\n\n const popover = usePopover({\n closeButtonLabel,\n hasAutoFocus,\n hasCloseButton,\n isDismissable,\n label,\n layerId: id,\n onHide: () => onOpenChange?.(false),\n onShow: () => onOpenChange?.(true),\n role,\n });\n\n const handleTriggerClick = useCallback(() => {\n if (!isEnabled) {\n return;\n }\n\n popover.toggle();\n }, [isEnabled, popover]);\n\n const handleTriggerKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleTriggerClick();\n }\n },\n [handleTriggerClick],\n );\n\n // ARIA and listeners are applied imperatively because the trigger button can\n // be any element the consumer renders — nested anywhere inside `children`, or\n // an entirely external element via `anchorRef` — so Popover cannot inject\n // props through JSX. This is safe: React only reconciles attributes present\n // in its own virtual DOM, so it never clobbers these imperatively-set ones on\n // re-render. The only dynamic attribute, `aria-expanded`, stays in sync\n // because `popover.triggerProps` is memoized on the open state, so this\n // callback (and the effect below that re-runs it) re-applies the fresh value\n // on every toggle. Keep `triggerProps` in the dep arrays or that sync breaks.\n const attachTrigger = useCallback(\n (button: HTMLElement) => {\n button.setAttribute(\n 'aria-haspopup',\n popover.triggerProps['aria-haspopup'],\n );\n button.setAttribute(\n 'aria-expanded',\n String(popover.triggerProps['aria-expanded']),\n );\n button.setAttribute(\n 'aria-controls',\n popover.triggerProps['aria-controls'],\n );\n button.addEventListener('click', handleTriggerClick);\n\n const needsKeyDown =\n button.tagName !== 'BUTTON' && button.getAttribute('role') === 'button';\n if (needsKeyDown) {\n button.addEventListener('keydown', handleTriggerKeyDown);\n }\n\n return () => {\n button.removeAttribute('aria-haspopup');\n button.removeAttribute('aria-expanded');\n button.removeAttribute('aria-controls');\n button.removeEventListener('click', handleTriggerClick);\n if (needsKeyDown) {\n button.removeEventListener('keydown', handleTriggerKeyDown);\n }\n };\n },\n [handleTriggerClick, handleTriggerKeyDown, popover.triggerProps],\n );\n\n useIsomorphicLayoutEffect(() => {\n const anchor = anchorRef?.current ?? wrapperRef.current;\n if (anchor == null) {\n return;\n }\n\n popover.triggerRef(anchor);\n const trigger = findTriggerButton(anchor);\n if (trigger == null || !isEnabled) {\n return () => {\n popover.triggerRef(null);\n };\n }\n\n const detach = attachTrigger(trigger);\n return () => {\n popover.triggerRef(null);\n detach();\n };\n }, [anchorRef, attachTrigger, isEnabled, popover]);\n\n useIsomorphicLayoutEffect(() => {\n if (!isControlled) {\n return;\n }\n\n if (isOpen === true && !popover.isOpen) {\n popover.show();\n } else if (isOpen === false && popover.isOpen) {\n popover.hide();\n }\n }, [isControlled, isOpen, popover]);\n\n const widthStyle =\n width == null\n ? undefined\n : {width: typeof width === 'number' ? `${width}px` : width};\n\n const paddingStyle =\n padding != null && padding !== 0\n ? {padding: token(`spacing.${padding}`)}\n : undefined;\n\n const popoverContent = popover.render(\n <div\n className={cx(styles.content, className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...paddingStyle, ...widthStyle, ...style}}>\n {content}\n </div>,\n {\n placement,\n alignment,\n className: styles.gap[placement],\n style: {minWidth: 'anchor-size(width)'},\n },\n );\n\n if (anchorRef != null && !isReactNode(children)) {\n return <>{popoverContent}</>;\n }\n\n return (\n <>\n <div className={styles.anchor} ref={wrapperRef}>\n {children}\n </div>\n {popoverContent}\n </>\n );\n}\n\nPopover.displayName = 'Popover';\n"]}
|