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
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
+
var chunkLDKE723G_cjs = require('./chunk-LDKE723G.cjs');
|
|
4
5
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
5
6
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
6
7
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -187,7 +188,7 @@ function ListItem({
|
|
|
187
188
|
const hasMarkers = listStyle !== "none";
|
|
188
189
|
const classes = listItemRecipe({ hasCounter, hasDividers });
|
|
189
190
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
190
|
-
|
|
191
|
+
chunkLDKE723G_cjs.Item,
|
|
191
192
|
{
|
|
192
193
|
as: "li",
|
|
193
194
|
className: chunkSPDVNY2Z_cjs.cx(classes.item, className),
|
|
@@ -212,5 +213,5 @@ ListItem.displayName = "ListItem";
|
|
|
212
213
|
|
|
213
214
|
exports.List = List;
|
|
214
215
|
exports.ListItem = ListItem;
|
|
215
|
-
//# sourceMappingURL=chunk-
|
|
216
|
-
//# sourceMappingURL=chunk-
|
|
216
|
+
//# sourceMappingURL=chunk-KZOUXGPD.cjs.map
|
|
217
|
+
//# sourceMappingURL=chunk-KZOUXGPD.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/List/List.recipe.ts","../src/components/List/ListContext.tsx","../src/components/List/List.tsx","../src/components/List/ListItem.tsx"],"names":["sva","createContext","useId","useMemo","jsx","isReactNode","cx","jsxs","use","Item"],"mappings":"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","file":"chunk-UW3KCCBT.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst markerSize = '6px';\n\nexport const listRecipe = sva({\n slots: ['root', 'header', 'list'],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n },\n header: {\n mb: '2',\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n m: 0,\n p: 0,\n listStyleType: 'none',\n },\n },\n variants: {\n hasDividers: {\n true: {list: {gap: 0}},\n },\n hasCounter: {\n true: {list: {counterReset: 'silver-list'}},\n },\n },\n defaultVariants: {\n hasDividers: false,\n hasCounter: false,\n },\n});\n\nexport type ListVariants = RecipeVariantProps<typeof listRecipe>;\n\nexport const listItemRecipe = sva({\n slots: ['item', 'markerContainer', 'dot', 'circle', 'number'],\n base: {\n item: {},\n markerContainer: {\n alignSelf: 'baseline',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n mt: `calc((1em * 1.5 - ${markerSize}) / 2)`,\n },\n dot: {\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n bg: 'fg',\n },\n circle: {\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'fg',\n bg: 'transparent',\n },\n number: {\n alignSelf: 'baseline',\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: '1.5',\n w: '4',\n _before: {\n content: 'counter(silver-list) \".\"',\n },\n },\n },\n variants: {\n hasCounter: {\n true: {\n item: {counterIncrement: 'silver-list'},\n },\n },\n hasDividers: {\n true: {\n item: {\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n borderRadius: 0,\n _last: {\n borderBlockEndWidth: 0,\n },\n },\n },\n },\n },\n defaultVariants: {\n hasCounter: false,\n hasDividers: false,\n },\n});\n\nexport type ListItemVariants = RecipeVariantProps<typeof listItemRecipe>;\n","import {createContext} from 'react';\n\nexport type ListStyle = 'none' | 'disc' | 'decimal' | 'circle';\n\nexport interface ListContextValue {\n hasDividers: boolean;\n listStyle: ListStyle;\n}\n\nexport const ListContext = createContext<ListContextValue | null>(null);\nListContext.displayName = 'ListContext';\n","import {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {listRecipe} from 'components/List/List.recipe';\nimport {ListContext, type ListStyle} from 'components/List/ListContext';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport type {ListStyle};\n\nexport interface ListProps {\n /**\n * List items.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the list element.\n */\n className?: string;\n /**\n * Test ID applied to the list element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show dividers between list items.\n * @default false\n */\n hasDividers?: boolean;\n /**\n * Header content rendered above and associated with the list.\n */\n header?: ReactNode;\n /**\n * List marker style. `decimal` renders an ordered list.\n * @default 'none'\n */\n listStyle?: ListStyle;\n /**\n * Ref forwarded to the list element.\n */\n ref?: Ref<HTMLUListElement | HTMLOListElement>;\n /**\n * Starting number for ordered lists.\n * @default 1\n */\n start?: number;\n /**\n * Inline styles applied to the list element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Semantic vertical list container with optional dividers, markers, and header.\n */\nexport function List({\n children,\n className,\n 'data-testid': dataTestId,\n hasDividers = false,\n header,\n listStyle = 'none',\n ref,\n start,\n style,\n}: ListProps): React.JSX.Element {\n const headerId = useId();\n const isOrdered = listStyle === 'decimal';\n const hasCounter = isOrdered;\n const Component = isOrdered ? 'ol' : 'ul';\n const counterReset =\n hasCounter && start != null && start !== 1\n ? `silver-list ${start - 1}`\n : undefined;\n const contextValue = useMemo(\n () => ({hasDividers, listStyle}),\n [hasDividers, listStyle],\n );\n\n const classes = listRecipe({hasDividers, hasCounter});\n\n const listElement = (\n <Component\n aria-labelledby={isReactNode(header) ? headerId : undefined}\n className={cx(classes.list, className)}\n data-testid={dataTestId}\n ref={ref as Ref<HTMLUListElement & HTMLOListElement>}\n role={listStyle === 'none' && !isOrdered ? 'list' : undefined}\n start={isOrdered ? start : undefined}\n style={{counterReset, ...style}}>\n {children}\n </Component>\n );\n\n return (\n <ListContext value={contextValue}>\n {!isReactNode(header) ? (\n listElement\n ) : (\n <div className={classes.root}>\n <div className={classes.header} id={headerId}>\n {header}\n </div>\n {listElement}\n </div>\n )}\n </ListContext>\n );\n}\n\nList.displayName = 'List';\n","import {\n use,\n type CSSProperties,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Item} from 'components/Item';\nimport {listItemRecipe} from 'components/List/List.recipe';\nimport {ListContext, type ListStyle} from 'components/List/ListContext';\nimport {cx} from 'internal/cx';\n\nexport interface ListItemProps {\n /**\n * Additional CSS class names applied to the list item.\n */\n className?: string;\n /**\n * Test ID applied to the list item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content rendered after the label area.\n */\n endContent?: ReactNode;\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Click handler for interactive items.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Link relationship.\n */\n rel?: string;\n /**\n * Content rendered before the label area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the list item.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n}\n\ntype MarkerClasses = ReturnType<typeof listItemRecipe>;\n\nfunction Marker({\n classes,\n listStyle,\n}: {\n classes: MarkerClasses;\n listStyle: ListStyle;\n}): React.JSX.Element | null {\n if (listStyle === 'disc') {\n return (\n <span className={classes.markerContainer}>\n <span className={classes.dot} />\n </span>\n );\n }\n\n if (listStyle === 'circle') {\n return (\n <span className={classes.markerContainer}>\n <span className={classes.circle} />\n </span>\n );\n }\n\n if (listStyle === 'decimal') {\n return <span className={classes.number} />;\n }\n\n return null;\n}\n\n/**\n * Structured list item built on the shared `Item` primitive.\n */\nexport function ListItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n rel,\n startContent,\n style,\n target,\n}: ListItemProps): React.JSX.Element {\n const context = use(ListContext);\n const hasDividers = context?.hasDividers ?? false;\n const listStyle = context?.listStyle ?? 'none';\n const hasCounter = listStyle === 'decimal';\n const hasMarkers = listStyle !== 'none';\n const classes = listItemRecipe({hasCounter, hasDividers});\n\n return (\n <Item\n as=\"li\"\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n href={href}\n isDisabled={isDisabled}\n isSelected={isSelected}\n label={label}\n leadingContent={\n hasMarkers ? (\n <Marker classes={classes} listStyle={listStyle} />\n ) : undefined\n }\n onClick={onClick}\n ref={ref}\n rel={rel}\n startContent={startContent}\n style={style}\n target={target}\n />\n );\n}\n\nListItem.displayName = 'ListItem';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/List/List.recipe.ts","../src/components/List/ListContext.tsx","../src/components/List/List.tsx","../src/components/List/ListItem.tsx"],"names":["sva","createContext","useId","useMemo","jsx","isReactNode","cx","jsxs","use","Item"],"mappings":";;;;;;;;;;AAEA,IAAM,UAAA,GAAa,KAAA;AAEZ,IAAM,aAAaA,qBAAA,CAAI;AAAA,EAC5B,KAAA,EAAO,CAAC,MAAA,EAAQ,QAAA,EAAU,MAAM,CAAA;AAAA,EAChC,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe;AAAA,KACjB;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,EAAA,EAAI;AAAA,KACN;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,GAAA,EAAK,KAAA;AAAA,MACL,CAAA,EAAG,CAAA;AAAA,MACH,CAAA,EAAG,CAAA;AAAA,MACH,aAAA,EAAe;AAAA;AACjB,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,MAAM,EAAC,IAAA,EAAM,EAAC,GAAA,EAAK,GAAC;AAAC,KACvB;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAM,EAAC,IAAA,EAAM,EAAC,YAAA,EAAc,eAAa;AAAC;AAC5C,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa,KAAA;AAAA,IACb,UAAA,EAAY;AAAA;AAEhB,CAAC,CAAA;AAIM,IAAM,iBAAiBA,qBAAA,CAAI;AAAA,EAChC,OAAO,CAAC,MAAA,EAAQ,iBAAA,EAAmB,KAAA,EAAO,UAAU,QAAQ,CAAA;AAAA,EAC5D,IAAA,EAAM;AAAA,IACJ,MAAM,EAAC;AAAA,IACP,eAAA,EAAiB;AAAA,MACf,SAAA,EAAW,UAAA;AAAA,MACX,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,UAAA,EAAY,CAAA;AAAA,MACZ,CAAA,EAAG,GAAA;AAAA,MACH,EAAA,EAAI,qBAAqB,UAAU,CAAA,MAAA;AAAA,KACrC;AAAA,IACA,GAAA,EAAK;AAAA,MACH,CAAA,EAAG,UAAA;AAAA,MACH,CAAA,EAAG,UAAA;AAAA,MACH,YAAA,EAAc,MAAA;AAAA,MACd,EAAA,EAAI;AAAA,KACN;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,CAAA,EAAG,UAAA;AAAA,MACH,CAAA,EAAG,UAAA;AAAA,MACH,YAAA,EAAc,MAAA;AAAA,MACd,WAAA,EAAa,SAAA;AAAA,MACb,WAAA,EAAa,OAAA;AAAA,MACb,WAAA,EAAa,IAAA;AAAA,MACb,EAAA,EAAI;AAAA,KACN;AAAA,IACA,MAAA,EAAQ;AAAA,MACN,SAAA,EAAW,UAAA;AAAA,MACX,UAAA,EAAY,CAAA;AAAA,MACZ,KAAA,EAAO,IAAA;AAAA,MACP,UAAA,EAAY,MAAA;AAAA,MACZ,QAAA,EAAU,IAAA;AAAA,MACV,UAAA,EAAY,KAAA;AAAA,MACZ,CAAA,EAAG,GAAA;AAAA,MACH,OAAA,EAAS;AAAA,QACP,OAAA,EAAS;AAAA;AACX;AACF,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM,EAAC,gBAAA,EAAkB,aAAA;AAAa;AACxC,KACF;AAAA,IACA,WAAA,EAAa;AAAA,MACX,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,mBAAA,EAAqB,SAAA;AAAA,UACrB,mBAAA,EAAqB,OAAA;AAAA,UACrB,mBAAA,EAAqB,QAAA;AAAA,UACrB,YAAA,EAAc,CAAA;AAAA,UACd,KAAA,EAAO;AAAA,YACL,mBAAA,EAAqB;AAAA;AACvB;AACF;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,UAAA,EAAY,KAAA;AAAA,IACZ,WAAA,EAAa;AAAA;AAEjB,CAAC,CAAA;AC7FM,IAAM,WAAA,GAAcC,oBAAuC,IAAI,CAAA;AACtE,WAAA,CAAY,WAAA,GAAc,aAAA;ACiDnB,SAAS,IAAA,CAAK;AAAA,EACnB,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA,GAAc,KAAA;AAAA,EACd,MAAA;AAAA,EACA,SAAA,GAAY,MAAA;AAAA,EACZ,GAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAiC;AAC/B,EAAA,MAAM,WAAWC,WAAA,EAAM;AACvB,EAAA,MAAM,YAAY,SAAA,KAAc,SAAA;AAChC,EAAA,MAAM,UAAA,GAAa,SAAA;AACnB,EAAA,MAAM,SAAA,GAAY,YAAY,IAAA,GAAO,IAAA;AACrC,EAAA,MAAM,YAAA,GACJ,cAAc,KAAA,IAAS,IAAA,IAAQ,UAAU,CAAA,GACrC,CAAA,YAAA,EAAe,KAAA,GAAQ,CAAC,CAAA,CAAA,GACxB,MAAA;AACN,EAAA,MAAM,YAAA,GAAeC,aAAA;AAAA,IACnB,OAAO,EAAC,WAAA,EAAa,SAAA,EAAS,CAAA;AAAA,IAC9B,CAAC,aAAa,SAAS;AAAA,GACzB;AAEA,EAAA,MAAM,OAAA,GAAU,UAAA,CAAW,EAAC,WAAA,EAAa,YAAW,CAAA;AAEpD,EAAA,MAAM,WAAA,mBACJC,cAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAA,EAAiBC,6BAAA,CAAY,MAAM,CAAA,GAAI,QAAA,GAAW,MAAA;AAAA,MAClD,SAAA,EAAWC,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAM,SAAA,KAAc,MAAA,IAAU,CAAC,YAAY,MAAA,GAAS,MAAA;AAAA,MACpD,KAAA,EAAO,YAAY,KAAA,GAAQ,MAAA;AAAA,MAC3B,KAAA,EAAO,EAAC,YAAA,EAAc,GAAG,KAAA,EAAK;AAAA,MAC7B;AAAA;AAAA,GACH;AAGF,EAAA,uBACEF,cAAA,CAAC,WAAA,EAAA,EAAY,KAAA,EAAO,YAAA,EACjB,QAAA,EAAA,CAACC,6BAAA,CAAY,MAAM,CAAA,GAClB,WAAA,mBAEAE,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,QAAQ,IAAA,EACtB,QAAA,EAAA;AAAA,oBAAAH,cAAA,CAAC,SAAI,SAAA,EAAW,OAAA,CAAQ,MAAA,EAAQ,EAAA,EAAI,UACjC,QAAA,EAAA,MAAA,EACH,CAAA;AAAA,IACC;AAAA,GAAA,EACH,CAAA,EAEJ,CAAA;AAEJ;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA;ACvCnB,SAAS,MAAA,CAAO;AAAA,EACd,OAAA;AAAA,EACA;AACF,CAAA,EAG6B;AAC3B,EAAA,IAAI,cAAc,MAAA,EAAQ;AACxB,IAAA,uBACEA,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,eAAA,EACvB,QAAA,kBAAAA,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,GAAA,EAAK,CAAA,EAChC,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,cAAc,QAAA,EAAU;AAC1B,IAAA,uBACEA,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,eAAA,EACvB,QAAA,kBAAAA,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,MAAA,EAAQ,CAAA,EACnC,CAAA;AAAA,EAEJ;AAEA,EAAA,IAAI,cAAc,SAAA,EAAW;AAC3B,IAAA,uBAAOA,cAAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,QAAQ,MAAA,EAAQ,CAAA;AAAA,EAC1C;AAEA,EAAA,OAAO,IAAA;AACT;AAKO,SAAS,QAAA,CAAS;AAAA,EACvB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,UAAA;AAAA,EACA,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA;AACF,CAAA,EAAqC;AACnC,EAAA,MAAM,OAAA,GAAUI,UAAI,WAAW,CAAA;AAC/B,EAAA,MAAM,WAAA,GAAc,SAAS,WAAA,IAAe,KAAA;AAC5C,EAAA,MAAM,SAAA,GAAY,SAAS,SAAA,IAAa,MAAA;AACxC,EAAA,MAAM,aAAa,SAAA,KAAc,SAAA;AACjC,EAAA,MAAM,aAAa,SAAA,KAAc,MAAA;AACjC,EAAA,MAAM,OAAA,GAAU,cAAA,CAAe,EAAC,UAAA,EAAY,aAAY,CAAA;AAExD,EAAA,uBACEJ,cAAAA;AAAA,IAACK,sBAAA;AAAA,IAAA;AAAA,MACC,EAAA,EAAG,IAAA;AAAA,MACH,SAAA,EAAWH,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,WAAA;AAAA,MACA,UAAA;AAAA,MACA,IAAA;AAAA,MACA,UAAA;AAAA,MACA,UAAA;AAAA,MACA,KAAA;AAAA,MACA,gBACE,UAAA,mBACEF,eAAC,MAAA,EAAA,EAAO,OAAA,EAAkB,WAAsB,CAAA,GAC9C,MAAA;AAAA,MAEN,OAAA;AAAA,MACA,GAAA;AAAA,MACA,GAAA;AAAA,MACA,YAAA;AAAA,MACA,KAAA;AAAA,MACA;AAAA;AAAA,GACF;AAEJ;AAEA,QAAA,CAAS,WAAA,GAAc,UAAA","file":"chunk-KZOUXGPD.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nconst markerSize = '6px';\n\nexport const listRecipe = sva({\n slots: ['root', 'header', 'list'],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n },\n header: {\n mb: '2',\n },\n list: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n m: 0,\n p: 0,\n listStyleType: 'none',\n },\n },\n variants: {\n hasDividers: {\n true: {list: {gap: 0}},\n },\n hasCounter: {\n true: {list: {counterReset: 'silver-list'}},\n },\n },\n defaultVariants: {\n hasDividers: false,\n hasCounter: false,\n },\n});\n\nexport type ListVariants = RecipeVariantProps<typeof listRecipe>;\n\nexport const listItemRecipe = sva({\n slots: ['item', 'markerContainer', 'dot', 'circle', 'number'],\n base: {\n item: {},\n markerContainer: {\n alignSelf: 'baseline',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n w: '4',\n mt: `calc((1em * 1.5 - ${markerSize}) / 2)`,\n },\n dot: {\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n bg: 'fg',\n },\n circle: {\n w: markerSize,\n h: markerSize,\n borderRadius: 'full',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'fg',\n bg: 'transparent',\n },\n number: {\n alignSelf: 'baseline',\n flexShrink: 0,\n color: 'fg',\n fontFamily: 'body',\n fontSize: 'md',\n lineHeight: '1.5',\n w: '4',\n _before: {\n content: 'counter(silver-list) \".\"',\n },\n },\n },\n variants: {\n hasCounter: {\n true: {\n item: {counterIncrement: 'silver-list'},\n },\n },\n hasDividers: {\n true: {\n item: {\n borderBlockEndWidth: 'default',\n borderBlockEndStyle: 'solid',\n borderBlockEndColor: 'border',\n borderRadius: 0,\n _last: {\n borderBlockEndWidth: 0,\n },\n },\n },\n },\n },\n defaultVariants: {\n hasCounter: false,\n hasDividers: false,\n },\n});\n\nexport type ListItemVariants = RecipeVariantProps<typeof listItemRecipe>;\n","'use client';\n\nimport {createContext} from 'react';\n\nexport type ListStyle = 'none' | 'disc' | 'decimal' | 'circle';\n\nexport interface ListContextValue {\n hasDividers: boolean;\n listStyle: ListStyle;\n}\n\nexport const ListContext = createContext<ListContextValue | null>(null);\nListContext.displayName = 'ListContext';\n","'use client';\n\nimport {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {listRecipe} from 'components/List/List.recipe';\nimport {ListContext, type ListStyle} from 'components/List/ListContext';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport type {ListStyle};\n\nexport interface ListProps {\n /**\n * List items.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the list element.\n */\n className?: string;\n /**\n * Test ID applied to the list element.\n */\n 'data-testid'?: string;\n /**\n * Whether to show dividers between list items.\n * @default false\n */\n hasDividers?: boolean;\n /**\n * Header content rendered above and associated with the list.\n */\n header?: ReactNode;\n /**\n * List marker style. `decimal` renders an ordered list.\n * @default 'none'\n */\n listStyle?: ListStyle;\n /**\n * Ref forwarded to the list element.\n */\n ref?: Ref<HTMLUListElement | HTMLOListElement>;\n /**\n * Starting number for ordered lists.\n * @default 1\n */\n start?: number;\n /**\n * Inline styles applied to the list element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Semantic vertical list container with optional dividers, markers, and header.\n */\nexport function List({\n children,\n className,\n 'data-testid': dataTestId,\n hasDividers = false,\n header,\n listStyle = 'none',\n ref,\n start,\n style,\n}: ListProps): React.JSX.Element {\n const headerId = useId();\n const isOrdered = listStyle === 'decimal';\n const hasCounter = isOrdered;\n const Component = isOrdered ? 'ol' : 'ul';\n const counterReset =\n hasCounter && start != null && start !== 1\n ? `silver-list ${start - 1}`\n : undefined;\n const contextValue = useMemo(\n () => ({hasDividers, listStyle}),\n [hasDividers, listStyle],\n );\n\n const classes = listRecipe({hasDividers, hasCounter});\n\n const listElement = (\n <Component\n aria-labelledby={isReactNode(header) ? headerId : undefined}\n className={cx(classes.list, className)}\n data-testid={dataTestId}\n ref={ref as Ref<HTMLUListElement & HTMLOListElement>}\n role={listStyle === 'none' && !isOrdered ? 'list' : undefined}\n start={isOrdered ? start : undefined}\n style={{counterReset, ...style}}>\n {children}\n </Component>\n );\n\n return (\n <ListContext value={contextValue}>\n {!isReactNode(header) ? (\n listElement\n ) : (\n <div className={classes.root}>\n <div className={classes.header} id={headerId}>\n {header}\n </div>\n {listElement}\n </div>\n )}\n </ListContext>\n );\n}\n\nList.displayName = 'List';\n","'use client';\n\nimport {\n use,\n type CSSProperties,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Item} from 'components/Item';\nimport {listItemRecipe} from 'components/List/List.recipe';\nimport {ListContext, type ListStyle} from 'components/List/ListContext';\nimport {cx} from 'internal/cx';\n\nexport interface ListItemProps {\n /**\n * Additional CSS class names applied to the list item.\n */\n className?: string;\n /**\n * Test ID applied to the list item.\n */\n 'data-testid'?: string;\n /**\n * Supporting text shown below the label.\n */\n description?: ReactNode;\n /**\n * Trailing content rendered after the label area.\n */\n endContent?: ReactNode;\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Click handler for interactive items.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the list item.\n */\n ref?: Ref<HTMLLIElement>;\n /**\n * Link relationship.\n */\n rel?: string;\n /**\n * Content rendered before the label area.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the list item.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n}\n\ntype MarkerClasses = ReturnType<typeof listItemRecipe>;\n\nfunction Marker({\n classes,\n listStyle,\n}: {\n classes: MarkerClasses;\n listStyle: ListStyle;\n}): React.JSX.Element | null {\n if (listStyle === 'disc') {\n return (\n <span className={classes.markerContainer}>\n <span className={classes.dot} />\n </span>\n );\n }\n\n if (listStyle === 'circle') {\n return (\n <span className={classes.markerContainer}>\n <span className={classes.circle} />\n </span>\n );\n }\n\n if (listStyle === 'decimal') {\n return <span className={classes.number} />;\n }\n\n return null;\n}\n\n/**\n * Structured list item built on the shared `Item` primitive.\n */\nexport function ListItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n isDisabled = false,\n isSelected = false,\n label,\n onClick,\n ref,\n rel,\n startContent,\n style,\n target,\n}: ListItemProps): React.JSX.Element {\n const context = use(ListContext);\n const hasDividers = context?.hasDividers ?? false;\n const listStyle = context?.listStyle ?? 'none';\n const hasCounter = listStyle === 'decimal';\n const hasMarkers = listStyle !== 'none';\n const classes = listItemRecipe({hasCounter, hasDividers});\n\n return (\n <Item\n as=\"li\"\n className={cx(classes.item, className)}\n data-testid={dataTestId}\n description={description}\n endContent={endContent}\n href={href}\n isDisabled={isDisabled}\n isSelected={isSelected}\n label={label}\n leadingContent={\n hasMarkers ? (\n <Marker classes={classes} listStyle={listStyle} />\n ) : undefined\n }\n onClick={onClick}\n ref={ref}\n rel={rel}\n startContent={startContent}\n style={style}\n target={target}\n />\n );\n}\n\nListItem.displayName = 'ListItem';\n"]}
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
5
|
-
var
|
|
4
|
+
var chunk5FNYOPUL_cjs = require('./chunk-5FNYOPUL.cjs');
|
|
5
|
+
var chunkI2QAN2HX_cjs = require('./chunk-I2QAN2HX.cjs');
|
|
6
|
+
var chunkZ5EY2GRO_cjs = require('./chunk-Z5EY2GRO.cjs');
|
|
6
7
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
7
8
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
8
9
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -222,7 +223,7 @@ function Item({
|
|
|
222
223
|
trailingContent,
|
|
223
224
|
width = "full"
|
|
224
225
|
}) {
|
|
225
|
-
const linkRel =
|
|
226
|
+
const linkRel = chunk5FNYOPUL_cjs.useRel({ target, rel });
|
|
226
227
|
const isInteractive = href != null || onClick != null;
|
|
227
228
|
const hasParentRole = role != null;
|
|
228
229
|
const ownsInteraction = isInteractive && !hasParentRole;
|
|
@@ -242,11 +243,11 @@ function Item({
|
|
|
242
243
|
const inlineEndContent = chunkQAO6QMNQ_cjs.isReactNode(endContent) && endContentPosition === "inline" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.endContentInline, children: endContent }) : null;
|
|
243
244
|
const labelAndDescription = /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
244
245
|
inlineEndContent != null ? /* @__PURE__ */ jsxRuntime.jsxs("span", { className: classes.labelRow, children: [
|
|
245
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
246
|
+
/* @__PURE__ */ jsxRuntime.jsx(chunkI2QAN2HX_cjs.Text, { as: "span", maxLines: getMaxLines(labelLines, label), type: "body", children: label }),
|
|
246
247
|
inlineEndContent
|
|
247
|
-
] }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
248
|
+
] }) : /* @__PURE__ */ jsxRuntime.jsx(chunkI2QAN2HX_cjs.Text, { as: "span", maxLines: getMaxLines(labelLines, label), type: "body", children: label }),
|
|
248
249
|
chunkQAO6QMNQ_cjs.isReactNode(description) ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
249
|
-
|
|
250
|
+
chunkI2QAN2HX_cjs.Text,
|
|
250
251
|
{
|
|
251
252
|
as: "span",
|
|
252
253
|
maxLines: getMaxLines(descriptionLines, description),
|
|
@@ -274,7 +275,7 @@ function Item({
|
|
|
274
275
|
chunkQAO6QMNQ_cjs.isReactNode(endContent) && endContentPosition !== "inline" ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.endContent, children: endContent }) : null
|
|
275
276
|
] });
|
|
276
277
|
const content = !ownsInteraction ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.content, children: innerSlots }) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
277
|
-
|
|
278
|
+
chunkZ5EY2GRO_cjs.ActionElement,
|
|
278
279
|
{
|
|
279
280
|
"aria-current": ariaCurrent ?? void 0,
|
|
280
281
|
"aria-disabled": href != null && isDisabled ? true : void 0,
|
|
@@ -319,5 +320,5 @@ function Item({
|
|
|
319
320
|
Item.displayName = "Item";
|
|
320
321
|
|
|
321
322
|
exports.Item = Item;
|
|
322
|
-
//# sourceMappingURL=chunk-
|
|
323
|
-
//# sourceMappingURL=chunk-
|
|
323
|
+
//# sourceMappingURL=chunk-LDKE723G.cjs.map
|
|
324
|
+
//# sourceMappingURL=chunk-LDKE723G.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Item/Item.recipe.ts","../src/components/Item/Item.tsx"],"names":["sva","useRel","useRef","useCallback","isReactNode","jsx","jsxs","Fragment","Text","ActionElement","cx"],"mappings":";;;;;;;;;;;;AAEO,IAAM,aAAaA,qBAAA,CAAI;AAAA,EAC5B,KAAA,EAAO;AAAA,IACL,MAAA;AAAA,IACA,oBAAA;AAAA,IACA,SAAA;AAAA,IACA,aAAA;AAAA,IACA,cAAA;AAAA,IACA,YAAA;AAAA,IACA,kBAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACF;AAAA,EACA,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,QAAA,EAAU,UAAA;AAAA,MACV,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,EAAA,EAAI,GAAA;AAAA,MACJ,EAAA,EAAI,GAAA;AAAA,MACJ,SAAA,EAAW,OAAA;AAAA,MACX,YAAA,EAAc;AAAA,KAChB;AAAA,IACA,kBAAA,EAAoB;AAAA,MAClB,MAAA,EAAQ,SAAA;AAAA,MACR,KAAA,EAAO,SAAA;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM,CAAA;AAAA,MACN,SAAA,EAAW,OAAA;AAAA,MACX,cAAA,EAAgB;AAAA,KAClB;AAAA,IACA,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK,GAAA;AAAA,MACL,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM,CAAA;AAAA,MACN,SAAA,EAAW;AAAA,KACb;AAAA,IACA,WAAA,EAAa;AAAA,MACX,OAAA,EAAS,MAAA;AAAA,MACT,aAAA,EAAe,QAAA;AAAA,MACf,IAAA,EAAM,CAAA;AAAA,MACN,IAAA,EAAM;AAAA,KACR;AAAA,IACA,YAAA,EAAc;AAAA,MACZ,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY;AAAA,KACd;AAAA,IACA,UAAA,EAAY;AAAA,MACV,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,CAAA;AAAA,MACZ,iBAAA,EAAmB;AAAA,KACrB;AAAA,IACA,gBAAA,EAAkB;AAAA,MAChB,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY;AAAA,KACd;AAAA,IACA,QAAA,EAAU;AAAA,MACR,OAAA,EAAS,MAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,GAAA,EAAK;AAAA,KACP;AAAA,IACA,eAAA,EAAiB;AAAA,MACf,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY;AAAA;AACd,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,KAAA,EAAO;AAAA,MACL,QAAQ,EAAC;AAAA,MACT,OAAO,EAAC,IAAA,EAAM,EAAC,UAAA,EAAY,cAAY;AAAC,KAC1C;AAAA,IACA,KAAA,EAAO;AAAA,MACL,MAAM,EAAC,IAAA,EAAM,EAAC,CAAA,EAAG,QAAM,EAAC;AAAA,MACxB,MAAM;AAAC,KACT;AAAA,IACA,aAAA,EAAe;AAAA,MACb,IAAA,EAAM;AAAA,QACJ,IAAA,EAAM;AAAA,UACJ,MAAA,EAAQ,SAAA;AAAA,UACR,kBAAA,EAAoB,kBAAA;AAAA,UACpB,kBAAA,EAAoB,MAAA;AAAA,UACpB,wBAAA,EAA0B,SAAA;AAAA,UAC1B,MAAA,EAAQ,EAAC,EAAA,EAAI,WAAA,EAAW;AAAA,UACxB,OAAA,EAAS,EAAC,EAAA,EAAI,UAAA,EAAU;AAAA,UACxB,uBAAA,EAAyB;AAAA,YACvB,YAAA,EAAc,OAAA;AAAA,YACd,YAAA,EAAc,OAAA;AAAA,YACd,YAAA,EAAc,SAAA;AAAA,YACd,aAAA,EAAe;AAAA;AACjB;AACF,OACF;AAAA,MACA,OAAO;AAAC,KACV;AAAA,IACA,aAAA,EAAe;AAAA,MACb,MAAM,EAAC,IAAA,EAAM,EAAC,EAAA,EAAI,aAAW,EAAC;AAAA,MAC9B,OAAO;AAAC,KACV;AAAA,IACA,UAAA,EAAY;AAAA,MACV,MAAM,EAAC,IAAA,EAAM,EAAC,EAAA,EAAI,eAAa,EAAC;AAAA,MAChC,OAAO;AAAC,KACV;AAAA;AAAA;AAAA;AAAA,IAIA,UAAA,EAAY;AAAA,MACV,IAAA,EAAM;AAAA,QACJ,OAAA,EAAS,EAAC,OAAA,EAAS,GAAA,EAAG;AAAA,QACtB,kBAAA,EAAoB,EAAC,OAAA,EAAS,GAAA;AAAG,OACnC;AAAA,MACA,OAAO;AAAC,KACV;AAAA;AAAA;AAAA,IAGA,aAAA,EAAe;AAAA,MACb,MAAM,EAAC;AAAA,MACP,OAAO;AAAC;AACV,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB;AAAA,MACE,UAAA,EAAY,IAAA;AAAA,MACZ,aAAA,EAAe,KAAA;AAAA,MACf,GAAA,EAAK;AAAA,QACH,IAAA,EAAM;AAAA,UACJ,MAAA,EAAQ,aAAA;AAAA,UACR,aAAA,EAAe;AAAA;AACjB;AACF;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,KAAA,EAAO,QAAA;AAAA,IACP,KAAA,EAAO,MAAA;AAAA,IACP,aAAA,EAAe,KAAA;AAAA,IACf,aAAA,EAAe,KAAA;AAAA,IACf,UAAA,EAAY,KAAA;AAAA,IACZ,UAAA,EAAY,KAAA;AAAA,IACZ,aAAA,EAAe;AAAA;AAEnB,CAAC,CAAA;ACpID,IAAM,gBAAA,uBAAuB,GAAA,CAAI;AAAA,EAC/B,QAAA;AAAA,EACA,KAAA;AAAA,EACA,KAAA;AAAA,EACA,UAAA;AAAA,EACA;AACF,CAAC,CAAA;AA+HD,IAAM,oBAAA,GAAuB;AAAA,EAC3B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,OAAA;AAAA,EACA,QAAA;AAAA,EACA,UAAA;AAAA,EACA,iBAAA;AAAA,EACA,eAAA;AAAA,EACA,mBAAA;AAAA,EACA,iBAAA;AAAA,EACA,mBAAA;AAAA,EACA,2BAAA;AAAA,EACA,wBAAA;AAAA,EACA,cAAA;AAAA,EACA,gBAAA;AAAA,EACA,iBAAA;AAAA,EACA,0BAAA;AAAA,EACA;AACF,CAAA,CAAE,KAAK,IAAI,CAAA;AAEX,SAAS,oBAAoB,OAAA,EAA+B;AAC1D,EAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,oBAAoB,CAAA,IAAK,IAAA;AAClD;AAEA,SAAS,WAAA,CACP,eACA,OAAA,EACQ;AACR,EAAA,IAAI,iBAAiB,IAAA,EAAM;AACzB,IAAA,OAAO,aAAA;AAAA,EACT;AAEA,EAAA,OAAO,OAAO,OAAA,KAAY,QAAA,GAAW,CAAA,GAAI,CAAA;AAC3C;AAKO,SAAS,IAAA,CAAK;AAAA,EACnB,KAAA,GAAQ,QAAA;AAAA,EACR,cAAA,EAAgB,WAAA;AAAA,EAChB,IAAI,SAAA,GAAY,KAAA;AAAA,EAChB,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,WAAA;AAAA,EACA,gBAAA;AAAA,EACA,UAAA;AAAA,EACA,kBAAA,GAAqB,KAAA;AAAA,EACrB,IAAA;AAAA,EACA,UAAA,GAAa,KAAA;AAAA,EACb,aAAA,GAAgB,KAAA;AAAA,EAChB,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,UAAA;AAAA,EACA,cAAA;AAAA,EACA,aAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAA;AAAA,EACA,GAAA;AAAA,EACA,IAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,MAAA;AAAA,EACA,eAAA;AAAA,EACA,KAAA,GAAQ;AACV,CAAA,EAAiC;AAC/B,EAAA,MAAM,OAAA,GAAUC,wBAAA,CAAO,EAAC,MAAA,EAAQ,KAAI,CAAA;AACpC,EAAA,MAAM,aAAA,GAAgB,IAAA,IAAQ,IAAA,IAAQ,OAAA,IAAW,IAAA;AACjD,EAAA,MAAM,gBAAgB,IAAA,IAAQ,IAAA;AAI9B,EAAA,MAAM,eAAA,GAAkB,iBAAiB,CAAC,aAAA;AAG1C,EAAA,MAAM,cAAA,GAAiBC,aAA2B,IAAI,CAAA;AACtD,EAAA,MAAM,iBAAA,GAAoBC,iBAAA,CAAY,CAAC,IAAA,KAA6B;AAClE,IAAA,cAAA,CAAe,OAAA,GAAU,IAAA;AAAA,EAC3B,CAAA,EAAG,EAAE,CAAA;AACL,EAAA,MAAM,UAAU,UAAA,CAAW;AAAA,IACzB,KAAA;AAAA,IACA,KAAA;AAAA,IACA,aAAA;AAAA,IACA,aAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,GACD,CAAA;AAED,EAAA,MAAM,gBAAA,GACJC,6BAAA,CAAY,UAAU,CAAA,IAAK,kBAAA,KAAuB,QAAA,mBAChDC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,gBAAA,EAAmB,QAAA,EAAA,UAAA,EAAW,CAAA,GACrD,IAAA;AAEN,EAAA,MAAM,sCACJC,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAA,gBAAA,IAAoB,IAAA,mBACnBD,eAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,QAAQ,QAAA,EACvB,QAAA,EAAA;AAAA,sBAAAD,cAAA,CAACG,sBAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,QAAA,EAAU,WAAA,CAAY,YAAY,KAAK,CAAA,EAAG,IAAA,EAAK,MAAA,EAC5D,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,MACC;AAAA,KAAA,EACH,CAAA,mBAEAH,cAAA,CAACG,sBAAA,EAAA,EAAK,EAAA,EAAG,MAAA,EAAO,QAAA,EAAU,WAAA,CAAY,UAAA,EAAY,KAAK,CAAA,EAAG,IAAA,EAAK,MAAA,EAC5D,QAAA,EAAA,KAAA,EACH,CAAA;AAAA,IAEDJ,6BAAA,CAAY,WAAW,CAAA,mBACtBC,cAAA;AAAA,MAACG,sBAAA;AAAA,MAAA;AAAA,QACC,EAAA,EAAG,MAAA;AAAA,QACH,QAAA,EAAU,WAAA,CAAY,gBAAA,EAAkB,WAAW,CAAA;AAAA,QACnD,IAAA,EAAK,YAAA;AAAA,QACJ,QAAA,EAAA;AAAA;AAAA,KACH,GACE;AAAA,GAAA,EACN,CAAA;AAGF,EAAA,MAAM,oBAAA,GAAuB,CAAC,KAAA,KAAmC;AAC/D,IAAA,IAAI,UAAA,EAAY;AACd,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,gBAAgB,KAAA,CAAM,MAAA;AAE5B,IAAA,IAAI,cAAA,CAAe,OAAA,EAAS,QAAA,CAAS,aAAa,CAAA,EAAG;AACnD,MAAA;AAAA,IACF;AAGA,IAAA,IAAI,mBAAA,CAAoB,aAAa,CAAA,EAAG;AACtC,MAAA;AAAA,IACF;AAEA,IAAA,OAAA,GAAU,KAAK,CAAA;AAAA,EACjB,CAAA;AAEA,EAAA,MAAM,6BACJF,eAAA,CAAAC,mBAAA,EAAA,EACG,QAAA,EAAA;AAAA,IAAAH,6BAAA,CAAY,YAAY,oBACvBC,cAAA,CAAC,MAAA,EAAA,EAAK,WAAW,OAAA,CAAQ,YAAA,EAAe,wBAAa,CAAA,GACnD,IAAA;AAAA,oBACJA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,aAAc,QAAA,EAAA,mBAAA,EAAoB,CAAA;AAAA,IAC1DD,6BAAA,CAAY,UAAU,CAAA,IAAK,kBAAA,KAAuB,QAAA,mBACjDC,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,OAAA,CAAQ,UAAA,EAAa,QAAA,EAAA,UAAA,EAAW,CAAA,GAC/C;AAAA,GAAA,EACN,CAAA;AAGF,EAAA,MAAM,OAAA,GAAU,CAAC,eAAA,mBACfA,cAAA,CAAC,UAAK,SAAA,EAAW,OAAA,CAAQ,OAAA,EAAU,QAAA,EAAA,UAAA,EAAW,CAAA,mBAE9CA,cAAA;AAAA,IAACI,+BAAA;AAAA,IAAA;AAAA,MACC,gBAAc,WAAA,IAAe,MAAA;AAAA,MAC7B,eAAA,EAAe,IAAA,IAAQ,IAAA,IAAQ,UAAA,GAAa,IAAA,GAAO,MAAA;AAAA,MACnD,EAAA,EAAI,aAAA;AAAA,MACJ,WAAW,OAAA,CAAQ,kBAAA;AAAA,MACnB,IAAA;AAAA,MACA,UAAA,EAAY,IAAA,IAAQ,IAAA,GAAO,UAAA,GAAa,MAAA;AAAA,MACxC,QAAQ,IAAA,IAAQ,IAAA;AAAA,MAChB,OAAA,EAAS,CAAC,CAAA,KAA+B;AACvC,QAAA,IAAI,UAAA,EAAY;AACd,UAAA,CAAA,CAAE,cAAA,EAAe;AACjB,UAAA;AAAA,QACF;AACA,QAAA,OAAA,GAAU,CAAC,CAAA;AAAA,MACb,CAAA;AAAA,MACA,GAAA,EAAK,iBAAA;AAAA,MACL,GAAA,EAAK,IAAA,IAAQ,IAAA,GAAO,OAAA,GAAU,MAAA;AAAA,MAC9B,QAAA,EAAU,IAAA,IAAQ,IAAA,IAAQ,UAAA,GAAa,EAAA,GAAK,MAAA;AAAA,MAC5C,MAAA,EAAQ,IAAA,IAAQ,IAAA,GAAO,MAAA,GAAS,MAAA;AAAA,MAC/B,QAAA,EAAA;AAAA;AAAA,GACH;AAGF,EAAA,uBACEH,eAAA;AAAA,IAAC,SAAA;AAAA,IAAA;AAAA,MACC,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,eAAA,EACE,cAAc,IAAA,IAAQ,IAAA,IAAQ,iBAAiB,GAAA,CAAI,IAAI,IACnD,IAAA,GACA,MAAA;AAAA,MAEN,SAAA,EAAWI,oBAAA,CAAG,OAAA,CAAQ,IAAA,EAAM,SAAS,CAAA;AAAA,MACrC,aAAA,EAAa,UAAA;AAAA,MACb,OAAA,EACE,aAAA,GACI,OAAA,GACA,eAAA,GACE,oBAAA,GACA,MAAA;AAAA,MAER,GAAA;AAAA,MACA,IAAA;AAAA,MACA,KAAA;AAAA,MACC,QAAA,EAAA;AAAA,QAAA,cAAA;AAAA,QACA,OAAA;AAAA,QACAN,6BAAA,CAAY,eAAe,CAAA,mBAC1BC,cAAA,CAAC,UAAK,SAAA,EAAW,OAAA,CAAQ,eAAA,EAAkB,QAAA,EAAA,eAAA,EAAgB,CAAA,GACzD;AAAA;AAAA;AAAA,GACN;AAEJ;AAEA,IAAA,CAAK,WAAA,GAAc,MAAA","file":"chunk-OX2FNKIV.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const itemRecipe = sva({\n slots: [\n 'root',\n 'interactiveContent',\n 'content',\n 'textContent',\n 'startContent',\n 'endContent',\n 'endContentInline',\n 'labelRow',\n 'trailingContent',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '2',\n textAlign: 'start',\n borderRadius: 'md',\n },\n interactiveContent: {\n cursor: 'inherit',\n color: 'inherit',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n textDecoration: 'none',\n },\n content: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n },\n textContent: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n },\n startContent: {\n display: 'inline-flex',\n flexShrink: 0,\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n marginInlineStart: 'auto',\n },\n endContentInline: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n labelRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trailingContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n align: {\n center: {},\n start: {root: {alignItems: 'flex-start'}},\n },\n width: {\n full: {root: {w: 'full'}},\n auto: {},\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.hover'},\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n false: {},\n },\n isHighlighted: {\n true: {root: {bg: 'bg.subtle'}},\n false: {},\n },\n isSelected: {\n true: {root: {bg: 'bg.selected'}},\n false: {},\n },\n // The disabled wrapper dims everything inside it via opacity (which\n // compounds through the tree), so the dimming lives only on the content\n // wrappers — applying it to nested slots like endContent would double-dim.\n isDisabled: {\n true: {\n content: {opacity: 0.5},\n interactiveContent: {opacity: 0.5},\n },\n false: {},\n },\n // Marker variant; whether a parent owns the role gates the disabled root\n // styling, which lives in compoundVariants below.\n hasParentRole: {\n true: {},\n false: {},\n },\n },\n compoundVariants: [\n {\n isDisabled: true,\n hasParentRole: false,\n css: {\n root: {\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n ],\n defaultVariants: {\n align: 'center',\n width: 'full',\n isInteractive: false,\n isHighlighted: false,\n isSelected: false,\n isDisabled: false,\n hasParentRole: false,\n },\n});\n\nexport type ItemVariants = RecipeVariantProps<typeof itemRecipe>;\n","import {\n useCallback,\n useRef,\n type AriaAttributes,\n type CSSProperties,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {itemRecipe} from 'components/Item/Item.recipe';\nimport type {LinkComponent as LinkComponentType} from 'components/Link';\nimport {Text} from 'components/Text';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {useRel} from 'internal/linkAccessibility';\n\nconst SELECTABLE_ROLES = new Set([\n 'option',\n 'tab',\n 'row',\n 'gridcell',\n 'treeitem',\n]);\n\nexport type ItemAlign = 'center' | 'start';\nexport type ItemElement = 'div' | 'li' | 'span';\n\nexport interface ItemProps {\n /**\n * Vertical alignment of the start and end content slots.\n * @default 'center'\n */\n align?: ItemAlign;\n /**\n * ARIA current indicator forwarded to the interactive element.\n */\n 'aria-current'?: AriaAttributes['aria-current'];\n /**\n * HTML element used for the root.\n * @default 'div'\n */\n as?: ItemElement;\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 shown below the label.\n */\n description?: ReactNode;\n /**\n * Maximum number of description lines before truncation.\n */\n descriptionLines?: number;\n /**\n * Content rendered after the label and description.\n * Position controlled by `endContentPosition`.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'end'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item should show highlighted styling.\n * @default false\n */\n isHighlighted?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Maximum number of label lines before truncation.\n */\n labelLines?: number;\n /**\n * Content rendered outside the interactive area, before it.\n */\n leadingContent?: ReactNode;\n /**\n * Custom link component used when href is set.\n */\n linkComponent?: LinkComponentType;\n /**\n * Click handler. When set without href, the content area renders as a\n * button. When set with href, also fires on link clicks.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link relationship. `noopener noreferrer` are added for `_blank` targets.\n */\n rel?: string;\n /**\n * ARIA role applied to the root element. When set, click handling is attached\n * to the root so parent composite widgets can own keyboard behavior.\n */\n role?: string;\n /**\n * Leading visual content, such as an icon, avatar, or image.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n /**\n * Content rendered outside the interactive area, after it.\n */\n trailingContent?: ReactNode;\n /**\n * Width of the root element.\n * @default 'full'\n */\n width?: 'full' | 'auto';\n}\n\n// Native and ARIA interactive elements that own their own click, plus anything\n// explicitly placed in the tab order or made editable. Used as a safety net so\n// the row action does not also fire when a consumer-provided control in a slot\n// is clicked.\nconst INTERACTIVE_SELECTOR = [\n 'button',\n 'a[href]',\n 'input',\n 'select',\n 'textarea',\n '[role=\"button\"]',\n '[role=\"link\"]',\n '[role=\"checkbox\"]',\n '[role=\"switch\"]',\n '[role=\"menuitem\"]',\n '[role=\"menuitemcheckbox\"]',\n '[role=\"menuitemradio\"]',\n '[role=\"tab\"]',\n '[role=\"radio\"]',\n '[role=\"option\"]',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(', ');\n\nfunction isInteractiveTarget(element: HTMLElement): boolean {\n return element.closest(INTERACTIVE_SELECTOR) != null;\n}\n\nfunction getMaxLines(\n explicitLines: number | undefined,\n content: ReactNode,\n): number {\n if (explicitLines != null) {\n return explicitLines;\n }\n\n return typeof content === 'string' ? 1 : 0;\n}\n\n/**\n * Shared start content, label, description, and end content row primitive.\n */\nexport function Item({\n align = 'center',\n 'aria-current': ariaCurrent,\n as: Component = 'div',\n className,\n 'data-testid': dataTestId,\n description,\n descriptionLines,\n endContent,\n endContentPosition = 'end',\n href,\n isDisabled = false,\n isHighlighted = false,\n isSelected = false,\n label,\n labelLines,\n leadingContent,\n linkComponent,\n onClick,\n ref,\n rel,\n role,\n startContent,\n style,\n target,\n trailingContent,\n width = 'full',\n}: ItemProps): React.JSX.Element {\n const linkRel = useRel({target, rel});\n const isInteractive = href != null || onClick != null;\n const hasParentRole = role != null;\n // The item renders its own interactive control (link/button) only when it is\n // interactive and no parent widget owns the role. Otherwise it renders a\n // plain content wrapper and any interaction is handled by the parent.\n const ownsInteraction = isInteractive && !hasParentRole;\n // Tracks the inner interactive control (button/link) so the row handler can\n // tell, precisely, when a click already fired on our own element.\n const interactiveRef = useRef<HTMLElement | null>(null);\n const setInteractiveRef = useCallback((node: HTMLElement | null) => {\n interactiveRef.current = node;\n }, []);\n const classes = itemRecipe({\n align,\n width,\n isInteractive,\n isHighlighted,\n isSelected,\n isDisabled,\n hasParentRole,\n });\n\n const inlineEndContent =\n isReactNode(endContent) && endContentPosition === 'inline' ? (\n <span className={classes.endContentInline}>{endContent}</span>\n ) : null;\n\n const labelAndDescription = (\n <>\n {inlineEndContent != null ? (\n <span className={classes.labelRow}>\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n {inlineEndContent}\n </span>\n ) : (\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n )}\n {isReactNode(description) ? (\n <Text\n as=\"span\"\n maxLines={getMaxLines(descriptionLines, description)}\n type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </>\n );\n\n const handleContainerClick = (event: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n return;\n }\n\n const targetElement = event.target as HTMLElement;\n // Our own interactive control already fired its onClick; don't double-fire.\n if (interactiveRef.current?.contains(targetElement)) {\n return;\n }\n // A consumer-provided interactive control in a slot owns its own click, so\n // the row action should not also fire.\n if (isInteractiveTarget(targetElement)) {\n return;\n }\n\n onClick?.(event);\n };\n\n const innerSlots = (\n <>\n {isReactNode(startContent) ? (\n <span className={classes.startContent}>{startContent}</span>\n ) : null}\n <span className={classes.textContent}>{labelAndDescription}</span>\n {isReactNode(endContent) && endContentPosition !== 'inline' ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n const content = !ownsInteraction ? (\n <span className={classes.content}>{innerSlots}</span>\n ) : (\n <ActionElement\n aria-current={ariaCurrent ?? undefined}\n aria-disabled={href != null && isDisabled ? true : undefined}\n as={linkComponent}\n className={classes.interactiveContent}\n href={href}\n isDisabled={href == null ? isDisabled : undefined}\n isLink={href != null}\n onClick={(e: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n }}\n ref={setInteractiveRef}\n rel={href != null ? linkRel : undefined}\n tabIndex={href != null && isDisabled ? -1 : undefined}\n target={href != null ? target : undefined}>\n {innerSlots}\n </ActionElement>\n );\n\n return (\n <Component\n aria-disabled={isDisabled || undefined}\n aria-selected={\n isSelected && role != null && SELECTABLE_ROLES.has(role)\n ? true\n : undefined\n }\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onClick={\n hasParentRole\n ? onClick\n : ownsInteraction\n ? handleContainerClick\n : undefined\n }\n ref={ref as Ref<never>}\n role={role}\n style={style}>\n {leadingContent}\n {content}\n {isReactNode(trailingContent) ? (\n <span className={classes.trailingContent}>{trailingContent}</span>\n ) : null}\n </Component>\n );\n}\n\nItem.displayName = 'Item';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Item/Item.recipe.ts","../src/components/Item/Item.tsx"],"names":["sva","useRel","useRef","useCallback","isReactNode","jsx","jsxs","Fragment","Text","ActionElement","cx"],"mappings":"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","file":"chunk-LDKE723G.cjs","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const itemRecipe = sva({\n slots: [\n 'root',\n 'interactiveContent',\n 'content',\n 'textContent',\n 'startContent',\n 'endContent',\n 'endContentInline',\n 'labelRow',\n 'trailingContent',\n ],\n base: {\n root: {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n px: '2',\n py: '2',\n textAlign: 'start',\n borderRadius: 'md',\n },\n interactiveContent: {\n cursor: 'inherit',\n color: 'inherit',\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n textDecoration: 'none',\n },\n content: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n flex: 1,\n minW: 0,\n textAlign: 'start',\n },\n textContent: {\n display: 'flex',\n flexDirection: 'column',\n flex: 1,\n minW: 0,\n },\n startContent: {\n display: 'inline-flex',\n flexShrink: 0,\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n marginInlineStart: 'auto',\n },\n endContentInline: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n labelRow: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n },\n trailingContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n },\n variants: {\n align: {\n center: {},\n start: {root: {alignItems: 'flex-start'}},\n },\n width: {\n full: {root: {w: 'full'}},\n auto: {},\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n transitionProperty: 'background-color',\n transitionDuration: 'fast',\n transitionTimingFunction: 'default',\n _hover: {bg: 'bg.subtle'},\n _active: {bg: 'bg.hover'},\n '&:has(:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n false: {},\n },\n isHighlighted: {\n true: {root: {bg: 'bg.subtle'}},\n false: {},\n },\n isSelected: {\n true: {root: {bg: 'bg.selected'}},\n false: {},\n },\n // The disabled wrapper dims everything inside it via opacity (which\n // compounds through the tree), so the dimming lives only on the content\n // wrappers — applying it to nested slots like endContent would double-dim.\n isDisabled: {\n true: {\n content: {opacity: 0.5},\n interactiveContent: {opacity: 0.5},\n },\n false: {},\n },\n // Marker variant; whether a parent owns the role gates the disabled root\n // styling, which lives in compoundVariants below.\n hasParentRole: {\n true: {},\n false: {},\n },\n },\n compoundVariants: [\n {\n isDisabled: true,\n hasParentRole: false,\n css: {\n root: {\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n ],\n defaultVariants: {\n align: 'center',\n width: 'full',\n isInteractive: false,\n isHighlighted: false,\n isSelected: false,\n isDisabled: false,\n hasParentRole: false,\n },\n});\n\nexport type ItemVariants = RecipeVariantProps<typeof itemRecipe>;\n","'use client';\n\nimport {\n useCallback,\n useRef,\n type AriaAttributes,\n type CSSProperties,\n type MouseEvent,\n type MouseEventHandler,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {itemRecipe} from 'components/Item/Item.recipe';\nimport type {LinkComponent as LinkComponentType} from 'components/Link';\nimport {Text} from 'components/Text';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {useRel} from 'internal/linkAccessibility';\n\nconst SELECTABLE_ROLES = new Set([\n 'option',\n 'tab',\n 'row',\n 'gridcell',\n 'treeitem',\n]);\n\nexport type ItemAlign = 'center' | 'start';\nexport type ItemElement = 'div' | 'li' | 'span';\n\nexport interface ItemProps {\n /**\n * Vertical alignment of the start and end content slots.\n * @default 'center'\n */\n align?: ItemAlign;\n /**\n * ARIA current indicator forwarded to the interactive element.\n */\n 'aria-current'?: AriaAttributes['aria-current'];\n /**\n * HTML element used for the root.\n * @default 'div'\n */\n as?: ItemElement;\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 shown below the label.\n */\n description?: ReactNode;\n /**\n * Maximum number of description lines before truncation.\n */\n descriptionLines?: number;\n /**\n * Content rendered after the label and description.\n * Position controlled by `endContentPosition`.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'end'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * Link URL. When set, the content area renders as a link.\n */\n href?: string;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether the item should show highlighted styling.\n * @default false\n */\n isHighlighted?: boolean;\n /**\n * Whether the item is selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Primary item label.\n */\n label: ReactNode;\n /**\n * Maximum number of label lines before truncation.\n */\n labelLines?: number;\n /**\n * Content rendered outside the interactive area, before it.\n */\n leadingContent?: ReactNode;\n /**\n * Custom link component used when href is set.\n */\n linkComponent?: LinkComponentType;\n /**\n * Click handler. When set without href, the content area renders as a\n * button. When set with href, also fires on link clicks.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Link relationship. `noopener noreferrer` are added for `_blank` targets.\n */\n rel?: string;\n /**\n * ARIA role applied to the root element. When set, click handling is attached\n * to the root so parent composite widgets can own keyboard behavior.\n */\n role?: string;\n /**\n * Leading visual content, such as an icon, avatar, or image.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Link target.\n */\n target?: string;\n /**\n * Content rendered outside the interactive area, after it.\n */\n trailingContent?: ReactNode;\n /**\n * Width of the root element.\n * @default 'full'\n */\n width?: 'full' | 'auto';\n}\n\n// Native and ARIA interactive elements that own their own click, plus anything\n// explicitly placed in the tab order or made editable. Used as a safety net so\n// the row action does not also fire when a consumer-provided control in a slot\n// is clicked.\nconst INTERACTIVE_SELECTOR = [\n 'button',\n 'a[href]',\n 'input',\n 'select',\n 'textarea',\n '[role=\"button\"]',\n '[role=\"link\"]',\n '[role=\"checkbox\"]',\n '[role=\"switch\"]',\n '[role=\"menuitem\"]',\n '[role=\"menuitemcheckbox\"]',\n '[role=\"menuitemradio\"]',\n '[role=\"tab\"]',\n '[role=\"radio\"]',\n '[role=\"option\"]',\n '[contenteditable=\"true\"]',\n '[tabindex]:not([tabindex=\"-1\"])',\n].join(', ');\n\nfunction isInteractiveTarget(element: HTMLElement): boolean {\n return element.closest(INTERACTIVE_SELECTOR) != null;\n}\n\nfunction getMaxLines(\n explicitLines: number | undefined,\n content: ReactNode,\n): number {\n if (explicitLines != null) {\n return explicitLines;\n }\n\n return typeof content === 'string' ? 1 : 0;\n}\n\n/**\n * Shared start content, label, description, and end content row primitive.\n */\nexport function Item({\n align = 'center',\n 'aria-current': ariaCurrent,\n as: Component = 'div',\n className,\n 'data-testid': dataTestId,\n description,\n descriptionLines,\n endContent,\n endContentPosition = 'end',\n href,\n isDisabled = false,\n isHighlighted = false,\n isSelected = false,\n label,\n labelLines,\n leadingContent,\n linkComponent,\n onClick,\n ref,\n rel,\n role,\n startContent,\n style,\n target,\n trailingContent,\n width = 'full',\n}: ItemProps): React.JSX.Element {\n const linkRel = useRel({target, rel});\n const isInteractive = href != null || onClick != null;\n const hasParentRole = role != null;\n // The item renders its own interactive control (link/button) only when it is\n // interactive and no parent widget owns the role. Otherwise it renders a\n // plain content wrapper and any interaction is handled by the parent.\n const ownsInteraction = isInteractive && !hasParentRole;\n // Tracks the inner interactive control (button/link) so the row handler can\n // tell, precisely, when a click already fired on our own element.\n const interactiveRef = useRef<HTMLElement | null>(null);\n const setInteractiveRef = useCallback((node: HTMLElement | null) => {\n interactiveRef.current = node;\n }, []);\n const classes = itemRecipe({\n align,\n width,\n isInteractive,\n isHighlighted,\n isSelected,\n isDisabled,\n hasParentRole,\n });\n\n const inlineEndContent =\n isReactNode(endContent) && endContentPosition === 'inline' ? (\n <span className={classes.endContentInline}>{endContent}</span>\n ) : null;\n\n const labelAndDescription = (\n <>\n {inlineEndContent != null ? (\n <span className={classes.labelRow}>\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n {inlineEndContent}\n </span>\n ) : (\n <Text as=\"span\" maxLines={getMaxLines(labelLines, label)} type=\"body\">\n {label}\n </Text>\n )}\n {isReactNode(description) ? (\n <Text\n as=\"span\"\n maxLines={getMaxLines(descriptionLines, description)}\n type=\"supporting\">\n {description}\n </Text>\n ) : null}\n </>\n );\n\n const handleContainerClick = (event: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n return;\n }\n\n const targetElement = event.target as HTMLElement;\n // Our own interactive control already fired its onClick; don't double-fire.\n if (interactiveRef.current?.contains(targetElement)) {\n return;\n }\n // A consumer-provided interactive control in a slot owns its own click, so\n // the row action should not also fire.\n if (isInteractiveTarget(targetElement)) {\n return;\n }\n\n onClick?.(event);\n };\n\n const innerSlots = (\n <>\n {isReactNode(startContent) ? (\n <span className={classes.startContent}>{startContent}</span>\n ) : null}\n <span className={classes.textContent}>{labelAndDescription}</span>\n {isReactNode(endContent) && endContentPosition !== 'inline' ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n </>\n );\n\n const content = !ownsInteraction ? (\n <span className={classes.content}>{innerSlots}</span>\n ) : (\n <ActionElement\n aria-current={ariaCurrent ?? undefined}\n aria-disabled={href != null && isDisabled ? true : undefined}\n as={linkComponent}\n className={classes.interactiveContent}\n href={href}\n isDisabled={href == null ? isDisabled : undefined}\n isLink={href != null}\n onClick={(e: MouseEvent<HTMLElement>) => {\n if (isDisabled) {\n e.preventDefault();\n return;\n }\n onClick?.(e);\n }}\n ref={setInteractiveRef}\n rel={href != null ? linkRel : undefined}\n tabIndex={href != null && isDisabled ? -1 : undefined}\n target={href != null ? target : undefined}>\n {innerSlots}\n </ActionElement>\n );\n\n return (\n <Component\n aria-disabled={isDisabled || undefined}\n aria-selected={\n isSelected && role != null && SELECTABLE_ROLES.has(role)\n ? true\n : undefined\n }\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n onClick={\n hasParentRole\n ? onClick\n : ownsInteraction\n ? handleContainerClick\n : undefined\n }\n ref={ref as Ref<never>}\n role={role}\n style={style}>\n {leadingContent}\n {content}\n {isReactNode(trailingContent) ? (\n <span className={classes.trailingContent}>{trailingContent}</span>\n ) : null}\n </Component>\n );\n}\n\nItem.displayName = 'Item';\n"]}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { sva } from './chunk-IAVZKGZS.js';
|
|
2
3
|
import { cx } from './chunk-PPNETWIP.js';
|
|
3
4
|
import { useMemo, useSyncExternalStore } from 'react';
|
|
@@ -153,5 +154,5 @@ function Kbd({
|
|
|
153
154
|
Kbd.displayName = "Kbd";
|
|
154
155
|
|
|
155
156
|
export { Kbd };
|
|
156
|
-
//# sourceMappingURL=chunk-
|
|
157
|
-
//# sourceMappingURL=chunk-
|
|
157
|
+
//# sourceMappingURL=chunk-LHQM533G.js.map
|
|
158
|
+
//# sourceMappingURL=chunk-LHQM533G.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Kbd/Kbd.recipe.ts","../src/components/Kbd/Kbd.tsx"],"names":[],"mappings":";;;;;;AAEO,IAAM,YAAY,GAAA,CAAI;AAAA,EAC3B,KAAA,EAAO,CAAC,MAAA,EAAQ,KAAK,CAAA;AAAA,EACrB,IAAA,EAAM;AAAA,IACJ,IAAA,EAAM;AAAA,MACJ,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,CAAA;AAAA,MACZ,aAAA,EAAe;AAAA,KACjB;AAAA,IACA,GAAA,EAAK;AAAA,MACH,OAAA,EAAS,aAAA;AAAA,MACT,UAAA,EAAY,QAAA;AAAA,MACZ,cAAA,EAAgB,QAAA;AAAA,MAChB,YAAA,EAAc,IAAA;AAAA,MACd,EAAA,EAAI,WAAA;AAAA,MACJ,iBAAA,EAAmB,YAAA;AAAA,MACnB,iBAAA,EAAmB,OAAA;AAAA,MACnB,iBAAA,EAAmB,QAAA;AAAA,MACnB,KAAA,EAAO,UAAA;AAAA,MACP,UAAA,EAAY,MAAA;AAAA,MACZ,UAAA,EAAY,QAAA;AAAA,MACZ,UAAA,EAAY,MAAA;AAAA,MACZ,UAAA,EAAY;AAAA;AACd,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI;AAAA,QACF,IAAA,EAAM,EAAC,GAAA,EAAK,KAAA,EAAK;AAAA,QACjB,GAAA,EAAK,EAAC,IAAA,EAAM,GAAA,EAAK,GAAG,GAAA,EAAK,EAAA,EAAI,KAAA,EAAO,QAAA,EAAU,KAAA;AAAK,OACrD;AAAA,MACA,EAAA,EAAI;AAAA,QACF,IAAA,EAAM,EAAC,GAAA,EAAK,GAAA,EAAG;AAAA,QACf,GAAA,EAAK,EAAC,IAAA,EAAM,GAAA,EAAK,GAAG,GAAA,EAAK,EAAA,EAAI,GAAA,EAAK,QAAA,EAAU,IAAA;AAAI,OAClD;AAAA,MACA,EAAA,EAAI;AAAA,QACF,IAAA,EAAM,EAAC,GAAA,EAAK,KAAA,EAAK;AAAA,QACjB,GAAA,EAAK,EAAC,IAAA,EAAM,GAAA,EAAK,GAAG,GAAA,EAAK,EAAA,EAAI,KAAA,EAAO,QAAA,EAAU,IAAA;AAAI;AACpD;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC,CAAA;
|
|
1
|
+
{"version":3,"sources":["../src/components/Kbd/Kbd.recipe.ts","../src/components/Kbd/Kbd.tsx"],"names":[],"mappings":"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","file":"chunk-LHQM533G.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const kbdRecipe = sva({\n slots: ['root', 'key'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n verticalAlign: 'bottom',\n },\n key: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 'sm',\n bg: 'bg.subtle',\n borderBottomWidth: 'emphasized',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n color: 'fg.muted',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'none',\n userSelect: 'none',\n },\n },\n variants: {\n size: {\n sm: {\n root: {gap: '0.5'},\n key: {minW: '4', h: '4', px: '0.5', fontSize: '2xs'},\n },\n md: {\n root: {gap: '1'},\n key: {minW: '5', h: '5', px: '1', fontSize: 'xs'},\n },\n lg: {\n root: {gap: '1.5'},\n key: {minW: '6', h: '6', px: '1.5', fontSize: 'sm'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n },\n});\n\nexport type KbdVariants = RecipeVariantProps<typeof kbdRecipe>;\n","'use client';\n\nimport {\n useMemo,\n useSyncExternalStore,\n type CSSProperties,\n type Ref,\n} from 'react';\nimport {kbdRecipe} from 'components/Kbd/Kbd.recipe';\nimport {cx} from 'internal/cx';\n\nexport type KbdSize = 'sm' | 'md' | 'lg';\n\nexport interface KbdProps {\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 * Keyboard shortcut string. Use \"+\" to separate keys.\n *\n * Special keys: mod, ctrl, alt, shift, enter, backspace, escape, tab, up,\n * down, left, right, plus.\n */\n keys: string;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Size of the key badges.\n *\n * @default 'md'\n */\n size?: KbdSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\nconst keyDisplay: Record<string, string> = {\n alt: '⌥',\n backspace: '⌫',\n ctrl: '⌃',\n down: '↓',\n enter: '↵',\n escape: 'Esc',\n left: '←',\n plus: '+',\n right: '→',\n shift: '⇧',\n tab: '⇥',\n up: '↑',\n};\n\nconst keyLabel: Record<string, string> = {\n alt: 'Alt',\n backspace: 'Backspace',\n ctrl: 'Control',\n down: 'Down Arrow',\n enter: 'Enter',\n escape: 'Escape',\n left: 'Left Arrow',\n plus: 'Plus',\n right: 'Right Arrow',\n shift: 'Shift',\n tab: 'Tab',\n up: 'Up Arrow',\n};\n\nconst subscribePlatform = (): (() => void) => () => {};\n\nfunction getIsMacSnapshot(): boolean {\n if (typeof navigator === 'undefined') {\n return false;\n }\n const userAgentData =\n 'userAgentData' in navigator ? navigator.userAgentData : null;\n if (\n userAgentData != null &&\n typeof userAgentData === 'object' &&\n 'platform' in userAgentData\n ) {\n return /mac/i.test(String(userAgentData.platform));\n }\n return /Mac|iPhone|iPad|iPod/.test(navigator.platform);\n}\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\nfunction useIsMac(): boolean {\n return useSyncExternalStore(\n subscribePlatform,\n getIsMacSnapshot,\n getServerSnapshot,\n );\n}\n\nfunction getKeyDisplay(key: string, isMac: boolean): string {\n if (key === 'mod') {\n return isMac ? '⌘' : 'Ctrl';\n }\n return keyDisplay[key] ?? key.toUpperCase();\n}\n\nfunction getKeyLabel(key: string, isMac: boolean): string {\n if (key === 'mod') {\n return isMac ? 'Command' : 'Control';\n }\n return keyLabel[key] ?? key.toUpperCase();\n}\n\n/**\n * Displays keyboard shortcuts as styled key badges.\n */\nexport function Kbd({\n className,\n 'data-testid': dataTestId,\n keys,\n ref,\n size = 'md',\n style,\n}: KbdProps): React.JSX.Element {\n const isMac = useIsMac();\n const {keyedParts, ariaLabel} = useMemo(() => {\n const parts = keys\n .split('+')\n .map(key => key.trim().toLowerCase())\n .filter(Boolean);\n\n if (process.env.NODE_ENV !== 'production' && parts.length === 0) {\n throw new Error(\n 'Kbd: `keys` prop resolved to zero keys. Check the value passed to `keys`.',\n );\n }\n\n const keyCounts = new Map<string, number>();\n return {\n keyedParts: parts.map(key => {\n const count = (keyCounts.get(key) ?? 0) + 1;\n keyCounts.set(key, count);\n return {id: `${key}-${count}`, display: getKeyDisplay(key, isMac)};\n }),\n ariaLabel: parts.map(key => getKeyLabel(key, isMac)).join('+'),\n };\n }, [keys, isMac]);\n\n const classes = kbdRecipe({size});\n\n return (\n <kbd\n aria-label={ariaLabel}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {keyedParts.map(part => (\n <kbd className={classes.key} key={part.id}>\n {part.display}\n </kbd>\n ))}\n </kbd>\n );\n}\n\nKbd.displayName = 'Kbd';\n"]}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
+
var chunkY3TUHGI2_cjs = require('./chunk-Y3TUHGI2.cjs');
|
|
4
5
|
var chunkJRBQKFVO_cjs = require('./chunk-JRBQKFVO.cjs');
|
|
5
6
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
6
7
|
var react = require('react');
|
|
@@ -79,7 +80,7 @@ function ButtonGroup({
|
|
|
79
80
|
() => ({ isDisabled, orientation, size }),
|
|
80
81
|
[isDisabled, orientation, size]
|
|
81
82
|
);
|
|
82
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
+
return /* @__PURE__ */ jsxRuntime.jsx(chunkY3TUHGI2_cjs.ButtonGroupContext, { value: contextValue, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
84
|
"div",
|
|
84
85
|
{
|
|
85
86
|
"aria-disabled": isDisabled || void 0,
|
|
@@ -97,5 +98,5 @@ function ButtonGroup({
|
|
|
97
98
|
ButtonGroup.displayName = "ButtonGroup";
|
|
98
99
|
|
|
99
100
|
exports.ButtonGroup = ButtonGroup;
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
101
|
-
//# sourceMappingURL=chunk-
|
|
101
|
+
//# sourceMappingURL=chunk-LIDE7FVO.cjs.map
|
|
102
|
+
//# sourceMappingURL=chunk-LIDE7FVO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/ButtonGroup/ButtonGroup.recipe.ts","../src/components/ButtonGroup/ButtonGroup.tsx"],"names":["cva","useMemo","jsx","ButtonGroupContext","cx"],"mappings":";;;;;;;;;AAEO,IAAM,oBAAoBA,qBAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,SAAA;AAAA,IACZ,SAAA,EAAW,SAAA;AAAA,IACX,qBAAA,EAAuB;AAAA,MACrB,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,mCAAA,EAAqC;AAAA,MACnC,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY;AAAA,QACV,aAAA,EAAe,KAAA;AAAA,QACf,iGAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,sBAAA,EAAwB,CAAA;AAAA,UACxB,sBAAA,EAAwB,SAAA;AAAA,UACxB,sBAAA,EAAwB,OAAA;AAAA,UACxB,sBAAA,EAAwB;AAAA,SAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOF,2GAAA,EACE;AAAA,UACE,oBAAA,EAAsB,CAAA;AAAA,UACtB,uBAAA,EAAyB;AAAA;AAC3B,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,aAAA,EAAe,QAAA;AAAA,QACf,iGAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,oBAAA,EAAsB,CAAA;AAAA,UACtB,qBAAA,EAAuB,SAAA;AAAA,UACvB,qBAAA,EAAuB,OAAA;AAAA,UACvB,qBAAA,EAAuB;AAAA,SACzB;AAAA;AAAA;AAAA;AAAA,QAIF,2GAAA,EACE;AAAA,UACE,sBAAA,EAAwB,CAAA;AAAA,UACxB,uBAAA,EAAyB;AAAA;AAC3B;AACJ;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC,CAAA;
|
|
1
|
+
{"version":3,"sources":["../src/components/ButtonGroup/ButtonGroup.recipe.ts","../src/components/ButtonGroup/ButtonGroup.tsx"],"names":["cva","useMemo","jsx","ButtonGroupContext","cx"],"mappings":";;;;;;;;;AAEO,IAAM,oBAAoBA,qBAAA,CAAI;AAAA,EACnC,IAAA,EAAM;AAAA,IACJ,OAAA,EAAS,aAAA;AAAA,IACT,UAAA,EAAY,SAAA;AAAA,IACZ,SAAA,EAAW,SAAA;AAAA,IACX,qBAAA,EAAuB;AAAA,MACrB,QAAA,EAAU;AAAA,KACZ;AAAA,IACA,mCAAA,EAAqC;AAAA,MACnC,MAAA,EAAQ;AAAA;AACV,GACF;AAAA,EACA,QAAA,EAAU;AAAA,IACR,WAAA,EAAa;AAAA,MACX,UAAA,EAAY;AAAA,QACV,aAAA,EAAe,KAAA;AAAA,QACf,iGAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,sBAAA,EAAwB,CAAA;AAAA,UACxB,sBAAA,EAAwB,SAAA;AAAA,UACxB,sBAAA,EAAwB,OAAA;AAAA,UACxB,sBAAA,EAAwB;AAAA,SAC1B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAOF,2GAAA,EACE;AAAA,UACE,oBAAA,EAAsB,CAAA;AAAA,UACtB,uBAAA,EAAyB;AAAA;AAC3B,OACJ;AAAA,MACA,QAAA,EAAU;AAAA,QACR,aAAA,EAAe,QAAA;AAAA,QACf,iGAAA,EACE;AAAA,UACE,mBAAA,EAAqB,CAAA;AAAA,UACrB,oBAAA,EAAsB,CAAA;AAAA,UACtB,qBAAA,EAAuB,SAAA;AAAA,UACvB,qBAAA,EAAuB,OAAA;AAAA,UACvB,qBAAA,EAAuB;AAAA,SACzB;AAAA;AAAA;AAAA;AAAA,QAIF,2GAAA,EACE;AAAA,UACE,sBAAA,EAAwB,CAAA;AAAA,UACxB,uBAAA,EAAyB;AAAA;AAC3B;AACJ;AACF,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,WAAA,EAAa;AAAA;AAEjB,CAAC,CAAA;ACHM,SAAS,WAAA,CAAY;AAAA,EAC1B,QAAA;AAAA,EACA,SAAA;AAAA,EACA,aAAA,EAAe,UAAA;AAAA,EACf,UAAA,GAAa,KAAA;AAAA,EACb,KAAA;AAAA,EACA,WAAA,GAAc,YAAA;AAAA,EACd,GAAA;AAAA,EACA,IAAA,GAAO,IAAA;AAAA,EACP;AACF,CAAA,EAAwC;AACtC,EAAA,MAAM,YAAA,GAAeC,aAAA;AAAA,IACnB,OAAO,EAAC,UAAA,EAAY,WAAA,EAAa,IAAA,EAAI,CAAA;AAAA,IACrC,CAAC,UAAA,EAAY,WAAA,EAAa,IAAI;AAAA,GAChC;AAEA,EAAA,uBACEC,cAAA,CAACC,oCAAA,EAAA,EAAmB,KAAA,EAAO,YAAA,EACzB,QAAA,kBAAAD,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,iBAAe,UAAA,IAAc,MAAA;AAAA,MAC7B,YAAA,EAAY,KAAA;AAAA,MACZ,WAAWE,oBAAA,CAAG,iBAAA,CAAkB,EAAC,WAAA,EAAY,GAAG,SAAS,CAAA;AAAA,MACzD,kBAAA,EAAkB,WAAA;AAAA,MAClB,aAAA,EAAa,UAAA;AAAA,MACb,GAAA;AAAA,MACA,IAAA,EAAK,OAAA;AAAA,MACL,KAAA;AAAA,MACC;AAAA;AAAA,GACH,EACF,CAAA;AAEJ;AAEA,WAAA,CAAY,WAAA,GAAc,aAAA","file":"chunk-LIDE7FVO.cjs","sourcesContent":["import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const buttonGroupRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'stretch',\n isolation: 'isolate',\n '& :where(button, a)': {\n position: 'relative',\n },\n '& :where(button, a):focus-visible': {\n zIndex: 1,\n },\n },\n variants: {\n orientation: {\n horizontal: {\n flexDirection: 'row',\n '& > :not(:first-child):is(button, a), & > :not(:first-child) :where(button, a):not([popover] *)':\n {\n borderTopLeftRadius: 0,\n borderBottomLeftRadius: 0,\n borderInlineStartWidth: 'default',\n borderInlineStartStyle: 'solid',\n borderInlineStartColor: 'border',\n },\n // `:has(~ :not([popover]))` rather than `:not(:last-child)` so that a\n // trailing `[popover]` sibling (e.g. DropdownMenu's floating content,\n // which is display:none but still counts for :last-child) does not\n // strip the end radius from the last visible button in the group. The\n // `:not([popover] *)` on the descendant clause keeps these joins from\n // leaking onto buttons rendered inside a child's popover (menu items).\n '& > :has(~ :not([popover])):is(button, a), & > :has(~ :not([popover])) :where(button, a):not([popover] *)':\n {\n borderTopRightRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n vertical: {\n flexDirection: 'column',\n '& > :not(:first-child):is(button, a), & > :not(:first-child) :where(button, a):not([popover] *)':\n {\n borderTopLeftRadius: 0,\n borderTopRightRadius: 0,\n borderBlockStartWidth: 'default',\n borderBlockStartStyle: 'solid',\n borderBlockStartColor: 'border',\n },\n // See the horizontal note above: skip trailing `[popover]` siblings so\n // the last visible button keeps its bottom radius, and exclude popover\n // descendants so menu items don't inherit the group joins.\n '& > :has(~ :not([popover])):is(button, a), & > :has(~ :not([popover])) :where(button, a):not([popover] *)':\n {\n borderBottomLeftRadius: 0,\n borderBottomRightRadius: 0,\n },\n },\n },\n },\n defaultVariants: {\n orientation: 'horizontal',\n },\n});\n\nexport type ButtonGroupVariants = RecipeVariantProps<typeof buttonGroupRecipe>;\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useMemo} from 'react';\nimport type {ButtonSize} from 'components/Button/Button';\nimport {buttonGroupRecipe} from 'components/ButtonGroup/ButtonGroup.recipe';\nimport {\n ButtonGroupContext,\n type ButtonGroupOrientation,\n} from 'components/ButtonGroup/ButtonGroupContext';\nimport {cx} from 'internal/cx';\n\n/**\n * Groups related Buttons and propagates shared size, disabled state, and\n * orientation to child Buttons.\n */\nexport interface ButtonGroupProps {\n /**\n * Direct children should be `<Button>` 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 * Whether all buttons in the group are disabled.\n */\n isDisabled?: boolean;\n /**\n * Accessible label for the group.\n */\n label: string;\n /**\n * Orientation for layout. Default is `horizontal`.\n */\n orientation?: ButtonGroupOrientation;\n /**\n * Ref forwarded to the root element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Default size for Buttons in the group. Individual Buttons can override it.\n */\n size?: ButtonSize;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Groups related Buttons and propagates shared size, disabled state, and\n * orientation to child Buttons.\n */\nexport function ButtonGroup({\n children,\n className,\n 'data-testid': dataTestId,\n isDisabled = false,\n label,\n orientation = 'horizontal',\n ref,\n size = 'md',\n style,\n}: ButtonGroupProps): React.JSX.Element {\n const contextValue = useMemo(\n () => ({isDisabled, orientation, size}),\n [isDisabled, orientation, size],\n );\n\n return (\n <ButtonGroupContext value={contextValue}>\n <div\n aria-disabled={isDisabled || undefined}\n aria-label={label}\n className={cx(buttonGroupRecipe({orientation}), className)}\n data-orientation={orientation}\n data-testid={dataTestId}\n ref={ref}\n role=\"group\"\n style={style}>\n {children}\n </div>\n </ButtonGroupContext>\n );\n}\n\nButtonGroup.displayName = 'ButtonGroup';\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { Link } from './chunk-ONOKHFK3.js';
|
|
2
3
|
import { VisuallyHidden } from './chunk-V2V5TTTL.js';
|
|
3
|
-
import { Tooltip } from './chunk-
|
|
4
|
-
import { ActionElement } from './chunk-
|
|
4
|
+
import { Tooltip } from './chunk-FPKXEI3W.js';
|
|
5
|
+
import { ActionElement } from './chunk-CRYF4JDH.js';
|
|
5
6
|
import { Icon } from './chunk-IUW777WZ.js';
|
|
6
7
|
import { sva } from './chunk-IAVZKGZS.js';
|
|
7
8
|
import { cx } from './chunk-PPNETWIP.js';
|
|
@@ -388,5 +389,5 @@ function Tag({
|
|
|
388
389
|
Tag.displayName = "Tag";
|
|
389
390
|
|
|
390
391
|
export { Tag };
|
|
391
|
-
//# sourceMappingURL=chunk-
|
|
392
|
-
//# sourceMappingURL=chunk-
|
|
392
|
+
//# sourceMappingURL=chunk-LT4P67TG.js.map
|
|
393
|
+
//# sourceMappingURL=chunk-LT4P67TG.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":[],"mappings":"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","file":"chunk-EIJSWHG7.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = sva({\n slots: ['root', 'body', 'label', 'removeButton'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n body: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n label: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n },\n md: {\n root: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n },\n lg: {\n root: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n },\n color: {\n red: {\n root: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n },\n orange: {\n root: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n },\n yellow: {\n root: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n },\n green: {\n root: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n },\n teal: {\n root: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n },\n cyan: {\n root: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n },\n blue: {\n root: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n },\n purple: {\n root: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n },\n pink: {\n root: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n },\n gray: {\n root: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n /**\n * When true, the root element is the interactive element itself\n * (a bare `<button>`) and needs native button styling reset.\n */\n isRootInteractive: {\n true: {\n root: {\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n cursor: 'pointer',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'gray',\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","import {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Link} from 'components/Link';\nimport {tagRecipe} from 'components/Tag/Tag.recipe';\nimport {Tooltip} from 'components/Tooltip';\nimport {ActionElement} from 'internal/ActionElement';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\n\nexport type TagColor =\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'gray'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nfunction TagBody({\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n 'endContent' | 'icon' | 'isLabelHidden' | 'label' | 'size' | 'startContent'\n> & {\n labelClassName?: string;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={labelClassName}>{label}</span>\n )}\n {endContent}\n </>\n );\n}\n\nfunction RemoveButton({\n className,\n isDisabled,\n label,\n onRemove,\n}: {\n className?: string;\n isDisabled?: boolean;\n label: string;\n onRemove: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <button\n aria-label={`Remove ${label}`}\n className={className}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'gray',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const isRootInteractive = href == null && onClick != null && onRemove == null;\n const classes = tagRecipe({\n size,\n color,\n isInteractive: isInteractive || undefined,\n isDisabled: isDisabled || undefined,\n isRootInteractive: isRootInteractive || undefined,\n });\n const rootClassName = cx(classes.root, className);\n const sharedProps = {\n 'aria-description': description,\n className: rootClassName,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n const bodyProps = {\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName: classes.label,\n size,\n startContent,\n } as const;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <Link\n className={classes.body}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </Link>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref}>\n <TagBody {...bodyProps} />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <ActionElement\n className={classes.body}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </ActionElement>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (onClick != null) {\n element = (\n <ActionElement\n {...sharedProps}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref}>\n <TagBody {...bodyProps} />\n </ActionElement>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagBody {...bodyProps} />\n {onRemove != null ? (\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n ) : null}\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/Tag/Tag.recipe.ts","../src/components/Tag/Tag.tsx"],"names":[],"mappings":"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","file":"chunk-LT4P67TG.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const tagRecipe = sva({\n slots: ['root', 'body', 'label', 'removeButton'],\n base: {\n root: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n maxW: 'full',\n overflow: 'hidden',\n borderWidth: 0,\n borderRadius: 'sm',\n fontFamily: 'body',\n fontWeight: 'medium',\n lineHeight: 'normal',\n textDecoration: 'none',\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n _hover: {\n textDecoration: 'none',\n },\n },\n body: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: 'inherit',\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n color: 'inherit',\n bg: 'transparent',\n cursor: 'pointer',\n minW: 0,\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n label: {\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeButton: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n p: 0,\n borderWidth: 0,\n borderRadius: 'full',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n _hover: {\n opacity: 0.7,\n },\n _active: {\n opacity: 0.5,\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n variants: {\n size: {\n sm: {\n root: {\n minH: '6',\n px: '2',\n fontSize: 'sm',\n },\n },\n md: {\n root: {\n minH: '8',\n px: '2',\n fontSize: 'sm',\n },\n },\n lg: {\n root: {\n minH: '10',\n px: '2.5',\n fontSize: 'md',\n },\n },\n },\n color: {\n red: {\n root: {\n bg: 'surface.red',\n color: 'surface.red.fg',\n _hover: {bg: 'surface.red.hover'},\n },\n },\n orange: {\n root: {\n bg: 'surface.orange',\n color: 'surface.orange.fg',\n _hover: {bg: 'surface.orange.hover'},\n },\n },\n yellow: {\n root: {\n bg: 'surface.yellow',\n color: 'surface.yellow.fg',\n _hover: {bg: 'surface.yellow.hover'},\n },\n },\n green: {\n root: {\n bg: 'surface.green',\n color: 'surface.green.fg',\n _hover: {bg: 'surface.green.hover'},\n },\n },\n teal: {\n root: {\n bg: 'surface.teal',\n color: 'surface.teal.fg',\n _hover: {bg: 'surface.teal.hover'},\n },\n },\n cyan: {\n root: {\n bg: 'surface.cyan',\n color: 'surface.cyan.fg',\n _hover: {bg: 'surface.cyan.hover'},\n },\n },\n blue: {\n root: {\n bg: 'surface.blue',\n color: 'surface.blue.fg',\n _hover: {bg: 'surface.blue.hover'},\n },\n },\n purple: {\n root: {\n bg: 'surface.purple',\n color: 'surface.purple.fg',\n _hover: {bg: 'surface.purple.hover'},\n },\n },\n pink: {\n root: {\n bg: 'surface.pink',\n color: 'surface.pink.fg',\n _hover: {bg: 'surface.pink.hover'},\n },\n },\n gray: {\n root: {\n bg: 'surface.gray',\n color: 'surface.gray.fg',\n _hover: {bg: 'surface.gray.hover'},\n },\n },\n },\n isInteractive: {\n true: {\n root: {\n cursor: 'pointer',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n },\n },\n isDisabled: {\n true: {\n root: {\n opacity: 0.55,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n },\n },\n /**\n * When true, the root element is the interactive element itself\n * (a bare `<button>`) and needs native button styling reset.\n */\n isRootInteractive: {\n true: {\n root: {\n p: 0,\n borderWidth: 0,\n font: 'inherit',\n cursor: 'pointer',\n },\n },\n },\n },\n defaultVariants: {\n size: 'md',\n color: 'gray',\n },\n});\n\nexport type TagVariants = RecipeVariantProps<typeof tagRecipe>;\n","'use client';\n\nimport {X} from 'lucide-react';\nimport type {\n CSSProperties,\n MouseEvent,\n MouseEventHandler,\n ReactNode,\n Ref,\n} from 'react';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Link} from 'components/Link';\nimport {tagRecipe} from 'components/Tag/Tag.recipe';\nimport {Tooltip} from 'components/Tooltip';\nimport {ActionElement} from 'internal/ActionElement';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\n\nexport type TagColor =\n | 'red'\n | 'orange'\n | 'yellow'\n | 'green'\n | 'teal'\n | 'cyan'\n | 'blue'\n | 'purple'\n | 'pink'\n | 'gray';\n\nexport type TagSize = 'sm' | 'md' | 'lg';\n\nexport interface TagProps {\n /**\n * Additional CSS class names applied to the tag.\n */\n className?: string;\n /**\n * Visual color.\n * @default 'gray'\n */\n color?: TagColor;\n /**\n * Test ID applied to the tag root.\n */\n 'data-testid'?: string;\n /**\n * Accessible description for the tag.\n */\n description?: string;\n /**\n * Content rendered after the label and before the remove button.\n */\n endContent?: ReactNode;\n /**\n * Link destination. When provided, the tag renders as a link.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the tag is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label while keeping it available to screen readers.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Tag text.\n */\n label: string;\n /**\n * Click handler.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Called when the remove button is clicked. When provided, a remove button is shown.\n */\n onRemove?: (event: MouseEvent<HTMLButtonElement>) => void;\n /**\n * Ref forwarded to the tag root element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: TagSize;\n /**\n * Content rendered before the icon and label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the tag.\n */\n style?: CSSProperties;\n /**\n * Tooltip text shown on hover.\n */\n tooltip?: string;\n}\n\nfunction TagBody({\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName,\n size = 'md',\n startContent,\n}: Pick<\n TagProps,\n 'endContent' | 'icon' | 'isLabelHidden' | 'label' | 'size' | 'startContent'\n> & {\n labelClassName?: string;\n}): React.JSX.Element {\n return (\n <>\n {startContent}\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size={size} />\n ) : null}\n {isLabelHidden === true ? (\n <VisuallyHidden>{label}</VisuallyHidden>\n ) : (\n <span className={labelClassName}>{label}</span>\n )}\n {endContent}\n </>\n );\n}\n\nfunction RemoveButton({\n className,\n isDisabled,\n label,\n onRemove,\n}: {\n className?: string;\n isDisabled?: boolean;\n label: string;\n onRemove: (event: MouseEvent<HTMLButtonElement>) => void;\n}): React.JSX.Element {\n return (\n <button\n aria-label={`Remove ${label}`}\n className={className}\n disabled={isDisabled}\n onClick={event => {\n event.stopPropagation();\n onRemove(event);\n }}\n type=\"button\">\n <Icon icon={X} size=\"sm\" />\n </button>\n );\n}\n\n/**\n * Compact chip for displaying selected values, filters, tags, or removable entities.\n */\nexport function Tag({\n className,\n color = 'gray',\n 'data-testid': dataTestId,\n description,\n endContent,\n href,\n icon,\n isDisabled = false,\n isLabelHidden = false,\n label,\n onClick,\n onRemove,\n ref,\n size = 'md',\n startContent,\n style,\n tooltip,\n}: TagProps): React.JSX.Element {\n const isInteractive = href != null || onClick != null;\n const isRootInteractive = href == null && onClick != null && onRemove == null;\n const classes = tagRecipe({\n size,\n color,\n isInteractive: isInteractive || undefined,\n isDisabled: isDisabled || undefined,\n isRootInteractive: isRootInteractive || undefined,\n });\n const rootClassName = cx(classes.root, className);\n const sharedProps = {\n 'aria-description': description,\n className: rootClassName,\n 'data-testid': dataTestId,\n style,\n };\n\n let element: React.JSX.Element;\n\n const bodyProps = {\n endContent,\n icon,\n isLabelHidden,\n label,\n labelClassName: classes.label,\n size,\n startContent,\n } as const;\n\n if (href != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <Link\n className={classes.body}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </Link>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (href != null) {\n element = (\n <Link\n {...sharedProps}\n color=\"inherit\"\n href={href}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref}>\n <TagBody {...bodyProps} />\n </Link>\n );\n } else if (onClick != null && onRemove != null) {\n element = (\n <span {...sharedProps} aria-label={label} ref={ref} role=\"group\">\n <ActionElement\n className={classes.body}\n isDisabled={isDisabled}\n onClick={onClick}>\n <TagBody {...bodyProps} />\n </ActionElement>\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n </span>\n );\n } else if (onClick != null) {\n element = (\n <ActionElement\n {...sharedProps}\n isDisabled={isDisabled}\n onClick={onClick}\n ref={ref}>\n <TagBody {...bodyProps} />\n </ActionElement>\n );\n } else {\n element = (\n <span {...sharedProps} ref={ref}>\n <TagBody {...bodyProps} />\n {onRemove != null ? (\n <RemoveButton\n className={classes.removeButton}\n isDisabled={isDisabled}\n label={label}\n onRemove={onRemove}\n />\n ) : null}\n </span>\n );\n }\n\n if (tooltip != null) {\n return <Tooltip content={tooltip}>{element}</Tooltip>;\n }\n\n return element;\n}\n\nTag.displayName = 'Tag';\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { Item } from './chunk-YBMIXGFM.js';
|
|
2
3
|
import { getStatusMessageID, getDescribedBy } from './chunk-G6HS52US.js';
|
|
3
4
|
import { fieldRecipe } from './chunk-U7ALNPFJ.js';
|
|
4
|
-
import { Spinner } from './chunk-
|
|
5
|
+
import { Spinner } from './chunk-RM2XLAAU.js';
|
|
5
6
|
import { VisuallyHidden } from './chunk-V2V5TTTL.js';
|
|
6
|
-
import { Text } from './chunk-
|
|
7
|
-
import { Tooltip } from './chunk-
|
|
7
|
+
import { Text } from './chunk-4G644ETX.js';
|
|
8
|
+
import { Tooltip } from './chunk-FPKXEI3W.js';
|
|
8
9
|
import { mergeRefs } from './chunk-SGLIDI6R.js';
|
|
9
10
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
10
11
|
import { Icon } from './chunk-IUW777WZ.js';
|
|
@@ -244,5 +245,5 @@ function CheckboxInput({
|
|
|
244
245
|
CheckboxInput.displayName = "CheckboxInput";
|
|
245
246
|
|
|
246
247
|
export { CheckboxInput };
|
|
247
|
-
//# sourceMappingURL=chunk-
|
|
248
|
-
//# sourceMappingURL=chunk-
|
|
248
|
+
//# sourceMappingURL=chunk-M5SZUUWM.js.map
|
|
249
|
+
//# sourceMappingURL=chunk-M5SZUUWM.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/CheckboxInput/CheckboxInput.recipe.ts","../src/components/CheckboxInput/CheckboxInput.tsx"],"names":[],"mappings":"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","file":"chunk-M5SZUUWM.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const checkboxInputRecipe = sva({\n slots: [\n 'root',\n 'boxWrap',\n 'input',\n 'box',\n 'icon',\n 'label',\n 'indicator',\n 'tooltipIcon',\n ],\n base: {\n root: {\n display: 'flex',\n flexDirection: 'column',\n },\n boxWrap: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n },\n input: {\n position: 'absolute',\n inset: 0,\n opacity: 0,\n cursor: 'pointer',\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n box: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'sm',\n bg: 'bg',\n color: 'fg.onPrimary',\n pointerEvents: 'none',\n _peerFocusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n icon: {\n w: '70%',\n h: '70%',\n mt: '1px',\n },\n label: {\n cursor: 'pointer',\n },\n indicator: {\n fontWeight: 'normal',\n color: 'fg.muted',\n },\n tooltipIcon: {\n display: 'inline-flex',\n color: 'fg.muted',\n },\n },\n variants: {\n size: {\n sm: {box: {w: '4.5', h: '4.5'}},\n md: {box: {w: '5.5', h: '5.5'}},\n lg: {box: {w: '6.5', h: '6.5'}},\n },\n isChecked: {\n true: {box: {bg: 'primary', borderColor: 'primary'}},\n false: {},\n },\n isDisabled: {\n true: {\n box: {opacity: 0.55},\n label: {cursor: 'not-allowed'},\n },\n false: {},\n },\n },\n defaultVariants: {\n size: 'md',\n isChecked: false,\n isDisabled: false,\n },\n});\n\nexport type CheckboxInputVariants = RecipeVariantProps<\n typeof checkboxInputRecipe\n>;\n","'use client';\n\nimport {Check, Info, Minus} from 'lucide-react';\nimport {\n useEffect,\n useId,\n useRef,\n type ChangeEvent,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {checkboxInputRecipe} from 'components/CheckboxInput/CheckboxInput.recipe';\nimport type {FieldNecessity, InputStatus} from 'components/Field';\nimport {fieldRecipe} from 'components/Field/Field.recipe';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Item} from 'components/Item';\nimport {Spinner} from 'components/Spinner';\nimport {Text} from 'components/Text';\nimport {Tooltip} from 'components/Tooltip';\nimport {VisuallyHidden} from 'internal/VisuallyHidden';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {mergeRefs} from 'internal/mergeRefs';\n\nexport type CheckboxInputSize = 'sm' | 'md' | 'lg';\nexport type CheckboxInputValue = boolean | 'indeterminate';\n\nexport type CheckboxInputProps = {\n /**\n * Additional CSS class names applied to the root element.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label.\n */\n endContent?: ReactNode;\n /**\n * Where to place `endContent` within the item.\n * `'end'` pushes it to the trailing edge; `'inline'` keeps it next to the label.\n * @default 'inline'\n */\n endContentPosition?: 'end' | 'inline';\n /**\n * HTML name attribute for native form submission.\n */\n htmlName?: string;\n /**\n * HTML value attribute for native form submission.\n */\n htmlValue?: string;\n /**\n * Whether the checkbox is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the checkbox is in a loading state.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Whether the checkbox is read-only.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label text.\n */\n label: string;\n /**\n * Optional content shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Called when the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the checked state changes.\n */\n onChange: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;\n /**\n * Called when the input receives focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size of the checkbox.\n * @default 'md'\n */\n size?: CheckboxInputSize;\n /**\n * Content rendered after the checkbox control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Validation status displayed below the checkbox.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the root element.\n */\n style?: CSSProperties;\n /**\n * Current checked state: true, false, or 'indeterminate'.\n */\n value: CheckboxInputValue;\n /**\n * Width of the checkbox item.\n * @default 'full'\n */\n width?: 'auto' | 'full';\n} & FieldNecessity;\n\n/**\n * A checkbox input with label, description, and validation support.\n */\nexport function CheckboxInput({\n label,\n value,\n onChange,\n description,\n endContent,\n endContentPosition = 'inline',\n htmlName,\n htmlValue,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isReadOnly = false,\n isLoading = false,\n status,\n labelIcon,\n labelTooltip,\n size = 'md',\n startContent,\n onFocus,\n onBlur,\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n width = 'full',\n}: CheckboxInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionId = useId();\n const inputRef = useRef<HTMLInputElement>(null);\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(\n isReactNode(description) ? descriptionId : undefined,\n statusMessageID,\n );\n const isIndeterminate = value === 'indeterminate';\n const isChecked = value === true;\n const isCheckedOrIndeterminate = isChecked || isIndeterminate;\n const classes = checkboxInputRecipe({\n size,\n isChecked: isCheckedOrIndeterminate,\n isDisabled,\n });\n\n useEffect(() => {\n if (inputRef.current != null) {\n inputRef.current.indeterminate = isIndeterminate;\n }\n }, [isIndeterminate]);\n\n const statusText = isOptional ? 'Optional' : isRequired ? 'Required' : null;\n\n const control = (\n <span className={classes.boxWrap}>\n <input\n aria-busy={isLoading || undefined}\n aria-checked={isIndeterminate ? 'mixed' : undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-readonly={isReadOnly || undefined}\n checked={isChecked}\n // `peer` is the marker class Panda's `_peerFocusVisible` selector on\n // the box targets (`.peer:is(:focus-visible,…) ~ &`); without it the\n // box's keyboard focus ring never renders.\n className={cx('peer', classes.input)}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => {\n if (isReadOnly) {\n event.preventDefault();\n return;\n }\n onChange(event.target.checked, event);\n }}\n onClick={event => {\n // For checkboxes the native toggle happens during `click`, before\n // `change` fires, so blocking only `onChange` lets the box flip\n // momentarily until React resets it. Preventing the click stops the\n // toggle outright — and covers label clicks and Space-key activation,\n // which both dispatch a click on the input.\n if (isReadOnly) {\n event.preventDefault();\n }\n }}\n onFocus={onFocus}\n readOnly={isReadOnly}\n ref={mergeRefs(ref, inputRef)}\n required={isRequired}\n type=\"checkbox\"\n value={htmlValue}\n />\n <span aria-hidden=\"true\" className={classes.box}>\n {isLoading ? (\n <Spinner\n size=\"sm\"\n variant={isCheckedOrIndeterminate ? 'onMedia' : 'default'}\n />\n ) : isIndeterminate ? (\n <Icon className={classes.icon} icon={Minus} />\n ) : isChecked ? (\n <Icon className={classes.icon} icon={Check} />\n ) : null}\n </span>\n </span>\n );\n\n const labelContent = (\n <>\n {labelIcon != null ? (\n <Icon color=\"secondary\" icon={labelIcon} size=\"sm\" />\n ) : null}\n {label}\n {statusText != null ? (\n <Text as=\"span\" className={classes.indicator} type=\"supporting\">\n <span aria-hidden=\"true\"> · </span>\n {statusText}\n </Text>\n ) : null}\n {isReactNode(labelTooltip) ? (\n <Tooltip content={labelTooltip}>\n <span className={classes.tooltipIcon}>\n <Icon icon={Info} size=\"sm\" />\n </span>\n </Tooltip>\n ) : null}\n </>\n );\n\n const labelNode = (\n <label className={classes.label} htmlFor={inputId}>\n {isLabelHidden ? (\n <VisuallyHidden>{labelContent}</VisuallyHidden>\n ) : (\n labelContent\n )}\n </label>\n );\n\n const statusNode =\n status?.message != null ? (\n <div\n aria-live={status.type === 'error' ? 'assertive' : 'polite'}\n className={\n fieldRecipe({\n statusType: status.type,\n statusVariant: 'detached',\n }).status\n }\n id={statusMessageID}\n role={status.type === 'error' ? 'alert' : 'status'}>\n {status.message}\n </div>\n ) : null;\n\n const item = (\n <Item\n description={\n isReactNode(description) ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition={endContentPosition}\n isDisabled={isDisabled}\n label={labelNode}\n leadingContent={control}\n startContent={startContent}\n width={width}\n />\n );\n\n return (\n <div className={cx(classes.root, className)} style={style}>\n {item}\n {statusNode}\n </div>\n );\n}\n\nCheckboxInput.displayName = 'CheckboxInput';\n"]}
|