silver-ui 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/{chunk-E7UOFIBW.cjs → chunk-23NN5WRP.cjs} +7 -6
- package/dist/chunk-23NN5WRP.cjs.map +1 -0
- package/dist/chunk-2PSZAWLC.js +8 -0
- package/dist/chunk-2PSZAWLC.js.map +1 -0
- package/dist/{chunk-5MDH6QZE.js → chunk-2XAA3CM5.js} +7 -10
- package/dist/chunk-2XAA3CM5.js.map +1 -0
- package/dist/{chunk-AGJ5SZCM.js → chunk-3DJ46WN4.js} +5 -5
- package/dist/{chunk-AGJ5SZCM.js.map → chunk-3DJ46WN4.js.map} +1 -1
- package/dist/{chunk-UYXQBM2B.cjs → chunk-3IBY374V.cjs} +9 -9
- package/dist/{chunk-UYXQBM2B.cjs.map → chunk-3IBY374V.cjs.map} +1 -1
- package/dist/{chunk-KIGRE6NA.js → chunk-3L6KAW7G.js} +5 -5
- package/dist/{chunk-KIGRE6NA.js.map → chunk-3L6KAW7G.js.map} +1 -1
- package/dist/{chunk-ZH3GKYUZ.js → chunk-3TXVDCF2.js} +3 -3
- package/dist/{chunk-ZH3GKYUZ.js.map → chunk-3TXVDCF2.js.map} +1 -1
- package/dist/{chunk-P4A7GWQY.cjs → chunk-3XDUR3IG.cjs} +7 -6
- package/dist/chunk-3XDUR3IG.cjs.map +1 -0
- package/dist/{chunk-Y5SXQR52.cjs → chunk-3ZFEBOXD.cjs} +28 -17
- package/dist/chunk-3ZFEBOXD.cjs.map +1 -0
- package/dist/{chunk-ZTQQ2O6O.cjs → chunk-4H35H54I.cjs} +35 -33
- package/dist/chunk-4H35H54I.cjs.map +1 -0
- package/dist/chunk-4MRORQNN.js +213 -0
- package/dist/chunk-4MRORQNN.js.map +1 -0
- package/dist/{chunk-XQU4ECJY.js → chunk-54J6FRPG.js} +16 -15
- package/dist/chunk-54J6FRPG.js.map +1 -0
- package/dist/chunk-5AYGQJOW.js +162 -0
- package/dist/chunk-5AYGQJOW.js.map +1 -0
- package/dist/{chunk-UR7RYJOU.cjs → chunk-5BCLEOFF.cjs} +19 -16
- package/dist/chunk-5BCLEOFF.cjs.map +1 -0
- package/dist/{chunk-2YC7SMVF.js → chunk-5D4LRSIV.js} +6 -5
- package/dist/chunk-5D4LRSIV.js.map +1 -0
- package/dist/{chunk-OJKZS6HG.cjs → chunk-5GNYP3PH.cjs} +256 -209
- package/dist/chunk-5GNYP3PH.cjs.map +1 -0
- package/dist/{chunk-I2X2Z7FA.cjs → chunk-5TT4PGZO.cjs} +5 -5
- package/dist/{chunk-I2X2Z7FA.cjs.map → chunk-5TT4PGZO.cjs.map} +1 -1
- package/dist/{chunk-TRK2ZZFB.cjs → chunk-65QAZWOG.cjs} +4 -3
- package/dist/chunk-65QAZWOG.cjs.map +1 -0
- package/dist/{chunk-C264Z2GQ.cjs → chunk-66LRFIYK.cjs} +8 -7
- package/dist/chunk-66LRFIYK.cjs.map +1 -0
- package/dist/{chunk-BDPE6ZKX.cjs → chunk-6MOJEGDU.cjs} +3 -3
- package/dist/{chunk-BDPE6ZKX.cjs.map → chunk-6MOJEGDU.cjs.map} +1 -1
- package/dist/{chunk-BA2VUDQS.js → chunk-6NTDPZWP.js} +3 -3
- package/dist/{chunk-BA2VUDQS.js.map → chunk-6NTDPZWP.js.map} +1 -1
- package/dist/{chunk-35MFOORC.js → chunk-6USJ4LJJ.js} +4 -4
- package/dist/{chunk-35MFOORC.js.map → chunk-6USJ4LJJ.js.map} +1 -1
- package/dist/{chunk-JAHKLROD.cjs → chunk-6W3L6IJB.cjs} +13 -12
- package/dist/chunk-6W3L6IJB.cjs.map +1 -0
- package/dist/{chunk-7P3VY5JZ.js → chunk-75CPTIET.js} +8 -7
- package/dist/chunk-75CPTIET.js.map +1 -0
- package/dist/{chunk-J2FCNWYM.js → chunk-76B2VLID.js} +82 -88
- package/dist/chunk-76B2VLID.js.map +1 -0
- package/dist/{chunk-E4KM3RQ2.js → chunk-7MN4JDP7.js} +31 -16
- package/dist/chunk-7MN4JDP7.js.map +1 -0
- package/dist/{chunk-ZNPTARIS.cjs → chunk-7PNLMDAR.cjs} +8 -8
- package/dist/{chunk-ZNPTARIS.cjs.map → chunk-7PNLMDAR.cjs.map} +1 -1
- package/dist/{chunk-4T62TLOD.cjs → chunk-7U7RP6N2.cjs} +8 -8
- package/dist/{chunk-4T62TLOD.cjs.map → chunk-7U7RP6N2.cjs.map} +1 -1
- package/dist/{chunk-XM3AZXOA.js → chunk-AJTJD5C6.js} +5 -5
- package/dist/{chunk-XM3AZXOA.js.map → chunk-AJTJD5C6.js.map} +1 -1
- package/dist/chunk-AMFFE5UJ.js +216 -0
- package/dist/chunk-AMFFE5UJ.js.map +1 -0
- package/dist/{chunk-K6CQ45C2.js → chunk-ASJ5CBCR.js} +7 -6
- package/dist/chunk-ASJ5CBCR.js.map +1 -0
- package/dist/{chunk-67VLK263.js → chunk-BA4A7C7U.js} +12 -9
- package/dist/chunk-BA4A7C7U.js.map +1 -0
- package/dist/{chunk-KFEXS6OK.cjs → chunk-BAPCHFNX.cjs} +10 -9
- package/dist/chunk-BAPCHFNX.cjs.map +1 -0
- package/dist/{chunk-YBPG5RPR.cjs → chunk-BRB52QFV.cjs} +14 -54
- package/dist/chunk-BRB52QFV.cjs.map +1 -0
- package/dist/chunk-BS55BG2U.cjs +164 -0
- package/dist/chunk-BS55BG2U.cjs.map +1 -0
- package/dist/{chunk-PLXUM7U6.cjs → chunk-CEU7BIL6.cjs} +11 -11
- package/dist/{chunk-PLXUM7U6.cjs.map → chunk-CEU7BIL6.cjs.map} +1 -1
- package/dist/{chunk-AADUJ6CN.js → chunk-CN2HJ7CP.js} +212 -183
- package/dist/chunk-CN2HJ7CP.js.map +1 -0
- package/dist/{chunk-PXVVTPRJ.js → chunk-CRQXHA7N.js} +9 -8
- package/dist/chunk-CRQXHA7N.js.map +1 -0
- package/dist/{chunk-5BLNJVIA.js → chunk-CZC2K5GJ.js} +10 -9
- package/dist/chunk-CZC2K5GJ.js.map +1 -0
- package/dist/{chunk-WA4VZ363.cjs → chunk-CZM5FAWL.cjs} +11 -10
- package/dist/chunk-CZM5FAWL.cjs.map +1 -0
- package/dist/{chunk-AH4AMQEO.js → chunk-D2DOHX4W.js} +253 -206
- package/dist/chunk-D2DOHX4W.js.map +1 -0
- package/dist/{chunk-WNGBWUWZ.cjs → chunk-D3SSMY73.cjs} +6 -6
- package/dist/{chunk-WNGBWUWZ.cjs.map → chunk-D3SSMY73.cjs.map} +1 -1
- package/dist/{chunk-GI5MVVIX.js → chunk-DIIE44GO.js} +14 -13
- package/dist/chunk-DIIE44GO.js.map +1 -0
- package/dist/{chunk-S54CKWKV.js → chunk-DSB4Q3AS.js} +3 -3
- package/dist/{chunk-S54CKWKV.js.map → chunk-DSB4Q3AS.js.map} +1 -1
- package/dist/{chunk-AMG3S252.js → chunk-EBQ3A4XO.js} +9 -8
- package/dist/chunk-EBQ3A4XO.js.map +1 -0
- package/dist/{chunk-PXTE3XRD.js → chunk-EC2ALHNJ.js} +73 -67
- package/dist/chunk-EC2ALHNJ.js.map +1 -0
- package/dist/{chunk-WWB4NSEY.cjs → chunk-EE2O457Z.cjs} +7 -7
- package/dist/{chunk-WWB4NSEY.cjs.map → chunk-EE2O457Z.cjs.map} +1 -1
- package/dist/{chunk-MQQ4GSUG.cjs → chunk-EVKFA5FA.cjs} +27 -26
- package/dist/chunk-EVKFA5FA.cjs.map +1 -0
- package/dist/{chunk-ZXPKFGRB.cjs → chunk-F3NATTQG.cjs} +81 -75
- package/dist/chunk-F3NATTQG.cjs.map +1 -0
- package/dist/{chunk-OJCJPYXE.js → chunk-F3ZNRO6W.js} +8 -7
- package/dist/chunk-F3ZNRO6W.js.map +1 -0
- package/dist/{chunk-OHKL4DOV.js → chunk-FZCBTFHY.js} +7 -6
- package/dist/chunk-FZCBTFHY.js.map +1 -0
- package/dist/{chunk-2D6SGEPH.cjs → chunk-GLJWAY4A.cjs} +15 -10
- package/dist/chunk-GLJWAY4A.cjs.map +1 -0
- package/dist/{chunk-6XESVFC3.js → chunk-GXRH5XQY.js} +89 -74
- package/dist/chunk-GXRH5XQY.js.map +1 -0
- package/dist/{chunk-VYFMYXU4.js → chunk-HNROO7CR.js} +230 -170
- package/dist/chunk-HNROO7CR.js.map +1 -0
- package/dist/{chunk-UJODHP7E.cjs → chunk-HPVXP3DG.cjs} +12 -11
- package/dist/chunk-HPVXP3DG.cjs.map +1 -0
- package/dist/chunk-HVUYVPQL.cjs +193 -0
- package/dist/chunk-HVUYVPQL.cjs.map +1 -0
- package/dist/{chunk-CFOGSQCG.cjs → chunk-I7KILUVL.cjs} +13 -12
- package/dist/chunk-I7KILUVL.cjs.map +1 -0
- package/dist/{chunk-UY3MYNI6.js → chunk-IHM2M74J.js} +5 -4
- package/dist/chunk-IHM2M74J.js.map +1 -0
- package/dist/{chunk-4M2KCZMO.js → chunk-IRSJHEYI.js} +5 -4
- package/dist/chunk-IRSJHEYI.js.map +1 -0
- package/dist/{chunk-BFWKL5MJ.cjs → chunk-JEIQ5GDK.cjs} +25 -24
- package/dist/chunk-JEIQ5GDK.cjs.map +1 -0
- package/dist/{chunk-YXYD5HKL.cjs → chunk-KFDHP4WP.cjs} +4 -4
- package/dist/{chunk-YXYD5HKL.cjs.map → chunk-KFDHP4WP.cjs.map} +1 -1
- package/dist/{chunk-6ADWXOZ2.cjs → chunk-KRZ57O2J.cjs} +3 -3
- package/dist/{chunk-6ADWXOZ2.cjs.map → chunk-KRZ57O2J.cjs.map} +1 -1
- package/dist/{chunk-W3QVSVL7.cjs → chunk-L5YTMHDI.cjs} +11 -10
- package/dist/chunk-L5YTMHDI.cjs.map +1 -0
- package/dist/{chunk-PNYF6NS4.cjs → chunk-L7BOLGF2.cjs} +8 -7
- package/dist/chunk-L7BOLGF2.cjs.map +1 -0
- package/dist/{chunk-WATCCAQU.js → chunk-LHP47U6H.js} +4 -3
- package/dist/chunk-LHP47U6H.js.map +1 -0
- package/dist/{chunk-YGYA4BYN.js → chunk-LUBVZVY3.js} +17 -16
- package/dist/chunk-LUBVZVY3.js.map +1 -0
- package/dist/{chunk-ATDW2VII.cjs → chunk-LX64ENLC.cjs} +66 -51
- package/dist/chunk-LX64ENLC.cjs.map +1 -0
- package/dist/{chunk-25FU5AVR.cjs → chunk-M3BF3BBJ.cjs} +13 -12
- package/dist/chunk-M3BF3BBJ.cjs.map +1 -0
- package/dist/chunk-M3IKL2VG.js +393 -0
- package/dist/chunk-M3IKL2VG.js.map +1 -0
- package/dist/{chunk-SFT5LCQP.cjs → chunk-M3RNFDA2.cjs} +14 -13
- package/dist/chunk-M3RNFDA2.cjs.map +1 -0
- package/dist/{chunk-CZNN2GOC.js → chunk-MGVEX3RS.js} +6 -6
- package/dist/{chunk-CZNN2GOC.js.map → chunk-MGVEX3RS.js.map} +1 -1
- package/dist/chunk-MSNRGNVY.cjs +216 -0
- package/dist/chunk-MSNRGNVY.cjs.map +1 -0
- package/dist/{chunk-IXJOPMJX.cjs → chunk-MUUPZEZ5.cjs} +7 -6
- package/dist/chunk-MUUPZEZ5.cjs.map +1 -0
- package/dist/{chunk-XVRQSTUF.js → chunk-N2TNBDQI.js} +4 -3
- package/dist/chunk-N2TNBDQI.js.map +1 -0
- package/dist/{chunk-3DW2N6UN.js → chunk-NH7KH7QP.js} +3 -3
- package/dist/{chunk-3DW2N6UN.js.map → chunk-NH7KH7QP.js.map} +1 -1
- package/dist/{chunk-76FHSISK.cjs → chunk-NHXJVSZZ.cjs} +7 -10
- package/dist/chunk-NHXJVSZZ.cjs.map +1 -0
- package/dist/{chunk-4I6VIR44.cjs → chunk-NYQPIBOD.cjs} +12 -11
- package/dist/chunk-NYQPIBOD.cjs.map +1 -0
- package/dist/{chunk-YJJOKZN2.js → chunk-O4RTJESR.js} +3 -3
- package/dist/{chunk-YJJOKZN2.js.map → chunk-O4RTJESR.js.map} +1 -1
- package/dist/{chunk-BERQEJYB.js → chunk-O5A47TA2.js} +5 -4
- package/dist/chunk-O5A47TA2.js.map +1 -0
- package/dist/{chunk-DSNJDFO3.cjs → chunk-OSBVDRVD.cjs} +17 -16
- package/dist/chunk-OSBVDRVD.cjs.map +1 -0
- package/dist/{chunk-32G54PL3.cjs → chunk-OULO3YDQ.cjs} +6 -5
- package/dist/chunk-OULO3YDQ.cjs.map +1 -0
- package/dist/{chunk-PXIWITSS.js → chunk-OWBNRALR.js} +5 -5
- package/dist/{chunk-PXIWITSS.js.map → chunk-OWBNRALR.js.map} +1 -1
- package/dist/{chunk-GEGYC7CE.js → chunk-P6RAOXJA.js} +5 -5
- package/dist/chunk-P6RAOXJA.js.map +1 -0
- package/dist/{chunk-3PDUOYAT.cjs → chunk-PJMV2HTO.cjs} +27 -29
- package/dist/chunk-PJMV2HTO.cjs.map +1 -0
- package/dist/{chunk-3WMLV4VP.cjs → chunk-PL6J55JB.cjs} +6 -6
- package/dist/chunk-PL6J55JB.cjs.map +1 -0
- package/dist/chunk-PQRIV5XU.js +242 -0
- package/dist/chunk-PQRIV5XU.js.map +1 -0
- package/dist/chunk-PZ63ZCEO.cjs +470 -0
- package/dist/chunk-PZ63ZCEO.cjs.map +1 -0
- package/dist/{chunk-EUN5TCB2.js → chunk-Q3OA23V5.js} +17 -19
- package/dist/chunk-Q3OA23V5.js.map +1 -0
- package/dist/chunk-QAO6QMNQ.cjs +10 -0
- package/dist/chunk-QAO6QMNQ.cjs.map +1 -0
- package/dist/{chunk-X5ZQRMEM.cjs → chunk-QCT4BPB6.cjs} +19 -19
- package/dist/{chunk-X5ZQRMEM.cjs.map → chunk-QCT4BPB6.cjs.map} +1 -1
- package/dist/{chunk-JMNH45Q3.cjs → chunk-QEFE4QBL.cjs} +81 -87
- package/dist/chunk-QEFE4QBL.cjs.map +1 -0
- package/dist/{chunk-AXT4VA5N.cjs → chunk-QEX7V7TI.cjs} +10 -9
- package/dist/chunk-QEX7V7TI.cjs.map +1 -0
- package/dist/chunk-QGHFUOUB.cjs +112 -0
- package/dist/chunk-QGHFUOUB.cjs.map +1 -0
- package/dist/{chunk-ITDQSF2O.cjs → chunk-QL3YSC3H.cjs} +16 -15
- package/dist/chunk-QL3YSC3H.cjs.map +1 -0
- package/dist/{chunk-PTJ5YZFY.cjs → chunk-QRKRVCA3.cjs} +238 -178
- package/dist/chunk-QRKRVCA3.cjs.map +1 -0
- package/dist/{chunk-S4GLMGFI.js → chunk-RINP34ZG.js} +5 -4
- package/dist/chunk-RINP34ZG.js.map +1 -0
- package/dist/{chunk-HLN3JQYD.js → chunk-RVENUWRD.js} +15 -55
- package/dist/chunk-RVENUWRD.js.map +1 -0
- package/dist/{chunk-GTPRZCNZ.js → chunk-S4B2D427.js} +3 -3
- package/dist/{chunk-GTPRZCNZ.js.map → chunk-S4B2D427.js.map} +1 -1
- package/dist/{chunk-5Q5TJUHI.js → chunk-S4LVSSJI.js} +11 -6
- package/dist/chunk-S4LVSSJI.js.map +1 -0
- package/dist/{chunk-L6JT244G.cjs → chunk-SSOAZZNR.cjs} +4 -3
- package/dist/chunk-SSOAZZNR.cjs.map +1 -0
- package/dist/{chunk-BYBVI7UN.js → chunk-TF7IWMV2.js} +9 -8
- package/dist/chunk-TF7IWMV2.js.map +1 -0
- package/dist/{chunk-FQSOUCZS.cjs → chunk-U2U4FMFM.cjs} +8 -8
- package/dist/{chunk-FQSOUCZS.cjs.map → chunk-U2U4FMFM.cjs.map} +1 -1
- package/dist/chunk-U5GTHA44.cjs +395 -0
- package/dist/chunk-U5GTHA44.cjs.map +1 -0
- package/dist/{chunk-OMHOVHPX.js → chunk-UKDGDMWN.js} +4 -4
- package/dist/{chunk-OMHOVHPX.js.map → chunk-UKDGDMWN.js.map} +1 -1
- package/dist/chunk-UN35QV25.js +110 -0
- package/dist/chunk-UN35QV25.js.map +1 -0
- package/dist/{chunk-RKMW3ZOK.js → chunk-UPQHFW47.js} +4 -4
- package/dist/{chunk-RKMW3ZOK.js.map → chunk-UPQHFW47.js.map} +1 -1
- package/dist/{chunk-ACQMLJ4I.cjs → chunk-UXDXE7Z6.cjs} +39 -38
- package/dist/chunk-UXDXE7Z6.cjs.map +1 -0
- package/dist/{chunk-IG4UJZ6B.js → chunk-UYBGXFYX.js} +20 -19
- package/dist/chunk-UYBGXFYX.js.map +1 -0
- package/dist/{chunk-ZW2ATXTL.js → chunk-VAK4JQYL.js} +7 -6
- package/dist/chunk-VAK4JQYL.js.map +1 -0
- package/dist/{chunk-7FY26X2V.js → chunk-VEUZ5DZR.js} +6 -5
- package/dist/chunk-VEUZ5DZR.js.map +1 -0
- package/dist/{chunk-JVLE7PCJ.cjs → chunk-VJBBMBRT.cjs} +7 -7
- package/dist/{chunk-JVLE7PCJ.cjs.map → chunk-VJBBMBRT.cjs.map} +1 -1
- package/dist/chunk-VVO7GIHG.cjs +220 -0
- package/dist/chunk-VVO7GIHG.cjs.map +1 -0
- package/dist/{chunk-MAL4D4LR.cjs → chunk-W3KMDQKP.cjs} +8 -7
- package/dist/chunk-W3KMDQKP.cjs.map +1 -0
- package/dist/{chunk-MACIT6C6.js → chunk-WO6FS4DV.js} +5 -4
- package/dist/chunk-WO6FS4DV.js.map +1 -0
- package/dist/chunk-WYE3VOFK.cjs +244 -0
- package/dist/chunk-WYE3VOFK.cjs.map +1 -0
- package/dist/{chunk-BJD32VBQ.cjs → chunk-X2GRBPCJ.cjs} +89 -74
- package/dist/chunk-X2GRBPCJ.cjs.map +1 -0
- package/dist/{chunk-4YQSKCVF.cjs → chunk-XADTIY7J.cjs} +4 -4
- package/dist/{chunk-4YQSKCVF.cjs.map → chunk-XADTIY7J.cjs.map} +1 -1
- package/dist/{chunk-H2SGYAUO.js → chunk-XUJZTD4E.js} +9 -8
- package/dist/chunk-XUJZTD4E.js.map +1 -0
- package/dist/{chunk-ZNZ67KFM.js → chunk-Y4FH67QZ.js} +8 -7
- package/dist/chunk-Y4FH67QZ.js.map +1 -0
- package/dist/{chunk-SEAVOF6B.js → chunk-YLGAJD6Q.js} +8 -6
- package/dist/chunk-YLGAJD6Q.js.map +1 -0
- package/dist/chunk-YNTPHZFJ.js +191 -0
- package/dist/chunk-YNTPHZFJ.js.map +1 -0
- package/dist/{chunk-4Z62KDKI.js → chunk-YSTESYUB.js} +23 -12
- package/dist/chunk-YSTESYUB.js.map +1 -0
- package/dist/{chunk-K77D7H4V.cjs → chunk-ZD3NPHZ7.cjs} +5 -4
- package/dist/chunk-ZD3NPHZ7.cjs.map +1 -0
- package/dist/{chunk-UMGW7WJI.cjs → chunk-ZLATP3P5.cjs} +10 -8
- package/dist/chunk-ZLATP3P5.cjs.map +1 -0
- package/dist/{chunk-VSEKSDTK.js → chunk-ZVH3BLYO.js} +8 -7
- package/dist/chunk-ZVH3BLYO.js.map +1 -0
- package/dist/{chunk-ISYUZ5FS.js → chunk-ZWULWVN3.js} +30 -28
- package/dist/chunk-ZWULWVN3.js.map +1 -0
- package/dist/components/Accordion/AccordionItem.recipe.d.ts +1 -1
- package/dist/components/Accordion/index.cjs +5 -5
- package/dist/components/Accordion/index.js +2 -2
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/Alert.recipe.d.ts +1 -1
- package/dist/components/Alert/index.cjs +8 -7
- package/dist/components/Alert/index.js +7 -6
- package/dist/components/AlertDialog/index.cjs +10 -9
- package/dist/components/AlertDialog/index.js +8 -7
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +16 -15
- package/dist/components/AppShell/index.js +13 -12
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts +6 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts +42 -0
- package/dist/components/AutocompleteInput/AutocompleteInput.recipe.d.ts.map +1 -0
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts +27 -4
- package/dist/components/AutocompleteInput/AutocompleteInputItem.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts +22 -2
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +14 -13
- 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 +10 -9
- package/dist/components/AutocompleteInput/types.d.ts +39 -3
- package/dist/components/AutocompleteInput/types.d.ts.map +1 -1
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/components/Avatar/index.cjs +6 -5
- package/dist/components/Avatar/index.js +3 -2
- package/dist/components/AvatarGroup/index.cjs +6 -5
- package/dist/components/AvatarGroup/index.js +4 -3
- package/dist/components/Blockquote/Blockquote.d.ts.map +1 -1
- package/dist/components/Blockquote/index.cjs +3 -2
- package/dist/components/Blockquote/index.js +2 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts +22 -0
- package/dist/components/Breadcrumbs/BreadcrumbItem.recipe.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts +4 -0
- package/dist/components/Breadcrumbs/Breadcrumbs.recipe.d.ts.map +1 -0
- package/dist/components/Breadcrumbs/index.cjs +6 -4
- package/dist/components/Breadcrumbs/index.js +3 -1
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/Button.recipe.d.ts +80 -62
- package/dist/components/Button/Button.recipe.d.ts.map +1 -1
- package/dist/components/Button/index.cjs +7 -6
- package/dist/components/Button/index.js +6 -5
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/Calendar.recipe.d.ts +86 -0
- package/dist/components/Calendar/Calendar.recipe.d.ts.map +1 -0
- package/dist/components/Calendar/index.cjs +8 -7
- package/dist/components/Calendar/index.js +7 -6
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts +39 -0
- package/dist/components/CheckboxInput/CheckboxInput.recipe.d.ts.map +1 -0
- package/dist/components/CheckboxInput/index.cjs +7 -6
- package/dist/components/CheckboxInput/index.js +6 -5
- package/dist/components/CodeBlock/index.cjs +9 -8
- package/dist/components/CodeBlock/index.js +8 -7
- package/dist/components/ContextMenu/index.cjs +13 -12
- package/dist/components/ContextMenu/index.js +11 -10
- package/dist/components/DateInput/DateInput.d.ts +5 -1
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +11 -10
- package/dist/components/DateInput/index.js +10 -9
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +11 -10
- package/dist/components/DateRangeInput/index.js +10 -9
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +13 -12
- package/dist/components/DateTimeInput/index.js +12 -11
- package/dist/components/Divider/Divider.d.ts.map +1 -1
- package/dist/components/Divider/index.cjs +3 -2
- package/dist/components/Divider/index.js +2 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.cjs +14 -13
- package/dist/components/DropdownMenu/index.js +10 -9
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.recipe.d.ts +13 -4
- package/dist/components/EmptyState/EmptyState.recipe.d.ts.map +1 -1
- package/dist/components/EmptyState/index.cjs +5 -3
- package/dist/components/EmptyState/index.js +4 -2
- package/dist/components/Field/Field.d.ts.map +1 -1
- package/dist/components/Field/index.cjs +6 -5
- package/dist/components/Field/index.js +4 -3
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/index.cjs +9 -8
- package/dist/components/FileInput/index.js +8 -7
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +9 -8
- package/dist/components/InputGroup/index.js +5 -4
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/index.cjs +4 -3
- package/dist/components/Item/index.js +3 -2
- package/dist/components/Layout/Layout.d.ts.map +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/index.cjs +12 -11
- package/dist/components/Layout/index.js +7 -6
- package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/components/Lightbox/index.cjs +9 -8
- package/dist/components/Lightbox/index.js +7 -6
- package/dist/components/Link/index.cjs +1 -0
- package/dist/components/Link/index.js +1 -0
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/List.recipe.d.ts +42 -0
- package/dist/components/List/List.recipe.d.ts.map +1 -0
- package/dist/components/List/ListItem.d.ts.map +1 -1
- package/dist/components/List/index.cjs +7 -5
- package/dist/components/List/index.js +5 -3
- package/dist/components/MetadataList/index.cjs +4 -4
- package/dist/components/MetadataList/index.js +2 -2
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.cjs +11 -10
- package/dist/components/MultiSelect/index.js +10 -9
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +10 -9
- package/dist/components/NumberInput/index.js +9 -8
- package/dist/components/Pagination/index.cjs +8 -7
- package/dist/components/Pagination/index.js +7 -6
- package/dist/components/PasswordInput/index.cjs +11 -10
- package/dist/components/PasswordInput/index.js +10 -9
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +9 -8
- package/dist/components/Popover/index.js +7 -6
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/Progress.recipe.d.ts +34 -16
- package/dist/components/Progress/Progress.recipe.d.ts.map +1 -1
- package/dist/components/Progress/index.cjs +4 -2
- package/dist/components/Progress/index.js +3 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.cjs +8 -7
- package/dist/components/RadioGroup/index.js +6 -5
- package/dist/components/Rating/index.cjs +3 -3
- package/dist/components/Rating/index.js +2 -2
- package/dist/components/Schedule/index.cjs +22 -21
- package/dist/components/Schedule/index.js +11 -10
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +30 -29
- package/dist/components/SearchFilterInput/index.js +22 -21
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/Select.recipe.d.ts +25 -0
- package/dist/components/Select/Select.recipe.d.ts.map +1 -0
- package/dist/components/Select/SelectOption.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +13 -12
- package/dist/components/Select/index.js +11 -10
- 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/SideNavSection.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +15 -14
- package/dist/components/SideNav/index.js +9 -8
- package/dist/components/Slider/index.cjs +6 -5
- package/dist/components/Slider/index.js +5 -4
- package/dist/components/Spinner/index.cjs +3 -3
- package/dist/components/Spinner/index.js +2 -2
- package/dist/components/SplitButton/index.cjs +12 -11
- package/dist/components/SplitButton/index.js +11 -10
- package/dist/components/Stack/HStack.d.ts +1 -1
- package/dist/components/Stack/HStack.d.ts.map +1 -1
- package/dist/components/Stack/VStack.d.ts +1 -1
- package/dist/components/Stack/VStack.d.ts.map +1 -1
- package/dist/components/Stack/index.cjs +3 -3
- package/dist/components/Stack/index.d.ts +1 -1
- package/dist/components/Stack/index.d.ts.map +1 -1
- package/dist/components/Stack/index.js +1 -1
- package/dist/components/Stack/{Stack.d.ts → internal/Stack.d.ts} +13 -3
- package/dist/components/Stack/internal/Stack.d.ts.map +1 -0
- package/dist/components/Stack/{Stack.recipe.d.ts → internal/Stack.recipe.d.ts} +1 -1
- package/dist/components/Stack/internal/Stack.recipe.d.ts.map +1 -0
- package/dist/components/Stepper/Step.d.ts.map +1 -1
- package/dist/components/Stepper/index.cjs +6 -5
- package/dist/components/Stepper/index.js +3 -2
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/index.cjs +6 -5
- package/dist/components/Switch/index.js +5 -4
- package/dist/components/Table/BaseTable.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +53 -52
- package/dist/components/Table/index.js +25 -24
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +13 -12
- package/dist/components/Tabs/index.js +8 -7
- package/dist/components/Tag/Tag.d.ts +2 -2
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/Tag.recipe.d.ts +103 -68
- package/dist/components/Tag/Tag.recipe.d.ts.map +1 -1
- package/dist/components/Tag/index.cjs +4 -2
- package/dist/components/Tag/index.js +3 -1
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/index.cjs +12 -11
- package/dist/components/TagsInput/index.js +11 -10
- 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 +3 -3
- package/dist/components/Text/index.js +1 -1
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +7 -6
- package/dist/components/TextArea/index.js +6 -5
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +10 -9
- package/dist/components/TextInput/index.js +9 -8
- package/dist/components/Thumbnail/Thumbnail.recipe.d.ts +1 -1
- package/dist/components/Thumbnail/index.cjs +8 -7
- package/dist/components/Thumbnail/index.js +7 -6
- package/dist/components/TimeInput/TimeInput.d.ts +10 -2
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +9 -8
- package/dist/components/TimeInput/index.js +8 -7
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/Toast.recipe.d.ts +39 -0
- package/dist/components/Toast/Toast.recipe.d.ts.map +1 -0
- package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/components/Toast/index.cjs +10 -9
- package/dist/components/Toast/index.js +7 -6
- package/dist/components/ToggleButton/index.cjs +7 -7
- package/dist/components/ToggleButton/index.js +5 -5
- package/dist/components/TopNav/TopNav.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +15 -14
- package/dist/components/TopNav/index.js +9 -8
- package/dist/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/index.cjs +3 -2
- package/dist/components/TreeView/index.js +2 -1
- package/dist/index.cjs +218 -217
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +64 -63
- package/dist/index.js.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/OverflowList.d.ts.map +1 -1
- package/dist/internal/index.d.ts +1 -0
- package/dist/internal/index.d.ts.map +1 -1
- package/dist/internal/isReactNode.d.ts +3 -0
- package/dist/internal/isReactNode.d.ts.map +1 -0
- package/dist/internal/useSelectListbox.d.ts +2 -2
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +1 -1
- package/dist/chunk-25FU5AVR.cjs.map +0 -1
- package/dist/chunk-2D6SGEPH.cjs.map +0 -1
- package/dist/chunk-2TGDDZG6.cjs +0 -441
- package/dist/chunk-2TGDDZG6.cjs.map +0 -1
- package/dist/chunk-2YC7SMVF.js.map +0 -1
- package/dist/chunk-32G54PL3.cjs.map +0 -1
- package/dist/chunk-3PDUOYAT.cjs.map +0 -1
- package/dist/chunk-3WMLV4VP.cjs.map +0 -1
- package/dist/chunk-4I6VIR44.cjs.map +0 -1
- package/dist/chunk-4M2KCZMO.js.map +0 -1
- package/dist/chunk-4YESF35X.cjs +0 -211
- package/dist/chunk-4YESF35X.cjs.map +0 -1
- package/dist/chunk-4Z62KDKI.js.map +0 -1
- package/dist/chunk-5BLNJVIA.js.map +0 -1
- package/dist/chunk-5MDH6QZE.js.map +0 -1
- package/dist/chunk-5Q5TJUHI.js.map +0 -1
- package/dist/chunk-67VLK263.js.map +0 -1
- package/dist/chunk-6D3FA247.js +0 -126
- package/dist/chunk-6D3FA247.js.map +0 -1
- package/dist/chunk-6XESVFC3.js.map +0 -1
- package/dist/chunk-76FHSISK.cjs.map +0 -1
- package/dist/chunk-77RGTGRM.cjs +0 -128
- package/dist/chunk-77RGTGRM.cjs.map +0 -1
- package/dist/chunk-7FY26X2V.js.map +0 -1
- package/dist/chunk-7P3VY5JZ.js.map +0 -1
- package/dist/chunk-AADUJ6CN.js.map +0 -1
- package/dist/chunk-ACQMLJ4I.cjs.map +0 -1
- package/dist/chunk-AH4AMQEO.js.map +0 -1
- package/dist/chunk-AMG3S252.js.map +0 -1
- package/dist/chunk-ATDW2VII.cjs.map +0 -1
- package/dist/chunk-AXT4VA5N.cjs.map +0 -1
- package/dist/chunk-BERQEJYB.js.map +0 -1
- package/dist/chunk-BFWKL5MJ.cjs.map +0 -1
- package/dist/chunk-BJD32VBQ.cjs.map +0 -1
- package/dist/chunk-BYBVI7UN.js.map +0 -1
- package/dist/chunk-C264Z2GQ.cjs.map +0 -1
- package/dist/chunk-CFOGSQCG.cjs.map +0 -1
- package/dist/chunk-DSNJDFO3.cjs.map +0 -1
- package/dist/chunk-E2JZGYKU.cjs +0 -181
- package/dist/chunk-E2JZGYKU.cjs.map +0 -1
- package/dist/chunk-E4KM3RQ2.js.map +0 -1
- package/dist/chunk-E7UOFIBW.cjs.map +0 -1
- package/dist/chunk-EFO5NDBJ.js +0 -191
- package/dist/chunk-EFO5NDBJ.js.map +0 -1
- package/dist/chunk-EUN5TCB2.js.map +0 -1
- package/dist/chunk-GEGYC7CE.js.map +0 -1
- package/dist/chunk-GI5MVVIX.js.map +0 -1
- package/dist/chunk-H2SGYAUO.js.map +0 -1
- package/dist/chunk-HLN3JQYD.js.map +0 -1
- package/dist/chunk-IG4UJZ6B.js.map +0 -1
- package/dist/chunk-ISYUZ5FS.js.map +0 -1
- package/dist/chunk-ITDQSF2O.cjs.map +0 -1
- package/dist/chunk-IXJOPMJX.cjs.map +0 -1
- package/dist/chunk-J2FCNWYM.js.map +0 -1
- package/dist/chunk-JAHKLROD.cjs.map +0 -1
- package/dist/chunk-JMNH45Q3.cjs.map +0 -1
- package/dist/chunk-K6CQ45C2.js.map +0 -1
- package/dist/chunk-K77D7H4V.cjs.map +0 -1
- package/dist/chunk-KFEXS6OK.cjs.map +0 -1
- package/dist/chunk-L6JT244G.cjs.map +0 -1
- package/dist/chunk-L6WUK7O4.js +0 -207
- package/dist/chunk-L6WUK7O4.js.map +0 -1
- package/dist/chunk-LJLCGQRV.js +0 -99
- package/dist/chunk-LJLCGQRV.js.map +0 -1
- package/dist/chunk-MACIT6C6.js.map +0 -1
- package/dist/chunk-MAL4D4LR.cjs.map +0 -1
- package/dist/chunk-MMST4VXH.cjs +0 -392
- package/dist/chunk-MMST4VXH.cjs.map +0 -1
- package/dist/chunk-MQQ4GSUG.cjs.map +0 -1
- package/dist/chunk-OHKL4DOV.js.map +0 -1
- package/dist/chunk-OJCJPYXE.js.map +0 -1
- package/dist/chunk-OJKZS6HG.cjs.map +0 -1
- package/dist/chunk-P4A7GWQY.cjs.map +0 -1
- package/dist/chunk-P4TOIB2A.cjs +0 -101
- package/dist/chunk-P4TOIB2A.cjs.map +0 -1
- package/dist/chunk-PJXJOI73.js +0 -232
- package/dist/chunk-PJXJOI73.js.map +0 -1
- package/dist/chunk-PNYF6NS4.cjs.map +0 -1
- package/dist/chunk-PTJ5YZFY.cjs.map +0 -1
- package/dist/chunk-PXTE3XRD.js.map +0 -1
- package/dist/chunk-PXVVTPRJ.js.map +0 -1
- package/dist/chunk-S4GLMGFI.js.map +0 -1
- package/dist/chunk-SEAVOF6B.js.map +0 -1
- package/dist/chunk-SFT5LCQP.cjs.map +0 -1
- package/dist/chunk-SSOHJEHS.js +0 -390
- package/dist/chunk-SSOHJEHS.js.map +0 -1
- package/dist/chunk-TO3ZPSYO.cjs +0 -234
- package/dist/chunk-TO3ZPSYO.cjs.map +0 -1
- package/dist/chunk-TRK2ZZFB.cjs.map +0 -1
- package/dist/chunk-UJODHP7E.cjs.map +0 -1
- package/dist/chunk-UMGW7WJI.cjs.map +0 -1
- package/dist/chunk-UR7RYJOU.cjs.map +0 -1
- package/dist/chunk-UX2Z7LRM.cjs +0 -194
- package/dist/chunk-UX2Z7LRM.cjs.map +0 -1
- package/dist/chunk-UY3MYNI6.js.map +0 -1
- package/dist/chunk-VSEKSDTK.js.map +0 -1
- package/dist/chunk-VYFMYXU4.js.map +0 -1
- package/dist/chunk-W3QVSVL7.cjs.map +0 -1
- package/dist/chunk-WA4VZ363.cjs.map +0 -1
- package/dist/chunk-WATCCAQU.js.map +0 -1
- package/dist/chunk-XQU4ECJY.js.map +0 -1
- package/dist/chunk-XVRQSTUF.js.map +0 -1
- package/dist/chunk-Y5SXQR52.cjs.map +0 -1
- package/dist/chunk-YBPG5RPR.cjs.map +0 -1
- package/dist/chunk-YGYA4BYN.js.map +0 -1
- package/dist/chunk-ZC6GLBEL.js +0 -179
- package/dist/chunk-ZC6GLBEL.js.map +0 -1
- package/dist/chunk-ZNZ67KFM.js.map +0 -1
- package/dist/chunk-ZTQQ2O6O.cjs.map +0 -1
- package/dist/chunk-ZW2ATXTL.js.map +0 -1
- package/dist/chunk-ZXPKFGRB.cjs.map +0 -1
- package/dist/components/Stack/Stack.d.ts.map +0 -1
- package/dist/components/Stack/Stack.recipe.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/MetadataList/MetadataListContext.ts","../src/components/MetadataList/MetadataList.tsx","../src/components/MetadataList/MetadataListItem.tsx"],"names":["createContext","use","css","useId","useMemo","jsx","jsxs","cx","Heading","styles","Fragment","Icon"],"mappings":";;;;;;;;;AAMO,IAAM,mBAAA,GACXA,oBAA+C,IAAI,CAAA;AAErD,mBAAA,CAAoB,WAAA,GAAc,qBAAA;AAE3B,SAAS,eAAA,GAAmD;AACjE,EAAA,OAAOC,UAAI,mBAAmB,CAAA;AAChC;ACiCA,IAAM,MAAA,GAAS;AAAA,EACb,MAAMC,qBAAA,CAAI,EAAC,SAAS,MAAA,EAAQ,aAAA,EAAe,UAAS,CAAA;AAAA,EACpD,KAAA,EAAOA,qBAAA,CAAI,EAAC,EAAA,EAAI,KAAI,CAAA;AAAA,EACpB,IAAIA,qBAAA,CAAI,EAAC,GAAG,CAAA,EAAG,CAAA,EAAG,GAAE,CAAA;AAAA,EACpB,MAAMA,qBAAA,CAAI;AAAA,IACR,OAAA,EAAS,MAAA;AAAA,IACT,mBAAA,EAAqB,UAAA;AAAA,IACrB,MAAA,EAAQ,GAAA;AAAA,IACR,SAAA,EAAW,GAAA;AAAA,IACX,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,aAAaA,qBAAA,CAAI;AAAA,IACf,OAAA,EAAS,MAAA;AAAA,IACT,mBAAA,EAAqB,KAAA;AAAA,IACrB,GAAA,EAAK;AAAA,GACN;AACH,CAAA;AAKO,SAAS,YAAA,CAAa;AAAA,EAC3B,QAAA;AAAA,EACA,aAAA,GAAgB,OAAA;AAAA,EAChB,KAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA;AACF,CAAA,EAAyC;AACvC,EAAA,MAAM,UAAUC,WAAA,EAAM;AACtB,EAAA,MAAM,YAAA,GAAeC,cAAQ,OAAO,EAAC,eAAa,CAAA,EAAI,CAAC,aAAa,CAAC,CAAA;AACrE,EAAA,MAAM,WAAA,GACJ,aAAA,KAAkB,KAAA,GAAQ,MAAA,CAAO,cAAc,MAAA,CAAO,IAAA;AAExD,EAAA,uBACEC,cAAA,CAAC,mBAAA,EAAA,EAAoB,KAAA,EAAO,YAAA,EAC1B,QAAA,kBAAAC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA,CAAG,MAAA,CAAO,IAAA,EAAM,SAAS,CAAA;AAAA,MACpC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,KAAA,IAAS,IAAA,mBACRF,cAAA,CAACG,yBAAA,EAAA,EAAQ,SAAA,EAAW,MAAA,CAAO,KAAA,EAAO,EAAA,EAAI,OAAA,EAAS,KAAA,EAAO,CAAA,EACnD,QAAA,EAAA,KAAA,EACH,CAAA,GACE,IAAA;AAAA,wBACJH,cAAA;AAAA,UAAC,IAAA;AAAA,UAAA;AAAA,YACC,iBAAA,EAAiB,KAAA,IAAS,IAAA,GAAO,OAAA,GAAU,MAAA;AAAA,YAC3C,SAAA,EAAWE,oBAAA,CAAG,MAAA,CAAO,EAAA,EAAI,WAAW,CAAA;AAAA,YACnC;AAAA;AAAA;AACH;AAAA;AAAA,GACF,EACF,CAAA;AAEJ;AAEA,YAAA,CAAa,WAAA,GAAc,cAAA;AC/D3B,IAAME,OAAAA,GAAS;AAAA,EACb,OAAOP,qBAAA,CAAI;AAAA,IACT,KAAA,EAAO,UAAA;AAAA,IACP,QAAA,EAAU,IAAA;AAAA,IACV,UAAA,EAAY,MAAA;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,GAAA,EAAK,GAAA;AAAA,IACL,CAAA,EAAG,CAAA;AAAA,IACH,IAAA,EAAM;AAAA,GACP,CAAA;AAAA,EACD,OAAOA,qBAAA,CAAI;AAAA,IACT,KAAA,EAAO,IAAA;AAAA,IACP,QAAA,EAAU,IAAA;AAAA,IACV,CAAA,EAAG,CAAA;AAAA,IACH,IAAA,EAAM,GAAA;AAAA,IACN,YAAA,EAAc;AAAA,GACf,CAAA;AAAA,EACD,SAASA,qBAAA,CAAI;AAAA,IACX,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,GAAA,EAAK;AAAA,GACN,CAAA;AAAA,EACD,QAAQA,qBAAA,CAAI;AAAA,IACV,OAAA,EAAS;AAAA,GACV;AACH,CAAA;AAKO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA;AAAA,EACA;AACF,CAAA,EAA6C;AAC3C,EAAA,MAAM,UAAU,eAAA,EAAgB;AAEhC,EAAA,IAAI,OAAA,IAAW,IAAA,IAAQ,OAAA,CAAQ,GAAA,CAAI,aAAa,YAAA,EAAc;AAC5D,IAAA,MAAM,IAAI,MAAM,0DAA0D,CAAA;AAAA,EAC5E;AAEA,EAAA,MAAM,SAAA,GAAY,SAAS,aAAA,KAAkB,KAAA;AAC7C,EAAA,MAAM,YAAA,mBACJI,eAAAA,CAAAI,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,IAAA,IAAQ,IAAA,mBAAOL,cAAAA,CAACM,sBAAA,EAAA,EAAK,OAAM,WAAA,EAAY,IAAA,EAAY,IAAA,EAAK,IAAA,EAAK,CAAA,GAAK,IAAA;AAAA,IAClE;AAAA,GAAA,EACH,CAAA;AAGF,EAAA,IAAI,SAAA,EAAW;AACb,IAAA,uBACEL,eAAAA;AAAA,MAAC,KAAA;AAAA,MAAA;AAAA,QACC,SAAA,EAAWC,oBAAA,CAAGE,OAAAA,CAAO,OAAA,EAAS,SAAS,CAAA;AAAA,QACvC,aAAA,EAAa,UAAA;AAAA,QACb,GAAA;AAAA,QACA,KAAA;AAAA,QACA,QAAA,EAAA;AAAA,0BAAAJ,cAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWI,OAAAA,CAAO,OAAQ,QAAA,EAAA,YAAA,EAAa,CAAA;AAAA,0BAC3CJ,cAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWI,OAAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA;AAAA,KACzC;AAAA,EAEJ;AAEA,EAAA,uBACEH,eAAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA,CAAGE,OAAAA,CAAO,MAAA,EAAQ,SAAS,CAAA;AAAA,MACtC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAA;AAAA,wBAAAJ,cAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWI,OAAAA,CAAO,OAAQ,QAAA,EAAA,YAAA,EAAa,CAAA;AAAA,wBAC3CJ,cAAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWI,OAAAA,CAAO,OAAQ,QAAA,EAAS;AAAA;AAAA;AAAA,GACzC;AAEJ;AAEA,gBAAA,CAAiB,WAAA,GAAc,kBAAA","file":"chunk-
|
|
1
|
+
{"version":3,"sources":["../src/components/MetadataList/MetadataListContext.ts","../src/components/MetadataList/MetadataList.tsx","../src/components/MetadataList/MetadataListItem.tsx"],"names":["createContext","use","css","useId","useMemo","jsx","jsxs","cx","Heading","styles","Fragment","Icon"],"mappings":"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","file":"chunk-XADTIY7J.cjs","sourcesContent":["import {createContext, use} from 'react';\n\nexport interface MetadataListContextValue {\n labelPosition: 'start' | 'top';\n}\n\nexport const MetadataListContext =\n createContext<MetadataListContextValue | null>(null);\n\nMetadataListContext.displayName = 'MetadataListContext';\n\nexport function useMetadataList(): MetadataListContextValue | null {\n return use(MetadataListContext);\n}\n","import {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Heading} from '../Text';\nimport {MetadataListContext} from './MetadataListContext';\n\nexport type MetadataListLabelPosition = 'start' | 'top';\n\nexport interface MetadataListProps {\n /**\n * Metadata items to render inside the list.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root.\n */\n className?: string;\n /**\n * Test ID applied to the root.\n */\n 'data-testid'?: string;\n /**\n * Position of item labels relative to their values.\n * @default 'start'\n */\n labelPosition?: MetadataListLabelPosition;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root.\n */\n style?: CSSProperties;\n /**\n * Optional title rendered above the list as a heading.\n */\n title?: string;\n}\n\nconst styles = {\n root: css({display: 'flex', flexDirection: 'column'}),\n title: css({mb: '3'}),\n dl: css({m: 0, p: 0}),\n grid: css({\n display: 'grid',\n gridTemplateColumns: 'auto 1fr',\n rowGap: '3',\n columnGap: '6',\n alignItems: 'start',\n }),\n gridStacked: css({\n display: 'grid',\n gridTemplateColumns: '1fr',\n gap: '3',\n }),\n} as const;\n\n/**\n * Displays a list of label-value metadata pairs in configurable layouts.\n */\nexport function MetadataList({\n children,\n labelPosition = 'start',\n title,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: MetadataListProps): React.JSX.Element {\n const titleId = useId();\n const contextValue = useMemo(() => ({labelPosition}), [labelPosition]);\n const dlClassName =\n labelPosition === 'top' ? styles.gridStacked : styles.grid;\n\n return (\n <MetadataListContext value={contextValue}>\n <div\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {title != null ? (\n <Heading className={styles.title} id={titleId} level={5}>\n {title}\n </Heading>\n ) : null}\n <dl\n aria-labelledby={title != null ? titleId : undefined}\n className={cx(styles.dl, dlClassName)}>\n {children}\n </dl>\n </div>\n </MetadataListContext>\n );\n}\n\nMetadataList.displayName = 'MetadataList';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {useMetadataList} from './MetadataListContext';\n\n/**\n * A single label-value pair rendered inside a MetadataList.\n */\nexport interface MetadataListItemProps {\n /**\n * Value content rendered beside or below the label.\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 * Optional icon rendered before the label text.\n */\n icon?: IconComponent;\n /**\n * Descriptive label for this metadata entry.\n */\n label: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n label: css({\n color: 'fg.muted',\n fontSize: 'md',\n fontWeight: 'bold',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n m: 0,\n minH: '6',\n }),\n value: css({\n color: 'fg',\n fontSize: 'md',\n m: 0,\n minH: '6',\n overflowWrap: 'break-word',\n }),\n stacked: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n inline: css({\n display: 'contents',\n }),\n} as const;\n\n/**\n * A single label-value pair rendered inside a MetadataList.\n */\nexport function MetadataListItem({\n children,\n icon,\n label,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: MetadataListItemProps): React.JSX.Element {\n const context = useMetadataList();\n\n if (context == null && process.env.NODE_ENV !== 'production') {\n throw new Error('MetadataListItem must be rendered inside a MetadataList.');\n }\n\n const isStacked = context?.labelPosition === 'top';\n const labelContent = (\n <>\n {icon != null ? <Icon color=\"secondary\" icon={icon} size=\"sm\" /> : null}\n {label}\n </>\n );\n\n if (isStacked) {\n return (\n <div\n className={cx(styles.stacked, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <dt className={styles.label}>{labelContent}</dt>\n <dd className={styles.value}>{children}</dd>\n </div>\n );\n }\n\n return (\n <div\n className={cx(styles.inline, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <dt className={styles.label}>{labelContent}</dt>\n <dd className={styles.value}>{children}</dd>\n </div>\n );\n}\n\nMetadataListItem.displayName = 'MetadataListItem';\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { Item } from './chunk-
|
|
2
|
-
import { Divider } from './chunk-
|
|
3
|
-
import { Popover } from './chunk-
|
|
4
|
-
import { Button } from './chunk-
|
|
5
|
-
import { Text } from './chunk-
|
|
1
|
+
import { Item } from './chunk-EBQ3A4XO.js';
|
|
2
|
+
import { Divider } from './chunk-IHM2M74J.js';
|
|
3
|
+
import { Popover } from './chunk-VEUZ5DZR.js';
|
|
4
|
+
import { Button } from './chunk-RVENUWRD.js';
|
|
5
|
+
import { Text } from './chunk-76B2VLID.js';
|
|
6
|
+
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
6
7
|
import { Icon } from './chunk-7T3SWOY7.js';
|
|
7
8
|
import { cx as cx$1 } from './chunk-GUKZNXTB.js';
|
|
8
9
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
@@ -279,7 +280,7 @@ function DropdownMenu({
|
|
|
279
280
|
const menuSize = button.size ?? "md";
|
|
280
281
|
const menuRef = useRef(null);
|
|
281
282
|
if (process.env.NODE_ENV !== "production") {
|
|
282
|
-
if (items != null && children
|
|
283
|
+
if (items != null && isReactNode(children)) {
|
|
283
284
|
throw new Error(
|
|
284
285
|
"DropdownMenu: pass either `items` or `children`, not both."
|
|
285
286
|
);
|
|
@@ -348,5 +349,5 @@ function DropdownMenu({
|
|
|
348
349
|
DropdownMenu.displayName = "DropdownMenu";
|
|
349
350
|
|
|
350
351
|
export { DropdownMenu, DropdownMenuContext, DropdownMenuItem, formatMenuWidth, renderMenuItems, useDropdownMenuContext, useMenuKeyboard };
|
|
351
|
-
//# sourceMappingURL=chunk-
|
|
352
|
-
//# sourceMappingURL=chunk-
|
|
352
|
+
//# sourceMappingURL=chunk-XUJZTD4E.js.map
|
|
353
|
+
//# sourceMappingURL=chunk-XUJZTD4E.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/DropdownMenu/DropdownMenuContext.ts","../src/components/DropdownMenu/DropdownMenuItem.tsx","../src/components/DropdownMenu/menuUtils.tsx","../src/components/DropdownMenu/DropdownMenu.tsx"],"names":["cx","jsx","styles","useCallback","jsxs"],"mappings":"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","file":"chunk-XUJZTD4E.js","sourcesContent":["import {createContext, use} from 'react';\nimport type {ButtonSize} from '../Button';\n\nexport interface DropdownMenuContextValue {\n closeMenu: () => void;\n menuSize: ButtonSize;\n}\n\nexport const DropdownMenuContext =\n createContext<DropdownMenuContextValue | null>(null);\n\nDropdownMenuContext.displayName = 'DropdownMenuContext';\n\nexport function useDropdownMenuContext(): DropdownMenuContextValue | null {\n return use(DropdownMenuContext);\n}\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {css, cva} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Item} from '../Item';\nimport {useDropdownMenuContext} from './DropdownMenuContext';\n\nexport interface DropdownMenuItemProps {\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content.\n */\n endContent?: ReactNode;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Item label.\n */\n label: string;\n /**\n * Called when the item is selected.\n */\n onClick?: () => void;\n /**\n * Ref forwarded to the item button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n}\n\nconst menuItemRecipe = cva({\n base: {\n display: 'block',\n w: 'full',\n borderRadius: 'md',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'body',\n textAlign: 'start',\n _hover: {bg: 'bg.subtle'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetTight',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n },\n variants: {\n size: {\n sm: {\n minH: 'component.sm',\n '& > *': {py: '0.5', px: '1.5', gap: '1.5'},\n },\n md: {\n minH: 'component.md',\n '& > *': {py: '1.5', px: '2'},\n },\n lg: {\n minH: 'component.lg',\n '& > *': {py: '2.5', px: '2.5', gap: '2.5'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nconst styles = {\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n} as const;\n\n/**\n * Action item inside a `DropdownMenu`.\n */\nexport function DropdownMenuItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n icon,\n isDisabled = false,\n label,\n onClick,\n ref,\n style,\n}: DropdownMenuItemProps): React.JSX.Element {\n const context = useDropdownMenuContext();\n const menuSize = context?.menuSize ?? 'md';\n\n return (\n <button\n className={cx(menuItemRecipe({size: menuSize}), className)}\n data-testid={dataTestId}\n disabled={isDisabled}\n onClick={() => {\n onClick?.();\n context?.closeMenu();\n }}\n ref={ref}\n role=\"menuitem\"\n style={style}\n type=\"button\">\n <Item\n as=\"span\"\n description={description}\n endContent={endContent}\n label={label}\n startContent={\n icon != null ? (\n <span className={styles.icon}>\n <Icon color=\"secondary\" icon={icon} size=\"sm\" />\n </span>\n ) : null\n }\n />\n </button>\n );\n}\n\nDropdownMenuItem.displayName = 'DropdownMenuItem';\n","/* eslint-disable @eslint-react/no-array-index-key */\nimport {useCallback, type KeyboardEvent, type ReactNode} from 'react';\nimport {css} from 'styled-system/css';\nimport {Divider} from '../Divider';\nimport {Text} from '../Text';\nimport {DropdownMenuItem} from './DropdownMenuItem';\nimport type {DropdownMenuOption} from './types';\n\nconst menuStyles = {\n section: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n }),\n heading: css({\n px: '2',\n py: '1',\n userSelect: 'none',\n }),\n divider: css({\n my: '1',\n }),\n} as const;\n\nexport function formatMenuWidth(\n value: number | string | undefined,\n): string | undefined {\n if (value == null) {\n return undefined;\n }\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nexport function renderMenuItems(\n items: ReadonlyArray<DropdownMenuOption>,\n): ReactNode {\n return items.map((item, index) => {\n if ('type' in item && item.type === 'divider') {\n return (\n <Divider className={menuStyles.divider} key={`divider-${index}`} />\n );\n }\n\n if ('type' in item) {\n return (\n <div\n aria-label={item.title}\n className={menuStyles.section}\n key={`section-${item.title ?? index}`}\n role=\"group\">\n {item.title != null ? (\n <Text\n as=\"span\"\n className={menuStyles.heading}\n color=\"secondary\"\n type=\"supporting\">\n {item.title}\n </Text>\n ) : null}\n {item.items.map(sectionItem => (\n <DropdownMenuItem\n description={sectionItem.description}\n icon={sectionItem.icon}\n isDisabled={sectionItem.isDisabled}\n key={sectionItem.label}\n label={sectionItem.label}\n onClick={sectionItem.onClick}\n />\n ))}\n </div>\n );\n }\n\n return (\n <DropdownMenuItem\n description={item.description}\n icon={item.icon}\n isDisabled={item.isDisabled}\n key={item.label}\n label={item.label}\n onClick={item.onClick}\n />\n );\n });\n}\n\nexport function useMenuKeyboard(\n menuRef: React.RefObject<HTMLElement | null>,\n onClose: () => void,\n): (event: KeyboardEvent<HTMLElement>) => void {\n const getMenuItems = useCallback(() => {\n if (menuRef.current == null) {\n return [];\n }\n return Array.from(\n menuRef.current.querySelectorAll<HTMLElement>(\n '[role=\"menuitem\"]:not(:disabled)',\n ),\n );\n }, [menuRef]);\n\n return useCallback(\n (event: KeyboardEvent<HTMLElement>) => {\n const menuItems = getMenuItems();\n if (menuItems.length === 0) {\n return;\n }\n const currentIndex = menuItems.findIndex(\n item => item === document.activeElement,\n );\n let nextIndex: number;\n\n switch (event.key) {\n case 'ArrowDown':\n nextIndex =\n currentIndex === -1 ? 0 : (currentIndex + 1) % menuItems.length;\n break;\n case 'ArrowUp':\n nextIndex =\n currentIndex === -1\n ? menuItems.length - 1\n : (currentIndex - 1 + menuItems.length) % menuItems.length;\n break;\n case 'Home':\n nextIndex = 0;\n break;\n case 'End':\n nextIndex = menuItems.length - 1;\n break;\n case 'Escape':\n event.preventDefault();\n onClose();\n return;\n case 'Enter':\n case ' ':\n if (document.activeElement instanceof HTMLElement) {\n event.preventDefault();\n document.activeElement.click();\n }\n return;\n default:\n if (event.key.length === 1) {\n const char = event.key.toLowerCase();\n const startIndex = currentIndex === -1 ? 0 : currentIndex + 1;\n for (let i = 0; i < menuItems.length; i++) {\n const index = (startIndex + i) % menuItems.length;\n const label = menuItems[index].textContent.trim().toLowerCase();\n if (label.startsWith(char)) {\n event.preventDefault();\n menuItems[index].focus();\n return;\n }\n }\n }\n return;\n }\n\n event.preventDefault();\n menuItems[nextIndex]?.focus();\n },\n [getMenuItems, onClose],\n );\n}\n","import {ChevronDown} from 'lucide-react';\nimport {\n useCallback,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css, cx} from 'styled-system/css';\nimport isReactNode from '../../internal/isReactNode';\nimport {Button, type ButtonProps, type ButtonSize} from '../Button';\nimport {Icon} from '../Icon';\nimport {Popover} from '../Popover';\nimport {DropdownMenuContext} from './DropdownMenuContext';\nimport {formatMenuWidth, renderMenuItems, useMenuKeyboard} from './menuUtils';\nimport type {DropdownMenuOption} from './types';\n\nexport type {\n DropdownMenuDivider,\n DropdownMenuItemData,\n DropdownMenuOption,\n DropdownMenuSection,\n} from './types';\n\ntype DistributiveOmit<T, K extends PropertyKey> = T extends unknown\n ? Omit<T, K>\n : never;\n\nexport type DropdownMenuButtonProps = DistributiveOmit<ButtonProps, 'onClick'>;\n\nexport interface DropdownMenuProps {\n /**\n * Trigger button props.\n */\n button?: DropdownMenuButtonProps;\n /**\n * Compound menu content (alternative to `items`).\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the menu surface.\n */\n className?: string;\n /**\n * Test ID applied to the trigger button.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a chevron on the trigger button.\n * @default true\n */\n hasChevron?: boolean;\n /**\n * Controlled open state.\n */\n isMenuOpen?: boolean;\n /**\n * Data-driven menu items.\n */\n items?: ReadonlyArray<DropdownMenuOption>;\n /**\n * Width of the menu surface.\n */\n menuWidth?: number | string;\n /**\n * Click handler for the trigger button.\n */\n onClick?: () => void;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the trigger button.\n */\n ref?: Ref<HTMLButtonElement>;\n /**\n * Inline styles applied to the menu surface.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n menu: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n maxH: '80',\n overflowY: 'auto',\n p: '1',\n }),\n} as const;\n\nconst defaultButton = {label: 'Menu'} satisfies DropdownMenuButtonProps;\n\n/**\n * Button-triggered menu for grouped actions.\n */\nexport function DropdownMenu({\n button = defaultButton,\n children,\n className,\n 'data-testid': dataTestId,\n hasAutoFocus = true,\n hasChevron = true,\n isMenuOpen,\n items,\n menuWidth,\n onClick,\n onOpenChange,\n ref,\n style,\n}: DropdownMenuProps): React.JSX.Element {\n const [internalOpen, setInternalOpen] = useState(false);\n const isControlled = isMenuOpen !== undefined;\n const isOpen = isControlled ? isMenuOpen : internalOpen;\n const menuSize: ButtonSize = button.size ?? 'md';\n const menuRef = useRef<HTMLDivElement>(null);\n\n if (process.env.NODE_ENV !== 'production') {\n if (items != null && isReactNode(children)) {\n throw new Error(\n 'DropdownMenu: pass either `items` or `children`, not both.',\n );\n }\n }\n\n const hide = useCallback(() => {\n if (isControlled) {\n onOpenChange?.(false);\n } else {\n setInternalOpen(false);\n }\n }, [isControlled, onOpenChange]);\n\n const handleMenuKeyDown = useMenuKeyboard(menuRef, hide);\n\n const contextValue = useMemo(\n () => ({\n closeMenu: hide,\n menuSize,\n }),\n [hide, menuSize],\n );\n\n const menuNode = useMemo(\n (): ReactNode => (items == null ? children : renderMenuItems(items)),\n [items, children],\n );\n\n return (\n <Popover\n content={\n <DropdownMenuContext value={contextValue}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- keyboard handler captures events for the parent role=\"menu\" element */}\n <div\n className={cx(styles.menu, className)}\n onKeyDown={handleMenuKeyDown}\n ref={menuRef}\n tabIndex={-1}>\n {menuNode}\n </div>\n </DropdownMenuContext>\n }\n hasAutoFocus={hasAutoFocus}\n hasCloseButton={false}\n isOpen={isOpen}\n onOpenChange={(isNextOpen: boolean): void => {\n if (isControlled) {\n onOpenChange?.(isNextOpen);\n } else {\n setInternalOpen(isNextOpen);\n }\n }}\n role=\"menu\"\n style={{width: formatMenuWidth(menuWidth), ...style}}>\n <Button\n {...button}\n data-testid={dataTestId}\n endContent={\n <>\n {button.endContent}\n {hasChevron ? <Icon icon={ChevronDown} size=\"sm\" /> : null}\n </>\n }\n onClick={onClick}\n ref={ref}\n />\n </Popover>\n );\n}\n\nDropdownMenu.displayName = 'DropdownMenu';\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
import { inputRecipe } from './chunk-3M23WX6K.js';
|
|
2
|
-
import { getNecessity, Field } from './chunk-
|
|
2
|
+
import { getNecessity, Field } from './chunk-ASJ5CBCR.js';
|
|
3
3
|
import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-WOIWI2UO.js';
|
|
4
|
-
import { Button } from './chunk-
|
|
5
|
-
import { Spinner } from './chunk-
|
|
6
|
-
import { Text } from './chunk-
|
|
4
|
+
import { Button } from './chunk-RVENUWRD.js';
|
|
5
|
+
import { Spinner } from './chunk-DSB4Q3AS.js';
|
|
6
|
+
import { Text } from './chunk-76B2VLID.js';
|
|
7
7
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
8
|
+
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
8
9
|
import { Icon } from './chunk-7T3SWOY7.js';
|
|
9
10
|
import { cx } from './chunk-PPNETWIP.js';
|
|
10
11
|
import { css } from './chunk-OD4DHHZH.js';
|
|
@@ -163,7 +164,7 @@ function FileInput({
|
|
|
163
164
|
const [isDragOver, setIsDragOver] = useState(false);
|
|
164
165
|
const [validationError, setValidationError] = useState(null);
|
|
165
166
|
const status = statusFromProps ?? (validationError == null ? void 0 : { type: "error", message: validationError });
|
|
166
|
-
const descriptionID = description
|
|
167
|
+
const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
|
|
167
168
|
const statusMessageID = getStatusMessageID(inputId, status);
|
|
168
169
|
const describedBy = getDescribedBy(descriptionID, statusMessageID);
|
|
169
170
|
const fileNames = getFileNames(value);
|
|
@@ -318,5 +319,5 @@ function FileInput({
|
|
|
318
319
|
FileInput.displayName = "FileInput";
|
|
319
320
|
|
|
320
321
|
export { FileInput };
|
|
321
|
-
//# sourceMappingURL=chunk-
|
|
322
|
-
//# sourceMappingURL=chunk-
|
|
322
|
+
//# sourceMappingURL=chunk-Y4FH67QZ.js.map
|
|
323
|
+
//# sourceMappingURL=chunk-Y4FH67QZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/formatFileSize.ts","../src/components/FileInput/FileInput.tsx"],"names":[],"mappings":"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","file":"chunk-Y4FH67QZ.js","sourcesContent":["export function formatFileSize(bytes: number): string {\n if (bytes < 1024) {\n return `${bytes} B`;\n }\n\n if (bytes < 1024 * 1024) {\n return `${(bytes / 1024).toFixed(1)} KB`;\n }\n\n return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;\n}\n","import {Upload, X} from 'lucide-react';\nimport {\n useId,\n useRef,\n useState,\n type CSSProperties,\n type DragEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport {formatFileSize} from '../../internal/formatFileSize';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {Button} from '../Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from '../Field';\nimport {inputRecipe} from '../Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from '../Field/inputUtils';\nimport {Icon, type IconComponent} from '../Icon';\nimport {Spinner} from '../Spinner';\nimport {Text} from '../Text';\n\nexport type FileInputMode = 'dropzone' | 'input';\n\ninterface FileInputBaseProps {\n /**\n * Comma-separated MIME types or file extensions the input accepts.\n */\n accept?: string;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the hidden file input.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum file size in bytes.\n */\n maxSize?: number;\n /**\n * Display mode: inline input or drag-and-drop dropzone.\n * @default 'input'\n */\n mode?: FileInputMode;\n /**\n * Placeholder text shown when no file is selected.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the hidden file input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the input.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\ninterface FileInputSingleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple?: false;\n /**\n * Maximum number of files allowed. Only applicable when isMultiple is true.\n */\n maxFiles?: undefined;\n /**\n * Called when the selected file changes.\n */\n onChange: (file: File | null) => void;\n /**\n * Currently selected file.\n */\n value: File | null;\n}\n\ninterface FileInputMultipleProps extends FileInputBaseProps {\n /**\n * Whether multiple files can be selected.\n */\n isMultiple: true;\n /**\n * Maximum number of files allowed.\n */\n maxFiles?: number;\n /**\n * Called when the selected files change.\n */\n onChange: (files: File[]) => void;\n /**\n * Currently selected files.\n */\n value: File[];\n}\n\nexport type FileInputProps = (FileInputMultipleProps | FileInputSingleProps) &\n FieldNecessity;\n\nconst styles = {\n surface: css({\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '3',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'md',\n bg: 'bg',\n cursor: 'pointer',\n _hover: {borderColor: 'fg.muted'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n }),\n dropzone: css({\n minH: '32',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n borderStyle: 'dashed',\n textAlign: 'center',\n '& > *': {\n flex: 'none',\n },\n }),\n disabled: css({\n cursor: 'not-allowed',\n opacity: 0.55,\n }),\n active: css({\n borderColor: 'primary',\n bg: 'bg.selected',\n }),\n hiddenInput: css({\n position: 'absolute',\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clipPath: 'inset(50%)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n }),\n fileName: css({\n flex: 1,\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n }),\n icon: css({\n display: 'inline-flex',\n color: 'fg.muted',\n }),\n} as const;\n\nfunction validateFiles(\n files: File[],\n options: {\n accept?: string;\n isMultiple: boolean;\n maxFiles?: number;\n maxSize?: number;\n },\n): {error: string | null; files: File[]} {\n let validFiles = files;\n if (options.accept != null) {\n const acceptedTypes = options.accept\n .split(',')\n .map(type => type.trim().toLowerCase());\n validFiles = validFiles.filter(file =>\n acceptedTypes.some(type => {\n if (type.startsWith('.')) {\n return file.name.toLowerCase().endsWith(type);\n }\n if (type.endsWith('/*')) {\n return file.type.startsWith(type.slice(0, -1));\n }\n return file.type.toLowerCase() === type;\n }),\n );\n if (validFiles.length !== files.length) {\n return {\n files: validFiles,\n error: 'One or more files are not an accepted type.',\n };\n }\n }\n if (options.maxSize != null) {\n const maxSize = options.maxSize;\n const oversized = validFiles.find(file => file.size > maxSize);\n if (oversized != null) {\n return {\n error: `\"${oversized.name}\" exceeds ${formatFileSize(maxSize)}.`,\n files: validFiles.filter(file => file.size <= maxSize),\n };\n }\n }\n if (\n options.isMultiple &&\n options.maxFiles != null &&\n validFiles.length > options.maxFiles\n ) {\n return {\n files: validFiles.slice(0, options.maxFiles),\n error: `Maximum ${options.maxFiles} files allowed.`,\n };\n }\n return {files: validFiles, error: null};\n}\n\nfunction getFileNames(value: File | File[] | null): string | null {\n if (value == null) {\n return null;\n }\n if (Array.isArray(value)) {\n return value.length === 0 ? null : value.map(file => file.name).join(', ');\n }\n return value.name;\n}\n\n/**\n * A file input supporting both inline and drag-and-drop dropzone modes.\n */\nexport function FileInput({\n label,\n value,\n onChange,\n accept,\n isMultiple = false,\n maxSize,\n maxFiles,\n mode = 'input',\n placeholder,\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n size = 'md',\n status: statusFromProps,\n labelIcon,\n labelTooltip,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: FileInputProps): React.JSX.Element {\n const inputId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const [isDragOver, setIsDragOver] = useState(false);\n const [validationError, setValidationError] = useState<string | null>(null);\n const status =\n statusFromProps ??\n (validationError == null\n ? undefined\n : {type: 'error' as const, message: validationError});\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const fileNames = getFileNames(value);\n const displayText =\n fileNames ?? placeholder ?? (isMultiple ? 'Choose files' : 'Choose file');\n const isDropzone = mode === 'dropzone';\n\n const handleFiles = (files: File[]) => {\n if (isDisabled) {\n return;\n }\n const result = validateFiles(files, {\n accept,\n isMultiple,\n maxFiles,\n maxSize,\n });\n setValidationError(result.error);\n if (isMultiple) {\n (onChange as (files: File[]) => void)(result.files);\n } else if (result.files.length === 0) {\n (onChange as (file: File | null) => void)(null);\n } else {\n (onChange as (file: File | null) => void)(result.files[0]);\n }\n };\n\n const handleClear = () => {\n setValidationError(null);\n if (isMultiple) {\n (onChange as (files: File[]) => void)([]);\n } else {\n (onChange as (file: File | null) => void)(null);\n }\n };\n\n const dragProps = isDropzone\n ? {\n onDragEnter: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDragLeave: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n },\n onDragOver: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n if (!isDisabled) {\n setIsDragOver(true);\n }\n },\n onDrop: (event: DragEvent<HTMLDivElement>) => {\n event.preventDefault();\n setIsDragOver(false);\n if (!isDisabled) {\n handleFiles(Array.from(event.dataTransfer.files));\n }\n },\n }\n : {};\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }>\n <div\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-disabled={isDisabled || undefined}\n className={cx(\n styles.surface,\n isDropzone\n ? styles.dropzone\n : inputRecipe({size, status: status?.type, isDisabled}),\n isDisabled ? styles.disabled : undefined,\n isDragOver ? styles.active : undefined,\n className,\n )}\n onClick={() => {\n if (!isDisabled) {\n inputRef.current?.click();\n }\n }}\n onKeyDown={event => {\n if (!isDisabled && (event.key === 'Enter' || event.key === ' ')) {\n event.preventDefault();\n inputRef.current?.click();\n }\n }}\n role=\"button\"\n style={style}\n tabIndex={isDisabled ? -1 : 0}\n {...dragProps}>\n <input\n accept={accept}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n className={styles.hiddenInput}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n multiple={isMultiple}\n onChange={event => {\n handleFiles(Array.from(event.target.files ?? []));\n event.currentTarget.value = '';\n }}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"file\"\n />\n {isLoading ? (\n <Spinner size={isDropzone ? 'md' : 'sm'} />\n ) : (\n <span className={styles.icon}>\n <Icon icon={Upload} size={isDropzone ? 'md' : 'sm'} />\n </span>\n )}\n <Text\n as=\"span\"\n className={styles.fileName}\n color={fileNames == null ? 'secondary' : 'primary'}>\n {isDragOver ? 'Drop files here' : displayText}\n </Text>\n {fileNames != null ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n handleClear();\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {status != null && !isDropzone ? (\n <span className={styles.icon}>{getStatusIcon(status.type)}</span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nFileInput.displayName = 'FileInput';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Button } from './chunk-
|
|
1
|
+
import { Button } from './chunk-RVENUWRD.js';
|
|
2
2
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
3
3
|
import { cva } from './chunk-FMEIPGUP.js';
|
|
4
4
|
import { cx } from './chunk-PPNETWIP.js';
|
|
@@ -80,12 +80,14 @@ var styles = {
|
|
|
80
80
|
drawerStart: css({
|
|
81
81
|
insetInlineStart: 0,
|
|
82
82
|
borderInlineEndWidth: "default",
|
|
83
|
-
transform: "translateX(-100%)"
|
|
83
|
+
transform: "translateX(-100%)",
|
|
84
|
+
_rtl: { transform: "translateX(100%)" }
|
|
84
85
|
}),
|
|
85
86
|
drawerEnd: css({
|
|
86
87
|
insetInlineEnd: 0,
|
|
87
88
|
borderInlineStartWidth: "default",
|
|
88
|
-
transform: "translateX(100%)"
|
|
89
|
+
transform: "translateX(100%)",
|
|
90
|
+
_rtl: { transform: "translateX(-100%)" }
|
|
89
91
|
}),
|
|
90
92
|
drawerOpen: css({
|
|
91
93
|
transform: "translateX(0)"
|
|
@@ -228,7 +230,7 @@ function MobileNavToggle({
|
|
|
228
230
|
Button,
|
|
229
231
|
{
|
|
230
232
|
className,
|
|
231
|
-
"data-testid": dataTestId
|
|
233
|
+
"data-testid": dataTestId,
|
|
232
234
|
icon: Menu,
|
|
233
235
|
isIconOnly: true,
|
|
234
236
|
label,
|
|
@@ -242,5 +244,5 @@ function MobileNavToggle({
|
|
|
242
244
|
MobileNavToggle.displayName = "MobileNavToggle";
|
|
243
245
|
|
|
244
246
|
export { AppShellMobileContext, MobileNav, MobileNavToggle, useAppShellMobile };
|
|
245
|
-
//# sourceMappingURL=chunk-
|
|
246
|
-
//# sourceMappingURL=chunk-
|
|
247
|
+
//# sourceMappingURL=chunk-YLGAJD6Q.js.map
|
|
248
|
+
//# sourceMappingURL=chunk-YLGAJD6Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/AppShell/AppShellMobileContext.tsx","../src/internal/MobileNav/MobileNav.recipe.ts","../src/internal/MobileNav/MobileNav.tsx","../src/internal/MobileNav/MobileNavToggle.tsx"],"names":["jsx"],"mappings":";;;;;;;;;AAYA,IAAM,YAAA,GAA2C;AAAA,EAC/C,gBAAgB,MAAM;AAAA,EAAC,CAAA;AAAA,EACvB,aAAA,EAAe,IAAA;AAAA,EACf,QAAA,EAAU,KAAA;AAAA,EACV,kBAAA,EAAoB,KAAA;AAAA,EACpB,eAAA,EAAiB,KAAA;AAAA,EACjB,eAAe,MAAM;AAAA,EAAC,CAAA;AAAA,EACtB,iBAAiB,MAAM;AAAA,EAAC;AAC1B,CAAA;AAEO,IAAM,qBAAA,GACX,cAA0C,YAAY;AACxD,qBAAA,CAAsB,WAAA,GAAc,uBAAA;AAE7B,SAAS,iBAAA,GAAgD;AAC9D,EAAA,OAAO,IAAI,qBAAqB,CAAA;AAClC;;;AC1BO,IAAM,kBAAkB,GAAA,CAAI;AAAA,EACjC,IAAA,EAAM;AAAA,IACJ,QAAA,EAAU,OAAA;AAAA,IACV,KAAA,EAAO,CAAA;AAAA,IACP,CAAA,EAAG,CAAA;AAAA,IACH,CAAA,EAAG,CAAA;AAAA,IACH,WAAA,EAAa,CAAA;AAAA,IACb,IAAA,EAAM,MAAA;AAAA,IACN,IAAA,EAAM,MAAA;AAAA,IACN,CAAA,EAAG,OAAA;AAAA,IACH,CAAA,EAAG,QAAA;AAAA,IACH,EAAA,EAAI,aAAA;AAAA,IACJ,QAAA,EAAU,QAAA;AAAA,IACV,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe;AAAA,MACb,EAAA,EAAI,eAAA;AAAA,MACJ,cAAA,EAAgB;AAAA;AAClB,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,MAAA,EAAQ;AAAA,MACN,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS;AAAA,OACX;AAAA,MACA,OAAO;AAAC;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,MAAA,EAAQ;AAAA;AAEZ,CAAC,CAAA;ACgCD,SAAS,WAAW,KAAA,EAAgC;AAClD,EAAA,OAAO,OAAO,KAAA,KAAU,QAAA,GAAW,CAAA,EAAG,KAAK,CAAA,EAAA,CAAA,GAAO,KAAA;AACpD;AAEA,IAAM,qBAAA,GAAwB,iCAAA;AAE9B,IAAM,MAAA,GAAS;AAAA,EACb,QAAQ,GAAA,CAAI;AAAA,IACV,QAAA,EAAU,UAAA;AAAA,IACV,UAAA,EAAY,CAAA;AAAA,IACZ,OAAA,EAAS,MAAA;AAAA,IACT,aAAA,EAAe,QAAA;AAAA,IACf,EAAA,EAAI,IAAA;AAAA,IACJ,WAAA,EAAa,QAAA;AAAA,IACb,QAAA,EAAU,QAAA;AAAA,IACV,kBAAA,EAAoB,WAAA;AAAA,IACpB,kBAAA,EAAoB,MAAA;AAAA,IACpB,wBAAA,EAA0B,SAAA;AAAA,IAC1B,yCAAA,EAA2C;AAAA,MACzC,kBAAA,EAAoB;AAAA;AACtB,GACD,CAAA;AAAA,EACD,aAAa,GAAA,CAAI;AAAA,IACf,gBAAA,EAAkB,CAAA;AAAA,IAClB,oBAAA,EAAsB,SAAA;AAAA,IACtB,SAAA,EAAW,mBAAA;AAAA,IACX,IAAA,EAAM,EAAC,SAAA,EAAW,kBAAA;AAAkB,GACrC,CAAA;AAAA,EACD,WAAW,GAAA,CAAI;AAAA,IACb,cAAA,EAAgB,CAAA;AAAA,IAChB,sBAAA,EAAwB,SAAA;AAAA,IACxB,SAAA,EAAW,kBAAA;AAAA,IACX,IAAA,EAAM,EAAC,SAAA,EAAW,mBAAA;AAAmB,GACtC,CAAA;AAAA,EACD,YAAY,GAAA,CAAI;AAAA,IACd,SAAA,EAAW;AAAA,GACZ,CAAA;AAAA,EACD,QAAQ,GAAA,CAAI;AAAA,IACV,CAAA,EAAG,IAAA;AAAA,IACH,EAAA,EAAI,GAAA;AAAA,IACJ,OAAA,EAAS,MAAA;AAAA,IACT,UAAA,EAAY,QAAA;AAAA,IACZ,cAAA,EAAgB,eAAA;AAAA,IAChB,mBAAA,EAAqB,SAAA;AAAA,IACrB,mBAAA,EAAqB,OAAA;AAAA,IACrB,mBAAA,EAAqB,QAAA;AAAA,IACrB,UAAA,EAAY;AAAA,GACb,CAAA;AAAA,EACD,MAAM,GAAA,CAAI;AAAA,IACR,IAAA,EAAM,CAAA;AAAA,IACN,SAAA,EAAW,MAAA;AAAA,IACX,SAAA,EAAW,QAAA;AAAA,IACX,CAAA,EAAG;AAAA,GACJ;AACH,CAAA;AAEO,SAAS,SAAA,CAAU;AAAA,EACxB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,MAAA;AAAA,EACA,MAAA,EAAQ,eAAA;AAAA,EACR,KAAA;AAAA,EACA,YAAA,EAAc,qBAAA;AAAA,EACd,GAAA;AAAA,EACA,IAAA,GAAO,KAAA;AAAA,EACP,IAAA,GAAO,GAAA;AAAA,EACP;AACF,CAAA,EAAsC;AACpC,EAAA,MAAM,iBAAiB,iBAAA,EAAkB;AACzC,EAAA,MAAM,MAAA,GAAS,mBAAmB,cAAA,CAAe,eAAA;AACjD,EAAA,MAAM,EAAC,aAAA,EAAe,cAAA,EAAc,GAAI,cAAA;AACxC,EAAA,MAAM,YAAA,GAAe,WAAA;AAAA,IACnB,CAAC,UAAA,KAAwB;AACvB,MAAA,IAAI,yBAAyB,IAAA,EAAM;AACjC,QAAA,qBAAA,CAAsB,UAAU,CAAA;AAAA,MAClC,WAAW,UAAA,EAAY;AACrB,QAAA,aAAA,EAAc;AAAA,MAChB,CAAA,MAAO;AACL,QAAA,cAAA,EAAe;AAAA,MACjB;AAAA,IACF,CAAA;AAAA,IACA,CAAC,aAAA,EAAe,cAAA,EAAgB,qBAAqB;AAAA,GACvD;AACA,EAAA,MAAM,SAAA,GAAY,OAA0B,IAAI,CAAA;AAEhD,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,MAAM,SAAS,SAAA,CAAU,OAAA;AAEzB,IAAA,IAAI,UAAU,IAAA,EAAM;AAClB,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,MAAA,IAAU,CAAC,MAAA,CAAO,IAAA,EAAM;AAC1B,MAAA,MAAA,CAAO,SAAA,EAAU;AAEjB,MAAA,MAAM,iBAAiB,MAAA,CAAO,aAAA;AAAA,QAC5B,uBAAuB,qBAAqB,CAAA,iBAAA;AAAA,OAC9C;AACA,MAAA,IAAI,kBAAkB,IAAA,EAAM;AAC1B,QAAA,cAAA,CAAe,KAAA,EAAM;AAAA,MACvB;AAAA,IACF,CAAA,MAAA,IAAW,CAAC,MAAA,IAAU,MAAA,CAAO,IAAA,EAAM;AACjC,MAAA,MAAA,CAAO,KAAA,EAAM;AAAA,IACf;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,SAAA,CAAU,MAAM;AACd,IAAA,IAAI,CAAC,MAAA,EAAQ;AACX,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,gBAAA,GAAmB,QAAA,CAAS,IAAA,CAAK,KAAA,CAAM,QAAA;AAC7C,IAAA,QAAA,CAAS,IAAA,CAAK,MAAM,QAAA,GAAW,QAAA;AAC/B,IAAA,OAAO,MAAM;AACX,MAAA,QAAA,CAAS,IAAA,CAAK,MAAM,QAAA,GAAW,gBAAA;AAAA,IACjC,CAAA;AAAA,EACF,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,MAAM,aAAA,GAAgB,WAAW,IAAI,CAAA;AAErC,EAAA,uBACE,GAAA;AAAA,IAAC,QAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAY,KAAA,KAAU,OAAO,MAAA,KAAW,WAAW,MAAA,GAAS,YAAA,CAAA;AAAA,MAC5D,WAAW,EAAA,CAAG,eAAA,CAAgB,EAAC,MAAA,EAAO,GAAG,SAAS,CAAA;AAAA,MAClD,aAAA,EAAa,UAAA;AAAA,MACb,UAAU,CAAA,KAAA,KAAS;AACjB,QAAA,KAAA,CAAM,cAAA,EAAe;AACrB,QAAA,YAAA,CAAa,KAAK,CAAA;AAAA,MACpB,CAAA;AAAA,MACA,SAAS,CAAA,KAAA,KAAS;AAChB,QAAA,IAAI,KAAA,CAAM,MAAA,KAAW,KAAA,CAAM,aAAA,EAAe;AACxC,UAAA,YAAA,CAAa,KAAK,CAAA;AAAA,QACpB;AAAA,MACF,CAAA;AAAA,MACA,GAAA,EAAK,SAAA,CAAU,GAAA,EAAK,SAAS,CAAA;AAAA,MAC7B,KAAA;AAAA,MACA,QAAA,kBAAA,IAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,MAAA,CAAO,MAAA;AAAA,YACP,IAAA,KAAS,OAAA,GAAU,MAAA,CAAO,WAAA,GAAc,MAAA,CAAO,SAAA;AAAA,YAC/C,UAAU,MAAA,CAAO;AAAA,WACnB;AAAA,UACA,KAAA,EAAO,EAAC,QAAA,EAAU,aAAA,EAAe,OAAO,OAAA,EAAO;AAAA,UAC/C,QAAA,EAAA;AAAA,4BAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,MAAA,EACpB,QAAA,EAAA;AAAA,cAAA,MAAA,wBAAW,MAAA,EAAA,EAAK,CAAA;AAAA,8BACjB,GAAA;AAAA,gBAAC,MAAA;AAAA,gBAAA;AAAA,kBACC,IAAA,EAAM,CAAA;AAAA,kBACN,UAAA,EAAU,IAAA;AAAA,kBACV,KAAA,EAAM,kBAAA;AAAA,kBACN,OAAA,EAAS,MAAM,YAAA,CAAa,KAAK,CAAA;AAAA,kBACjC,OAAA,EAAQ;AAAA;AAAA;AACV,aAAA,EACF,CAAA;AAAA,4BACA,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,MAAO,QAAA,EAAS;AAAA;AAAA;AAAA;AACzC;AAAA,GACF;AAEJ;AAEA,SAAA,CAAU,WAAA,GAAc,WAAA;AC3LjB,SAAS,eAAA,CAAgB;AAAA,EAC9B,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,KAAA,GAAQ,iBAAA;AAAA,EACR,GAAA;AAAA,EACA;AACF,CAAA,EAAmD;AACjD,EAAA,MAAM,EAAC,QAAA,EAAU,kBAAA,EAAoB,eAAA,KAAmB,iBAAA,EAAkB;AAE1E,EAAA,IAAI,CAAC,QAAA,IAAY,CAAC,kBAAA,EAAoB;AACpC,IAAA,OAAO,IAAA;AAAA,EACT;AAEA,EAAA,uBACEA,GAAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,aAAA,EAAa,UAAA;AAAA,MACb,IAAA,EAAM,IAAA;AAAA,MACN,UAAA,EAAU,IAAA;AAAA,MACV,KAAA;AAAA,MACA,OAAA,EAAS,eAAA;AAAA,MACT,GAAA;AAAA,MACA,KAAA;AAAA,MACA,OAAA,EAAQ;AAAA;AAAA,GACV;AAEJ;AAEA,eAAA,CAAgB,WAAA,GAAc,iBAAA","file":"chunk-YLGAJD6Q.js","sourcesContent":["import {createContext, use} from 'react';\n\nexport interface AppShellMobileContextValue {\n closeMobileNav: () => void;\n hasAutoToggle: boolean;\n isMobile: boolean;\n isMobileNavEnabled: boolean;\n isMobileNavOpen: boolean;\n openMobileNav: () => void;\n toggleMobileNav: () => void;\n}\n\nconst defaultValue: AppShellMobileContextValue = {\n closeMobileNav: () => {},\n hasAutoToggle: true,\n isMobile: false,\n isMobileNavEnabled: false,\n isMobileNavOpen: false,\n openMobileNav: () => {},\n toggleMobileNav: () => {},\n};\n\nexport const AppShellMobileContext =\n createContext<AppShellMobileContextValue>(defaultValue);\nAppShellMobileContext.displayName = 'AppShellMobileContext';\n\nexport function useAppShellMobile(): AppShellMobileContextValue {\n return use(AppShellMobileContext);\n}\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const mobileNavRecipe = cva({\n base: {\n position: 'fixed',\n inset: 0,\n m: 0,\n p: 0,\n borderWidth: 0,\n maxW: 'none',\n maxH: 'none',\n w: '100vw',\n h: '100dvh',\n bg: 'transparent',\n overflow: 'hidden',\n display: 'none',\n '&::backdrop': {\n bg: 'overlay.scrim',\n backdropFilter: 'blur(2px)',\n },\n },\n variants: {\n isOpen: {\n true: {\n display: 'flex',\n },\n false: {},\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type MobileNavVariants = RecipeVariantProps<typeof mobileNavRecipe>;\n","import {X} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useCallback, useEffect, useRef} from 'react';\nimport {css} from 'styled-system/css';\nimport {useAppShellMobile} from '../../components/AppShell/AppShellMobileContext';\nimport {Button} from '../../components/Button';\nimport {cx} from '../cx';\nimport {mergeRefs} from '../mergeRefs';\nimport {mobileNavRecipe} from './MobileNav.recipe';\n\nexport type MobileNavSide = 'start' | 'end';\n\n/**\n * Slide-out drawer for mobile navigation.\n */\nexport interface MobileNavProps {\n /**\n * Drawer body content.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the dialog element.\n */\n className?: string;\n /**\n * Test ID applied to the dialog element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the drawer header bar.\n */\n header?: ReactNode;\n /**\n * Whether the drawer is open.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the dialog.\n */\n label?: string;\n /**\n * Called when the drawer requests an open-state change.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Which edge of the viewport the drawer slides from.\n * @default 'end'\n */\n side?: MobileNavSide;\n /**\n * Maximum drawer width.\n * @default 320\n */\n size?: number | string;\n /**\n * Inline styles applied to the dialog element.\n */\n style?: CSSProperties;\n}\n\nfunction formatSize(value: number | string): string {\n return typeof value === 'number' ? `${value}px` : value;\n}\n\nconst CLOSE_BUTTON_SELECTOR = '[aria-label=\"Close navigation\"]';\n\nconst styles = {\n drawer: css({\n position: 'absolute',\n insetBlock: 0,\n display: 'flex',\n flexDirection: 'column',\n bg: 'bg',\n borderColor: 'border',\n overflow: 'hidden',\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n }),\n drawerStart: css({\n insetInlineStart: 0,\n borderInlineEndWidth: 'default',\n transform: 'translateX(-100%)',\n _rtl: {transform: 'translateX(100%)'},\n }),\n drawerEnd: css({\n insetInlineEnd: 0,\n borderInlineStartWidth: 'default',\n transform: 'translateX(100%)',\n _rtl: {transform: 'translateX(-100%)'},\n }),\n drawerOpen: css({\n transform: 'translateX(0)',\n }),\n header: css({\n h: '12',\n px: '2',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n flexShrink: 0,\n }),\n body: css({\n flex: 1,\n overflowY: 'auto',\n overflowX: 'hidden',\n p: '2',\n }),\n};\n\nexport function MobileNav({\n children,\n className,\n 'data-testid': dataTestId,\n header,\n isOpen: isOpenFromProps,\n label,\n onOpenChange: onOpenChangeFromProps,\n ref,\n side = 'end',\n size = 320,\n style,\n}: MobileNavProps): React.JSX.Element {\n const appShellMobile = useAppShellMobile();\n const isOpen = isOpenFromProps ?? appShellMobile.isMobileNavOpen;\n const {openMobileNav, closeMobileNav} = appShellMobile;\n const onOpenChange = useCallback(\n (isNextOpen: boolean) => {\n if (onOpenChangeFromProps != null) {\n onOpenChangeFromProps(isNextOpen);\n } else if (isNextOpen) {\n openMobileNav();\n } else {\n closeMobileNav();\n }\n },\n [openMobileNav, closeMobileNav, onOpenChangeFromProps],\n );\n const dialogRef = useRef<HTMLDialogElement>(null);\n\n useEffect(() => {\n const dialog = dialogRef.current;\n\n if (dialog == null) {\n return;\n }\n\n if (isOpen && !dialog.open) {\n dialog.showModal();\n\n const firstFocusable = dialog.querySelector<HTMLElement>(\n `a[href], button:not(${CLOSE_BUTTON_SELECTOR}):not([disabled])`,\n );\n if (firstFocusable != null) {\n firstFocusable.focus();\n }\n } else if (!isOpen && dialog.open) {\n dialog.close();\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isOpen) {\n return;\n }\n\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isOpen]);\n\n const formattedSize = formatSize(size);\n\n return (\n <dialog\n aria-label={label ?? (typeof header === 'string' ? header : 'Navigation')}\n className={cx(mobileNavRecipe({isOpen}), className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n onOpenChange(false);\n }}\n onClick={event => {\n if (event.target === event.currentTarget) {\n onOpenChange(false);\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div\n className={cx(\n styles.drawer,\n side === 'start' ? styles.drawerStart : styles.drawerEnd,\n isOpen && styles.drawerOpen,\n )}\n style={{maxWidth: formattedSize, width: '100vw'}}>\n <div className={styles.header}>\n {header ?? <span />}\n <Button\n icon={X}\n isIconOnly\n label=\"Close navigation\"\n onClick={() => onOpenChange(false)}\n variant=\"ghost\"\n />\n </div>\n <div className={styles.body}>{children}</div>\n </div>\n </dialog>\n );\n}\n\nMobileNav.displayName = 'MobileNav';\n","import {Menu} from 'lucide-react';\nimport type {CSSProperties, Ref} from 'react';\nimport {useAppShellMobile} from '../../components/AppShell/AppShellMobileContext';\nimport {Button} from '../../components/Button';\n\n/**\n * Props for {@link MobileNavToggle}.\n */\nexport interface MobileNavToggleProps {\n /**\n * Additional CSS class names applied to the toggle button.\n */\n className?: string;\n /**\n * Test ID applied to the toggle button.\n */\n 'data-testid'?: string;\n /**\n * Accessible label for the toggle button.\n * @default 'Open navigation'\n */\n label?: string;\n /**\n * Ref forwarded to the toggle button.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Inline styles applied to the toggle button.\n */\n style?: CSSProperties;\n}\n\n/**\n * Hamburger-style button that toggles the mobile navigation drawer.\n * Renders nothing when the viewport is above the mobile breakpoint or\n * mobile navigation is disabled.\n */\nexport function MobileNavToggle({\n className,\n 'data-testid': dataTestId,\n label = 'Open navigation',\n ref,\n style,\n}: MobileNavToggleProps): React.JSX.Element | null {\n const {isMobile, isMobileNavEnabled, toggleMobileNav} = useAppShellMobile();\n\n if (!isMobile || !isMobileNavEnabled) {\n return null;\n }\n\n return (\n <Button\n className={className}\n data-testid={dataTestId}\n icon={Menu}\n isIconOnly\n label={label}\n onClick={toggleMobileNav}\n ref={ref}\n style={style}\n variant=\"ghost\"\n />\n );\n}\n\nMobileNavToggle.displayName = 'MobileNavToggle';\n"]}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
import { sva } from './chunk-EHCAF6D3.js';
|
|
2
|
+
|
|
3
|
+
// src/components/Button/Button.recipe.ts
|
|
4
|
+
var buttonRecipe = sva({
|
|
5
|
+
slots: [
|
|
6
|
+
"root",
|
|
7
|
+
"content",
|
|
8
|
+
"icon",
|
|
9
|
+
"label",
|
|
10
|
+
"startContent",
|
|
11
|
+
"endContent",
|
|
12
|
+
"loadingIndicator"
|
|
13
|
+
],
|
|
14
|
+
base: {
|
|
15
|
+
root: {
|
|
16
|
+
position: "relative",
|
|
17
|
+
display: "inline-flex",
|
|
18
|
+
alignItems: "center",
|
|
19
|
+
justifyContent: "center",
|
|
20
|
+
borderWidth: 0,
|
|
21
|
+
borderStyle: "none",
|
|
22
|
+
fontFamily: "body",
|
|
23
|
+
fontWeight: "medium",
|
|
24
|
+
cursor: "pointer",
|
|
25
|
+
transitionProperty: "background-color, color, opacity, transform",
|
|
26
|
+
transitionDuration: "fast",
|
|
27
|
+
transitionTimingFunction: "default",
|
|
28
|
+
userSelect: "none",
|
|
29
|
+
lineHeight: "tight",
|
|
30
|
+
textDecoration: "none",
|
|
31
|
+
whiteSpace: "nowrap",
|
|
32
|
+
_active: {
|
|
33
|
+
transform: "scale(0.98)"
|
|
34
|
+
},
|
|
35
|
+
_disabled: {
|
|
36
|
+
opacity: 0.5,
|
|
37
|
+
cursor: "not-allowed",
|
|
38
|
+
pointerEvents: "none",
|
|
39
|
+
transform: "none"
|
|
40
|
+
},
|
|
41
|
+
'&[aria-disabled="true"]': {
|
|
42
|
+
opacity: 0.5,
|
|
43
|
+
cursor: "not-allowed",
|
|
44
|
+
pointerEvents: "auto",
|
|
45
|
+
transform: "none"
|
|
46
|
+
},
|
|
47
|
+
_focusVisible: {
|
|
48
|
+
outlineWidth: "focus",
|
|
49
|
+
outlineStyle: "solid",
|
|
50
|
+
outlineColor: "primary",
|
|
51
|
+
outlineOffset: "focusOffsetLoose"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
content: {
|
|
55
|
+
display: "contents"
|
|
56
|
+
},
|
|
57
|
+
icon: {
|
|
58
|
+
display: "inline-flex",
|
|
59
|
+
alignItems: "center",
|
|
60
|
+
justifyContent: "center",
|
|
61
|
+
flexShrink: 0
|
|
62
|
+
},
|
|
63
|
+
label: {
|
|
64
|
+
overflow: "hidden",
|
|
65
|
+
textOverflow: "ellipsis",
|
|
66
|
+
minW: 0,
|
|
67
|
+
// The label is a (blockified) flex item, so `overflow: hidden` clips it to
|
|
68
|
+
// its line box. With a tight line-height that crops descenders (e.g. the
|
|
69
|
+
// "g" in "changes"), so pad the clip box vertically and cancel the padding
|
|
70
|
+
// with a negative margin to keep layout unchanged.
|
|
71
|
+
py: "0.25em",
|
|
72
|
+
mt: "-0.35em",
|
|
73
|
+
mb: "-0.25em"
|
|
74
|
+
},
|
|
75
|
+
startContent: {
|
|
76
|
+
display: "inline-flex",
|
|
77
|
+
alignItems: "center",
|
|
78
|
+
color: "inherit"
|
|
79
|
+
},
|
|
80
|
+
endContent: {
|
|
81
|
+
display: "inline-flex",
|
|
82
|
+
alignItems: "center",
|
|
83
|
+
color: "inherit"
|
|
84
|
+
},
|
|
85
|
+
loadingIndicator: {
|
|
86
|
+
display: "inline-flex",
|
|
87
|
+
alignItems: "center",
|
|
88
|
+
color: "inherit"
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
variants: {
|
|
92
|
+
variant: {
|
|
93
|
+
primary: {
|
|
94
|
+
root: {
|
|
95
|
+
bg: "primary",
|
|
96
|
+
color: "fg.onPrimary",
|
|
97
|
+
_hover: { bg: "primary.hover" },
|
|
98
|
+
_active: { bg: "primary.active" }
|
|
99
|
+
}
|
|
100
|
+
},
|
|
101
|
+
secondary: {
|
|
102
|
+
root: {
|
|
103
|
+
bg: "surface.gray",
|
|
104
|
+
color: "fg",
|
|
105
|
+
_hover: { bg: "surface.gray.hover" },
|
|
106
|
+
_active: { bg: "surface.gray.hover" }
|
|
107
|
+
}
|
|
108
|
+
},
|
|
109
|
+
ghost: {
|
|
110
|
+
root: {
|
|
111
|
+
color: "fg",
|
|
112
|
+
bg: "transparent",
|
|
113
|
+
_hover: { bg: "bg.ghost.hover" },
|
|
114
|
+
_active: { bg: "bg.ghost.active" }
|
|
115
|
+
}
|
|
116
|
+
},
|
|
117
|
+
destructive: {
|
|
118
|
+
root: {
|
|
119
|
+
bg: "destructive",
|
|
120
|
+
color: "destructive.fg",
|
|
121
|
+
_hover: { bg: "destructive.hover" },
|
|
122
|
+
_active: { bg: "destructive.active" },
|
|
123
|
+
_focusVisible: {
|
|
124
|
+
outlineColor: "destructive"
|
|
125
|
+
}
|
|
126
|
+
}
|
|
127
|
+
},
|
|
128
|
+
onSolid: {
|
|
129
|
+
root: {
|
|
130
|
+
color: "inherit",
|
|
131
|
+
bg: "transparent",
|
|
132
|
+
_hover: { bg: "color-mix(in srgb, currentColor 15%, transparent)" },
|
|
133
|
+
_active: { bg: "color-mix(in srgb, currentColor 20%, transparent)" },
|
|
134
|
+
_focusVisible: {
|
|
135
|
+
outlineColor: "currentColor"
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
size: {
|
|
141
|
+
sm: {
|
|
142
|
+
root: {
|
|
143
|
+
h: "component.sm",
|
|
144
|
+
px: "component.sm",
|
|
145
|
+
fontSize: "component.sm",
|
|
146
|
+
gap: "1.5",
|
|
147
|
+
borderRadius: "component.sm",
|
|
148
|
+
"--button-icon-size": "var(--silver-sizes-icon-sm)"
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
md: {
|
|
152
|
+
root: {
|
|
153
|
+
h: "component.md",
|
|
154
|
+
px: "component.md",
|
|
155
|
+
fontSize: "component.md",
|
|
156
|
+
gap: "2",
|
|
157
|
+
borderRadius: "component.md",
|
|
158
|
+
"--button-icon-size": "var(--silver-sizes-icon-md)"
|
|
159
|
+
}
|
|
160
|
+
},
|
|
161
|
+
lg: {
|
|
162
|
+
root: {
|
|
163
|
+
h: "component.lg",
|
|
164
|
+
px: "component.lg",
|
|
165
|
+
fontSize: "component.lg",
|
|
166
|
+
gap: "2.5",
|
|
167
|
+
borderRadius: "component.lg",
|
|
168
|
+
"--button-icon-size": "var(--silver-sizes-icon-lg)"
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
},
|
|
172
|
+
iconOnly: {
|
|
173
|
+
true: {
|
|
174
|
+
root: {
|
|
175
|
+
aspectRatio: "square",
|
|
176
|
+
px: 0
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
false: {}
|
|
180
|
+
}
|
|
181
|
+
},
|
|
182
|
+
defaultVariants: {
|
|
183
|
+
variant: "secondary",
|
|
184
|
+
size: "md",
|
|
185
|
+
iconOnly: false
|
|
186
|
+
}
|
|
187
|
+
});
|
|
188
|
+
|
|
189
|
+
export { buttonRecipe };
|
|
190
|
+
//# sourceMappingURL=chunk-YNTPHZFJ.js.map
|
|
191
|
+
//# sourceMappingURL=chunk-YNTPHZFJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Button/Button.recipe.ts"],"names":[],"mappings":"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","file":"chunk-YNTPHZFJ.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const buttonRecipe = sva({\n slots: [\n 'root',\n 'content',\n 'icon',\n 'label',\n 'startContent',\n 'endContent',\n 'loadingIndicator',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 0,\n borderStyle: 'none',\n fontFamily: 'body',\n fontWeight: 'medium',\n cursor: 'pointer',\n transitionProperty: 'background-color, color, opacity, transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n userSelect: 'none',\n lineHeight: 'tight',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n _active: {\n transform: 'scale(0.98)',\n },\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n transform: 'none',\n },\n '&[aria-disabled=\"true\"]': {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'auto',\n transform: 'none',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffsetLoose',\n },\n },\n content: {\n display: 'contents',\n },\n icon: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n label: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minW: 0,\n // The label is a (blockified) flex item, so `overflow: hidden` clips it to\n // its line box. With a tight line-height that crops descenders (e.g. the\n // \"g\" in \"changes\"), so pad the clip box vertically and cancel the padding\n // with a negative margin to keep layout unchanged.\n py: '0.25em',\n mt: '-0.35em',\n mb: '-0.25em',\n },\n startContent: {\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n },\n loadingIndicator: {\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n },\n },\n variants: {\n variant: {\n primary: {\n root: {\n bg: 'primary',\n color: 'fg.onPrimary',\n _hover: {bg: 'primary.hover'},\n _active: {bg: 'primary.active'},\n },\n },\n secondary: {\n root: {\n bg: 'surface.gray',\n color: 'fg',\n _hover: {bg: 'surface.gray.hover'},\n _active: {bg: 'surface.gray.hover'},\n },\n },\n ghost: {\n root: {\n color: 'fg',\n bg: 'transparent',\n _hover: {bg: 'bg.ghost.hover'},\n _active: {bg: 'bg.ghost.active'},\n },\n },\n destructive: {\n root: {\n bg: 'destructive',\n color: 'destructive.fg',\n _hover: {bg: 'destructive.hover'},\n _active: {bg: 'destructive.active'},\n _focusVisible: {\n outlineColor: 'destructive',\n },\n },\n },\n onSolid: {\n root: {\n color: 'inherit',\n bg: 'transparent',\n _hover: {bg: 'color-mix(in srgb, currentColor 15%, transparent)'},\n _active: {bg: 'color-mix(in srgb, currentColor 20%, transparent)'},\n _focusVisible: {\n outlineColor: 'currentColor',\n },\n },\n },\n },\n size: {\n sm: {\n root: {\n h: 'component.sm',\n px: 'component.sm',\n fontSize: 'component.sm',\n gap: '1.5',\n borderRadius: 'component.sm',\n '--button-icon-size': 'var(--silver-sizes-icon-sm)',\n },\n },\n md: {\n root: {\n h: 'component.md',\n px: 'component.md',\n fontSize: 'component.md',\n gap: '2',\n borderRadius: 'component.md',\n '--button-icon-size': 'var(--silver-sizes-icon-md)',\n },\n },\n lg: {\n root: {\n h: 'component.lg',\n px: 'component.lg',\n fontSize: 'component.lg',\n gap: '2.5',\n borderRadius: 'component.lg',\n '--button-icon-size': 'var(--silver-sizes-icon-lg)',\n },\n },\n },\n iconOnly: {\n true: {\n root: {\n aspectRatio: 'square',\n px: 0,\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n variant: 'secondary',\n size: 'md',\n iconOnly: false,\n },\n});\n\nexport type ButtonVariants = RecipeVariantProps<typeof buttonRecipe>;\n"]}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import { BaseAutocompleteInput } from './chunk-
|
|
2
|
-
import { Tag } from './chunk-
|
|
1
|
+
import { BaseAutocompleteInput } from './chunk-HNROO7CR.js';
|
|
2
|
+
import { Tag } from './chunk-M3IKL2VG.js';
|
|
3
3
|
import { inputStyles, inputRecipe } from './chunk-3M23WX6K.js';
|
|
4
|
-
import { getNecessity, Field } from './chunk-
|
|
4
|
+
import { getNecessity, Field } from './chunk-ASJ5CBCR.js';
|
|
5
5
|
import { getStatusMessageID, getDescribedBy } from './chunk-WOIWI2UO.js';
|
|
6
|
-
import { Button } from './chunk-
|
|
6
|
+
import { Button } from './chunk-RVENUWRD.js';
|
|
7
7
|
import { useLayer, useIsomorphicLayoutEffect } from './chunk-ZNUOFLCQ.js';
|
|
8
8
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
9
|
+
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
9
10
|
import { Icon } from './chunk-7T3SWOY7.js';
|
|
10
11
|
import { cx } from './chunk-PPNETWIP.js';
|
|
11
12
|
import { css } from './chunk-OD4DHHZH.js';
|
|
@@ -144,7 +145,7 @@ function OverflowList({
|
|
|
144
145
|
style: { gap },
|
|
145
146
|
children: [
|
|
146
147
|
childArray,
|
|
147
|
-
measureIndicator
|
|
148
|
+
isReactNode(measureIndicator) ? /* @__PURE__ */ jsx("div", { className: styles.measureIndicator, children: measureIndicator }) : null
|
|
148
149
|
]
|
|
149
150
|
}
|
|
150
151
|
),
|
|
@@ -270,13 +271,14 @@ function TagsInput({
|
|
|
270
271
|
value
|
|
271
272
|
}) {
|
|
272
273
|
const inputId = useId();
|
|
273
|
-
const descriptionID = description
|
|
274
|
+
const descriptionID = isReactNode(description) ? `${inputId}-description` : void 0;
|
|
274
275
|
const statusMessageID = getStatusMessageID(inputId, status);
|
|
275
276
|
const describedBy = getDescribedBy(descriptionID, statusMessageID);
|
|
276
277
|
const inputRef = useRef(null);
|
|
277
278
|
const wrapperRef = useRef(null);
|
|
278
279
|
const [isFocusedWithin, setIsFocusedWithin] = useState(false);
|
|
279
280
|
const [announcement, setAnnouncement] = useState("");
|
|
281
|
+
const [queryValue, setQueryValue] = useState("");
|
|
280
282
|
const isLayerMode = tagOverflowBehavior === "unfocusedLayer";
|
|
281
283
|
const layer = useLayer();
|
|
282
284
|
const layerContentRef = useRef(null);
|
|
@@ -403,11 +405,15 @@ function TagsInput({
|
|
|
403
405
|
}
|
|
404
406
|
document.addEventListener(
|
|
405
407
|
"click",
|
|
406
|
-
() =>
|
|
408
|
+
(event) => {
|
|
409
|
+
if (isFocusInTagsInput(event.target)) {
|
|
410
|
+
requestAnimationFrame(() => inputRef.current?.focus());
|
|
411
|
+
}
|
|
412
|
+
},
|
|
407
413
|
{ once: true }
|
|
408
414
|
);
|
|
409
415
|
}
|
|
410
|
-
}, [isDisabled, isLayerMode, layer]);
|
|
416
|
+
}, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);
|
|
411
417
|
const necessity = getNecessity(isOptional, isRequired);
|
|
412
418
|
const tokens = value.map((item) => /* @__PURE__ */ jsx("span", { className: styles2.tag, children: renderTag == null ? /* @__PURE__ */ jsx(
|
|
413
419
|
Tag,
|
|
@@ -468,6 +474,7 @@ function TagsInput({
|
|
|
468
474
|
emptySearchResultsText,
|
|
469
475
|
hasAutoFocus,
|
|
470
476
|
hasEntriesOnFocus,
|
|
477
|
+
hasReopenOnSelect: hasEntriesOnFocus,
|
|
471
478
|
inputId,
|
|
472
479
|
isDisabled: isDisabled || isReadOnly || isAtMax,
|
|
473
480
|
maxMenuItems,
|
|
@@ -501,8 +508,12 @@ function TagsInput({
|
|
|
501
508
|
removeItem(item);
|
|
502
509
|
}
|
|
503
510
|
},
|
|
504
|
-
onQueryChange
|
|
511
|
+
onQueryChange: (nextQuery) => {
|
|
512
|
+
setQueryValue(nextQuery);
|
|
513
|
+
onQueryChange?.(nextQuery);
|
|
514
|
+
},
|
|
505
515
|
placeholder: value.length === 0 ? placeholder : void 0,
|
|
516
|
+
query: queryValue,
|
|
506
517
|
ref: inputRef,
|
|
507
518
|
renderItem,
|
|
508
519
|
searchSource: filteredSource,
|
|
@@ -510,7 +521,7 @@ function TagsInput({
|
|
|
510
521
|
value: null
|
|
511
522
|
}
|
|
512
523
|
),
|
|
513
|
-
endContent
|
|
524
|
+
isReactNode(endContent) ? /* @__PURE__ */ jsx("span", { className: styles2.endContent, children: endContent }) : null,
|
|
514
525
|
hasClear && value.length > 0 && !isDisabled && !isReadOnly ? /* @__PURE__ */ jsx(
|
|
515
526
|
Button,
|
|
516
527
|
{
|
|
@@ -613,5 +624,5 @@ function TagsInput({
|
|
|
613
624
|
TagsInput.displayName = "TagsInput";
|
|
614
625
|
|
|
615
626
|
export { TagsInput };
|
|
616
|
-
//# sourceMappingURL=chunk-
|
|
617
|
-
//# sourceMappingURL=chunk-
|
|
627
|
+
//# sourceMappingURL=chunk-YSTESYUB.js.map
|
|
628
|
+
//# sourceMappingURL=chunk-YSTESYUB.js.map
|