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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/useGridFocus.ts","../src/components/Calendar/Calendar.recipe.ts","../src/components/Calendar/Calendar.tsx"],"names":["useRef","useCallback","sva","getDaysInMonth","plainDateCreate","plainDateDayOfWeek","plainDateIsBefore","plainDateIsAfter","getBrowserTimezoneID","useMemo","plainDateToday","useState","plainDateFormat","DATE_FORMAT_MONTH_YEAR","useImperativeHandle","jsxs","cx","jsx","Button","ChevronLeft","ChevronRight","memo","MonthGrid","Temporal","useEffect","plainDateIsEqual","plainDateGetWeekNumber","DayCell","plainDateIsInRange","DATE_FORMAT_WITH_WEEKDAY"],"mappings":"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","file":"chunk-5GNYP3PH.cjs","sourcesContent":["import {useCallback, useRef} from 'react';\n\nexport interface UseGridFocusOptions {\n cellSelector?: string;\n columns: number;\n onNavigateAfter?: (column: number, offset: number) => void;\n onNavigateBefore?: (column: number, offset: number) => void;\n onPageDown?: () => void;\n onPageUp?: () => void;\n}\n\nexport interface UseGridFocusReturn<T extends HTMLElement = HTMLElement> {\n focusCell: (index: number) => void;\n focusFirst: () => void;\n focusLast: () => void;\n gridRef: React.RefObject<T | null>;\n handleKeyDown: (event: React.KeyboardEvent) => void;\n}\n\nexport function useGridFocus<T extends HTMLElement = HTMLElement>({\n columns,\n cellSelector = 'button:not([disabled]), [tabindex]:not([tabindex=\"-1\"])',\n onNavigateAfter,\n onNavigateBefore,\n onPageDown,\n onPageUp,\n}: UseGridFocusOptions): UseGridFocusReturn<T> {\n const gridRef = useRef<T>(null);\n\n const getCells = useCallback(() => {\n return gridRef.current == null\n ? []\n : Array.from(gridRef.current.querySelectorAll<HTMLElement>(cellSelector));\n }, [cellSelector]);\n\n const focusCell = useCallback(\n (index: number) => {\n const cells = getCells();\n const clampedIndex = Math.max(0, Math.min(index, cells.length - 1));\n cells[clampedIndex]?.focus();\n },\n [getCells],\n );\n\n const focusFirst = useCallback(() => focusCell(0), [focusCell]);\n\n const focusLast = useCallback(() => {\n const cells = getCells();\n cells.at(-1)?.focus();\n }, [getCells]);\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent) => {\n const cells = getCells();\n const currentIndex = cells.findIndex(\n cell => cell === document.activeElement,\n );\n if (currentIndex === -1) {\n return;\n }\n\n const currentRow = Math.floor(currentIndex / columns);\n const currentColumn = currentIndex % columns;\n const totalRows = Math.ceil(cells.length / columns);\n let nextIndex: number | null = null;\n\n switch (event.key) {\n case 'ArrowRight':\n nextIndex = currentIndex + 1;\n break;\n case 'ArrowLeft':\n nextIndex = currentIndex - 1;\n break;\n case 'ArrowDown':\n if (currentRow >= totalRows - 1) {\n onNavigateAfter?.(currentColumn, columns);\n } else {\n nextIndex = currentIndex + columns;\n }\n break;\n case 'ArrowUp':\n if (currentRow <= 0) {\n onNavigateBefore?.(currentColumn, columns);\n } else {\n nextIndex = currentIndex - columns;\n }\n break;\n case 'Home':\n nextIndex = event.ctrlKey || event.metaKey ? 0 : currentRow * columns;\n break;\n case 'End':\n nextIndex =\n event.ctrlKey || event.metaKey\n ? cells.length - 1\n : Math.min((currentRow + 1) * columns - 1, cells.length - 1);\n break;\n case 'PageUp':\n onPageUp?.();\n break;\n case 'PageDown':\n onPageDown?.();\n break;\n default:\n return;\n }\n\n event.preventDefault();\n event.stopPropagation();\n\n if (nextIndex == null) {\n return;\n }\n\n if (nextIndex < 0) {\n onNavigateBefore?.(currentColumn, 1);\n return;\n }\n\n if (nextIndex >= cells.length) {\n onNavigateAfter?.(currentColumn, 1);\n return;\n }\n\n cells[nextIndex]?.focus();\n },\n [\n columns,\n getCells,\n onNavigateAfter,\n onNavigateBefore,\n onPageDown,\n onPageUp,\n ],\n );\n\n return {gridRef, handleKeyDown, focusCell, focusFirst, focusLast};\n}\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const calendarRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'monthYear',\n 'months',\n 'monthGrid',\n 'weekHeader',\n 'dayName',\n 'daysGrid',\n 'weekRow',\n 'weekNumber',\n 'cell',\n 'rangeBackground',\n 'day',\n ],\n base: {\n root: {\n display: 'inline-block',\n minW: '220px',\n color: 'fg',\n fontFamily: 'body',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '2',\n mb: '2',\n },\n monthYear: {\n flex: 1,\n textAlign: 'center',\n fontSize: 'sm',\n fontWeight: 'semibold',\n },\n months: {\n display: 'flex',\n gap: '4',\n },\n monthGrid: {\n flex: '1 1 0',\n },\n weekHeader: {\n display: 'grid',\n gridTemplateColumns: 'repeat(7, 1fr)',\n mb: '1',\n },\n dayName: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'component.md',\n h: 'component.md',\n color: 'fg.muted',\n fontSize: 'sm',\n },\n daysGrid: {\n display: 'grid',\n gridTemplateColumns: 'repeat(7, 1fr)',\n },\n weekRow: {\n display: 'contents',\n },\n weekNumber: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'component.md',\n h: 'component.md',\n color: 'fg.muted',\n fontSize: 'sm',\n },\n cell: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n h: 'component.md',\n isolation: 'isolate',\n },\n rangeBackground: {\n position: 'absolute',\n insetBlock: '2px',\n insetInline: 0,\n },\n day: {\n position: 'relative',\n zIndex: 1,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'component.sm',\n h: 'component.sm',\n p: 0,\n borderWidth: 0,\n borderStyle: 'none',\n borderRadius: 'full',\n bg: 'transparent',\n color: 'fg',\n cursor: 'pointer',\n fontFamily: 'inherit',\n fontSize: 'md',\n transitionProperty: 'background-color, color',\n transitionDuration: 'fast',\n _hover: {\n bg: 'bg.subtle',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n },\n variants: {\n // Reserve a leading column for ISO week numbers in the header and grid.\n hasWeekNumbers: {\n true: {\n weekHeader: {gridTemplateColumns: 'auto repeat(7, 1fr)'},\n daysGrid: {gridTemplateColumns: 'auto repeat(7, 1fr)'},\n },\n false: {},\n },\n isOutside: {\n true: {day: {color: 'fg.muted', opacity: 0.55}},\n false: {},\n },\n // Marker variant; the today ring is suppressed for selected/in-range days,\n // so the real styling lives in compoundVariants below.\n isToday: {\n true: {},\n false: {},\n },\n isSelected: {\n true: {\n day: {\n bg: 'primary',\n color: 'fg.onPrimary',\n _hover: {bg: 'primary'},\n },\n },\n false: {},\n },\n // Marker variant; only used to suppress the today ring on range middles.\n isInRange: {\n true: {},\n false: {},\n },\n // Declared after isOutside so the disabled opacity wins when both apply.\n // Outside days are `aria-disabled` but intentionally not natively\n // `disabled` (that would drop them from useGridFocus's dense-grid index\n // math), so the not-allowed cursor is driven from this variant rather than\n // the native `:disabled` pseudo.\n isDisabled: {\n true: {day: {opacity: 0.35, cursor: 'not-allowed'}},\n false: {},\n },\n rangeTone: {\n range: {rangeBackground: {bg: 'bg.selected'}},\n preview: {rangeBackground: {bg: 'bg.subtle'}},\n },\n roundedStart: {\n true: {\n rangeBackground: {\n left: '2px',\n borderTopLeftRadius: 'full',\n borderBottomLeftRadius: 'full',\n },\n },\n false: {},\n },\n roundedEnd: {\n true: {\n rangeBackground: {\n right: '2px',\n borderTopRightRadius: 'full',\n borderBottomRightRadius: 'full',\n },\n },\n false: {},\n },\n },\n compoundVariants: [\n {\n isToday: true,\n isSelected: false,\n isInRange: false,\n css: {\n day: {boxShadow: 'inset 0 0 0 1px token(colors.border.emphasized)'},\n },\n },\n ],\n defaultVariants: {\n hasWeekNumbers: false,\n isOutside: false,\n isToday: false,\n isSelected: false,\n isInRange: false,\n isDisabled: false,\n rangeTone: 'range',\n roundedStart: false,\n roundedEnd: false,\n },\n});\n\nexport type CalendarVariants = RecipeVariantProps<typeof calendarRecipe>;\n","import {Temporal} from '@js-temporal/polyfill';\nimport {ChevronLeft, ChevronRight} from 'lucide-react';\nimport {\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport type {DateRange, DayOfWeek} from '../../internal/dateTypes';\nimport {\n DATE_FORMAT_MONTH_YEAR,\n DATE_FORMAT_WITH_WEEKDAY,\n getDaysInMonth,\n plainDateCreate,\n plainDateDayOfWeek,\n plainDateFormat,\n plainDateGetWeekNumber,\n plainDateIsAfter,\n plainDateIsBefore,\n plainDateIsEqual,\n plainDateIsInRange,\n plainDateToday,\n type PlainDate,\n} from '../../internal/plainDate';\nimport {getBrowserTimezoneID} from '../../internal/time';\nimport {useGridFocus} from '../../internal/useGridFocus';\nimport {Button} from '../Button';\nimport {calendarRecipe} from './Calendar.recipe';\n\nexport type {DateRange, DayOfWeek} from '../../internal/dateTypes';\n\nexport interface CalendarHandle {\n navigateTo: (date: PlainDate) => void;\n}\n\ninterface CalendarBaseProps {\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 * Returns true for dates that should be disabled.\n */\n getIsDateDisabled?: (date: PlainDate) => boolean;\n /**\n * Whether to show outside-month days.\n * @default true\n */\n hasOutsideDays?: boolean;\n /**\n * Whether month grids use only needed rows rather than a fixed six rows.\n * @default false\n */\n hasVariableRowCount?: boolean;\n /**\n * Whether to show ISO week numbers.\n * @default false\n */\n hasWeekNumbers?: boolean;\n /**\n * Maximum selectable date.\n */\n max?: PlainDate;\n /**\n * Minimum selectable date.\n */\n min?: PlainDate;\n /**\n * Number of months displayed.\n * @default 1\n */\n numberOfMonths?: 1 | 2;\n /**\n * Called when the visible month changes.\n */\n onViewDateChange?: (viewDate: PlainDate) => void;\n /**\n * Ref exposing imperative calendar navigation.\n */\n ref?: Ref<CalendarHandle>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Timezone used to determine today's date.\n * @default browser timezone\n */\n timezoneID?: string;\n /**\n * Controlled visible month.\n */\n viewDate?: PlainDate;\n /**\n * First day of week, where 0 is Sunday.\n * @default 0\n */\n weekStartsOn?: DayOfWeek;\n}\n\ninterface CalendarSingleProps extends CalendarBaseProps {\n /**\n * Default selected date for uncontrolled usage.\n */\n defaultValue?: PlainDate;\n /**\n * Selection mode. Defaults to 'single'.\n */\n mode?: 'single';\n /**\n * Called when the selected date changes.\n */\n onChange: (value: PlainDate) => void;\n /**\n * Controlled selected date.\n */\n value?: PlainDate;\n}\n\ninterface CalendarRangeProps extends CalendarBaseProps {\n /**\n * Default selected range for uncontrolled usage.\n */\n defaultValue?: DateRange;\n /**\n * Selection mode set to 'range'.\n */\n mode: 'range';\n /**\n * Called when the selected date range changes.\n */\n onChange: (value: DateRange) => void;\n /**\n * Controlled selected date range.\n */\n value?: DateRange;\n}\n\nexport type CalendarProps = CalendarSingleProps | CalendarRangeProps;\n\ninterface CalendarDay {\n date: PlainDate;\n dayNumber: number;\n isOutside: boolean;\n}\n\nfunction generateCalendarDays({\n year,\n month,\n weekStartsOn,\n hasVariableRowCount,\n}: {\n hasVariableRowCount: boolean;\n month: number;\n weekStartsOn: DayOfWeek;\n year: number;\n}): {dayNames: string[]; weeks: CalendarDay[][]} {\n const names = ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n const dayNames = Array.from({length: 7}, (_, index) => {\n return names[(index + weekStartsOn) % 7];\n });\n const daysInMonth = getDaysInMonth(year, month);\n const firstOfMonth = plainDateCreate(year, month, 1);\n let startOffset = plainDateDayOfWeek(firstOfMonth) - weekStartsOn;\n if (startOffset < 0) {\n startOffset += 7;\n }\n\n const totalDays = daysInMonth + startOffset;\n const totalRows = hasVariableRowCount ? Math.ceil(totalDays / 7) : 6;\n const days = Array.from({length: totalRows * 7}, (_, index) => {\n const dayOffset = index - startOffset + 1;\n const isOutside = dayOffset < 1 || dayOffset > daysInMonth;\n const date = isOutside\n ? firstOfMonth.add({days: dayOffset - 1})\n : plainDateCreate(year, month, dayOffset);\n\n return {\n date,\n dayNumber: date.day,\n isOutside,\n };\n });\n\n const weeks: CalendarDay[][] = [];\n for (let index = 0; index < days.length; index += 7) {\n weeks.push(days.slice(index, index + 7));\n }\n\n return {dayNames, weeks};\n}\n\nfunction checkDateDisabled(\n date: PlainDate,\n options: {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n max?: PlainDate;\n min?: PlainDate;\n },\n): boolean {\n if (options.min != null && plainDateIsBefore(date, options.min)) {\n return true;\n }\n\n if (options.max != null && plainDateIsAfter(date, options.max)) {\n return true;\n }\n\n return options.getIsDateDisabled?.(date) ?? false;\n}\n\nfunction getSelectedTabDate({\n days,\n getIsDisabled,\n month,\n selectedDate,\n today,\n year,\n}: {\n days: CalendarDay[];\n getIsDisabled: (date: PlainDate) => boolean;\n month: number;\n selectedDate: PlainDate | null;\n today: PlainDate;\n year: number;\n}): PlainDate | null {\n if (\n selectedDate?.year === year &&\n selectedDate.month === month &&\n !getIsDisabled(selectedDate)\n ) {\n return selectedDate;\n }\n\n if (today.year === year && today.month === month && !getIsDisabled(today)) {\n return today;\n }\n\n return (\n days.find(day => !day.isOutside && !getIsDisabled(day.date))?.date ?? null\n );\n}\n\n/**\n * A date picker calendar supporting single date and date range selection.\n */\nexport function Calendar({\n className,\n 'data-testid': dataTestId,\n defaultValue,\n getIsDateDisabled: getIsDateDisabledProp,\n hasOutsideDays = true,\n hasVariableRowCount = false,\n hasWeekNumbers = false,\n max,\n min,\n mode = 'single',\n numberOfMonths = 1,\n onChange,\n onViewDateChange,\n ref,\n style,\n timezoneID,\n value,\n viewDate: viewDateFromProps,\n weekStartsOn = 0,\n}: CalendarProps): React.JSX.Element {\n const effectiveTimezoneID = timezoneID ?? getBrowserTimezoneID();\n const today = useMemo(\n () => plainDateToday(effectiveTimezoneID),\n [effectiveTimezoneID],\n );\n const [internalValue, setInternalValue] = useState<\n DateRange | PlainDate | undefined\n >(defaultValue);\n const [rangeSelectionStart, setRangeSelectionStart] =\n useState<PlainDate | null>(null);\n const [hoveredDate, setHoveredDate] = useState<PlainDate | null>(null);\n const [pendingFocus, setPendingFocus] = useState<PlainDate | null>(null);\n const effectiveValue = value ?? internalValue;\n const isViewDateControlled =\n viewDateFromProps != null && onViewDateChange != null;\n const [internalViewDate, setInternalViewDate] = useState(() => {\n if (viewDateFromProps != null) {\n return viewDateFromProps;\n }\n\n if (effectiveValue != null && 'year' in effectiveValue) {\n return effectiveValue;\n }\n\n if (effectiveValue != null && 'start' in effectiveValue) {\n return effectiveValue.start;\n }\n\n return today;\n });\n const viewDate = isViewDateControlled ? viewDateFromProps : internalViewDate;\n const baseMonth = useMemo(() => viewDate.with({day: 1}), [viewDate]);\n const visibleMonths = useMemo(\n () =>\n Array.from({length: numberOfMonths}, (_, index) =>\n baseMonth.add({months: index}),\n ),\n [baseMonth, numberOfMonths],\n );\n const monthYearLabel = useMemo(\n () =>\n visibleMonths\n .map(month => plainDateFormat(month, DATE_FORMAT_MONTH_YEAR))\n .join(' - '),\n [visibleMonths],\n );\n\n const canNavigatePrevious =\n min == null || plainDateIsBefore(min.with({day: 1}), baseMonth);\n const lastVisibleMonth = visibleMonths.at(-1) ?? baseMonth;\n const canNavigateNext =\n max == null || plainDateIsAfter(max.with({day: 1}), lastVisibleMonth);\n\n const navigateMonth = useCallback(\n (delta: number, nextFocus?: PlainDate) => {\n const nextMonth = baseMonth.add({months: delta});\n\n if (nextFocus != null) {\n setPendingFocus(nextFocus);\n }\n\n onViewDateChange?.(nextMonth);\n if (!isViewDateControlled) {\n setInternalViewDate(nextMonth);\n }\n },\n [baseMonth, isViewDateControlled, onViewDateChange],\n );\n\n useImperativeHandle(\n ref,\n () => ({\n navigateTo: date => {\n onViewDateChange?.(date);\n if (!isViewDateControlled) {\n setInternalViewDate(date);\n }\n },\n }),\n [isViewDateControlled, onViewDateChange],\n );\n\n const handleDayClick = useCallback(\n (date: PlainDate) => {\n if (mode === 'single') {\n setInternalValue(date);\n (onChange as CalendarSingleProps['onChange'])(date);\n return;\n }\n\n if (rangeSelectionStart == null) {\n setRangeSelectionStart(date);\n return;\n }\n\n const range = plainDateIsBefore(date, rangeSelectionStart)\n ? {start: date, end: rangeSelectionStart}\n : {start: rangeSelectionStart, end: date};\n setInternalValue(range);\n setRangeSelectionStart(null);\n (onChange as CalendarRangeProps['onChange'])(range);\n },\n [mode, onChange, rangeSelectionStart],\n );\n\n const handleNavigateNext = useCallback(\n (nextFocus: PlainDate) => navigateMonth(1, nextFocus),\n [navigateMonth],\n );\n\n const handleNavigatePrevious = useCallback(\n (nextFocus: PlainDate) => navigateMonth(-1, nextFocus),\n [navigateMonth],\n );\n\n const handlePendingFocusHandled = useCallback(\n () => setPendingFocus(null),\n [],\n );\n\n const styles = calendarRecipe();\n\n return (\n // eslint-disable-next-line jsx-a11y-x/no-static-element-interactions\n <div\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n onKeyDown={event => {\n if (\n mode === 'range' &&\n rangeSelectionStart != null &&\n event.key === 'Escape'\n ) {\n setRangeSelectionStart(null);\n event.preventDefault();\n event.stopPropagation();\n }\n }}\n style={style}>\n <div className={styles.header}>\n <Button\n icon={ChevronLeft}\n isDisabled={!canNavigatePrevious}\n isIconOnly\n label=\"Previous month\"\n onClick={() => navigateMonth(-1)}\n size=\"sm\"\n variant=\"ghost\"\n />\n <span className={styles.monthYear}>{monthYearLabel}</span>\n <Button\n icon={ChevronRight}\n isDisabled={!canNavigateNext}\n isIconOnly\n label=\"Next month\"\n onClick={() => navigateMonth(1)}\n size=\"sm\"\n variant=\"ghost\"\n />\n </div>\n <div className={styles.months}>\n {visibleMonths.map(month => (\n <MonthGrid\n getIsDateDisabled={getIsDateDisabledProp}\n hasOutsideDays={hasOutsideDays}\n hasVariableRowCount={hasVariableRowCount}\n hasWeekNumbers={hasWeekNumbers}\n hoveredDate={hoveredDate}\n key={month.toString()}\n max={max}\n min={min}\n mode={mode}\n month={month}\n onDayClick={handleDayClick}\n onDayHover={setHoveredDate}\n onNavigateNext={handleNavigateNext}\n onNavigatePrevious={handleNavigatePrevious}\n onPendingFocusHandled={handlePendingFocusHandled}\n pendingFocus={pendingFocus}\n rangeSelectionStart={rangeSelectionStart}\n today={today}\n value={effectiveValue}\n weekStartsOn={weekStartsOn}\n />\n ))}\n </div>\n </div>\n );\n}\n\ninterface MonthGridProps {\n getIsDateDisabled?: (date: PlainDate) => boolean;\n hasOutsideDays: boolean;\n hasVariableRowCount: boolean;\n hasWeekNumbers: boolean;\n hoveredDate: PlainDate | null;\n max?: PlainDate;\n min?: PlainDate;\n mode: 'single' | 'range';\n month: PlainDate;\n onDayClick: (date: PlainDate) => void;\n onDayHover: (date: PlainDate | null) => void;\n onNavigateNext: (nextFocus: PlainDate) => void;\n onNavigatePrevious: (nextFocus: PlainDate) => void;\n onPendingFocusHandled: () => void;\n pendingFocus: PlainDate | null;\n rangeSelectionStart: PlainDate | null;\n today: PlainDate;\n value: DateRange | PlainDate | undefined;\n weekStartsOn: DayOfWeek;\n}\n\nconst MonthGrid = memo(function MonthGrid({\n month,\n value,\n mode,\n rangeSelectionStart,\n hoveredDate,\n min,\n max,\n getIsDateDisabled: getIsDateDisabledProp,\n hasOutsideDays,\n hasWeekNumbers,\n hasVariableRowCount,\n weekStartsOn,\n onDayClick,\n onDayHover,\n today,\n onNavigatePrevious,\n onNavigateNext,\n pendingFocus,\n onPendingFocusHandled,\n}: MonthGridProps): React.JSX.Element {\n const {dayNames, weeks} = useMemo(\n () =>\n generateCalendarDays({\n year: month.year,\n month: month.month,\n weekStartsOn,\n hasVariableRowCount,\n }),\n [hasVariableRowCount, month.month, month.year, weekStartsOn],\n );\n const days = weeks.flat();\n const isDisabled = useCallback(\n (date: PlainDate) =>\n checkDateDisabled(date, {\n min,\n max,\n getIsDateDisabled: getIsDateDisabledProp,\n }),\n [getIsDateDisabledProp, max, min],\n );\n const selectedDate =\n mode === 'single' && value != null && 'year' in value ? value : null;\n const tabbableDate = getSelectedTabDate({\n days,\n getIsDisabled: isDisabled,\n month: month.month,\n selectedDate,\n today,\n year: month.year,\n });\n\n const getFocusedDate = useCallback((): PlainDate | null => {\n const activeElement = document.activeElement as HTMLElement | null;\n const date = activeElement?.dataset.date;\n return date == null ? null : Temporal.PlainDate.from(date);\n }, []);\n\n const {gridRef, handleKeyDown} = useGridFocus<HTMLDivElement>({\n columns: 7,\n cellSelector: 'button:not([disabled])',\n onNavigateBefore: (_column, offset) => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigatePrevious(focusedDate.subtract({days: offset}));\n }\n },\n onNavigateAfter: (_column, offset) => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigateNext(focusedDate.add({days: offset}));\n }\n },\n // Page keys move a whole month, keeping the same day. Temporal's default\n // `constrain` overflow clamps to the month's last day (e.g. Jan 31 -> Feb 28).\n onPageUp: () => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigatePrevious(focusedDate.subtract({months: 1}));\n }\n },\n onPageDown: () => {\n const focusedDate = getFocusedDate();\n if (focusedDate != null) {\n onNavigateNext(focusedDate.add({months: 1}));\n }\n },\n });\n\n useEffect(() => {\n if (pendingFocus == null || gridRef.current == null) {\n return;\n }\n\n const button = gridRef.current.querySelector<HTMLButtonElement>(\n `button[data-date=\"${pendingFocus.toString()}\"]`,\n );\n button?.focus();\n onPendingFocusHandled();\n }, [gridRef, onPendingFocusHandled, pendingFocus]);\n\n let rangeStart: PlainDate | null = null;\n let rangeEnd: PlainDate | null = null;\n if (mode === 'range' && value != null && 'start' in value) {\n rangeStart = value.start;\n rangeEnd = value.end;\n }\n if (rangeSelectionStart != null) {\n rangeStart = rangeSelectionStart;\n rangeEnd = rangeSelectionStart;\n }\n\n let previewStart: PlainDate | null = null;\n let previewEnd: PlainDate | null = null;\n if (mode === 'range' && rangeSelectionStart != null && hoveredDate != null) {\n if (!plainDateIsEqual(rangeSelectionStart, hoveredDate)) {\n previewStart = plainDateIsBefore(hoveredDate, rangeSelectionStart)\n ? hoveredDate\n : rangeSelectionStart;\n previewEnd = plainDateIsBefore(hoveredDate, rangeSelectionStart)\n ? rangeSelectionStart\n : hoveredDate;\n }\n }\n\n const styles = calendarRecipe({hasWeekNumbers});\n\n return (\n <div className={styles.monthGrid}>\n <div className={styles.weekHeader}>\n {hasWeekNumbers ? <div className={styles.dayName} /> : null}\n {dayNames.map(dayName => (\n <div className={styles.dayName} key={dayName} role=\"columnheader\">\n {dayName}\n </div>\n ))}\n </div>\n <div\n aria-label={plainDateFormat(month, DATE_FORMAT_MONTH_YEAR)}\n className={styles.daysGrid}\n onKeyDown={handleKeyDown}\n ref={gridRef}\n role=\"grid\"\n tabIndex={-1}>\n {weeks.map(week => {\n const weekDate =\n week.find(day => !day.isOutside)?.date ?? week[0].date;\n return (\n <div\n className={styles.weekRow}\n key={week[0].date.toString()}\n role=\"row\">\n {hasWeekNumbers ? (\n <div className={styles.weekNumber}>\n {plainDateGetWeekNumber(weekDate)}\n </div>\n ) : null}\n {week.map((day, dayIndex) => (\n <DayCell\n day={day}\n dayIndex={dayIndex}\n hasOutsideDays={hasOutsideDays}\n isDisabled={isDisabled(day.date)}\n isTabbable={\n tabbableDate != null &&\n plainDateIsEqual(tabbableDate, day.date)\n }\n key={day.date.toString()}\n mode={mode}\n onDayClick={onDayClick}\n onDayHover={onDayHover}\n previewEnd={previewEnd}\n previewStart={previewStart}\n rangeEnd={rangeEnd}\n rangeStart={rangeStart}\n selectedDate={selectedDate}\n today={today}\n />\n ))}\n </div>\n );\n })}\n </div>\n </div>\n );\n});\n\ninterface DayCellProps {\n day: CalendarDay;\n dayIndex: number;\n hasOutsideDays: boolean;\n isDisabled: boolean;\n isTabbable: boolean;\n mode: 'single' | 'range';\n onDayClick: (date: PlainDate) => void;\n onDayHover: (date: PlainDate | null) => void;\n previewEnd: PlainDate | null;\n previewStart: PlainDate | null;\n rangeEnd: PlainDate | null;\n rangeStart: PlainDate | null;\n selectedDate: PlainDate | null;\n today: PlainDate;\n}\n\nconst DayCell = memo(function DayCell({\n day,\n dayIndex,\n mode,\n selectedDate,\n rangeStart,\n rangeEnd,\n previewStart,\n previewEnd,\n today,\n hasOutsideDays,\n isDisabled,\n isTabbable,\n onDayClick,\n onDayHover,\n}: DayCellProps): React.JSX.Element {\n if (day.isOutside && !hasOutsideDays) {\n return <div className={calendarRecipe().cell} />;\n }\n\n const effectivelyDisabled = isDisabled || day.isOutside;\n const isToday = plainDateIsEqual(day.date, today);\n const isSelected =\n mode === 'single' &&\n selectedDate != null &&\n plainDateIsEqual(day.date, selectedDate);\n const isInRange =\n mode === 'range' &&\n rangeStart != null &&\n rangeEnd != null &&\n plainDateIsInRange(day.date, [rangeStart, rangeEnd]);\n const isRangeStart =\n mode === 'range' &&\n rangeStart != null &&\n plainDateIsEqual(day.date, rangeStart);\n const isRangeEnd =\n mode === 'range' &&\n rangeEnd != null &&\n plainDateIsEqual(day.date, rangeEnd);\n const isInPreview =\n previewStart != null &&\n previewEnd != null &&\n plainDateIsInRange(day.date, [previewStart, previewEnd]);\n const isPreviewStart =\n previewStart != null && plainDateIsEqual(day.date, previewStart);\n const isPreviewEnd =\n previewEnd != null && plainDateIsEqual(day.date, previewEnd);\n const isFirstColumn = dayIndex === 0;\n const isLastColumn = dayIndex === 6;\n\n const styles = calendarRecipe({\n isOutside: day.isOutside,\n isToday,\n isSelected: isSelected || isRangeStart || isRangeEnd,\n isInRange,\n isDisabled: effectivelyDisabled,\n });\n const rangeBackgroundClass = calendarRecipe({\n rangeTone: 'range',\n roundedStart: isRangeStart || isFirstColumn,\n roundedEnd: isRangeEnd || isLastColumn,\n }).rangeBackground;\n const previewBackgroundClass = calendarRecipe({\n rangeTone: 'preview',\n roundedStart: isPreviewStart || isFirstColumn,\n roundedEnd: isPreviewEnd || isLastColumn,\n }).rangeBackground;\n\n return (\n <div className={styles.cell}>\n {isInRange ? <div className={rangeBackgroundClass} /> : null}\n {isInPreview ? <div className={previewBackgroundClass} /> : null}\n <button\n aria-disabled={effectivelyDisabled || undefined}\n aria-label={plainDateFormat(day.date, DATE_FORMAT_WITH_WEEKDAY)}\n aria-selected={isSelected || isInRange || undefined}\n className={styles.day}\n data-date={day.date.toString()}\n disabled={isDisabled}\n onClick={() => {\n if (!effectivelyDisabled) {\n onDayClick(day.date);\n }\n }}\n onMouseEnter={() => {\n if (!effectivelyDisabled) {\n onDayHover(day.date);\n }\n }}\n onMouseLeave={() => onDayHover(null)}\n role=\"gridcell\"\n tabIndex={isTabbable ? 0 : -1}\n type=\"button\">\n {day.dayNumber}\n </button>\n </div>\n );\n});\n\nCalendar.displayName = 'Calendar';\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkBAPCHFNX_cjs = require('./chunk-BAPCHFNX.cjs');
|
|
4
4
|
var chunk7GN6YTSS_cjs = require('./chunk-7GN6YTSS.cjs');
|
|
5
5
|
var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
|
|
6
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -436,9 +436,9 @@ function Slider({
|
|
|
436
436
|
isDisabled: isDisabled || void 0
|
|
437
437
|
});
|
|
438
438
|
const textDisplay = valueDisplay === "text" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.textValue, children: isRange ? `${displayValue(values[0])} - ${displayValue(values[1])}` : displayValue(values[0]) }) : null;
|
|
439
|
-
const necessity =
|
|
439
|
+
const necessity = chunkBAPCHFNX_cjs.getNecessity(isOptional, isRequired);
|
|
440
440
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
441
|
-
|
|
441
|
+
chunkBAPCHFNX_cjs.Field,
|
|
442
442
|
{
|
|
443
443
|
className: chunkSPDVNY2Z_cjs.cx(className, classes.field),
|
|
444
444
|
"data-testid": dataTestId,
|
|
@@ -555,5 +555,5 @@ function Slider({
|
|
|
555
555
|
Slider.displayName = "Slider";
|
|
556
556
|
|
|
557
557
|
exports.Slider = Slider;
|
|
558
|
-
//# sourceMappingURL=chunk-
|
|
559
|
-
//# sourceMappingURL=chunk-
|
|
558
|
+
//# sourceMappingURL=chunk-5TT4PGZO.cjs.map
|
|
559
|
+
//# sourceMappingURL=chunk-5TT4PGZO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":["sva","useId","useRef","useMemo","useEffect","useCallback","jsx","getNecessity","Field","cx","jsxs","Tooltip"],"mappings":"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","file":"chunk-I2X2Z7FA.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst THUMB_SIZE = 20;\nconst TRACK_SIZE = 4;\n\nexport const sliderRecipe = sva({\n slots: [\n 'field',\n 'filledTrack',\n 'mark',\n 'markLabel',\n 'marksContainer',\n 'row',\n 'textValue',\n 'thumb',\n 'track',\n 'trackContainer',\n ],\n base: {\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trackContainer: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n isolation: 'isolate',\n touchAction: 'none',\n userSelect: 'none',\n },\n track: {\n position: 'absolute',\n bg: 'track',\n borderRadius: 'full',\n },\n filledTrack: {\n position: 'absolute',\n bg: 'primary',\n borderRadius: 'full',\n },\n thumb: {\n position: 'absolute',\n zIndex: 1,\n w: `${THUMB_SIZE}px`,\n h: `${THUMB_SIZE}px`,\n borderRadius: 'full',\n bg: 'primary',\n cursor: 'grab',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, box-shadow',\n transitionTimingFunction: 'default',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'primary.emphasized',\n },\n },\n },\n marksContainer: {\n position: 'absolute',\n },\n mark: {\n position: 'absolute',\n bg: 'border.emphasized',\n borderRadius: 'full',\n },\n markLabel: {\n position: 'absolute',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'xs',\n whiteSpace: 'nowrap',\n },\n textValue: {\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n trackContainer: {\n w: 'full',\n h: `${THUMB_SIZE}px`,\n flexGrow: 1,\n cursor: 'pointer',\n },\n track: {\n insetInline: 0,\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n filledTrack: {\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n thumb: {\n top: '50%',\n },\n marksContainer: {\n insetInline: 0,\n top: '50%',\n },\n mark: {\n w: '0.5',\n h: '2',\n transform: 'translate(-50%, -50%)',\n },\n markLabel: {\n top: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateX(-50%)',\n },\n },\n vertical: {\n field: {\n alignItems: 'center',\n w: 'fit-content',\n },\n row: {\n flexDirection: 'column',\n alignItems: 'center',\n },\n trackContainer: {\n w: `${THUMB_SIZE}px`,\n h: '40',\n flexDirection: 'column',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n track: {\n insetBlock: 0,\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n filledTrack: {\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n thumb: {\n left: '50%',\n transform: 'translate(-50%, 50%)',\n },\n marksContainer: {\n insetBlock: 0,\n left: '50%',\n },\n mark: {\n w: '2',\n h: '0.5',\n transform: 'translate(-50%, 50%)',\n },\n markLabel: {\n left: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateY(50%)',\n },\n },\n },\n isDisabled: {\n true: {\n trackContainer: {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n thumb: {\n bg: 'track.disabled',\n cursor: 'not-allowed',\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type SliderVariants = RecipeVariantProps<typeof sliderRecipe>;\n","import {\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from '../Field';\nimport {Tooltip} from '../Tooltip';\nimport {sliderRecipe} from './Slider.recipe';\n\nexport type SliderOrientation = 'horizontal' | 'vertical';\nexport type SliderValueDisplay = 'tooltip' | 'text' | 'none';\n\nexport interface SliderMark {\n /**\n * Text label rendered beside the mark.\n */\n label?: string;\n /**\n * Numeric position of the mark along the track.\n */\n value: number;\n}\n\nexport type SliderBaseProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: string;\n /**\n * Custom value formatter used for visible value text, tooltip content, and\n * `aria-valuetext`.\n */\n formatValue?: (value: number) => string;\n /**\n * Whether the slider is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: string;\n /**\n * Tick marks rendered along the track.\n */\n marks?: SliderMark[];\n /**\n * Maximum value.\n * @default 100\n */\n max?: number;\n /**\n * Minimum value.\n * @default 0\n */\n min?: number;\n /**\n * Slider orientation.\n * @default 'horizontal'\n */\n orientation?: SliderOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the slider.\n */\n status?: InputStatus;\n /**\n * Step increment.\n * @default 1\n */\n step?: number;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * How to display the current value.\n * @default 'tooltip'\n */\n valueDisplay?: SliderValueDisplay;\n} & FieldNecessity;\n\nexport type SliderSingleProps = SliderBaseProps & {\n /**\n * Called when the value changes during pointer or keyboard interaction.\n */\n onChange: (value: number) => void;\n /**\n * Called when pointer or keyboard interaction commits a value.\n */\n onChangeEnd?: (value: number) => void;\n /**\n * Current value.\n */\n value: number;\n};\n\nexport type SliderRangeProps = SliderBaseProps & {\n /**\n * Minimum number of steps between range thumbs.\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Called when the range changes during pointer or keyboard interaction.\n */\n onChange: (value: [number, number]) => void;\n /**\n * Called when pointer or keyboard interaction commits a range.\n */\n onChangeEnd?: (value: [number, number]) => void;\n /**\n * Current range.\n */\n value: [number, number];\n};\n\nexport type SliderProps = SliderRangeProps | SliderSingleProps;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction snapToStep(value: number, min: number, step: number): number {\n if (step <= 0) {\n return value;\n }\n return min + Math.round((value - min) / step) * step;\n}\n\nfunction getPercent(value: number, min: number, max: number): number {\n if (max === min) {\n return 0;\n }\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Slider control for selecting a single value or a range.\n */\nexport function Slider({\n className,\n 'data-testid': dataTestId,\n description,\n formatValue,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n marks,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n ref,\n status,\n step = 1,\n style,\n value,\n valueDisplay = 'tooltip',\n ...props\n}: SliderProps): React.JSX.Element {\n const inputId = useId();\n const trackRef = useRef<HTMLDivElement>(null);\n const pendingValuesRef = useRef<number[] | null>(null);\n const draggingThumbRef = useRef<number | null>(null);\n const isRange = Array.isArray(value);\n const isHorizontal = orientation === 'horizontal';\n const values = useMemo(() => (isRange ? value : [value]), [isRange, value]);\n const onChange = props.onChange;\n const onChangeEnd = 'onChangeEnd' in props ? props.onChangeEnd : undefined;\n const minStepsBetweenThumbs =\n isRange && 'minStepsBetweenThumbs' in props\n ? (props.minStepsBetweenThumbs ?? 0)\n : 0;\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID =\n status?.message != null ? `${inputId}-status` : undefined;\n const ariaDescribedBy =\n [descriptionID, statusMessageID].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n pendingValuesRef.current = values;\n }, [values]);\n\n const displayValue = useCallback(\n (displayedValue: number): string =>\n formatValue == null\n ? String(displayedValue)\n : formatValue(displayedValue),\n [formatValue],\n );\n\n const getValueFromPosition = useCallback(\n (clientX: number, clientY: number): number => {\n const track = trackRef.current;\n if (track == null) {\n return min;\n }\n const rect = track.getBoundingClientRect();\n const rawPercent = isHorizontal\n ? (clientX - rect.left) / rect.width\n : 1 - (clientY - rect.top) / rect.height;\n const percent = clamp(rawPercent, 0, 1);\n const rawValue = min + percent * (max - min);\n return clamp(snapToStep(rawValue, min, step), min, max);\n },\n [isHorizontal, max, min, step],\n );\n\n const getClosestThumb = useCallback(\n (newValue: number): number => {\n if (!isRange) {\n return 0;\n }\n const [lower, upper] = values;\n return Math.abs(newValue - lower) <= Math.abs(newValue - upper) ? 0 : 1;\n },\n [isRange, values],\n );\n\n const getNextValues = useCallback(\n (thumbIndex: number, newValue: number): number[] => {\n const snapped = clamp(snapToStep(newValue, min, step), min, max);\n if (!isRange) {\n return [snapped];\n }\n\n const nextValues = [...values] as [number, number];\n nextValues[thumbIndex] = snapped;\n const minGap = minStepsBetweenThumbs * step;\n if (thumbIndex === 0) {\n nextValues[0] = Math.min(nextValues[0], nextValues[1] - minGap);\n } else {\n nextValues[1] = Math.max(nextValues[1], nextValues[0] + minGap);\n }\n nextValues[0] = clamp(nextValues[0], min, max);\n nextValues[1] = clamp(nextValues[1], min, max);\n return nextValues;\n },\n [isRange, max, min, minStepsBetweenThumbs, step, values],\n );\n\n const emitChange = useCallback(\n (nextValues: number[]) => {\n pendingValuesRef.current = nextValues;\n if (isRange) {\n (onChange as SliderRangeProps['onChange'])(\n nextValues as [number, number],\n );\n } else {\n (onChange as SliderSingleProps['onChange'])(nextValues[0]);\n }\n },\n [isRange, onChange],\n );\n\n const emitChangeEnd = useCallback(\n (nextValues: number[]) => {\n if (isRange) {\n (onChangeEnd as SliderRangeProps['onChangeEnd'])?.(\n nextValues as [number, number],\n );\n } else {\n (onChangeEnd as SliderSingleProps['onChangeEnd'])?.(nextValues[0]);\n }\n },\n [isRange, onChangeEnd],\n );\n\n const updateValue = useCallback(\n (thumbIndex: number, newValue: number): number[] | null => {\n if (isDisabled) {\n return null;\n }\n const nextValues = getNextValues(thumbIndex, newValue);\n emitChange(nextValues);\n return nextValues;\n },\n [emitChange, getNextValues, isDisabled],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n const markElement = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-mark-value]',\n );\n const newValue =\n markElement == null\n ? getValueFromPosition(event.clientX, event.clientY)\n : Number(markElement.dataset.markValue);\n const thumbIndex = getClosestThumb(newValue);\n draggingThumbRef.current = thumbIndex;\n updateValue(thumbIndex, newValue);\n\n if (typeof event.currentTarget.setPointerCapture === 'function') {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n },\n [getClosestThumb, getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (draggingThumbRef.current == null || isDisabled) {\n return;\n }\n updateValue(\n draggingThumbRef.current,\n getValueFromPosition(event.clientX, event.clientY),\n );\n },\n [getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerUp = useCallback(() => {\n if (draggingThumbRef.current == null) {\n return;\n }\n draggingThumbRef.current = null;\n emitChangeEnd(pendingValuesRef.current ?? values);\n }, [emitChangeEnd, values]);\n\n const handleKeyDown = useCallback(\n (thumbIndex: number, event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const currentValue = values[thumbIndex];\n let nextValue: number;\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowLeft':\n nextValue = currentValue - step;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n nextValue = currentValue + step;\n break;\n case 'End':\n nextValue = max;\n break;\n case 'Home':\n nextValue = min;\n break;\n case 'PageDown':\n nextValue = currentValue - step * 10;\n break;\n case 'PageUp':\n nextValue = currentValue + step * 10;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextValues = getNextValues(thumbIndex, nextValue);\n emitChange(nextValues);\n emitChangeEnd(nextValues);\n },\n [\n emitChange,\n emitChangeEnd,\n getNextValues,\n isDisabled,\n max,\n min,\n step,\n values,\n ],\n );\n\n const filledStyle: CSSProperties = (() => {\n if (isRange) {\n const [lower, upper] = values;\n const lowerPercent = getPercent(lower, min, max);\n const upperPercent = getPercent(upper, min, max);\n return isHorizontal\n ? {left: `${lowerPercent}%`, width: `${upperPercent - lowerPercent}%`}\n : {\n bottom: `${lowerPercent}%`,\n height: `${upperPercent - lowerPercent}%`,\n };\n }\n const percent = getPercent(values[0], min, max);\n return isHorizontal\n ? {left: '0%', width: `${percent}%`}\n : {bottom: '0%', height: `${percent}%`};\n })();\n\n const classes = sliderRecipe({\n orientation,\n isDisabled: isDisabled || undefined,\n });\n\n const textDisplay =\n valueDisplay === 'text' ? (\n <span className={classes.textValue}>\n {isRange\n ? `${displayValue(values[0])} - ${displayValue(values[1])}`\n : displayValue(values[0])}\n </span>\n ) : null;\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={cx(className, classes.field)}\n data-testid={dataTestId}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div className={classes.row}>\n <div\n aria-label={isRange ? label : undefined}\n className={classes.trackContainer}\n data-testid=\"slider-track-container\"\n onPointerCancel={handlePointerUp}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n ref={trackRef}\n role={isRange ? 'group' : undefined}>\n <div aria-hidden=\"true\" className={classes.track} />\n <div\n aria-hidden=\"true\"\n className={classes.filledTrack}\n style={filledStyle}\n />\n {marks == null ? null : (\n <div aria-hidden=\"true\" className={classes.marksContainer}>\n {marks.map(mark => {\n const percent = getPercent(mark.value, min, max);\n const markStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`};\n return (\n <div key={mark.value}>\n <div\n className={classes.mark}\n data-mark-value={mark.value}\n data-testid=\"slider-mark\"\n style={markStyle}\n />\n {mark.label == null ? null : (\n <span\n className={classes.markLabel}\n data-mark-value={mark.value}\n data-testid=\"slider-mark-label\"\n style={markStyle}>\n {mark.label}\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n {values.map((currentValue, thumbIndex) => {\n const percent = getPercent(currentValue, min, max);\n const thumbStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`, left: '50%'};\n const thumbLabel = isRange\n ? thumbIndex === 0\n ? `${label}, minimum value`\n : `${label}, maximum value`\n : label;\n const thumbKey = isRange\n ? thumbIndex === 0\n ? 'minimum'\n : 'maximum'\n : 'value';\n const thumb = (\n <div\n aria-describedby={ariaDescribedBy}\n aria-disabled={isDisabled || undefined}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={thumbLabel}\n aria-orientation={orientation}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n aria-valuetext={\n formatValue == null ? undefined : formatValue(currentValue)\n }\n className={classes.thumb}\n id={!isRange || thumbIndex === 0 ? inputId : undefined}\n key={thumbKey}\n onKeyDown={event => handleKeyDown(thumbIndex, event)}\n role=\"slider\"\n style={thumbStyle}\n tabIndex={isDisabled ? -1 : 0}\n />\n );\n\n if (valueDisplay !== 'tooltip') {\n return thumb;\n }\n\n return (\n <Tooltip\n content={displayValue(currentValue)}\n delay={0}\n focusTrigger=\"always\"\n key={thumbKey}\n placement={isHorizontal ? 'above' : 'start'}>\n {thumb}\n </Tooltip>\n );\n })}\n </div>\n {textDisplay}\n </div>\n </Field>\n );\n}\n\nSlider.displayName = 'Slider';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":["sva","useId","useRef","useMemo","useEffect","useCallback","jsx","getNecessity","Field","cx","jsxs","Tooltip"],"mappings":";;;;;;;;;;AAEA,IAAM,UAAA,GAAa,EAAA;AACnB,IAAM,UAAA,GAAa,CAAA;AAEZ,IAAM,eAAeA,qBAAA,CAAI;AAAA,EAC9B,KAAA,EAAO;AAAA,IACL,OAAA;AAAA,IACA,aAAA;AAAA,IACA,MAAA;AAAA,IACA,WAAA;AAAA,IACA,gBAAA;AAAA,IACA,KAAA;AAAA,IACA,WAAA;AAAA,IACA,OAAA;AAAA,IACA,OAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,GAAA,EAAK;AAAA,MACH,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK;AAAA,KACP;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,QAAA,EAAU,UAAA;AAAA,MACV,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,SAAA,EAAW,SAAA;AAAA,MACX,WAAA,EAAa,MAAA;AAAA,MACb,UAAA,EAAY;AAAA,KACd;AAAA,IACA,KAAA,EAAO;AAAA,MACL,QAAA,EAAU,UAAA;AAAA,MACV,EAAA,EAAI,OAAA;AAAA,MACJ,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,WAAA,EAAa;AAAA,MACX,QAAA,EAAU,UAAA;AAAA,MACV,EAAA,EAAI,SAAA;AAAA,MACJ,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,KAAA,EAAO;AAAA,MACL,QAAA,EAAU,UAAA;AAAA,MACV,MAAA,EAAQ,CAAA;AAAA,MACR,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,MAChB,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,MAChB,YAAA,EAAc,MAAA;AAAA,MACd,EAAA,EAAI,SAAA;AAAA,MACJ,MAAA,EAAQ,MAAA;AAAA,MACR,OAAA,EAAS,MAAA;AAAA,MACT,SAAA,EAAW,uBAAA;AAAA,MACX,kBAAA,EAAoB,MAAA;AAAA,MACpB,kBAAA,EAAoB,8BAAA;AAAA,MACpB,wBAAA,EAA0B,SAAA;AAAA,MAC1B,aAAA,EAAe;AAAA,QACb,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,OAAA;AAAA,QACd,YAAA,EAAc,SAAA;AAAA,QACd,aAAA,EAAe;AAAA,OACjB;AAAA,MACA,MAAA,EAAQ;AAAA,QACN,uBAAA,EAAyB;AAAA,UACvB,EAAA,EAAI;AAAA;AACN;AACF,KACF;AAAA,IACA,cAAA,EAAgB;AAAA,MACd,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU,UAAA;AAAA,MACV,EAAA,EAAI,mBAAA;AAAA,MACJ,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,SAAA,EAAW;AAAA,MACT,QAAA,EAAU,UAAA;AAAA,MACV,KAAA,EAAO,UAAA;AAAA,MACP,UAAA,EAAY,MAAA;AAAA,MACZ,QAAA,EAAU,IAAA;AAAA,MACV,UAAA,EAAY;AAAA,KACd;AAAA,IACA,SAAA,EAAW;AAAA,MACT,UAAA,EAAY,CAAA;AAAA,MACZ,KAAA,EAAO,IAAA;AAAA,MACP,UAAA,EAAY,MAAA;AAAA,MACZ,QAAA,EAAU,IAAA;AAAA,MACV,UAAA,EAAY;AAAA;AACd,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY;AAAA,QACV,cAAA,EAAgB;AAAA,UACd,CAAA,EAAG,MAAA;AAAA,UACH,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,UAChB,QAAA,EAAU,CAAA;AAAA,UACV,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,KAAA,EAAO;AAAA,UACL,WAAA,EAAa,CAAA;AAAA,UACb,GAAA,EAAK,KAAA;AAAA,UACL,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,UAChB,SAAA,EAAW;AAAA,SACb;AAAA,QACA,WAAA,EAAa;AAAA,UACX,GAAA,EAAK,KAAA;AAAA,UACL,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,UAChB,SAAA,EAAW;AAAA,SACb;AAAA,QACA,KAAA,EAAO;AAAA,UACL,GAAA,EAAK;AAAA,SACP;AAAA,QACA,cAAA,EAAgB;AAAA,UACd,WAAA,EAAa,CAAA;AAAA,UACb,GAAA,EAAK;AAAA,SACP;AAAA,QACA,IAAA,EAAM;AAAA,UACJ,CAAA,EAAG,KAAA;AAAA,UACH,CAAA,EAAG,GAAA;AAAA,UACH,SAAA,EAAW;AAAA,SACb;AAAA,QACA,SAAA,EAAW;AAAA,UACT,GAAA,EAAK,CAAA,EAAG,UAAA,GAAa,CAAA,GAAI,CAAC,CAAA,EAAA,CAAA;AAAA,UAC1B,SAAA,EAAW;AAAA;AACb,OACF;AAAA,MACA,QAAA,EAAU;AAAA,QACR,KAAA,EAAO;AAAA,UACL,UAAA,EAAY,QAAA;AAAA,UACZ,CAAA,EAAG;AAAA,SACL;AAAA,QACA,GAAA,EAAK;AAAA,UACH,aAAA,EAAe,QAAA;AAAA,UACf,UAAA,EAAY;AAAA,SACd;AAAA,QACA,cAAA,EAAgB;AAAA,UACd,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,UAChB,CAAA,EAAG,IAAA;AAAA,UACH,aAAA,EAAe,QAAA;AAAA,UACf,cAAA,EAAgB,QAAA;AAAA,UAChB,MAAA,EAAQ;AAAA,SACV;AAAA,QACA,KAAA,EAAO;AAAA,UACL,UAAA,EAAY,CAAA;AAAA,UACZ,IAAA,EAAM,KAAA;AAAA,UACN,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,UAChB,SAAA,EAAW;AAAA,SACb;AAAA,QACA,WAAA,EAAa;AAAA,UACX,IAAA,EAAM,KAAA;AAAA,UACN,CAAA,EAAG,GAAG,UAAU,CAAA,EAAA,CAAA;AAAA,UAChB,SAAA,EAAW;AAAA,SACb;AAAA,QACA,KAAA,EAAO;AAAA,UACL,IAAA,EAAM,KAAA;AAAA,UACN,SAAA,EAAW;AAAA,SACb;AAAA,QACA,cAAA,EAAgB;AAAA,UACd,UAAA,EAAY,CAAA;AAAA,UACZ,IAAA,EAAM;AAAA,SACR;AAAA,QACA,IAAA,EAAM;AAAA,UACJ,CAAA,EAAG,GAAA;AAAA,UACH,CAAA,EAAG,KAAA;AAAA,UACH,SAAA,EAAW;AAAA,SACb;AAAA,QACA,SAAA,EAAW;AAAA,UACT,IAAA,EAAM,CAAA,EAAG,UAAA,GAAa,CAAA,GAAI,CAAC,CAAA,EAAA,CAAA;AAAA,UAC3B,SAAA,EAAW;AAAA;AACb;AACF,KACF;AAAA,IACA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,cAAA,EAAgB;AAAA,UACd,MAAA,EAAQ,aAAA;AAAA,UACR,OAAA,EAAS;AAAA,SACX;AAAA,QACA,KAAA,EAAO;AAAA,UACL,EAAA,EAAI,gBAAA;AAAA,UACJ,MAAA,EAAQ;AAAA;AACV;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC,CAAA;ACtCD,SAAS,KAAA,CAAM,KAAA,EAAe,GAAA,EAAa,GAAA,EAAqB;AAC9D,EAAA,OAAO,KAAK,GAAA,CAAI,IAAA,CAAK,IAAI,KAAA,EAAO,GAAG,GAAG,GAAG,CAAA;AAC3C;AAEA,SAAS,UAAA,CAAW,KAAA,EAAe,GAAA,EAAa,IAAA,EAAsB;AACpE,EAAA,IAAI,QAAQ,CAAA,EAAG;AACb,IAAA,OAAO,KAAA;AAAA,EACT;AACA,EAAA,OAAO,MAAM,IAAA,CAAK,KAAA,CAAA,CAAO,KAAA,GAAQ,GAAA,IAAO,IAAI,CAAA,GAAI,IAAA;AAClD;AAEA,SAAS,UAAA,CAAW,KAAA,EAAe,GAAA,EAAa,GAAA,EAAqB;AACnE,EAAA,IAAI,QAAQ,GAAA,EAAK;AACf,IAAA,OAAO,CAAA;AAAA,EACT;AACA,EAAA,OAAA,CAAS,KAAA,GAAQ,GAAA,KAAQ,GAAA,GAAM,GAAA,CAAA,GAAQ,GAAA;AACzC;AAKO,SAAS,MAAA,CAAO;AAAA,EACrB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,WAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,aAAA,GAAgB,KAAA;AAAA,EAChB,UAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAA,GAAM,GAAA;AAAA,EACN,GAAA,GAAM,CAAA;AAAA,EACN,WAAA,GAAc,YAAA;AAAA,EACd,GAAA;AAAA,EACA,MAAA;AAAA,EACA,IAAA,GAAO,CAAA;AAAA,EACP,KAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA,GAAe,SAAA;AAAA,EACf,GAAG;AACL,CAAA,EAAmC;AACjC,EAAA,MAAM,UAAUC,WAAA,EAAM;AACtB,EAAA,MAAM,QAAA,GAAWC,aAAuB,IAAI,CAAA;AAC5C,EAAA,MAAM,gBAAA,GAAmBA,aAAwB,IAAI,CAAA;AACrD,EAAA,MAAM,gBAAA,GAAmBA,aAAsB,IAAI,CAAA;AACnD,EAAA,MAAM,OAAA,GAAU,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA;AACnC,EAAA,MAAM,eAAe,WAAA,KAAgB,YAAA;AACrC,EAAA,MAAM,MAAA,GAASC,aAAA,CAAQ,MAAO,OAAA,GAAU,KAAA,GAAQ,CAAC,KAAK,CAAA,EAAI,CAAC,OAAA,EAAS,KAAK,CAAC,CAAA;AAC1E,EAAA,MAAM,WAAW,KAAA,CAAM,QAAA;AACvB,EAAA,MAAM,WAAA,GAAc,aAAA,IAAiB,KAAA,GAAQ,KAAA,CAAM,WAAA,GAAc,MAAA;AACjE,EAAA,MAAM,wBACJ,OAAA,IAAW,uBAAA,IAA2B,KAAA,GACjC,KAAA,CAAM,yBAAyB,CAAA,GAChC,CAAA;AACN,EAAA,MAAM,aAAA,GACJ,WAAA,IAAe,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,YAAA,CAAA,GAAiB,MAAA;AACnD,EAAA,MAAM,kBACJ,MAAA,EAAQ,OAAA,IAAW,IAAA,GAAO,CAAA,EAAG,OAAO,CAAA,OAAA,CAAA,GAAY,MAAA;AAClD,EAAA,MAAM,eAAA,GACJ,CAAC,aAAA,EAAe,eAAe,CAAA,CAAE,OAAO,OAAO,CAAA,CAAE,IAAA,CAAK,GAAG,CAAA,IAAK,MAAA;AAEhE,EAAAC,eAAA,CAAU,MAAM;AACd,IAAA,gBAAA,CAAiB,OAAA,GAAU,MAAA;AAAA,EAC7B,CAAA,EAAG,CAAC,MAAM,CAAC,CAAA;AAEX,EAAA,MAAM,YAAA,GAAeC,iBAAA;AAAA,IACnB,CAAC,mBACC,WAAA,IAAe,IAAA,GACX,OAAO,cAAc,CAAA,GACrB,YAAY,cAAc,CAAA;AAAA,IAChC,CAAC,WAAW;AAAA,GACd;AAEA,EAAA,MAAM,oBAAA,GAAuBA,iBAAA;AAAA,IAC3B,CAAC,SAAiB,OAAA,KAA4B;AAC5C,MAAA,MAAM,QAAQ,QAAA,CAAS,OAAA;AACvB,MAAA,IAAI,SAAS,IAAA,EAAM;AACjB,QAAA,OAAO,GAAA;AAAA,MACT;AACA,MAAA,MAAM,IAAA,GAAO,MAAM,qBAAA,EAAsB;AACzC,MAAA,MAAM,UAAA,GAAa,YAAA,GAAA,CACd,OAAA,GAAU,IAAA,CAAK,IAAA,IAAQ,IAAA,CAAK,KAAA,GAC7B,CAAA,GAAA,CAAK,OAAA,GAAU,IAAA,CAAK,GAAA,IAAO,IAAA,CAAK,MAAA;AACpC,MAAA,MAAM,OAAA,GAAU,KAAA,CAAM,UAAA,EAAY,CAAA,EAAG,CAAC,CAAA;AACtC,MAAA,MAAM,QAAA,GAAW,GAAA,GAAM,OAAA,IAAW,GAAA,GAAM,GAAA,CAAA;AACxC,MAAA,OAAO,MAAM,UAAA,CAAW,QAAA,EAAU,KAAK,IAAI,CAAA,EAAG,KAAK,GAAG,CAAA;AAAA,IACxD,CAAA;AAAA,IACA,CAAC,YAAA,EAAc,GAAA,EAAK,GAAA,EAAK,IAAI;AAAA,GAC/B;AAEA,EAAA,MAAM,eAAA,GAAkBA,iBAAA;AAAA,IACtB,CAAC,QAAA,KAA6B;AAC5B,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,OAAO,CAAA;AAAA,MACT;AACA,MAAA,MAAM,CAAC,KAAA,EAAO,KAAK,CAAA,GAAI,MAAA;AACvB,MAAA,OAAO,IAAA,CAAK,GAAA,CAAI,QAAA,GAAW,KAAK,CAAA,IAAK,KAAK,GAAA,CAAI,QAAA,GAAW,KAAK,CAAA,GAAI,CAAA,GAAI,CAAA;AAAA,IACxE,CAAA;AAAA,IACA,CAAC,SAAS,MAAM;AAAA,GAClB;AAEA,EAAA,MAAM,aAAA,GAAgBA,iBAAA;AAAA,IACpB,CAAC,YAAoB,QAAA,KAA+B;AAClD,MAAA,MAAM,OAAA,GAAU,MAAM,UAAA,CAAW,QAAA,EAAU,KAAK,IAAI,CAAA,EAAG,KAAK,GAAG,CAAA;AAC/D,MAAA,IAAI,CAAC,OAAA,EAAS;AACZ,QAAA,OAAO,CAAC,OAAO,CAAA;AAAA,MACjB;AAEA,MAAA,MAAM,UAAA,GAAa,CAAC,GAAG,MAAM,CAAA;AAC7B,MAAA,UAAA,CAAW,UAAU,CAAA,GAAI,OAAA;AACzB,MAAA,MAAM,SAAS,qBAAA,GAAwB,IAAA;AACvC,MAAA,IAAI,eAAe,CAAA,EAAG;AACpB,QAAA,UAAA,CAAW,CAAC,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,UAAA,CAAW,CAAC,CAAA,EAAG,UAAA,CAAW,CAAC,CAAA,GAAI,MAAM,CAAA;AAAA,MAChE,CAAA,MAAO;AACL,QAAA,UAAA,CAAW,CAAC,CAAA,GAAI,IAAA,CAAK,GAAA,CAAI,UAAA,CAAW,CAAC,CAAA,EAAG,UAAA,CAAW,CAAC,CAAA,GAAI,MAAM,CAAA;AAAA,MAChE;AACA,MAAA,UAAA,CAAW,CAAC,CAAA,GAAI,KAAA,CAAM,WAAW,CAAC,CAAA,EAAG,KAAK,GAAG,CAAA;AAC7C,MAAA,UAAA,CAAW,CAAC,CAAA,GAAI,KAAA,CAAM,WAAW,CAAC,CAAA,EAAG,KAAK,GAAG,CAAA;AAC7C,MAAA,OAAO,UAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,OAAA,EAAS,GAAA,EAAK,GAAA,EAAK,qBAAA,EAAuB,MAAM,MAAM;AAAA,GACzD;AAEA,EAAA,MAAM,UAAA,GAAaA,iBAAA;AAAA,IACjB,CAAC,UAAA,KAAyB;AACxB,MAAA,gBAAA,CAAiB,OAAA,GAAU,UAAA;AAC3B,MAAA,IAAI,OAAA,EAAS;AACX,QAAC,QAAA;AAAA,UACC;AAAA,SACF;AAAA,MACF,CAAA,MAAO;AACL,QAAC,QAAA,CAA2C,UAAA,CAAW,CAAC,CAAC,CAAA;AAAA,MAC3D;AAAA,IACF,CAAA;AAAA,IACA,CAAC,SAAS,QAAQ;AAAA,GACpB;AAEA,EAAA,MAAM,aAAA,GAAgBA,iBAAA;AAAA,IACpB,CAAC,UAAA,KAAyB;AACxB,MAAA,IAAI,OAAA,EAAS;AACX,QAAC,WAAA;AAAA,UACC;AAAA,SACF;AAAA,MACF,CAAA,MAAO;AACL,QAAC,WAAA,GAAmD,UAAA,CAAW,CAAC,CAAC,CAAA;AAAA,MACnE;AAAA,IACF,CAAA;AAAA,IACA,CAAC,SAAS,WAAW;AAAA,GACvB;AAEA,EAAA,MAAM,WAAA,GAAcA,iBAAA;AAAA,IAClB,CAAC,YAAoB,QAAA,KAAsC;AACzD,MAAA,IAAI,UAAA,EAAY;AACd,QAAA,OAAO,IAAA;AAAA,MACT;AACA,MAAA,MAAM,UAAA,GAAa,aAAA,CAAc,UAAA,EAAY,QAAQ,CAAA;AACrD,MAAA,UAAA,CAAW,UAAU,CAAA;AACrB,MAAA,OAAO,UAAA;AAAA,IACT,CAAA;AAAA,IACA,CAAC,UAAA,EAAY,aAAA,EAAe,UAAU;AAAA,GACxC;AAEA,EAAA,MAAM,iBAAA,GAAoBA,iBAAA;AAAA,IACxB,CAAC,KAAA,KAAwC;AACvC,MAAA,IAAI,UAAA,EAAY;AACd,QAAA;AAAA,MACF;AACA,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,MAAM,WAAA,GAAe,MAAM,MAAA,CAAuB,OAAA;AAAA,QAChD;AAAA,OACF;AACA,MAAA,MAAM,QAAA,GACJ,WAAA,IAAe,IAAA,GACX,oBAAA,CAAqB,KAAA,CAAM,OAAA,EAAS,KAAA,CAAM,OAAO,CAAA,GACjD,MAAA,CAAO,WAAA,CAAY,OAAA,CAAQ,SAAS,CAAA;AAC1C,MAAA,MAAM,UAAA,GAAa,gBAAgB,QAAQ,CAAA;AAC3C,MAAA,gBAAA,CAAiB,OAAA,GAAU,UAAA;AAC3B,MAAA,WAAA,CAAY,YAAY,QAAQ,CAAA;AAEhC,MAAA,IAAI,OAAO,KAAA,CAAM,aAAA,CAAc,iBAAA,KAAsB,UAAA,EAAY;AAC/D,QAAA,KAAA,CAAM,aAAA,CAAc,iBAAA,CAAkB,KAAA,CAAM,SAAS,CAAA;AAAA,MACvD;AAAA,IACF,CAAA;AAAA,IACA,CAAC,eAAA,EAAiB,oBAAA,EAAsB,UAAA,EAAY,WAAW;AAAA,GACjE;AAEA,EAAA,MAAM,iBAAA,GAAoBA,iBAAA;AAAA,IACxB,CAAC,KAAA,KAAwC;AACvC,MAAA,IAAI,gBAAA,CAAiB,OAAA,IAAW,IAAA,IAAQ,UAAA,EAAY;AAClD,QAAA;AAAA,MACF;AACA,MAAA,WAAA;AAAA,QACE,gBAAA,CAAiB,OAAA;AAAA,QACjB,oBAAA,CAAqB,KAAA,CAAM,OAAA,EAAS,KAAA,CAAM,OAAO;AAAA,OACnD;AAAA,IACF,CAAA;AAAA,IACA,CAAC,oBAAA,EAAsB,UAAA,EAAY,WAAW;AAAA,GAChD;AAEA,EAAA,MAAM,eAAA,GAAkBA,kBAAY,MAAM;AACxC,IAAA,IAAI,gBAAA,CAAiB,WAAW,IAAA,EAAM;AACpC,MAAA;AAAA,IACF;AACA,IAAA,gBAAA,CAAiB,OAAA,GAAU,IAAA;AAC3B,IAAA,aAAA,CAAc,gBAAA,CAAiB,WAAW,MAAM,CAAA;AAAA,EAClD,CAAA,EAAG,CAAC,aAAA,EAAe,MAAM,CAAC,CAAA;AAE1B,EAAA,MAAM,aAAA,GAAgBA,iBAAA;AAAA,IACpB,CAAC,YAAoB,KAAA,KAAyC;AAC5D,MAAA,IAAI,UAAA,EAAY;AACd,QAAA;AAAA,MACF;AAEA,MAAA,MAAM,YAAA,GAAe,OAAO,UAAU,CAAA;AACtC,MAAA,IAAI,SAAA;AACJ,MAAA,QAAQ,MAAM,GAAA;AAAK,QACjB,KAAK,WAAA;AAAA,QACL,KAAK,WAAA;AACH,UAAA,SAAA,GAAY,YAAA,GAAe,IAAA;AAC3B,UAAA;AAAA,QACF,KAAK,YAAA;AAAA,QACL,KAAK,SAAA;AACH,UAAA,SAAA,GAAY,YAAA,GAAe,IAAA;AAC3B,UAAA;AAAA,QACF,KAAK,KAAA;AACH,UAAA,SAAA,GAAY,GAAA;AACZ,UAAA;AAAA,QACF,KAAK,MAAA;AACH,UAAA,SAAA,GAAY,GAAA;AACZ,UAAA;AAAA,QACF,KAAK,UAAA;AACH,UAAA,SAAA,GAAY,eAAe,IAAA,GAAO,EAAA;AAClC,UAAA;AAAA,QACF,KAAK,QAAA;AACH,UAAA,SAAA,GAAY,eAAe,IAAA,GAAO,EAAA;AAClC,UAAA;AAAA,QACF;AACE,UAAA;AAAA;AAGJ,MAAA,KAAA,CAAM,cAAA,EAAe;AACrB,MAAA,MAAM,UAAA,GAAa,aAAA,CAAc,UAAA,EAAY,SAAS,CAAA;AACtD,MAAA,UAAA,CAAW,UAAU,CAAA;AACrB,MAAA,aAAA,CAAc,UAAU,CAAA;AAAA,IAC1B,CAAA;AAAA,IACA;AAAA,MACE,UAAA;AAAA,MACA,aAAA;AAAA,MACA,aAAA;AAAA,MACA,UAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,IAAA;AAAA,MACA;AAAA;AACF,GACF;AAEA,EAAA,MAAM,eAA8B,MAAM;AACxC,IAAA,IAAI,OAAA,EAAS;AACX,MAAA,MAAM,CAAC,KAAA,EAAO,KAAK,CAAA,GAAI,MAAA;AACvB,MAAA,MAAM,YAAA,GAAe,UAAA,CAAW,KAAA,EAAO,GAAA,EAAK,GAAG,CAAA;AAC/C,MAAA,MAAM,YAAA,GAAe,UAAA,CAAW,KAAA,EAAO,GAAA,EAAK,GAAG,CAAA;AAC/C,MAAA,OAAO,YAAA,GACH,EAAC,IAAA,EAAM,CAAA,EAAG,YAAY,CAAA,CAAA,CAAA,EAAK,KAAA,EAAO,CAAA,EAAG,YAAA,GAAe,YAAY,CAAA,CAAA,CAAA,EAAG,GACnE;AAAA,QACE,MAAA,EAAQ,GAAG,YAAY,CAAA,CAAA,CAAA;AAAA,QACvB,MAAA,EAAQ,CAAA,EAAG,YAAA,GAAe,YAAY,CAAA,CAAA;AAAA,OACxC;AAAA,IACN;AACA,IAAA,MAAM,UAAU,UAAA,CAAW,MAAA,CAAO,CAAC,CAAA,EAAG,KAAK,GAAG,CAAA;AAC9C,IAAA,OAAO,YAAA,GACH,EAAC,IAAA,EAAM,IAAA,EAAM,OAAO,CAAA,EAAG,OAAO,CAAA,CAAA,CAAA,EAAG,GACjC,EAAC,MAAA,EAAQ,IAAA,EAAM,MAAA,EAAQ,CAAA,EAAG,OAAO,CAAA,CAAA,CAAA,EAAG;AAAA,EAC1C,CAAA,GAAG;AAEH,EAAA,MAAM,UAAU,YAAA,CAAa;AAAA,IAC3B,WAAA;AAAA,IACA,YAAY,UAAA,IAAc;AAAA,GAC3B,CAAA;AAED,EAAA,MAAM,WAAA,GACJ,YAAA,KAAiB,MAAA,mBACfC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,SAAA,EACtB,QAAA,EAAA,OAAA,GACG,CAAA,EAAG,YAAA,CAAa,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,GAAA,EAAM,YAAA,CAAa,MAAA,CAAO,CAAC,CAAC,CAAC,CAAA,CAAA,GACvD,YAAA,CAAa,MAAA,CAAO,CAAC,CAAC,CAAA,EAC5B,CAAA,GACE,IAAA;AAEN,EAAA,MAAM,SAAA,GAAYC,8BAAA,CAAa,UAAA,EAAY,UAAU,CAAA;AAErD,EAAA,uBACED,cAAA;AAAA,IAACE,uBAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA,CAAG,SAAA,EAAW,OAAA,CAAQ,KAAK,CAAA;AAAA,MACtC,aAAA,EAAa,UAAA;AAAA,MACb,WAAA;AAAA,MACA,aAAA;AAAA,MACA,OAAA;AAAA,MACA,UAAA;AAAA,MACA,aAAA;AAAA,MACC,GAAG,SAAA;AAAA,MACJ,KAAA;AAAA,MACA,OAAA,EAAQ,MAAA;AAAA,MACR,YAAA;AAAA,MACA,GAAA;AAAA,MACA,MAAA,EACE,UAAU,IAAA,GAAO,MAAA,GAAY,EAAC,GAAG,MAAA,EAAQ,WAAW,eAAA,EAAe;AAAA,MAErE,aAAA,EAAc,UAAA;AAAA,MACd,KAAA;AAAA,MACA,QAAA,kBAAAC,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,OAAA,CAAQ,GAAA,EACtB,QAAA,EAAA;AAAA,wBAAAA,eAAA;AAAA,UAAC,KAAA;AAAA,UAAA;AAAA,YACC,YAAA,EAAY,UAAU,KAAA,GAAQ,MAAA;AAAA,YAC9B,WAAW,OAAA,CAAQ,cAAA;AAAA,YACnB,aAAA,EAAY,wBAAA;AAAA,YACZ,eAAA,EAAiB,eAAA;AAAA,YACjB,aAAA,EAAe,iBAAA;AAAA,YACf,aAAA,EAAe,iBAAA;AAAA,YACf,WAAA,EAAa,eAAA;AAAA,YACb,GAAA,EAAK,QAAA;AAAA,YACL,IAAA,EAAM,UAAU,OAAA,GAAU,MAAA;AAAA,YAC1B,QAAA,EAAA;AAAA,8BAAAJ,cAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,SAAA,EAAW,QAAQ,KAAA,EAAO,CAAA;AAAA,8BAClDA,cAAA;AAAA,gBAAC,KAAA;AAAA,gBAAA;AAAA,kBACC,aAAA,EAAY,MAAA;AAAA,kBACZ,WAAW,OAAA,CAAQ,WAAA;AAAA,kBACnB,KAAA,EAAO;AAAA;AAAA,eACT;AAAA,cACC,KAAA,IAAS,IAAA,GAAO,IAAA,mBACfA,cAAA,CAAC,KAAA,EAAA,EAAI,aAAA,EAAY,MAAA,EAAO,SAAA,EAAW,OAAA,CAAQ,cAAA,EACxC,QAAA,EAAA,KAAA,CAAM,GAAA,CAAI,CAAA,IAAA,KAAQ;AACjB,gBAAA,MAAM,OAAA,GAAU,UAAA,CAAW,IAAA,CAAK,KAAA,EAAO,KAAK,GAAG,CAAA;AAC/C,gBAAA,MAAM,SAAA,GAAY,YAAA,GACd,EAAC,IAAA,EAAM,CAAA,EAAG,OAAO,CAAA,CAAA,CAAA,EAAG,GACpB,EAAC,MAAA,EAAQ,CAAA,EAAG,OAAO,CAAA,CAAA,CAAA,EAAG;AAC1B,gBAAA,uCACG,KAAA,EAAA,EACC,QAAA,EAAA;AAAA,kCAAAA,cAAA;AAAA,oBAAC,KAAA;AAAA,oBAAA;AAAA,sBACC,WAAW,OAAA,CAAQ,IAAA;AAAA,sBACnB,mBAAiB,IAAA,CAAK,KAAA;AAAA,sBACtB,aAAA,EAAY,aAAA;AAAA,sBACZ,KAAA,EAAO;AAAA;AAAA,mBACT;AAAA,kBACC,IAAA,CAAK,KAAA,IAAS,IAAA,GAAO,IAAA,mBACpBA,cAAA;AAAA,oBAAC,MAAA;AAAA,oBAAA;AAAA,sBACC,WAAW,OAAA,CAAQ,SAAA;AAAA,sBACnB,mBAAiB,IAAA,CAAK,KAAA;AAAA,sBACtB,aAAA,EAAY,mBAAA;AAAA,sBACZ,KAAA,EAAO,SAAA;AAAA,sBACN,QAAA,EAAA,IAAA,CAAK;AAAA;AAAA;AACR,iBAAA,EAAA,EAdM,KAAK,KAgBf,CAAA;AAAA,cAEJ,CAAC,CAAA,EACH,CAAA;AAAA,cAED,MAAA,CAAO,GAAA,CAAI,CAAC,YAAA,EAAc,UAAA,KAAe;AACxC,gBAAA,MAAM,OAAA,GAAU,UAAA,CAAW,YAAA,EAAc,GAAA,EAAK,GAAG,CAAA;AACjD,gBAAA,MAAM,UAAA,GAAa,YAAA,GACf,EAAC,IAAA,EAAM,GAAG,OAAO,CAAA,CAAA,CAAA,EAAG,GACpB,EAAC,MAAA,EAAQ,CAAA,EAAG,OAAO,CAAA,CAAA,CAAA,EAAK,MAAM,KAAA,EAAK;AACvC,gBAAA,MAAM,UAAA,GAAa,UACf,UAAA,KAAe,CAAA,GACb,GAAG,KAAK,CAAA,eAAA,CAAA,GACR,CAAA,EAAG,KAAK,CAAA,eAAA,CAAA,GACV,KAAA;AACJ,gBAAA,MAAM,QAAA,GAAW,OAAA,GACb,UAAA,KAAe,CAAA,GACb,YACA,SAAA,GACF,OAAA;AACJ,gBAAA,MAAM,KAAA,mBACJA,cAAA;AAAA,kBAAC,KAAA;AAAA,kBAAA;AAAA,oBACC,kBAAA,EAAkB,eAAA;AAAA,oBAClB,iBAAe,UAAA,IAAc,MAAA;AAAA,oBAC7B,cAAA,EAAc,MAAA,EAAQ,IAAA,KAAS,OAAA,IAAW,MAAA;AAAA,oBAC1C,YAAA,EAAY,UAAA;AAAA,oBACZ,kBAAA,EAAkB,WAAA;AAAA,oBAClB,eAAA,EAAe,GAAA;AAAA,oBACf,eAAA,EAAe,GAAA;AAAA,oBACf,eAAA,EAAe,YAAA;AAAA,oBACf,gBAAA,EACE,WAAA,IAAe,IAAA,GAAO,MAAA,GAAY,YAAY,YAAY,CAAA;AAAA,oBAE5D,WAAW,OAAA,CAAQ,KAAA;AAAA,oBACnB,EAAA,EAAI,CAAC,OAAA,IAAW,UAAA,KAAe,IAAI,OAAA,GAAU,MAAA;AAAA,oBAE7C,SAAA,EAAW,CAAA,KAAA,KAAS,aAAA,CAAc,UAAA,EAAY,KAAK,CAAA;AAAA,oBACnD,IAAA,EAAK,QAAA;AAAA,oBACL,KAAA,EAAO,UAAA;AAAA,oBACP,QAAA,EAAU,aAAa,EAAA,GAAK;AAAA,mBAAA;AAAA,kBAJvB;AAAA,iBAKP;AAGF,gBAAA,IAAI,iBAAiB,SAAA,EAAW;AAC9B,kBAAA,OAAO,KAAA;AAAA,gBACT;AAEA,gBAAA,uBACEA,cAAA;AAAA,kBAACK,yBAAA;AAAA,kBAAA;AAAA,oBACC,OAAA,EAAS,aAAa,YAAY,CAAA;AAAA,oBAClC,KAAA,EAAO,CAAA;AAAA,oBACP,YAAA,EAAa,QAAA;AAAA,oBAEb,SAAA,EAAW,eAAe,OAAA,GAAU,OAAA;AAAA,oBACnC,QAAA,EAAA;AAAA,mBAAA;AAAA,kBAFI;AAAA,iBAGP;AAAA,cAEJ,CAAC;AAAA;AAAA;AAAA,SACH;AAAA,QACC;AAAA,OAAA,EACH;AAAA;AAAA,GACF;AAEJ;AAEA,MAAA,CAAO,WAAA,GAAc,QAAA","file":"chunk-5TT4PGZO.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst THUMB_SIZE = 20;\nconst TRACK_SIZE = 4;\n\nexport const sliderRecipe = sva({\n slots: [\n 'field',\n 'filledTrack',\n 'mark',\n 'markLabel',\n 'marksContainer',\n 'row',\n 'textValue',\n 'thumb',\n 'track',\n 'trackContainer',\n ],\n base: {\n row: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trackContainer: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n isolation: 'isolate',\n touchAction: 'none',\n userSelect: 'none',\n },\n track: {\n position: 'absolute',\n bg: 'track',\n borderRadius: 'full',\n },\n filledTrack: {\n position: 'absolute',\n bg: 'primary',\n borderRadius: 'full',\n },\n thumb: {\n position: 'absolute',\n zIndex: 1,\n w: `${THUMB_SIZE}px`,\n h: `${THUMB_SIZE}px`,\n borderRadius: 'full',\n bg: 'primary',\n cursor: 'grab',\n outline: 'none',\n transform: 'translate(-50%, -50%)',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, box-shadow',\n transitionTimingFunction: 'default',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'primary.emphasized',\n },\n },\n },\n marksContainer: {\n position: 'absolute',\n },\n mark: {\n position: 'absolute',\n bg: 'border.emphasized',\n borderRadius: 'full',\n },\n markLabel: {\n position: 'absolute',\n color: 'fg.muted',\n fontFamily: 'body',\n fontSize: 'xs',\n whiteSpace: 'nowrap',\n },\n textValue: {\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'sm',\n whiteSpace: 'nowrap',\n },\n },\n variants: {\n orientation: {\n horizontal: {\n trackContainer: {\n w: 'full',\n h: `${THUMB_SIZE}px`,\n flexGrow: 1,\n cursor: 'pointer',\n },\n track: {\n insetInline: 0,\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n filledTrack: {\n top: '50%',\n h: `${TRACK_SIZE}px`,\n transform: 'translateY(-50%)',\n },\n thumb: {\n top: '50%',\n },\n marksContainer: {\n insetInline: 0,\n top: '50%',\n },\n mark: {\n w: '0.5',\n h: '2',\n transform: 'translate(-50%, -50%)',\n },\n markLabel: {\n top: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateX(-50%)',\n },\n },\n vertical: {\n field: {\n alignItems: 'center',\n w: 'fit-content',\n },\n row: {\n flexDirection: 'column',\n alignItems: 'center',\n },\n trackContainer: {\n w: `${THUMB_SIZE}px`,\n h: '40',\n flexDirection: 'column',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n track: {\n insetBlock: 0,\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n filledTrack: {\n left: '50%',\n w: `${TRACK_SIZE}px`,\n transform: 'translateX(-50%)',\n },\n thumb: {\n left: '50%',\n transform: 'translate(-50%, 50%)',\n },\n marksContainer: {\n insetBlock: 0,\n left: '50%',\n },\n mark: {\n w: '2',\n h: '0.5',\n transform: 'translate(-50%, 50%)',\n },\n markLabel: {\n left: `${THUMB_SIZE / 2 + 4}px`,\n transform: 'translateY(50%)',\n },\n },\n },\n isDisabled: {\n true: {\n trackContainer: {\n cursor: 'not-allowed',\n opacity: 0.5,\n },\n thumb: {\n bg: 'track.disabled',\n cursor: 'not-allowed',\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type SliderVariants = RecipeVariantProps<typeof sliderRecipe>;\n","import {\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n type CSSProperties,\n type KeyboardEvent,\n type PointerEvent,\n type Ref,\n} from 'react';\nimport {cx} from '../../internal/cx';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from '../Field';\nimport {Tooltip} from '../Tooltip';\nimport {sliderRecipe} from './Slider.recipe';\n\nexport type SliderOrientation = 'horizontal' | 'vertical';\nexport type SliderValueDisplay = 'tooltip' | 'text' | 'none';\n\nexport interface SliderMark {\n /**\n * Text label rendered beside the mark.\n */\n label?: string;\n /**\n * Numeric position of the mark along the track.\n */\n value: number;\n}\n\nexport type SliderBaseProps = {\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: string;\n /**\n * Custom value formatter used for visible value text, tooltip content, and\n * `aria-valuetext`.\n */\n formatValue?: (value: number) => string;\n /**\n * Whether the slider is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: string;\n /**\n * Tick marks rendered along the track.\n */\n marks?: SliderMark[];\n /**\n * Maximum value.\n * @default 100\n */\n max?: number;\n /**\n * Minimum value.\n * @default 0\n */\n min?: number;\n /**\n * Slider orientation.\n * @default 'horizontal'\n */\n orientation?: SliderOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Validation status displayed below the slider.\n */\n status?: InputStatus;\n /**\n * Step increment.\n * @default 1\n */\n step?: number;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * How to display the current value.\n * @default 'tooltip'\n */\n valueDisplay?: SliderValueDisplay;\n} & FieldNecessity;\n\nexport type SliderSingleProps = SliderBaseProps & {\n /**\n * Called when the value changes during pointer or keyboard interaction.\n */\n onChange: (value: number) => void;\n /**\n * Called when pointer or keyboard interaction commits a value.\n */\n onChangeEnd?: (value: number) => void;\n /**\n * Current value.\n */\n value: number;\n};\n\nexport type SliderRangeProps = SliderBaseProps & {\n /**\n * Minimum number of steps between range thumbs.\n * @default 0\n */\n minStepsBetweenThumbs?: number;\n /**\n * Called when the range changes during pointer or keyboard interaction.\n */\n onChange: (value: [number, number]) => void;\n /**\n * Called when pointer or keyboard interaction commits a range.\n */\n onChangeEnd?: (value: [number, number]) => void;\n /**\n * Current range.\n */\n value: [number, number];\n};\n\nexport type SliderProps = SliderRangeProps | SliderSingleProps;\n\nfunction clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nfunction snapToStep(value: number, min: number, step: number): number {\n if (step <= 0) {\n return value;\n }\n return min + Math.round((value - min) / step) * step;\n}\n\nfunction getPercent(value: number, min: number, max: number): number {\n if (max === min) {\n return 0;\n }\n return ((value - min) / (max - min)) * 100;\n}\n\n/**\n * Slider control for selecting a single value or a range.\n */\nexport function Slider({\n className,\n 'data-testid': dataTestId,\n description,\n formatValue,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n marks,\n max = 100,\n min = 0,\n orientation = 'horizontal',\n ref,\n status,\n step = 1,\n style,\n value,\n valueDisplay = 'tooltip',\n ...props\n}: SliderProps): React.JSX.Element {\n const inputId = useId();\n const trackRef = useRef<HTMLDivElement>(null);\n const pendingValuesRef = useRef<number[] | null>(null);\n const draggingThumbRef = useRef<number | null>(null);\n const isRange = Array.isArray(value);\n const isHorizontal = orientation === 'horizontal';\n const values = useMemo(() => (isRange ? value : [value]), [isRange, value]);\n const onChange = props.onChange;\n const onChangeEnd = 'onChangeEnd' in props ? props.onChangeEnd : undefined;\n const minStepsBetweenThumbs =\n isRange && 'minStepsBetweenThumbs' in props\n ? (props.minStepsBetweenThumbs ?? 0)\n : 0;\n const descriptionID =\n description != null ? `${inputId}-description` : undefined;\n const statusMessageID =\n status?.message != null ? `${inputId}-status` : undefined;\n const ariaDescribedBy =\n [descriptionID, statusMessageID].filter(Boolean).join(' ') || undefined;\n\n useEffect(() => {\n pendingValuesRef.current = values;\n }, [values]);\n\n const displayValue = useCallback(\n (displayedValue: number): string =>\n formatValue == null\n ? String(displayedValue)\n : formatValue(displayedValue),\n [formatValue],\n );\n\n const getValueFromPosition = useCallback(\n (clientX: number, clientY: number): number => {\n const track = trackRef.current;\n if (track == null) {\n return min;\n }\n const rect = track.getBoundingClientRect();\n const rawPercent = isHorizontal\n ? (clientX - rect.left) / rect.width\n : 1 - (clientY - rect.top) / rect.height;\n const percent = clamp(rawPercent, 0, 1);\n const rawValue = min + percent * (max - min);\n return clamp(snapToStep(rawValue, min, step), min, max);\n },\n [isHorizontal, max, min, step],\n );\n\n const getClosestThumb = useCallback(\n (newValue: number): number => {\n if (!isRange) {\n return 0;\n }\n const [lower, upper] = values;\n return Math.abs(newValue - lower) <= Math.abs(newValue - upper) ? 0 : 1;\n },\n [isRange, values],\n );\n\n const getNextValues = useCallback(\n (thumbIndex: number, newValue: number): number[] => {\n const snapped = clamp(snapToStep(newValue, min, step), min, max);\n if (!isRange) {\n return [snapped];\n }\n\n const nextValues = [...values] as [number, number];\n nextValues[thumbIndex] = snapped;\n const minGap = minStepsBetweenThumbs * step;\n if (thumbIndex === 0) {\n nextValues[0] = Math.min(nextValues[0], nextValues[1] - minGap);\n } else {\n nextValues[1] = Math.max(nextValues[1], nextValues[0] + minGap);\n }\n nextValues[0] = clamp(nextValues[0], min, max);\n nextValues[1] = clamp(nextValues[1], min, max);\n return nextValues;\n },\n [isRange, max, min, minStepsBetweenThumbs, step, values],\n );\n\n const emitChange = useCallback(\n (nextValues: number[]) => {\n pendingValuesRef.current = nextValues;\n if (isRange) {\n (onChange as SliderRangeProps['onChange'])(\n nextValues as [number, number],\n );\n } else {\n (onChange as SliderSingleProps['onChange'])(nextValues[0]);\n }\n },\n [isRange, onChange],\n );\n\n const emitChangeEnd = useCallback(\n (nextValues: number[]) => {\n if (isRange) {\n (onChangeEnd as SliderRangeProps['onChangeEnd'])?.(\n nextValues as [number, number],\n );\n } else {\n (onChangeEnd as SliderSingleProps['onChangeEnd'])?.(nextValues[0]);\n }\n },\n [isRange, onChangeEnd],\n );\n\n const updateValue = useCallback(\n (thumbIndex: number, newValue: number): number[] | null => {\n if (isDisabled) {\n return null;\n }\n const nextValues = getNextValues(thumbIndex, newValue);\n emitChange(nextValues);\n return nextValues;\n },\n [emitChange, getNextValues, isDisabled],\n );\n\n const handlePointerDown = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n event.preventDefault();\n const markElement = (event.target as HTMLElement).closest<HTMLElement>(\n '[data-mark-value]',\n );\n const newValue =\n markElement == null\n ? getValueFromPosition(event.clientX, event.clientY)\n : Number(markElement.dataset.markValue);\n const thumbIndex = getClosestThumb(newValue);\n draggingThumbRef.current = thumbIndex;\n updateValue(thumbIndex, newValue);\n\n if (typeof event.currentTarget.setPointerCapture === 'function') {\n event.currentTarget.setPointerCapture(event.pointerId);\n }\n },\n [getClosestThumb, getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent<HTMLDivElement>) => {\n if (draggingThumbRef.current == null || isDisabled) {\n return;\n }\n updateValue(\n draggingThumbRef.current,\n getValueFromPosition(event.clientX, event.clientY),\n );\n },\n [getValueFromPosition, isDisabled, updateValue],\n );\n\n const handlePointerUp = useCallback(() => {\n if (draggingThumbRef.current == null) {\n return;\n }\n draggingThumbRef.current = null;\n emitChangeEnd(pendingValuesRef.current ?? values);\n }, [emitChangeEnd, values]);\n\n const handleKeyDown = useCallback(\n (thumbIndex: number, event: KeyboardEvent<HTMLDivElement>) => {\n if (isDisabled) {\n return;\n }\n\n const currentValue = values[thumbIndex];\n let nextValue: number;\n switch (event.key) {\n case 'ArrowDown':\n case 'ArrowLeft':\n nextValue = currentValue - step;\n break;\n case 'ArrowRight':\n case 'ArrowUp':\n nextValue = currentValue + step;\n break;\n case 'End':\n nextValue = max;\n break;\n case 'Home':\n nextValue = min;\n break;\n case 'PageDown':\n nextValue = currentValue - step * 10;\n break;\n case 'PageUp':\n nextValue = currentValue + step * 10;\n break;\n default:\n return;\n }\n\n event.preventDefault();\n const nextValues = getNextValues(thumbIndex, nextValue);\n emitChange(nextValues);\n emitChangeEnd(nextValues);\n },\n [\n emitChange,\n emitChangeEnd,\n getNextValues,\n isDisabled,\n max,\n min,\n step,\n values,\n ],\n );\n\n const filledStyle: CSSProperties = (() => {\n if (isRange) {\n const [lower, upper] = values;\n const lowerPercent = getPercent(lower, min, max);\n const upperPercent = getPercent(upper, min, max);\n return isHorizontal\n ? {left: `${lowerPercent}%`, width: `${upperPercent - lowerPercent}%`}\n : {\n bottom: `${lowerPercent}%`,\n height: `${upperPercent - lowerPercent}%`,\n };\n }\n const percent = getPercent(values[0], min, max);\n return isHorizontal\n ? {left: '0%', width: `${percent}%`}\n : {bottom: '0%', height: `${percent}%`};\n })();\n\n const classes = sliderRecipe({\n orientation,\n isDisabled: isDisabled || undefined,\n });\n\n const textDisplay =\n valueDisplay === 'text' ? (\n <span className={classes.textValue}>\n {isRange\n ? `${displayValue(values[0])} - ${displayValue(values[1])}`\n : displayValue(values[0])}\n </span>\n ) : null;\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={cx(className, classes.field)}\n data-testid={dataTestId}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div className={classes.row}>\n <div\n aria-label={isRange ? label : undefined}\n className={classes.trackContainer}\n data-testid=\"slider-track-container\"\n onPointerCancel={handlePointerUp}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={handlePointerUp}\n ref={trackRef}\n role={isRange ? 'group' : undefined}>\n <div aria-hidden=\"true\" className={classes.track} />\n <div\n aria-hidden=\"true\"\n className={classes.filledTrack}\n style={filledStyle}\n />\n {marks == null ? null : (\n <div aria-hidden=\"true\" className={classes.marksContainer}>\n {marks.map(mark => {\n const percent = getPercent(mark.value, min, max);\n const markStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`};\n return (\n <div key={mark.value}>\n <div\n className={classes.mark}\n data-mark-value={mark.value}\n data-testid=\"slider-mark\"\n style={markStyle}\n />\n {mark.label == null ? null : (\n <span\n className={classes.markLabel}\n data-mark-value={mark.value}\n data-testid=\"slider-mark-label\"\n style={markStyle}>\n {mark.label}\n </span>\n )}\n </div>\n );\n })}\n </div>\n )}\n {values.map((currentValue, thumbIndex) => {\n const percent = getPercent(currentValue, min, max);\n const thumbStyle = isHorizontal\n ? {left: `${percent}%`}\n : {bottom: `${percent}%`, left: '50%'};\n const thumbLabel = isRange\n ? thumbIndex === 0\n ? `${label}, minimum value`\n : `${label}, maximum value`\n : label;\n const thumbKey = isRange\n ? thumbIndex === 0\n ? 'minimum'\n : 'maximum'\n : 'value';\n const thumb = (\n <div\n aria-describedby={ariaDescribedBy}\n aria-disabled={isDisabled || undefined}\n aria-invalid={status?.type === 'error' || undefined}\n aria-label={thumbLabel}\n aria-orientation={orientation}\n aria-valuemax={max}\n aria-valuemin={min}\n aria-valuenow={currentValue}\n aria-valuetext={\n formatValue == null ? undefined : formatValue(currentValue)\n }\n className={classes.thumb}\n id={!isRange || thumbIndex === 0 ? inputId : undefined}\n key={thumbKey}\n onKeyDown={event => handleKeyDown(thumbIndex, event)}\n role=\"slider\"\n style={thumbStyle}\n tabIndex={isDisabled ? -1 : 0}\n />\n );\n\n if (valueDisplay !== 'tooltip') {\n return thumb;\n }\n\n return (\n <Tooltip\n content={displayValue(currentValue)}\n delay={0}\n focusTrigger=\"always\"\n key={thumbKey}\n placement={isHorizontal ? 'above' : 'start'}>\n {thumb}\n </Tooltip>\n );\n })}\n </div>\n {textDisplay}\n </div>\n </Field>\n );\n}\n\nSlider.displayName = 'Slider';\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
+
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
3
4
|
var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
|
|
4
5
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
5
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
@@ -43,7 +44,7 @@ function Blockquote({
|
|
|
43
44
|
style,
|
|
44
45
|
children: [
|
|
45
46
|
children,
|
|
46
|
-
cite
|
|
47
|
+
chunkQAO6QMNQ_cjs.isReactNode(cite) ? /* @__PURE__ */ jsxRuntime.jsx("footer", { children: /* @__PURE__ */ jsxRuntime.jsx("cite", { className: classes.cite, children: cite }) }) : null
|
|
47
48
|
]
|
|
48
49
|
}
|
|
49
50
|
);
|
|
@@ -51,5 +52,5 @@ function Blockquote({
|
|
|
51
52
|
Blockquote.displayName = "Blockquote";
|
|
52
53
|
|
|
53
54
|
exports.Blockquote = Blockquote;
|
|
54
|
-
//# sourceMappingURL=chunk-
|
|
55
|
-
//# sourceMappingURL=chunk-
|
|
55
|
+
//# sourceMappingURL=chunk-65QAZWOG.cjs.map
|
|
56
|
+
//# sourceMappingURL=chunk-65QAZWOG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Blockquote/Blockquote.recipe.ts","../src/components/Blockquote/Blockquote.tsx"],"names":["sva","jsxs","cx","isReactNode","jsx"],"mappings":";;;;;;;;AAEO,IAAM,mBAAmBA,qBAAA,CAAI;AAAA,EAClC,KAAA,EAAO,CAAC,MAAA,EAAQ,MAAM,CAAA;AAAA,EACtB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,sBAAA,EAAwB,YAAA;AAAA,MACxB,sBAAA,EAAwB,OAAA;AAAA,MACxB,sBAAA,EAAwB,mBAAA;AAAA,MACxB,EAAA,EAAI,GAAA;AAAA,MACJ,KAAA,EAAO,UAAA;AAAA,MACP,CAAA,EAAG;AAAA,KACL;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,OAAA;AAAA,MACT,EAAA,EAAI,GAAA;AAAA,MACJ,QAAA,EAAU,IAAA;AAAA,MACV,UAAA,EAAY,QAAA;AAAA,MACZ,SAAA,EAAW;AAAA;AACb;AAEJ,CAAC,CAAA;ACiBM,SAAS,UAAA,CAAW;AAAA,EACzB,QAAA;AAAA,EACA,IAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,GAAA;AAAA,EACA;AACF,CAAA,EAAuC;AACrC,EAAA,MAAM,UAAU,gBAAA,EAAiB;AAEjC,EAAA,uBACEC,eAAA;AAAA,IAAC,YAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,QACAC,6BAAA,CAAY,IAAI,CAAA,mBACfC,cAAA,CAAC,QAAA,EAAA,EACC,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,IAAA,EAAO,QAAA,EAAA,IAAA,EAAK,CAAA,EACvC,CAAA,GACE;AAAA;AAAA;AAAA,GACN;AAEJ;AAEA,UAAA,CAAW,WAAA,GAAc,YAAA","file":"chunk-65QAZWOG.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const blockquoteRecipe = sva({\n slots: ['root', 'cite'],\n base: {\n root: {\n borderInlineStartWidth: 'emphasized',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border.emphasized',\n ps: '4',\n color: 'fg.muted',\n m: 0,\n },\n cite: {\n display: 'block',\n mt: '2',\n fontSize: 'sm',\n lineHeight: 'normal',\n fontStyle: 'normal',\n },\n },\n});\n\nexport type BlockquoteVariants = RecipeVariantProps<typeof blockquoteRecipe>;\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {blockquoteRecipe} from './Blockquote.recipe';\n\n/**\n * Styled block quotation with an optional citation footer.\n */\nexport interface BlockquoteProps {\n /**\n * Quoted content.\n */\n children: ReactNode;\n /**\n * Citation text rendered in a footer below the quote.\n */\n cite?: 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 * Ref forwarded to the blockquote element.\n */\n ref?: Ref<HTMLQuoteElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Styled block quotation with an optional citation footer.\n */\nexport function Blockquote({\n children,\n cite,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: BlockquoteProps): React.JSX.Element {\n const classes = blockquoteRecipe();\n\n return (\n <blockquote\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n {isReactNode(cite) ? (\n <footer>\n <cite className={classes.cite}>{cite}</cite>\n </footer>\n ) : null}\n </blockquote>\n );\n}\n\nBlockquote.displayName = 'Blockquote';\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkBRB52QFV_cjs = require('./chunk-BRB52QFV.cjs');
|
|
4
4
|
var chunkU2WVHZ24_cjs = require('./chunk-U2WVHZ24.cjs');
|
|
5
5
|
var chunk6SHL7FYO_cjs = require('./chunk-6SHL7FYO.cjs');
|
|
6
|
+
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
6
7
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
7
8
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
8
9
|
var lucideReact = require('lucide-react');
|
|
@@ -275,7 +276,7 @@ function Lightbox({
|
|
|
275
276
|
style,
|
|
276
277
|
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles.container, children: [
|
|
277
278
|
/* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.close, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
278
|
-
|
|
279
|
+
chunkBRB52QFV_cjs.Button,
|
|
279
280
|
{
|
|
280
281
|
className: styles.controlButton,
|
|
281
282
|
icon: lucideReact.X,
|
|
@@ -285,7 +286,7 @@ function Lightbox({
|
|
|
285
286
|
}
|
|
286
287
|
) }),
|
|
287
288
|
canPrev ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkSPDVNY2Z_cjs.cx(styles.nav, styles.prev), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
288
|
-
|
|
289
|
+
chunkBRB52QFV_cjs.Button,
|
|
289
290
|
{
|
|
290
291
|
className: styles.controlButton,
|
|
291
292
|
icon: lucideReact.ChevronLeft,
|
|
@@ -358,10 +359,10 @@ function Lightbox({
|
|
|
358
359
|
)
|
|
359
360
|
}
|
|
360
361
|
),
|
|
361
|
-
currentItem.caption
|
|
362
|
+
chunkQAO6QMNQ_cjs.isReactNode(currentItem.caption) ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: styles.caption, children: currentItem.caption }) : null
|
|
362
363
|
] }) : null,
|
|
363
364
|
canNext ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: chunkSPDVNY2Z_cjs.cx(styles.nav, styles.next), children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
364
|
-
|
|
365
|
+
chunkBRB52QFV_cjs.Button,
|
|
365
366
|
{
|
|
366
367
|
className: styles.controlButton,
|
|
367
368
|
icon: lucideReact.ChevronRight,
|
|
@@ -421,5 +422,5 @@ function useLightbox(options) {
|
|
|
421
422
|
|
|
422
423
|
exports.Lightbox = Lightbox;
|
|
423
424
|
exports.useLightbox = useLightbox;
|
|
424
|
-
//# sourceMappingURL=chunk-
|
|
425
|
-
//# sourceMappingURL=chunk-
|
|
425
|
+
//# sourceMappingURL=chunk-66LRFIYK.cjs.map
|
|
426
|
+
//# sourceMappingURL=chunk-66LRFIYK.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Lightbox/Lightbox.tsx","../src/components/Lightbox/useLightbox.tsx"],"names":["css","useEffect","useRef","useState","useMemo","useCallback","useIsomorphicLayoutEffect","jsx","cx","mergeRefs","jsxs","Button","X","ChevronLeft","isReactNode","ChevronRight"],"mappings":"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","file":"chunk-66LRFIYK.cjs","sourcesContent":["/* eslint-disable jsx-a11y-x/no-noninteractive-element-interactions */\n\nimport {ChevronLeft, ChevronRight, X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type MouseEvent as ReactMouseEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {css} from 'styled-system/css';\nimport {cx} from '../../internal/cx';\nimport isReactNode from '../../internal/isReactNode';\nimport {mergeRefs} from '../../internal/mergeRefs';\nimport {useIsomorphicLayoutEffect} from '../../internal/useIsomorphicLayoutEffect';\nimport {Button} from '../Button';\n\nexport type LightboxMediaType = 'image' | 'video';\n\nexport interface LightboxMedia {\n /**\n * Accessible image alt text, or video label.\n */\n alt: string;\n /**\n * Optional caption shown below the media.\n */\n caption?: ReactNode;\n /**\n * Optional WebVTT captions source for video media.\n */\n captionsSrc?: string;\n /**\n * Media source URL.\n */\n src: string;\n /**\n * Media type.\n * @default 'image'\n */\n type?: LightboxMediaType;\n}\n\nexport interface LightboxProps {\n /**\n * Additional CSS class names applied to the dialog.\n */\n className?: string;\n /**\n * Test ID applied to the dialog.\n */\n 'data-testid'?: string;\n /**\n * Initial gallery index for uncontrolled usage.\n * @default 0\n */\n defaultIndex?: number;\n /**\n * Whether videos autoplay when opened.\n * @default false\n */\n hasAutoPlay?: boolean;\n /**\n * Whether images can be double-clicked to zoom.\n * @default false\n */\n hasZoom?: boolean;\n /**\n * Controlled gallery index.\n */\n index?: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Media to display.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n /**\n * Called when gallery index changes.\n */\n onIndexChange?: (index: number) => void;\n /**\n * Called when the lightbox requests an open-state change.\n */\n onOpenChange: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the dialog element.\n */\n ref?: Ref<HTMLDialogElement>;\n /**\n * Inline styles applied to the dialog.\n */\n style?: CSSProperties;\n}\n\nconst styles = {\n dialog: css({\n position: 'fixed',\n inset: 0,\n w: '100dvw',\n h: '100dvh',\n maxW: 'none',\n maxH: 'none',\n m: 0,\n p: 0,\n borderWidth: 0,\n bg: 'transparent',\n overflow: 'hidden',\n outline: 'none',\n _backdrop: {\n bg: 'overlay.scrim.strong',\n backdropFilter: 'blur(2px)',\n },\n }),\n container: css({\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n w: 'full',\n h: 'full',\n p: '8',\n }),\n mediaGroup: css({\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n maxW: 'full',\n maxH: 'full',\n minH: 0,\n }),\n mediaWrap: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n overflow: 'hidden',\n minH: 0,\n userSelect: 'none',\n }),\n zoomable: css({cursor: 'zoom-in'}),\n zoomed: css({cursor: 'grab'}),\n dragging: css({cursor: 'grabbing'}),\n image: css({\n display: 'block',\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n pointerEvents: 'none',\n transitionProperty: 'transform',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0ms',\n },\n }),\n imageDragging: css({transitionProperty: 'none'}),\n video: css({\n maxW: '100%',\n maxH: 'calc(100dvh - 7rem)',\n objectFit: 'contain',\n outline: 'none',\n }),\n caption: css({\n w: 'full',\n maxW: 'min(90dvw, 48rem)',\n px: '3',\n pt: '2',\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'lg',\n lineHeight: 'normal',\n textAlign: 'center',\n }),\n close: css({\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n }),\n nav: css({\n position: 'absolute',\n top: '50%',\n zIndex: 1,\n transform: 'translateY(-50%)',\n }),\n prev: css({left: '3'}),\n next: css({right: '3'}),\n counter: css({\n position: 'absolute',\n top: '3',\n left: '3',\n zIndex: 1,\n color: 'fg.onPrimary',\n fontFamily: 'body',\n fontSize: 'md',\n }),\n controlButton: css({\n bg: 'overlay.scrim',\n color: 'fg.onPrimary',\n _hover: {\n bg: 'overlay.scrim.strong',\n },\n _active: {\n bg: 'overlay.scrim.strong',\n },\n }),\n} as const;\n\nfunction useScrollLock(isLocked: boolean): void {\n useEffect(() => {\n if (!isLocked) {\n return;\n }\n const previousOverflow = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n document.body.style.overflow = previousOverflow;\n };\n }, [isLocked]);\n}\n\nfunction isMediaArray(\n media: LightboxMedia | ReadonlyArray<LightboxMedia>,\n): media is ReadonlyArray<LightboxMedia> {\n return Array.isArray(media);\n}\n\n/**\n * Fullscreen dialog for viewing image or video media, with optional gallery navigation.\n */\nexport function Lightbox({\n className,\n 'data-testid': dataTestId,\n defaultIndex = 0,\n hasAutoPlay = false,\n hasZoom = false,\n index: indexFromProps,\n isOpen,\n media,\n onIndexChange,\n onOpenChange,\n ref,\n style,\n}: LightboxProps): React.JSX.Element {\n const dialogRef = useRef<HTMLDialogElement>(null);\n const triggerRef = useRef<Element | null>(null);\n const [uncontrolledIndex, setUncontrolledIndex] = useState(defaultIndex);\n const [zoom, setZoom] = useState(1);\n const [pan, setPan] = useState({x: 0, y: 0});\n const [isDragging, setIsDragging] = useState(false);\n const dragStartRef = useRef({x: 0, y: 0, panX: 0, panY: 0});\n const isControlled = indexFromProps !== undefined;\n const index = isControlled ? indexFromProps : uncontrolledIndex;\n const mediaItems: ReadonlyArray<LightboxMedia> = useMemo(\n () => (isMediaArray(media) ? media : [media]),\n [media],\n );\n const currentIndex =\n mediaItems.length === 0\n ? 0\n : Math.min(Math.max(index, 0), mediaItems.length - 1);\n const currentItem =\n mediaItems.length === 0 ? undefined : mediaItems[currentIndex];\n const hasMedia = currentItem != null;\n const isGallery = mediaItems.length > 1;\n const isVideo = (currentItem?.type ?? 'image') === 'video';\n const canPrev = isGallery && currentIndex > 0;\n const canNext = isGallery && currentIndex < mediaItems.length - 1;\n const imageTransform =\n zoom === 1\n ? undefined\n : `scale(${zoom}) translate(${pan.x / zoom}px, ${pan.y / zoom}px)`;\n\n useScrollLock(isOpen);\n\n const setIndex = useCallback(\n (nextIndex: number) => {\n if (!isControlled) {\n setUncontrolledIndex(nextIndex);\n }\n onIndexChange?.(nextIndex);\n },\n [isControlled, onIndexChange],\n );\n\n useEffect(() => {\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setZoom(1);\n // eslint-disable-next-line @eslint-react/set-state-in-effect\n setPan({x: 0, y: 0});\n }, [currentIndex, currentItem?.src, isOpen]);\n\n useEffect(() => {\n if (!isGallery) {\n return;\n }\n\n for (const nextIndex of [currentIndex - 1, currentIndex + 1]) {\n if (nextIndex < 0 || nextIndex >= mediaItems.length) {\n continue;\n }\n const item = mediaItems[nextIndex];\n if (item.type === 'video') {\n continue;\n }\n\n const image = new Image();\n image.src = item.src;\n }\n }, [currentIndex, isGallery, mediaItems]);\n\n useIsomorphicLayoutEffect(() => {\n const dialog = dialogRef.current;\n if (dialog == null) {\n return;\n }\n if (isOpen && !dialog.open) {\n triggerRef.current = document.activeElement;\n dialog.showModal();\n } else if (!isOpen && dialog.open) {\n dialog.close();\n if (triggerRef.current instanceof HTMLElement) {\n triggerRef.current.focus();\n }\n }\n }, [isOpen]);\n\n useEffect(() => {\n if (!isDragging) {\n return;\n }\n const handlePointerMove = (event: PointerEvent) => {\n setPan({\n x: dragStartRef.current.panX + event.clientX - dragStartRef.current.x,\n y: dragStartRef.current.panY + event.clientY - dragStartRef.current.y,\n });\n };\n const handlePointerUp = () => setIsDragging(false);\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n return () => {\n window.removeEventListener('pointermove', handlePointerMove);\n window.removeEventListener('pointerup', handlePointerUp);\n };\n }, [isDragging]);\n\n const close = useCallback(() => {\n onOpenChange(false);\n }, [onOpenChange]);\n const goPrev = useCallback(() => {\n if (canPrev) {\n setIndex(currentIndex - 1);\n }\n }, [canPrev, currentIndex, setIndex]);\n const goNext = useCallback(() => {\n if (canNext) {\n setIndex(currentIndex + 1);\n }\n }, [canNext, currentIndex, setIndex]);\n\n return (\n <dialog\n aria-label=\"Media lightbox\"\n className={cx(styles.dialog, className)}\n data-testid={dataTestId}\n onCancel={event => {\n event.preventDefault();\n close();\n }}\n onClick={(event: ReactMouseEvent<HTMLDialogElement>) => {\n if (event.target === event.currentTarget) {\n close();\n }\n }}\n onKeyDown={event => {\n if (event.key === 'ArrowLeft') {\n event.preventDefault();\n goPrev();\n } else if (event.key === 'ArrowRight') {\n event.preventDefault();\n goNext();\n }\n }}\n ref={mergeRefs(ref, dialogRef)}\n style={style}>\n <div className={styles.container}>\n <div className={styles.close}>\n <Button\n className={styles.controlButton}\n icon={X}\n isIconOnly\n label=\"Close\"\n onClick={close}\n />\n </div>\n {canPrev ? (\n <div className={cx(styles.nav, styles.prev)}>\n <Button\n className={styles.controlButton}\n icon={ChevronLeft}\n isIconOnly\n label=\"Previous\"\n onClick={goPrev}\n />\n </div>\n ) : null}\n {hasMedia ? (\n <div className={styles.mediaGroup}>\n {/* eslint-disable-next-line jsx-a11y-x/no-static-element-interactions -- media viewport supports image zoom/pan gestures */}\n <div\n className={cx(\n styles.mediaWrap,\n !isVideo && hasZoom && zoom === 1 ? styles.zoomable : undefined,\n !isVideo && zoom > 1 ? styles.zoomed : undefined,\n isDragging ? styles.dragging : undefined,\n )}\n onDoubleClick={() => {\n if (!hasZoom || isVideo) {\n return;\n }\n setZoom(zoom === 1 ? 2 : 1);\n setPan({x: 0, y: 0});\n }}\n onPointerDown={event => {\n if (!hasZoom || isVideo || zoom <= 1) {\n return;\n }\n setIsDragging(true);\n dragStartRef.current = {\n x: event.clientX,\n y: event.clientY,\n panX: pan.x,\n panY: pan.y,\n };\n }}>\n {isVideo ? (\n // eslint-disable-next-line jsx-a11y-x/media-has-caption -- captions are rendered only when callers provide a real WebVTT source\n <video\n aria-label={currentItem.alt}\n autoPlay={hasAutoPlay}\n className={styles.video}\n controls\n src={currentItem.src}>\n {currentItem.captionsSrc != null ? (\n <track\n kind=\"captions\"\n label=\"Captions\"\n src={currentItem.captionsSrc}\n />\n ) : null}\n </video>\n ) : (\n <img\n alt={currentItem.alt}\n className={cx(\n styles.image,\n isDragging ? styles.imageDragging : undefined,\n )}\n draggable={false}\n src={currentItem.src}\n style={{transform: imageTransform}}\n />\n )}\n </div>\n {isReactNode(currentItem.caption) ? (\n <div className={styles.caption}>{currentItem.caption}</div>\n ) : null}\n </div>\n ) : null}\n {canNext ? (\n <div className={cx(styles.nav, styles.next)}>\n <Button\n className={styles.controlButton}\n icon={ChevronRight}\n isIconOnly\n label=\"Next\"\n onClick={goNext}\n />\n </div>\n ) : null}\n {isGallery ? (\n <div className={styles.counter}>\n {currentIndex + 1} / {mediaItems.length}\n </div>\n ) : null}\n </div>\n </dialog>\n );\n}\n\nLightbox.displayName = 'Lightbox';\n","import {useCallback, useMemo, useState, type ReactNode} from 'react';\nimport {Lightbox, type LightboxMedia, type LightboxProps} from './Lightbox';\n\ntype LightboxOptions = Omit<\n LightboxProps,\n | 'defaultIndex'\n | 'index'\n | 'isOpen'\n | 'media'\n | 'onIndexChange'\n | 'onOpenChange'\n>;\n\nexport interface UseLightboxOptions extends LightboxOptions {\n /**\n * Media to display in the lightbox.\n */\n media: LightboxMedia | ReadonlyArray<LightboxMedia>;\n}\n\nexport interface UseLightboxReturn {\n /**\n * Close the lightbox.\n */\n close: () => void;\n /**\n * Render this element in your tree.\n */\n element: ReactNode;\n /**\n * Returns trigger props that open at the given gallery index.\n */\n getTriggerProps: (index: number) => {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n /**\n * Current gallery index.\n */\n index: number;\n /**\n * Whether the lightbox is open.\n */\n isOpen: boolean;\n /**\n * Open the lightbox, optionally at a specific gallery index.\n */\n open: (index?: number) => void;\n /**\n * Trigger props that open the first item.\n */\n triggerProps: {\n 'aria-haspopup': 'dialog';\n onClick: () => void;\n onKeyDown: (event: React.KeyboardEvent) => void;\n role: 'button';\n tabIndex: 0;\n };\n}\n\n/**\n * State helper for Lightbox triggers and rendering.\n */\nexport function useLightbox(options: UseLightboxOptions): UseLightboxReturn {\n const {media, ...lightboxProps} = options;\n const [isOpen, setIsOpen] = useState(false);\n const [index, setIndex] = useState(0);\n\n const open = useCallback((nextIndex = 0) => {\n setIndex(nextIndex);\n setIsOpen(true);\n }, []);\n const close = useCallback(() => setIsOpen(false), []);\n const getTriggerProps = useCallback(\n (nextIndex: number) => ({\n 'aria-haspopup': 'dialog' as const,\n onClick: () => open(nextIndex),\n onKeyDown: (event: React.KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n open(nextIndex);\n }\n },\n role: 'button' as const,\n tabIndex: 0 as const,\n }),\n [open],\n );\n const triggerProps = useMemo(() => getTriggerProps(0), [getTriggerProps]);\n const element = (\n <Lightbox\n {...lightboxProps}\n index={index}\n isOpen={isOpen}\n media={media}\n onIndexChange={setIndex}\n onOpenChange={setIsOpen}\n />\n );\n\n return {close, element, getTriggerProps, index, isOpen, open, triggerProps};\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
|
|
4
3
|
var chunk4TIAKZ4Q_cjs = require('./chunk-4TIAKZ4Q.cjs');
|
|
4
|
+
var chunk5QPM5LUS_cjs = require('./chunk-5QPM5LUS.cjs');
|
|
5
5
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
6
6
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
7
7
|
var react = require('react');
|
|
@@ -321,5 +321,5 @@ Collapsible.displayName = "Collapsible";
|
|
|
321
321
|
exports.Accordion = Accordion;
|
|
322
322
|
exports.AccordionItem = AccordionItem;
|
|
323
323
|
exports.Collapsible = Collapsible;
|
|
324
|
-
//# sourceMappingURL=chunk-
|
|
325
|
-
//# sourceMappingURL=chunk-
|
|
324
|
+
//# sourceMappingURL=chunk-6MOJEGDU.cjs.map
|
|
325
|
+
//# sourceMappingURL=chunk-6MOJEGDU.cjs.map
|