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,8 +1,9 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
import { inputStyles, inputRecipe } from './chunk-KB36TWOU.js';
|
|
2
|
-
import { getNecessity, Field } from './chunk-
|
|
3
|
+
import { getNecessity, Field } from './chunk-2EGYYWPB.js';
|
|
3
4
|
import { getStatusMessageID, getDescribedBy, getStatusIcon } from './chunk-G6HS52US.js';
|
|
4
|
-
import { Button } from './chunk-
|
|
5
|
-
import { Spinner } from './chunk-
|
|
5
|
+
import { Button } from './chunk-J2TQNGUM.js';
|
|
6
|
+
import { Spinner } from './chunk-RM2XLAAU.js';
|
|
6
7
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
7
8
|
import { Icon } from './chunk-IUW777WZ.js';
|
|
8
9
|
import { css } from './chunk-OD4DHHZH.js';
|
|
@@ -144,5 +145,5 @@ function TimeInput({
|
|
|
144
145
|
TimeInput.displayName = "TimeInput";
|
|
145
146
|
|
|
146
147
|
export { TimeInput };
|
|
147
|
-
//# sourceMappingURL=chunk-
|
|
148
|
-
//# sourceMappingURL=chunk-
|
|
148
|
+
//# sourceMappingURL=chunk-FHLK5CTO.js.map
|
|
149
|
+
//# sourceMappingURL=chunk-FHLK5CTO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/TimeInput/TimeInput.tsx"],"names":[],"mappings":"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","file":"chunk-FHLK5CTO.js","sourcesContent":["'use client';\n\nimport {Temporal} from '@js-temporal/polyfill';\nimport {Clock, X} from 'lucide-react';\nimport {\n useId,\n type CSSProperties,\n type FocusEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputRecipe, inputStyles} from 'components/Field/inputStyles';\nimport {\n getDescribedBy,\n getStatusIcon,\n getStatusMessageID,\n} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Spinner} from 'components/Spinner';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {css} from 'styled-system/css';\n\nconst styles = {\n input: css({\n '&::-webkit-calendar-picker-indicator': {\n display: 'none',\n },\n }),\n} as const;\n\nexport type PlainTime = Temporal.PlainTime;\n\nexport type TimeInputProps = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input element.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button when a value is set.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether the input includes a seconds field.\n * @default false\n */\n hasSeconds?: boolean;\n /**\n * HTML name attribute.\n */\n htmlName?: string;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is loading.\n * @default false\n */\n isLoading?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Latest allowed time.\n */\n max?: PlainTime;\n /**\n * Earliest allowed time.\n */\n min?: PlainTime;\n /**\n * Called when the input loses focus.\n */\n onBlur?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Called when the time value changes.\n */\n onChange: (value: PlainTime | null) => void;\n /**\n * Called when the input gains focus.\n */\n onFocus?: (event: FocusEvent<HTMLInputElement>) => void;\n /**\n * Placeholder text.\n * @default 'Select a time'\n */\n placeholder?: string;\n /**\n * Ref forwarded to the input element.\n */\n ref?: Ref<HTMLInputElement>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Validation status displayed below the input.\n */\n status?: InputStatus;\n /**\n * Step increment in seconds for the time picker.\n */\n step?: number;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controlled time value. Pass `null` for an empty input.\n */\n value: PlainTime | null;\n} & FieldNecessity;\n\nfunction toInputString(\n time: PlainTime | null | undefined,\n hasSeconds: boolean,\n): string {\n if (time == null) {\n return '';\n }\n return time.toString({\n smallestUnit: hasSeconds ? 'second' : 'minute',\n });\n}\n\nfunction fromInputString(value: string): PlainTime | null {\n if (value === '') {\n return null;\n }\n try {\n return Temporal.PlainTime.from(value);\n } catch {\n return null;\n }\n}\n\n/**\n * Time picker input field with optional seconds granularity.\n */\nexport function TimeInput({\n label,\n value,\n onBlur,\n onChange,\n onFocus,\n hasSeconds = false,\n hasClear = false,\n hasAutoFocus = false,\n min,\n max,\n step,\n size = 'md',\n description,\n isLabelHidden = false,\n isOptional,\n isRequired,\n isDisabled = false,\n isLoading = false,\n htmlName,\n status,\n labelIcon,\n labelTooltip,\n placeholder = 'Select a time',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TimeInputProps): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n <div\n className={inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n })}>\n <span className={inputStyles.iconSlot}>\n <Icon icon={Clock} size=\"sm\" />\n </span>\n <input\n aria-busy={isLoading || undefined}\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-required={isRequired ?? undefined}\n // eslint-disable-next-line jsx-a11y-x/no-autofocus\n autoFocus={hasAutoFocus}\n className={cx(inputStyles.control, styles.input)}\n data-autofocus={hasAutoFocus || undefined}\n data-testid={dataTestId}\n disabled={isDisabled}\n id={inputId}\n max={toInputString(max, hasSeconds)}\n min={toInputString(min, hasSeconds)}\n name={htmlName}\n onBlur={onBlur}\n onChange={event => onChange(fromInputString(event.target.value))}\n onFocus={onFocus}\n placeholder={placeholder}\n ref={ref}\n step={step ?? (hasSeconds ? 1 : 60)}\n type=\"time\"\n value={toInputString(value, hasSeconds)}\n />\n {hasClear && value != null && !isDisabled ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={() => onChange(null)}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n {isLoading ? <Spinner size=\"sm\" /> : null}\n {status != null ? (\n <span className={inputStyles.iconSlot}>\n {getStatusIcon(status.type)}\n </span>\n ) : null}\n </div>\n </Field>\n );\n}\n\nTimeInput.displayName = 'TimeInput';\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
+
var chunkHW7GODZJ_cjs = require('./chunk-HW7GODZJ.cjs');
|
|
4
5
|
var chunk2MXK2SDR_cjs = require('./chunk-2MXK2SDR.cjs');
|
|
5
|
-
var
|
|
6
|
-
var
|
|
6
|
+
var chunkI2QAN2HX_cjs = require('./chunk-I2QAN2HX.cjs');
|
|
7
|
+
var chunkE5TRE2YG_cjs = require('./chunk-E5TRE2YG.cjs');
|
|
7
8
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
8
9
|
var chunkRU6JG3FS_cjs = require('./chunk-RU6JG3FS.cjs');
|
|
9
10
|
var chunkSPDVNY2Z_cjs = require('./chunk-SPDVNY2Z.cjs');
|
|
@@ -102,7 +103,7 @@ function usePopover({
|
|
|
102
103
|
});
|
|
103
104
|
onHide?.();
|
|
104
105
|
}, [onHide]);
|
|
105
|
-
const layer =
|
|
106
|
+
const layer = chunkE5TRE2YG_cjs.useLayer({
|
|
106
107
|
isDismissable,
|
|
107
108
|
id: layerId,
|
|
108
109
|
onShow,
|
|
@@ -151,7 +152,7 @@ function usePopover({
|
|
|
151
152
|
children: [
|
|
152
153
|
children,
|
|
153
154
|
hasCloseButton ? /* @__PURE__ */ jsxRuntime.jsx(chunk2MXK2SDR_cjs.VisuallyHidden, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
154
|
-
|
|
155
|
+
chunkHW7GODZJ_cjs.Button,
|
|
155
156
|
{
|
|
156
157
|
icon: lucideReact.X,
|
|
157
158
|
isIconOnly: true,
|
|
@@ -318,7 +319,7 @@ function Popover({
|
|
|
318
319
|
},
|
|
319
320
|
[handleTriggerClick, handleTriggerKeyDown, popover.triggerProps]
|
|
320
321
|
);
|
|
321
|
-
|
|
322
|
+
chunkE5TRE2YG_cjs.useIsomorphicLayoutEffect(() => {
|
|
322
323
|
const anchor = anchorRef?.current ?? wrapperRef.current;
|
|
323
324
|
if (anchor == null) {
|
|
324
325
|
return;
|
|
@@ -336,7 +337,7 @@ function Popover({
|
|
|
336
337
|
detach();
|
|
337
338
|
};
|
|
338
339
|
}, [anchorRef, attachTrigger, isEnabled, popover]);
|
|
339
|
-
|
|
340
|
+
chunkE5TRE2YG_cjs.useIsomorphicLayoutEffect(() => {
|
|
340
341
|
if (!isControlled) {
|
|
341
342
|
return;
|
|
342
343
|
}
|
|
@@ -347,7 +348,7 @@ function Popover({
|
|
|
347
348
|
}
|
|
348
349
|
}, [isControlled, isOpen, popover]);
|
|
349
350
|
const widthStyle = width == null ? void 0 : { width: typeof width === "number" ? `${width}px` : width };
|
|
350
|
-
const paddingStyle = padding != null && padding !== 0 ? { padding:
|
|
351
|
+
const paddingStyle = padding != null && padding !== 0 ? { padding: chunkI2QAN2HX_cjs.token(`spacing.${padding}`) } : void 0;
|
|
351
352
|
const popoverContent = popover.render(
|
|
352
353
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
353
354
|
"div",
|
|
@@ -380,5 +381,5 @@ Popover.displayName = "Popover";
|
|
|
380
381
|
|
|
381
382
|
exports.Popover = Popover;
|
|
382
383
|
exports.usePopover = usePopover;
|
|
383
|
-
//# sourceMappingURL=chunk-
|
|
384
|
-
//# sourceMappingURL=chunk-
|
|
384
|
+
//# sourceMappingURL=chunk-FKZATUBG.cjs.map
|
|
385
|
+
//# sourceMappingURL=chunk-FKZATUBG.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/internal/useFocusTrap.ts","../src/components/Popover/usePopover.tsx","../src/components/Popover/Popover.tsx"],"names":["useRef","useCallback","useEffect","css","useLayer","jsxs","VisuallyHidden","jsx","Button","X","useMemo","styles","useIsomorphicLayoutEffect","token","cx","isReactNode","Fragment"],"mappings":"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","file":"chunk-FKZATUBG.cjs","sourcesContent":["'use client';\n\nimport {useCallback, useEffect, useRef} from 'react';\n\nconst FOCUSABLE_SELECTOR =\n 'button:not([disabled]), [href], input:not([disabled]), select:not([disabled]), textarea:not([disabled]), [tabindex]:not([tabindex=\"-1\"]):not([disabled])';\n\nexport interface UseFocusTrapOptions {\n isActive: boolean;\n onEscape?: () => void;\n}\n\nexport interface UseFocusTrapReturn<T extends HTMLElement = HTMLElement> {\n containerRef: React.RefObject<T | null>;\n focusFirst: () => void;\n}\n\nfunction getFocusableElements(container: HTMLElement): HTMLElement[] {\n return Array.from(\n container.querySelectorAll<HTMLElement>(FOCUSABLE_SELECTOR),\n );\n}\n\nfunction focusFirstDescendant(container: HTMLElement): void {\n getFocusableElements(container)[0]?.focus();\n}\n\nfunction focusLastDescendant(container: HTMLElement): void {\n const elements = getFocusableElements(container);\n elements.at(-1)?.focus();\n}\n\nexport function useFocusTrap<T extends HTMLElement = HTMLElement>({\n isActive,\n onEscape,\n}: UseFocusTrapOptions): UseFocusTrapReturn<T> {\n const containerRef = useRef<T>(null);\n\n const focusFirst = useCallback(() => {\n if (containerRef.current != null) {\n focusFirstDescendant(containerRef.current);\n }\n }, []);\n\n useEffect(() => {\n if (!isActive) {\n return;\n }\n\n const handleKeyDown = (event: KeyboardEvent) => {\n const container = containerRef.current;\n if (container == null) {\n return;\n }\n\n if (event.key === 'Escape') {\n event.preventDefault();\n onEscape?.();\n return;\n }\n\n if (event.key !== 'Tab') {\n return;\n }\n\n const focusable = getFocusableElements(container);\n if (focusable.length === 0) {\n return;\n }\n\n const first = focusable[0];\n const last = focusable.at(-1);\n if (event.shiftKey && document.activeElement === first) {\n event.preventDefault();\n focusLastDescendant(container);\n } else if (!event.shiftKey && document.activeElement === last) {\n event.preventDefault();\n focusFirstDescendant(container);\n }\n };\n\n document.addEventListener('keydown', handleKeyDown);\n return () => document.removeEventListener('keydown', handleKeyDown);\n }, [isActive, onEscape]);\n\n return {containerRef, focusFirst};\n}\n","'use client';\n\nimport {X} from 'lucide-react';\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {Button} from 'components/Button';\nimport {VisuallyHidden} from 'internal';\nimport {useFocusTrap} from 'internal/useFocusTrap';\nimport {useLayer, type ContextRenderProps} from 'internal/useLayer';\nimport {css} from 'styled-system/css';\n\nexport type {LayerAlignment, LayerPlacement} from 'internal/useLayer';\n\nexport interface UsePopoverOptions {\n /**\n * Accessible label for the close button rendered when `hasCloseButton` is\n * `true`. Defaults to `'Close popover'`.\n */\n closeButtonLabel?: string;\n /**\n * When `true`, focus moves to the first focusable element inside the popover\n * when it opens. Defaults to `true`.\n */\n hasAutoFocus?: boolean;\n /**\n * When `true`, renders a visually hidden close button inside the popover so\n * assistive technology users can dismiss it. Defaults to `true`.\n */\n hasCloseButton?: boolean;\n /**\n * When `true`, wraps the content in a styled surface (background, border,\n * shadow). Set to `false` to render unstyled content. Defaults to `true`.\n */\n hasSurface?: boolean;\n /**\n * When `true`, the popover can be dismissed by clicking outside or pressing\n * Escape. Defaults to `true`.\n */\n isDismissable?: boolean;\n /**\n * Accessible label applied to the popover content via `aria-label`.\n */\n label?: string;\n /**\n * Id applied to the underlying layer element. Falls back to a generated id.\n * Supply this when another element needs a stable `aria-controls` reference\n * to the popover.\n */\n layerId?: string;\n /**\n * Called after the popover is hidden, including via light dismiss.\n */\n onHide?: () => void;\n /**\n * Called after the popover is shown.\n */\n onShow?: () => void;\n /**\n * ARIA role for the popover content. Defaults to `'dialog'`; use `'menu'` for\n * menu-style popovers.\n */\n role?: 'dialog' | 'menu';\n}\n\nexport interface UsePopoverReturn {\n /**\n * CSS anchor name tying the popover content to the trigger for positioning.\n */\n anchorId: string;\n /**\n * Ref attached to the popover content element.\n */\n contentRef: React.RefObject<HTMLDivElement | null>;\n /**\n * Hides the popover.\n */\n hide: () => void;\n /**\n * Id of the underlying layer element, matching `triggerProps['aria-controls']`.\n */\n id: string;\n /**\n * Whether the popover is currently open.\n */\n isOpen: boolean;\n /**\n * Renders the given children inside the popover layer.\n */\n render: (children: ReactNode, props?: ContextRenderProps) => ReactNode;\n /**\n * Shows the popover. Pass `isAutoFocusSkipped` to suppress moving focus into\n * the content for this open.\n */\n show: (options?: {isAutoFocusSkipped?: boolean}) => void;\n /**\n * Toggles the popover between open and closed.\n */\n toggle: () => void;\n /**\n * ARIA props to spread onto the trigger element.\n */\n triggerProps: {\n 'aria-controls': string;\n 'aria-expanded': boolean;\n 'aria-haspopup': 'dialog' | 'menu';\n };\n /**\n * Ref callback to attach to the trigger element for anchor positioning.\n */\n triggerRef: RefCallback<HTMLElement>;\n}\n\nconst styles = {\n surface: css({\n position: 'relative',\n bg: 'bg',\n borderRadius: 'md',\n boxShadow: 'lg',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border',\n }),\n} as const;\n\nexport function usePopover({\n onShow,\n onHide,\n isDismissable = true,\n hasAutoFocus = true,\n hasSurface = true,\n hasCloseButton = true,\n closeButtonLabel = 'Close popover',\n label,\n role = 'dialog',\n layerId,\n}: UsePopoverOptions = {}): UsePopoverReturn {\n const skipAutoFocusRef = useRef(false);\n // Guards against a light-dismiss close immediately re-opening the popover.\n // When the trigger is clicked while the popover is open, the browser's native\n // light dismiss closes it (firing `onHide`) *before* the trigger's own click\n // handler runs `toggle()` — which would otherwise re-open it. The flag is\n // cleared on the next animation frame: the browser never paints mid-gesture,\n // so it is reliably still set when the spurious click arrives, yet cleared\n // before any genuine later click.\n const isDismissingRef = useRef(false);\n\n const handleHide = useCallback(() => {\n isDismissingRef.current = true;\n requestAnimationFrame(() => {\n isDismissingRef.current = false;\n });\n onHide?.();\n }, [onHide]);\n\n const layer = useLayer({\n isDismissable,\n id: layerId,\n onShow,\n onHide: handleHide,\n });\n const {containerRef: contentRef, focusFirst} = useFocusTrap<HTMLDivElement>({\n isActive: layer.isOpen,\n onEscape: layer.hide,\n });\n\n useEffect(() => {\n if (!layer.isOpen) {\n skipAutoFocusRef.current = false;\n return;\n }\n\n if (hasAutoFocus && !skipAutoFocusRef.current) {\n requestAnimationFrame(() => focusFirst());\n }\n }, [focusFirst, hasAutoFocus, layer.isOpen]);\n\n const show = useCallback(\n (options?: {isAutoFocusSkipped?: boolean}) => {\n skipAutoFocusRef.current = options?.isAutoFocusSkipped ?? false;\n layer.show();\n },\n [layer],\n );\n\n const toggle = useCallback(() => {\n if (isDismissingRef.current) {\n return;\n }\n\n if (layer.isOpen) {\n layer.hide();\n return;\n }\n\n show();\n }, [layer, show]);\n\n const render = useCallback(\n (children: ReactNode, props?: ContextRenderProps): ReactNode => {\n return layer.render(\n <div\n aria-label={label}\n className={hasSurface ? styles.surface : undefined}\n ref={contentRef}\n role={role}>\n {children}\n {hasCloseButton ? (\n <VisuallyHidden>\n <Button\n icon={X}\n isIconOnly\n label={closeButtonLabel}\n onClick={layer.hide}\n size=\"sm\"\n variant=\"ghost\"\n />\n </VisuallyHidden>\n ) : null}\n </div>,\n {\n ...props,\n className: props?.className,\n },\n );\n },\n [\n closeButtonLabel,\n contentRef,\n hasCloseButton,\n hasSurface,\n label,\n layer,\n role,\n ],\n );\n\n const triggerProps = useMemo(\n () => ({\n 'aria-controls': layer.id,\n 'aria-expanded': layer.isOpen,\n 'aria-haspopup': role,\n }),\n [layer.id, layer.isOpen, role],\n );\n\n return useMemo(\n () => ({\n anchorId: layer.anchorId,\n contentRef,\n hide: layer.hide,\n id: layer.id,\n isOpen: layer.isOpen,\n render,\n show,\n toggle,\n triggerProps,\n triggerRef: layer.ref,\n }),\n [\n contentRef,\n layer.anchorId,\n layer.hide,\n layer.id,\n layer.isOpen,\n layer.ref,\n render,\n show,\n toggle,\n triggerProps,\n ],\n );\n}\n","'use client';\n\nimport {\n useCallback,\n useRef,\n type CSSProperties,\n type ReactNode,\n type Ref,\n type RefObject,\n} from 'react';\nimport {usePopover} from 'components/Popover/usePopover';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport type {SpacingToken} from 'internal/spacingTokens';\nimport {useIsomorphicLayoutEffect} from 'internal/useIsomorphicLayoutEffect';\nimport type {LayerAlignment, LayerPlacement} from 'internal/useLayer';\nimport {css} from 'styled-system/css';\nimport {token} from 'styled-system/tokens';\n\nexport interface PopoverProps {\n /**\n * Alignment along the placement axis.\n * @default 'start'\n */\n alignment?: LayerAlignment;\n /**\n * External trigger element. When provided without children, Popover attaches\n * click and ARIA behavior directly to this element.\n */\n anchorRef?: RefObject<HTMLElement | null>;\n /**\n * Trigger content. Must contain a `<button>` or `[role=\"button\"]`.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the popover content.\n */\n className?: string;\n /**\n * Label for the hidden close button.\n * @default 'Close popover'\n */\n closeButtonLabel?: string;\n /**\n * Content displayed inside the popover dialog.\n */\n content: ReactNode;\n /**\n * Test ID applied to the popover content.\n */\n 'data-testid'?: string;\n /**\n * Whether to focus the first focusable item after opening.\n * @default true\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to include a keyboard-accessible close button.\n * @default true\n */\n hasCloseButton?: boolean;\n /**\n * Id applied to the popover content element. Falls back to a generated id.\n * Supply this when another element needs a stable `aria-controls` reference\n * to the popover.\n */\n id?: string;\n /**\n * Whether clicking outside or pressing Escape closes the popover.\n * @default true\n */\n isDismissable?: boolean;\n /**\n * Whether trigger interactions open the popover.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Controlled open state.\n */\n isOpen?: boolean;\n /**\n * Accessible label for the popover dialog.\n */\n label?: string;\n /**\n * Gap in pixels between the popover and its trigger along the inline axis\n * (for `start`/`end` placements). Applied as a logical margin so it stays on\n * the trigger-facing side even when the popover flips.\n */\n offsetX?: number;\n /**\n * Gap in pixels between the popover and its trigger along the block axis (for\n * `above`/`below` placements). Applied as a logical margin so it stays on the\n * trigger-facing side even when the popover flips.\n */\n offsetY?: number;\n /**\n * Callback fired when open state changes.\n */\n onOpenChange?: (isOpen: boolean) => void;\n /**\n * Inner padding of the popover content.\n * @default 0\n */\n padding?: SpacingToken;\n /**\n * Position relative to the trigger.\n * @default 'below'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the popover content element.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * ARIA role for the floating content.\n * @default 'dialog'\n */\n role?: 'dialog' | 'menu';\n /**\n * Inline styles applied to the popover content.\n */\n style?: CSSProperties;\n /**\n * Width of the popover content.\n */\n width?: number | string;\n}\n\nconst BUTTON_SELECTOR = 'button, [role=\"button\"]';\n\nconst styles = {\n anchor: css({\n display: 'inline-flex',\n }),\n content: css({}),\n gap: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nfunction findTriggerButton(element: HTMLElement): HTMLElement | null {\n if (element.matches(BUTTON_SELECTOR)) {\n return element;\n }\n\n return element.querySelector<HTMLElement>(BUTTON_SELECTOR);\n}\n\n/**\n * A click-triggered floating dialog anchored to a trigger element.\n */\nexport function Popover({\n anchorRef,\n children,\n content,\n placement = 'below',\n alignment = 'start',\n isOpen,\n onOpenChange,\n offsetX,\n offsetY,\n isEnabled = true,\n width,\n label,\n hasCloseButton,\n isDismissable,\n closeButtonLabel,\n padding,\n ref,\n hasAutoFocus,\n className,\n style,\n role,\n id,\n 'data-testid': dataTestId,\n}: PopoverProps): React.JSX.Element {\n const wrapperRef = useRef<HTMLDivElement>(null);\n const isControlled = isOpen !== undefined;\n\n const popover = usePopover({\n closeButtonLabel,\n hasAutoFocus,\n hasCloseButton,\n isDismissable,\n label,\n layerId: id,\n onHide: () => onOpenChange?.(false),\n onShow: () => onOpenChange?.(true),\n role,\n });\n\n const handleTriggerClick = useCallback(() => {\n if (!isEnabled) {\n return;\n }\n\n popover.toggle();\n }, [isEnabled, popover]);\n\n const handleTriggerKeyDown = useCallback(\n (event: KeyboardEvent) => {\n if (event.key === 'Enter' || event.key === ' ') {\n event.preventDefault();\n handleTriggerClick();\n }\n },\n [handleTriggerClick],\n );\n\n // ARIA and listeners are applied imperatively because the trigger button can\n // be any element the consumer renders — nested anywhere inside `children`, or\n // an entirely external element via `anchorRef` — so Popover cannot inject\n // props through JSX. This is safe: React only reconciles attributes present\n // in its own virtual DOM, so it never clobbers these imperatively-set ones on\n // re-render. The only dynamic attribute, `aria-expanded`, stays in sync\n // because `popover.triggerProps` is memoized on the open state, so this\n // callback (and the effect below that re-runs it) re-applies the fresh value\n // on every toggle. Keep `triggerProps` in the dep arrays or that sync breaks.\n const attachTrigger = useCallback(\n (button: HTMLElement) => {\n button.setAttribute(\n 'aria-haspopup',\n popover.triggerProps['aria-haspopup'],\n );\n button.setAttribute(\n 'aria-expanded',\n String(popover.triggerProps['aria-expanded']),\n );\n button.setAttribute(\n 'aria-controls',\n popover.triggerProps['aria-controls'],\n );\n button.addEventListener('click', handleTriggerClick);\n\n const needsKeyDown =\n button.tagName !== 'BUTTON' && button.getAttribute('role') === 'button';\n if (needsKeyDown) {\n button.addEventListener('keydown', handleTriggerKeyDown);\n }\n\n return () => {\n button.removeAttribute('aria-haspopup');\n button.removeAttribute('aria-expanded');\n button.removeAttribute('aria-controls');\n button.removeEventListener('click', handleTriggerClick);\n if (needsKeyDown) {\n button.removeEventListener('keydown', handleTriggerKeyDown);\n }\n };\n },\n [handleTriggerClick, handleTriggerKeyDown, popover.triggerProps],\n );\n\n useIsomorphicLayoutEffect(() => {\n const anchor = anchorRef?.current ?? wrapperRef.current;\n if (anchor == null) {\n return;\n }\n\n popover.triggerRef(anchor);\n const trigger = findTriggerButton(anchor);\n if (trigger == null || !isEnabled) {\n return () => {\n popover.triggerRef(null);\n };\n }\n\n const detach = attachTrigger(trigger);\n return () => {\n popover.triggerRef(null);\n detach();\n };\n }, [anchorRef, attachTrigger, isEnabled, popover]);\n\n useIsomorphicLayoutEffect(() => {\n if (!isControlled) {\n return;\n }\n\n if (isOpen === true && !popover.isOpen) {\n popover.show();\n } else if (isOpen === false && popover.isOpen) {\n popover.hide();\n }\n }, [isControlled, isOpen, popover]);\n\n const widthStyle =\n width == null\n ? undefined\n : {width: typeof width === 'number' ? `${width}px` : width};\n\n const paddingStyle =\n padding != null && padding !== 0\n ? {padding: token(`spacing.${padding}`)}\n : undefined;\n\n const popoverContent = popover.render(\n <div\n className={cx(styles.content, className)}\n data-testid={dataTestId}\n ref={ref}\n style={{...paddingStyle, ...widthStyle, ...style}}>\n {content}\n </div>,\n {\n placement,\n alignment,\n offsetX,\n offsetY,\n className: styles.gap[placement],\n style: {minWidth: 'anchor-size(width)'},\n },\n );\n\n if (anchorRef != null && !isReactNode(children)) {\n return <>{popoverContent}</>;\n }\n\n return (\n <>\n <div className={styles.anchor} ref={wrapperRef}>\n {children}\n </div>\n {popoverContent}\n </>\n );\n}\n\nPopover.displayName = 'Popover';\n"]}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
'use client';
|
|
1
2
|
'use strict';
|
|
2
3
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
4
|
+
var chunkLDKE723G_cjs = require('./chunk-LDKE723G.cjs');
|
|
5
|
+
var chunk4VYOE2HE_cjs = require('./chunk-4VYOE2HE.cjs');
|
|
5
6
|
var chunkXPHXAZCE_cjs = require('./chunk-XPHXAZCE.cjs');
|
|
6
7
|
var chunkQAO6QMNQ_cjs = require('./chunk-QAO6QMNQ.cjs');
|
|
7
8
|
var chunkZ6RT3WPE_cjs = require('./chunk-Z6RT3WPE.cjs');
|
|
@@ -158,9 +159,9 @@ function RadioGroup({
|
|
|
158
159
|
}),
|
|
159
160
|
[isDisabled, isRequired, nameId, onChange, orientation, size, value]
|
|
160
161
|
);
|
|
161
|
-
const necessity =
|
|
162
|
+
const necessity = chunk4VYOE2HE_cjs.getNecessity(isOptional, isRequired);
|
|
162
163
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
163
|
-
|
|
164
|
+
chunk4VYOE2HE_cjs.Field,
|
|
164
165
|
{
|
|
165
166
|
className,
|
|
166
167
|
"data-testid": dataTestId,
|
|
@@ -235,7 +236,7 @@ function RadioGroupItem({
|
|
|
235
236
|
/* @__PURE__ */ jsxRuntime.jsx("span", { "aria-hidden": "true", className: classes.radio, children: isChecked ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: classes.dot }) : null })
|
|
236
237
|
] });
|
|
237
238
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
238
|
-
|
|
239
|
+
chunkLDKE723G_cjs.Item,
|
|
239
240
|
{
|
|
240
241
|
className,
|
|
241
242
|
"data-testid": dataTestId,
|
|
@@ -256,5 +257,5 @@ RadioGroupItem.displayName = "RadioGroupItem";
|
|
|
256
257
|
|
|
257
258
|
exports.RadioGroup = RadioGroup;
|
|
258
259
|
exports.RadioGroupItem = RadioGroupItem;
|
|
259
|
-
//# sourceMappingURL=chunk-
|
|
260
|
-
//# sourceMappingURL=chunk-
|
|
260
|
+
//# sourceMappingURL=chunk-FNBOLEST.cjs.map
|
|
261
|
+
//# sourceMappingURL=chunk-FNBOLEST.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/RadioGroup/RadioGroup.recipe.ts","../src/components/RadioGroup/RadioGroupContext.tsx","../src/components/RadioGroup/RadioGroup.tsx","../src/components/RadioGroup/RadioGroupItem.tsx"],"names":["cva","sva","createContext","useId","isReactNode","getStatusMessageID","getDescribedBy","useMemo","getNecessity","jsx","Field","use","jsxs","Item"],"mappings":"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","file":"chunk-YQVWDHP4.cjs","sourcesContent":["import {cva, sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Group container layout — single element with an orientation variant.\n */\nexport const radioGroupRecipe = cva({\n base: {\n display: 'flex',\n },\n variants: {\n orientation: {\n vertical: {\n flexDirection: 'column',\n gap: '0.5',\n },\n horizontal: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n columnGap: '4',\n rowGap: '0',\n },\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n});\n\nexport type RadioGroupVariants = RecipeVariantProps<typeof radioGroupRecipe>;\n\n/**\n * Individual radio item — multi-slot recipe for the control, its visual\n * radio circle, the selection dot, and the clickable label.\n */\nexport const radioGroupItemRecipe = sva({\n slots: ['controlWrap', 'input', 'radio', 'dot', 'label'],\n base: {\n controlWrap: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n borderRadius: 'full',\n isolation: 'isolate',\n '&:has(input:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n input: {\n position: 'absolute',\n inset: 0,\n m: 0,\n p: 0,\n opacity: 0,\n cursor: 'pointer',\n zIndex: 1,\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n radio: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'full',\n bg: 'bg',\n pointerEvents: 'none',\n },\n dot: {\n borderRadius: 'full',\n bg: 'fg.onPrimary',\n },\n label: {\n cursor: 'pointer',\n },\n },\n variants: {\n size: {\n sm: {\n controlWrap: {w: '5', h: '5'},\n radio: {w: '4.5', h: '4.5'},\n dot: {w: '2', h: '2'},\n },\n md: {\n controlWrap: {w: '6', h: '6'},\n radio: {w: '5.5', h: '5.5'},\n dot: {w: '2.5', h: '2.5'},\n },\n lg: {\n controlWrap: {w: '7', h: '7'},\n radio: {w: '6.5', h: '6.5'},\n dot: {w: '3', h: '3'},\n },\n },\n isChecked: {\n true: {\n radio: {bg: 'primary', borderColor: 'primary'},\n },\n },\n isDisabled: {\n true: {\n radio: {opacity: 0.55},\n label: {color: 'fg.disabled', cursor: 'not-allowed'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n isChecked: false,\n isDisabled: false,\n },\n});\n\nexport type RadioGroupItemVariants = RecipeVariantProps<\n typeof radioGroupItemRecipe\n>;\n","import {createContext} from 'react';\n\nexport type RadioGroupOrientation = 'horizontal' | 'vertical';\nexport type RadioGroupSize = 'sm' | 'md' | 'lg';\n\nexport interface RadioGroupContextValue {\n isDisabled: boolean;\n isRequired?: boolean;\n name: string;\n onChange: (value: string) => void;\n orientation: RadioGroupOrientation;\n size: RadioGroupSize;\n value: string;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(\n null,\n);\n\nRadioGroupContext.displayName = 'RadioGroupContext';\n","import {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {radioGroupRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {\n RadioGroupContext,\n type RadioGroupOrientation,\n type RadioGroupSize,\n} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport type {RadioGroupOrientation} from 'components/RadioGroup/RadioGroupContext';\n\nexport type RadioGroupProps = {\n /**\n * Radio list items to render.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether all radio items are 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 * Label text for the radio group.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Callback fired when the selected value changes.\n * Memoize with `useCallback` to avoid unnecessary re-renders of radio items.\n */\n onChange: (value: string) => void;\n /**\n * Layout direction of the radio items.\n * @default 'vertical'\n */\n orientation?: RadioGroupOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size of the radio controls.\n * @default 'md'\n */\n size?: RadioGroupSize;\n /**\n * Validation status displayed below the group.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * The currently selected value.\n */\n value: string;\n} & FieldNecessity;\n\n/**\n * A controlled radio group for single-value selection.\n */\nexport function RadioGroup({\n children,\n className,\n 'data-testid': dataTestId,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n onChange,\n orientation = 'vertical',\n ref,\n size = 'md',\n status,\n style,\n value,\n}: RadioGroupProps): React.JSX.Element {\n const nameId = useId();\n const inputId = useId();\n const labelId = `${inputId}-label`;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const contextValue = useMemo(\n () => ({\n isDisabled,\n isRequired,\n name: nameId,\n onChange,\n orientation,\n size,\n value,\n }),\n [isDisabled, isRequired, nameId, onChange, orientation, size, value],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n data-testid={dataTestId}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelId={labelId}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-labelledby={labelId}\n aria-orientation={orientation}\n aria-required={isRequired ?? undefined}\n className={radioGroupRecipe({orientation})}\n id={inputId}\n role=\"radiogroup\">\n <RadioGroupContext value={contextValue}>{children}</RadioGroupContext>\n </div>\n </Field>\n );\n}\n\nRadioGroup.displayName = 'RadioGroup';\n","import {use, useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {Item} from 'components/Item';\nimport {radioGroupItemRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {RadioGroupContext} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface RadioGroupItemProps {\n /**\n * Additional CSS class names applied to the item root.\n */\n className?: string;\n /**\n * Test ID applied to the item root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the item label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label and description.\n */\n endContent?: ReactNode;\n /**\n * Whether this radio item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Label text for the radio item.\n */\n label: string;\n /**\n * Ref forwarded to the item root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Content rendered after the radio control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the item root.\n */\n style?: CSSProperties;\n /**\n * Value represented by this radio item.\n */\n value: string;\n}\n\n/**\n * An individual radio option within a `RadioGroup`.\n */\nexport function RadioGroupItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n isDisabled: isItemDisabled = false,\n label,\n ref,\n startContent,\n style,\n value,\n}: RadioGroupItemProps): React.JSX.Element {\n const context = use(RadioGroupContext);\n if (context == null) {\n throw new Error('RadioGroupItem must be used within a RadioGroup');\n }\n\n const id = useId();\n const descriptionId = useId();\n const isDisabled = context.isDisabled || isItemDisabled;\n const isChecked = context.value === value;\n const size = context.size;\n const classes = radioGroupItemRecipe({size, isChecked, isDisabled});\n const control = (\n <span className={classes.controlWrap}>\n <input\n aria-describedby={isReactNode(description) ? descriptionId : undefined}\n checked={isChecked}\n className={classes.input}\n disabled={isDisabled}\n id={id}\n name={context.name}\n onChange={() => context.onChange(value)}\n required={context.isRequired}\n type=\"radio\"\n value={value}\n />\n <span aria-hidden=\"true\" className={classes.radio}>\n {isChecked ? <span className={classes.dot} /> : null}\n </span>\n </span>\n );\n\n return (\n <Item\n className={className}\n data-testid={dataTestId}\n description={\n isReactNode(description) ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition=\"inline\"\n isDisabled={isDisabled}\n label={\n <label className={classes.label} htmlFor={id}>\n {label}\n </label>\n }\n leadingContent={control}\n ref={ref}\n startContent={startContent}\n style={style}\n width={context.orientation === 'horizontal' ? 'auto' : 'full'}\n />\n );\n}\n\nRadioGroupItem.displayName = 'RadioGroupItem';\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/components/RadioGroup/RadioGroup.recipe.ts","../src/components/RadioGroup/RadioGroupContext.tsx","../src/components/RadioGroup/RadioGroup.tsx","../src/components/RadioGroup/RadioGroupItem.tsx"],"names":["cva","sva","createContext","useId","isReactNode","getStatusMessageID","getDescribedBy","useMemo","getNecessity","jsx","Field","use","jsxs","Item"],"mappings":"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","file":"chunk-FNBOLEST.cjs","sourcesContent":["import {cva, sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Group container layout — single element with an orientation variant.\n */\nexport const radioGroupRecipe = cva({\n base: {\n display: 'flex',\n },\n variants: {\n orientation: {\n vertical: {\n flexDirection: 'column',\n gap: '0.5',\n },\n horizontal: {\n flexDirection: 'row',\n flexWrap: 'wrap',\n columnGap: '4',\n rowGap: '0',\n },\n },\n },\n defaultVariants: {\n orientation: 'vertical',\n },\n});\n\nexport type RadioGroupVariants = RecipeVariantProps<typeof radioGroupRecipe>;\n\n/**\n * Individual radio item — multi-slot recipe for the control, its visual\n * radio circle, the selection dot, and the clickable label.\n */\nexport const radioGroupItemRecipe = sva({\n slots: ['controlWrap', 'input', 'radio', 'dot', 'label'],\n base: {\n controlWrap: {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n flexShrink: 0,\n borderRadius: 'full',\n isolation: 'isolate',\n '&:has(input:focus-visible)': {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n input: {\n position: 'absolute',\n inset: 0,\n m: 0,\n p: 0,\n opacity: 0,\n cursor: 'pointer',\n zIndex: 1,\n _disabled: {\n cursor: 'not-allowed',\n },\n },\n radio: {\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderWidth: 'default',\n borderStyle: 'solid',\n borderColor: 'border.emphasized',\n borderRadius: 'full',\n bg: 'bg',\n pointerEvents: 'none',\n },\n dot: {\n borderRadius: 'full',\n bg: 'fg.onPrimary',\n },\n label: {\n cursor: 'pointer',\n },\n },\n variants: {\n size: {\n sm: {\n controlWrap: {w: '5', h: '5'},\n radio: {w: '4.5', h: '4.5'},\n dot: {w: '2', h: '2'},\n },\n md: {\n controlWrap: {w: '6', h: '6'},\n radio: {w: '5.5', h: '5.5'},\n dot: {w: '2.5', h: '2.5'},\n },\n lg: {\n controlWrap: {w: '7', h: '7'},\n radio: {w: '6.5', h: '6.5'},\n dot: {w: '3', h: '3'},\n },\n },\n isChecked: {\n true: {\n radio: {bg: 'primary', borderColor: 'primary'},\n },\n },\n isDisabled: {\n true: {\n radio: {opacity: 0.55},\n label: {color: 'fg.disabled', cursor: 'not-allowed'},\n },\n },\n },\n defaultVariants: {\n size: 'md',\n isChecked: false,\n isDisabled: false,\n },\n});\n\nexport type RadioGroupItemVariants = RecipeVariantProps<\n typeof radioGroupItemRecipe\n>;\n","'use client';\n\nimport {createContext} from 'react';\n\nexport type RadioGroupOrientation = 'horizontal' | 'vertical';\nexport type RadioGroupSize = 'sm' | 'md' | 'lg';\n\nexport interface RadioGroupContextValue {\n isDisabled: boolean;\n isRequired?: boolean;\n name: string;\n onChange: (value: string) => void;\n orientation: RadioGroupOrientation;\n size: RadioGroupSize;\n value: string;\n}\n\nexport const RadioGroupContext = createContext<RadioGroupContextValue | null>(\n null,\n);\n\nRadioGroupContext.displayName = 'RadioGroupContext';\n","'use client';\n\nimport {\n useId,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputStatus,\n} from 'components/Field';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {radioGroupRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {\n RadioGroupContext,\n type RadioGroupOrientation,\n type RadioGroupSize,\n} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport type {RadioGroupOrientation} from 'components/RadioGroup/RadioGroupContext';\n\nexport type RadioGroupProps = {\n /**\n * Radio list items to render.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the field root.\n */\n className?: string;\n /**\n * Test ID applied to the field root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the label.\n */\n description?: ReactNode;\n /**\n * Whether all radio items are 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 * Label text for the radio group.\n */\n label: string;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Callback fired when the selected value changes.\n * Memoize with `useCallback` to avoid unnecessary re-renders of radio items.\n */\n onChange: (value: string) => void;\n /**\n * Layout direction of the radio items.\n * @default 'vertical'\n */\n orientation?: RadioGroupOrientation;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Size of the radio controls.\n * @default 'md'\n */\n size?: RadioGroupSize;\n /**\n * Validation status displayed below the group.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the field root.\n */\n style?: CSSProperties;\n /**\n * The currently selected value.\n */\n value: string;\n} & FieldNecessity;\n\n/**\n * A controlled radio group for single-value selection.\n */\nexport function RadioGroup({\n children,\n className,\n 'data-testid': dataTestId,\n description,\n isDisabled = false,\n isLabelHidden = false,\n isOptional,\n isRequired,\n label,\n labelTooltip,\n onChange,\n orientation = 'vertical',\n ref,\n size = 'md',\n status,\n style,\n value,\n}: RadioGroupProps): React.JSX.Element {\n const nameId = useId();\n const inputId = useId();\n const labelId = `${inputId}-label`;\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const contextValue = useMemo(\n () => ({\n isDisabled,\n isRequired,\n name: nameId,\n onChange,\n orientation,\n size,\n value,\n }),\n [isDisabled, isRequired, nameId, onChange, orientation, size, value],\n );\n\n const necessity = getNecessity(isOptional, isRequired);\n\n return (\n <Field\n className={className}\n data-testid={dataTestId}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelAs=\"span\"\n labelId={labelId}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n statusVariant=\"detached\"\n style={style}>\n <div\n aria-describedby={describedBy}\n aria-invalid={status?.type === 'error' || undefined}\n aria-labelledby={labelId}\n aria-orientation={orientation}\n aria-required={isRequired ?? undefined}\n className={radioGroupRecipe({orientation})}\n id={inputId}\n role=\"radiogroup\">\n <RadioGroupContext value={contextValue}>{children}</RadioGroupContext>\n </div>\n </Field>\n );\n}\n\nRadioGroup.displayName = 'RadioGroup';\n","'use client';\n\nimport {use, useId, type CSSProperties, type ReactNode, type Ref} from 'react';\nimport {Item} from 'components/Item';\nimport {radioGroupItemRecipe} from 'components/RadioGroup/RadioGroup.recipe';\nimport {RadioGroupContext} from 'components/RadioGroup/RadioGroupContext';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface RadioGroupItemProps {\n /**\n * Additional CSS class names applied to the item root.\n */\n className?: string;\n /**\n * Test ID applied to the item root.\n */\n 'data-testid'?: string;\n /**\n * Supporting text displayed below the item label.\n */\n description?: ReactNode;\n /**\n * Content rendered after the label and description.\n */\n endContent?: ReactNode;\n /**\n * Whether this radio item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Label text for the radio item.\n */\n label: string;\n /**\n * Ref forwarded to the item root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Content rendered after the radio control and before the label.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the item root.\n */\n style?: CSSProperties;\n /**\n * Value represented by this radio item.\n */\n value: string;\n}\n\n/**\n * An individual radio option within a `RadioGroup`.\n */\nexport function RadioGroupItem({\n className,\n 'data-testid': dataTestId,\n description,\n endContent,\n isDisabled: isItemDisabled = false,\n label,\n ref,\n startContent,\n style,\n value,\n}: RadioGroupItemProps): React.JSX.Element {\n const context = use(RadioGroupContext);\n if (context == null) {\n throw new Error('RadioGroupItem must be used within a RadioGroup');\n }\n\n const id = useId();\n const descriptionId = useId();\n const isDisabled = context.isDisabled || isItemDisabled;\n const isChecked = context.value === value;\n const size = context.size;\n const classes = radioGroupItemRecipe({size, isChecked, isDisabled});\n const control = (\n <span className={classes.controlWrap}>\n <input\n aria-describedby={isReactNode(description) ? descriptionId : undefined}\n checked={isChecked}\n className={classes.input}\n disabled={isDisabled}\n id={id}\n name={context.name}\n onChange={() => context.onChange(value)}\n required={context.isRequired}\n type=\"radio\"\n value={value}\n />\n <span aria-hidden=\"true\" className={classes.radio}>\n {isChecked ? <span className={classes.dot} /> : null}\n </span>\n </span>\n );\n\n return (\n <Item\n className={className}\n data-testid={dataTestId}\n description={\n isReactNode(description) ? (\n <span id={descriptionId}>{description}</span>\n ) : undefined\n }\n endContent={endContent}\n endContentPosition=\"inline\"\n isDisabled={isDisabled}\n label={\n <label className={classes.label} htmlFor={id}>\n {label}\n </label>\n }\n leadingContent={control}\n ref={ref}\n startContent={startContent}\n style={style}\n width={context.orientation === 'horizontal' ? 'auto' : 'full'}\n />\n );\n}\n\nRadioGroupItem.displayName = 'RadioGroupItem';\n"]}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
|
|
1
|
+
'use client';
|
|
2
|
+
import { useHoverLayer, HoverLayerTrigger } from './chunk-2AY74YXP.js';
|
|
2
3
|
import { css } from './chunk-OD4DHHZH.js';
|
|
3
4
|
import { cx } from './chunk-PPNETWIP.js';
|
|
4
5
|
import { useEffect, useCallback, useMemo } from 'react';
|
|
@@ -140,5 +141,5 @@ function Tooltip({
|
|
|
140
141
|
Tooltip.displayName = "Tooltip";
|
|
141
142
|
|
|
142
143
|
export { Tooltip, useTooltip };
|
|
143
|
-
//# sourceMappingURL=chunk-
|
|
144
|
-
//# sourceMappingURL=chunk-
|
|
144
|
+
//# sourceMappingURL=chunk-FPKXEI3W.js.map
|
|
145
|
+
//# sourceMappingURL=chunk-FPKXEI3W.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Tooltip/useTooltip.tsx","../src/components/Tooltip/Tooltip.tsx"],"names":["jsx"],"mappings":"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","file":"chunk-FPKXEI3W.js","sourcesContent":["'use client';\n\nimport {\n useCallback,\n useEffect,\n useMemo,\n type CSSProperties,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {cx} from 'internal/cx';\nimport {\n useHoverLayer,\n type HoverLayerFocusTrigger,\n} from 'internal/useHoverLayer';\nimport type {\n ContextRenderProps,\n LayerAlignment,\n LayerPlacement,\n} from 'internal/useLayer';\nimport {css} from 'styled-system/css';\n\nexport type TooltipFocusTrigger = HoverLayerFocusTrigger;\n\nexport interface UseTooltipOptions {\n alignment?: LayerAlignment;\n delay?: number;\n focusTrigger?: TooltipFocusTrigger;\n hideDelay?: number;\n isEnabled?: boolean;\n onHide?: () => void;\n onShow?: () => void;\n placement?: LayerPlacement;\n}\n\nexport interface TooltipRenderProps extends ContextRenderProps {\n contentStyle?: CSSProperties;\n}\n\nexport interface UseTooltipReturn {\n /**\n * ID of the anchor element, used for CSS anchor positioning.\n */\n anchorId: string;\n /**\n * ID of the tooltip element. Pass to `aria-describedby` on the trigger.\n */\n describedBy: string;\n /**\n * Attaches hover/focus/keyboard listeners only.\n * Use when another element handles positioning (e.g., a wrapper provides the anchor).\n */\n interactionRef: RefCallback<HTMLElement>;\n /**\n * Attaches CSS anchor positioning only.\n * Use when another element handles interaction listeners.\n */\n positionRef: RefCallback<HTMLElement>;\n /**\n * Combined ref that attaches both positioning and interaction.\n * Use this for the common case where one element is both the anchor and trigger.\n * Do not combine with `interactionRef` or `positionRef` — use one or the other.\n */\n ref: RefCallback<HTMLElement>;\n /**\n * Renders the tooltip content into the layer.\n */\n renderTooltip: (children: ReactNode, props?: TooltipRenderProps) => ReactNode;\n}\n\nconst styles = {\n tooltipContainer: css({\n bg: 'fg',\n color: 'bg',\n borderRadius: 'md',\n fontFamily: 'body',\n fontSize: 'sm',\n lineHeight: 'normal',\n boxShadow: 'md',\n '--silver-text-color': 'currentColor',\n '--silver-text-color-muted':\n 'color-mix(in srgb, currentColor 70%, transparent)',\n }),\n tooltipContent: css({\n px: '2',\n py: '1',\n maxW: 'xs',\n wordBreak: 'break-word',\n }),\n marginByPlacement: {\n above: css({mb: '1'}),\n below: css({mt: '1'}),\n start: css({mr: '1'}),\n end: css({ml: '1'}),\n },\n} as const;\n\nexport function useTooltip(options: UseTooltipOptions = {}): UseTooltipReturn {\n const {\n placement = 'above',\n alignment = 'center',\n delay = 200,\n hideDelay = 0,\n focusTrigger = 'auto',\n isEnabled = true,\n onShow,\n onHide,\n } = options;\n\n const hoverLayer = useHoverLayer({\n delay,\n focusTrigger,\n hideDelay,\n isEnabled,\n onFocusIn: event => {\n const target = event.target as HTMLElement;\n return target.matches(':focus-visible');\n },\n onHide,\n onShow,\n });\n\n const {interactionRef, layer, ref} = hoverLayer;\n\n useEffect(() => {\n if (!layer.isOpen) {\n return;\n }\n\n const handleEscape = (event: KeyboardEvent) => {\n if (event.key === 'Escape') {\n layer.hide();\n }\n };\n\n document.addEventListener('keydown', handleEscape);\n return () => document.removeEventListener('keydown', handleEscape);\n }, [layer, layer.isOpen]);\n\n const renderTooltip = useCallback(\n (children: ReactNode, props?: TooltipRenderProps): ReactNode => {\n const renderPlacement = props?.placement ?? placement;\n return layer.render(\n <div className={styles.tooltipContent} style={props?.contentStyle}>\n {children}\n </div>,\n {\n placement: renderPlacement,\n alignment: props?.alignment ?? alignment,\n className: cx(\n styles.tooltipContainer,\n styles.marginByPlacement[renderPlacement],\n props?.className,\n ),\n role: 'tooltip',\n style: props?.style,\n },\n );\n },\n [alignment, layer, placement],\n );\n\n return useMemo(\n () => ({\n ref,\n positionRef: layer.ref,\n interactionRef,\n anchorId: layer.anchorId,\n describedBy: layer.id,\n renderTooltip,\n }),\n [ref, layer.ref, interactionRef, layer.anchorId, layer.id, renderTooltip],\n );\n}\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {\n useTooltip,\n type TooltipFocusTrigger,\n} from 'components/Tooltip/useTooltip';\nimport {HoverLayerTrigger} from 'internal/HoverLayerTrigger';\nimport type {LayerAlignment, LayerPlacement} from 'internal/useLayer';\n\nexport type {TooltipFocusTrigger} from 'components/Tooltip/useTooltip';\n\nexport interface TooltipProps {\n /**\n * Cross-axis alignment of the tooltip relative to the anchor.\n * @default 'center'\n */\n alignment?: LayerAlignment;\n /**\n * Element(s) that the tooltip is anchored to.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the wrapper.\n */\n className?: string;\n /**\n * Content rendered inside the tooltip popup.\n */\n content: ReactNode;\n /**\n * Inline styles applied to the tooltip content area.\n */\n contentStyle?: CSSProperties;\n /**\n * Test ID applied to the wrapper.\n */\n 'data-testid'?: string;\n /**\n * Delay in milliseconds before the tooltip appears.\n * @default 200\n */\n delay?: number;\n /**\n * How focus interactions trigger the tooltip.\n * @default 'auto'\n */\n focusTrigger?: TooltipFocusTrigger;\n /**\n * Delay in milliseconds before the tooltip hides after leaving.\n * @default 0\n */\n hideDelay?: number;\n /**\n * Dashed underline display for tooltip triggers.\n * @default 'auto'\n */\n hoverIndication?: 'always' | 'auto' | 'never';\n /**\n * Whether the tooltip can be shown.\n * @default true\n */\n isEnabled?: boolean;\n /**\n * Preferred placement of the tooltip relative to the anchor.\n * @default 'above'\n */\n placement?: LayerPlacement;\n /**\n * Ref forwarded to the wrapper element.\n */\n ref?: Ref<HTMLDivElement | HTMLSpanElement>;\n /**\n * Inline styles applied to the wrapper.\n */\n style?: CSSProperties;\n}\n\n/**\n * Displays contextual information in a popup anchored to a trigger element.\n *\n * For attaching a tooltip to an external ref (without wrapping children),\n * use the `useTooltip` hook directly.\n */\nexport function Tooltip({\n children,\n content,\n contentStyle,\n placement = 'above',\n alignment = 'center',\n delay = 200,\n hideDelay = 0,\n focusTrigger = 'auto',\n isEnabled = true,\n hoverIndication = 'auto',\n className,\n 'data-testid': dataTestId,\n style,\n ref,\n}: TooltipProps): React.JSX.Element {\n const tooltip = useTooltip({\n placement,\n alignment,\n delay,\n hideDelay,\n focusTrigger,\n isEnabled,\n });\n\n return (\n <HoverLayerTrigger\n className={className}\n data-testid={dataTestId}\n describedBy={tooltip.describedBy}\n hoverIndication={hoverIndication}\n layer={tooltip.renderTooltip(content, {contentStyle})}\n nonTextWrapperElement=\"div\"\n style={style}\n triggerRef={tooltip.ref}\n wrapperRef={ref}>\n {children}\n </HoverLayerTrigger>\n );\n}\n\nTooltip.displayName = 'Tooltip';\n"]}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { BaseAutocompleteInput } from './chunk-MYBFODRI.js';
|
|
3
|
+
import { Tag } from './chunk-LT4P67TG.js';
|
|
3
4
|
import { inputStyles, inputRecipe } from './chunk-KB36TWOU.js';
|
|
4
|
-
import { getNecessity, Field } from './chunk-
|
|
5
|
+
import { getNecessity, Field } from './chunk-2EGYYWPB.js';
|
|
5
6
|
import { getStatusMessageID, getDescribedBy } from './chunk-G6HS52US.js';
|
|
6
|
-
import { Button } from './chunk-
|
|
7
|
-
import { useLayer, useLatest_default, useIsomorphicLayoutEffect } from './chunk-
|
|
7
|
+
import { Button } from './chunk-J2TQNGUM.js';
|
|
8
|
+
import { useLayer, useLatest_default, useIsomorphicLayoutEffect } from './chunk-2AY74YXP.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';
|
|
@@ -670,5 +671,5 @@ function TagsInput({
|
|
|
670
671
|
TagsInput.displayName = "TagsInput";
|
|
671
672
|
|
|
672
673
|
export { TagsInput };
|
|
673
|
-
//# sourceMappingURL=chunk-
|
|
674
|
-
//# sourceMappingURL=chunk-
|
|
674
|
+
//# sourceMappingURL=chunk-FQJBEWGB.js.map
|
|
675
|
+
//# sourceMappingURL=chunk-FQJBEWGB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/TagsInput/TagsInput.recipe.ts","../src/internal/OverflowList.tsx","../src/components/TagsInput/TagsInput.tsx"],"names":["useRef","useState","useCallback","jsx","jsxs","Fragment"],"mappings":"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","file":"chunk-FQJBEWGB.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Layout styling layered on top of Field's `inputRecipe`. The core input\n * chrome (border, focus ring, status colors) comes from `inputRecipe`; this\n * recipe owns the multi-line wrapper, tag/input slots, and the truncated\n * \"+N more\" overflow presentation.\n */\nexport const tagsInputRecipe = sva({\n slots: [\n 'wrapper',\n 'tag',\n 'input',\n 'endContent',\n 'overflowText',\n 'liveRegion',\n 'layerPopover',\n ],\n base: {\n wrapper: {\n cursor: 'text',\n flexWrap: 'wrap',\n alignItems: 'center',\n h: 'auto',\n },\n tag: {flexShrink: 0},\n input: {\n minW: '10',\n flex: '1 1 40px',\n },\n endContent: {\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n overflowText: {\n flexShrink: 0,\n whiteSpace: 'nowrap',\n fontSize: 'sm',\n color: 'fg.muted',\n px: '1',\n },\n liveRegion: {\n position: 'absolute',\n w: '1px',\n h: '1px',\n overflow: 'hidden',\n clip: 'rect(0 0 0 0)',\n whiteSpace: 'nowrap',\n },\n layerPopover: {\n w: 'anchor-size(width)',\n },\n },\n variants: {\n size: {\n sm: {},\n md: {},\n lg: {},\n },\n // Row gap + vertical padding for wrapped tags. Applied only while not\n // truncated; the size-keyed padding lives in compoundVariants.\n hasTags: {\n true: {},\n false: {},\n },\n // Collapses the wrapper to a single line for the \"+N more\" presentation.\n isTruncated: {\n true: {wrapper: {flexWrap: 'nowrap', overflow: 'hidden'}},\n false: {},\n },\n // Fixed single-line height. Size-keyed values live in compoundVariants.\n hasFixedHeight: {\n true: {},\n false: {},\n },\n // Hides the text input (when at max entries or in the collapsed view).\n isInputHidden: {\n true: {\n input: {\n position: 'absolute',\n opacity: 0,\n w: 0,\n minW: 0,\n flexBasis: 0,\n },\n },\n false: {},\n },\n },\n compoundVariants: [\n {hasTags: true, isTruncated: false, css: {wrapper: {rowGap: '1'}}},\n {\n size: 'sm',\n hasTags: true,\n isTruncated: false,\n css: {wrapper: {pt: '0px', pb: '0.5'}},\n },\n {size: 'md', hasTags: true, isTruncated: false, css: {wrapper: {py: '1'}}},\n {size: 'lg', hasTags: true, isTruncated: false, css: {wrapper: {py: '1'}}},\n {size: 'sm', hasFixedHeight: true, css: {wrapper: {h: 'component.sm'}}},\n {size: 'md', hasFixedHeight: true, css: {wrapper: {h: 'component.md'}}},\n {size: 'lg', hasFixedHeight: true, css: {wrapper: {h: 'component.lg'}}},\n ],\n defaultVariants: {\n size: 'md',\n hasTags: false,\n isTruncated: false,\n hasFixedHeight: false,\n isInputHidden: false,\n },\n});\n\nexport type TagsInputVariants = RecipeVariantProps<typeof tagsInputRecipe>;\n","'use client';\n\nimport {\n Children,\n useCallback,\n useRef,\n useState,\n type CSSProperties,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport {useIsomorphicLayoutEffect} from 'internal/useIsomorphicLayoutEffect';\nimport {css} from 'styled-system/css';\n\nexport interface OverflowItem {\n child: ReactElement;\n index: number;\n}\n\nexport interface OverflowListProps {\n behavior?: 'observeParent' | 'observeSelf';\n children: ReactNode;\n className?: string;\n collapseFrom?: 'end' | 'start';\n gap?: number;\n minVisibleItems?: number;\n overflowRenderer?: (overflowItems: OverflowItem[]) => ReactNode;\n ref?: Ref<HTMLDivElement>;\n style?: CSSProperties;\n}\n\nconst styles = {\n container: css({\n display: 'flex',\n alignItems: 'center',\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n minW: 0,\n }),\n fillParent: css({\n flex: '1 1 0',\n }),\n measureContainer: css({\n position: 'absolute',\n visibility: 'hidden',\n h: 0,\n overflow: 'hidden',\n display: 'flex',\n alignItems: 'center',\n whiteSpace: 'nowrap',\n pointerEvents: 'none',\n }),\n measureIndicator: css({\n display: 'inline-flex',\n }),\n} as const;\n\nfunction getAvailableWidth(\n container: HTMLElement,\n isObservingParent: boolean,\n): number {\n if (isObservingParent && container.parentElement != null) {\n const parent = container.parentElement;\n const parentStyle = window.getComputedStyle(parent);\n const paddingLeft = Number.parseFloat(parentStyle.paddingLeft) || 0;\n const paddingRight = Number.parseFloat(parentStyle.paddingRight) || 0;\n return parent.clientWidth - paddingLeft - paddingRight;\n }\n\n return container.offsetWidth;\n}\n\nexport function OverflowList({\n behavior = 'observeSelf',\n children,\n className,\n collapseFrom = 'end',\n gap = 0,\n minVisibleItems = 0,\n overflowRenderer,\n ref,\n style,\n}: OverflowListProps): React.JSX.Element {\n // eslint-disable-next-line @eslint-react/no-children-to-array -- matches XDSOverflowList: normalizes children before width measurement\n const childArray = Children.toArray(children) as ReactElement[];\n const itemCount = childArray.length;\n const isObservingParent = behavior === 'observeParent';\n const [visibleCount, setVisibleCount] = useState(itemCount);\n const containerRef = useRef<HTMLElement | null>(null);\n const measureRef = useRef<HTMLElement | null>(null);\n\n const calculate = useCallback(() => {\n const container = containerRef.current;\n const measure = measureRef.current;\n if (container == null || measure == null) {\n return;\n }\n\n const availableWidth = Math.min(\n getAvailableWidth(container, isObservingParent),\n container.offsetWidth || Number.POSITIVE_INFINITY,\n );\n const allChildren = Array.from(measure.children) as HTMLElement[];\n const hasIndicator = allChildren.length > itemCount;\n const measuredItems = hasIndicator\n ? allChildren.slice(0, itemCount)\n : allChildren;\n const indicatorWidth = hasIndicator\n ? allChildren[allChildren.length - 1].offsetWidth\n : 0;\n\n if (measuredItems.length === 0) {\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(0);\n return;\n }\n\n const measuredWidths = measuredItems.map(item => item.offsetWidth);\n const orderedWidths =\n collapseFrom === 'end' ? measuredWidths : [...measuredWidths].reverse();\n let totalWidth = 0;\n let count = 0;\n\n for (const itemWidth of orderedWidths) {\n const gapWidth = count > 0 ? gap : 0;\n const candidateWidth = totalWidth + itemWidth + gapWidth;\n const isLastItem = count === orderedWidths.length - 1;\n const reservedWidth = isLastItem\n ? 0\n : indicatorWidth + (count > 0 || indicatorWidth > 0 ? gap : 0);\n\n if (\n candidateWidth + reservedWidth > availableWidth &&\n count >= minVisibleItems\n ) {\n break;\n }\n\n totalWidth = candidateWidth;\n count++;\n }\n\n // eslint-disable-next-line @eslint-react/set-state-in-effect -- visible count is derived from measured DOM widths\n setVisibleCount(Math.max(Math.min(count, itemCount), minVisibleItems));\n }, [collapseFrom, gap, isObservingParent, itemCount, minVisibleItems]);\n\n const containerRefCallback = useCallback((element: HTMLDivElement | null) => {\n containerRef.current = element;\n }, []);\n\n const measureRefCallback = useCallback(\n (element: HTMLDivElement | null) => {\n measureRef.current = element;\n if (element != null) {\n calculate();\n }\n },\n [calculate],\n );\n\n useIsomorphicLayoutEffect(() => {\n calculate();\n }, [calculate]);\n\n useIsomorphicLayoutEffect(() => {\n const container = containerRef.current;\n if (container == null || typeof ResizeObserver === 'undefined') {\n return;\n }\n\n const target =\n isObservingParent && container.parentElement != null\n ? container.parentElement\n : container;\n const observer = new ResizeObserver(calculate);\n observer.observe(target);\n return () => observer.disconnect();\n }, [calculate, isObservingParent]);\n\n const allItems: OverflowItem[] = childArray.map((child, index) => ({\n child,\n index,\n }));\n const visibleItems =\n collapseFrom === 'end'\n ? allItems.slice(0, visibleCount)\n : allItems.slice(itemCount - visibleCount);\n const overflowItems =\n collapseFrom === 'end'\n ? allItems.slice(visibleCount)\n : allItems.slice(0, itemCount - visibleCount);\n const hasOverflow = visibleCount < itemCount;\n const measureIndicator = overflowRenderer?.(allItems);\n\n return (\n <>\n <div\n aria-hidden=\"true\"\n className={styles.measureContainer}\n inert\n ref={measureRefCallback}\n style={{gap}}>\n {childArray}\n {isReactNode(measureIndicator) ? (\n <div className={styles.measureIndicator}>{measureIndicator}</div>\n ) : null}\n </div>\n <div\n className={cx(\n styles.container,\n isObservingParent && hasOverflow ? styles.fillParent : undefined,\n className,\n )}\n ref={mergeRefs(ref, containerRefCallback)}\n style={{gap, ...style}}>\n {collapseFrom === 'start' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n {visibleItems.map(({child}) => child)}\n {collapseFrom === 'end' && hasOverflow\n ? overflowRenderer?.(overflowItems)\n : null}\n </div>\n </>\n );\n}\n","'use client';\n\nimport {X} from 'lucide-react';\nimport {\n useCallback,\n useImperativeHandle,\n useId,\n useMemo,\n useRef,\n useState,\n type CSSProperties,\n type FocusEvent,\n type KeyboardEvent,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {BaseAutocompleteInput} from 'components/AutocompleteInput';\nimport type {SearchableItem, SearchSource} from 'components/AutocompleteInput';\nimport {Button} from 'components/Button';\nimport {\n Field,\n getNecessity,\n type FieldNecessity,\n type InputSize,\n type InputStatus,\n} from 'components/Field';\nimport {inputRecipe, inputStyles} from 'components/Field/inputStyles';\nimport {getDescribedBy, getStatusMessageID} from 'components/Field/inputUtils';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport {Tag} from 'components/Tag';\nimport {tagsInputRecipe} from 'components/TagsInput/TagsInput.recipe';\nimport {OverflowList} from 'internal/OverflowList';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport useLatest from 'internal/useLatest';\nimport {useLayer} from 'internal/useLayer';\n\nexport type TagsInputChange<T extends SearchableItem> =\n | {item: T; type: 'add'}\n | {item: T; type: 'create'}\n | {item: T; type: 'remove'}\n | {items: T[]; type: 'remove-all'};\n\nexport type TagsInputOverflowBehavior =\n | 'none'\n | 'unfocusedInline'\n | 'unfocusedLayer';\n\nexport interface TagsInputHandle {\n /**\n * Blur the input.\n */\n blur(): void;\n /**\n * Focus the input.\n */\n focus(): void;\n}\n\n/**\n * Props that gate free-text tag creation.\n *\n * Selecting the \"Create …\" suggestion mints a new item from the typed text via\n * `createItem`. The default builder produces `{id, label}` (both set to the raw\n * text):\n *\n * - When that shape satisfies `T` (e.g. the default `SearchableItem`),\n * `createItem` is optional and `hasCreate` is a plain boolean toggle.\n * - When `T` has additional required fields the default builder cannot supply,\n * creation requires an explicit `createItem`, so enabling it is expressed as\n * `hasCreate` + `createItem` together (and may be omitted entirely).\n */\nexport type TagsInputCreateProps<T extends SearchableItem> = {\n id: string;\n label: string;\n} extends T\n ? {\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: boolean;\n /**\n * Builds the committed item from the typed text. Optional for this item\n * type because the default builder — `rawValue => ({id: rawValue, label:\n * rawValue})` — already produces a valid item.\n */\n createItem?: (rawValue: string) => T;\n }\n :\n | {\n /**\n * Whether users can create a tag from free text.\n * @default false\n */\n hasCreate?: false;\n createItem?: never;\n }\n | {\n /**\n * Whether users can create a tag from free text.\n */\n hasCreate: true;\n /**\n * Builds the committed item from the typed text. Required for this\n * item type because it has fields the default `{id, label}` builder\n * cannot supply.\n */\n createItem: (rawValue: string) => T;\n };\n\nexport type TagsInputProps<T extends SearchableItem = SearchableItem> = {\n /**\n * Additional CSS class names applied to the input wrapper.\n */\n className?: string;\n /**\n * Test ID applied to the input wrapper.\n */\n 'data-testid'?: string;\n /**\n * Debounce delay in milliseconds before search runs.\n * @default 150\n */\n debounceMs?: number;\n /**\n * Supporting text rendered below the label.\n */\n description?: ReactNode;\n /**\n * Empty state text.\n * @default 'No results found'\n */\n emptySearchResultsText?: string;\n /**\n * Content rendered at the end of the input row.\n */\n endContent?: ReactNode;\n /**\n * Imperative focus/blur handle.\n */\n handleRef?: Ref<TagsInputHandle>;\n /**\n * Whether to focus the input on mount.\n * @default false\n */\n hasAutoFocus?: boolean;\n /**\n * Whether to show a clear button that removes all tags.\n * @default false\n */\n hasClear?: boolean;\n /**\n * Whether to show bootstrap results on focus before typing.\n * @default false\n */\n hasEntriesOnFocus?: boolean;\n /**\n * Whether the input is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether to visually hide the label.\n * @default false\n */\n isLabelHidden?: boolean;\n /**\n * Whether the input is read-only. Prevents typing and hides the clear\n * button without applying disabled opacity.\n * @default false\n */\n isReadOnly?: boolean;\n /**\n * Field label.\n */\n label: string;\n /**\n * Icon shown before the label.\n */\n labelIcon?: IconComponent;\n /**\n * Tooltip content shown next to the label.\n */\n labelTooltip?: ReactNode;\n /**\n * Maximum number of selected tags.\n */\n maxEntries?: number;\n /**\n * Maximum number of menu items.\n * @default 10\n */\n maxMenuItems?: number;\n /**\n * Called when focus leaves the tags-input.\n */\n onBlur?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when selected tags change.\n */\n onChange: (items: T[], change: TagsInputChange<T>) => void;\n /**\n * Called when focus enters the tags-input.\n */\n onFocus?: (event: FocusEvent<HTMLDivElement>) => void;\n /**\n * Called when the query changes.\n */\n onQueryChange?: (query: string) => void;\n /**\n * Placeholder text.\n */\n placeholder?: string;\n /**\n * Ref forwarded to the field root.\n */\n ref?: Ref<HTMLDivElement>;\n /**\n * Custom result renderer.\n */\n renderItem?: (item: T) => ReactNode;\n /**\n * Custom tag renderer.\n */\n renderTag?: (item: T, onRemove: () => void) => ReactNode;\n /**\n * Provides results for the menu. Use `createStaticSearchSource` for\n * in-memory data, or implement {@link SearchSource} for async/remote\n * search.\n */\n searchSource: SearchSource<T>;\n /**\n * Visual size.\n * @default 'md'\n */\n size?: InputSize;\n /**\n * Icon shown before the input.\n */\n startIcon?: IconComponent;\n /**\n * Validation status displayed below the tags-input.\n */\n status?: InputStatus;\n /**\n * Inline styles applied to the input wrapper.\n */\n style?: CSSProperties;\n /**\n * Controls how tags overflow when the container is too narrow.\n * - `'none'`: Tags wrap to multiple lines (default).\n * - `'unfocusedInline'`: Single line with \"+ N more\" when unfocused; expands inline on focus.\n * - `'unfocusedLayer'`: Single line with \"+ N more\" when unfocused; expands as overlay on focus.\n * @default 'none'\n */\n tagOverflowBehavior?: TagsInputOverflowBehavior;\n /**\n * Selected items.\n */\n value: T[];\n} & FieldNecessity &\n TagsInputCreateProps<T>;\n\nconst CREATABLE_ID_PREFIX = '__silver_create__';\n\nfunction isCreatableItem<T extends SearchableItem>(item: T): boolean {\n return item.id.startsWith(CREATABLE_ID_PREFIX);\n}\n\n/**\n * Multi-select combobox that renders selected values as removable tags.\n */\nexport function TagsInput<T extends SearchableItem>({\n className,\n 'data-testid': dataTestId,\n debounceMs,\n description,\n emptySearchResultsText,\n endContent,\n createItem,\n hasAutoFocus = false,\n hasClear = false,\n hasCreate = false,\n hasEntriesOnFocus = false,\n handleRef,\n isDisabled = false,\n isLabelHidden = false,\n isReadOnly = false,\n isOptional,\n isRequired,\n label,\n labelIcon,\n labelTooltip,\n maxEntries,\n maxMenuItems,\n onBlur,\n onChange,\n onFocus,\n onQueryChange,\n placeholder,\n ref,\n renderItem,\n renderTag,\n searchSource,\n size = 'md',\n startIcon,\n status,\n style,\n tagOverflowBehavior = 'none',\n value,\n}: TagsInputProps<T>): React.JSX.Element {\n const inputId = useId();\n const descriptionID = isReactNode(description)\n ? `${inputId}-description`\n : undefined;\n const statusMessageID = getStatusMessageID(inputId, status);\n const describedBy = getDescribedBy(descriptionID, statusMessageID);\n const inputRef = useRef<HTMLInputElement>(null);\n const wrapperRef = useRef<HTMLDivElement>(null);\n const [isFocusedWithin, setIsFocusedWithin] = useState(false);\n const [announcement, setAnnouncement] = useState('');\n const [queryValue, setQueryValue] = useState('');\n const isLayerMode = tagOverflowBehavior === 'unfocusedLayer';\n const layer = useLayer();\n const layerContentRef = useRef<HTMLDivElement>(null);\n const selectedIDsRef = useLatest(new Set(value.map(item => item.id)));\n const isAtMax = maxEntries != null && value.length >= maxEntries;\n const isAtMaxRef = useLatest(isAtMax);\n const isTruncated =\n !isFocusedWithin && tagOverflowBehavior !== 'none' && value.length > 0;\n const classes = tagsInputRecipe({\n size,\n hasTags: value.length > 0,\n isTruncated,\n hasFixedHeight: isTruncated,\n isInputHidden: isAtMax || isTruncated,\n });\n // Collapsed single-line placeholder shown behind the layer popover: always\n // fixed-height, never hides the input.\n const placeholderClasses = tagsInputRecipe({\n size,\n isTruncated,\n hasFixedHeight: true,\n });\n\n const placeholderRef = useCallback(\n (element: HTMLElement | null) => {\n if (isLayerMode) {\n layer.ref(element);\n }\n },\n [isLayerMode, layer],\n );\n\n const isFocusInTagsInput = useCallback(\n (target: EventTarget | null): boolean => {\n if (!(target instanceof Node)) {\n return false;\n }\n if (wrapperRef.current?.contains(target)) {\n return true;\n }\n if (layerContentRef.current?.contains(target)) {\n return true;\n }\n const popoverElement = document.getElementById(layer.id);\n return popoverElement?.contains(target) ?? false;\n },\n [layer.id],\n );\n\n const filteredSource = useMemo<SearchSource<T>>(\n () => ({\n cancel: () => searchSource.cancel?.(),\n async bootstrap() {\n const results = await searchSource.bootstrap();\n return results.filter(item => !selectedIDsRef.current.has(item.id));\n },\n async search(searchQuery) {\n const results = await searchSource.search(searchQuery);\n const filteredResults = results.filter(\n item => !selectedIDsRef.current.has(item.id),\n );\n if (!hasCreate || searchQuery.trim() === '' || isAtMaxRef.current) {\n return filteredResults;\n }\n const existing = filteredResults.some(\n item => item.label.toLowerCase() === searchQuery.trim().toLowerCase(),\n );\n if (existing) {\n return filteredResults;\n }\n return [\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n {\n id: `${CREATABLE_ID_PREFIX}${searchQuery}`,\n label: `Create \"${searchQuery}\"`,\n auxiliaryData: {value: searchQuery},\n } as T,\n ...filteredResults,\n ];\n },\n }),\n [hasCreate, searchSource],\n );\n\n useImperativeHandle(\n handleRef,\n () => ({\n blur: () => inputRef.current?.blur(),\n focus: () => inputRef.current?.focus(),\n }),\n [],\n );\n\n const valueRef = useLatest(value);\n const onChangeRef = useLatest(onChange);\n\n const announce = useCallback((message: string) => {\n setAnnouncement('');\n requestAnimationFrame(() => setAnnouncement(message));\n }, []);\n\n const removeItem = useCallback(\n (item: T) => {\n onChangeRef.current(\n valueRef.current.filter(selectedItem => selectedItem.id !== item.id),\n {item, type: 'remove'},\n );\n announce(`Removed ${item.label}`);\n },\n [announce],\n );\n\n const handleFocus = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n const comingFromOutside = !isFocusInTagsInput(event.relatedTarget);\n setIsFocusedWithin(true);\n if (isLayerMode) {\n layer.show();\n }\n if (comingFromOutside) {\n onFocus?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onFocus],\n );\n\n const handleBlur = useCallback(\n (event: FocusEvent<HTMLDivElement>) => {\n if (!isFocusInTagsInput(event.relatedTarget)) {\n setIsFocusedWithin(false);\n if (isLayerMode) {\n layer.hide();\n }\n onBlur?.(event);\n }\n },\n [isFocusInTagsInput, isLayerMode, layer, onBlur],\n );\n\n const handleWrapperPointerDown = useCallback(() => {\n if (!isDisabled) {\n if (isLayerMode) {\n layer.show();\n setIsFocusedWithin(true);\n }\n document.addEventListener(\n 'click',\n event => {\n // Focus the input only when the click that completes this press lands\n // inside the TagsInput. A press on a tag may open a popover anchored to\n // it (e.g. SearchFilterInput's edit popover); since the tag's own click\n // can stop propagation, this listener instead fires on the next click\n // — which might be a control in that popover. Focusing the input then\n // would steal focus back and briefly re-open the input's surface.\n if (isFocusInTagsInput(event.target)) {\n requestAnimationFrame(() => inputRef.current?.focus());\n }\n },\n {once: true},\n );\n }\n }, [isDisabled, isFocusInTagsInput, isLayerMode, layer]);\n\n const necessity = getNecessity(isOptional, isRequired);\n\n const tokens = value.map(item => (\n <span className={classes.tag} key={item.id}>\n {renderTag == null ? (\n <Tag\n isDisabled={isDisabled}\n label={item.label}\n onRemove={() => removeItem(item)}\n size={size}\n />\n ) : (\n renderTag(item, () => removeItem(item))\n )}\n </span>\n ));\n\n const wrapperContent = (\n /* eslint-disable-next-line jsx-a11y-x/no-noninteractive-element-interactions -- pointerdown delegates to inner input for focus convenience */\n <div\n aria-label={label}\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n classes.wrapper,\n )}\n data-testid={dataTestId}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onPointerDown={handleWrapperPointerDown}\n ref={wrapperRef}\n role=\"group\">\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n {isTruncated ? (\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={classes.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n ) : (\n tokens\n )}\n <BaseAutocompleteInput\n anchorRef={wrapperRef}\n ariaDescribedBy={describedBy}\n className={classes.input}\n debounceMs={debounceMs}\n emptySearchResultsText={emptySearchResultsText}\n hasAutoFocus={hasAutoFocus}\n hasEntriesOnFocus={hasEntriesOnFocus}\n hasReopenOnSelect={hasEntriesOnFocus}\n inputId={inputId}\n isDisabled={isDisabled || isReadOnly || isAtMax}\n maxMenuItems={maxMenuItems}\n onChange={item => {\n if (item == null) {\n return;\n }\n if (isCreatableItem(item)) {\n const rawValue =\n typeof item.auxiliaryData === 'object' &&\n item.auxiliaryData != null &&\n 'value' in item.auxiliaryData\n ? String(item.auxiliaryData.value)\n : item.label;\n // `createItem` is guaranteed present for item types that need it\n // (see TagsInputCreateProps); the default builder is only reached\n // when `{id, label}` is a valid `T`, so the assertion is sound.\n const createdItem =\n createItem?.(rawValue) ??\n // eslint-disable-next-line @typescript-eslint/consistent-type-assertions\n ({id: rawValue, label: rawValue} as T);\n onChangeRef.current([...valueRef.current, createdItem], {\n item: createdItem,\n type: 'create',\n });\n announce(`Added ${rawValue}`);\n return;\n }\n onChangeRef.current([...valueRef.current, item], {\n item,\n type: 'add',\n });\n announce(`Added ${item.label}`);\n }}\n onKeyDown={(event: KeyboardEvent<HTMLInputElement>) => {\n if (\n event.key === 'Backspace' &&\n event.currentTarget.value === '' &&\n valueRef.current.length > 0\n ) {\n const item = valueRef.current[valueRef.current.length - 1];\n removeItem(item);\n }\n }}\n onQueryChange={nextQuery => {\n setQueryValue(nextQuery);\n onQueryChange?.(nextQuery);\n }}\n placeholder={value.length === 0 ? placeholder : undefined}\n query={queryValue}\n ref={inputRef}\n renderItem={renderItem}\n searchSource={filteredSource}\n size={size}\n value={null}\n />\n {isReactNode(endContent) ? (\n <span className={classes.endContent}>{endContent}</span>\n ) : null}\n {hasClear && value.length > 0 && !isDisabled && !isReadOnly ? (\n <Button\n icon={X}\n isIconOnly\n label={`Clear ${label}`}\n onClick={event => {\n event.stopPropagation();\n onChangeRef.current([], {\n items: valueRef.current,\n type: 'remove-all',\n });\n announce('Cleared all tags');\n }}\n size=\"sm\"\n variant=\"ghost\"\n />\n ) : null}\n <span aria-live=\"polite\" className={classes.liveRegion} role=\"status\">\n {announcement}\n </span>\n </div>\n );\n\n const popoverOverrideStyle: CSSProperties = {\n positionArea: undefined,\n positionTryFallbacks: undefined,\n top: 'anchor(top)',\n left: 'anchor(start)',\n };\n\n const inputContent = isLayerMode ? (\n <>\n <div\n className={cx(\n inputRecipe({\n size,\n status: status?.type,\n isDisabled,\n }),\n placeholderClasses.wrapper,\n )}\n onPointerDown={handleWrapperPointerDown}\n ref={placeholderRef}>\n {isTruncated ? (\n <>\n {startIcon != null ? (\n <span className={inputStyles.iconSlot}>\n <Icon color=\"secondary\" icon={startIcon} size=\"sm\" />\n </span>\n ) : null}\n <OverflowList\n behavior=\"observeParent\"\n gap={4}\n overflowRenderer={overflowItems => (\n <span className={classes.overflowText}>\n +{overflowItems.length} more\n </span>\n )}>\n {tokens}\n </OverflowList>\n </>\n ) : null}\n </div>\n {layer.render(\n <div\n data-testid={dataTestId == null ? undefined : `${dataTestId}-layer`}\n ref={layerContentRef}>\n {wrapperContent}\n </div>,\n {\n alignment: 'start',\n className: classes.layerPopover,\n placement: 'below',\n style: popoverOverrideStyle,\n },\n )}\n </>\n ) : (\n wrapperContent\n );\n\n return (\n <Field\n className={className}\n description={description}\n descriptionID={descriptionID}\n inputId={inputId}\n isDisabled={isDisabled}\n isLabelHidden={isLabelHidden}\n {...necessity}\n label={label}\n labelIcon={labelIcon}\n labelTooltip={labelTooltip}\n ref={ref}\n status={\n status == null ? undefined : {...status, messageID: statusMessageID}\n }\n style={style}>\n {inputContent}\n </Field>\n );\n}\n\nTagsInput.displayName = 'TagsInput';\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { MobileNav, useAppShellMobile } from './chunk-RQUQSI67.js';
|
|
3
|
+
import { Item } from './chunk-YBMIXGFM.js';
|
|
4
|
+
import { Button } from './chunk-J2TQNGUM.js';
|
|
4
5
|
import { VisuallyHidden } from './chunk-V2V5TTTL.js';
|
|
5
|
-
import { Text } from './chunk-
|
|
6
|
-
import { useLinkComponent, ActionElement } from './chunk-
|
|
6
|
+
import { Text } from './chunk-4G644ETX.js';
|
|
7
|
+
import { useLinkComponent, ActionElement } from './chunk-CRYF4JDH.js';
|
|
7
8
|
import { isReactNode } from './chunk-2PSZAWLC.js';
|
|
8
9
|
import { Icon } from './chunk-IUW777WZ.js';
|
|
9
10
|
import { sva } from './chunk-IAVZKGZS.js';
|
|
@@ -708,5 +709,5 @@ function SideNavSection({
|
|
|
708
709
|
SideNavSection.displayName = "SideNavSection";
|
|
709
710
|
|
|
710
711
|
export { SideNav, SideNavCollapseContext, SideNavHeading, SideNavItem, SideNavRenderContext, SideNavSection };
|
|
711
|
-
//# sourceMappingURL=chunk-
|
|
712
|
-
//# sourceMappingURL=chunk-
|
|
712
|
+
//# sourceMappingURL=chunk-GCQTQJPW.js.map
|
|
713
|
+
//# sourceMappingURL=chunk-GCQTQJPW.js.map
|