silver-ui 0.7.3 → 0.8.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 +14 -4
- package/dist/{chunk-CQYBC3RJ.cjs → chunk-263EUXFI.cjs} +10 -9
- package/dist/chunk-263EUXFI.cjs.map +1 -0
- package/dist/{chunk-KEPCKSDE.js → chunk-2AY74YXP.js} +3 -2
- package/dist/chunk-2AY74YXP.js.map +1 -0
- package/dist/{chunk-USEA7DB5.js → chunk-2EGYYWPB.js} +4 -4
- package/dist/{chunk-USEA7DB5.js.map → chunk-2EGYYWPB.js.map} +1 -1
- package/dist/{chunk-PGBYMBGH.js → chunk-3CV6IEEY.js} +18 -17
- package/dist/chunk-3CV6IEEY.js.map +1 -0
- package/dist/{chunk-5FQKELP6.js → chunk-3IX2FJWH.js} +3 -2
- package/dist/chunk-3IX2FJWH.js.map +1 -0
- package/dist/{chunk-H7LOOHWU.cjs → chunk-3JCYTBXI.cjs} +3 -2
- package/dist/chunk-3JCYTBXI.cjs.map +1 -0
- package/dist/{chunk-PK3NJSHQ.js → chunk-3TPFJ7NS.js} +8 -7
- package/dist/{chunk-PK3NJSHQ.js.map → chunk-3TPFJ7NS.js.map} +1 -1
- package/dist/{chunk-3W3ST5Y3.cjs → chunk-3USKXV4M.cjs} +7 -6
- package/dist/chunk-3USKXV4M.cjs.map +1 -0
- package/dist/{chunk-S4IHNNA2.js → chunk-3UYPIVBY.js} +3 -2
- package/dist/{chunk-S4IHNNA2.js.map → chunk-3UYPIVBY.js.map} +1 -1
- package/dist/{chunk-5GSRIOXE.js → chunk-4G644ETX.js} +16 -15
- package/dist/{chunk-5GSRIOXE.js.map → chunk-4G644ETX.js.map} +1 -1
- package/dist/{chunk-AO4RVSCG.js → chunk-4MIAF6ZO.js} +6 -5
- package/dist/{chunk-AO4RVSCG.js.map → chunk-4MIAF6ZO.js.map} +1 -1
- package/dist/{chunk-MN2NCSQQ.js → chunk-4MX4DKWA.js} +3 -2
- package/dist/{chunk-MN2NCSQQ.js.map → chunk-4MX4DKWA.js.map} +1 -1
- package/dist/{chunk-RX2FXCIH.cjs → chunk-4VYOE2HE.cjs} +8 -8
- package/dist/{chunk-RX2FXCIH.cjs.map → chunk-4VYOE2HE.cjs.map} +1 -1
- package/dist/{chunk-5MCI3ILK.cjs → chunk-4XFA2XAB.cjs} +44 -43
- package/dist/{chunk-5MCI3ILK.cjs.map → chunk-4XFA2XAB.cjs.map} +1 -1
- package/dist/{chunk-HENIVDYQ.cjs → chunk-4ZJ3P6IF.cjs} +15 -14
- package/dist/chunk-4ZJ3P6IF.cjs.map +1 -0
- package/dist/{chunk-RLIBY7XB.cjs → chunk-5AUBRSYO.cjs} +3 -2
- package/dist/chunk-5AUBRSYO.cjs.map +1 -0
- package/dist/{chunk-ESWYWWY2.js → chunk-5DK3LMS7.js} +5 -4
- package/dist/chunk-5DK3LMS7.js.map +1 -0
- package/dist/{chunk-TP6RGZ6A.js → chunk-5EDJRYE4.js} +14 -13
- package/dist/{chunk-TP6RGZ6A.js.map → chunk-5EDJRYE4.js.map} +1 -1
- package/dist/{chunk-3PEK2Q54.cjs → chunk-5FNYOPUL.cjs} +3 -2
- package/dist/chunk-5FNYOPUL.cjs.map +1 -0
- package/dist/{chunk-ZDZ7FW6V.cjs → chunk-5KFM5ZNO.cjs} +10 -9
- package/dist/chunk-5KFM5ZNO.cjs.map +1 -0
- package/dist/{chunk-AC4E3WQA.cjs → chunk-5P5OSQT2.cjs} +13 -12
- package/dist/chunk-5P5OSQT2.cjs.map +1 -0
- package/dist/{chunk-E6AKSBSP.js → chunk-5SCHQS3L.js} +7 -6
- package/dist/{chunk-E6AKSBSP.js.map → chunk-5SCHQS3L.js.map} +1 -1
- package/dist/{chunk-6SMVH3ON.cjs → chunk-6I7MYAPX.cjs} +9 -8
- package/dist/chunk-6I7MYAPX.cjs.map +1 -0
- package/dist/{chunk-GJZAGTPV.cjs → chunk-7KUEWO4T.cjs} +6 -5
- package/dist/chunk-7KUEWO4T.cjs.map +1 -0
- package/dist/{chunk-VCM4MR7N.cjs → chunk-7TLGH4VK.cjs} +53 -52
- package/dist/{chunk-VCM4MR7N.cjs.map → chunk-7TLGH4VK.cjs.map} +1 -1
- package/dist/{chunk-HPNY32G6.js → chunk-7TYZLVLZ.js} +3 -2
- package/dist/{chunk-HPNY32G6.js.map → chunk-7TYZLVLZ.js.map} +1 -1
- package/dist/{chunk-GA77PPVL.cjs → chunk-A36BE56K.cjs} +8 -7
- package/dist/{chunk-GA77PPVL.cjs.map → chunk-A36BE56K.cjs.map} +1 -1
- package/dist/{chunk-WG4NNC3P.js → chunk-AJAHLIHQ.js} +6 -5
- package/dist/{chunk-WG4NNC3P.js.map → chunk-AJAHLIHQ.js.map} +1 -1
- package/dist/{chunk-5RFHYDQY.js → chunk-AUXMMTKN.js} +3 -2
- package/dist/chunk-AUXMMTKN.js.map +1 -0
- package/dist/{chunk-DDMUYVSV.cjs → chunk-B5HYXBPH.cjs} +17 -16
- package/dist/{chunk-DDMUYVSV.cjs.map → chunk-B5HYXBPH.cjs.map} +1 -1
- package/dist/{chunk-63QPCV4F.cjs → chunk-BJSF4VYC.cjs} +38 -37
- package/dist/chunk-BJSF4VYC.cjs.map +1 -0
- package/dist/{chunk-N6C37HXD.js → chunk-BKZFINUO.js} +8 -7
- package/dist/chunk-BKZFINUO.js.map +1 -0
- package/dist/{chunk-J242UTPO.cjs → chunk-BLKZDVFG.cjs} +12 -11
- package/dist/chunk-BLKZDVFG.cjs.map +1 -0
- package/dist/{chunk-QQCEGAUQ.cjs → chunk-BQMIYEFC.cjs} +12 -11
- package/dist/chunk-BQMIYEFC.cjs.map +1 -0
- package/dist/{chunk-2N3PIXZ5.cjs → chunk-CDN7FN6R.cjs} +8 -7
- package/dist/chunk-CDN7FN6R.cjs.map +1 -0
- package/dist/{chunk-YQIDUJW2.cjs → chunk-CKERNLXH.cjs} +6 -5
- package/dist/{chunk-YQIDUJW2.cjs.map → chunk-CKERNLXH.cjs.map} +1 -1
- package/dist/{chunk-PG4CZRTU.js → chunk-CRYF4JDH.js} +3 -2
- package/dist/chunk-CRYF4JDH.js.map +1 -0
- package/dist/{chunk-EZFQCREN.cjs → chunk-CZAKWWZE.cjs} +10 -9
- package/dist/chunk-CZAKWWZE.cjs.map +1 -0
- package/dist/{chunk-BUYZZOOU.js → chunk-D57CFXDZ.js} +3 -2
- package/dist/{chunk-BUYZZOOU.js.map → chunk-D57CFXDZ.js.map} +1 -1
- package/dist/{chunk-Y2GYPMLW.cjs → chunk-DDKW5FTM.cjs} +6 -5
- package/dist/{chunk-Y2GYPMLW.cjs.map → chunk-DDKW5FTM.cjs.map} +1 -1
- package/dist/{chunk-6KGF66TR.js → chunk-DRWW5XMD.js} +4 -3
- package/dist/{chunk-6KGF66TR.js.map → chunk-DRWW5XMD.js.map} +1 -1
- package/dist/{chunk-IU2YRN35.cjs → chunk-DUZBTPSH.cjs} +3 -2
- package/dist/{chunk-IU2YRN35.cjs.map → chunk-DUZBTPSH.cjs.map} +1 -1
- package/dist/{chunk-VK7DXUGH.cjs → chunk-E5TRE2YG.cjs} +3 -2
- package/dist/chunk-E5TRE2YG.cjs.map +1 -0
- package/dist/{chunk-AXTX3IOR.js → chunk-E65S6HVS.js} +4 -3
- package/dist/{chunk-AXTX3IOR.js.map → chunk-E65S6HVS.js.map} +1 -1
- package/dist/{chunk-ARUOMLOJ.cjs → chunk-ECVWXA4H.cjs} +3 -2
- package/dist/chunk-ECVWXA4H.cjs.map +1 -0
- package/dist/{chunk-FUU3I22W.js → chunk-EEB56QQX.js} +4 -3
- package/dist/{chunk-FUU3I22W.js.map → chunk-EEB56QQX.js.map} +1 -1
- package/dist/{chunk-NYTSAO5I.cjs → chunk-EFYWVWSL.cjs} +3 -2
- package/dist/{chunk-NYTSAO5I.cjs.map → chunk-EFYWVWSL.cjs.map} +1 -1
- package/dist/{chunk-NYOZQE6P.js → chunk-EZ2LRC7U.js} +6 -5
- package/dist/chunk-EZ2LRC7U.js.map +1 -0
- package/dist/{chunk-QM7NQK2K.js → chunk-F2ZT6DCV.js} +5 -4
- package/dist/{chunk-QM7NQK2K.js.map → chunk-F2ZT6DCV.js.map} +1 -1
- package/dist/{chunk-JWMS6LHN.cjs → chunk-FCFVJGWR.cjs} +9 -8
- package/dist/{chunk-JWMS6LHN.cjs.map → chunk-FCFVJGWR.cjs.map} +1 -1
- package/dist/{chunk-6OWEKKOC.js → chunk-FHLK5CTO.js} +6 -5
- package/dist/chunk-FHLK5CTO.js.map +1 -0
- package/dist/{chunk-MYSLJWCW.cjs → chunk-FKZATUBG.cjs} +11 -10
- package/dist/chunk-FKZATUBG.cjs.map +1 -0
- package/dist/{chunk-YQVWDHP4.cjs → chunk-FNBOLEST.cjs} +8 -7
- package/dist/{chunk-YQVWDHP4.cjs.map → chunk-FNBOLEST.cjs.map} +1 -1
- package/dist/{chunk-KWZMXX4F.js → chunk-FPKXEI3W.js} +4 -3
- package/dist/chunk-FPKXEI3W.js.map +1 -0
- package/dist/{chunk-OPBELSKN.js → chunk-FQJBEWGB.js} +8 -7
- package/dist/chunk-FQJBEWGB.js.map +1 -0
- package/dist/{chunk-UUVI3TYW.js → chunk-GCQTQJPW.js} +8 -7
- package/dist/chunk-GCQTQJPW.js.map +1 -0
- package/dist/{chunk-YAQB3UMC.js → chunk-GEU4SROO.js} +5 -4
- package/dist/{chunk-YAQB3UMC.js.map → chunk-GEU4SROO.js.map} +1 -1
- package/dist/{chunk-6ZPHID26.cjs → chunk-GIZ7DK3W.cjs} +10 -9
- package/dist/chunk-GIZ7DK3W.cjs.map +1 -0
- package/dist/{chunk-5K3C3INR.cjs → chunk-GOAIWDHB.cjs} +11 -10
- package/dist/chunk-GOAIWDHB.cjs.map +1 -0
- package/dist/{chunk-GQ73VKKN.js → chunk-H5BUXKYQ.js} +9 -8
- package/dist/{chunk-GQ73VKKN.js.map → chunk-H5BUXKYQ.js.map} +1 -1
- package/dist/{chunk-HN4W6TM6.cjs → chunk-H5Q63Z42.cjs} +10 -9
- package/dist/chunk-H5Q63Z42.cjs.map +1 -0
- package/dist/{chunk-O4PO6AMS.cjs → chunk-HAUMZ357.cjs} +3 -2
- package/dist/{chunk-O4PO6AMS.cjs.map → chunk-HAUMZ357.cjs.map} +1 -1
- package/dist/{chunk-6SFMORQF.cjs → chunk-HTY7SADT.cjs} +8 -7
- package/dist/chunk-HTY7SADT.cjs.map +1 -0
- package/dist/{chunk-WOVSJHY6.cjs → chunk-HW7GODZJ.cjs} +15 -14
- package/dist/chunk-HW7GODZJ.cjs.map +1 -0
- package/dist/{chunk-CKDB7QNT.cjs → chunk-I2QAN2HX.cjs} +21 -20
- package/dist/{chunk-CKDB7QNT.cjs.map → chunk-I2QAN2HX.cjs.map} +1 -1
- package/dist/{chunk-JIF5TZHC.cjs → chunk-IFRIXTF5.cjs} +3 -2
- package/dist/chunk-IFRIXTF5.cjs.map +1 -0
- package/dist/{chunk-JTPVAZE6.cjs → chunk-IHR3KEWH.cjs} +12 -11
- package/dist/{chunk-JTPVAZE6.cjs.map → chunk-IHR3KEWH.cjs.map} +1 -1
- package/dist/{chunk-EBV3EX3J.js → chunk-J2TQNGUM.js} +8 -7
- package/dist/chunk-J2TQNGUM.js.map +1 -0
- package/dist/{chunk-LWB2CTX6.cjs → chunk-J5VWFOOY.cjs} +5 -4
- package/dist/{chunk-LWB2CTX6.cjs.map → chunk-J5VWFOOY.cjs.map} +1 -1
- package/dist/{chunk-3NIDAKCF.cjs → chunk-J6XRX6DD.cjs} +3 -2
- package/dist/chunk-J6XRX6DD.cjs.map +1 -0
- package/dist/{chunk-6R2UZNVE.js → chunk-JCXI44K2.js} +7 -6
- package/dist/chunk-JCXI44K2.js.map +1 -0
- package/dist/{chunk-NIKT7XSO.js → chunk-JFFAICCY.js} +7 -6
- package/dist/chunk-JFFAICCY.js.map +1 -0
- package/dist/{chunk-UW3KCCBT.cjs → chunk-KZOUXGPD.cjs} +5 -4
- package/dist/{chunk-UW3KCCBT.cjs.map → chunk-KZOUXGPD.cjs.map} +1 -1
- package/dist/{chunk-OX2FNKIV.cjs → chunk-LDKE723G.cjs} +11 -10
- package/dist/{chunk-OX2FNKIV.cjs.map → chunk-LDKE723G.cjs.map} +1 -1
- package/dist/{chunk-BIKVMVWF.js → chunk-LHQM533G.js} +3 -2
- package/dist/{chunk-BIKVMVWF.js.map → chunk-LHQM533G.js.map} +1 -1
- package/dist/{chunk-KVJ27734.cjs → chunk-LIDE7FVO.cjs} +5 -4
- package/dist/{chunk-KVJ27734.cjs.map → chunk-LIDE7FVO.cjs.map} +1 -1
- package/dist/{chunk-EIJSWHG7.js → chunk-LT4P67TG.js} +6 -5
- package/dist/{chunk-EIJSWHG7.js.map → chunk-LT4P67TG.js.map} +1 -1
- package/dist/{chunk-3PCXFOOS.js → chunk-M5SZUUWM.js} +7 -6
- package/dist/chunk-M5SZUUWM.js.map +1 -0
- package/dist/{chunk-BQWUTDTN.js → chunk-MCCOQSSC.js} +3 -2
- package/dist/{chunk-BQWUTDTN.js.map → chunk-MCCOQSSC.js.map} +1 -1
- package/dist/{chunk-I2DXEPDF.js → chunk-MVDTWARG.js} +7 -6
- package/dist/chunk-MVDTWARG.js.map +1 -0
- package/dist/{chunk-VWG54F6X.cjs → chunk-MWETV5LK.cjs} +9 -8
- package/dist/{chunk-VWG54F6X.cjs.map → chunk-MWETV5LK.cjs.map} +1 -1
- package/dist/{chunk-OCYZKZ24.cjs → chunk-MWWAQVJ3.cjs} +4 -4
- package/dist/{chunk-OCYZKZ24.cjs.map → chunk-MWWAQVJ3.cjs.map} +1 -1
- package/dist/{chunk-BBLAZNCC.js → chunk-MYBFODRI.js} +9 -8
- package/dist/chunk-MYBFODRI.js.map +1 -0
- package/dist/{chunk-GLFWSLJB.cjs → chunk-NHM6CSX2.cjs} +11 -10
- package/dist/{chunk-GLFWSLJB.cjs.map → chunk-NHM6CSX2.cjs.map} +1 -1
- package/dist/{chunk-BF2DUOC3.cjs → chunk-NJR5SVHL.cjs} +15 -14
- package/dist/{chunk-BF2DUOC3.cjs.map → chunk-NJR5SVHL.cjs.map} +1 -1
- package/dist/{chunk-Q6YOSQAM.js → chunk-NP527IVS.js} +8 -7
- package/dist/chunk-NP527IVS.js.map +1 -0
- package/dist/{chunk-56PY2CD7.js → chunk-NSA33LOE.js} +6 -5
- package/dist/chunk-NSA33LOE.js.map +1 -0
- package/dist/{chunk-ZW2ZOEYM.cjs → chunk-OAEVUPAL.cjs} +11 -10
- package/dist/chunk-OAEVUPAL.cjs.map +1 -0
- package/dist/{chunk-KVEXSDEM.js → chunk-OI4GH7DO.js} +5 -4
- package/dist/{chunk-KVEXSDEM.js.map → chunk-OI4GH7DO.js.map} +1 -1
- package/dist/{chunk-AKAXQ4RL.js → chunk-OLJIILEI.js} +4 -3
- package/dist/{chunk-AKAXQ4RL.js.map → chunk-OLJIILEI.js.map} +1 -1
- package/dist/{chunk-S4WWBV4N.js → chunk-ONOKHFK3.js} +6 -5
- package/dist/chunk-ONOKHFK3.js.map +1 -0
- package/dist/{chunk-BSXUNRET.cjs → chunk-ONRLHP46.cjs} +3 -2
- package/dist/chunk-ONRLHP46.cjs.map +1 -0
- package/dist/{chunk-NSWKBWPP.js → chunk-OSYOGJC5.js} +6 -5
- package/dist/{chunk-NSWKBWPP.js.map → chunk-OSYOGJC5.js.map} +1 -1
- package/dist/{chunk-5UGHDUMO.js → chunk-OXBBLHTC.js} +3 -2
- package/dist/chunk-OXBBLHTC.js.map +1 -0
- package/dist/{chunk-PQXPYN23.js → chunk-OYBRYZKK.js} +8 -7
- package/dist/chunk-OYBRYZKK.js.map +1 -0
- package/dist/{chunk-4MIIXRZN.cjs → chunk-OZNCX6DY.cjs} +21 -20
- package/dist/chunk-OZNCX6DY.cjs.map +1 -0
- package/dist/{chunk-FHUOUARL.js → chunk-P6LEAMPW.js} +5 -4
- package/dist/{chunk-FHUOUARL.js.map → chunk-P6LEAMPW.js.map} +1 -1
- package/dist/{chunk-DE7JLNSO.js → chunk-PTDBPRZD.js} +3 -2
- package/dist/chunk-PTDBPRZD.js.map +1 -0
- package/dist/{chunk-LBOWHXOF.js → chunk-PYUPT3HU.js} +5 -4
- package/dist/chunk-PYUPT3HU.js.map +1 -0
- package/dist/{chunk-PZHRFASW.js → chunk-Q4UI2MP4.js} +3 -2
- package/dist/chunk-Q4UI2MP4.js.map +1 -0
- package/dist/{chunk-YGESCFX2.js → chunk-Q5DVIVMR.js} +4 -3
- package/dist/chunk-Q5DVIVMR.js.map +1 -0
- package/dist/{chunk-FQSVY4QB.js → chunk-QMFPPGSZ.js} +4 -3
- package/dist/chunk-QMFPPGSZ.js.map +1 -0
- package/dist/{chunk-JMVYWHJ7.js → chunk-QMZQ4I72.js} +5 -4
- package/dist/chunk-QMZQ4I72.js.map +1 -0
- package/dist/{chunk-PXTTIAC4.cjs → chunk-QOQ55IUO.cjs} +9 -8
- package/dist/chunk-QOQ55IUO.cjs.map +1 -0
- package/dist/{chunk-5HPXPF3F.js → chunk-R3ONJZXN.js} +6 -5
- package/dist/chunk-R3ONJZXN.js.map +1 -0
- package/dist/{chunk-EEOUWM2F.cjs → chunk-RCRUFF6F.cjs} +5 -4
- package/dist/{chunk-EEOUWM2F.cjs.map → chunk-RCRUFF6F.cjs.map} +1 -1
- package/dist/{chunk-V5XVXQWE.js → chunk-RKPEY2LR.js} +6 -5
- package/dist/{chunk-V5XVXQWE.js.map → chunk-RKPEY2LR.js.map} +1 -1
- package/dist/{chunk-X2P5SPGB.js → chunk-RM2XLAAU.js} +3 -3
- package/dist/{chunk-X2P5SPGB.js.map → chunk-RM2XLAAU.js.map} +1 -1
- package/dist/{chunk-D7TT4HUI.cjs → chunk-RNKQPVCB.cjs} +17 -16
- package/dist/{chunk-D7TT4HUI.cjs.map → chunk-RNKQPVCB.cjs.map} +1 -1
- package/dist/{chunk-FTNEAX24.js → chunk-RQUQSI67.js} +5 -4
- package/dist/chunk-RQUQSI67.js.map +1 -0
- package/dist/{chunk-54B36CSW.js → chunk-RRN6FK6U.js} +6 -5
- package/dist/{chunk-54B36CSW.js.map → chunk-RRN6FK6U.js.map} +1 -1
- package/dist/{chunk-KLPVBJGZ.cjs → chunk-RUPT4QAW.cjs} +6 -5
- package/dist/{chunk-KLPVBJGZ.cjs.map → chunk-RUPT4QAW.cjs.map} +1 -1
- package/dist/{chunk-UNS7OCEA.cjs → chunk-RYVQVW2U.cjs} +6 -5
- package/dist/{chunk-UNS7OCEA.cjs.map → chunk-RYVQVW2U.cjs.map} +1 -1
- package/dist/{chunk-OUUG4RHO.js → chunk-RZBOQQRG.js} +7 -6
- package/dist/chunk-RZBOQQRG.js.map +1 -0
- package/dist/{chunk-HC57X3U4.js → chunk-RZPKI7FD.js} +6 -5
- package/dist/chunk-RZPKI7FD.js.map +1 -0
- package/dist/{chunk-WTCH3QCQ.js → chunk-SHJNMFEV.js} +3 -2
- package/dist/chunk-SHJNMFEV.js.map +1 -0
- package/dist/{chunk-DVCDAKPK.cjs → chunk-T6E5MIIO.cjs} +7 -6
- package/dist/chunk-T6E5MIIO.cjs.map +1 -0
- package/dist/{chunk-UJDHRILS.cjs → chunk-TFPTFBHN.cjs} +7 -6
- package/dist/chunk-TFPTFBHN.cjs.map +1 -0
- package/dist/{chunk-XUCLNECV.js → chunk-TRDO4OBD.js} +4 -3
- package/dist/chunk-TRDO4OBD.js.map +1 -0
- package/dist/{chunk-LTHPJRFK.cjs → chunk-TRQQZ3FY.cjs} +10 -9
- package/dist/{chunk-LTHPJRFK.cjs.map → chunk-TRQQZ3FY.cjs.map} +1 -1
- package/dist/{chunk-PYN75QAG.js → chunk-TS3FMP6Z.js} +4 -3
- package/dist/chunk-TS3FMP6Z.js.map +1 -0
- package/dist/{chunk-QB2BSOM4.cjs → chunk-TT65RNBY.cjs} +3 -2
- package/dist/{chunk-QB2BSOM4.cjs.map → chunk-TT65RNBY.cjs.map} +1 -1
- package/dist/{chunk-KLCEDPJ4.cjs → chunk-TX4BD3JN.cjs} +19 -18
- package/dist/chunk-TX4BD3JN.cjs.map +1 -0
- package/dist/{chunk-CWZCBYVZ.cjs → chunk-U7NJKBAR.cjs} +14 -13
- package/dist/chunk-U7NJKBAR.cjs.map +1 -0
- package/dist/{chunk-6SKIBUCY.js → chunk-UCMIHJFE.js} +5 -4
- package/dist/chunk-UCMIHJFE.js.map +1 -0
- package/dist/{chunk-BNGYGCT2.js → chunk-UCSMB46R.js} +4 -3
- package/dist/{chunk-BNGYGCT2.js.map → chunk-UCSMB46R.js.map} +1 -1
- package/dist/{chunk-DTNIUZ3C.cjs → chunk-UGK3AL6Z.cjs} +8 -7
- package/dist/{chunk-DTNIUZ3C.cjs.map → chunk-UGK3AL6Z.cjs.map} +1 -1
- package/dist/{chunk-2AOR4EVA.cjs → chunk-UJS33XO7.cjs} +9 -8
- package/dist/chunk-UJS33XO7.cjs.map +1 -0
- package/dist/{chunk-BPAZTKMC.cjs → chunk-VOYIMBTO.cjs} +11 -10
- package/dist/{chunk-BPAZTKMC.cjs.map → chunk-VOYIMBTO.cjs.map} +1 -1
- package/dist/{chunk-ACGPBJIS.js → chunk-VRXTRDIP.js} +6 -5
- package/dist/chunk-VRXTRDIP.js.map +1 -0
- package/dist/{chunk-CPDWUT2H.cjs → chunk-W6UBDEMN.cjs} +3 -2
- package/dist/{chunk-CPDWUT2H.cjs.map → chunk-W6UBDEMN.cjs.map} +1 -1
- package/dist/{chunk-DXUFDJHA.cjs → chunk-WBVSDRWB.cjs} +11 -10
- package/dist/{chunk-DXUFDJHA.cjs.map → chunk-WBVSDRWB.cjs.map} +1 -1
- package/dist/{chunk-U7QJJ3NR.cjs → chunk-WHQNYDUT.cjs} +9 -8
- package/dist/{chunk-U7QJJ3NR.cjs.map → chunk-WHQNYDUT.cjs.map} +1 -1
- package/dist/{chunk-MJHEPDDX.cjs → chunk-WW6XXMJL.cjs} +21 -20
- package/dist/chunk-WW6XXMJL.cjs.map +1 -0
- package/dist/{chunk-HEF53COU.js → chunk-X6QULLGW.js} +4 -3
- package/dist/{chunk-HEF53COU.js.map → chunk-X6QULLGW.js.map} +1 -1
- package/dist/{chunk-BYV7NXC5.cjs → chunk-XB6G4W4P.cjs} +8 -7
- package/dist/chunk-XB6G4W4P.cjs.map +1 -0
- package/dist/{chunk-MDQSVB2Y.js → chunk-XBQKPRWG.js} +3 -2
- package/dist/chunk-XBQKPRWG.js.map +1 -0
- package/dist/{chunk-WLWSQKWI.js → chunk-XQIPFZUD.js} +9 -8
- package/dist/{chunk-WLWSQKWI.js.map → chunk-XQIPFZUD.js.map} +1 -1
- package/dist/{chunk-TACO5IWI.cjs → chunk-XTWTL3UB.cjs} +20 -19
- package/dist/chunk-XTWTL3UB.cjs.map +1 -0
- package/dist/{chunk-6KG76KUZ.js → chunk-XVJLFQJT.js} +4 -3
- package/dist/{chunk-6KG76KUZ.js.map → chunk-XVJLFQJT.js.map} +1 -1
- package/dist/{chunk-CVT7JW6C.cjs → chunk-XY5GXS62.cjs} +5 -4
- package/dist/{chunk-CVT7JW6C.cjs.map → chunk-XY5GXS62.cjs.map} +1 -1
- package/dist/{chunk-PKZSJX53.cjs → chunk-Y3TUHGI2.cjs} +3 -2
- package/dist/chunk-Y3TUHGI2.cjs.map +1 -0
- package/dist/{chunk-GKYGZWSQ.js → chunk-YBMIXGFM.js} +6 -5
- package/dist/{chunk-GKYGZWSQ.js.map → chunk-YBMIXGFM.js.map} +1 -1
- package/dist/{chunk-GTZQT6MK.js → chunk-YK5BUUZG.js} +6 -5
- package/dist/chunk-YK5BUUZG.js.map +1 -0
- package/dist/{chunk-L747HIHG.js → chunk-YKLFVO22.js} +5 -4
- package/dist/chunk-YKLFVO22.js.map +1 -0
- package/dist/{chunk-BKKLUIIU.js → chunk-YNGDGY2J.js} +3 -2
- package/dist/chunk-YNGDGY2J.js.map +1 -0
- package/dist/{chunk-2K4I2MB3.cjs → chunk-YPTBGFPT.cjs} +3 -2
- package/dist/{chunk-2K4I2MB3.cjs.map → chunk-YPTBGFPT.cjs.map} +1 -1
- package/dist/{chunk-O3UT5D57.js → chunk-YUKH75MR.js} +15 -14
- package/dist/{chunk-O3UT5D57.js.map → chunk-YUKH75MR.js.map} +1 -1
- package/dist/{chunk-IREOTHD3.cjs → chunk-Z2KSHRDD.cjs} +6 -5
- package/dist/chunk-Z2KSHRDD.cjs.map +1 -0
- package/dist/{chunk-VPWNRWNO.cjs → chunk-Z5EY2GRO.cjs} +3 -2
- package/dist/chunk-Z5EY2GRO.cjs.map +1 -0
- package/dist/{chunk-D3CHBU46.js → chunk-ZLJOIPTJ.js} +4 -3
- package/dist/{chunk-D3CHBU46.js.map → chunk-ZLJOIPTJ.js.map} +1 -1
- package/dist/{chunk-NGNVNRAZ.cjs → chunk-ZQWT5UEN.cjs} +18 -17
- package/dist/chunk-ZQWT5UEN.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/components/Accordion/index.cjs +4 -4
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/Accordion/useAccordionDevWarning.d.ts.map +1 -1
- package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/index.cjs +10 -10
- package/dist/components/Alert/index.js +9 -9
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.cjs +16 -16
- package/dist/components/AlertDialog/index.js +14 -14
- package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/AppShellMobileContext.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +21 -21
- package/dist/components/AppShell/index.js +18 -18
- package/dist/components/AppShell/useSlotPresence.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +17 -17
- package/dist/components/AutocompleteInput/index.js +13 -13
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarSizeContext.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/components/Avatar/index.cjs +4 -4
- package/dist/components/Avatar/index.js +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.cjs +4 -4
- package/dist/components/AvatarGroup/index.js +2 -2
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbsContext.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.cjs +5 -5
- package/dist/components/Breadcrumbs/index.js +2 -2
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/index.cjs +9 -9
- package/dist/components/Button/index.js +8 -8
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroupContext.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.cjs +3 -3
- package/dist/components/ButtonGroup/index.js +2 -2
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/index.cjs +10 -10
- package/dist/components/Calendar/index.js +9 -9
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/index.cjs +12 -12
- package/dist/components/CheckboxGroup/index.js +10 -10
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/index.cjs +9 -9
- package/dist/components/CheckboxInput/index.js +8 -8
- package/dist/components/CodeBlock/index.cjs +11 -11
- package/dist/components/CodeBlock/index.js +10 -10
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.cjs +15 -15
- package/dist/components/ContextMenu/index.js +13 -13
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +13 -13
- package/dist/components/DateInput/index.js +12 -12
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +13 -13
- package/dist/components/DateRangeInput/index.js +12 -12
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +15 -15
- package/dist/components/DateTimeInput/index.js +14 -14
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
- package/dist/components/Dialog/index.cjs +8 -8
- package/dist/components/Dialog/index.js +4 -4
- package/dist/components/Dialog/useDialog.d.ts.map +1 -1
- package/dist/components/Divider/Divider.d.ts.map +1 -1
- package/dist/components/Divider/index.cjs +2 -2
- package/dist/components/Divider/index.js +1 -1
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/index.cjs +5 -5
- package/dist/components/Drawer/index.js +3 -3
- package/dist/components/Drawer/useDrawer.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.cjs +16 -16
- package/dist/components/DropdownMenu/index.js +12 -12
- package/dist/components/DropdownMenu/menuUtils.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/index.cjs +5 -5
- package/dist/components/EmptyState/index.js +4 -4
- package/dist/components/Field/index.cjs +6 -6
- package/dist/components/Field/index.js +4 -4
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/index.cjs +11 -11
- package/dist/components/FileInput/index.js +10 -10
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/index.cjs +4 -4
- package/dist/components/HoverCard/index.js +2 -2
- package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroupContext.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +9 -9
- package/dist/components/InputGroup/index.js +5 -5
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/index.cjs +7 -7
- package/dist/components/Item/index.js +6 -6
- package/dist/components/Kbd/Kbd.d.ts.map +1 -1
- package/dist/components/Kbd/index.cjs +2 -2
- package/dist/components/Kbd/index.js +1 -1
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContext.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/LayoutPanel.d.ts.map +1 -1
- package/dist/components/Layout/index.cjs +15 -15
- package/dist/components/Layout/index.js +10 -10
- package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/components/Lightbox/index.cjs +12 -12
- package/dist/components/Lightbox/index.js +10 -10
- package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/LinkContext.d.ts.map +1 -1
- package/dist/components/Link/LinkProvider.d.ts.map +1 -1
- package/dist/components/Link/index.cjs +8 -8
- package/dist/components/Link/index.js +5 -5
- package/dist/components/Link/useLinkComponent.d.ts.map +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/ListContext.d.ts.map +1 -1
- package/dist/components/List/ListItem.d.ts.map +1 -1
- package/dist/components/List/index.cjs +9 -9
- package/dist/components/List/index.js +7 -7
- package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataListContext.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/components/MetadataList/index.cjs +6 -6
- package/dist/components/MetadataList/index.js +4 -4
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.cjs +13 -13
- package/dist/components/MultiSelect/index.js +12 -12
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +12 -12
- package/dist/components/NumberInput/index.js +11 -11
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/index.cjs +10 -10
- package/dist/components/Pagination/index.js +9 -9
- package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.cjs +13 -13
- package/dist/components/PasswordInput/index.js +12 -12
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +11 -11
- package/dist/components/Popover/index.js +9 -9
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/index.cjs +2 -2
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.cjs +10 -10
- package/dist/components/RadioGroup/index.js +8 -8
- package/dist/components/Rating/Rating.d.ts.map +1 -1
- package/dist/components/Rating/index.cjs +2 -2
- package/dist/components/Rating/index.js +1 -1
- package/dist/components/Schedule/DayView.d.ts.map +1 -1
- package/dist/components/Schedule/ListView.d.ts.map +1 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/Schedule.d.ts.map +1 -1
- package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
- package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
- package/dist/components/Schedule/context.d.ts.map +1 -1
- package/dist/components/Schedule/index.cjs +34 -34
- package/dist/components/Schedule/index.js +19 -19
- package/dist/components/Schedule/plugins/EventMovePlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/EventResizePlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/PaginationPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/Schedule/useCurrentTime.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputFilterEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +32 -32
- package/dist/components/SearchFilterInput/index.js +24 -24
- package/dist/components/SearchFilterInput/internalConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputSource.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.cjs +3 -3
- package/dist/components/SegmentedControl/index.js +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +15 -15
- package/dist/components/Select/index.js +13 -13
- package/dist/components/SideNav/SideNav.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavContext.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 +19 -19
- package/dist/components/SideNav/index.js +13 -13
- package/dist/components/SideNav/internal/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/index.cjs +6 -6
- package/dist/components/Slider/index.js +5 -5
- package/dist/components/Spinner/index.cjs +5 -5
- package/dist/components/Spinner/index.js +4 -4
- package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
- package/dist/components/SplitButton/index.cjs +15 -15
- package/dist/components/SplitButton/index.js +14 -14
- package/dist/components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper/index.cjs +5 -5
- package/dist/components/Stepper/index.js +4 -4
- package/dist/components/Stepper/internal/Step.d.ts.map +1 -1
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/index.cjs +6 -6
- package/dist/components/Switch/index.js +5 -5
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/TableCell.d.ts.map +1 -1
- package/dist/components/Table/TableContext.d.ts.map +1 -1
- package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +54 -54
- package/dist/components/Table/index.js +28 -28
- package/dist/components/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFilterState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/components/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/TabMenu.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/TabsContext.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +15 -15
- package/dist/components/Tabs/index.js +10 -10
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/index.cjs +7 -7
- package/dist/components/Tag/index.js +6 -6
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/index.cjs +15 -15
- package/dist/components/TagsInput/index.js +14 -14
- 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 +5 -5
- package/dist/components/Text/index.js +3 -3
- package/dist/components/Text/useTruncation.d.ts.map +1 -1
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +7 -7
- package/dist/components/TextArea/index.js +6 -6
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +12 -12
- package/dist/components/TextInput/index.js +11 -11
- package/dist/components/Theme/Theme.d.ts.map +1 -1
- package/dist/components/Theme/index.cjs +2 -2
- package/dist/components/Theme/index.js +1 -1
- package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/components/Thumbnail/index.cjs +10 -10
- package/dist/components/Thumbnail/index.js +9 -9
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +11 -11
- package/dist/components/TimeInput/index.js +10 -10
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/ToastContext.d.ts.map +1 -1
- package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/components/Toast/index.cjs +12 -12
- package/dist/components/Toast/index.js +9 -9
- package/dist/components/Toast/useToast.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.cjs +7 -7
- package/dist/components/ToggleButton/index.js +5 -5
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.cjs +4 -4
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavContext.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +18 -18
- package/dist/components/TopNav/index.js +13 -13
- 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 -3
- package/dist/components/TreeView/index.js +2 -2
- package/dist/index.cjs +246 -246
- package/dist/index.js +76 -76
- package/dist/internal/ActionElement.d.ts.map +1 -1
- package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/MobileNav/MobileNavToggle.d.ts.map +1 -1
- package/dist/internal/OverflowList.d.ts.map +1 -1
- package/dist/internal/linkAccessibility.d.ts.map +1 -1
- package/dist/internal/useBackdropDismiss.d.ts.map +1 -1
- package/dist/internal/useConstant.d.ts.map +1 -1
- package/dist/internal/useFocusTrap.d.ts.map +1 -1
- package/dist/internal/useGridFocus.d.ts.map +1 -1
- package/dist/internal/useHoverLayer.d.ts.map +1 -1
- package/dist/internal/useLatest.d.ts.map +1 -1
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/dist/internal/useListboxNavigation.d.ts.map +1 -1
- package/dist/internal/useMediaQuery.d.ts.map +1 -1
- package/dist/internal/useScrollLock.d.ts.map +1 -1
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/internal/useShallowEqualMemo.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -2
- package/dist/chunk-2AOR4EVA.cjs.map +0 -1
- package/dist/chunk-2N3PIXZ5.cjs.map +0 -1
- package/dist/chunk-3NIDAKCF.cjs.map +0 -1
- package/dist/chunk-3PCXFOOS.js.map +0 -1
- package/dist/chunk-3PEK2Q54.cjs.map +0 -1
- package/dist/chunk-3W3ST5Y3.cjs.map +0 -1
- package/dist/chunk-4MIIXRZN.cjs.map +0 -1
- package/dist/chunk-56PY2CD7.js.map +0 -1
- package/dist/chunk-5FQKELP6.js.map +0 -1
- package/dist/chunk-5HPXPF3F.js.map +0 -1
- package/dist/chunk-5K3C3INR.cjs.map +0 -1
- package/dist/chunk-5RFHYDQY.js.map +0 -1
- package/dist/chunk-5UGHDUMO.js.map +0 -1
- package/dist/chunk-63QPCV4F.cjs.map +0 -1
- package/dist/chunk-6OWEKKOC.js.map +0 -1
- package/dist/chunk-6R2UZNVE.js.map +0 -1
- package/dist/chunk-6SFMORQF.cjs.map +0 -1
- package/dist/chunk-6SKIBUCY.js.map +0 -1
- package/dist/chunk-6SMVH3ON.cjs.map +0 -1
- package/dist/chunk-6ZPHID26.cjs.map +0 -1
- package/dist/chunk-AC4E3WQA.cjs.map +0 -1
- package/dist/chunk-ACGPBJIS.js.map +0 -1
- package/dist/chunk-ARUOMLOJ.cjs.map +0 -1
- package/dist/chunk-BBLAZNCC.js.map +0 -1
- package/dist/chunk-BKKLUIIU.js.map +0 -1
- package/dist/chunk-BSXUNRET.cjs.map +0 -1
- package/dist/chunk-BYV7NXC5.cjs.map +0 -1
- package/dist/chunk-CQYBC3RJ.cjs.map +0 -1
- package/dist/chunk-CWZCBYVZ.cjs.map +0 -1
- package/dist/chunk-DE7JLNSO.js.map +0 -1
- package/dist/chunk-DVCDAKPK.cjs.map +0 -1
- package/dist/chunk-EBV3EX3J.js.map +0 -1
- package/dist/chunk-ESWYWWY2.js.map +0 -1
- package/dist/chunk-EZFQCREN.cjs.map +0 -1
- package/dist/chunk-FQSVY4QB.js.map +0 -1
- package/dist/chunk-FTNEAX24.js.map +0 -1
- package/dist/chunk-GJZAGTPV.cjs.map +0 -1
- package/dist/chunk-GTZQT6MK.js.map +0 -1
- package/dist/chunk-H7LOOHWU.cjs.map +0 -1
- package/dist/chunk-HC57X3U4.js.map +0 -1
- package/dist/chunk-HENIVDYQ.cjs.map +0 -1
- package/dist/chunk-HN4W6TM6.cjs.map +0 -1
- package/dist/chunk-I2DXEPDF.js.map +0 -1
- package/dist/chunk-IREOTHD3.cjs.map +0 -1
- package/dist/chunk-J242UTPO.cjs.map +0 -1
- package/dist/chunk-JIF5TZHC.cjs.map +0 -1
- package/dist/chunk-JMVYWHJ7.js.map +0 -1
- package/dist/chunk-KEPCKSDE.js.map +0 -1
- package/dist/chunk-KLCEDPJ4.cjs.map +0 -1
- package/dist/chunk-KWZMXX4F.js.map +0 -1
- package/dist/chunk-L747HIHG.js.map +0 -1
- package/dist/chunk-LBOWHXOF.js.map +0 -1
- package/dist/chunk-MDQSVB2Y.js.map +0 -1
- package/dist/chunk-MJHEPDDX.cjs.map +0 -1
- package/dist/chunk-MYSLJWCW.cjs.map +0 -1
- package/dist/chunk-N6C37HXD.js.map +0 -1
- package/dist/chunk-NGNVNRAZ.cjs.map +0 -1
- package/dist/chunk-NIKT7XSO.js.map +0 -1
- package/dist/chunk-NYOZQE6P.js.map +0 -1
- package/dist/chunk-OPBELSKN.js.map +0 -1
- package/dist/chunk-OUUG4RHO.js.map +0 -1
- package/dist/chunk-PG4CZRTU.js.map +0 -1
- package/dist/chunk-PGBYMBGH.js.map +0 -1
- package/dist/chunk-PKZSJX53.cjs.map +0 -1
- package/dist/chunk-PQXPYN23.js.map +0 -1
- package/dist/chunk-PXTTIAC4.cjs.map +0 -1
- package/dist/chunk-PYN75QAG.js.map +0 -1
- package/dist/chunk-PZHRFASW.js.map +0 -1
- package/dist/chunk-Q6YOSQAM.js.map +0 -1
- package/dist/chunk-QQCEGAUQ.cjs.map +0 -1
- package/dist/chunk-RLIBY7XB.cjs.map +0 -1
- package/dist/chunk-S4WWBV4N.js.map +0 -1
- package/dist/chunk-TACO5IWI.cjs.map +0 -1
- package/dist/chunk-UJDHRILS.cjs.map +0 -1
- package/dist/chunk-UUVI3TYW.js.map +0 -1
- package/dist/chunk-VK7DXUGH.cjs.map +0 -1
- package/dist/chunk-VPWNRWNO.cjs.map +0 -1
- package/dist/chunk-WOVSJHY6.cjs.map +0 -1
- package/dist/chunk-WTCH3QCQ.js.map +0 -1
- package/dist/chunk-XUCLNECV.js.map +0 -1
- package/dist/chunk-YGESCFX2.js.map +0 -1
- package/dist/chunk-ZDZ7FW6V.cjs.map +0 -1
- package/dist/chunk-ZW2ZOEYM.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Accordion/AccordionContext.tsx","../src/components/Accordion/useAccordionDevWarning.ts","../src/components/Accordion/Accordion.tsx","../src/components/Accordion/AccordionItem.recipe.ts","../src/components/Accordion/useCollapsible.ts","../src/components/Accordion/AccordionItem.tsx","../src/components/Accordion/Collapsible.tsx"],"names":["createContext","useRef","useEffect","css","useState","useMemo","useCallback","jsx","cx","sva","use","useId","jsxs","Icon","ChevronDown"],"mappings":"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","file":"chunk-ECVWXA4H.cjs","sourcesContent":["'use client';\n\nimport {createContext} from 'react';\n\nexport interface AccordionContextValue {\n getIsOpen: (value: string) => boolean;\n toggle: (value: string) => void;\n}\n\nexport const AccordionContext = createContext<AccordionContextValue | null>(\n null,\n);\nAccordionContext.displayName = 'AccordionContext';\n","'use client';\n\nimport {useEffect, useRef} from 'react';\n\n/**\n * Dev-only: warns when a controlled `value` array is recreated each render with\n * the same contents, which defeats the `openValues` memo and forces unnecessary\n * re-renders. Runs in an effect (not during render) so the ref reads/writes stay\n * pure, and the whole hook is inert in production.\n */\nexport function useAccordionDevWarning(\n controlledValue: string | string[] | null | undefined,\n): void {\n const prevControlledArrayRef = useRef<ReadonlyArray<string> | undefined>(\n undefined,\n );\n const hasWarnedUnstableValueRef = useRef(false);\n useEffect(() => {\n if (\n process.env.NODE_ENV === 'production' ||\n !Array.isArray(controlledValue)\n ) {\n return;\n }\n const prev = prevControlledArrayRef.current;\n if (\n !hasWarnedUnstableValueRef.current &&\n prev !== undefined &&\n prev !== controlledValue &&\n prev.length === controlledValue.length &&\n prev.every((item, i) => item === controlledValue[i])\n ) {\n hasWarnedUnstableValueRef.current = true;\n console.warn(\n 'Accordion: the `value` array changed identity between renders but ' +\n 'contains the same items. Memoize it (e.g. with `useMemo`) to ' +\n 'avoid unnecessary re-renders of the accordion items.',\n );\n }\n prevControlledArrayRef.current = controlledValue;\n }, [controlledValue]);\n}\n","'use client';\n\nimport {\n useCallback,\n useMemo,\n useState,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n AccordionContext,\n type AccordionContextValue,\n} from 'components/Accordion/AccordionContext';\nimport {useAccordionDevWarning} from 'components/Accordion/useAccordionDevWarning';\nimport {cx} from 'internal/cx';\nimport {css} from 'styled-system/css';\n\n/**\n * A container that coordinates multiple `AccordionItem` children so that\n * one (`type=\"single\"`) or several (`type=\"multiple\"`) can be open at a\n * time. For a standalone disclosure widget, use `Collapsible` instead.\n */\ninterface AccordionBaseProps {\n /**\n * Accessible label for the accordion group. Provide either `aria-label`\n * or `aria-labelledby`, not both.\n */\n 'aria-label'?: string;\n /**\n * ID of an element that labels the accordion group. Provide either\n * `aria-label` or `aria-labelledby`, not both.\n */\n 'aria-labelledby'?: string;\n /**\n * One or more `AccordionItem` elements.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nexport type AccordionProps =\n | (AccordionBaseProps & {\n /**\n * Item value that is open on initial render, or `null` for all\n * closed. Ignored when `value` is provided.\n */\n defaultValue?: string | null;\n /**\n * Called when the open item changes. Receives the item value string,\n * or `null` when all items are closed.\n */\n onChange?: (value: string | null) => void;\n /**\n * Only one item can be open at a time. This is the default.\n */\n type?: 'single';\n /**\n * Controls which item is open externally. Pass `null` to close all\n * items. When set, the component becomes controlled and `onChange`\n * should be provided.\n */\n value?: string | null;\n })\n | (AccordionBaseProps & {\n /**\n * Item values that are open on initial render. Ignored when `value` is\n * provided.\n */\n defaultValue?: string[];\n /**\n * Called when the set of open items changes. Receives an array of\n * open item values.\n */\n onChange?: (value: string[]) => void;\n /**\n * Multiple items can be open simultaneously.\n */\n type: 'multiple';\n /**\n * Controls which items are open externally. When set, the component\n * becomes controlled and `onChange` should be provided. Memoize array\n * values to avoid unnecessary re-renders.\n */\n value?: string[];\n });\n\nfunction normalizeToSet(\n value: string | string[] | null | undefined,\n): ReadonlySet<string> {\n if (value == null) {\n return new Set();\n }\n return new Set(Array.isArray(value) ? value : [value]);\n}\n\nconst styles = {\n root: css({\n display: 'flex',\n flexDirection: 'column',\n gap: '3',\n }),\n};\n\nexport function Accordion({\n 'aria-label': ariaLabel,\n 'aria-labelledby': ariaLabelledby,\n type = 'single',\n defaultValue,\n value: controlledValue,\n onChange,\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: AccordionProps): React.JSX.Element {\n const isControlled = controlledValue !== undefined;\n const [internalValue, setInternalValue] = useState<ReadonlySet<string>>(() =>\n normalizeToSet(defaultValue),\n );\n\n useAccordionDevWarning(controlledValue);\n\n const openValues = useMemo(\n () => (isControlled ? normalizeToSet(controlledValue) : internalValue),\n [isControlled, controlledValue, internalValue],\n );\n\n const getIsOpen = useCallback(\n (itemValue: string) => openValues.has(itemValue),\n [openValues],\n );\n\n const toggle = useCallback(\n (itemValue: string) => {\n let nextValues: ReadonlySet<string>;\n\n if (type === 'single') {\n nextValues = openValues.has(itemValue)\n ? new Set()\n : new Set([itemValue]);\n } else {\n const next = new Set(openValues);\n if (next.has(itemValue)) {\n next.delete(itemValue);\n } else {\n next.add(itemValue);\n }\n nextValues = next;\n }\n\n if (!isControlled) {\n setInternalValue(nextValues);\n }\n\n if (onChange) {\n const arr = [...nextValues];\n if (type === 'single') {\n (onChange as (value: string | null) => void)(arr[0] ?? null);\n } else {\n (onChange as (value: string[]) => void)(arr);\n }\n }\n },\n [type, openValues, isControlled, onChange],\n );\n\n const contextValue = useMemo<AccordionContextValue>(\n () => ({getIsOpen, toggle}),\n [getIsOpen, toggle],\n );\n\n return (\n <AccordionContext value={contextValue}>\n <div\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n className={cx(styles.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </AccordionContext>\n );\n}\n\nAccordion.displayName = 'Accordion';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const accordionItemRecipe = sva({\n slots: ['root', 'trigger', 'chevron', 'panel', 'panelInner'],\n base: {\n root: {\n w: '100%',\n },\n trigger: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n w: '100%',\n cursor: 'pointer',\n fontFamily: 'body',\n fontSize: 'lg',\n fontWeight: 'semibold',\n color: 'fg',\n textAlign: 'start',\n py: 0,\n _disabled: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n borderRadius: 'sm',\n },\n },\n chevron: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n transitionProperty: 'transform',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n color: 'fg.muted',\n },\n panel: {\n display: 'grid',\n gridTemplateRows: '1fr',\n // `visibility` is transitioned alongside the rows so the content stays\n // readable while collapsing, then becomes `hidden` (removing it from the\n // a11y tree and tab order) once closed. The inline `visibility` style in\n // the component drives the open/closed value.\n transitionProperty: 'grid-template-rows, visibility',\n transitionDuration: 'normal',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0.01s',\n },\n },\n panelInner: {\n overflow: 'hidden',\n minH: 0,\n pt: '1',\n },\n },\n variants: {\n isOpen: {\n true: {\n chevron: {transform: 'rotate(180deg)'},\n },\n false: {\n panel: {gridTemplateRows: '0fr'},\n },\n },\n },\n defaultVariants: {\n isOpen: false,\n },\n});\n\nexport type AccordionItemVariants = RecipeVariantProps<\n typeof accordionItemRecipe\n>;\n","'use client';\n\nimport {use, useCallback, useState} from 'react';\nimport {AccordionContext} from 'components/Accordion/AccordionContext';\n\nexport interface CollapsibleConfig {\n isDefaultOpen?: boolean;\n isOpen?: boolean;\n onOpenChange?: (isOpen: boolean) => void;\n}\n\nexport interface UseCollapsibleOptions {\n config?: CollapsibleConfig;\n value?: string;\n}\n\nexport interface UseCollapsibleReturn {\n isOpen: boolean;\n toggle: () => void;\n}\n\nexport function useCollapsible(\n options: UseCollapsibleOptions,\n): UseCollapsibleReturn {\n const {config, value} = options;\n\n const group = use(AccordionContext);\n const isMissingGroupValue = group != null && value == null;\n const isControlledByGroup = group != null && value != null;\n\n if (process.env.NODE_ENV !== 'production') {\n if (isMissingGroupValue) {\n throw new Error(\n 'AccordionItem: `value` prop is required when used inside an Accordion.',\n );\n }\n }\n\n const [internalIsOpen, setInternalIsOpen] = useState(() => {\n if (isControlledByGroup) {\n return true;\n }\n if (config?.isOpen !== undefined) {\n return config.isOpen;\n }\n return config?.isDefaultOpen ?? true;\n });\n\n let isOpen: boolean;\n if (isControlledByGroup) {\n isOpen = group.getIsOpen(value);\n } else if (isMissingGroupValue) {\n isOpen = false;\n } else if (config?.isOpen !== undefined) {\n isOpen = config.isOpen;\n } else {\n isOpen = internalIsOpen;\n }\n\n const configIsOpen = config?.isOpen;\n const onOpenChange = config?.onOpenChange;\n\n // Depend on the primitive config fields rather than the `config` object so\n // the toggle keeps a stable identity across renders (callers commonly build\n // a fresh `config` object each render). Re-checking `group`/`value` inside\n // the callback also gives TypeScript the non-null narrowing it needs.\n const toggle = useCallback(() => {\n if (group != null && value != null) {\n group.toggle(value);\n } else if (group != null) {\n // Inside a group but missing a `value` prop: nothing to toggle.\n return;\n } else if (configIsOpen !== undefined) {\n onOpenChange?.(!configIsOpen);\n } else {\n setInternalIsOpen(prev => !prev);\n onOpenChange?.(!isOpen);\n }\n }, [group, value, configIsOpen, onOpenChange, isOpen]);\n\n return {isOpen, toggle};\n}\n","'use client';\n\nimport {ChevronDown} from 'lucide-react';\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {accordionItemRecipe} from 'components/Accordion/AccordionItem.recipe';\nimport {useCollapsible} from 'components/Accordion/useCollapsible';\nimport {Icon} from 'components/Icon';\nimport {cx} from 'internal/cx';\n\n/**\n * A single expandable section within an `Accordion`, or a standalone\n * collapsible panel when used outside of an `Accordion` context. Prefer\n * the `Collapsible` wrapper for standalone usage.\n */\nexport interface AccordionItemProps {\n /**\n * Content revealed when the item is open.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the item is open on initial render. Ignored when `isOpen` is\n * provided or the item is inside an `Accordion`. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided. Ignored when the\n * item is inside an `Accordion`.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes from user interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger. Must be phrasing content\n * (text, `<span>`, `<strong>`, icons, etc.) since it is placed inside a\n * `<button>` element.\n */\n trigger: ReactNode;\n /**\n * Unique identifier used by a parent `Accordion` to track which items\n * are open. Required when used inside an `Accordion`, ignored otherwise.\n */\n value?: string;\n}\n\nexport function AccordionItem({\n trigger,\n children,\n isDefaultOpen,\n isDisabled = false,\n isOpen: controlledIsOpen,\n onOpenChange,\n value,\n ref,\n className,\n 'data-testid': dataTestId,\n style,\n}: AccordionItemProps): React.JSX.Element {\n const collapsibleConfig =\n controlledIsOpen !== undefined\n ? {isOpen: controlledIsOpen, onOpenChange}\n : {isDefaultOpen: isDefaultOpen ?? true, onOpenChange};\n\n const {isOpen, toggle} = useCollapsible({\n config: collapsibleConfig,\n value,\n });\n\n const id = useId();\n const triggerId = `${id}-trigger`;\n const panelId = `${id}-panel`;\n\n const classes = accordionItemRecipe({isOpen});\n\n return (\n <div\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <button\n aria-controls={panelId}\n aria-expanded={isOpen}\n className={classes.trigger}\n disabled={isDisabled}\n id={triggerId}\n onClick={toggle}\n type=\"button\">\n {trigger}\n <span className={classes.chevron}>\n <Icon icon={ChevronDown} size=\"md\" />\n </span>\n </button>\n <div\n aria-labelledby={triggerId}\n className={classes.panel}\n id={panelId}\n role=\"region\"\n style={{visibility: isOpen ? undefined : 'hidden'}}>\n <div className={classes.panelInner}>{children}</div>\n </div>\n </div>\n );\n}\n\nAccordionItem.displayName = 'AccordionItem';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\nimport {AccordionItem} from 'components/Accordion/AccordionItem';\n\n/**\n * A standalone disclosure widget that toggles the visibility of a content\n * panel. Use `Collapsible` for individual expand/collapse sections. For\n * coordinated groups where only one (or a subset) can be open at a time,\n * use `Accordion` with `AccordionItem` instead.\n */\nexport interface CollapsibleProps {\n /**\n * Content revealed when the collapsible is open.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether the collapsible is open on initial render. Ignored when `isOpen`\n * is provided. Defaults to `true`.\n */\n isDefaultOpen?: boolean;\n /**\n * Whether the trigger is disabled. Prevents toggling and applies disabled\n * styling.\n */\n isDisabled?: boolean;\n /**\n * Controls the open state externally. When set, the component becomes\n * controlled and `onOpenChange` should be provided to handle toggling.\n */\n isOpen?: boolean;\n /**\n * Called when the open state changes, either from a user click on the\n * trigger or from a keyboard interaction.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Content rendered as the clickable trigger that toggles the panel. Must be\n * phrasing content (text, `<span>`, `<strong>`, icons, etc.) since it is\n * placed inside a `<button>` element.\n */\n trigger: ReactNode;\n}\n\nexport function Collapsible({\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n ...props\n}: CollapsibleProps): React.JSX.Element {\n return (\n <AccordionItem\n {...props}\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}\n />\n );\n}\n\nCollapsible.displayName = 'Collapsible';\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { Heading, Text } from './chunk-4G644ETX.js';
|
|
2
3
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
3
4
|
import { sva } from './chunk-IAVZKGZS.js';
|
|
4
5
|
import { cx } from './chunk-PPNETWIP.js';
|
|
@@ -106,5 +107,5 @@ function EmptyState({
|
|
|
106
107
|
EmptyState.displayName = "EmptyState";
|
|
107
108
|
|
|
108
109
|
export { EmptyState };
|
|
109
|
-
//# sourceMappingURL=chunk-
|
|
110
|
-
//# sourceMappingURL=chunk-
|
|
110
|
+
//# sourceMappingURL=chunk-EEB56QQX.js.map
|
|
111
|
+
//# sourceMappingURL=chunk-EEB56QQX.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/EmptyState/EmptyState.recipe.ts","../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":";;;;;;;;AAEO,IAAM,mBAAmB,GAAA,CAAI;AAAA,EAClC,KAAA,EAAO,CAAC,MAAA,EAAQ,cAAA,EAAgB,QAAQ,SAAS,CAAA;AAAA,EACjD,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,SAAA,EAAW,QAAA;AAAA,MACX,GAAA,EAAK,GAAA;AAAA,MACL,CAAA,EAAG,MAAA;AAAA,MACH,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,aAAA;AAAA,MACT,KAAA,EAAO,UAAA;AAAA,MACP,CAAA,EAAG,IAAA;AAAA,MACH,CAAA,EAAG,IAAA;AAAA,MACH,SAAA,EAAW;AAAA,QACT,CAAA,EAAG,MAAA;AAAA,QACH,CAAA,EAAG;AAAA;AACL,KACF;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM;AAAA,KACR;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,QAAA,EAAU,MAAA;AAAA,MACV,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,SAAA,EAAW;AAAA,MACT,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,GAAA,EAAK,GAAA;AAAA,UACL,EAAA,EAAI,GAAA;AAAA,UACJ,EAAA,EAAI;AAAA,SACN;AAAA,QACA,YAAA,EAAc;AAAA,UACZ,CAAA,EAAG,IAAA;AAAA,UACH,CAAA,EAAG;AAAA,SACL;AAAA,QACA,OAAA,EAAS;AAAA,UACP,EAAA,EAAI;AAAA;AACN,OACF;AAAA,MACA,OAAO;AAAC;AACV,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,SAAA,EAAW;AAAA;AAEf,CAAC,CAAA;
|
|
1
|
+
{"version":3,"sources":["../src/components/EmptyState/EmptyState.recipe.ts","../src/components/EmptyState/EmptyState.tsx"],"names":[],"mappings":"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","file":"chunk-EEB56QQX.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const emptyStateRecipe = sva({\n slots: ['root', 'illustration', 'text', 'actions'],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n gap: '4',\n w: 'full',\n px: '6',\n py: '8',\n },\n illustration: {\n display: 'inline-flex',\n color: 'fg.muted',\n w: '16',\n h: '16',\n '& > svg': {\n w: 'full',\n h: 'full',\n },\n },\n text: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n gap: '1',\n maxW: '96',\n },\n actions: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexWrap: 'wrap',\n gap: '2',\n mt: '1',\n },\n },\n variants: {\n isCompact: {\n true: {\n root: {\n gap: '2',\n px: '4',\n py: '4',\n },\n illustration: {\n w: '12',\n h: '12',\n },\n actions: {\n mt: '0',\n },\n },\n false: {},\n },\n },\n defaultVariants: {\n isCompact: false,\n },\n});\n\nexport type EmptyStateVariants = RecipeVariantProps<typeof emptyStateRecipe>;\n","'use client';\n\nimport {useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {emptyStateRecipe} from 'components/EmptyState/EmptyState.recipe';\nimport {Heading, type HeadingLevel, Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface EmptyStateProps {\n /**\n * Action controls rendered below the text.\n */\n actions?: 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 * Supporting text.\n */\n description?: string;\n /**\n * Semantic heading level for the title.\n * @default 3\n */\n headingLevel?: HeadingLevel;\n /**\n * Decorative illustration or large icon rendered above the title.\n */\n illustration?: ReactNode;\n /**\n * Whether to use tighter spacing for constrained areas.\n * @default false\n */\n isCompact?: boolean;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Primary empty-state message.\n */\n title: string;\n}\n\n/**\n * A placeholder for an empty data or content area.\n */\nexport function EmptyState({\n actions,\n className,\n 'data-testid': dataTestId,\n description,\n headingLevel = 3,\n illustration,\n isCompact = false,\n ref,\n style,\n title,\n}: EmptyStateProps): React.JSX.Element {\n const headingId = useId();\n const classes = emptyStateRecipe({isCompact});\n\n return (\n <div\n aria-labelledby={headingId}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={style}>\n {isReactNode(illustration) ? (\n <div aria-hidden=\"true\" className={classes.illustration}>\n {illustration}\n </div>\n ) : null}\n <div className={classes.text}>\n <Heading id={headingId} level={headingLevel}>\n {title}\n </Heading>\n {description != null ? (\n <Text as=\"p\" color=\"secondary\">\n {description}\n </Text>\n ) : null}\n </div>\n {isReactNode(actions) ? (\n <div className={classes.actions}>{actions}</div>\n ) : null}\n </div>\n );\n}\n\nEmptyState.displayName = 'EmptyState';\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
var chunk2MXK2SDR_cjs = require('./chunk-2MXK2SDR.cjs');
|
|
@@ -197,5 +198,5 @@ function Rating({
|
|
|
197
198
|
Rating.displayName = "Rating";
|
|
198
199
|
|
|
199
200
|
exports.Rating = Rating;
|
|
200
|
-
//# sourceMappingURL=chunk-
|
|
201
|
-
//# sourceMappingURL=chunk-
|
|
201
|
+
//# sourceMappingURL=chunk-EFYWVWSL.cjs.map
|
|
202
|
+
//# sourceMappingURL=chunk-EFYWVWSL.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Rating/Rating.recipe.ts","../src/components/Rating/Rating.tsx"],"names":["sva","jsx","Icon","Star","useId","useState","cx","jsxs","VisuallyHidden"],"mappings":"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","file":"chunk-NYTSAO5I.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const ratingRecipe = sva({\n slots: ['root', 'star', 'input'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '0.5',\n },\n star: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n p: 0,\n m: 0,\n borderWidth: 0,\n bg: 'transparent',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n borderRadius: 'sm',\n },\n },\n input: {\n position: 'absolute',\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n star: {\n cursor: 'not-allowed',\n },\n },\n },\n isReadOnly: {\n true: {\n star: {\n cursor: 'default',\n },\n },\n },\n },\n});\n\nexport type RatingVariants = RecipeVariantProps<typeof ratingRecipe>;\n","import {Star} from 'lucide-react';\nimport {\n useState,\n useId,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Icon, type IconColor, type IconSize} from 'components/Icon';\nimport {ratingRecipe} from 'components/Rating/Rating.recipe';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\n\nexport interface RatingProps {\n /**\n * Additional CSS class names applied to the rating root.\n */\n className?: string;\n /**\n * Number of stars to display.\n * @default 5\n */\n count?: number;\n /**\n * Test ID applied to the rating root.\n */\n 'data-testid'?: string;\n /**\n * Color of unfilled stars.\n * @default 'disabled'\n */\n emptyColor?: IconColor;\n /**\n * Color of filled stars.\n * @default 'yellow'\n */\n filledColor?: IconColor;\n /**\n * Whether the rating is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the rating is read-only.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Accessible label for the rating group.\n * @default 'Rating'\n */\n label?: string;\n /**\n * Called when the selected rating changes.\n */\n onChange?: (value: number) => void;\n /**\n * Ref forwarded to the rating root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size of the star icons.\n * @default 'md'\n */\n size?: IconSize;\n /**\n * Inline styles applied to the rating root.\n */\n style?: CSSProperties;\n /**\n * Current rating value.\n */\n value: number;\n}\n\nfunction StarIcon({\n color,\n isFilled,\n size,\n}: {\n color: IconColor;\n isFilled: boolean;\n size: IconSize;\n}): ReactNode {\n return (\n <Icon\n color={color}\n fill={isFilled ? 'currentColor' : 'none'}\n icon={Star}\n size={size}\n />\n );\n}\n\n/**\n * Star-based rating control supporting read-only and interactive modes.\n */\nexport function Rating({\n value: valueFromProps,\n onChange,\n count = 5,\n emptyColor = 'disabled',\n filledColor = 'yellow',\n size = 'md',\n isReadOnly = false,\n isDisabled = false,\n label = 'Rating',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: RatingProps): React.JSX.Element {\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(count) || count < 1) {\n throw new Error(\n `Rating: count must be a positive integer, received ${count}.`,\n );\n }\n\n if (\n valueFromProps < 0 ||\n valueFromProps > count ||\n !Number.isInteger(valueFromProps)\n ) {\n throw new Error(\n `Rating: value must be an integer in [0, ${count}], received ${valueFromProps}.`,\n );\n }\n }\n\n const value = Math.max(0, Math.min(count, Math.round(valueFromProps)));\n const groupId = useId();\n const [hoverValue, setHoverValue] = useState<number | null>(null);\n const isInteractive = !isReadOnly && !isDisabled && onChange != null;\n const displayValue = isInteractive ? (hoverValue ?? value) : value;\n const classes = ratingRecipe({\n isDisabled: isDisabled || undefined,\n isReadOnly: isReadOnly || undefined,\n });\n\n if (!isInteractive) {\n return (\n <div\n aria-label={`${label}: ${value} out of ${count}`}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"img\"\n style={style}>\n {Array.from({length: count}, (_, i) => (\n <span className={classes.star} key={i}>\n <StarIcon\n color={i < value ? filledColor : emptyColor}\n isFilled={i < value}\n size={size}\n />\n </span>\n ))}\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line jsx-a11y-x/interactive-supports-focus -- focus is managed by the radio inputs inside\n <div\n aria-label={label}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onMouseLeave={() => setHoverValue(null)}\n ref={ref}\n role=\"radiogroup\"\n style={style}>\n {Array.from({length: count}, (_, i) => {\n const starValue = i + 1;\n return (\n // eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- label wraps its radio input\n <label\n className={classes.star}\n key={i}\n onMouseEnter={() => setHoverValue(starValue)}>\n <input\n checked={value === starValue}\n className={classes.input}\n name={groupId}\n onChange={() => onChange(starValue)}\n type=\"radio\"\n value={starValue}\n />\n <VisuallyHidden>\n {starValue} {starValue === 1 ? 'star' : 'stars'}\n </VisuallyHidden>\n <StarIcon\n color={i < displayValue ? filledColor : emptyColor}\n isFilled={i < displayValue}\n size={size}\n />\n </label>\n );\n })}\n </div>\n );\n}\n\nRating.displayName = 'Rating';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Rating/Rating.recipe.ts","../src/components/Rating/Rating.tsx"],"names":["sva","jsx","Icon","Star","useId","useState","cx","jsxs","VisuallyHidden"],"mappings":"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","file":"chunk-EFYWVWSL.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const ratingRecipe = sva({\n slots: ['root', 'star', 'input'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '0.5',\n },\n star: {\n display: 'inline-flex',\n alignItems: 'center',\n cursor: 'pointer',\n p: 0,\n m: 0,\n borderWidth: 0,\n bg: 'transparent',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n borderRadius: 'sm',\n },\n },\n input: {\n position: 'absolute',\n w: '1px',\n h: '1px',\n p: 0,\n m: '-1px',\n overflow: 'hidden',\n clip: 'rect(0, 0, 0, 0)',\n whiteSpace: 'nowrap',\n borderWidth: 0,\n },\n },\n variants: {\n isDisabled: {\n true: {\n root: {\n opacity: 0.5,\n cursor: 'not-allowed',\n },\n star: {\n cursor: 'not-allowed',\n },\n },\n },\n isReadOnly: {\n true: {\n star: {\n cursor: 'default',\n },\n },\n },\n },\n});\n\nexport type RatingVariants = RecipeVariantProps<typeof ratingRecipe>;\n","'use client';\n\nimport {Star} from 'lucide-react';\nimport {\n useState,\n useId,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Icon, type IconColor, type IconSize} from 'components/Icon';\nimport {ratingRecipe} from 'components/Rating/Rating.recipe';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\n\nexport interface RatingProps {\n /**\n * Additional CSS class names applied to the rating root.\n */\n className?: string;\n /**\n * Number of stars to display.\n * @default 5\n */\n count?: number;\n /**\n * Test ID applied to the rating root.\n */\n 'data-testid'?: string;\n /**\n * Color of unfilled stars.\n * @default 'disabled'\n */\n emptyColor?: IconColor;\n /**\n * Color of filled stars.\n * @default 'yellow'\n */\n filledColor?: IconColor;\n /**\n * Whether the rating is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the rating is read-only.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Accessible label for the rating group.\n * @default 'Rating'\n */\n label?: string;\n /**\n * Called when the selected rating changes.\n */\n onChange?: (value: number) => void;\n /**\n * Ref forwarded to the rating root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size of the star icons.\n * @default 'md'\n */\n size?: IconSize;\n /**\n * Inline styles applied to the rating root.\n */\n style?: CSSProperties;\n /**\n * Current rating value.\n */\n value: number;\n}\n\nfunction StarIcon({\n color,\n isFilled,\n size,\n}: {\n color: IconColor;\n isFilled: boolean;\n size: IconSize;\n}): ReactNode {\n return (\n <Icon\n color={color}\n fill={isFilled ? 'currentColor' : 'none'}\n icon={Star}\n size={size}\n />\n );\n}\n\n/**\n * Star-based rating control supporting read-only and interactive modes.\n */\nexport function Rating({\n value: valueFromProps,\n onChange,\n count = 5,\n emptyColor = 'disabled',\n filledColor = 'yellow',\n size = 'md',\n isReadOnly = false,\n isDisabled = false,\n label = 'Rating',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: RatingProps): React.JSX.Element {\n if (process.env.NODE_ENV !== 'production') {\n if (!Number.isInteger(count) || count < 1) {\n throw new Error(\n `Rating: count must be a positive integer, received ${count}.`,\n );\n }\n\n if (\n valueFromProps < 0 ||\n valueFromProps > count ||\n !Number.isInteger(valueFromProps)\n ) {\n throw new Error(\n `Rating: value must be an integer in [0, ${count}], received ${valueFromProps}.`,\n );\n }\n }\n\n const value = Math.max(0, Math.min(count, Math.round(valueFromProps)));\n const groupId = useId();\n const [hoverValue, setHoverValue] = useState<number | null>(null);\n const isInteractive = !isReadOnly && !isDisabled && onChange != null;\n const displayValue = isInteractive ? (hoverValue ?? value) : value;\n const classes = ratingRecipe({\n isDisabled: isDisabled || undefined,\n isReadOnly: isReadOnly || undefined,\n });\n\n if (!isInteractive) {\n return (\n <div\n aria-label={`${label}: ${value} out of ${count}`}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n role=\"img\"\n style={style}>\n {Array.from({length: count}, (_, i) => (\n <span className={classes.star} key={i}>\n <StarIcon\n color={i < value ? filledColor : emptyColor}\n isFilled={i < value}\n size={size}\n />\n </span>\n ))}\n </div>\n );\n }\n\n return (\n // eslint-disable-next-line jsx-a11y-x/interactive-supports-focus -- focus is managed by the radio inputs inside\n <div\n aria-label={label}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onMouseLeave={() => setHoverValue(null)}\n ref={ref}\n role=\"radiogroup\"\n style={style}>\n {Array.from({length: count}, (_, i) => {\n const starValue = i + 1;\n return (\n // eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- label wraps its radio input\n <label\n className={classes.star}\n key={i}\n onMouseEnter={() => setHoverValue(starValue)}>\n <input\n checked={value === starValue}\n className={classes.input}\n name={groupId}\n onChange={() => onChange(starValue)}\n type=\"radio\"\n value={starValue}\n />\n <VisuallyHidden>\n {starValue} {starValue === 1 ? 'star' : 'stars'}\n </VisuallyHidden>\n <StarIcon\n color={i < displayValue ? filledColor : emptyColor}\n isFilled={i < displayValue}\n size={size}\n />\n </label>\n );\n })}\n </div>\n );\n}\n\nRating.displayName = 'Rating';\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { DropdownMenu } from './chunk-OYBRYZKK.js';
|
|
3
|
+
import { ButtonGroup } from './chunk-ZLJOIPTJ.js';
|
|
4
|
+
import { Button } from './chunk-J2TQNGUM.js';
|
|
4
5
|
import { ChevronDown } from 'lucide-react';
|
|
5
6
|
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
7
|
|
|
@@ -74,5 +75,5 @@ function SplitButton({
|
|
|
74
75
|
SplitButton.displayName = "SplitButton";
|
|
75
76
|
|
|
76
77
|
export { SplitButton };
|
|
77
|
-
//# sourceMappingURL=chunk-
|
|
78
|
-
//# sourceMappingURL=chunk-
|
|
78
|
+
//# sourceMappingURL=chunk-EZ2LRC7U.js.map
|
|
79
|
+
//# sourceMappingURL=chunk-EZ2LRC7U.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/SplitButton/SplitButton.tsx"],"names":[],"mappings":";;;;;;AA6FO,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA;AAAA,EACA,YAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,SAAA;AAAA,EACA,UAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,GAAY,cAAA;AAAA,EACZ,SAAA;AAAA,EACA,OAAA;AAAA,EACA,YAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP,YAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU;AACZ,CAAA,EAAwC;AACtC,EAAA,uBACE,IAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,SAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACA,QAAA,EAAA;AAAA,wBAAA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAa,UAAA;AAAA,YACb,UAAA;AAAA,YACA,IAAA;AAAA,YACA,SAAA;AAAA,YACA,KAAA;AAAA,YACA,OAAA;AAAA,YACA,GAAA;AAAA,YACA,YAAA;AAAA,YACA;AAAA;AAAA,SACF;AAAA,wBACA,GAAA;AAAA,UAAC,YAAA;AAAA,UAAA;AAAA,YACC,MAAA,EAAQ;AAAA,cACN,IAAA,EAAM,WAAA;AAAA,cACN,UAAA,EAAY,IAAA;AAAA,cACZ,KAAA,EAAO,SAAA;AAAA,cACP;AAAA,aACF;AAAA,YACA,YAAA;AAAA,YACA,UAAA,EAAY,KAAA;AAAA,YACZ,UAAA;AAAA,YACA,KAAA;AAAA,YACA,SAAA;AAAA,YACA,YAAA;AAAA,YACC;AAAA;AAAA;AACH;AAAA;AAAA,GACF;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-EZ2LRC7U.js","sourcesContent":["'use client';\n\nimport {ChevronDown} from 'lucide-react';\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {Button, type ButtonProps, type ButtonSize} from 'components/Button';\nimport {ButtonGroup} from 'components/ButtonGroup';\nimport {DropdownMenu, type DropdownMenuOption} from 'components/DropdownMenu';\nimport type {IconComponent} from 'components/Icon';\n\n/**\n * A directly-clickable primary action paired with an attached chevron toggle\n * that opens a menu of related actions. A thin composition of `ButtonGroup`,\n * `Button`, and `DropdownMenu`.\n */\nexport interface SplitButtonProps extends Pick<\n ButtonProps,\n 'endContent' | 'isLoading' | 'onClick' | 'startContent'\n> {\n /**\n * Compound menu content (`<DropdownMenuItem>`), an alternative to `items`.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the primary action button.\n */\n 'data-testid'?: string;\n /**\n * Whether to auto-focus the first menu item on open.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Icon rendered before the primary action's label.\n */\n icon?: IconComponent;\n /**\n * Whether both the primary action and the menu toggle are disabled.\n */\n isDisabled?: boolean;\n /**\n * Controlled open state of the menu.\n */\n isMenuOpen?: boolean;\n /**\n * Data-driven menu items (alternative to `children`).\n */\n items?: ReadonlyArray<DropdownMenuOption>;\n /**\n * Visible text for the primary action. Also used as the group's accessible\n * label.\n */\n label: string;\n /**\n * Accessible label for the chevron toggle that opens the menu.\n * @default 'More actions'\n */\n menuLabel?: string;\n /**\n * Width of the menu surface.\n */\n menuWidth?: number | string;\n /**\n * Called when the menu open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Ref forwarded to the primary action button.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Default size for both buttons.\n * @default 'md'\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Visual style variant shared by both buttons.\n * @default 'secondary'\n */\n variant?: ButtonProps['variant'];\n}\n\n/**\n * A directly-clickable primary action paired with an attached chevron toggle\n * that opens a menu of related actions.\n */\nexport function SplitButton({\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n hasAutoFocus,\n icon,\n isDisabled = false,\n isLoading,\n isMenuOpen,\n items,\n label,\n menuLabel = 'More actions',\n menuWidth,\n onClick,\n onOpenChange,\n ref,\n size = 'md',\n startContent,\n style,\n variant = 'secondary',\n}: SplitButtonProps): React.JSX.Element {\n return (\n <ButtonGroup\n className={className}\n isDisabled={isDisabled}\n label={label}\n size={size}\n style={style}>\n <Button\n data-testid={dataTestId}\n endContent={endContent}\n icon={icon}\n isLoading={isLoading}\n label={label}\n onClick={onClick}\n ref={ref}\n startContent={startContent}\n variant={variant}\n />\n <DropdownMenu\n button={{\n icon: ChevronDown,\n isIconOnly: true,\n label: menuLabel,\n variant,\n }}\n hasAutoFocus={hasAutoFocus}\n hasChevron={false}\n isMenuOpen={isMenuOpen}\n items={items}\n menuWidth={menuWidth}\n onOpenChange={onOpenChange}>\n {children}\n </DropdownMenu>\n </ButtonGroup>\n );\n}\n\nSplitButton.displayName = 'SplitButton';\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { getNecessity, Field } from './chunk-2EGYYWPB.js';
|
|
3
|
+
import { Tooltip } from './chunk-FPKXEI3W.js';
|
|
3
4
|
import { sva } from './chunk-IAVZKGZS.js';
|
|
4
5
|
import { cx } from './chunk-PPNETWIP.js';
|
|
5
6
|
import { useId, useRef, useMemo, useEffect, useCallback } from 'react';
|
|
@@ -553,5 +554,5 @@ function Slider({
|
|
|
553
554
|
Slider.displayName = "Slider";
|
|
554
555
|
|
|
555
556
|
export { Slider };
|
|
556
|
-
//# sourceMappingURL=chunk-
|
|
557
|
-
//# sourceMappingURL=chunk-
|
|
557
|
+
//# sourceMappingURL=chunk-F2ZT6DCV.js.map
|
|
558
|
+
//# sourceMappingURL=chunk-F2ZT6DCV.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Slider/Slider.recipe.ts","../src/components/Slider/Slider.tsx"],"names":[],"mappings":"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","file":"chunk-QM7NQK2K.js","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 {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {sliderRecipe} from 'components/Slider/Slider.recipe';\nimport {Tooltip} from 'components/Tooltip';\nimport {cx} from 'internal/cx';\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":[],"mappings":"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","file":"chunk-F2ZT6DCV.js","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","'use client';\n\nimport {\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 {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {sliderRecipe} from 'components/Slider/Slider.recipe';\nimport {Tooltip} from 'components/Tooltip';\nimport {cx} from 'internal/cx';\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,9 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
4
|
var chunkDLIYUFTS_cjs = require('./chunk-DLIYUFTS.cjs');
|
|
4
|
-
var
|
|
5
|
-
var
|
|
6
|
-
var
|
|
5
|
+
var chunkTT65RNBY_cjs = require('./chunk-TT65RNBY.cjs');
|
|
6
|
+
var chunkHW7GODZJ_cjs = require('./chunk-HW7GODZJ.cjs');
|
|
7
|
+
var chunkI2QAN2HX_cjs = require('./chunk-I2QAN2HX.cjs');
|
|
7
8
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
8
9
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
9
10
|
var lucideReact = require('lucide-react');
|
|
@@ -284,7 +285,7 @@ function CodeBlock({
|
|
|
284
285
|
} catch {
|
|
285
286
|
}
|
|
286
287
|
}, [code, onCopy]);
|
|
287
|
-
const paddingToken =
|
|
288
|
+
const paddingToken = chunkI2QAN2HX_cjs.token(`spacing.${padding}`);
|
|
288
289
|
const codeStyle = {
|
|
289
290
|
["--cb-padding"]: paddingToken,
|
|
290
291
|
padding: paddingToken
|
|
@@ -305,7 +306,7 @@ function CodeBlock({
|
|
|
305
306
|
};
|
|
306
307
|
const copyLabel = copied ? "Copied" : "Copy code";
|
|
307
308
|
const copyButton = hasCopyButton ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
308
|
-
|
|
309
|
+
chunkHW7GODZJ_cjs.Button,
|
|
309
310
|
{
|
|
310
311
|
icon: copied ? lucideReact.Check : lucideReact.Copy,
|
|
311
312
|
isIconOnly: true,
|
|
@@ -342,7 +343,7 @@ function CodeBlock({
|
|
|
342
343
|
),
|
|
343
344
|
copyButton != null ? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
344
345
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
345
|
-
|
|
346
|
+
chunkTT65RNBY_cjs.Divider,
|
|
346
347
|
{
|
|
347
348
|
className: classes.inlineDivider,
|
|
348
349
|
height: "auto",
|
|
@@ -412,5 +413,5 @@ function CodeBlock({
|
|
|
412
413
|
CodeBlock.displayName = "CodeBlock";
|
|
413
414
|
|
|
414
415
|
exports.CodeBlock = CodeBlock;
|
|
415
|
-
//# sourceMappingURL=chunk-
|
|
416
|
-
//# sourceMappingURL=chunk-
|
|
416
|
+
//# sourceMappingURL=chunk-FCFVJGWR.cjs.map
|
|
417
|
+
//# sourceMappingURL=chunk-FCFVJGWR.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-JWMS6LHN.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/CodeBlock/CodeBlock.recipe.ts","../src/components/CodeBlock/CodeBlock.tsx"],"names":["sva","useState","useRef","useMemo","useEffect","useCallback","token","jsx","Button","Check","Copy","jsxs","Card","cx","Fragment","Divider"],"mappings":"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","file":"chunk-FCFVJGWR.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const codeBlockRecipe = sva({\n slots: [\n 'root',\n 'header',\n 'headerTitle',\n 'scroll',\n 'body',\n 'gutter',\n 'gutterLine',\n 'pre',\n 'code',\n 'line',\n 'copyButtonFloating',\n 'inlineCode',\n 'inlineDivider',\n ],\n base: {\n root: {\n color: 'fg',\n overflow: 'hidden',\n },\n header: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n gap: '3',\n px: '4',\n py: '2',\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n },\n headerTitle: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n color: 'fg.muted',\n fontFamily: 'mono',\n fontSize: 'xs',\n fontWeight: 'medium',\n },\n scroll: {\n overflow: 'auto',\n },\n body: {\n display: 'flex',\n minW: 'fit-content',\n },\n gutter: {\n flexShrink: 0,\n py: '3',\n ps: '4',\n pe: '3',\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n color: 'fg.muted',\n textAlign: 'end',\n userSelect: 'none',\n },\n gutterLine: {\n fontFamily: 'mono',\n lineHeight: '1.5rem',\n },\n pre: {\n m: 0,\n flex: 1,\n minW: 0,\n },\n code: {\n display: 'flex',\n flexDirection: 'column',\n color: 'fg',\n fontFamily: 'mono',\n tabSize: 2,\n whiteSpace: 'pre',\n wordBreak: 'normal',\n overflowWrap: 'normal',\n },\n line: {\n display: 'block',\n minH: '1.5rem',\n '&[data-highlighted]': {\n bg: 'bg.selected',\n mx: 'calc(var(--cb-padding) * -1)',\n px: 'var(--cb-padding)',\n },\n },\n copyButtonFloating: {\n position: 'absolute',\n top: '3',\n right: '3',\n zIndex: 1,\n // On hover-capable devices, hide until the block is hovered/focused (the\n // root reveals it via [data-cb-copy]). On touch devices it stays visible.\n '@media (hover: hover)': {\n opacity: 0,\n pointerEvents: 'none',\n transitionProperty: 'opacity',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n '@media (prefers-reduced-motion: reduce)': {\n transitionDuration: '0s',\n },\n },\n },\n inlineCode: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'pre',\n fontFamily: 'mono',\n },\n inlineDivider: {\n alignSelf: 'stretch',\n ms: '1.5',\n },\n },\n variants: {\n container: {\n card: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n borderRadius: 'md',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n section: {\n root: {\n position: 'relative',\n isolation: 'isolate',\n display: 'flex',\n flexDirection: 'column',\n '&:hover [data-cb-copy], &:focus-within [data-cb-copy]': {\n opacity: 1,\n pointerEvents: 'auto',\n },\n },\n },\n inline: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxWidth: '100%',\n ps: '2.5',\n },\n },\n },\n size: {\n sm: {\n code: {fontSize: 'xs', lineHeight: '1.5rem'},\n gutter: {fontSize: 'xs', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'xs', lineHeight: '1.5rem'},\n },\n md: {\n code: {fontSize: 'sm', lineHeight: '1.5rem'},\n gutter: {fontSize: 'sm', lineHeight: '1.5rem'},\n inlineCode: {fontSize: 'sm', lineHeight: '1.5rem'},\n },\n },\n isWrapped: {\n true: {\n code: {\n whiteSpace: 'pre-wrap',\n wordBreak: 'break-word',\n overflowWrap: 'anywhere',\n },\n },\n },\n hasFloatingCopy: {\n true: {\n code: {pe: '12'},\n },\n },\n },\n defaultVariants: {\n container: 'card',\n size: 'md',\n isWrapped: false,\n hasFloatingCopy: false,\n },\n});\n\nexport type CodeBlockVariants = RecipeVariantProps<typeof codeBlockRecipe>;\n","'use client';\n\nimport {Check, Copy} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {Card} from 'components/Card';\nimport {codeBlockRecipe} from 'components/CodeBlock/CodeBlock.recipe';\nimport {Divider} from 'components/Divider';\nimport {cx} from 'internal/cx';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {token} from 'styled-system/tokens';\n\nexport type CodeBlockContainer = 'card' | 'section' | 'inline';\nexport type CodeBlockSize = 'sm' | 'md';\n\nexport interface CodeBlockProps {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Source code to display.\n */\n code: string;\n /**\n * Container presentation style. Use `'inline'` for a compact, single-line\n * snippet (e.g. an install command) with the copy button rendered inline;\n * line numbers, titles, and `maxHeight` do not apply to inline blocks.\n * @default 'card'\n */\n container?: CodeBlockContainer;\n /**\n * Test ID applied to the root element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show a copy button.\n * @default true\n */\n hasCopyButton?: boolean;\n /**\n * Whether to render line numbers.\n * @default false\n */\n hasLineNumbers?: boolean;\n /**\n * One-based line numbers to visually highlight.\n */\n highlightLines?: number[];\n /**\n * Whether long lines should wrap.\n * @default false\n */\n isWrapped?: boolean;\n /**\n * Accessible label for the code block region.\n */\n label?: string;\n /**\n * Maximum scrollable body height. Numbers are treated as pixels.\n */\n maxHeight?: number | string;\n /**\n * Called after code is successfully copied.\n */\n onCopy?: () => void;\n /**\n * Inner padding step.\n * @default 4\n */\n padding?: SpacingToken;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: CodeBlockSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Optional header title.\n */\n title?: string;\n /**\n * Width of the code block. Accepts any CSS width value.\n * @default 'fit-content'\n */\n width?: string;\n}\n\nfunction getLines(code: string): string[] {\n const lines = code.split('\\n');\n if (lines.length > 1 && lines[lines.length - 1] === '') {\n lines.pop();\n }\n return lines;\n}\n\nfunction getLineEntries(code: string): {lineNumber: number; text: string}[] {\n return getLines(code).map((text, index) => ({\n lineNumber: index + 1,\n text,\n }));\n}\n\nfunction getRegionLabel({\n label,\n title,\n}: {\n label?: string;\n title?: string;\n}): string {\n if (label != null) {\n return label;\n }\n\n if (title != null && title.length > 0) {\n return `${title} code block`;\n }\n\n return 'Code block';\n}\n\n/**\n * Read-only source code display.\n */\nexport function CodeBlock({\n className,\n code,\n container = 'card',\n 'data-testid': dataTestId,\n hasCopyButton = true,\n hasLineNumbers = false,\n highlightLines,\n isWrapped = false,\n label,\n maxHeight,\n onCopy,\n padding = 4,\n ref,\n size = 'md',\n style,\n title,\n width = 'fit-content',\n}: CodeBlockProps): React.JSX.Element {\n const [copied, setCopied] = useState(false);\n const copiedResetTimeoutRef = useRef<number | null>(null);\n const lines = useMemo(() => getLineEntries(code), [code]);\n const highlightLineKey = highlightLines?.join(',');\n const highlightedLines = useMemo(\n () =>\n highlightLineKey == null || highlightLineKey.length === 0\n ? null\n : new Set(highlightLineKey.split(',').map(Number)),\n [highlightLineKey],\n );\n const isInline = container === 'inline';\n const showHeader = !isInline && title != null;\n const regionLabel = getRegionLabel({label, title});\n\n const classes = codeBlockRecipe({\n container,\n size,\n isWrapped,\n hasFloatingCopy: !showHeader && hasCopyButton,\n });\n\n useEffect(() => {\n return () => {\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n };\n }, []);\n\n const handleCopy = useCallback(async () => {\n try {\n await navigator.clipboard.writeText(code);\n setCopied(true);\n onCopy?.();\n if (copiedResetTimeoutRef.current != null) {\n window.clearTimeout(copiedResetTimeoutRef.current);\n }\n copiedResetTimeoutRef.current = window.setTimeout(() => {\n setCopied(false);\n copiedResetTimeoutRef.current = null;\n }, 2000);\n } catch {\n // Clipboard failures leave the copied state unchanged.\n }\n }, [code, onCopy]);\n\n const paddingToken = token(`spacing.${padding}`);\n const codeStyle: CSSProperties = {\n ['--cb-padding' as string]: paddingToken,\n padding: paddingToken,\n };\n\n const rootStyle: CSSProperties = isInline\n ? {...style}\n : {\n width,\n minWidth: width === 'fit-content' ? 'min(100%, 400px)' : undefined,\n maxWidth: width === 'fit-content' ? '100%' : undefined,\n ...style,\n };\n const scrollStyle: CSSProperties | undefined =\n maxHeight == null\n ? undefined\n : {\n maxHeight:\n typeof maxHeight === 'number' ? `${maxHeight}px` : maxHeight,\n };\n const scrollRegionProps = {\n 'aria-label': `${regionLabel} scroll area`,\n role: 'region',\n tabIndex: 0,\n } as const;\n\n const copyLabel = copied ? 'Copied' : 'Copy code';\n const copyButton = hasCopyButton ? (\n <Button\n icon={copied ? Check : Copy}\n isIconOnly\n label={copyLabel}\n onClick={() => {\n void handleCopy();\n }}\n size=\"sm\"\n tooltip={copyLabel}\n variant=\"ghost\"\n />\n ) : null;\n\n if (isInline) {\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n padding={1}\n ref={ref}\n role=\"group\"\n style={rootStyle}>\n <code\n className={classes.inlineCode}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-code`}>\n {code}\n </code>\n {copyButton != null ? (\n <>\n <Divider\n className={classes.inlineDivider}\n height=\"auto\"\n isFullBleed\n orientation=\"vertical\"\n />\n {copyButton}\n </>\n ) : null}\n </Card>\n );\n }\n\n return (\n <Card\n aria-label={regionLabel}\n className={cx(classes.root, className)}\n data-container={container}\n data-size={size}\n data-testid={dataTestId}\n ref={ref}\n role=\"region\"\n style={rootStyle}\n variant={container === 'section' ? 'section' : 'default'}>\n {showHeader ? (\n <div className={classes.header}>\n <div className={classes.headerTitle}>{title}</div>\n {copyButton}\n </div>\n ) : null}\n <div\n {...scrollRegionProps}\n className={classes.scroll}\n data-testid={dataTestId == null ? undefined : `${dataTestId}-scroll`}\n style={scrollStyle}>\n <div className={classes.body}>\n {hasLineNumbers ? (\n <div aria-hidden=\"true\" className={classes.gutter}>\n {lines.map(line => (\n <div className={classes.gutterLine} key={line.lineNumber}>\n {line.lineNumber}\n </div>\n ))}\n </div>\n ) : null}\n <pre className={classes.pre}>\n <code\n className={classes.code}\n data-testid={\n dataTestId == null ? undefined : `${dataTestId}-code`\n }\n data-wrapped={isWrapped ? '' : undefined}\n style={codeStyle}>\n {lines.map(line => (\n <span\n className={classes.line}\n data-highlighted={\n highlightedLines?.has(line.lineNumber) ? '' : undefined\n }\n data-line={line.lineNumber}\n key={line.lineNumber}>\n {line.text.length === 0 ? '\\u200b' : line.text}\n </span>\n ))}\n </code>\n </pre>\n </div>\n </div>\n {!showHeader && copyButton != null ? (\n <div className={classes.copyButtonFloating} data-cb-copy=\"\">\n {copyButton}\n </div>\n ) : null}\n </Card>\n );\n}\n\nCodeBlock.displayName = 'CodeBlock';\n"]}
|