silver-ui 0.7.3 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -4
- package/dist/{chunk-CQYBC3RJ.cjs → chunk-263EUXFI.cjs} +10 -9
- package/dist/chunk-263EUXFI.cjs.map +1 -0
- package/dist/{chunk-KEPCKSDE.js → chunk-2AY74YXP.js} +3 -2
- package/dist/chunk-2AY74YXP.js.map +1 -0
- package/dist/{chunk-USEA7DB5.js → chunk-2EGYYWPB.js} +4 -4
- package/dist/{chunk-USEA7DB5.js.map → chunk-2EGYYWPB.js.map} +1 -1
- package/dist/{chunk-PGBYMBGH.js → chunk-3CV6IEEY.js} +18 -17
- package/dist/chunk-3CV6IEEY.js.map +1 -0
- package/dist/{chunk-5FQKELP6.js → chunk-3IX2FJWH.js} +3 -2
- package/dist/chunk-3IX2FJWH.js.map +1 -0
- package/dist/{chunk-H7LOOHWU.cjs → chunk-3JCYTBXI.cjs} +3 -2
- package/dist/chunk-3JCYTBXI.cjs.map +1 -0
- package/dist/{chunk-PK3NJSHQ.js → chunk-3TPFJ7NS.js} +8 -7
- package/dist/{chunk-PK3NJSHQ.js.map → chunk-3TPFJ7NS.js.map} +1 -1
- package/dist/{chunk-3W3ST5Y3.cjs → chunk-3USKXV4M.cjs} +7 -6
- package/dist/chunk-3USKXV4M.cjs.map +1 -0
- package/dist/{chunk-S4IHNNA2.js → chunk-3UYPIVBY.js} +3 -2
- package/dist/{chunk-S4IHNNA2.js.map → chunk-3UYPIVBY.js.map} +1 -1
- package/dist/{chunk-5GSRIOXE.js → chunk-4G644ETX.js} +16 -15
- package/dist/{chunk-5GSRIOXE.js.map → chunk-4G644ETX.js.map} +1 -1
- package/dist/{chunk-AO4RVSCG.js → chunk-4MIAF6ZO.js} +6 -5
- package/dist/{chunk-AO4RVSCG.js.map → chunk-4MIAF6ZO.js.map} +1 -1
- package/dist/{chunk-MN2NCSQQ.js → chunk-4MX4DKWA.js} +3 -2
- package/dist/{chunk-MN2NCSQQ.js.map → chunk-4MX4DKWA.js.map} +1 -1
- package/dist/{chunk-RX2FXCIH.cjs → chunk-4VYOE2HE.cjs} +8 -8
- package/dist/{chunk-RX2FXCIH.cjs.map → chunk-4VYOE2HE.cjs.map} +1 -1
- package/dist/{chunk-5MCI3ILK.cjs → chunk-4XFA2XAB.cjs} +44 -43
- package/dist/{chunk-5MCI3ILK.cjs.map → chunk-4XFA2XAB.cjs.map} +1 -1
- package/dist/{chunk-HENIVDYQ.cjs → chunk-4ZJ3P6IF.cjs} +15 -14
- package/dist/chunk-4ZJ3P6IF.cjs.map +1 -0
- package/dist/{chunk-RLIBY7XB.cjs → chunk-5AUBRSYO.cjs} +3 -2
- package/dist/chunk-5AUBRSYO.cjs.map +1 -0
- package/dist/{chunk-ESWYWWY2.js → chunk-5DK3LMS7.js} +5 -4
- package/dist/chunk-5DK3LMS7.js.map +1 -0
- package/dist/{chunk-TP6RGZ6A.js → chunk-5EDJRYE4.js} +14 -13
- package/dist/{chunk-TP6RGZ6A.js.map → chunk-5EDJRYE4.js.map} +1 -1
- package/dist/{chunk-3PEK2Q54.cjs → chunk-5FNYOPUL.cjs} +3 -2
- package/dist/chunk-5FNYOPUL.cjs.map +1 -0
- package/dist/{chunk-ZDZ7FW6V.cjs → chunk-5KFM5ZNO.cjs} +10 -9
- package/dist/chunk-5KFM5ZNO.cjs.map +1 -0
- package/dist/{chunk-AC4E3WQA.cjs → chunk-5P5OSQT2.cjs} +13 -12
- package/dist/chunk-5P5OSQT2.cjs.map +1 -0
- package/dist/{chunk-E6AKSBSP.js → chunk-5SCHQS3L.js} +7 -6
- package/dist/{chunk-E6AKSBSP.js.map → chunk-5SCHQS3L.js.map} +1 -1
- package/dist/{chunk-6SMVH3ON.cjs → chunk-6I7MYAPX.cjs} +9 -8
- package/dist/chunk-6I7MYAPX.cjs.map +1 -0
- package/dist/{chunk-GJZAGTPV.cjs → chunk-7KUEWO4T.cjs} +6 -5
- package/dist/chunk-7KUEWO4T.cjs.map +1 -0
- package/dist/{chunk-VCM4MR7N.cjs → chunk-7TLGH4VK.cjs} +53 -52
- package/dist/{chunk-VCM4MR7N.cjs.map → chunk-7TLGH4VK.cjs.map} +1 -1
- package/dist/{chunk-HPNY32G6.js → chunk-7TYZLVLZ.js} +3 -2
- package/dist/{chunk-HPNY32G6.js.map → chunk-7TYZLVLZ.js.map} +1 -1
- package/dist/{chunk-GA77PPVL.cjs → chunk-A36BE56K.cjs} +8 -7
- package/dist/{chunk-GA77PPVL.cjs.map → chunk-A36BE56K.cjs.map} +1 -1
- package/dist/{chunk-WG4NNC3P.js → chunk-AJAHLIHQ.js} +6 -5
- package/dist/{chunk-WG4NNC3P.js.map → chunk-AJAHLIHQ.js.map} +1 -1
- package/dist/{chunk-5RFHYDQY.js → chunk-AUXMMTKN.js} +3 -2
- package/dist/chunk-AUXMMTKN.js.map +1 -0
- package/dist/{chunk-DDMUYVSV.cjs → chunk-B5HYXBPH.cjs} +17 -16
- package/dist/{chunk-DDMUYVSV.cjs.map → chunk-B5HYXBPH.cjs.map} +1 -1
- package/dist/{chunk-63QPCV4F.cjs → chunk-BJSF4VYC.cjs} +38 -37
- package/dist/chunk-BJSF4VYC.cjs.map +1 -0
- package/dist/{chunk-N6C37HXD.js → chunk-BKZFINUO.js} +8 -7
- package/dist/chunk-BKZFINUO.js.map +1 -0
- package/dist/{chunk-J242UTPO.cjs → chunk-BLKZDVFG.cjs} +12 -11
- package/dist/chunk-BLKZDVFG.cjs.map +1 -0
- package/dist/{chunk-QQCEGAUQ.cjs → chunk-BQMIYEFC.cjs} +12 -11
- package/dist/chunk-BQMIYEFC.cjs.map +1 -0
- package/dist/{chunk-2N3PIXZ5.cjs → chunk-CDN7FN6R.cjs} +8 -7
- package/dist/chunk-CDN7FN6R.cjs.map +1 -0
- package/dist/{chunk-YQIDUJW2.cjs → chunk-CKERNLXH.cjs} +6 -5
- package/dist/{chunk-YQIDUJW2.cjs.map → chunk-CKERNLXH.cjs.map} +1 -1
- package/dist/{chunk-PG4CZRTU.js → chunk-CRYF4JDH.js} +3 -2
- package/dist/chunk-CRYF4JDH.js.map +1 -0
- package/dist/{chunk-EZFQCREN.cjs → chunk-CZAKWWZE.cjs} +10 -9
- package/dist/chunk-CZAKWWZE.cjs.map +1 -0
- package/dist/{chunk-BUYZZOOU.js → chunk-D57CFXDZ.js} +3 -2
- package/dist/{chunk-BUYZZOOU.js.map → chunk-D57CFXDZ.js.map} +1 -1
- package/dist/{chunk-Y2GYPMLW.cjs → chunk-DDKW5FTM.cjs} +6 -5
- package/dist/{chunk-Y2GYPMLW.cjs.map → chunk-DDKW5FTM.cjs.map} +1 -1
- package/dist/{chunk-6KGF66TR.js → chunk-DRWW5XMD.js} +4 -3
- package/dist/{chunk-6KGF66TR.js.map → chunk-DRWW5XMD.js.map} +1 -1
- package/dist/{chunk-IU2YRN35.cjs → chunk-DUZBTPSH.cjs} +3 -2
- package/dist/{chunk-IU2YRN35.cjs.map → chunk-DUZBTPSH.cjs.map} +1 -1
- package/dist/{chunk-VK7DXUGH.cjs → chunk-E5TRE2YG.cjs} +3 -2
- package/dist/chunk-E5TRE2YG.cjs.map +1 -0
- package/dist/{chunk-AXTX3IOR.js → chunk-E65S6HVS.js} +4 -3
- package/dist/{chunk-AXTX3IOR.js.map → chunk-E65S6HVS.js.map} +1 -1
- package/dist/{chunk-ARUOMLOJ.cjs → chunk-ECVWXA4H.cjs} +3 -2
- package/dist/chunk-ECVWXA4H.cjs.map +1 -0
- package/dist/{chunk-FUU3I22W.js → chunk-EEB56QQX.js} +4 -3
- package/dist/{chunk-FUU3I22W.js.map → chunk-EEB56QQX.js.map} +1 -1
- package/dist/{chunk-NYTSAO5I.cjs → chunk-EFYWVWSL.cjs} +3 -2
- package/dist/{chunk-NYTSAO5I.cjs.map → chunk-EFYWVWSL.cjs.map} +1 -1
- package/dist/{chunk-NYOZQE6P.js → chunk-EZ2LRC7U.js} +6 -5
- package/dist/chunk-EZ2LRC7U.js.map +1 -0
- package/dist/{chunk-QM7NQK2K.js → chunk-F2ZT6DCV.js} +5 -4
- package/dist/{chunk-QM7NQK2K.js.map → chunk-F2ZT6DCV.js.map} +1 -1
- package/dist/{chunk-JWMS6LHN.cjs → chunk-FCFVJGWR.cjs} +9 -8
- package/dist/{chunk-JWMS6LHN.cjs.map → chunk-FCFVJGWR.cjs.map} +1 -1
- package/dist/{chunk-6OWEKKOC.js → chunk-FHLK5CTO.js} +6 -5
- package/dist/chunk-FHLK5CTO.js.map +1 -0
- package/dist/{chunk-MYSLJWCW.cjs → chunk-FKZATUBG.cjs} +11 -10
- package/dist/chunk-FKZATUBG.cjs.map +1 -0
- package/dist/{chunk-YQVWDHP4.cjs → chunk-FNBOLEST.cjs} +8 -7
- package/dist/{chunk-YQVWDHP4.cjs.map → chunk-FNBOLEST.cjs.map} +1 -1
- package/dist/{chunk-KWZMXX4F.js → chunk-FPKXEI3W.js} +4 -3
- package/dist/chunk-FPKXEI3W.js.map +1 -0
- package/dist/{chunk-OPBELSKN.js → chunk-FQJBEWGB.js} +8 -7
- package/dist/chunk-FQJBEWGB.js.map +1 -0
- package/dist/{chunk-UUVI3TYW.js → chunk-GCQTQJPW.js} +8 -7
- package/dist/chunk-GCQTQJPW.js.map +1 -0
- package/dist/{chunk-YAQB3UMC.js → chunk-GEU4SROO.js} +5 -4
- package/dist/{chunk-YAQB3UMC.js.map → chunk-GEU4SROO.js.map} +1 -1
- package/dist/{chunk-6ZPHID26.cjs → chunk-GIZ7DK3W.cjs} +10 -9
- package/dist/chunk-GIZ7DK3W.cjs.map +1 -0
- package/dist/{chunk-5K3C3INR.cjs → chunk-GOAIWDHB.cjs} +11 -10
- package/dist/chunk-GOAIWDHB.cjs.map +1 -0
- package/dist/{chunk-GQ73VKKN.js → chunk-H5BUXKYQ.js} +9 -8
- package/dist/{chunk-GQ73VKKN.js.map → chunk-H5BUXKYQ.js.map} +1 -1
- package/dist/{chunk-HN4W6TM6.cjs → chunk-H5Q63Z42.cjs} +10 -9
- package/dist/chunk-H5Q63Z42.cjs.map +1 -0
- package/dist/{chunk-O4PO6AMS.cjs → chunk-HAUMZ357.cjs} +3 -2
- package/dist/{chunk-O4PO6AMS.cjs.map → chunk-HAUMZ357.cjs.map} +1 -1
- package/dist/{chunk-6SFMORQF.cjs → chunk-HTY7SADT.cjs} +8 -7
- package/dist/chunk-HTY7SADT.cjs.map +1 -0
- package/dist/{chunk-WOVSJHY6.cjs → chunk-HW7GODZJ.cjs} +15 -14
- package/dist/chunk-HW7GODZJ.cjs.map +1 -0
- package/dist/{chunk-CKDB7QNT.cjs → chunk-I2QAN2HX.cjs} +21 -20
- package/dist/{chunk-CKDB7QNT.cjs.map → chunk-I2QAN2HX.cjs.map} +1 -1
- package/dist/{chunk-JIF5TZHC.cjs → chunk-IFRIXTF5.cjs} +3 -2
- package/dist/chunk-IFRIXTF5.cjs.map +1 -0
- package/dist/{chunk-JTPVAZE6.cjs → chunk-IHR3KEWH.cjs} +12 -11
- package/dist/{chunk-JTPVAZE6.cjs.map → chunk-IHR3KEWH.cjs.map} +1 -1
- package/dist/{chunk-EBV3EX3J.js → chunk-J2TQNGUM.js} +8 -7
- package/dist/chunk-J2TQNGUM.js.map +1 -0
- package/dist/{chunk-LWB2CTX6.cjs → chunk-J5VWFOOY.cjs} +5 -4
- package/dist/{chunk-LWB2CTX6.cjs.map → chunk-J5VWFOOY.cjs.map} +1 -1
- package/dist/{chunk-3NIDAKCF.cjs → chunk-J6XRX6DD.cjs} +3 -2
- package/dist/chunk-J6XRX6DD.cjs.map +1 -0
- package/dist/{chunk-6R2UZNVE.js → chunk-JCXI44K2.js} +7 -6
- package/dist/chunk-JCXI44K2.js.map +1 -0
- package/dist/{chunk-NIKT7XSO.js → chunk-JFFAICCY.js} +7 -6
- package/dist/chunk-JFFAICCY.js.map +1 -0
- package/dist/{chunk-UW3KCCBT.cjs → chunk-KZOUXGPD.cjs} +5 -4
- package/dist/{chunk-UW3KCCBT.cjs.map → chunk-KZOUXGPD.cjs.map} +1 -1
- package/dist/{chunk-OX2FNKIV.cjs → chunk-LDKE723G.cjs} +11 -10
- package/dist/{chunk-OX2FNKIV.cjs.map → chunk-LDKE723G.cjs.map} +1 -1
- package/dist/{chunk-BIKVMVWF.js → chunk-LHQM533G.js} +3 -2
- package/dist/{chunk-BIKVMVWF.js.map → chunk-LHQM533G.js.map} +1 -1
- package/dist/{chunk-KVJ27734.cjs → chunk-LIDE7FVO.cjs} +5 -4
- package/dist/{chunk-KVJ27734.cjs.map → chunk-LIDE7FVO.cjs.map} +1 -1
- package/dist/{chunk-EIJSWHG7.js → chunk-LT4P67TG.js} +6 -5
- package/dist/{chunk-EIJSWHG7.js.map → chunk-LT4P67TG.js.map} +1 -1
- package/dist/{chunk-3PCXFOOS.js → chunk-M5SZUUWM.js} +7 -6
- package/dist/chunk-M5SZUUWM.js.map +1 -0
- package/dist/{chunk-BQWUTDTN.js → chunk-MCCOQSSC.js} +3 -2
- package/dist/{chunk-BQWUTDTN.js.map → chunk-MCCOQSSC.js.map} +1 -1
- package/dist/{chunk-I2DXEPDF.js → chunk-MVDTWARG.js} +7 -6
- package/dist/chunk-MVDTWARG.js.map +1 -0
- package/dist/{chunk-VWG54F6X.cjs → chunk-MWETV5LK.cjs} +9 -8
- package/dist/{chunk-VWG54F6X.cjs.map → chunk-MWETV5LK.cjs.map} +1 -1
- package/dist/{chunk-OCYZKZ24.cjs → chunk-MWWAQVJ3.cjs} +4 -4
- package/dist/{chunk-OCYZKZ24.cjs.map → chunk-MWWAQVJ3.cjs.map} +1 -1
- package/dist/{chunk-BBLAZNCC.js → chunk-MYBFODRI.js} +9 -8
- package/dist/chunk-MYBFODRI.js.map +1 -0
- package/dist/{chunk-GLFWSLJB.cjs → chunk-NHM6CSX2.cjs} +11 -10
- package/dist/{chunk-GLFWSLJB.cjs.map → chunk-NHM6CSX2.cjs.map} +1 -1
- package/dist/{chunk-BF2DUOC3.cjs → chunk-NJR5SVHL.cjs} +15 -14
- package/dist/{chunk-BF2DUOC3.cjs.map → chunk-NJR5SVHL.cjs.map} +1 -1
- package/dist/{chunk-Q6YOSQAM.js → chunk-NP527IVS.js} +8 -7
- package/dist/chunk-NP527IVS.js.map +1 -0
- package/dist/{chunk-56PY2CD7.js → chunk-NSA33LOE.js} +6 -5
- package/dist/chunk-NSA33LOE.js.map +1 -0
- package/dist/{chunk-ZW2ZOEYM.cjs → chunk-OAEVUPAL.cjs} +11 -10
- package/dist/chunk-OAEVUPAL.cjs.map +1 -0
- package/dist/{chunk-KVEXSDEM.js → chunk-OI4GH7DO.js} +5 -4
- package/dist/{chunk-KVEXSDEM.js.map → chunk-OI4GH7DO.js.map} +1 -1
- package/dist/{chunk-AKAXQ4RL.js → chunk-OLJIILEI.js} +4 -3
- package/dist/{chunk-AKAXQ4RL.js.map → chunk-OLJIILEI.js.map} +1 -1
- package/dist/{chunk-S4WWBV4N.js → chunk-ONOKHFK3.js} +6 -5
- package/dist/chunk-ONOKHFK3.js.map +1 -0
- package/dist/{chunk-BSXUNRET.cjs → chunk-ONRLHP46.cjs} +3 -2
- package/dist/chunk-ONRLHP46.cjs.map +1 -0
- package/dist/{chunk-NSWKBWPP.js → chunk-OSYOGJC5.js} +6 -5
- package/dist/{chunk-NSWKBWPP.js.map → chunk-OSYOGJC5.js.map} +1 -1
- package/dist/{chunk-5UGHDUMO.js → chunk-OXBBLHTC.js} +3 -2
- package/dist/chunk-OXBBLHTC.js.map +1 -0
- package/dist/{chunk-PQXPYN23.js → chunk-OYBRYZKK.js} +8 -7
- package/dist/chunk-OYBRYZKK.js.map +1 -0
- package/dist/{chunk-4MIIXRZN.cjs → chunk-OZNCX6DY.cjs} +21 -20
- package/dist/chunk-OZNCX6DY.cjs.map +1 -0
- package/dist/{chunk-FHUOUARL.js → chunk-P6LEAMPW.js} +5 -4
- package/dist/{chunk-FHUOUARL.js.map → chunk-P6LEAMPW.js.map} +1 -1
- package/dist/{chunk-DE7JLNSO.js → chunk-PTDBPRZD.js} +3 -2
- package/dist/chunk-PTDBPRZD.js.map +1 -0
- package/dist/{chunk-LBOWHXOF.js → chunk-PYUPT3HU.js} +5 -4
- package/dist/chunk-PYUPT3HU.js.map +1 -0
- package/dist/{chunk-PZHRFASW.js → chunk-Q4UI2MP4.js} +3 -2
- package/dist/chunk-Q4UI2MP4.js.map +1 -0
- package/dist/{chunk-YGESCFX2.js → chunk-Q5DVIVMR.js} +4 -3
- package/dist/chunk-Q5DVIVMR.js.map +1 -0
- package/dist/{chunk-FQSVY4QB.js → chunk-QMFPPGSZ.js} +4 -3
- package/dist/chunk-QMFPPGSZ.js.map +1 -0
- package/dist/{chunk-JMVYWHJ7.js → chunk-QMZQ4I72.js} +5 -4
- package/dist/chunk-QMZQ4I72.js.map +1 -0
- package/dist/{chunk-PXTTIAC4.cjs → chunk-QOQ55IUO.cjs} +9 -8
- package/dist/chunk-QOQ55IUO.cjs.map +1 -0
- package/dist/{chunk-5HPXPF3F.js → chunk-R3ONJZXN.js} +6 -5
- package/dist/chunk-R3ONJZXN.js.map +1 -0
- package/dist/{chunk-EEOUWM2F.cjs → chunk-RCRUFF6F.cjs} +5 -4
- package/dist/{chunk-EEOUWM2F.cjs.map → chunk-RCRUFF6F.cjs.map} +1 -1
- package/dist/{chunk-V5XVXQWE.js → chunk-RKPEY2LR.js} +6 -5
- package/dist/{chunk-V5XVXQWE.js.map → chunk-RKPEY2LR.js.map} +1 -1
- package/dist/{chunk-X2P5SPGB.js → chunk-RM2XLAAU.js} +3 -3
- package/dist/{chunk-X2P5SPGB.js.map → chunk-RM2XLAAU.js.map} +1 -1
- package/dist/{chunk-D7TT4HUI.cjs → chunk-RNKQPVCB.cjs} +17 -16
- package/dist/{chunk-D7TT4HUI.cjs.map → chunk-RNKQPVCB.cjs.map} +1 -1
- package/dist/{chunk-FTNEAX24.js → chunk-RQUQSI67.js} +5 -4
- package/dist/chunk-RQUQSI67.js.map +1 -0
- package/dist/{chunk-54B36CSW.js → chunk-RRN6FK6U.js} +6 -5
- package/dist/{chunk-54B36CSW.js.map → chunk-RRN6FK6U.js.map} +1 -1
- package/dist/{chunk-KLPVBJGZ.cjs → chunk-RUPT4QAW.cjs} +6 -5
- package/dist/{chunk-KLPVBJGZ.cjs.map → chunk-RUPT4QAW.cjs.map} +1 -1
- package/dist/{chunk-UNS7OCEA.cjs → chunk-RYVQVW2U.cjs} +6 -5
- package/dist/{chunk-UNS7OCEA.cjs.map → chunk-RYVQVW2U.cjs.map} +1 -1
- package/dist/{chunk-OUUG4RHO.js → chunk-RZBOQQRG.js} +7 -6
- package/dist/chunk-RZBOQQRG.js.map +1 -0
- package/dist/{chunk-HC57X3U4.js → chunk-RZPKI7FD.js} +6 -5
- package/dist/chunk-RZPKI7FD.js.map +1 -0
- package/dist/{chunk-WTCH3QCQ.js → chunk-SHJNMFEV.js} +3 -2
- package/dist/chunk-SHJNMFEV.js.map +1 -0
- package/dist/{chunk-DVCDAKPK.cjs → chunk-T6E5MIIO.cjs} +7 -6
- package/dist/chunk-T6E5MIIO.cjs.map +1 -0
- package/dist/{chunk-UJDHRILS.cjs → chunk-TFPTFBHN.cjs} +7 -6
- package/dist/chunk-TFPTFBHN.cjs.map +1 -0
- package/dist/{chunk-XUCLNECV.js → chunk-TRDO4OBD.js} +4 -3
- package/dist/chunk-TRDO4OBD.js.map +1 -0
- package/dist/{chunk-LTHPJRFK.cjs → chunk-TRQQZ3FY.cjs} +10 -9
- package/dist/{chunk-LTHPJRFK.cjs.map → chunk-TRQQZ3FY.cjs.map} +1 -1
- package/dist/{chunk-PYN75QAG.js → chunk-TS3FMP6Z.js} +4 -3
- package/dist/chunk-TS3FMP6Z.js.map +1 -0
- package/dist/{chunk-QB2BSOM4.cjs → chunk-TT65RNBY.cjs} +3 -2
- package/dist/{chunk-QB2BSOM4.cjs.map → chunk-TT65RNBY.cjs.map} +1 -1
- package/dist/{chunk-KLCEDPJ4.cjs → chunk-TX4BD3JN.cjs} +19 -18
- package/dist/chunk-TX4BD3JN.cjs.map +1 -0
- package/dist/{chunk-CWZCBYVZ.cjs → chunk-U7NJKBAR.cjs} +14 -13
- package/dist/chunk-U7NJKBAR.cjs.map +1 -0
- package/dist/{chunk-6SKIBUCY.js → chunk-UCMIHJFE.js} +5 -4
- package/dist/chunk-UCMIHJFE.js.map +1 -0
- package/dist/{chunk-BNGYGCT2.js → chunk-UCSMB46R.js} +4 -3
- package/dist/{chunk-BNGYGCT2.js.map → chunk-UCSMB46R.js.map} +1 -1
- package/dist/{chunk-DTNIUZ3C.cjs → chunk-UGK3AL6Z.cjs} +8 -7
- package/dist/{chunk-DTNIUZ3C.cjs.map → chunk-UGK3AL6Z.cjs.map} +1 -1
- package/dist/{chunk-2AOR4EVA.cjs → chunk-UJS33XO7.cjs} +9 -8
- package/dist/chunk-UJS33XO7.cjs.map +1 -0
- package/dist/{chunk-BPAZTKMC.cjs → chunk-VOYIMBTO.cjs} +11 -10
- package/dist/{chunk-BPAZTKMC.cjs.map → chunk-VOYIMBTO.cjs.map} +1 -1
- package/dist/{chunk-ACGPBJIS.js → chunk-VRXTRDIP.js} +6 -5
- package/dist/chunk-VRXTRDIP.js.map +1 -0
- package/dist/{chunk-CPDWUT2H.cjs → chunk-W6UBDEMN.cjs} +3 -2
- package/dist/{chunk-CPDWUT2H.cjs.map → chunk-W6UBDEMN.cjs.map} +1 -1
- package/dist/{chunk-DXUFDJHA.cjs → chunk-WBVSDRWB.cjs} +11 -10
- package/dist/{chunk-DXUFDJHA.cjs.map → chunk-WBVSDRWB.cjs.map} +1 -1
- package/dist/{chunk-U7QJJ3NR.cjs → chunk-WHQNYDUT.cjs} +9 -8
- package/dist/{chunk-U7QJJ3NR.cjs.map → chunk-WHQNYDUT.cjs.map} +1 -1
- package/dist/{chunk-MJHEPDDX.cjs → chunk-WW6XXMJL.cjs} +21 -20
- package/dist/chunk-WW6XXMJL.cjs.map +1 -0
- package/dist/{chunk-HEF53COU.js → chunk-X6QULLGW.js} +4 -3
- package/dist/{chunk-HEF53COU.js.map → chunk-X6QULLGW.js.map} +1 -1
- package/dist/{chunk-BYV7NXC5.cjs → chunk-XB6G4W4P.cjs} +8 -7
- package/dist/chunk-XB6G4W4P.cjs.map +1 -0
- package/dist/{chunk-MDQSVB2Y.js → chunk-XBQKPRWG.js} +3 -2
- package/dist/chunk-XBQKPRWG.js.map +1 -0
- package/dist/{chunk-WLWSQKWI.js → chunk-XQIPFZUD.js} +9 -8
- package/dist/{chunk-WLWSQKWI.js.map → chunk-XQIPFZUD.js.map} +1 -1
- package/dist/{chunk-TACO5IWI.cjs → chunk-XTWTL3UB.cjs} +20 -19
- package/dist/chunk-XTWTL3UB.cjs.map +1 -0
- package/dist/{chunk-6KG76KUZ.js → chunk-XVJLFQJT.js} +4 -3
- package/dist/{chunk-6KG76KUZ.js.map → chunk-XVJLFQJT.js.map} +1 -1
- package/dist/{chunk-CVT7JW6C.cjs → chunk-XY5GXS62.cjs} +5 -4
- package/dist/{chunk-CVT7JW6C.cjs.map → chunk-XY5GXS62.cjs.map} +1 -1
- package/dist/{chunk-PKZSJX53.cjs → chunk-Y3TUHGI2.cjs} +3 -2
- package/dist/chunk-Y3TUHGI2.cjs.map +1 -0
- package/dist/{chunk-GKYGZWSQ.js → chunk-YBMIXGFM.js} +6 -5
- package/dist/{chunk-GKYGZWSQ.js.map → chunk-YBMIXGFM.js.map} +1 -1
- package/dist/{chunk-GTZQT6MK.js → chunk-YK5BUUZG.js} +6 -5
- package/dist/chunk-YK5BUUZG.js.map +1 -0
- package/dist/{chunk-L747HIHG.js → chunk-YKLFVO22.js} +5 -4
- package/dist/chunk-YKLFVO22.js.map +1 -0
- package/dist/{chunk-BKKLUIIU.js → chunk-YNGDGY2J.js} +3 -2
- package/dist/chunk-YNGDGY2J.js.map +1 -0
- package/dist/{chunk-2K4I2MB3.cjs → chunk-YPTBGFPT.cjs} +3 -2
- package/dist/{chunk-2K4I2MB3.cjs.map → chunk-YPTBGFPT.cjs.map} +1 -1
- package/dist/{chunk-O3UT5D57.js → chunk-YUKH75MR.js} +15 -14
- package/dist/{chunk-O3UT5D57.js.map → chunk-YUKH75MR.js.map} +1 -1
- package/dist/{chunk-IREOTHD3.cjs → chunk-Z2KSHRDD.cjs} +6 -5
- package/dist/chunk-Z2KSHRDD.cjs.map +1 -0
- package/dist/{chunk-VPWNRWNO.cjs → chunk-Z5EY2GRO.cjs} +3 -2
- package/dist/chunk-Z5EY2GRO.cjs.map +1 -0
- package/dist/{chunk-D3CHBU46.js → chunk-ZLJOIPTJ.js} +4 -3
- package/dist/{chunk-D3CHBU46.js.map → chunk-ZLJOIPTJ.js.map} +1 -1
- package/dist/{chunk-NGNVNRAZ.cjs → chunk-ZQWT5UEN.cjs} +18 -17
- package/dist/chunk-ZQWT5UEN.cjs.map +1 -0
- package/dist/components/Accordion/Accordion.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionContext.d.ts.map +1 -1
- package/dist/components/Accordion/AccordionItem.d.ts.map +1 -1
- package/dist/components/Accordion/index.cjs +4 -4
- package/dist/components/Accordion/index.js +1 -1
- package/dist/components/Accordion/useAccordionDevWarning.d.ts.map +1 -1
- package/dist/components/Accordion/useCollapsible.d.ts.map +1 -1
- package/dist/components/Alert/Alert.d.ts.map +1 -1
- package/dist/components/Alert/index.cjs +10 -10
- package/dist/components/Alert/index.js +9 -9
- package/dist/components/AlertDialog/AlertDialog.d.ts.map +1 -1
- package/dist/components/AlertDialog/index.cjs +16 -16
- package/dist/components/AlertDialog/index.js +14 -14
- package/dist/components/AlertDialog/useAlertDialog.d.ts.map +1 -1
- package/dist/components/AppShell/AppShell.d.ts.map +1 -1
- package/dist/components/AppShell/AppShellMobileContext.d.ts.map +1 -1
- package/dist/components/AppShell/index.cjs +21 -21
- package/dist/components/AppShell/index.js +18 -18
- package/dist/components/AppShell/useSlotPresence.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/AutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/BaseAutocompleteInput.d.ts.map +1 -1
- package/dist/components/AutocompleteInput/index.cjs +17 -17
- package/dist/components/AutocompleteInput/index.js +13 -13
- package/dist/components/Avatar/Avatar.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarSizeContext.d.ts.map +1 -1
- package/dist/components/Avatar/AvatarStatusDot.d.ts.map +1 -1
- package/dist/components/Avatar/index.cjs +4 -4
- package/dist/components/Avatar/index.js +1 -1
- package/dist/components/AvatarGroup/AvatarGroup.d.ts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroupContext.d.ts.map +1 -1
- package/dist/components/AvatarGroup/AvatarGroupOverflow.d.ts.map +1 -1
- package/dist/components/AvatarGroup/index.cjs +4 -4
- package/dist/components/AvatarGroup/index.js +2 -2
- package/dist/components/Breadcrumbs/BreadcrumbItem.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/BreadcrumbsContext.d.ts.map +1 -1
- package/dist/components/Breadcrumbs/index.cjs +5 -5
- package/dist/components/Breadcrumbs/index.js +2 -2
- package/dist/components/Button/Button.d.ts.map +1 -1
- package/dist/components/Button/index.cjs +9 -9
- package/dist/components/Button/index.js +8 -8
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -1
- package/dist/components/ButtonGroup/ButtonGroupContext.d.ts.map +1 -1
- package/dist/components/ButtonGroup/index.cjs +3 -3
- package/dist/components/ButtonGroup/index.js +2 -2
- package/dist/components/Calendar/Calendar.d.ts.map +1 -1
- package/dist/components/Calendar/index.cjs +10 -10
- package/dist/components/Calendar/index.js +9 -9
- package/dist/components/CheckboxGroup/CheckboxGroup.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupContext.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/CheckboxGroupItem.d.ts.map +1 -1
- package/dist/components/CheckboxGroup/index.cjs +12 -12
- package/dist/components/CheckboxGroup/index.js +10 -10
- package/dist/components/CheckboxInput/CheckboxInput.d.ts.map +1 -1
- package/dist/components/CheckboxInput/index.cjs +9 -9
- package/dist/components/CheckboxInput/index.js +8 -8
- package/dist/components/CodeBlock/index.cjs +11 -11
- package/dist/components/CodeBlock/index.js +10 -10
- package/dist/components/ContextMenu/ContextMenu.d.ts.map +1 -1
- package/dist/components/ContextMenu/index.cjs +15 -15
- package/dist/components/ContextMenu/index.js +13 -13
- package/dist/components/DateInput/DateInput.d.ts.map +1 -1
- package/dist/components/DateInput/index.cjs +13 -13
- package/dist/components/DateInput/index.js +12 -12
- package/dist/components/DateRangeInput/DateRangeInput.d.ts.map +1 -1
- package/dist/components/DateRangeInput/index.cjs +13 -13
- package/dist/components/DateRangeInput/index.js +12 -12
- package/dist/components/DateTimeInput/DateTimeInput.d.ts.map +1 -1
- package/dist/components/DateTimeInput/index.cjs +15 -15
- package/dist/components/DateTimeInput/index.js +14 -14
- package/dist/components/Dialog/Dialog.d.ts.map +1 -1
- package/dist/components/Dialog/DialogContext.d.ts.map +1 -1
- package/dist/components/Dialog/index.cjs +8 -8
- package/dist/components/Dialog/index.js +4 -4
- package/dist/components/Dialog/useDialog.d.ts.map +1 -1
- package/dist/components/Divider/Divider.d.ts.map +1 -1
- package/dist/components/Divider/index.cjs +2 -2
- package/dist/components/Divider/index.js +1 -1
- package/dist/components/Drawer/Drawer.d.ts.map +1 -1
- package/dist/components/Drawer/index.cjs +5 -5
- package/dist/components/Drawer/index.js +3 -3
- package/dist/components/Drawer/useDrawer.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuContext.d.ts.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenuItem.d.ts.map +1 -1
- package/dist/components/DropdownMenu/index.cjs +16 -16
- package/dist/components/DropdownMenu/index.js +12 -12
- package/dist/components/DropdownMenu/menuUtils.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyState.d.ts.map +1 -1
- package/dist/components/EmptyState/index.cjs +5 -5
- package/dist/components/EmptyState/index.js +4 -4
- package/dist/components/Field/index.cjs +6 -6
- package/dist/components/Field/index.js +4 -4
- package/dist/components/FileInput/FileInput.d.ts.map +1 -1
- package/dist/components/FileInput/index.cjs +11 -11
- package/dist/components/FileInput/index.js +10 -10
- package/dist/components/HoverCard/HoverCard.d.ts.map +1 -1
- package/dist/components/HoverCard/index.cjs +4 -4
- package/dist/components/HoverCard/index.js +2 -2
- package/dist/components/HoverCard/useHoverCard.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroup.d.ts.map +1 -1
- package/dist/components/InputGroup/InputGroupContext.d.ts.map +1 -1
- package/dist/components/InputGroup/index.cjs +9 -9
- package/dist/components/InputGroup/index.js +5 -5
- package/dist/components/Item/Item.d.ts.map +1 -1
- package/dist/components/Item/index.cjs +7 -7
- package/dist/components/Item/index.js +6 -6
- package/dist/components/Kbd/Kbd.d.ts.map +1 -1
- package/dist/components/Kbd/index.cjs +2 -2
- package/dist/components/Kbd/index.js +1 -1
- package/dist/components/Layout/Layout.d.ts.map +1 -1
- package/dist/components/Layout/LayoutContext.d.ts.map +1 -1
- package/dist/components/Layout/LayoutFooter.d.ts.map +1 -1
- package/dist/components/Layout/LayoutHeader.d.ts.map +1 -1
- package/dist/components/Layout/LayoutPanel.d.ts.map +1 -1
- package/dist/components/Layout/index.cjs +15 -15
- package/dist/components/Layout/index.js +10 -10
- package/dist/components/Lightbox/Lightbox.d.ts.map +1 -1
- package/dist/components/Lightbox/index.cjs +12 -12
- package/dist/components/Lightbox/index.js +10 -10
- package/dist/components/Lightbox/useLightbox.d.ts.map +1 -1
- package/dist/components/Link/Link.d.ts.map +1 -1
- package/dist/components/Link/LinkContext.d.ts.map +1 -1
- package/dist/components/Link/LinkProvider.d.ts.map +1 -1
- package/dist/components/Link/index.cjs +8 -8
- package/dist/components/Link/index.js +5 -5
- package/dist/components/Link/useLinkComponent.d.ts.map +1 -1
- package/dist/components/List/List.d.ts.map +1 -1
- package/dist/components/List/ListContext.d.ts.map +1 -1
- package/dist/components/List/ListItem.d.ts.map +1 -1
- package/dist/components/List/index.cjs +9 -9
- package/dist/components/List/index.js +7 -7
- package/dist/components/MetadataList/MetadataList.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataListContext.d.ts.map +1 -1
- package/dist/components/MetadataList/MetadataListItem.d.ts.map +1 -1
- package/dist/components/MetadataList/index.cjs +6 -6
- package/dist/components/MetadataList/index.js +4 -4
- package/dist/components/MultiSelect/MultiSelect.d.ts.map +1 -1
- package/dist/components/MultiSelect/index.cjs +13 -13
- package/dist/components/MultiSelect/index.js +12 -12
- package/dist/components/NumberInput/NumberInput.d.ts.map +1 -1
- package/dist/components/NumberInput/index.cjs +12 -12
- package/dist/components/NumberInput/index.js +11 -11
- package/dist/components/Pagination/Pagination.d.ts.map +1 -1
- package/dist/components/Pagination/index.cjs +10 -10
- package/dist/components/Pagination/index.js +9 -9
- package/dist/components/PasswordInput/PasswordInput.d.ts.map +1 -1
- package/dist/components/PasswordInput/index.cjs +13 -13
- package/dist/components/PasswordInput/index.js +12 -12
- package/dist/components/Popover/Popover.d.ts.map +1 -1
- package/dist/components/Popover/index.cjs +11 -11
- package/dist/components/Popover/index.js +9 -9
- package/dist/components/Popover/usePopover.d.ts.map +1 -1
- package/dist/components/Progress/Progress.d.ts.map +1 -1
- package/dist/components/Progress/index.cjs +2 -2
- package/dist/components/Progress/index.js +1 -1
- package/dist/components/RadioGroup/RadioGroup.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupContext.d.ts.map +1 -1
- package/dist/components/RadioGroup/RadioGroupItem.d.ts.map +1 -1
- package/dist/components/RadioGroup/index.cjs +10 -10
- package/dist/components/RadioGroup/index.js +8 -8
- package/dist/components/Rating/Rating.d.ts.map +1 -1
- package/dist/components/Rating/index.cjs +2 -2
- package/dist/components/Rating/index.js +1 -1
- package/dist/components/Schedule/DayView.d.ts.map +1 -1
- package/dist/components/Schedule/ListView.d.ts.map +1 -1
- package/dist/components/Schedule/MonthlyView.d.ts.map +1 -1
- package/dist/components/Schedule/Schedule.d.ts.map +1 -1
- package/dist/components/Schedule/TimeGridView.d.ts.map +1 -1
- package/dist/components/Schedule/WeeklyView.d.ts.map +1 -1
- package/dist/components/Schedule/context.d.ts.map +1 -1
- package/dist/components/Schedule/index.cjs +34 -34
- package/dist/components/Schedule/index.js +19 -19
- package/dist/components/Schedule/plugins/EventMovePlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/EventPopoverPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/EventResizePlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/PaginationPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/ScheduleEventPopoverContent.d.ts.map +1 -1
- package/dist/components/Schedule/plugins/ViewSelectorPlugin.d.ts.map +1 -1
- package/dist/components/Schedule/shared.d.ts.map +1 -1
- package/dist/components/Schedule/useCurrentTime.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInput.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputEditPopover.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputFilterEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputTag.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/SearchFilterInputValueEditor.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/index.cjs +32 -32
- package/dist/components/SearchFilterInput/index.js +24 -24
- package/dist/components/SearchFilterInput/internalConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputConfig.d.ts.map +1 -1
- package/dist/components/SearchFilterInput/useSearchFilterInputSource.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControl.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlContext.d.ts.map +1 -1
- package/dist/components/SegmentedControl/SegmentedControlItem.d.ts.map +1 -1
- package/dist/components/SegmentedControl/index.cjs +3 -3
- package/dist/components/SegmentedControl/index.js +1 -1
- package/dist/components/Select/Select.d.ts.map +1 -1
- package/dist/components/Select/index.cjs +15 -15
- package/dist/components/Select/index.js +13 -13
- package/dist/components/SideNav/SideNav.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavContext.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavHeading.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavItem.d.ts.map +1 -1
- package/dist/components/SideNav/SideNavSection.d.ts.map +1 -1
- package/dist/components/SideNav/index.cjs +19 -19
- package/dist/components/SideNav/index.js +13 -13
- package/dist/components/SideNav/internal/SideNavCollapseButton.d.ts.map +1 -1
- package/dist/components/Slider/Slider.d.ts.map +1 -1
- package/dist/components/Slider/index.cjs +6 -6
- package/dist/components/Slider/index.js +5 -5
- package/dist/components/Spinner/index.cjs +5 -5
- package/dist/components/Spinner/index.js +4 -4
- package/dist/components/SplitButton/SplitButton.d.ts.map +1 -1
- package/dist/components/SplitButton/index.cjs +15 -15
- package/dist/components/SplitButton/index.js +14 -14
- package/dist/components/Stepper/Stepper.d.ts.map +1 -1
- package/dist/components/Stepper/index.cjs +5 -5
- package/dist/components/Stepper/index.js +4 -4
- package/dist/components/Stepper/internal/Step.d.ts.map +1 -1
- package/dist/components/Switch/Switch.d.ts.map +1 -1
- package/dist/components/Switch/index.cjs +6 -6
- package/dist/components/Switch/index.js +5 -5
- package/dist/components/Table/Table.d.ts.map +1 -1
- package/dist/components/Table/TableCell.d.ts.map +1 -1
- package/dist/components/Table/TableContext.d.ts.map +1 -1
- package/dist/components/Table/TableHeaderCell.d.ts.map +1 -1
- package/dist/components/Table/TableRow.d.ts.map +1 -1
- package/dist/components/Table/index.cjs +54 -54
- package/dist/components/Table/index.js +28 -28
- package/dist/components/Table/plugins/columnResize/useTableColumnResize.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettings.d.ts.map +1 -1
- package/dist/components/Table/plugins/columnSettings/useTableColumnSettingsState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFilterState.d.ts.map +1 -1
- package/dist/components/Table/plugins/filtering/useTableFiltering.d.ts.map +1 -1
- package/dist/components/Table/plugins/pagination/useTablePagination.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelection.d.ts.map +1 -1
- package/dist/components/Table/plugins/selection/useTableSelectionState.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortable.d.ts.map +1 -1
- package/dist/components/Table/plugins/sortable/useTableSortableState.d.ts.map +1 -1
- package/dist/components/Table/useBaseTablePlugins.d.ts.map +1 -1
- package/dist/components/Tabs/Tab.d.ts.map +1 -1
- package/dist/components/Tabs/TabMenu.d.ts.map +1 -1
- package/dist/components/Tabs/Tabs.d.ts.map +1 -1
- package/dist/components/Tabs/TabsContext.d.ts.map +1 -1
- package/dist/components/Tabs/index.cjs +15 -15
- package/dist/components/Tabs/index.js +10 -10
- package/dist/components/Tag/Tag.d.ts.map +1 -1
- package/dist/components/Tag/index.cjs +7 -7
- package/dist/components/Tag/index.js +6 -6
- package/dist/components/TagsInput/TagsInput.d.ts.map +1 -1
- package/dist/components/TagsInput/index.cjs +15 -15
- package/dist/components/TagsInput/index.js +14 -14
- package/dist/components/Text/Heading.d.ts.map +1 -1
- package/dist/components/Text/Text.d.ts.map +1 -1
- package/dist/components/Text/index.cjs +5 -5
- package/dist/components/Text/index.js +3 -3
- package/dist/components/Text/useTruncation.d.ts.map +1 -1
- package/dist/components/TextArea/TextArea.d.ts.map +1 -1
- package/dist/components/TextArea/index.cjs +7 -7
- package/dist/components/TextArea/index.js +6 -6
- package/dist/components/TextInput/TextInput.d.ts.map +1 -1
- package/dist/components/TextInput/index.cjs +12 -12
- package/dist/components/TextInput/index.js +11 -11
- package/dist/components/Theme/Theme.d.ts.map +1 -1
- package/dist/components/Theme/index.cjs +2 -2
- package/dist/components/Theme/index.js +1 -1
- package/dist/components/Thumbnail/Thumbnail.d.ts.map +1 -1
- package/dist/components/Thumbnail/index.cjs +10 -10
- package/dist/components/Thumbnail/index.js +9 -9
- package/dist/components/TimeInput/TimeInput.d.ts.map +1 -1
- package/dist/components/TimeInput/index.cjs +11 -11
- package/dist/components/TimeInput/index.js +10 -10
- package/dist/components/Toast/Toast.d.ts.map +1 -1
- package/dist/components/Toast/ToastContext.d.ts.map +1 -1
- package/dist/components/Toast/ToastViewport.d.ts.map +1 -1
- package/dist/components/Toast/index.cjs +12 -12
- package/dist/components/Toast/index.js +9 -9
- package/dist/components/Toast/useToast.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButton.d.ts.map +1 -1
- package/dist/components/ToggleButton/ToggleButtonGroup.d.ts.map +1 -1
- package/dist/components/ToggleButton/index.cjs +7 -7
- package/dist/components/ToggleButton/index.js +5 -5
- package/dist/components/Tooltip/Tooltip.d.ts.map +1 -1
- package/dist/components/Tooltip/index.cjs +4 -4
- package/dist/components/Tooltip/index.js +2 -2
- package/dist/components/Tooltip/useTooltip.d.ts.map +1 -1
- package/dist/components/TopNav/TopNav.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavContext.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavHeading.d.ts.map +1 -1
- package/dist/components/TopNav/TopNavItem.d.ts.map +1 -1
- package/dist/components/TopNav/index.cjs +18 -18
- package/dist/components/TopNav/index.js +13 -13
- package/dist/components/TreeView/TreeView.d.ts.map +1 -1
- package/dist/components/TreeView/TreeViewItem.d.ts.map +1 -1
- package/dist/components/TreeView/index.cjs +3 -3
- package/dist/components/TreeView/index.js +2 -2
- package/dist/index.cjs +246 -246
- package/dist/index.js +76 -76
- package/dist/internal/ActionElement.d.ts.map +1 -1
- package/dist/internal/HoverLayerTrigger.d.ts.map +1 -1
- package/dist/internal/MobileNav/MobileNav.d.ts.map +1 -1
- package/dist/internal/MobileNav/MobileNavToggle.d.ts.map +1 -1
- package/dist/internal/OverflowList.d.ts.map +1 -1
- package/dist/internal/linkAccessibility.d.ts.map +1 -1
- package/dist/internal/useBackdropDismiss.d.ts.map +1 -1
- package/dist/internal/useConstant.d.ts.map +1 -1
- package/dist/internal/useFocusTrap.d.ts.map +1 -1
- package/dist/internal/useGridFocus.d.ts.map +1 -1
- package/dist/internal/useHoverLayer.d.ts.map +1 -1
- package/dist/internal/useLatest.d.ts.map +1 -1
- package/dist/internal/useLayer.d.ts.map +1 -1
- package/dist/internal/useListboxNavigation.d.ts.map +1 -1
- package/dist/internal/useMediaQuery.d.ts.map +1 -1
- package/dist/internal/useScrollLock.d.ts.map +1 -1
- package/dist/internal/useSelectListbox.d.ts.map +1 -1
- package/dist/internal/useShallowEqualMemo.d.ts.map +1 -1
- package/dist/styles.css +1 -1
- package/package.json +3 -2
- package/dist/chunk-2AOR4EVA.cjs.map +0 -1
- package/dist/chunk-2N3PIXZ5.cjs.map +0 -1
- package/dist/chunk-3NIDAKCF.cjs.map +0 -1
- package/dist/chunk-3PCXFOOS.js.map +0 -1
- package/dist/chunk-3PEK2Q54.cjs.map +0 -1
- package/dist/chunk-3W3ST5Y3.cjs.map +0 -1
- package/dist/chunk-4MIIXRZN.cjs.map +0 -1
- package/dist/chunk-56PY2CD7.js.map +0 -1
- package/dist/chunk-5FQKELP6.js.map +0 -1
- package/dist/chunk-5HPXPF3F.js.map +0 -1
- package/dist/chunk-5K3C3INR.cjs.map +0 -1
- package/dist/chunk-5RFHYDQY.js.map +0 -1
- package/dist/chunk-5UGHDUMO.js.map +0 -1
- package/dist/chunk-63QPCV4F.cjs.map +0 -1
- package/dist/chunk-6OWEKKOC.js.map +0 -1
- package/dist/chunk-6R2UZNVE.js.map +0 -1
- package/dist/chunk-6SFMORQF.cjs.map +0 -1
- package/dist/chunk-6SKIBUCY.js.map +0 -1
- package/dist/chunk-6SMVH3ON.cjs.map +0 -1
- package/dist/chunk-6ZPHID26.cjs.map +0 -1
- package/dist/chunk-AC4E3WQA.cjs.map +0 -1
- package/dist/chunk-ACGPBJIS.js.map +0 -1
- package/dist/chunk-ARUOMLOJ.cjs.map +0 -1
- package/dist/chunk-BBLAZNCC.js.map +0 -1
- package/dist/chunk-BKKLUIIU.js.map +0 -1
- package/dist/chunk-BSXUNRET.cjs.map +0 -1
- package/dist/chunk-BYV7NXC5.cjs.map +0 -1
- package/dist/chunk-CQYBC3RJ.cjs.map +0 -1
- package/dist/chunk-CWZCBYVZ.cjs.map +0 -1
- package/dist/chunk-DE7JLNSO.js.map +0 -1
- package/dist/chunk-DVCDAKPK.cjs.map +0 -1
- package/dist/chunk-EBV3EX3J.js.map +0 -1
- package/dist/chunk-ESWYWWY2.js.map +0 -1
- package/dist/chunk-EZFQCREN.cjs.map +0 -1
- package/dist/chunk-FQSVY4QB.js.map +0 -1
- package/dist/chunk-FTNEAX24.js.map +0 -1
- package/dist/chunk-GJZAGTPV.cjs.map +0 -1
- package/dist/chunk-GTZQT6MK.js.map +0 -1
- package/dist/chunk-H7LOOHWU.cjs.map +0 -1
- package/dist/chunk-HC57X3U4.js.map +0 -1
- package/dist/chunk-HENIVDYQ.cjs.map +0 -1
- package/dist/chunk-HN4W6TM6.cjs.map +0 -1
- package/dist/chunk-I2DXEPDF.js.map +0 -1
- package/dist/chunk-IREOTHD3.cjs.map +0 -1
- package/dist/chunk-J242UTPO.cjs.map +0 -1
- package/dist/chunk-JIF5TZHC.cjs.map +0 -1
- package/dist/chunk-JMVYWHJ7.js.map +0 -1
- package/dist/chunk-KEPCKSDE.js.map +0 -1
- package/dist/chunk-KLCEDPJ4.cjs.map +0 -1
- package/dist/chunk-KWZMXX4F.js.map +0 -1
- package/dist/chunk-L747HIHG.js.map +0 -1
- package/dist/chunk-LBOWHXOF.js.map +0 -1
- package/dist/chunk-MDQSVB2Y.js.map +0 -1
- package/dist/chunk-MJHEPDDX.cjs.map +0 -1
- package/dist/chunk-MYSLJWCW.cjs.map +0 -1
- package/dist/chunk-N6C37HXD.js.map +0 -1
- package/dist/chunk-NGNVNRAZ.cjs.map +0 -1
- package/dist/chunk-NIKT7XSO.js.map +0 -1
- package/dist/chunk-NYOZQE6P.js.map +0 -1
- package/dist/chunk-OPBELSKN.js.map +0 -1
- package/dist/chunk-OUUG4RHO.js.map +0 -1
- package/dist/chunk-PG4CZRTU.js.map +0 -1
- package/dist/chunk-PGBYMBGH.js.map +0 -1
- package/dist/chunk-PKZSJX53.cjs.map +0 -1
- package/dist/chunk-PQXPYN23.js.map +0 -1
- package/dist/chunk-PXTTIAC4.cjs.map +0 -1
- package/dist/chunk-PYN75QAG.js.map +0 -1
- package/dist/chunk-PZHRFASW.js.map +0 -1
- package/dist/chunk-Q6YOSQAM.js.map +0 -1
- package/dist/chunk-QQCEGAUQ.cjs.map +0 -1
- package/dist/chunk-RLIBY7XB.cjs.map +0 -1
- package/dist/chunk-S4WWBV4N.js.map +0 -1
- package/dist/chunk-TACO5IWI.cjs.map +0 -1
- package/dist/chunk-UJDHRILS.cjs.map +0 -1
- package/dist/chunk-UUVI3TYW.js.map +0 -1
- package/dist/chunk-VK7DXUGH.cjs.map +0 -1
- package/dist/chunk-VPWNRWNO.cjs.map +0 -1
- package/dist/chunk-WOVSJHY6.cjs.map +0 -1
- package/dist/chunk-WTCH3QCQ.js.map +0 -1
- package/dist/chunk-XUCLNECV.js.map +0 -1
- package/dist/chunk-YGESCFX2.js.map +0 -1
- package/dist/chunk-ZDZ7FW6V.cjs.map +0 -1
- package/dist/chunk-ZW2ZOEYM.cjs.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/Table/columnUtils.ts","../src/components/Table/Table.recipe.ts","../src/components/Table/TableBody.tsx","../src/components/Table/TableContext.ts","../src/components/Table/TableCell.tsx","../src/components/Table/TableHeader.tsx","../src/components/Table/TableHeaderCell.tsx","../src/components/Table/TableRow.tsx","../src/components/Table/useBaseTablePlugins.ts","../src/internal/shallowEqual.ts","../src/internal/useShallowEqualMemo.ts","../src/components/Table/Table.tsx","../src/components/Table/TableFooter.tsx","../src/components/Table/plugins/columnResize/useTableColumnResize.tsx","../src/components/Table/plugins/columnSettings/useTableColumnSettings.tsx","../src/components/Table/plugins/columnSettings/useTableColumnSettingsState.tsx","../src/components/Table/plugins/filtering/useTableFiltering.tsx","../src/components/Table/plugins/filtering/useTableFilterState.tsx","../src/components/Table/plugins/pagination/paginateData.ts","../src/components/Table/plugins/pagination/useTablePagination.tsx","../src/internal/useConstant.ts","../src/components/Table/plugins/selection/useTableSelection.tsx","../src/components/Table/plugins/selection/useTableSelectionState.tsx","../src/components/Table/plugins/sortable/useTableSortable.tsx","../src/components/Table/plugins/sortable/useTableSortableState.tsx"],"names":["Temporal","sva","jsx","createContext","use","cx","useMemo","useRef","Text","Fragment","memo","isReactNode","jsxs","EmptyState","css","useCallback","useEffect","styles","plainDateToUnixSeconds","getBrowserTimezoneID","TextInput","NumberInput","Select","MultiSelect","DateInput","TimeInput","createStaticSearchSource","TagsInput","useState","Popover","Button","Filter","Pagination","useSyncExternalStore","CheckboxInput","useLatest_default","mergeRefs","entry","ArrowUp","ArrowDown","ChevronsUpDown","nextDirection","Icon"],"mappings":"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","file":"chunk-BJSF4VYC.cjs","sourcesContent":["import {Temporal} from '@js-temporal/polyfill';\nimport type {CSSProperties, ReactNode} from 'react';\nimport type {\n PixelWidth,\n ProportionalWidth,\n TableColumn,\n} from 'components/Table/types';\n\nexport const DEFAULT_MIN_COLUMN_WIDTH = 120;\n\nexport interface ResolvedColumnWidth {\n style: CSSProperties;\n}\n\nexport interface ResolvedColumnWidths {\n columns: Map<string, ResolvedColumnWidth>;\n tableMinWidth: number;\n}\n\nexport function proportional(\n value: number = 1,\n options?: {minWidth?: number},\n): ProportionalWidth {\n return {\n minWidth: options?.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH,\n type: 'proportional',\n value,\n };\n}\n\nexport function pixel(value: number): PixelWidth {\n return {type: 'pixel', value};\n}\n\nexport function resolveColumnWidths<T extends Record<string, unknown>>(\n columns: TableColumn<T>[],\n): ResolvedColumnWidths {\n let totalProportion = 0;\n let pixelTotal = 0;\n const proportionalColumns: {\n key: string;\n minWidth: number;\n proportion: number;\n }[] = [];\n\n for (const column of columns) {\n const width = column.width;\n if (width?.type === 'pixel') {\n pixelTotal += width.value;\n } else {\n const proportion = width?.value ?? 1;\n const minWidth =\n width == null ? 0 : (width.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH);\n totalProportion += proportion;\n proportionalColumns.push({key: column.key, minWidth, proportion});\n }\n }\n\n let proportionalMinSpace = 0;\n if (totalProportion > 0) {\n for (const column of proportionalColumns) {\n proportionalMinSpace = Math.max(\n proportionalMinSpace,\n (column.minWidth * totalProportion) / column.proportion,\n );\n }\n }\n\n const resolved = new Map<string, ResolvedColumnWidth>();\n for (const column of columns) {\n const width = column.width;\n const style: CSSProperties = {};\n\n if (width?.type === 'pixel') {\n style.minWidth = `${width.value}px`;\n style.width = `${width.value}px`;\n } else {\n const proportion = width?.value ?? 1;\n if (totalProportion > 0) {\n style.width = `${(proportion / totalProportion) * 100}%`;\n }\n if (width != null) {\n style.minWidth = `${width.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH}px`;\n }\n }\n\n resolved.set(column.key, {style});\n }\n\n return {\n columns: resolved,\n tableMinWidth: pixelTotal + proportionalMinSpace,\n };\n}\n\nexport function capitalize(value: string): string {\n return value.length === 0\n ? value\n : value.charAt(0).toUpperCase() + value.slice(1);\n}\n\nconst warnedUnsupportedCellKeys = new Set<string>();\n\nexport function defaultCellRenderer<T extends Record<string, unknown>>(\n item: T,\n key: string,\n): ReactNode {\n const value = item[key];\n if (value == null) {\n return '';\n }\n // Default rendering intentionally supports Temporal date/time values only.\n // Use renderCell for native Date instances or other object values.\n if (\n value instanceof Temporal.Instant ||\n value instanceof Temporal.PlainDate ||\n value instanceof Temporal.PlainDateTime ||\n value instanceof Temporal.PlainTime ||\n value instanceof Temporal.ZonedDateTime\n ) {\n return value.toString();\n }\n if (\n typeof value === 'bigint' ||\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string'\n ) {\n return String(value);\n }\n // Unsupported type (object, array, native Date, function, …). This renders an\n // empty cell, which usually means a `renderCell` is missing for the column.\n if (\n process.env.NODE_ENV !== 'production' &&\n !warnedUnsupportedCellKeys.has(key)\n ) {\n warnedUnsupportedCellKeys.add(key);\n const typeName =\n typeof value === 'object'\n ? Object.prototype.toString.call(value).slice(8, -1)\n : typeof value;\n console.warn(\n `[Table] Column \"${key}\" has a value of unsupported type ${typeName} and ` +\n 'rendered as an empty cell. Provide a `renderCell` for this column.',\n );\n }\n return '';\n}\n\nfunction estimateContentLength(value: unknown): number {\n if (value == null) {\n return 0;\n }\n if (\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string'\n ) {\n return String(value).length;\n }\n return 0;\n}\n\nfunction longestWord(value: unknown): number {\n if (\n value == null ||\n (typeof value !== 'boolean' &&\n typeof value !== 'number' &&\n typeof value !== 'string')\n ) {\n return 0;\n }\n return String(value)\n .split(/\\s+/)\n .reduce((max, word) => Math.max(max, word.length), 0);\n}\n\nexport function generateColumns<T extends Record<string, unknown>>(\n data: T[],\n): TableColumn<T>[] {\n if (data.length === 0) {\n return [];\n }\n\n const sampleRows = data.slice(0, Math.min(5, data.length));\n return Object.keys(data[0]).map(key => {\n const header = capitalize(key);\n let maxContentLength = header.length;\n let maxWordLength = header.length;\n\n for (const row of sampleRows) {\n maxContentLength = Math.max(\n maxContentLength,\n estimateContentLength(row[key]),\n );\n maxWordLength = Math.max(maxWordLength, longestWord(row[key]));\n }\n\n const proportion =\n maxContentLength <= 6 ? 1 : maxContentLength <= 15 ? 2 : 3;\n const minWidth = Math.max(Math.max(header.length, maxWordLength) * 8, 60);\n\n return {\n header,\n key,\n width: proportional(proportion, {minWidth}),\n };\n });\n}\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\n/**\n * Slot recipe consolidating the Table family's context-driven styling. The\n * structural sub-components (`TableCell`, `TableHeaderCell`, `TableRow`) read\n * shared visual state from `TableContext` and each render a single slot from\n * this recipe; `Table` owns the `wrapper`, `table`, and `headerLabelRow`\n * slots. The `density`/`dividers` variants previously lived\n * duplicated across the cell and header-cell components and are unified here.\n */\nexport const tableRecipe = sva({\n slots: ['wrapper', 'table', 'headerLabelRow', 'row', 'cell', 'headerCell'],\n base: {\n wrapper: {\n overflowX: 'auto',\n WebkitOverflowScrolling: 'touch',\n },\n table: {\n color: 'fg',\n fontFamily: 'body',\n w: 'full',\n borderCollapse: 'collapse',\n borderSpacing: 0,\n tableLayout: 'fixed',\n },\n headerLabelRow: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '1',\n minW: 0,\n },\n row: {\n transitionDuration: 'fast',\n transitionProperty: 'background-color',\n transitionTimingFunction: 'default',\n },\n cell: {\n maxWidth: 0,\n },\n headerCell: {\n color: 'fg.muted',\n fontWeight: 'semibold',\n maxWidth: 0,\n overflow: 'hidden',\n textAlign: 'start',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n borderBottomWidth: 'default',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n },\n },\n variants: {\n density: {\n balanced: {\n cell: {fontSize: 'md', px: '3', py: '2'},\n headerCell: {fontSize: 'md', px: '3', py: '2'},\n },\n compact: {\n cell: {fontSize: 'md', px: '2', py: '1'},\n headerCell: {fontSize: 'md', px: '2', py: '1'},\n },\n spacious: {\n cell: {fontSize: 'md', px: '4', py: '3'},\n headerCell: {fontSize: 'md', px: '4', py: '3'},\n },\n },\n dividers: {\n none: {},\n rows: {\n cell: {\n borderBottomWidth: 'default',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n 'tbody > tr:last-child > &': {\n borderBottomWidth: 0,\n },\n },\n },\n columns: {\n cell: {\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n _last: {\n borderInlineEndWidth: 0,\n },\n },\n headerCell: {\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n _last: {\n borderInlineEndWidth: 0,\n },\n },\n },\n grid: {\n cell: {\n borderBottomWidth: 'default',\n borderBottomStyle: 'solid',\n borderBottomColor: 'border',\n 'tbody > tr:last-child > &': {\n borderBottomWidth: 0,\n },\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n _last: {\n borderInlineEndWidth: 0,\n },\n },\n headerCell: {\n borderInlineEndWidth: 'default',\n borderInlineEndStyle: 'solid',\n borderInlineEndColor: 'border',\n _last: {\n borderInlineEndWidth: 0,\n },\n },\n },\n },\n verticalAlign: {\n middle: {cell: {verticalAlign: 'middle'}},\n top: {cell: {verticalAlign: 'top'}},\n bottom: {cell: {verticalAlign: 'bottom'}},\n },\n textOverflow: {\n truncate: {\n cell: {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n },\n },\n wrap: {\n cell: {\n overflow: 'hidden',\n overflowWrap: 'break-word',\n whiteSpace: 'normal',\n wordBreak: 'break-word',\n },\n },\n },\n // Row background variants. Striping and hover combine, so the combined\n // presentation lives in compoundVariants below.\n isStriped: {\n true: {},\n false: {},\n },\n hasHover: {\n true: {},\n false: {},\n },\n // Auto layout when the table renders consumer-provided children; the\n // default fixed layout lives in the base `table` slot.\n isAutoLayout: {\n true: {table: {tableLayout: 'auto'}},\n false: {},\n },\n },\n compoundVariants: [\n {\n isStriped: false,\n hasHover: true,\n css: {\n row: {\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.subtle',\n },\n },\n },\n },\n },\n {\n isStriped: true,\n hasHover: false,\n css: {\n row: {\n _even: {\n bg: 'bg.subtle',\n },\n },\n },\n },\n {\n isStriped: true,\n hasHover: true,\n css: {\n row: {\n _even: {\n bg: 'bg.subtle',\n },\n _hover: {\n '@media (hover: hover)': {\n bg: 'bg.hover',\n },\n },\n },\n },\n },\n ],\n defaultVariants: {\n density: 'balanced',\n dividers: 'rows',\n verticalAlign: 'middle',\n textOverflow: 'wrap',\n isStriped: false,\n hasHover: false,\n isAutoLayout: false,\n },\n});\n\nexport type TableVariants = RecipeVariantProps<typeof tableRecipe>;\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface TableBodyProps {\n /**\n * Table row elements rendered inside the body.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tbody.\n */\n className?: string;\n /**\n * Test ID applied to the tbody.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the tbody element.\n */\n ref?: Ref<HTMLTableSectionElement>;\n /**\n * Inline styles applied to the tbody.\n */\n style?: CSSProperties;\n}\n\n/**\n * Wraps table body rows in a `<tbody>` element.\n */\nexport function TableBody({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableBodyProps): React.JSX.Element {\n return (\n <tbody\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </tbody>\n );\n}\n\nTableBody.displayName = 'TableBody';\n","'use client';\n\nimport {createContext, use} from 'react';\nimport type {TableContextValue} from 'components/Table/types';\n\nexport const TableContext = createContext<TableContextValue | null>(null);\nTableContext.displayName = 'TableContext';\n\nexport function useTableContext(): TableContextValue | null {\n return use(TableContext);\n}\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {tableRecipe} from 'components/Table/Table.recipe';\nimport {useTableContext} from 'components/Table/TableContext';\nimport {cx} from 'internal/cx';\n\nexport interface TableCellProps {\n /**\n * Cell content.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the td.\n */\n className?: string;\n /**\n * Number of columns the cell spans.\n */\n colSpan?: number;\n /**\n * Test ID applied to the td.\n */\n 'data-testid'?: string;\n /**\n * Space-separated list of header cell IDs this cell relates to.\n */\n headers?: string;\n /**\n * Ref forwarded to the td element.\n */\n ref?: Ref<HTMLTableCellElement>;\n /**\n * Number of rows the cell spans.\n */\n rowSpan?: number;\n /**\n * Scope of the cell when used as a header-like td.\n */\n scope?: 'col' | 'colgroup' | 'row' | 'rowgroup';\n /**\n * Inline styles applied to the td.\n */\n style?: CSSProperties;\n}\n\n/**\n * Table data cell with density, alignment, and divider styling from context.\n */\nexport function TableCell({\n children,\n className,\n colSpan,\n 'data-testid': dataTestId,\n headers,\n ref,\n rowSpan,\n style,\n}: TableCellProps): React.JSX.Element {\n const context = useTableContext();\n const classes = tableRecipe({\n density: context?.density,\n dividers: context?.dividers,\n textOverflow: context?.textOverflow,\n verticalAlign: context?.verticalAlign,\n });\n return (\n <td\n className={cx(classes.cell, className)}\n colSpan={colSpan}\n data-part=\"cell\"\n data-testid={dataTestId}\n headers={headers}\n ref={ref}\n rowSpan={rowSpan}\n style={style}>\n {children}\n </td>\n );\n}\n\nTableCell.displayName = 'TableCell';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface TableHeaderProps {\n /**\n * Header row elements rendered inside the thead.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the thead.\n */\n className?: string;\n /**\n * Test ID applied to the thead.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the thead element.\n */\n ref?: Ref<HTMLTableSectionElement>;\n /**\n * Inline styles applied to the thead.\n */\n style?: CSSProperties;\n}\n\n/**\n * Wraps table header rows in a `<thead>` element.\n */\nexport function TableHeader({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableHeaderProps): React.JSX.Element {\n return (\n <thead\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </thead>\n );\n}\n\nTableHeader.displayName = 'TableHeader';\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {tableRecipe} from 'components/Table/Table.recipe';\nimport {useTableContext} from 'components/Table/TableContext';\nimport {cx} from 'internal/cx';\n\nexport interface TableHeaderCellProps {\n /**\n * Header cell content.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the th.\n */\n className?: string;\n /**\n * Test ID applied to the th.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the th element.\n */\n ref?: Ref<HTMLTableCellElement>;\n /**\n * Scope of the header cell.\n * @default 'col'\n */\n scope?: 'col' | 'colgroup' | 'row' | 'rowgroup';\n /**\n * Inline styles applied to the th.\n */\n style?: CSSProperties;\n}\n\n/**\n * Table header cell with density and divider styling from context.\n */\nexport function TableHeaderCell({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n scope = 'col',\n style,\n}: TableHeaderCellProps): React.JSX.Element {\n const context = useTableContext();\n const classes = tableRecipe({\n density: context?.density,\n dividers: context?.dividers,\n });\n return (\n <th\n className={cx(classes.headerCell, className)}\n data-part=\"header-cell\"\n data-testid={dataTestId}\n ref={ref}\n scope={scope}\n style={style}>\n {children}\n </th>\n );\n}\n\nTableHeaderCell.displayName = 'TableHeaderCell';\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {tableRecipe} from 'components/Table/Table.recipe';\nimport {useTableContext} from 'components/Table/TableContext';\nimport {cx} from 'internal/cx';\n\nexport interface TableRowProps {\n /**\n * Cell elements rendered inside the row.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tr.\n */\n className?: string;\n /**\n * Test ID applied to the tr.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the tr element.\n */\n ref?: Ref<HTMLTableRowElement>;\n /**\n * Inline styles applied to the tr.\n */\n style?: CSSProperties;\n}\n\n/**\n * Table row with hover and striped styling from context.\n */\nexport function TableRow({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableRowProps): React.JSX.Element {\n const context = useTableContext();\n const classes = tableRecipe({\n isStriped: context?.isStriped,\n hasHover: context?.hasHover,\n });\n\n return (\n <tr\n className={cx(classes.row, className)}\n data-part=\"row\"\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </tr>\n );\n}\n\nTableRow.displayName = 'TableRow';\n","'use client';\n\nimport {useMemo} from 'react';\nimport type {TablePlugin} from 'components/Table/types';\n\nconst CANONICAL_PLUGIN_ORDER = [\n 'columnSettings',\n 'sort',\n 'selection',\n 'filtering',\n 'columnResize',\n 'pagination',\n] as const;\n\nconst CANONICAL_PLUGIN_KEYS = new Set<string>(CANONICAL_PLUGIN_ORDER);\n\nfunction orderNamedPlugins<T extends Record<string, unknown>>(\n userPlugins: Record<string, TablePlugin<T>>,\n): TablePlugin<T>[] {\n const entries = Object.entries(userPlugins);\n const pluginsByName = new Map(entries);\n const orderedPlugins = CANONICAL_PLUGIN_ORDER.filter(key =>\n pluginsByName.has(key),\n ).map(key => pluginsByName.get(key) as TablePlugin<T>);\n const customPlugins = entries\n .filter(([key]) => !CANONICAL_PLUGIN_KEYS.has(key))\n .map(([, plugin]) => plugin);\n\n return [...orderedPlugins, ...customPlugins];\n}\n\nexport function useBaseTablePlugins<T extends Record<string, unknown>>(\n userPlugins?: Record<string, TablePlugin<T>> | TablePlugin<T>[],\n): TablePlugin<T>[] {\n return useMemo(\n () =>\n Array.isArray(userPlugins)\n ? userPlugins\n : orderNamedPlugins(userPlugins ?? {}),\n [userPlugins],\n );\n}\n","/**\n * Shallow structural equality: `true` when `a` and `b` are the same reference,\n * or are arrays/objects with the same set of keys whose values are each equal\n * by `Object.is`. Non-object values are compared with `Object.is`.\n */\nexport function shallowEqual<T>(a: T, b: T): boolean {\n if (Object.is(a, b)) {\n return true;\n }\n if (\n typeof a !== 'object' ||\n a === null ||\n typeof b !== 'object' ||\n b === null\n ) {\n return false;\n }\n\n const aKeys = Object.keys(a);\n const bKeys = Object.keys(b);\n if (aKeys.length !== bKeys.length) {\n return false;\n }\n\n const aRecord = a as Record<string, unknown>;\n const bRecord = b as Record<string, unknown>;\n for (const key of aKeys) {\n if (\n !Object.prototype.hasOwnProperty.call(b, key) ||\n !Object.is(aRecord[key], bRecord[key])\n ) {\n return false;\n }\n }\n return true;\n}\n","'use client';\n\nimport {useRef} from 'react';\nimport {shallowEqual} from 'internal/shallowEqual';\n\n/**\n * Returns a referentially stable version of `value`: the same reference is\n * preserved across renders for as long as each new value is shallow-equal to\n * the last one returned. Identity only changes when the shallow contents\n * change.\n *\n * Useful when an upstream value is rebuilt every render (e.g. a freshly mapped\n * array) but its contents are usually unchanged, and something downstream\n * compares it by reference — a `memo` comparator, an effect dependency, etc.\n */\nconst useShallowEqualMemo = <T>(value: T): T => {\n const ref = useRef(value);\n /* eslint-disable @eslint-react/refs -- memo-compare: the slot is read and rewritten only when the shallow contents change, preserving identity otherwise */\n if (!shallowEqual(ref.current, value)) {\n ref.current = value;\n }\n return ref.current;\n /* eslint-enable @eslint-react/refs */\n};\n\nexport default useShallowEqualMemo;\n","'use client';\n\nimport {\n memo,\n useMemo,\n type CSSProperties,\n type HTMLAttributes,\n type ReactElement,\n type ReactNode,\n type Ref,\n} from 'react';\nimport {EmptyState} from 'components/EmptyState';\nimport {tableRecipe} from 'components/Table/Table.recipe';\nimport {TableBody} from 'components/Table/TableBody';\nimport {TableCell} from 'components/Table/TableCell';\nimport {TableContext} from 'components/Table/TableContext';\nimport {TableHeader} from 'components/Table/TableHeader';\nimport {TableHeaderCell} from 'components/Table/TableHeaderCell';\nimport {TableRow} from 'components/Table/TableRow';\nimport {\n defaultCellRenderer,\n generateColumns,\n resolveColumnWidths,\n} from 'components/Table/columnUtils';\nimport type {\n BodyCellRenderProps,\n BodyRowRenderProps,\n HeaderCellRenderProps,\n HeaderRowRenderProps,\n TableCellComponentProps,\n TableColumn,\n TableContextValue,\n TableDensity,\n TableDividers,\n TableHeaderCellComponentProps,\n TablePlugin,\n TableRenderProps,\n TableRowComponentProps,\n TableTextOverflow,\n TableVerticalAlign,\n} from 'components/Table/types';\nimport {useBaseTablePlugins} from 'components/Table/useBaseTablePlugins';\nimport {Text} from 'components/Text';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\nimport useShallowEqualMemo from 'internal/useShallowEqualMemo';\n\nexport interface TableProps<T extends Record<string, unknown>> {\n /**\n * Table primitives rendered instead of data-driven content. When provided,\n * `columns`/`data` are ignored and the children are rendered as-is.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the table element.\n */\n className?: string;\n /**\n * Column definitions. When omitted, columns are inferred from `data`.\n */\n columns?: TableColumn<T>[];\n /**\n * Row data rendered into the table body.\n */\n data?: T[];\n /**\n * Test ID applied to the table element.\n */\n 'data-testid'?: string;\n /**\n * Spacing density for rows and cells.\n * @default 'balanced'\n */\n density?: TableDensity;\n /**\n * Which divider lines to show between cells.\n * @default 'rows'\n */\n dividers?: TableDividers;\n /**\n * Content shown when `data` is an empty array. Omit for the default empty\n * state; pass `null` to render nothing.\n */\n emptyState?: ReactNode;\n /**\n * Whether rows highlight on hover.\n * @default false\n */\n hasHover?: boolean;\n /**\n * Stable row identity, used as the React key for each body row.\n */\n idKey?: (keyof T & string) | ((item: T) => number | string);\n /**\n * Whether alternating rows have a subtle background.\n * @default false\n */\n isStriped?: boolean;\n /**\n * Plugin map or array that extends table behavior.\n */\n plugins?: Record<string, TablePlugin<T>> | TablePlugin<T>[];\n /**\n * Ref forwarded to the table element.\n */\n ref?: Ref<HTMLTableElement>;\n /**\n * Inline styles applied to the table element.\n */\n style?: CSSProperties;\n /**\n * Extra HTML attributes spread onto the table element.\n */\n tableProps?: HTMLAttributes<HTMLTableElement>;\n /**\n * How overflowing cell text is handled.\n * @default 'wrap'\n */\n textOverflow?: TableTextOverflow;\n /**\n * Vertical alignment of cell content.\n * @default 'middle'\n */\n verticalAlign?: TableVerticalAlign;\n}\n\nfunction applyPlugins<TPlugin, TProps, TArgs extends unknown[]>(\n plugins: TPlugin[],\n getter: (\n plugin: TPlugin,\n ) => ((props: TProps, ...args: TArgs) => TProps) | undefined,\n initial: TProps,\n ...args: TArgs\n): TProps {\n return plugins.reduce<TProps>((accumulator, plugin, index) => {\n const transform = getter(plugin);\n if (transform == null) {\n return accumulator;\n }\n try {\n return transform(accumulator, ...args);\n } catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n throw error;\n }\n console.error(`[Table] Plugin at index ${index} threw:`, error);\n return accumulator;\n }\n }, initial);\n}\n\ninterface DataRowProps<T extends Record<string, unknown>> {\n CellComponent: React.ComponentType<TableCellComponentProps>;\n columns: TableColumn<T>[];\n item: T;\n plugins: TablePlugin<T>[];\n RowComponent: React.ComponentType<TableRowComponentProps>;\n rowIndex: number;\n rowKey: number | string;\n textOverflow: 'truncate' | 'wrap';\n}\n\nfunction DataRowInner<T extends Record<string, unknown>>({\n CellComponent,\n RowComponent,\n columns,\n item,\n plugins,\n rowIndex,\n rowKey,\n textOverflow,\n}: DataRowProps<T>): ReactElement {\n const cells = columns.map(column => {\n const initialHtmlProps: BodyCellRenderProps['htmlProps'] = {};\n if (column.align) {\n initialHtmlProps.style = {textAlign: column.align};\n }\n\n const cellProps = applyPlugins(\n plugins,\n plugin => plugin.transformBodyCell,\n {htmlProps: initialHtmlProps} satisfies BodyCellRenderProps,\n column,\n item,\n );\n\n const isDefaultRenderer = column.renderCell == null;\n const rawContent = isDefaultRenderer\n ? defaultCellRenderer(item, column.key)\n : (column.renderCell?.(item) ?? null);\n const content =\n isDefaultRenderer &&\n textOverflow === 'truncate' &&\n typeof rawContent === 'string' &&\n rawContent.length > 0 ? (\n <Text maxLines={1} type=\"body\">\n {rawContent}\n </Text>\n ) : (\n rawContent\n );\n\n return (\n <CellComponent\n key={column.key}\n {...cellProps.htmlProps}\n className={cx(cellProps.htmlProps.className, cellProps.className)}>\n {content}\n </CellComponent>\n );\n });\n\n const rowProps = applyPlugins(\n plugins,\n plugin => plugin.transformBodyRow,\n {\n children: <>{cells}</>,\n htmlProps: {},\n } satisfies BodyRowRenderProps,\n item,\n rowIndex,\n );\n\n return (\n <RowComponent\n key={rowKey}\n {...rowProps.htmlProps}\n className={cx(rowProps.htmlProps.className, rowProps.className)}\n ref={rowProps.ref}>\n {rowProps.children}\n </RowComponent>\n );\n}\n\nfunction areRowPropsEqual<T extends Record<string, unknown>>(\n previous: DataRowProps<T>,\n next: DataRowProps<T>,\n): boolean {\n if (\n previous.CellComponent !== next.CellComponent ||\n previous.RowComponent !== next.RowComponent ||\n previous.columns !== next.columns ||\n previous.plugins !== next.plugins ||\n previous.rowIndex !== next.rowIndex ||\n previous.rowKey !== next.rowKey ||\n previous.textOverflow !== next.textOverflow\n ) {\n return false;\n }\n\n if (previous.item === next.item) {\n return true;\n }\n\n return Object.keys(next.item).every(\n key => previous.item[key] === next.item[key],\n );\n}\n\nconst MemoizedDataRow = memo(DataRowInner, areRowPropsEqual) as <\n T extends Record<string, unknown>,\n>(\n props: DataRowProps<T>,\n) => ReactElement;\n\n/**\n * Data table with configurable density, dividers, hover, and striping. Applies\n * column definitions, plugins, and data mapping, and shares visual state with\n * its row/cell primitives through `TableContext`.\n */\nfunction TableInner<T extends Record<string, unknown>>({\n children,\n className,\n columns: columnsProp,\n data,\n 'data-testid': dataTestId,\n density = 'balanced',\n dividers = 'rows',\n emptyState,\n hasHover = false,\n idKey,\n isStriped = false,\n plugins: userPlugins,\n ref,\n style,\n tableProps,\n textOverflow = 'wrap',\n verticalAlign = 'middle',\n}: TableProps<T> & {ref?: Ref<HTMLTableElement>}): ReactElement {\n const plugins = useBaseTablePlugins(userPlugins);\n const contextValue = useMemo(\n (): TableContextValue => ({\n density,\n dividers,\n hasHover,\n isStriped,\n textOverflow,\n verticalAlign,\n }),\n [density, dividers, hasHover, isStriped, textOverflow, verticalAlign],\n );\n\n const classes = tableRecipe({isAutoLayout: isReactNode(children)});\n const RowComponent = TableRow as React.ComponentType<TableRowComponentProps>;\n const CellComponent =\n TableCell as React.ComponentType<TableCellComponentProps>;\n const HeaderCellComponent =\n TableHeaderCell as React.ComponentType<TableHeaderCellComponentProps>;\n\n const baseColumns =\n columnsProp ?? (data == null ? [] : generateColumns(data));\n const transformedColumns = applyPlugins(\n plugins,\n plugin => plugin.transformColumns,\n baseColumns,\n );\n // Keep `columns` referentially stable while its contents are unchanged so the\n // memoized data rows (which compare `columns` by identity) skip re-rendering\n // when an upstream value rebuilds the array each render.\n const columns = useShallowEqualMemo(transformedColumns);\n const widths = resolveColumnWidths(columns);\n\n const tableRenderProps = applyPlugins(\n plugins,\n plugin => plugin.transformTable,\n {\n htmlProps: tableProps ?? {},\n } satisfies TableRenderProps,\n );\n\n const headerCells = columns.map(column => {\n const headerContent = column.header ?? column.key;\n const initialHtmlProps: HeaderCellRenderProps['htmlProps'] & {\n 'data-column-key'?: string;\n } = {\n 'data-column-key': column.key,\n };\n if (column.align) {\n initialHtmlProps.style = {textAlign: column.align};\n }\n\n const headerCellProps = applyPlugins(\n plugins,\n plugin => plugin.transformHeaderCell,\n {\n content: headerContent,\n htmlProps: initialHtmlProps,\n } satisfies HeaderCellRenderProps,\n column,\n );\n\n const widthStyle = widths.columns.get(column.key)?.style ?? {};\n const mergedStyle = {\n ...widthStyle,\n ...headerCellProps.htmlProps.style,\n };\n const resolvedContent = headerCellProps.content ?? headerContent;\n const title =\n typeof resolvedContent === 'string' && resolvedContent.length > 0\n ? resolvedContent\n : undefined;\n const renderedContent =\n typeof resolvedContent === 'string' ||\n typeof resolvedContent === 'number' ? (\n <Text\n color=\"secondary\"\n maxLines={1}\n size=\"md\"\n type=\"body\"\n weight=\"semibold\">\n {resolvedContent}\n </Text>\n ) : (\n resolvedContent\n );\n const hasSlots =\n isReactNode(headerCellProps.before) ||\n isReactNode(headerCellProps.after) ||\n isReactNode(headerCellProps.overlay) ||\n isReactNode(headerCellProps.below);\n\n return (\n <HeaderCellComponent\n key={column.key}\n {...headerCellProps.htmlProps}\n className={cx(\n headerCellProps.htmlProps.className,\n headerCellProps.className,\n )}\n style={mergedStyle}\n title={title}>\n {hasSlots ? (\n <>\n {headerCellProps.before}\n {!isReactNode(headerCellProps.after) ? (\n renderedContent\n ) : (\n <div\n className={classes.headerLabelRow}\n data-part=\"header-label-row\">\n {renderedContent}\n {headerCellProps.after}\n </div>\n )}\n {headerCellProps.overlay}\n {headerCellProps.below}\n </>\n ) : (\n renderedContent\n )}\n </HeaderCellComponent>\n );\n });\n\n const headerRowProps = applyPlugins(\n plugins,\n plugin => plugin.transformHeaderRow,\n {\n children: <>{headerCells}</>,\n htmlProps: {},\n } satisfies HeaderRowRenderProps,\n );\n\n const tableStyle = {\n ...style,\n ...tableRenderProps.htmlProps.style,\n minWidth:\n widths.tableMinWidth > 0 ? `${widths.tableMinWidth}px` : undefined,\n };\n const hasData = data != null && data.length > 0;\n const hasColumns = columns.length > 0;\n\n let tableElement: ReactNode = (\n <div className={classes.wrapper} data-part=\"wrapper\">\n <table\n {...tableRenderProps.htmlProps}\n className={cx(\n classes.table,\n tableRenderProps.htmlProps.className,\n tableRenderProps.className,\n className,\n )}\n data-part=\"table\"\n data-testid={dataTestId}\n ref={ref}\n style={tableStyle}>\n {children ?? (\n <>\n {hasColumns ? (\n <TableHeader>\n <RowComponent\n {...headerRowProps.htmlProps}\n className={cx(\n headerRowProps.htmlProps.className,\n headerRowProps.className,\n )}>\n {headerRowProps.children}\n </RowComponent>\n </TableHeader>\n ) : null}\n <TableBody>\n {hasData\n ? data.map((item, rowIndex) => {\n const rowKey =\n idKey == null\n ? rowIndex\n : typeof idKey === 'function'\n ? idKey(item)\n : String(item[idKey]);\n return (\n <MemoizedDataRow\n CellComponent={CellComponent}\n columns={columns}\n item={item}\n key={rowKey}\n plugins={plugins}\n RowComponent={RowComponent}\n rowIndex={rowIndex}\n rowKey={rowKey}\n textOverflow={textOverflow}\n />\n );\n })\n : data != null &&\n (emptyState === undefined || isReactNode(emptyState)) && (\n <tr>\n <td colSpan={Math.max(columns.length, 1)}>\n {emptyState ?? <EmptyState isCompact title=\"No data\" />}\n </td>\n </tr>\n )}\n </TableBody>\n </>\n )}\n </table>\n </div>\n );\n\n for (let index = plugins.length - 1; index >= 0; index--) {\n const plugin = plugins[index];\n if (plugin.transformTableContext != null) {\n try {\n tableElement = plugin.transformTableContext(tableElement);\n } catch (error) {\n if (process.env.NODE_ENV !== 'production') {\n throw error;\n }\n console.error('[Table] Plugin threw in transformTableContext:', error);\n }\n }\n }\n\n return <TableContext value={contextValue}>{tableElement}</TableContext>;\n}\n\nexport const Table = TableInner as <T extends Record<string, unknown>>(\n props: TableProps<T> & {ref?: Ref<HTMLTableElement>},\n) => ReactElement;\n\n(Table as {displayName?: string}).displayName = 'Table';\n","import type {CSSProperties, ReactNode, Ref} from 'react';\n\nexport interface TableFooterProps {\n /**\n * Footer row elements rendered inside the tfoot.\n */\n children: ReactNode;\n /**\n * Additional CSS class names applied to the tfoot.\n */\n className?: string;\n /**\n * Test ID applied to the tfoot.\n */\n 'data-testid'?: string;\n /**\n * Ref forwarded to the tfoot element.\n */\n ref?: Ref<HTMLTableSectionElement>;\n /**\n * Inline styles applied to the tfoot.\n */\n style?: CSSProperties;\n}\n\n/**\n * Wraps table footer rows in a `<tfoot>` element.\n */\nexport function TableFooter({\n children,\n className,\n 'data-testid': dataTestId,\n ref,\n style,\n}: TableFooterProps): React.JSX.Element {\n return (\n <tfoot\n className={className}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {children}\n </tfoot>\n );\n}\n\nTableFooter.displayName = 'TableFooter';\n","'use client';\n\nimport {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n type CSSProperties,\n type ReactNode,\n} from 'react';\nimport {DEFAULT_MIN_COLUMN_WIDTH} from 'components/Table/columnUtils';\nimport type {\n ColumnWidth,\n HeaderCellRenderProps,\n TableColumn,\n TablePlugin,\n} from 'components/Table/types';\nimport {css} from 'styled-system/css';\n\nexport interface UseTableColumnResizeConfig {\n columns?: TableColumn<Record<string, unknown>>[];\n columnWidths?: Record<string, number>;\n maxWidth?: number;\n minWidth?: number;\n onColumnResizeEnd?: (updates: Record<string, number>) => void;\n}\n\ninterface DragState {\n columnKey: string;\n neighborIndex: number | null;\n resizeIndex: number;\n snapshots: ColumnSnapshot[];\n startX: number;\n tableWidth: number;\n}\n\ninterface ColumnSnapshot {\n initialMaxWidth: string;\n initialMinWidth: string;\n initialWidth: number;\n initialWidthStyle: string;\n key: string;\n maxWidth: number;\n minWidth: number;\n th: HTMLTableCellElement;\n}\n\ninterface PointerListeners {\n cancel: (event: PointerEvent) => void;\n move: (event: PointerEvent) => void;\n up: (event: PointerEvent) => void;\n}\n\nconst KEYBOARD_STEP = 10;\nconst KEYBOARD_LARGE_STEP = 50;\n\nconst styles = {\n handle: css({\n position: 'absolute',\n insetInlineEnd: 0,\n top: 0,\n bottom: 0,\n zIndex: 1,\n w: '4',\n cursor: 'ew-resize',\n borderWidth: 0,\n bg: 'transparent',\n p: 0,\n touchAction: 'none',\n userSelect: 'none',\n _after: {\n content: '\"\"',\n position: 'absolute',\n insetInlineEnd: 0,\n top: 0,\n bottom: 0,\n w: '2px',\n bg: 'transparent',\n transitionDuration: 'fast',\n transitionProperty: 'background-color, width',\n transitionTimingFunction: 'default',\n },\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n _hover: {\n _after: {\n bg: 'primary',\n },\n },\n '@media (pointer: coarse)': {\n display: 'none',\n },\n }),\n headerCell: css({\n overflow: 'visible',\n position: 'relative',\n }),\n} as const;\n\nfunction resolveColumnMinWidth(\n width: ColumnWidth | undefined,\n globalMinWidth: number | undefined,\n): number {\n if (globalMinWidth != null) {\n return globalMinWidth;\n }\n if (width?.type === 'pixel') {\n return width.value;\n }\n return width?.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH;\n}\n\nfunction applyWidth(th: HTMLTableCellElement, width: number): void {\n th.style.width = `${width}px`;\n th.style.minWidth = `${width}px`;\n th.style.maxWidth = `${width}px`;\n}\n\nfunction isProportionalColumn(width: ColumnWidth | undefined): boolean {\n return width == null || width.type === 'proportional';\n}\n\nfunction getRTLMultiplier(element: HTMLElement): number {\n return getComputedStyle(element).direction === 'rtl' ? -1 : 1;\n}\n\nfunction computeColumnWidths(drag: DragState, delta: number): number[] {\n const widths = drag.snapshots.map(snapshot => snapshot.initialWidth);\n\n if (drag.neighborIndex != null) {\n const neighbor = drag.snapshots[drag.neighborIndex];\n const self = drag.snapshots[drag.resizeIndex];\n const maxDelta = neighbor.initialWidth - neighbor.minWidth;\n const minDelta = self.minWidth - self.initialWidth;\n const clampedDelta = Math.max(minDelta, Math.min(delta, maxDelta));\n widths[drag.resizeIndex] = self.initialWidth + clampedDelta;\n widths[drag.neighborIndex] = neighbor.initialWidth - clampedDelta;\n } else {\n const self = drag.snapshots[drag.resizeIndex];\n widths[drag.resizeIndex] = Math.min(\n self.maxWidth,\n Math.max(self.minWidth, self.initialWidth + delta),\n );\n }\n\n const lastIndex = drag.snapshots.length - 1;\n const isResizingLastColumnWithoutNeighbor =\n drag.resizeIndex === lastIndex && drag.neighborIndex == null;\n if (\n lastIndex >= 0 &&\n drag.tableWidth > 0 &&\n !isResizingLastColumnWithoutNeighbor\n ) {\n const sumOthers = widths.reduce(\n (sum, width, index) => (index === lastIndex ? sum : sum + width),\n 0,\n );\n widths[lastIndex] = Math.max(\n drag.snapshots[lastIndex].minWidth,\n drag.tableWidth - sumOthers,\n );\n }\n\n return widths;\n}\n\nfunction applyWidths(snapshots: ColumnSnapshot[], widths: number[]): void {\n snapshots.forEach((snapshot, index) => {\n applyWidth(snapshot.th, widths[index]);\n });\n}\n\nfunction restoreSnapshotStyles(snapshots: ColumnSnapshot[]): void {\n snapshots.forEach(snapshot => {\n snapshot.th.style.width = snapshot.initialWidthStyle;\n snapshot.th.style.minWidth = snapshot.initialMinWidth;\n snapshot.th.style.maxWidth = snapshot.initialMaxWidth;\n });\n}\n\nfunction buildUpdates(\n drag: DragState,\n widths: number[],\n): Record<string, number> {\n const updates: Record<string, number> = {};\n const lastIndex = drag.snapshots.length - 1;\n const isResizingLastColumnWithoutNeighbor =\n drag.resizeIndex === lastIndex && drag.neighborIndex == null;\n if (isResizingLastColumnWithoutNeighbor) {\n const snapshot = drag.snapshots[drag.resizeIndex];\n updates[snapshot.key] = Math.round(widths[drag.resizeIndex]);\n return updates;\n }\n drag.snapshots.forEach((snapshot, index) => {\n if (index === lastIndex) {\n return;\n }\n updates[snapshot.key] = Math.round(widths[index]);\n });\n return updates;\n}\n\nfunction ResizeHandle({\n columnHeader,\n columnKey,\n configRef,\n currentWidth,\n maxWidth,\n minWidth,\n neighborKey,\n}: {\n columnHeader: ReactNode;\n columnKey: string;\n configRef: React.RefObject<UseTableColumnResizeConfig>;\n currentWidth: number | undefined;\n maxWidth: number;\n minWidth: number;\n neighborKey: string | null;\n}): React.JSX.Element {\n const dragStateRef = useRef<DragState | null>(null);\n const pointerListenersRef = useRef<PointerListeners | null>(null);\n\n const removePointerListeners = useCallback(() => {\n const listeners = pointerListenersRef.current;\n if (listeners == null) {\n return;\n }\n window.removeEventListener('pointermove', listeners.move);\n window.removeEventListener('pointerup', listeners.up);\n window.removeEventListener('pointercancel', listeners.cancel);\n pointerListenersRef.current = null;\n }, []);\n\n const buildDragState = useCallback(\n (th: HTMLTableCellElement, startX: number): DragState | null => {\n const headerRow = th.parentElement;\n if (headerRow == null) {\n return null;\n }\n\n const table = th.closest('table');\n const tableWidth = table?.getBoundingClientRect().width ?? 0;\n const columns = configRef.current.columns;\n const activeHeaderIndex = Array.from(headerRow.children).indexOf(th);\n const activeColumnIndex =\n columns?.findIndex(column => column.key === columnKey) ?? -1;\n const columnIndexOffset =\n activeHeaderIndex >= 0 && activeColumnIndex >= 0\n ? activeHeaderIndex - activeColumnIndex\n : 0;\n const columnsByKey = new Map(\n columns?.map(column => [column.key, column]),\n );\n const currentWidths = configRef.current.columnWidths ?? {};\n const snapshots: ColumnSnapshot[] = [];\n\n const allHeaders = Array.from(headerRow.children).filter(\n (child): child is HTMLTableCellElement =>\n child instanceof HTMLTableCellElement,\n );\n for (const [index, header] of allHeaders.entries()) {\n const key =\n header\n .querySelector<HTMLElement>('[data-column-key]')\n ?.getAttribute('data-column-key') ??\n columns?.[index - columnIndexOffset]?.key;\n if (key == null) {\n continue;\n }\n const snapshotColumn = columnsByKey.get(key);\n if (columns != null && snapshotColumn == null) {\n continue;\n }\n if (snapshotColumn?.resizable === false) {\n continue;\n }\n\n const renderedWidth = header.getBoundingClientRect().width;\n const overrideWidth: number | undefined =\n Object.prototype.hasOwnProperty.call(currentWidths, key)\n ? currentWidths[key]\n : undefined;\n snapshots.push({\n initialMaxWidth: header.style.maxWidth,\n initialMinWidth: header.style.minWidth,\n initialWidth:\n overrideWidth ?? (renderedWidth > 0 ? renderedWidth : minWidth),\n initialWidthStyle: header.style.width,\n key,\n maxWidth: configRef.current.maxWidth ?? Number.POSITIVE_INFINITY,\n minWidth:\n snapshotColumn == null\n ? minWidth\n : resolveColumnMinWidth(\n snapshotColumn.width,\n configRef.current.minWidth,\n ),\n th: header,\n });\n }\n\n const resizeIndex = snapshots.findIndex(\n snapshot => snapshot.key === columnKey,\n );\n if (resizeIndex < 0) {\n return null;\n }\n\n const neighborIndex =\n neighborKey == null\n ? null\n : snapshots.findIndex(snapshot => snapshot.key === neighborKey);\n\n return {\n columnKey,\n neighborIndex:\n neighborIndex == null || neighborIndex < 0 ? null : neighborIndex,\n resizeIndex,\n snapshots,\n startX,\n tableWidth,\n };\n },\n [columnKey, configRef, minWidth, neighborKey],\n );\n\n const commitResize = useCallback(\n (drag: DragState, delta: number) => {\n const widths = computeColumnWidths(drag, delta);\n applyWidths(drag.snapshots, widths);\n const updates = buildUpdates(drag, widths);\n if (Object.keys(updates).length > 0) {\n configRef.current.onColumnResizeEnd?.(updates);\n }\n },\n [configRef],\n );\n\n const handlePointerMove = useCallback(\n (event: PointerEvent) => {\n const drag = dragStateRef.current;\n if (drag == null) {\n return;\n }\n const delta =\n (event.clientX - drag.startX) *\n getRTLMultiplier(drag.snapshots[drag.resizeIndex].th);\n applyWidths(drag.snapshots, computeColumnWidths(drag, delta));\n },\n [dragStateRef],\n );\n\n const handlePointerUp = useCallback(\n (event: PointerEvent) => {\n const drag = dragStateRef.current;\n removePointerListeners();\n if (drag != null) {\n const delta =\n (event.clientX - drag.startX) *\n getRTLMultiplier(drag.snapshots[drag.resizeIndex].th);\n commitResize(drag, delta);\n }\n dragStateRef.current = null;\n },\n [commitResize, dragStateRef, removePointerListeners],\n );\n\n const handlePointerCancel = useCallback(() => {\n const drag = dragStateRef.current;\n if (drag != null) {\n restoreSnapshotStyles(drag.snapshots);\n }\n removePointerListeners();\n dragStateRef.current = null;\n }, [dragStateRef, removePointerListeners]);\n\n const handlePointerDown = useCallback(\n (event: React.PointerEvent<HTMLDivElement>) => {\n event.preventDefault();\n event.stopPropagation();\n const th = event.currentTarget.closest('th');\n if (th == null) {\n return;\n }\n const drag = buildDragState(th, event.clientX);\n if (drag == null) {\n return;\n }\n dragStateRef.current = drag;\n applyWidths(drag.snapshots, computeColumnWidths(drag, 0));\n pointerListenersRef.current = {\n cancel: handlePointerCancel,\n move: handlePointerMove,\n up: handlePointerUp,\n };\n window.addEventListener('pointermove', handlePointerMove);\n window.addEventListener('pointerup', handlePointerUp);\n window.addEventListener('pointercancel', handlePointerCancel);\n },\n [\n buildDragState,\n dragStateRef,\n handlePointerCancel,\n handlePointerMove,\n handlePointerUp,\n ],\n );\n\n const handleKeyDown = useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (\n event.key !== 'ArrowLeft' &&\n event.key !== 'ArrowRight' &&\n event.key !== 'Home' &&\n event.key !== 'End'\n ) {\n return;\n }\n event.preventDefault();\n event.stopPropagation();\n const th = event.currentTarget.closest('th');\n if (th == null) {\n return;\n }\n const drag = buildDragState(th, 0);\n if (drag == null) {\n return;\n }\n const activeSnapshot = drag.snapshots[drag.resizeIndex];\n const step = event.shiftKey ? KEYBOARD_LARGE_STEP : KEYBOARD_STEP;\n const delta =\n event.key === 'Home'\n ? activeSnapshot.minWidth - activeSnapshot.initialWidth\n : event.key === 'End'\n ? Number.isFinite(activeSnapshot.maxWidth)\n ? activeSnapshot.maxWidth - activeSnapshot.initialWidth\n : 0\n : event.key === 'ArrowLeft'\n ? -step * getRTLMultiplier(th)\n : step * getRTLMultiplier(th);\n commitResize(drag, delta);\n },\n [buildDragState, commitResize],\n );\n const headerLabel =\n typeof columnHeader === 'string' ? columnHeader : columnKey;\n\n /* eslint-disable jsx-a11y-x/no-noninteractive-element-interactions, jsx-a11y-x/no-noninteractive-tabindex -- ARIA separator uses the window splitter keyboard pattern. */\n return (\n <div\n aria-label={`Resize column ${headerLabel}`}\n aria-orientation=\"vertical\"\n aria-valuemax={Number.isFinite(maxWidth) ? maxWidth : undefined}\n aria-valuemin={minWidth}\n aria-valuenow={currentWidth}\n className={styles.handle}\n data-column-key={columnKey}\n onKeyDown={handleKeyDown}\n onPointerDown={handlePointerDown}\n role=\"separator\"\n tabIndex={0}\n />\n );\n /* eslint-enable jsx-a11y-x/no-noninteractive-element-interactions, jsx-a11y-x/no-noninteractive-tabindex */\n}\n\nexport function useTableColumnResize<T extends Record<string, unknown>>(\n config: UseTableColumnResizeConfig,\n): TablePlugin<T> {\n const configRef = useRef(config);\n useEffect(() => {\n configRef.current = config;\n }, [config]);\n\n const globalMinWidth = config.minWidth;\n const maxWidth = config.maxWidth ?? Number.POSITIVE_INFINITY;\n const columnWidths = config.columnWidths;\n const resizableColumns = useMemo(\n () => config.columns?.filter(column => column.resizable !== false),\n [config.columns],\n );\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformHeaderCell(\n props: HeaderCellRenderProps,\n column: TableColumn<T>,\n ): HeaderCellRenderProps {\n if (column.resizable === false) {\n return props;\n }\n\n let neighborKey: string | null = null;\n if (resizableColumns != null && isProportionalColumn(column.width)) {\n const columnIndex = resizableColumns.findIndex(\n resizableColumn => resizableColumn.key === column.key,\n );\n const isLastResizable = columnIndex === resizableColumns.length - 1;\n if (isLastResizable) {\n return props;\n }\n if (columnIndex >= 0) {\n neighborKey = resizableColumns[columnIndex + 1]?.key ?? null;\n }\n }\n\n const overrideWidth = columnWidths?.[column.key];\n const widthStyle: CSSProperties | undefined =\n overrideWidth == null\n ? undefined\n : {\n maxWidth: `${overrideWidth}px`,\n minWidth: `${overrideWidth}px`,\n width: `${overrideWidth}px`,\n };\n const effectiveMinWidth = resolveColumnMinWidth(\n column.width,\n globalMinWidth,\n );\n\n return {\n ...props,\n className: styles.headerCell,\n htmlProps: {\n ...props.htmlProps,\n style:\n widthStyle == null\n ? props.htmlProps.style\n : {...props.htmlProps.style, ...widthStyle},\n },\n overlay: (\n <>\n {props.overlay}\n <ResizeHandle\n columnHeader={column.header ?? column.key}\n columnKey={column.key}\n configRef={configRef}\n currentWidth={overrideWidth}\n maxWidth={maxWidth}\n minWidth={effectiveMinWidth}\n neighborKey={neighborKey}\n />\n </>\n ),\n };\n },\n }),\n [columnWidths, configRef, globalMinWidth, maxWidth, resizableColumns],\n );\n}\n","'use client';\n\nimport {useMemo} from 'react';\nimport type {UseTableColumnSettingsStateConfig} from 'components/Table/plugins/columnSettings/useTableColumnSettingsState';\nimport type {TableColumn, TablePlugin} from 'components/Table/types';\n\nexport interface TableColumnSettingsOption<TColumnKey extends string = string> {\n group?: string;\n isAlwaysVisible?: boolean;\n key: TColumnKey;\n label: string;\n}\n\nexport type UseTableColumnSettingsConfig<TColumnKey extends string = string> =\n UseTableColumnSettingsStateConfig<TColumnKey>;\n\nexport function useTableColumnSettings<\n T extends Record<string, unknown>,\n TColumnKey extends string = string,\n>(config: UseTableColumnSettingsConfig<TColumnKey>): TablePlugin<T> {\n return useMemo(\n (): TablePlugin<T> => ({\n transformColumns(columns: TableColumn<T>[]): TableColumn<T>[] {\n const activeSet = new Set(config.activeColumnKeys);\n const orderMap = new Map(\n config.activeColumnKeys.map((key, index) => [key, index]),\n );\n return columns\n .filter(column => activeSet.has(column.key as TColumnKey))\n .sort(\n (a, b) =>\n (orderMap.get(a.key as TColumnKey) ?? Infinity) -\n (orderMap.get(b.key as TColumnKey) ?? Infinity),\n );\n },\n }),\n [config],\n );\n}\n","'use client';\n\nimport {useCallback, useMemo} from 'react';\nimport type {TableColumnSettingsOption} from 'components/Table/plugins/columnSettings/useTableColumnSettings';\n\nexport interface UseTableColumnSettingsStateConfig<\n TColumnKey extends string = string,\n> {\n activeColumnKeys: ReadonlyArray<TColumnKey>;\n columns: ReadonlyArray<TableColumnSettingsOption<TColumnKey>>;\n defaultColumnKeys?: ReadonlyArray<TColumnKey>;\n onChangeActiveColumnKeys: (keys: ReadonlyArray<TColumnKey>) => void;\n}\n\nexport interface UseTableColumnSettingsStateReturn<\n TColumnKey extends string = string,\n> {\n activeColumnKeys: ReadonlyArray<TColumnKey>;\n columnSettingsConfig: UseTableColumnSettingsStateConfig<TColumnKey>;\n getIsColumnActive: (key: TColumnKey) => boolean;\n getIsColumnToggleable: (key: TColumnKey) => boolean;\n resetToDefault: () => void;\n setActiveColumnKeys: (keys: string[]) => void;\n showAllColumns: () => void;\n toggleColumn: (key: TColumnKey) => void;\n}\n\nexport function useTableColumnSettingsState<TColumnKey extends string = string>(\n config: UseTableColumnSettingsStateConfig<TColumnKey>,\n): UseTableColumnSettingsStateReturn<TColumnKey> {\n const {activeColumnKeys, columns} = config;\n const activeSet = useMemo(\n () => new Set(activeColumnKeys),\n [activeColumnKeys],\n );\n const alwaysVisibleSet = useMemo(\n () =>\n new Set(\n columns\n .filter(column => column.isAlwaysVisible)\n .map(column => column.key),\n ),\n [columns],\n );\n\n const toggleColumn = useCallback(\n (key: TColumnKey) => {\n if (\n config.columns.some(\n column => column.key === key && column.isAlwaysVisible,\n )\n ) {\n return;\n }\n const currentSet = new Set(config.activeColumnKeys);\n config.onChangeActiveColumnKeys(\n currentSet.has(key)\n ? config.activeColumnKeys.filter(columnKey => columnKey !== key)\n : [...config.activeColumnKeys, key],\n );\n },\n [config],\n );\n const getIsColumnActive = useCallback(\n (key: TColumnKey) => activeSet.has(key),\n [activeSet],\n );\n const getIsColumnToggleable = useCallback(\n (key: TColumnKey) => !alwaysVisibleSet.has(key),\n [alwaysVisibleSet],\n );\n const showAllColumns = useCallback(() => {\n config.onChangeActiveColumnKeys(config.columns.map(column => column.key));\n }, [config]);\n const resetToDefault = useCallback(() => {\n config.onChangeActiveColumnKeys(\n config.defaultColumnKeys ?? config.columns.map(column => column.key),\n );\n }, [config]);\n const setActiveColumnKeys = useCallback(\n (keys: string[]) => {\n const next = new Set(keys as TColumnKey[]);\n for (const column of config.columns) {\n if (column.isAlwaysVisible) {\n next.add(column.key);\n }\n }\n config.onChangeActiveColumnKeys(Array.from(next));\n },\n [config],\n );\n\n return {\n activeColumnKeys,\n columnSettingsConfig: config,\n getIsColumnActive,\n getIsColumnToggleable,\n resetToDefault,\n setActiveColumnKeys,\n showAllColumns,\n toggleColumn,\n };\n}\n","'use client';\n\nimport {Temporal} from '@js-temporal/polyfill';\nimport {Filter} from 'lucide-react';\nimport {\n createContext,\n use,\n useCallback,\n useMemo,\n useState,\n type ReactNode,\n} from 'react';\nimport {\n createStaticSearchSource,\n type SearchableItem,\n} from 'components/AutocompleteInput';\nimport {Button} from 'components/Button';\nimport {DateInput} from 'components/DateInput';\nimport {MultiSelect} from 'components/MultiSelect';\nimport {NumberInput} from 'components/NumberInput';\nimport {Popover} from 'components/Popover';\nimport type {\n FilterValue,\n FloatOperatorValue,\n IntegerOperatorValue,\n OperatorValue,\n SearchFilterInputConfig,\n SearchFilterInputField,\n SearchFilterInputFilter,\n SearchFilterInputOperator,\n StringListOperatorValue,\n EntityListOperatorValue,\n EnumListOperatorValue,\n EnumOperatorValue,\n} from 'components/SearchFilterInput';\nimport {Select} from 'components/Select';\nimport {proportional} from 'components/Table/columnUtils';\nimport type {\n HeaderCellRenderProps,\n TableColumn,\n TablePlugin,\n} from 'components/Table/types';\nimport {TagsInput} from 'components/TagsInput';\nimport {TextInput} from 'components/TextInput';\nimport {TimeInput} from 'components/TimeInput';\nimport {plainDateToUnixSeconds, type PlainDate} from 'internal/plainDate';\nimport {getBrowserTimezoneID} from 'internal/time';\nimport {css} from 'styled-system/css';\n\nexport type TableFilterValue = number | string | string[] | PlainDate;\nexport type TableFilterState = Record<string, TableFilterValue | undefined>;\nexport type TableFilterVariant = 'inline' | 'popover';\n\nexport interface TableFilterFieldRef {\n field: string;\n operator?: string;\n}\n\nexport interface UseTableFilteringConfig {\n filters: TableFilterState;\n onFilterChange: (columnKey: string, value: TableFilterValue | null) => void;\n searchConfig: SearchFilterInputConfig;\n timezoneID?: string;\n variant?: TableFilterVariant;\n}\n\ntype ToSearchFiltersConfig =\n | Pick<UseTableFilteringConfig, 'searchConfig' | 'timezoneID'>\n | SearchFilterInputConfig;\n\ninterface FilterStore {\n getConfig: () => UseTableFilteringConfig;\n}\n\nconst FilterStoreContext = createContext<FilterStore | null>(null);\nFilterStoreContext.displayName = 'TableFilterStoreContext';\n\nconst styles = {\n afterPopover: css({\n display: 'inline-flex',\n alignItems: 'center',\n flexShrink: 0,\n }),\n inlineWrapper: css({\n mt: '1',\n }),\n popoverActions: css({\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '2',\n mt: '2',\n }),\n popoverActionsSpacer: css({\n flex: 1,\n }),\n popoverContent: css({\n w: '60',\n }),\n} as const;\n\nfunction useFilterStore(): FilterStore {\n const store = use(FilterStoreContext);\n if (store == null) {\n throw new Error(\n 'useFilterStore must be used within a Table filtering plugin',\n );\n }\n return store;\n}\n\nfunction resolveOperator(\n field: SearchFilterInputField,\n operatorKey?: string,\n): SearchFilterInputOperator | undefined {\n if (operatorKey != null) {\n return field.operators.find(operator => operator.key === operatorKey);\n }\n if (field.defaultOperator != null) {\n return field.operators.find(\n operator => operator.key === field.defaultOperator,\n );\n }\n return field.operators[0];\n}\n\nfunction resolveFilterConfig(\n filter: string | TableFilterFieldRef,\n searchConfig: SearchFilterInputConfig,\n): OperatorValue | undefined {\n const fieldKey = typeof filter === 'string' ? filter : filter.field;\n const operatorKey = typeof filter === 'string' ? undefined : filter.operator;\n const field = searchConfig.fields.find(\n candidate => candidate.key === fieldKey,\n );\n return field == null ? undefined : resolveOperator(field, operatorKey)?.value;\n}\n\nfunction tableValueToFilterValue(\n value: TableFilterValue,\n operatorValue: OperatorValue,\n timezoneID: string,\n): FilterValue | undefined {\n switch (operatorValue.type) {\n case 'date_absolute':\n return value instanceof Temporal.PlainDate\n ? {\n type: 'date_absolute',\n unixSeconds: plainDateToUnixSeconds(value, timezoneID),\n }\n : undefined;\n case 'enum':\n return typeof value === 'string' ? {type: 'enum', value} : undefined;\n case 'enum_list':\n return Array.isArray(value) ? {type: 'enum_list', value} : undefined;\n case 'entity_list':\n return Array.isArray(value)\n ? {\n type: 'entity_list',\n value: value.map(id => ({id, label: id})),\n }\n : undefined;\n case 'float':\n return typeof value === 'number' ? {type: 'float', value} : undefined;\n case 'integer':\n return typeof value === 'number' ? {type: 'integer', value} : undefined;\n case 'string':\n return typeof value === 'string' ? {type: 'string', value} : undefined;\n case 'string_list':\n return Array.isArray(value) ? {type: 'string_list', value} : undefined;\n case 'time':\n return typeof value === 'string' ? {type: 'time', value} : undefined;\n case 'custom':\n case 'date_range':\n case 'date_relative':\n case 'empty':\n case 'nested':\n return undefined;\n }\n}\n\nexport function toSearchFilters<T extends Record<string, unknown>>(\n filters: TableFilterState,\n columns: ReadonlyArray<Pick<TableColumn<T>, 'filter' | 'key'>>,\n config: ToSearchFiltersConfig,\n timezoneID?: string,\n): SearchFilterInputFilter[] {\n const result: SearchFilterInputFilter[] = [];\n const searchConfig = 'searchConfig' in config ? config.searchConfig : config;\n const effectiveTimezoneID =\n ('searchConfig' in config ? config.timezoneID : undefined) ??\n timezoneID ??\n getBrowserTimezoneID();\n\n for (const column of columns) {\n if (column.filter == null) {\n continue;\n }\n const value = filters[column.key];\n if (value == null) {\n continue;\n }\n const fieldKey =\n typeof column.filter === 'string' ? column.filter : column.filter.field;\n const operatorKey =\n typeof column.filter === 'string' ? undefined : column.filter.operator;\n const field = searchConfig.fields.find(\n candidate => candidate.key === fieldKey,\n );\n const operator =\n field == null ? undefined : resolveOperator(field, operatorKey);\n if (operator == null) {\n continue;\n }\n const filterValue = tableValueToFilterValue(\n value,\n operator.value,\n effectiveTimezoneID,\n );\n if (filterValue != null) {\n result.push({\n field: fieldKey,\n operator: operator.key,\n value: filterValue,\n });\n }\n }\n\n return result;\n}\n\nfunction TextFilterControl({\n columnKey,\n hasClear,\n header,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <TextInput\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store\n .getConfig()\n .onFilterChange(columnKey, nextValue === '' ? null : nextValue);\n }}\n placeholder={`Filter ${header}`}\n size={size}\n value={typeof value === 'string' ? value : ''}\n />\n );\n}\n\nfunction NumberFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: FloatOperatorValue | IntegerOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n const sharedProps = {\n isIntegerOnly: operatorValue.type === 'integer',\n isLabelHidden: true as const,\n label: `Filter ${header}`,\n max: operatorValue.maxValue ?? null,\n min: operatorValue.minValue ?? null,\n placeholder: `Filter ${header}`,\n size,\n step: operatorValue.type === 'integer' ? 1 : null,\n value: typeof value === 'number' ? value : null,\n };\n if (hasClear === false) {\n return (\n <NumberInput\n {...sharedProps}\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue);\n }}\n />\n );\n }\n return (\n <NumberInput\n {...sharedProps}\n hasClear\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue);\n }}\n />\n );\n}\n\nfunction SelectFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: EnumOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <Select\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue);\n }}\n options={operatorValue.values.map(option => ({\n icon: option.icon,\n label: option.label,\n value: option.value,\n }))}\n placeholder=\"All\"\n size={size}\n value={typeof value === 'string' ? value : null}\n />\n );\n}\n\nfunction MultiSelectFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: EnumListOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <MultiSelect\n hasClear={hasClear}\n hasSearch={false}\n hasSelectAll\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store\n .getConfig()\n .onFilterChange(columnKey, nextValue.length === 0 ? null : nextValue);\n }}\n options={operatorValue.values.map(option => ({\n icon: option.icon,\n label: option.label,\n value: option.value,\n }))}\n placeholder=\"All\"\n size={size}\n value={Array.isArray(value) ? value : []}\n />\n );\n}\n\nfunction DateFilterControl({\n columnKey,\n hasClear,\n header,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <DateInput\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store.getConfig().onFilterChange(columnKey, nextValue ?? null);\n }}\n placeholder={`Filter ${header}`}\n size={size}\n value={value instanceof Temporal.PlainDate ? value : null}\n />\n );\n}\n\nfunction TimeFilterControl({\n columnKey,\n hasClear,\n header,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n return (\n <TimeInput\n hasClear={hasClear}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextValue => {\n store\n .getConfig()\n .onFilterChange(columnKey, nextValue?.toString() ?? null);\n }}\n placeholder={`Filter ${header}`}\n size={size}\n value={value instanceof Temporal.PlainTime ? value : null}\n />\n );\n}\n\nfunction ListFilterControl({\n columnKey,\n hasClear,\n header,\n operatorValue,\n size,\n}: {\n columnKey: string;\n hasClear?: boolean;\n header: string;\n operatorValue: EntityListOperatorValue | StringListOperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[columnKey];\n const items = Array.isArray(value) ? value.map(id => ({id, label: id})) : [];\n const source =\n operatorValue.searchSource ??\n createStaticSearchSource<SearchableItem>(items, {\n getKeywords: item => [item.id],\n });\n\n return (\n <TagsInput\n hasClear={hasClear}\n hasCreate={operatorValue.isArbitraryStringAllowed ?? true}\n isLabelHidden\n label={`Filter ${header}`}\n onChange={nextItems => {\n const ids = nextItems.map(item => item.id);\n store\n .getConfig()\n .onFilterChange(columnKey, ids.length === 0 ? null : ids);\n }}\n placeholder={`Filter ${header}`}\n renderItem={\n operatorValue.type === 'entity_list'\n ? operatorValue.renderItem\n : undefined\n }\n searchSource={source}\n size={size}\n value={items}\n />\n );\n}\n\nfunction getHeaderText<T extends Record<string, unknown>>(\n column: TableColumn<T>,\n): string {\n return typeof column.header === 'string' ? column.header : column.key;\n}\n\nfunction FilterControl<T extends Record<string, unknown>>({\n column,\n hasClear,\n operatorValue,\n size,\n}: {\n column: TableColumn<T>;\n hasClear?: boolean;\n operatorValue: OperatorValue;\n size: 'md' | 'sm';\n}): React.JSX.Element | null {\n const header = getHeaderText(column);\n switch (operatorValue.type) {\n case 'date_absolute':\n return (\n <DateFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n size={size}\n />\n );\n case 'enum':\n return (\n <SelectFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'enum_list':\n return (\n <MultiSelectFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'entity_list':\n case 'string_list':\n return (\n <ListFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'float':\n case 'integer':\n return (\n <NumberFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n operatorValue={operatorValue}\n size={size}\n />\n );\n case 'string':\n return (\n <TextFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n size={size}\n />\n );\n case 'time':\n return (\n <TimeFilterControl\n columnKey={column.key}\n hasClear={hasClear}\n header={header}\n size={size}\n />\n );\n case 'custom':\n case 'date_range':\n case 'date_relative':\n case 'empty':\n case 'nested':\n return null;\n }\n}\n\nfunction PopoverFilterTrigger<T extends Record<string, unknown>>({\n column,\n operatorValue,\n}: {\n column: TableColumn<T>;\n operatorValue: OperatorValue;\n}): React.JSX.Element {\n const store = useFilterStore();\n const value = store.getConfig().filters[column.key];\n const isActive = value != null;\n const [isOpen, setIsOpen] = useState(false);\n const [draft, setDraft] = useState<TableFilterValue | null>(null);\n\n const handleOpenChange = useCallback(\n (isOpenNext: boolean) => {\n if (isOpenNext) {\n setDraft(value ?? null);\n }\n setIsOpen(isOpenNext);\n },\n [value],\n );\n\n const handleApply = useCallback(() => {\n store.getConfig().onFilterChange(column.key, draft);\n setIsOpen(false);\n }, [column.key, draft, store]);\n\n const handleReset = useCallback(() => {\n store.getConfig().onFilterChange(column.key, null);\n setDraft(null);\n setIsOpen(false);\n }, [column.key, store]);\n\n const draftStore = useMemo<FilterStore>(\n () => ({\n getConfig() {\n const config = store.getConfig();\n return {\n ...config,\n filters: {\n ...config.filters,\n [column.key]: draft ?? undefined,\n },\n onFilterChange: (_columnKey, nextValue) => {\n setDraft(nextValue);\n },\n };\n },\n }),\n [column.key, draft, store],\n );\n\n return (\n <Popover\n content={\n <FilterStoreContext value={draftStore}>\n <div className={styles.popoverContent}>\n <FilterControl\n column={column}\n hasClear={false}\n operatorValue={operatorValue}\n size=\"sm\"\n />\n <div className={styles.popoverActions}>\n <Button\n label=\"Reset\"\n onClick={handleReset}\n size=\"sm\"\n variant=\"ghost\"\n />\n <div className={styles.popoverActionsSpacer} />\n <Button\n label=\"Apply\"\n onClick={handleApply}\n size=\"sm\"\n variant=\"primary\"\n />\n </div>\n </div>\n </FilterStoreContext>\n }\n isOpen={isOpen}\n label={`Filter ${getHeaderText(column)}`}\n onOpenChange={handleOpenChange}\n padding={3}\n placement=\"below\">\n <Button\n icon={Filter}\n isIconOnly\n label={`Filter ${getHeaderText(column)}`}\n size=\"sm\"\n variant={isActive ? 'primary' : 'ghost'}\n />\n </Popover>\n );\n}\n\nexport function useTableFiltering<T extends Record<string, unknown>>(\n config: UseTableFilteringConfig,\n): TablePlugin<T> {\n const {variant = 'popover'} = config;\n\n const store = useMemo<FilterStore>(\n () => ({\n getConfig: () => config,\n }),\n [config],\n );\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformColumns:\n variant === 'inline'\n ? (columns: TableColumn<T>[]): TableColumn<T>[] =>\n columns.map(column => {\n if (column.filter != null && column.width == null) {\n return {...column, width: proportional(1)};\n }\n return column;\n })\n : undefined,\n transformHeaderCell(\n props: HeaderCellRenderProps,\n column: TableColumn<T>,\n ): HeaderCellRenderProps {\n if (column.filter == null) {\n if (variant === 'inline') {\n return {\n ...props,\n htmlProps: {\n ...props.htmlProps,\n style: {\n ...props.htmlProps.style,\n verticalAlign: 'bottom',\n },\n },\n };\n }\n return props;\n }\n const operatorValue = resolveFilterConfig(\n column.filter,\n config.searchConfig,\n );\n if (operatorValue == null) {\n return props;\n }\n\n if (variant === 'popover') {\n return {\n ...props,\n after: (\n <span className={styles.afterPopover}>\n <PopoverFilterTrigger\n column={column}\n operatorValue={operatorValue}\n />\n </span>\n ),\n };\n }\n\n return {\n ...props,\n below: (\n <>\n {props.below}\n <div className={styles.inlineWrapper}>\n <FilterControl\n column={column}\n hasClear\n operatorValue={operatorValue}\n size=\"sm\"\n />\n </div>\n </>\n ),\n };\n },\n transformTableContext(children: ReactNode): ReactNode {\n return (\n <FilterStoreContext value={store}>{children}</FilterStoreContext>\n );\n },\n }),\n [config.searchConfig, store, variant],\n );\n}\n","'use client';\n\nimport {useCallback, useState} from 'react';\nimport type {\n TableFilterState,\n TableFilterValue,\n} from 'components/Table/plugins/filtering/useTableFiltering';\n\nexport interface UseTableFilterStateResult {\n clearAll: () => void;\n filters: TableFilterState;\n onFilterChange: (key: string, value: TableFilterValue | null) => void;\n}\n\nexport function useTableFilterState(\n initialState?: TableFilterState,\n): UseTableFilterStateResult {\n const [filters, setFilters] = useState<TableFilterState>(initialState ?? {});\n const onFilterChange = useCallback(\n (key: string, value: TableFilterValue | null) => {\n setFilters(previous => {\n if (value == null) {\n const {[key]: _removed, ...next} = previous;\n return next;\n }\n return {...previous, [key]: value};\n });\n },\n [],\n );\n const clearAll = useCallback(() => setFilters({}), []);\n\n return {clearAll, filters, onFilterChange};\n}\n","export interface PaginateDataOptions {\n page: number;\n pageSize: number;\n}\n\nexport function paginateData<T>(\n data: ReadonlyArray<T>,\n {page, pageSize}: PaginateDataOptions,\n): T[] {\n const safePage = Math.max(1, page);\n const safePageSize = Math.max(1, pageSize);\n const start = (safePage - 1) * safePageSize;\n return data.slice(start, start + safePageSize);\n}\n","'use client';\n\nimport {useMemo, type ReactNode} from 'react';\nimport {Pagination, type PaginationProps} from 'components/Pagination';\nimport type {TablePlugin} from 'components/Table/types';\nimport {css} from 'styled-system/css';\n\nexport interface UseTablePaginationConfig {\n align?: 'center' | 'end' | 'start';\n hasMore?: boolean;\n label?: string;\n onPageChange: (page: number) => void;\n page: number;\n pageSize?: number;\n position?: 'above' | 'below' | 'both' | 'none';\n size?: 'lg' | 'md' | 'sm';\n totalItems?: number;\n totalPages?: number;\n variant?: 'compact' | 'count' | 'none' | 'pages';\n}\n\nconst styles = {\n align: {\n center: css({justifyContent: 'center'}),\n end: css({justifyContent: 'flex-end'}),\n start: css({justifyContent: 'flex-start'}),\n },\n below: css({mt: '2'}),\n root: css({display: 'flex'}),\n above: css({mb: '2'}),\n} as const;\n\nexport function useTablePagination<T extends Record<string, unknown>>({\n align = 'center',\n hasMore,\n label = 'Table pagination',\n onPageChange,\n page,\n pageSize = 10,\n position = 'below',\n size = 'md',\n totalItems,\n totalPages,\n variant = 'pages',\n}: UseTablePaginationConfig): TablePlugin<T> {\n const computedTotalPages =\n totalPages ??\n (totalItems == null ? undefined : Math.ceil(totalItems / pageSize));\n const paginationProps = useMemo(\n (): PaginationProps => ({\n hasMore,\n label,\n onChange: onPageChange,\n page,\n pageSize,\n size,\n ...(totalItems != null\n ? {totalItems}\n : computedTotalPages != null\n ? {totalPages: computedTotalPages}\n : {}),\n variant,\n }),\n [\n computedTotalPages,\n hasMore,\n label,\n onPageChange,\n page,\n pageSize,\n size,\n totalItems,\n variant,\n ],\n );\n return useMemo(\n (): TablePlugin<T> => ({\n transformTableContext(children: ReactNode): ReactNode {\n const current = {align, paginationProps, position};\n if (current.position === 'none') {\n return children;\n }\n if (computedTotalPages === 1 && hasMore !== true) {\n return children;\n }\n\n const makePagination = (side: 'above' | 'below') => (\n <div\n className={`${styles.root} ${styles.align[current.align]} ${\n side === 'above' ? styles.above : styles.below\n }`}>\n <Pagination {...current.paginationProps} />\n </div>\n );\n\n return (\n <>\n {current.position === 'above' || current.position === 'both'\n ? makePagination('above')\n : null}\n {children}\n {current.position === 'below' || current.position === 'both'\n ? makePagination('below')\n : null}\n </>\n );\n },\n }),\n [align, computedTotalPages, hasMore, paginationProps, position],\n );\n}\n","'use client';\n\nimport {useRef} from 'react';\n\nconst UNSET = Symbol('useConstant.unset');\n\n/**\n * Computes `init` once on the first render and returns the same value on every\n * subsequent render. Unlike `useMemo`, the value is guaranteed stable for the\n * lifetime of the component (no dependency array, never recomputed).\n */\nconst useConstant = <T>(init: () => T): T => {\n const ref = useRef<T | typeof UNSET>(UNSET);\n /* eslint-disable @eslint-react/refs -- first-render lazy initialization: slot is read and written once, value is stable thereafter */\n if (ref.current === UNSET) {\n ref.current = init();\n }\n return ref.current;\n /* eslint-enable @eslint-react/refs */\n};\n\nexport default useConstant;\n","'use client';\n\nimport {\n createContext,\n use,\n useCallback,\n useEffect,\n useMemo,\n useSyncExternalStore,\n type ReactNode,\n type RefCallback,\n} from 'react';\nimport {CheckboxInput} from 'components/CheckboxInput';\nimport {pixel} from 'components/Table/columnUtils';\nimport type {\n BodyRowRenderProps,\n TableColumn,\n TablePlugin,\n} from 'components/Table/types';\nimport {mergeRefs} from 'internal/mergeRefs';\nimport useConstant from 'internal/useConstant';\nimport useLatest from 'internal/useLatest';\nimport {css} from 'styled-system/css';\n\nexport interface UseTableSelectionConfig<T extends Record<string, unknown>> {\n getIsAllSelected: () => boolean;\n getIsIndeterminate?: () => boolean;\n getIsItemEnabled?: (item: T) => boolean;\n getIsItemSelectable?: (item: T) => boolean;\n getIsItemSelected: (item: T) => boolean;\n onSelectAll: (event: {isAllSelected: boolean}) => void;\n onSelectItem: (event: {isSelected: boolean; item: T}) => void;\n}\n\nconst styles = {\n center: css({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n }),\n selectedRow: css({\n bg: 'bg.selected',\n }),\n} as const;\n\nconst SELECTION_COLUMN_KEY = '__table_selection';\n\ninterface SelectionStore<T extends Record<string, unknown>> {\n getConfig: () => UseTableSelectionConfig<T>;\n notify: () => void;\n subscribe: (listener: () => void) => () => void;\n}\n\nfunction createSelectionStore<T extends Record<string, unknown>>(configRef: {\n current: UseTableSelectionConfig<T>;\n}): SelectionStore<T> {\n const listeners = new Set<() => void>();\n\n return {\n getConfig: () => configRef.current,\n notify: () => {\n for (const listener of listeners) {\n listener();\n }\n },\n subscribe: listener => {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n },\n };\n}\n\nfunction applyRowSelectionStyle(\n element: HTMLTableRowElement,\n isSelected: boolean,\n): void {\n element.classList.toggle(styles.selectedRow, isSelected);\n if (isSelected) {\n element.setAttribute('aria-selected', 'true');\n } else {\n element.removeAttribute('aria-selected');\n }\n}\n\nconst ITEM_SELECTED = 1;\nconst ITEM_SELECTABLE = 2;\nconst ITEM_ENABLED = 4;\n\nfunction getItemSelectionSnapshot<T extends Record<string, unknown>>(\n config: UseTableSelectionConfig<T>,\n item: T,\n): number {\n const isSelected = config.getIsItemSelected(item);\n const isSelectable = config.getIsItemSelectable?.(item) ?? true;\n const isEnabled = config.getIsItemEnabled?.(item) ?? true;\n\n return (\n (isSelected ? ITEM_SELECTED : 0) |\n (isSelectable ? ITEM_SELECTABLE : 0) |\n (isEnabled ? ITEM_ENABLED : 0)\n );\n}\n\nconst SELECT_NONE = 0;\nconst SELECT_INDETERMINATE = 1;\nconst SELECT_ALL = 2;\n\nconst SelectionStoreContext = createContext<SelectionStore<\n Record<string, unknown>\n> | null>(null);\nSelectionStoreContext.displayName = 'TableSelectionStoreContext';\n\nfunction SelectAllCheckbox<T extends Record<string, unknown>>(): ReactNode {\n const store = use(SelectionStoreContext) as SelectionStore<T> | null;\n if (store == null) {\n return null;\n }\n\n return <SelectAllCheckboxInner store={store} />;\n}\n\nfunction SelectAllCheckboxInner<T extends Record<string, unknown>>({\n store,\n}: {\n store: SelectionStore<T>;\n}): ReactNode {\n const getSnapshot = useCallback(() => {\n const config = store.getConfig();\n if (config.getIsAllSelected()) {\n return SELECT_ALL;\n }\n return config.getIsIndeterminate?.() === true\n ? SELECT_INDETERMINATE\n : SELECT_NONE;\n }, [store]);\n const state = useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);\n const isAllSelected = state === SELECT_ALL;\n\n return (\n <CheckboxInput\n isLabelHidden\n label=\"Select all rows\"\n onChange={() => {\n store.getConfig().onSelectAll({\n isAllSelected: !isAllSelected,\n });\n }}\n size=\"sm\"\n value={\n isAllSelected\n ? true\n : state === SELECT_INDETERMINATE\n ? 'indeterminate'\n : false\n }\n />\n );\n}\n\nfunction SelectionCellContent<T extends Record<string, unknown>>({\n item,\n}: {\n item: T;\n}): ReactNode {\n const store = use(SelectionStoreContext) as SelectionStore<T> | null;\n if (store == null) {\n return null;\n }\n\n return <SelectionCellContentInner item={item} store={store} />;\n}\n\nfunction SelectionCellContentInner<T extends Record<string, unknown>>({\n item,\n store,\n}: {\n item: T;\n store: SelectionStore<T>;\n}): ReactNode {\n const getSnapshot = useCallback(\n () => getItemSelectionSnapshot(store.getConfig(), item),\n [item, store],\n );\n const state = useSyncExternalStore(store.subscribe, getSnapshot, getSnapshot);\n const isSelected = (state & ITEM_SELECTED) !== 0;\n const isSelectable = (state & ITEM_SELECTABLE) !== 0;\n const isEnabled = (state & ITEM_ENABLED) !== 0;\n\n if (!isSelectable) {\n return null;\n }\n\n return (\n <CheckboxInput\n isDisabled={!isEnabled}\n isLabelHidden\n label=\"Select row\"\n onChange={() => {\n store.getConfig().onSelectItem({isSelected: !isSelected, item});\n }}\n size=\"sm\"\n value={isSelected}\n />\n );\n}\n\nexport function useTableSelection<T extends Record<string, unknown>>(\n config: UseTableSelectionConfig<T>,\n): TablePlugin<T> {\n const configRef = useLatest(config);\n const store = useConstant(() => createSelectionStore(configRef));\n\n // Re-notify subscribers only when the selection config changes (new selected\n // keys, data, or predicates). `config` is memoized upstream by\n // `useTableSelectionState`, so unrelated parent re-renders skip the\n // notification and its downstream snapshot re-evaluations.\n useEffect(() => {\n store.notify();\n }, [config, store]);\n\n const selectionColumn = useMemo(\n (): TableColumn<T> => ({\n header: (\n <div className={styles.center}>\n <SelectAllCheckbox<T> />\n </div>\n ),\n key: SELECTION_COLUMN_KEY,\n renderCell: item => (\n <div className={styles.center}>\n <SelectionCellContent item={item} />\n </div>\n ),\n resizable: false,\n width: pixel(36),\n }),\n [],\n );\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformTableContext(children: ReactNode): ReactNode {\n return (\n <SelectionStoreContext\n value={store as unknown as SelectionStore<Record<string, unknown>>}>\n {children}\n </SelectionStoreContext>\n );\n },\n transformBodyRow(props: BodyRowRenderProps, item: T): BodyRowRenderProps {\n let unsubscribe: (() => void) | null = null;\n const selectionRef: RefCallback<HTMLTableRowElement> = element => {\n unsubscribe?.();\n unsubscribe = null;\n\n if (element == null) {\n return;\n }\n\n applyRowSelectionStyle(\n element,\n store.getConfig().getIsItemSelected(item),\n );\n unsubscribe = store.subscribe(() => {\n if (!element.isConnected) {\n unsubscribe?.();\n unsubscribe = null;\n return;\n }\n applyRowSelectionStyle(\n element,\n store.getConfig().getIsItemSelected(item),\n );\n });\n };\n\n return {\n ...props,\n ref:\n props.ref == null\n ? selectionRef\n : mergeRefs(props.ref, selectionRef),\n };\n },\n transformColumns(columns: TableColumn<T>[]): TableColumn<T>[] {\n return [selectionColumn, ...columns];\n },\n }),\n [selectionColumn, store],\n );\n}\n","'use client';\n\nimport {useCallback, useMemo} from 'react';\nimport type {UseTableSelectionConfig} from 'components/Table/plugins/selection/useTableSelection';\n\nexport interface UseTableSelectionStateConfig<\n T extends Record<string, unknown>,\n> {\n data: T[];\n getIsItemEnabled?: (item: T) => boolean;\n getIsItemSelectable?: (item: T) => boolean;\n idKey: (keyof T & string) | ((item: T) => string);\n selectedKeys: Set<string>;\n setSelectedKeys: React.Dispatch<React.SetStateAction<Set<string>>>;\n}\n\nexport interface UseTableSelectionStateResult<\n T extends Record<string, unknown>,\n> {\n selectionConfig: UseTableSelectionConfig<T>;\n}\n\nconst stableTrue = () => true;\n\nexport function useTableSelectionState<T extends Record<string, unknown>>({\n data,\n getIsItemEnabled = stableTrue,\n getIsItemSelectable = stableTrue,\n idKey,\n selectedKeys,\n setSelectedKeys,\n}: UseTableSelectionStateConfig<T>): UseTableSelectionStateResult<T> {\n const getId = useCallback(\n (item: T): string =>\n typeof idKey === 'function' ? idKey(item) : String(item[idKey]),\n [idKey],\n );\n\n const getIsActionable = useCallback(\n (item: T) => getIsItemSelectable(item) && getIsItemEnabled(item),\n [getIsItemEnabled, getIsItemSelectable],\n );\n const actionableIDs = useMemo(\n () => new Set(data.filter(getIsActionable).map(getId)),\n [data, getId, getIsActionable],\n );\n const frozenSelectedIDs = useMemo(() => {\n const frozen = new Set<string>();\n for (const id of selectedKeys) {\n if (!actionableIDs.has(id)) {\n frozen.add(id);\n }\n }\n return frozen;\n }, [actionableIDs, selectedKeys]);\n const allSelectableIDs = useMemo(\n () => new Set([...selectedKeys, ...actionableIDs]),\n [actionableIDs, selectedKeys],\n );\n\n const onSelectAll = useCallback(\n ({isAllSelected}: {isAllSelected: boolean}) => {\n setSelectedKeys(isAllSelected ? allSelectableIDs : frozenSelectedIDs);\n },\n [allSelectableIDs, frozenSelectedIDs, setSelectedKeys],\n );\n const onSelectItem = useCallback(\n ({isSelected, item}: {isSelected: boolean; item: T}) => {\n setSelectedKeys(previous => {\n const next = new Set(previous);\n const id = getId(item);\n if (isSelected) {\n next.add(id);\n } else {\n next.delete(id);\n }\n return next;\n });\n },\n [getId, setSelectedKeys],\n );\n const getIsAllSelected = useCallback(\n () =>\n allSelectableIDs.size > 0 && allSelectableIDs.size === selectedKeys.size,\n [allSelectableIDs, selectedKeys],\n );\n const getIsIndeterminate = useCallback(() => {\n const selectedActionableCount = data.filter(\n item => getIsActionable(item) && selectedKeys.has(getId(item)),\n ).length;\n return (\n selectedActionableCount > 0 &&\n selectedActionableCount < actionableIDs.size\n );\n }, [actionableIDs.size, data, getId, getIsActionable, selectedKeys]);\n\n const selectionConfig = useMemo(\n (): UseTableSelectionConfig<T> => ({\n getIsAllSelected,\n getIsIndeterminate,\n getIsItemEnabled,\n getIsItemSelectable,\n getIsItemSelected: item => selectedKeys.has(getId(item)),\n onSelectAll,\n onSelectItem,\n }),\n [\n getId,\n getIsAllSelected,\n getIsIndeterminate,\n getIsItemEnabled,\n getIsItemSelectable,\n onSelectAll,\n onSelectItem,\n selectedKeys,\n ],\n );\n\n return {selectionConfig};\n}\n","'use client';\n\nimport {ArrowDown, ArrowUp, ChevronsUpDown} from 'lucide-react';\nimport {useMemo, type ReactNode} from 'react';\nimport {Icon} from 'components/Icon';\nimport type {\n HeaderCellRenderProps,\n TableColumn,\n TablePlugin,\n} from 'components/Table/types';\nimport {css} from 'styled-system/css';\n\nexport type TableSortDirection = 'ascending' | 'descending';\n\nexport interface TableSortEntry<TSortKey extends string = string> {\n direction: TableSortDirection;\n sortKey: TSortKey;\n}\n\nexport type TableSortState<TSortKey extends string = string> =\n TableSortEntry<TSortKey>[];\n\nexport interface UseTableSortableConfig<TSortKey extends string = string> {\n hasUnsortedState?: boolean;\n isMultiSortEnabled?: boolean;\n onSortChange: (sort: TableSortState<TSortKey>) => void;\n sort: TableSortState<TSortKey>;\n}\n\nconst styles = {\n button: css({\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n w: 'full',\n h: 'full',\n p: 0,\n m: 0,\n borderWidth: 0,\n borderRadius: 'sm',\n bg: 'transparent',\n color: 'inherit',\n cursor: 'pointer',\n font: 'inherit',\n textAlign: 'inherit',\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n '&:is(:hover, [data-hover]) [data-table-sort-icon-state=\"inactive\"], &:is(:focus-visible, [data-focus-visible]) [data-table-sort-icon-state=\"inactive\"]':\n {\n opacity: 1,\n },\n }),\n icon: css({\n display: 'inline-flex',\n flexShrink: 0,\n color: 'fg.muted',\n }),\n iconInactive: css({\n opacity: 0.35,\n }),\n iconActive: css({\n color: 'primary',\n }),\n label: css({\n minW: 0,\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }),\n rank: css({\n color: 'primary',\n fontSize: '2xs',\n lineHeight: 1,\n }),\n} as const;\n\nfunction resolveSortKey<T extends Record<string, unknown>>(\n column: TableColumn<T>,\n): string | null {\n if (!column.sortable) {\n return null;\n }\n return column.sortable === true\n ? column.key\n : (column.sortable.sortKey ?? column.key);\n}\n\nfunction getHeaderLabel<T extends Record<string, unknown>>(\n column: TableColumn<T>,\n): string {\n return typeof column.header === 'string' ? column.header : column.key;\n}\n\nfunction getNextDirection(\n current: TableSortDirection | null,\n hasUnsortedState: boolean,\n): TableSortDirection | null {\n if (current == null) {\n return 'ascending';\n }\n if (current === 'ascending') {\n return 'descending';\n }\n return hasUnsortedState ? null : 'ascending';\n}\n\nfunction SortHeaderButton<T extends Record<string, unknown>>({\n children,\n column,\n config,\n}: {\n children: ReactNode;\n column: TableColumn<T>;\n config: UseTableSortableConfig;\n}): React.JSX.Element {\n const sortKey = resolveSortKey(column) ?? '';\n const entryIndex = config.sort.findIndex(entry => entry.sortKey === sortKey);\n const entry = entryIndex >= 0 ? config.sort[entryIndex] : null;\n const direction = entry?.direction ?? null;\n const rank =\n config.isMultiSortEnabled === true &&\n config.sort.length > 1 &&\n entryIndex >= 0\n ? entryIndex + 1\n : null;\n const SortIcon =\n direction === 'ascending'\n ? ArrowUp\n : direction === 'descending'\n ? ArrowDown\n : ChevronsUpDown;\n const label = getHeaderLabel(column);\n const ariaLabel =\n direction == null\n ? `Sort by ${label}`\n : `Sort by ${label}, sorted ${direction}${\n rank == null ? '' : `, priority ${rank} of ${config.sort.length}`\n }`;\n\n const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {\n const nextConfig = config;\n const isMultiSort =\n event.shiftKey && nextConfig.isMultiSortEnabled === true;\n const allowUnsorted = nextConfig.hasUnsortedState ?? true;\n\n if (isMultiSort) {\n const index = nextConfig.sort.findIndex(sort => sort.sortKey === sortKey);\n if (index >= 0) {\n const nextDirection = getNextDirection(\n nextConfig.sort[index].direction,\n allowUnsorted,\n );\n const nextSort = [...nextConfig.sort];\n if (nextDirection == null) {\n nextSort.splice(index, 1);\n } else {\n nextSort[index] = {...nextSort[index], direction: nextDirection};\n }\n nextConfig.onSortChange(nextSort);\n } else {\n nextConfig.onSortChange([\n ...nextConfig.sort,\n {direction: 'ascending', sortKey},\n ]);\n }\n return;\n }\n\n const currentEntry = nextConfig.sort.find(sort => sort.sortKey === sortKey);\n const nextDirection = getNextDirection(\n currentEntry?.direction ?? null,\n allowUnsorted,\n );\n nextConfig.onSortChange(\n nextDirection == null ? [] : [{direction: nextDirection, sortKey}],\n );\n };\n\n return (\n <button\n aria-label={ariaLabel}\n className={styles.button}\n onClick={handleClick}\n type=\"button\">\n <span className={styles.label}>{children}</span>\n <span\n className={`${styles.icon} ${\n direction == null ? styles.iconInactive : styles.iconActive\n }`}\n data-table-sort-icon-state={direction == null ? 'inactive' : 'active'}\n data-testid={`table-sort-icon-${sortKey}`}>\n <Icon icon={SortIcon} size=\"sm\" />\n </span>\n {rank == null ? null : (\n <span aria-hidden=\"true\" className={styles.rank}>\n {rank}\n </span>\n )}\n </button>\n );\n}\n\nexport function useTableSortable<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n>(config: UseTableSortableConfig<TSortKey>): TablePlugin<T> {\n const sortableConfig = config as unknown as UseTableSortableConfig;\n\n return useMemo(\n (): TablePlugin<T> => ({\n transformHeaderCell(\n props: HeaderCellRenderProps,\n column: TableColumn<T>,\n ): HeaderCellRenderProps {\n const sortKey = resolveSortKey(column);\n if (sortKey == null) {\n return props;\n }\n const entry = sortableConfig.sort.find(\n sort => sort.sortKey === sortKey,\n );\n return {\n ...props,\n content: (\n <SortHeaderButton column={column} config={sortableConfig}>\n {props.content}\n </SortHeaderButton>\n ),\n htmlProps: {\n ...props.htmlProps,\n ...(entry == null ? {} : {'aria-sort': entry.direction}),\n },\n };\n },\n }),\n [sortableConfig],\n );\n}\n","'use client';\n\nimport {Temporal} from '@js-temporal/polyfill';\nimport {useCallback, useMemo, useState} from 'react';\nimport type {\n TableSortState,\n UseTableSortableConfig,\n} from 'components/Table/plugins/sortable/useTableSortable';\n\nexport type TableSortComparator<T> = (a: T, b: T) => number;\n\nexport interface UseTableSortableStateConfig<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n> {\n comparators?: Partial<Record<TSortKey, TableSortComparator<T>>>;\n data: T[];\n defaultSort?: TableSortState<TSortKey>;\n hasUnsortedState?: boolean;\n isMultiSortEnabled?: boolean;\n onSortChange?: (sort: TableSortState<TSortKey>) => void;\n sort?: TableSortState<TSortKey>;\n}\n\nexport interface UseTableSortableStateResult<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n> {\n applySort: (data: T[]) => T[];\n sort: TableSortState<TSortKey>;\n sortConfig: UseTableSortableConfig<TSortKey>;\n sortedData: T[];\n}\n\nfunction stringifySortable(value: unknown): string {\n if (\n value instanceof Temporal.Instant ||\n value instanceof Temporal.PlainDate ||\n value instanceof Temporal.PlainDateTime ||\n value instanceof Temporal.PlainTime ||\n value instanceof Temporal.ZonedDateTime\n ) {\n return value.toString();\n }\n if (\n typeof value === 'bigint' ||\n typeof value === 'boolean' ||\n typeof value === 'number' ||\n typeof value === 'string'\n ) {\n return String(value);\n }\n return '';\n}\n\nfunction defaultCompare<T extends Record<string, unknown>>(\n a: T,\n b: T,\n sortKey: string,\n): number {\n const left = a[sortKey];\n const right = b[sortKey];\n if (left == null && right == null) {\n return 0;\n }\n if (left == null) {\n return 1;\n }\n if (right == null) {\n return -1;\n }\n if (typeof left === 'number' && typeof right === 'number') {\n return left - right;\n }\n return stringifySortable(left).localeCompare(\n stringifySortable(right),\n undefined,\n {\n numeric: true,\n },\n );\n}\n\nexport function useTableSortableState<\n T extends Record<string, unknown>,\n TSortKey extends string = string,\n>({\n hasUnsortedState,\n comparators,\n data,\n defaultSort = [],\n isMultiSortEnabled,\n onSortChange: controlledOnSortChange,\n sort: controlledSort,\n}: UseTableSortableStateConfig<T, TSortKey>): UseTableSortableStateResult<\n T,\n TSortKey\n> {\n const [uncontrolledSort, setUncontrolledSort] =\n useState<TableSortState<TSortKey>>(defaultSort);\n const sort = controlledSort ?? uncontrolledSort;\n const onSortChange = useCallback(\n (nextSort: TableSortState<TSortKey>) => {\n if (controlledSort == null) {\n setUncontrolledSort(nextSort);\n }\n controlledOnSortChange?.(nextSort);\n },\n [controlledOnSortChange, controlledSort],\n );\n\n const applySort = useCallback(\n (items: T[]): T[] => {\n if (sort.length === 0) {\n return items;\n }\n return [...items].sort((a, b) => {\n for (const entry of sort) {\n const customCompare = comparators?.[entry.sortKey];\n const result =\n customCompare == null\n ? defaultCompare(a, b, entry.sortKey)\n : customCompare(a, b);\n if (result !== 0) {\n return entry.direction === 'ascending' ? result : -result;\n }\n }\n return 0;\n });\n },\n [comparators, sort],\n );\n const sortedData = useMemo(() => applySort(data), [applySort, data]);\n const sortConfig = useMemo(\n (): UseTableSortableConfig<TSortKey> => ({\n hasUnsortedState,\n isMultiSortEnabled,\n onSortChange,\n sort,\n }),\n [hasUnsortedState, isMultiSortEnabled, onSortChange, sort],\n );\n\n return {applySort, sort, sortConfig, sortedData};\n}\n"]}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
'use client';
|
|
2
|
+
import { useAppShellMobile, MobileNavToggle, MobileNav } from './chunk-RQUQSI67.js';
|
|
3
|
+
import { Divider } from './chunk-MCCOQSSC.js';
|
|
4
|
+
import { useRel, getAriaLabel } from './chunk-3IX2FJWH.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';
|
|
@@ -399,5 +400,5 @@ function TopNavItem({
|
|
|
399
400
|
TopNavItem.displayName = "TopNavItem";
|
|
400
401
|
|
|
401
402
|
export { TopNav, TopNavHeading, TopNavItem, TopNavMobileContentContext, TopNavRenderContext };
|
|
402
|
-
//# sourceMappingURL=chunk-
|
|
403
|
-
//# sourceMappingURL=chunk-
|
|
403
|
+
//# sourceMappingURL=chunk-BKZFINUO.js.map
|
|
404
|
+
//# sourceMappingURL=chunk-BKZFINUO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/TopNav/TopNav.recipe.ts","../src/components/TopNav/TopNavContext.ts","../src/components/TopNav/TopNav.tsx","../src/components/TopNav/TopNavHeading.recipe.ts","../src/components/TopNav/TopNavHeading.tsx","../src/components/TopNav/TopNavItem.recipe.ts","../src/components/TopNav/TopNavItem.tsx"],"names":["classes","jsxs","jsx"],"mappings":"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","file":"chunk-BKZFINUO.js","sourcesContent":["import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const topNavRecipe = sva({\n slots: [\n 'root',\n 'leftSection',\n 'heading',\n 'startContent',\n 'centerContent',\n 'rightSection',\n 'endContent',\n 'mobileEnd',\n 'drawerItems',\n 'drawerDivider',\n ],\n base: {\n root: {\n alignItems: 'center',\n w: '100%',\n p: '2',\n },\n leftSection: {\n display: 'flex',\n alignItems: 'center',\n gap: '4',\n flex: '1 1 0%',\n minW: 0,\n },\n heading: {\n display: 'flex',\n alignItems: 'center',\n flexShrink: 0,\n },\n startContent: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n },\n centerContent: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n gap: '1',\n },\n rightSection: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'flex-end',\n gap: '1',\n },\n endContent: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n flexShrink: 0,\n ms: 'auto',\n },\n mobileEnd: {\n display: 'flex',\n alignItems: 'center',\n gap: '1',\n ms: 'auto',\n },\n drawerItems: {\n display: 'flex',\n flexDirection: 'column',\n gap: '0.5',\n },\n drawerDivider: {\n my: '2',\n },\n },\n variants: {\n layout: {\n flex: {\n root: {display: 'flex'},\n },\n grid: {\n root: {display: 'grid', gridTemplateColumns: '1fr auto 1fr'},\n },\n mobile: {\n root: {display: 'flex'},\n },\n },\n },\n defaultVariants: {\n layout: 'flex',\n },\n});\n\nexport type TopNavVariants = RecipeVariantProps<typeof topNavRecipe>;\n","'use client';\n\nimport {createContext, use, type ReactNode} from 'react';\n\nexport type TopNavRenderMode = 'default' | 'mobile-bar' | 'drawer';\n\nexport const TopNavRenderContext = createContext<TopNavRenderMode>('default');\nTopNavRenderContext.displayName = 'TopNavRenderContext';\nexport const TopNavMobileContentContext = createContext<ReactNode>(null);\nTopNavMobileContentContext.displayName = 'TopNavMobileContentContext';\n\nexport function useTopNavRenderMode(): TopNavRenderMode {\n return use(TopNavRenderContext);\n}\n\nexport function useTopNavMobileContent(): ReactNode {\n return use(TopNavMobileContentContext);\n}\n","'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useAppShellMobile} from 'components/AppShell/AppShellMobileContext';\nimport {Divider} from 'components/Divider';\nimport {topNavRecipe} from 'components/TopNav/TopNav.recipe';\nimport {\n useTopNavMobileContent,\n useTopNavRenderMode,\n} from 'components/TopNav/TopNavContext';\nimport {MobileNav, MobileNavToggle} from 'internal/MobileNav';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface TopNavProps {\n /**\n * Content rendered in the center section of the navigation bar.\n */\n centerContent?: ReactNode;\n /**\n * Shorthand for `startContent`. Rendered in the start section when\n * `startContent` is not provided.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the nav element.\n */\n className?: string;\n /**\n * Test ID applied to the nav element.\n */\n 'data-testid'?: string;\n /**\n * Content rendered in the end (right) section of the navigation bar.\n */\n endContent?: ReactNode;\n /**\n * Branding or title content rendered at the start of the bar.\n */\n heading?: ReactNode;\n /**\n * Accessible label for the navigation landmark.\n * @default 'Top navigation'\n */\n label?: string;\n /**\n * Ref forwarded to the nav element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * Content rendered in the start (left) section after the heading.\n */\n startContent?: ReactNode;\n /**\n * Inline styles applied to the nav element.\n */\n style?: CSSProperties;\n}\n\n/**\n * Horizontal top navigation bar with heading, start, center, and end\n * content slots. Adapts to mobile layouts when rendered inside AppShell.\n */\nexport function TopNav({\n centerContent,\n children,\n className,\n 'data-testid': dataTestId,\n endContent,\n heading,\n label = 'Top navigation',\n ref,\n startContent,\n style,\n}: TopNavProps): React.JSX.Element | null {\n const renderMode = useTopNavRenderMode();\n const mobileContent = useTopNavMobileContent();\n const {hasAutoToggle} = useAppShellMobile();\n const resolvedStartContent = startContent ?? children;\n\n if (process.env.NODE_ENV !== 'production') {\n if (isReactNode(startContent) && isReactNode(children)) {\n console.warn(\n 'TopNav: both `startContent` and `children` were provided. ' +\n '`startContent` takes precedence and `children` is ignored. ' +\n 'Provide only one.',\n );\n }\n }\n\n const hasCenterContent = isReactNode(centerContent);\n const hasCollapsibleContent =\n isReactNode(resolvedStartContent) || isReactNode(centerContent);\n const hasMobileDrawerContent =\n hasCollapsibleContent || isReactNode(mobileContent);\n\n if (renderMode === 'mobile-bar') {\n const classes = topNavRecipe({layout: 'mobile'});\n return (\n <nav\n aria-label={label}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n {isReactNode(heading) ? (\n <div className={classes.heading}>{heading}</div>\n ) : null}\n <div className={classes.mobileEnd}>\n {endContent}\n {hasMobileDrawerContent && hasAutoToggle ? <MobileNavToggle /> : null}\n </div>\n </nav>\n );\n }\n\n if (renderMode === 'drawer') {\n if (!hasCollapsibleContent && !isReactNode(mobileContent)) {\n return null;\n }\n\n const classes = topNavRecipe();\n return (\n <MobileNav header={heading}>\n {hasCollapsibleContent ? (\n <div className={classes.drawerItems}>\n {resolvedStartContent}\n {centerContent}\n </div>\n ) : null}\n {hasCollapsibleContent && isReactNode(mobileContent) ? (\n <div className={classes.drawerDivider}>\n <Divider />\n </div>\n ) : null}\n {mobileContent}\n </MobileNav>\n );\n }\n\n const classes = topNavRecipe({layout: hasCenterContent ? 'grid' : 'flex'});\n return (\n <nav\n aria-label={label}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n ref={ref}\n style={style}>\n <div className={classes.leftSection}>\n {isReactNode(heading) ? (\n <div className={classes.heading}>{heading}</div>\n ) : null}\n {isReactNode(resolvedStartContent) ? (\n <div className={classes.startContent}>{resolvedStartContent}</div>\n ) : null}\n </div>\n {hasCenterContent ? (\n <div className={classes.centerContent}>{centerContent}</div>\n ) : null}\n {hasCenterContent ? (\n <div className={classes.rightSection}>{endContent}</div>\n ) : isReactNode(endContent) ? (\n <div className={classes.endContent}>{endContent}</div>\n ) : null}\n </nav>\n );\n}\n\nTopNav.displayName = 'TopNav';\n","import {sva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const topNavHeadingRecipe = sva({\n slots: ['root', 'logo', 'text', 'endContent'],\n base: {\n root: {\n display: 'flex',\n alignItems: 'center',\n gap: '2',\n minH: '8',\n px: '2',\n color: 'fg',\n textDecoration: 'none',\n },\n logo: {\n flexShrink: 0,\n display: 'inline-flex',\n alignItems: 'center',\n },\n text: {\n display: 'flex',\n flexDirection: 'column',\n minW: 0,\n },\n endContent: {\n ms: 'auto',\n flexShrink: 0,\n },\n },\n});\n\nexport type TopNavHeadingVariants = RecipeVariantProps<\n typeof topNavHeadingRecipe\n>;\n","/* eslint-disable @eslint-react/static-components -- intentional polymorphism via as prop */\n'use client';\n\nimport type {CSSProperties, ReactNode, Ref} from 'react';\nimport {useLinkComponent} from 'components/Link';\nimport type {LinkComponent} from 'components/Link';\nimport {Text} from 'components/Text';\nimport {topNavHeadingRecipe} from 'components/TopNav/TopNavHeading.recipe';\nimport {cx} from 'internal/cx';\nimport isReactNode from 'internal/isReactNode';\n\nexport interface TopNavHeadingProps {\n /**\n * Accessible label for the heading link. Use when `heading` text is absent\n * (e.g., logo-only headings) to ensure the link has an accessible name.\n */\n 'aria-label'?: string;\n as?: LinkComponent;\n className?: string;\n 'data-testid'?: string;\n headerEndContent?: ReactNode;\n heading?: string;\n headingHref?: string;\n href?: string;\n logo?: ReactNode;\n ref?: Ref<HTMLElement>;\n style?: CSSProperties;\n subheading?: string;\n superheading?: string;\n}\n\nexport function TopNavHeading({\n 'aria-label': ariaLabel,\n as,\n className,\n 'data-testid': dataTestId,\n headerEndContent,\n heading,\n headingHref,\n href,\n logo,\n ref,\n style,\n subheading,\n superheading,\n}: TopNavHeadingProps): React.JSX.Element {\n const LinkComponent = useLinkComponent(as);\n const resolvedHref = headingHref ?? href;\n const Element = resolvedHref != null ? LinkComponent : 'div';\n const classes = topNavHeadingRecipe();\n\n return (\n <Element\n aria-label={ariaLabel}\n className={cx(classes.root, className)}\n data-testid={dataTestId}\n href={resolvedHref}\n ref={ref as Ref<HTMLAnchorElement & HTMLDivElement>}\n style={style}\n to={Element === 'a' ? undefined : resolvedHref}>\n {isReactNode(logo) ? <span className={classes.logo}>{logo}</span> : null}\n <span className={classes.text}>\n {superheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {superheading}\n </Text>\n ) : null}\n {heading != null ? (\n <Text type=\"large\" weight=\"semibold\">\n {heading}\n </Text>\n ) : null}\n {subheading != null ? (\n <Text color=\"secondary\" type=\"supporting\">\n {subheading}\n </Text>\n ) : null}\n </span>\n {isReactNode(headerEndContent) ? (\n <span className={classes.endContent}>{headerEndContent}</span>\n ) : null}\n </Element>\n );\n}\n\nTopNavHeading.displayName = 'TopNavHeading';\n","import {cva, type RecipeVariantProps} from 'styled-system/css';\n\nexport const topNavItemRecipe = cva({\n base: {\n display: 'inline-flex',\n alignItems: 'center',\n gap: '2',\n minH: '8',\n px: '3',\n py: '1.5',\n borderRadius: 'md',\n color: 'fg.muted',\n textDecoration: 'none',\n fontFamily: 'body',\n fontSize: 'md',\n fontWeight: 'medium',\n cursor: 'pointer',\n _hover: {bg: 'bg.hover'},\n _focusVisible: {\n outlineWidth: 'focus',\n outlineStyle: 'solid',\n outlineColor: 'primary',\n outlineOffset: 'focusOffset',\n },\n },\n variants: {\n isSelected: {\n true: {\n bg: 'bg.hover',\n color: 'fg',\n fontWeight: 'semibold',\n },\n false: {},\n },\n isDisabled: {\n true: {\n opacity: 0.5,\n cursor: 'not-allowed',\n pointerEvents: 'none',\n },\n false: {},\n },\n isIconOnly: {\n true: {\n px: '2',\n aspectRatio: 'square',\n },\n false: {},\n },\n isDrawer: {\n true: {\n display: 'flex',\n w: '100%',\n },\n false: {},\n },\n },\n defaultVariants: {\n isSelected: false,\n isDisabled: false,\n isIconOnly: false,\n isDrawer: false,\n },\n});\n\nexport type TopNavItemVariants = RecipeVariantProps<typeof topNavItemRecipe>;\n","'use client';\n\nimport type {CSSProperties, MouseEventHandler, ReactNode, Ref} from 'react';\nimport {useAppShellMobile} from 'components/AppShell/AppShellMobileContext';\nimport {Icon, type IconComponent} from 'components/Icon';\nimport type {LinkComponent} from 'components/Link';\nimport {Text} from 'components/Text';\nimport {useTopNavRenderMode} from 'components/TopNav/TopNavContext';\nimport {topNavItemRecipe} from 'components/TopNav/TopNavItem.recipe';\nimport {VisuallyHidden} from 'internal';\nimport {ActionElement} from 'internal/ActionElement';\nimport {cx} from 'internal/cx';\nimport {getAriaLabel, useRel} from 'internal/linkAccessibility';\n\nexport interface TopNavItemProps {\n /**\n * Custom link component used for routing.\n */\n as?: LinkComponent;\n /**\n * Custom label content. Falls back to the `label` prop text.\n */\n children?: ReactNode;\n /**\n * Additional CSS class names applied to the item.\n */\n className?: string;\n /**\n * Test ID applied to the item.\n */\n 'data-testid'?: string;\n /**\n * Link destination. When set, the item renders as a link. When omitted,\n * the item renders as a button driven by `onClick`.\n */\n href?: string;\n /**\n * Icon rendered before the label.\n */\n icon?: IconComponent;\n /**\n * Whether the item is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Whether only the icon is visible (label used for accessibility).\n * @default false\n */\n isIconOnly?: boolean;\n /**\n * Whether the item is currently selected.\n * @default false\n */\n isSelected?: boolean;\n /**\n * Accessible item label, also used as visible text when children are omitted.\n */\n label: string;\n /**\n * Click handler called when the item is clicked.\n */\n onClick?: MouseEventHandler<HTMLElement>;\n /**\n * Ref forwarded to the anchor or button element.\n */\n ref?: Ref<HTMLElement>;\n /**\n * The `rel` attribute for the anchor element. `noopener noreferrer` are\n * added automatically for `target=\"_blank\"`. Ignored when rendering as a\n * button (no `href`).\n */\n rel?: string;\n /**\n * Inline styles applied to the item.\n */\n style?: CSSProperties;\n /**\n * The `target` attribute for the anchor element. Ignored when rendering as\n * a button (no `href`).\n */\n target?: string;\n}\n\n/**\n * A single navigation item inside a TopNav. Renders as a link when `href`\n * is provided, or a button driven by `onClick` otherwise. Supports icons,\n * selected state, and adapts to drawer layout on mobile.\n */\nexport function TopNavItem({\n as,\n children,\n className,\n 'data-testid': dataTestId,\n href,\n icon,\n isDisabled = false,\n isIconOnly = false,\n isSelected = false,\n label,\n onClick,\n ref,\n rel,\n style,\n target,\n}: TopNavItemProps): React.JSX.Element {\n const renderMode = useTopNavRenderMode();\n const {closeMobileNav} = useAppShellMobile();\n const isDrawer = renderMode === 'drawer';\n const opensInNewTab = target === '_blank';\n const linkRel = useRel({target, rel});\n const labelContent = children ?? (\n <Text color=\"inherit\" size=\"md\" type=\"body\" weight=\"inherit\">\n {label}\n </Text>\n );\n\n const handleClick: MouseEventHandler<HTMLElement> = event => {\n if (isDisabled) {\n event.preventDefault();\n return;\n }\n\n onClick?.(event);\n\n if (isDrawer) {\n closeMobileNav();\n }\n };\n\n const className_ = cx(\n topNavItemRecipe({isSelected, isDisabled, isIconOnly, isDrawer}),\n className,\n );\n\n const content = (\n <>\n {icon != null ? (\n <Icon aria-hidden=\"true\" color=\"inherit\" icon={icon} size=\"md\" />\n ) : null}\n {!isIconOnly ? labelContent : null}\n </>\n );\n\n return (\n <ActionElement\n aria-current={isSelected ? 'page' : undefined}\n aria-disabled={href != null && isDisabled ? true : undefined}\n aria-label={isIconOnly ? getAriaLabel(label, opensInNewTab) : undefined}\n as={as}\n className={className_}\n data-testid={dataTestId}\n href={href}\n isDisabled={href == null ? isDisabled : undefined}\n isLink={href != null}\n onClick={handleClick}\n ref={ref}\n rel={href != null ? linkRel : undefined}\n style={style}\n tabIndex={href != null && isDisabled ? -1 : undefined}\n target={href != null ? target : undefined}>\n {content}\n {opensInNewTab && !isIconOnly ? (\n <>\n {' '}\n <VisuallyHidden>(opens in new tab)</VisuallyHidden>\n </>\n ) : null}\n </ActionElement>\n );\n}\n\nTopNavItem.displayName = 'TopNavItem';\n"]}
|