@elabs-ai/components-ui 4.1.0 → 5.0.0
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 +2 -1
- package/dist/chunk-22Z735L6.js +18 -0
- package/dist/chunk-22Z735L6.js.map +1 -0
- package/dist/chunk-23E62DNM.js +2 -0
- package/dist/chunk-23E62DNM.js.map +1 -0
- package/dist/chunk-2AABRSIN.js +2 -0
- package/dist/chunk-2AABRSIN.js.map +1 -0
- package/dist/chunk-2HXVFC4B.js +44 -0
- package/dist/chunk-2HXVFC4B.js.map +1 -0
- package/dist/chunk-2SBYBN45.js +2 -0
- package/dist/chunk-2SBYBN45.js.map +1 -0
- package/dist/chunk-333EWYWL.js +385 -0
- package/dist/chunk-333EWYWL.js.map +1 -0
- package/dist/chunk-35DUHYPC.js +59 -0
- package/dist/chunk-35DUHYPC.js.map +1 -0
- package/dist/chunk-35ZTVB35.js +76 -0
- package/dist/chunk-35ZTVB35.js.map +1 -0
- package/dist/chunk-36VULFFV.js +2 -0
- package/dist/chunk-36VULFFV.js.map +1 -0
- package/dist/chunk-3B7W334A.js +229 -0
- package/dist/chunk-3B7W334A.js.map +1 -0
- package/dist/chunk-3EKVSKGJ.js +256 -0
- package/dist/chunk-3EKVSKGJ.js.map +1 -0
- package/dist/chunk-3JAEQNCB.js +60 -0
- package/dist/chunk-3JAEQNCB.js.map +1 -0
- package/dist/chunk-3LWAAK3J.js +140 -0
- package/dist/chunk-3LWAAK3J.js.map +1 -0
- package/dist/chunk-3OSGTUN2.js +2 -0
- package/dist/chunk-3OSGTUN2.js.map +1 -0
- package/dist/chunk-3P7SRCDB.js +23 -0
- package/dist/chunk-3P7SRCDB.js.map +1 -0
- package/dist/chunk-45ICJ3EV.js +2 -0
- package/dist/chunk-45ICJ3EV.js.map +1 -0
- package/dist/chunk-4ACT7RLU.js +2 -0
- package/dist/chunk-4ACT7RLU.js.map +1 -0
- package/dist/chunk-4E73UAFA.js +296 -0
- package/dist/chunk-4E73UAFA.js.map +1 -0
- package/dist/chunk-4GQFIJAE.js +197 -0
- package/dist/chunk-4GQFIJAE.js.map +1 -0
- package/dist/chunk-4HTVJZVG.js +2 -0
- package/dist/chunk-4HTVJZVG.js.map +1 -0
- package/dist/chunk-4KDA5MDC.js +2 -0
- package/dist/chunk-4KDA5MDC.js.map +1 -0
- package/dist/chunk-4PITSMJ3.js +52 -0
- package/dist/chunk-4PITSMJ3.js.map +1 -0
- package/dist/chunk-4PXDZR2W.js +2 -0
- package/dist/chunk-4PXDZR2W.js.map +1 -0
- package/dist/chunk-4UWOADYM.js +2 -0
- package/dist/chunk-4UWOADYM.js.map +1 -0
- package/dist/chunk-4W3MVVKN.js +66 -0
- package/dist/chunk-4W3MVVKN.js.map +1 -0
- package/dist/chunk-4YOFSGHD.js +2 -0
- package/dist/chunk-4YOFSGHD.js.map +1 -0
- package/dist/chunk-533R5EKD.js +87 -0
- package/dist/chunk-533R5EKD.js.map +1 -0
- package/dist/chunk-545HI223.js +2 -0
- package/dist/chunk-545HI223.js.map +1 -0
- package/dist/chunk-57C25JYV.js +170 -0
- package/dist/chunk-57C25JYV.js.map +1 -0
- package/dist/chunk-5AWXGBSH.js +82 -0
- package/dist/chunk-5AWXGBSH.js.map +1 -0
- package/dist/chunk-5G2DDMHR.js +2 -0
- package/dist/chunk-5G2DDMHR.js.map +1 -0
- package/dist/chunk-5HBMI2DO.js +42 -0
- package/dist/chunk-5HBMI2DO.js.map +1 -0
- package/dist/chunk-5LCN5Q2L.js +23 -0
- package/dist/chunk-5LCN5Q2L.js.map +1 -0
- package/dist/chunk-5P4BSHIG.js +2 -0
- package/dist/chunk-5P4BSHIG.js.map +1 -0
- package/dist/chunk-5RC32MZH.js +161 -0
- package/dist/chunk-5RC32MZH.js.map +1 -0
- package/dist/chunk-5SHHIQVA.js +22 -0
- package/dist/chunk-5SHHIQVA.js.map +1 -0
- package/dist/chunk-5V5J7APL.js +27 -0
- package/dist/chunk-5V5J7APL.js.map +1 -0
- package/dist/chunk-5YZLOAKR.js +2 -0
- package/dist/chunk-5YZLOAKR.js.map +1 -0
- package/dist/chunk-5Z55AFOW.js +128 -0
- package/dist/chunk-5Z55AFOW.js.map +1 -0
- package/dist/chunk-653ZIWX6.js +2 -0
- package/dist/chunk-653ZIWX6.js.map +1 -0
- package/dist/chunk-6DHG7JVP.js +2 -0
- package/dist/chunk-6DHG7JVP.js.map +1 -0
- package/dist/chunk-6HGS5Z2Z.js +110 -0
- package/dist/chunk-6HGS5Z2Z.js.map +1 -0
- package/dist/chunk-6NKILKS6.js +35 -0
- package/dist/chunk-6NKILKS6.js.map +1 -0
- package/dist/chunk-6OFWWIEG.js +50 -0
- package/dist/chunk-6OFWWIEG.js.map +1 -0
- package/dist/chunk-6OPDRLMU.js +158 -0
- package/dist/chunk-6OPDRLMU.js.map +1 -0
- package/dist/chunk-6QU7OVFA.js +357 -0
- package/dist/chunk-6QU7OVFA.js.map +1 -0
- package/dist/chunk-6ROQKB4U.js +2 -0
- package/dist/chunk-6ROQKB4U.js.map +1 -0
- package/dist/chunk-6S43VAN7.js +2 -0
- package/dist/chunk-6S43VAN7.js.map +1 -0
- package/dist/chunk-6TJVJPNU.js +1321 -0
- package/dist/chunk-6TJVJPNU.js.map +1 -0
- package/dist/chunk-6VLJL7Q4.js +2 -0
- package/dist/chunk-6VLJL7Q4.js.map +1 -0
- package/dist/chunk-7G63B2B7.js +189 -0
- package/dist/chunk-7G63B2B7.js.map +1 -0
- package/dist/chunk-7P24I5OL.js +23 -0
- package/dist/chunk-7P24I5OL.js.map +1 -0
- package/dist/chunk-7PS5MKVH.js +97 -0
- package/dist/chunk-7PS5MKVH.js.map +1 -0
- package/dist/chunk-7WIHVGYL.js +2 -0
- package/dist/chunk-7WIHVGYL.js.map +1 -0
- package/dist/chunk-7WXDSTNR.js +62 -0
- package/dist/chunk-7WXDSTNR.js.map +1 -0
- package/dist/chunk-A43B4IT7.js +395 -0
- package/dist/chunk-A43B4IT7.js.map +1 -0
- package/dist/chunk-A47AZPCL.js +35 -0
- package/dist/chunk-A47AZPCL.js.map +1 -0
- package/dist/chunk-AA3SPDJU.js +2 -0
- package/dist/chunk-AA3SPDJU.js.map +1 -0
- package/dist/chunk-AC7X3D2M.js +2 -0
- package/dist/chunk-AC7X3D2M.js.map +1 -0
- package/dist/chunk-AE6UDP36.js +2 -0
- package/dist/chunk-AE6UDP36.js.map +1 -0
- package/dist/chunk-AFEFAGPW.js +2 -0
- package/dist/chunk-AFEFAGPW.js.map +1 -0
- package/dist/chunk-AFJCS2WV.js +95 -0
- package/dist/chunk-AFJCS2WV.js.map +1 -0
- package/dist/chunk-AQNLEP5F.js +2 -0
- package/dist/chunk-AQNLEP5F.js.map +1 -0
- package/dist/chunk-AUQVJ7KO.js +2 -0
- package/dist/chunk-AUQVJ7KO.js.map +1 -0
- package/dist/chunk-AXKZBRZK.js +32 -0
- package/dist/chunk-AXKZBRZK.js.map +1 -0
- package/dist/chunk-AZEABCK4.js +30 -0
- package/dist/chunk-AZEABCK4.js.map +1 -0
- package/dist/chunk-B23VW24W.js +2 -0
- package/dist/chunk-B23VW24W.js.map +1 -0
- package/dist/chunk-B2RSOLLO.js +2 -0
- package/dist/chunk-B2RSOLLO.js.map +1 -0
- package/dist/chunk-B5QQLMEE.js +31 -0
- package/dist/chunk-B5QQLMEE.js.map +1 -0
- package/dist/chunk-BLNXHETI.js +163 -0
- package/dist/chunk-BLNXHETI.js.map +1 -0
- package/dist/chunk-BM6NGS3A.js +201 -0
- package/dist/chunk-BM6NGS3A.js.map +1 -0
- package/dist/chunk-BN4CKDFU.js +989 -0
- package/dist/chunk-BN4CKDFU.js.map +1 -0
- package/dist/chunk-BPXLHGWI.js +54 -0
- package/dist/chunk-BPXLHGWI.js.map +1 -0
- package/dist/chunk-BTBYNKT4.js +2 -0
- package/dist/chunk-BTBYNKT4.js.map +1 -0
- package/dist/chunk-BWL7HWEF.js +325 -0
- package/dist/chunk-BWL7HWEF.js.map +1 -0
- package/dist/chunk-BZQF5QCN.js +18 -0
- package/dist/chunk-BZQF5QCN.js.map +1 -0
- package/dist/chunk-C2AQEEFB.js +2 -0
- package/dist/chunk-C2AQEEFB.js.map +1 -0
- package/dist/chunk-C753P3VJ.js +2 -0
- package/dist/chunk-C753P3VJ.js.map +1 -0
- package/dist/chunk-CDE74W6O.js +2 -0
- package/dist/chunk-CDE74W6O.js.map +1 -0
- package/dist/chunk-CEQER4CV.js +2 -0
- package/dist/chunk-CEQER4CV.js.map +1 -0
- package/dist/chunk-CQ5CH3SB.js +55 -0
- package/dist/chunk-CQ5CH3SB.js.map +1 -0
- package/dist/chunk-CRGGGHAM.js +2 -0
- package/dist/chunk-CRGGGHAM.js.map +1 -0
- package/dist/chunk-CRVB4SLG.js +2 -0
- package/dist/chunk-CRVB4SLG.js.map +1 -0
- package/dist/chunk-CT6XJIPY.js +2 -0
- package/dist/chunk-CT6XJIPY.js.map +1 -0
- package/dist/chunk-CY624JOL.js +2 -0
- package/dist/chunk-CY624JOL.js.map +1 -0
- package/dist/chunk-D3C3VVCX.js +38 -0
- package/dist/chunk-D3C3VVCX.js.map +1 -0
- package/dist/chunk-D53EN4Q6.js +2 -0
- package/dist/chunk-D53EN4Q6.js.map +1 -0
- package/dist/chunk-DCHYNTHI.js +11 -0
- package/dist/chunk-DCHYNTHI.js.map +1 -0
- package/dist/chunk-DCI6IOJX.js +236 -0
- package/dist/chunk-DCI6IOJX.js.map +1 -0
- package/dist/chunk-DFYPQ52O.js +476 -0
- package/dist/chunk-DFYPQ52O.js.map +1 -0
- package/dist/chunk-DIQJODQR.js +2 -0
- package/dist/chunk-DIQJODQR.js.map +1 -0
- package/dist/chunk-DSGTH6JW.js +2 -0
- package/dist/chunk-DSGTH6JW.js.map +1 -0
- package/dist/chunk-DT6RNLCP.js +32 -0
- package/dist/chunk-DT6RNLCP.js.map +1 -0
- package/dist/chunk-DU6ITAJL.js +2 -0
- package/dist/chunk-DU6ITAJL.js.map +1 -0
- package/dist/chunk-DUF2VZON.js +36 -0
- package/dist/chunk-DUF2VZON.js.map +1 -0
- package/dist/chunk-DXDLTYTT.js +2 -0
- package/dist/chunk-DXDLTYTT.js.map +1 -0
- package/dist/chunk-E3ES2KR6.js +55 -0
- package/dist/chunk-E3ES2KR6.js.map +1 -0
- package/dist/chunk-EAFPUZ46.js +2 -0
- package/dist/chunk-EAFPUZ46.js.map +1 -0
- package/dist/chunk-EBDOKU5K.js +2 -0
- package/dist/chunk-EBDOKU5K.js.map +1 -0
- package/dist/chunk-ECCNRCC4.js +74 -0
- package/dist/chunk-ECCNRCC4.js.map +1 -0
- package/dist/chunk-EDE73Q6Z.js +2 -0
- package/dist/chunk-EDE73Q6Z.js.map +1 -0
- package/dist/chunk-EHGIW7GA.js +190 -0
- package/dist/chunk-EHGIW7GA.js.map +1 -0
- package/dist/chunk-EJQYE4MY.js +100 -0
- package/dist/chunk-EJQYE4MY.js.map +1 -0
- package/dist/chunk-EKY3A5LO.js +133 -0
- package/dist/chunk-EKY3A5LO.js.map +1 -0
- package/dist/chunk-EL3OXVOW.js +31 -0
- package/dist/chunk-EL3OXVOW.js.map +1 -0
- package/dist/chunk-EP3U7OQ3.js +18 -0
- package/dist/chunk-EP3U7OQ3.js.map +1 -0
- package/dist/chunk-EY2PGOG3.js +246 -0
- package/dist/chunk-EY2PGOG3.js.map +1 -0
- package/dist/chunk-FAOX6A5D.js +2 -0
- package/dist/chunk-FAOX6A5D.js.map +1 -0
- package/dist/chunk-FBJ2JSRA.js +47 -0
- package/dist/chunk-FBJ2JSRA.js.map +1 -0
- package/dist/chunk-FDJ77DTR.js +2 -0
- package/dist/chunk-FDJ77DTR.js.map +1 -0
- package/dist/chunk-FDPONOOT.js +93 -0
- package/dist/chunk-FDPONOOT.js.map +1 -0
- package/dist/chunk-FHDJKH2A.js +2 -0
- package/dist/chunk-FHDJKH2A.js.map +1 -0
- package/dist/chunk-FINAKMC6.js +796 -0
- package/dist/chunk-FINAKMC6.js.map +1 -0
- package/dist/chunk-FKUP7QRJ.js +54 -0
- package/dist/chunk-FKUP7QRJ.js.map +1 -0
- package/dist/chunk-FPLZ24MK.js +2 -0
- package/dist/chunk-FPLZ24MK.js.map +1 -0
- package/dist/chunk-FRFSDZIN.js +2 -0
- package/dist/chunk-FRFSDZIN.js.map +1 -0
- package/dist/chunk-FYCCNQXQ.js +173 -0
- package/dist/chunk-FYCCNQXQ.js.map +1 -0
- package/dist/chunk-G3OTDYCD.js +53 -0
- package/dist/chunk-G3OTDYCD.js.map +1 -0
- package/dist/chunk-G72UOVKS.js +2 -0
- package/dist/chunk-G72UOVKS.js.map +1 -0
- package/dist/chunk-GAI4NEPU.js +151 -0
- package/dist/chunk-GAI4NEPU.js.map +1 -0
- package/dist/chunk-GRWGNWIJ.js +187 -0
- package/dist/chunk-GRWGNWIJ.js.map +1 -0
- package/dist/chunk-GV6GQXKX.js +176 -0
- package/dist/chunk-GV6GQXKX.js.map +1 -0
- package/dist/chunk-H5UA5JW4.js +140 -0
- package/dist/chunk-H5UA5JW4.js.map +1 -0
- package/dist/chunk-H5XSI63P.js +2 -0
- package/dist/chunk-H5XSI63P.js.map +1 -0
- package/dist/chunk-HANBQNW3.js +1498 -0
- package/dist/chunk-HANBQNW3.js.map +1 -0
- package/dist/chunk-HCU2JHPH.js +169 -0
- package/dist/chunk-HCU2JHPH.js.map +1 -0
- package/dist/chunk-HDDXP2J7.js +2 -0
- package/dist/chunk-HDDXP2J7.js.map +1 -0
- package/dist/chunk-HDS64Z5L.js +54 -0
- package/dist/chunk-HDS64Z5L.js.map +1 -0
- package/dist/chunk-HHVULJGX.js +2 -0
- package/dist/chunk-HHVULJGX.js.map +1 -0
- package/dist/chunk-HLMFRCFE.js +2 -0
- package/dist/chunk-HLMFRCFE.js.map +1 -0
- package/dist/chunk-HPUPDT4Q.js +2 -0
- package/dist/chunk-HPUPDT4Q.js.map +1 -0
- package/dist/chunk-HRYH7XQP.js +209 -0
- package/dist/chunk-HRYH7XQP.js.map +1 -0
- package/dist/chunk-HVFYAQLK.js +101 -0
- package/dist/chunk-HVFYAQLK.js.map +1 -0
- package/dist/chunk-HZPNST7D.js +2 -0
- package/dist/chunk-HZPNST7D.js.map +1 -0
- package/dist/chunk-I6O6ACCH.js +2 -0
- package/dist/chunk-I6O6ACCH.js.map +1 -0
- package/dist/chunk-IGP5E4FC.js +201 -0
- package/dist/chunk-IGP5E4FC.js.map +1 -0
- package/dist/chunk-IHMFEPIT.js +123 -0
- package/dist/chunk-IHMFEPIT.js.map +1 -0
- package/dist/chunk-IM5VJP6T.js +2 -0
- package/dist/chunk-IM5VJP6T.js.map +1 -0
- package/dist/chunk-IRUZDWJ3.js +218 -0
- package/dist/chunk-IRUZDWJ3.js.map +1 -0
- package/dist/chunk-ISWUCXEZ.js +2 -0
- package/dist/chunk-ISWUCXEZ.js.map +1 -0
- package/dist/chunk-ITFDGFOT.js +31 -0
- package/dist/chunk-ITFDGFOT.js.map +1 -0
- package/dist/chunk-IUQ474IC.js +2 -0
- package/dist/chunk-IUQ474IC.js.map +1 -0
- package/dist/chunk-IY23F2Y5.js +2 -0
- package/dist/chunk-IY23F2Y5.js.map +1 -0
- package/dist/chunk-IZJOZJDL.js +75 -0
- package/dist/chunk-IZJOZJDL.js.map +1 -0
- package/dist/chunk-J2P4YZLC.js +85 -0
- package/dist/chunk-J2P4YZLC.js.map +1 -0
- package/dist/chunk-JCRBDA66.js +2 -0
- package/dist/chunk-JCRBDA66.js.map +1 -0
- package/dist/chunk-JGS2IHER.js +140 -0
- package/dist/chunk-JGS2IHER.js.map +1 -0
- package/dist/chunk-JNWXHPZG.js +24 -0
- package/dist/chunk-JNWXHPZG.js.map +1 -0
- package/dist/chunk-JWWJ2Z5C.js +2 -0
- package/dist/chunk-JWWJ2Z5C.js.map +1 -0
- package/dist/chunk-K2GLXCTG.js +2 -0
- package/dist/chunk-K2GLXCTG.js.map +1 -0
- package/dist/chunk-K6YRTASS.js +55 -0
- package/dist/chunk-K6YRTASS.js.map +1 -0
- package/dist/chunk-KAAJL2HA.js +327 -0
- package/dist/chunk-KAAJL2HA.js.map +1 -0
- package/dist/chunk-KBNWM27Q.js +48 -0
- package/dist/chunk-KBNWM27Q.js.map +1 -0
- package/dist/chunk-KOVHUAHG.js +164 -0
- package/dist/chunk-KOVHUAHG.js.map +1 -0
- package/dist/chunk-KRVSD4OK.js +2 -0
- package/dist/chunk-KRVSD4OK.js.map +1 -0
- package/dist/chunk-KTH3GWAL.js +116 -0
- package/dist/chunk-KTH3GWAL.js.map +1 -0
- package/dist/chunk-KUAVM54Y.js +30 -0
- package/dist/chunk-KUAVM54Y.js.map +1 -0
- package/dist/chunk-KWQ6HV5Z.js +97 -0
- package/dist/chunk-KWQ6HV5Z.js.map +1 -0
- package/dist/chunk-KZWC6JCI.js +177 -0
- package/dist/chunk-KZWC6JCI.js.map +1 -0
- package/dist/chunk-L37QZALU.js +17 -0
- package/dist/chunk-L37QZALU.js.map +1 -0
- package/dist/chunk-L3SHPHLK.js +35 -0
- package/dist/chunk-L3SHPHLK.js.map +1 -0
- package/dist/chunk-L66VJIRD.js +2 -0
- package/dist/chunk-L66VJIRD.js.map +1 -0
- package/dist/chunk-LDOCY4SU.js +68 -0
- package/dist/chunk-LDOCY4SU.js.map +1 -0
- package/dist/chunk-LJGWA2XL.js +2 -0
- package/dist/chunk-LJGWA2XL.js.map +1 -0
- package/dist/chunk-LLQWLZ75.js +2 -0
- package/dist/chunk-LLQWLZ75.js.map +1 -0
- package/dist/chunk-LMO3QK7Q.js +137 -0
- package/dist/chunk-LMO3QK7Q.js.map +1 -0
- package/dist/chunk-LOSXINSS.js +100 -0
- package/dist/chunk-LOSXINSS.js.map +1 -0
- package/dist/chunk-LR2CU7HK.js +41 -0
- package/dist/chunk-LR2CU7HK.js.map +1 -0
- package/dist/chunk-LSYVAOSH.js +2 -0
- package/dist/chunk-LSYVAOSH.js.map +1 -0
- package/dist/chunk-LVRULYU4.js +400 -0
- package/dist/chunk-LVRULYU4.js.map +1 -0
- package/dist/chunk-LXW3GNF7.js +201 -0
- package/dist/chunk-LXW3GNF7.js.map +1 -0
- package/dist/chunk-LYVBDMDQ.js +2 -0
- package/dist/chunk-LYVBDMDQ.js.map +1 -0
- package/dist/chunk-M3WSUFD4.js +2 -0
- package/dist/chunk-M3WSUFD4.js.map +1 -0
- package/dist/chunk-MGAXCPT7.js +87 -0
- package/dist/chunk-MGAXCPT7.js.map +1 -0
- package/dist/chunk-MIXCXZWT.js +2 -0
- package/dist/chunk-MIXCXZWT.js.map +1 -0
- package/dist/chunk-MLGBLKUH.js +2 -0
- package/dist/chunk-MLGBLKUH.js.map +1 -0
- package/dist/chunk-MNS2VWHD.js +2 -0
- package/dist/chunk-MNS2VWHD.js.map +1 -0
- package/dist/chunk-MPMMU3QI.js +2 -0
- package/dist/chunk-MPMMU3QI.js.map +1 -0
- package/dist/chunk-MRWOHWEH.js +2 -0
- package/dist/chunk-MRWOHWEH.js.map +1 -0
- package/dist/chunk-MZDL7N52.js +2 -0
- package/dist/chunk-MZDL7N52.js.map +1 -0
- package/dist/chunk-N44PNGDS.js +169 -0
- package/dist/chunk-N44PNGDS.js.map +1 -0
- package/dist/chunk-N7PJTMRL.js +2 -0
- package/dist/chunk-N7PJTMRL.js.map +1 -0
- package/dist/chunk-NBMF7SIS.js +35 -0
- package/dist/chunk-NBMF7SIS.js.map +1 -0
- package/dist/chunk-NJAGSGPF.js +245 -0
- package/dist/chunk-NJAGSGPF.js.map +1 -0
- package/dist/chunk-NMGNXW3J.js +98 -0
- package/dist/chunk-NMGNXW3J.js.map +1 -0
- package/dist/chunk-NQY3QNLR.js +80 -0
- package/dist/chunk-NQY3QNLR.js.map +1 -0
- package/dist/chunk-NRNIUM75.js +2 -0
- package/dist/chunk-NRNIUM75.js.map +1 -0
- package/dist/chunk-NRSSSVWB.js +61 -0
- package/dist/chunk-NRSSSVWB.js.map +1 -0
- package/dist/chunk-NTTSHOOK.js +78 -0
- package/dist/chunk-NTTSHOOK.js.map +1 -0
- package/dist/chunk-O3JWMB6O.js +20 -0
- package/dist/chunk-O3JWMB6O.js.map +1 -0
- package/dist/chunk-OBEJUAN6.js +246 -0
- package/dist/chunk-OBEJUAN6.js.map +1 -0
- package/dist/chunk-OEPN373X.js +2 -0
- package/dist/chunk-OEPN373X.js.map +1 -0
- package/dist/chunk-OITCRC5D.js +2 -0
- package/dist/chunk-OITCRC5D.js.map +1 -0
- package/dist/chunk-OKV3N7QK.js +2 -0
- package/dist/chunk-OKV3N7QK.js.map +1 -0
- package/dist/chunk-ON2E7XHD.js +51 -0
- package/dist/chunk-ON2E7XHD.js.map +1 -0
- package/dist/chunk-OPMMD25Z.js +218 -0
- package/dist/chunk-OPMMD25Z.js.map +1 -0
- package/dist/chunk-OR4NVFPH.js +2 -0
- package/dist/chunk-OR4NVFPH.js.map +1 -0
- package/dist/chunk-OV4GQOLC.js +73 -0
- package/dist/chunk-OV4GQOLC.js.map +1 -0
- package/dist/chunk-OYKS7YHE.js +2 -0
- package/dist/chunk-OYKS7YHE.js.map +1 -0
- package/dist/chunk-OYM3NHSD.js +74 -0
- package/dist/chunk-OYM3NHSD.js.map +1 -0
- package/dist/chunk-OZTM6PYF.js +30 -0
- package/dist/chunk-OZTM6PYF.js.map +1 -0
- package/dist/chunk-PHAENHGL.js +19 -0
- package/dist/chunk-PHAENHGL.js.map +1 -0
- package/dist/chunk-PLCQZBZS.js +63 -0
- package/dist/chunk-PLCQZBZS.js.map +1 -0
- package/dist/chunk-PP7POY7C.js +110 -0
- package/dist/chunk-PP7POY7C.js.map +1 -0
- package/dist/chunk-PSBNQZB4.js +2 -0
- package/dist/chunk-PSBNQZB4.js.map +1 -0
- package/dist/chunk-PYPNGKRD.js +355 -0
- package/dist/chunk-PYPNGKRD.js.map +1 -0
- package/dist/chunk-QDJHUNBQ.js +2 -0
- package/dist/chunk-QDJHUNBQ.js.map +1 -0
- package/dist/chunk-QDTGDYMM.js +77 -0
- package/dist/chunk-QDTGDYMM.js.map +1 -0
- package/dist/chunk-QF6UWWDY.js +125 -0
- package/dist/chunk-QF6UWWDY.js.map +1 -0
- package/dist/chunk-QGX37P5L.js +24 -0
- package/dist/chunk-QGX37P5L.js.map +1 -0
- package/dist/chunk-QNEOO22E.js +75 -0
- package/dist/chunk-QNEOO22E.js.map +1 -0
- package/dist/chunk-QODOFLHL.js +2 -0
- package/dist/chunk-QODOFLHL.js.map +1 -0
- package/dist/chunk-QRGYKV4J.js +2 -0
- package/dist/chunk-QRGYKV4J.js.map +1 -0
- package/dist/chunk-QTIKGWU4.js +91 -0
- package/dist/chunk-QTIKGWU4.js.map +1 -0
- package/dist/chunk-R3SYH7RG.js +782 -0
- package/dist/chunk-R3SYH7RG.js.map +1 -0
- package/dist/chunk-R5JYMCEA.js +2 -0
- package/dist/chunk-R5JYMCEA.js.map +1 -0
- package/dist/chunk-R7DDZIE3.js +232 -0
- package/dist/chunk-R7DDZIE3.js.map +1 -0
- package/dist/chunk-RB5AWLDJ.js +26 -0
- package/dist/chunk-RB5AWLDJ.js.map +1 -0
- package/dist/chunk-RF7JSNXJ.js +2 -0
- package/dist/chunk-RF7JSNXJ.js.map +1 -0
- package/dist/chunk-RHXVQZOW.js +2 -0
- package/dist/chunk-RHXVQZOW.js.map +1 -0
- package/dist/chunk-RM5JIUVW.js +74 -0
- package/dist/chunk-RM5JIUVW.js.map +1 -0
- package/dist/chunk-RMSMTLXH.js +2 -0
- package/dist/chunk-RMSMTLXH.js.map +1 -0
- package/dist/chunk-RNC4M6SG.js +85 -0
- package/dist/chunk-RNC4M6SG.js.map +1 -0
- package/dist/chunk-RRYWMYGI.js +14 -0
- package/dist/chunk-RRYWMYGI.js.map +1 -0
- package/dist/chunk-RRZUMIYG.js +93 -0
- package/dist/chunk-RRZUMIYG.js.map +1 -0
- package/dist/chunk-RTHCX2TG.js +59 -0
- package/dist/chunk-RTHCX2TG.js.map +1 -0
- package/dist/chunk-RWUKMJYA.js +39 -0
- package/dist/chunk-RWUKMJYA.js.map +1 -0
- package/dist/chunk-SMTAPQEQ.js +2 -0
- package/dist/chunk-SMTAPQEQ.js.map +1 -0
- package/dist/chunk-SS6EOZKZ.js +2 -0
- package/dist/chunk-SS6EOZKZ.js.map +1 -0
- package/dist/chunk-T2XEMEN2.js +2 -0
- package/dist/chunk-T2XEMEN2.js.map +1 -0
- package/dist/chunk-T4JNXV75.js +125 -0
- package/dist/chunk-T4JNXV75.js.map +1 -0
- package/dist/chunk-T7JOWG2A.js +10 -0
- package/dist/chunk-T7JOWG2A.js.map +1 -0
- package/dist/chunk-TAQI4JTE.js +12 -0
- package/dist/chunk-TAQI4JTE.js.map +1 -0
- package/dist/chunk-TEKBTTP2.js +27 -0
- package/dist/chunk-TEKBTTP2.js.map +1 -0
- package/dist/chunk-TNOANK34.js +4483 -0
- package/dist/chunk-TNOANK34.js.map +1 -0
- package/dist/chunk-TU24Y4HN.js +178 -0
- package/dist/chunk-TU24Y4HN.js.map +1 -0
- package/dist/chunk-U26XDHMX.js +726 -0
- package/dist/chunk-U26XDHMX.js.map +1 -0
- package/dist/chunk-U4LHV5DS.js +36 -0
- package/dist/chunk-U4LHV5DS.js.map +1 -0
- package/dist/chunk-U7QYCYHC.js +2 -0
- package/dist/chunk-U7QYCYHC.js.map +1 -0
- package/dist/chunk-UANAVLMS.js +2 -0
- package/dist/chunk-UANAVLMS.js.map +1 -0
- package/dist/chunk-UCEVPLR5.js +2 -0
- package/dist/chunk-UCEVPLR5.js.map +1 -0
- package/dist/chunk-UCQDLRHR.js +31 -0
- package/dist/chunk-UCQDLRHR.js.map +1 -0
- package/dist/chunk-UFF7LLGU.js +2 -0
- package/dist/chunk-UFF7LLGU.js.map +1 -0
- package/dist/chunk-UG5TKXTK.js +2 -0
- package/dist/chunk-UG5TKXTK.js.map +1 -0
- package/dist/chunk-ULIDYFM7.js +192 -0
- package/dist/chunk-ULIDYFM7.js.map +1 -0
- package/dist/chunk-UPEMEBWH.js +186 -0
- package/dist/chunk-UPEMEBWH.js.map +1 -0
- package/dist/chunk-UQHWOPUY.js +61 -0
- package/dist/chunk-UQHWOPUY.js.map +1 -0
- package/dist/chunk-UQRYTMR7.js +2 -0
- package/dist/chunk-UQRYTMR7.js.map +1 -0
- package/dist/chunk-URVAZW44.js +323 -0
- package/dist/chunk-URVAZW44.js.map +1 -0
- package/dist/chunk-USI4LB3N.js +2 -0
- package/dist/chunk-USI4LB3N.js.map +1 -0
- package/dist/chunk-UXSV6RVS.js +31 -0
- package/dist/chunk-UXSV6RVS.js.map +1 -0
- package/dist/chunk-V2S5DINS.js +2 -0
- package/dist/chunk-V2S5DINS.js.map +1 -0
- package/dist/chunk-V3EQ6ACC.js +2 -0
- package/dist/chunk-V3EQ6ACC.js.map +1 -0
- package/dist/chunk-V4DDHF7S.js +147 -0
- package/dist/chunk-V4DDHF7S.js.map +1 -0
- package/dist/chunk-VA2OONPE.js +77 -0
- package/dist/chunk-VA2OONPE.js.map +1 -0
- package/dist/chunk-VFF3AN4Y.js +90 -0
- package/dist/chunk-VFF3AN4Y.js.map +1 -0
- package/dist/chunk-VH7GG77B.js +2 -0
- package/dist/chunk-VH7GG77B.js.map +1 -0
- package/dist/chunk-VHLPJ4XW.js +2 -0
- package/dist/chunk-VHLPJ4XW.js.map +1 -0
- package/dist/chunk-VLE5THFD.js +2 -0
- package/dist/chunk-VLE5THFD.js.map +1 -0
- package/dist/chunk-VORFRWM5.js +2 -0
- package/dist/chunk-VORFRWM5.js.map +1 -0
- package/dist/chunk-VQ2T3OEC.js +27 -0
- package/dist/chunk-VQ2T3OEC.js.map +1 -0
- package/dist/chunk-VRIAWF3A.js +25 -0
- package/dist/chunk-VRIAWF3A.js.map +1 -0
- package/dist/chunk-W6HCXQBH.js +198 -0
- package/dist/chunk-W6HCXQBH.js.map +1 -0
- package/dist/chunk-W7I2X6VI.js +2 -0
- package/dist/chunk-W7I2X6VI.js.map +1 -0
- package/dist/chunk-WCCCW4KD.js +140 -0
- package/dist/chunk-WCCCW4KD.js.map +1 -0
- package/dist/chunk-WNIVCHDP.js +2 -0
- package/dist/chunk-WNIVCHDP.js.map +1 -0
- package/dist/chunk-WOMO5CZ7.js +2 -0
- package/dist/chunk-WOMO5CZ7.js.map +1 -0
- package/dist/chunk-WTB4DDZP.js +163 -0
- package/dist/chunk-WTB4DDZP.js.map +1 -0
- package/dist/chunk-WW3CD7AU.js +118 -0
- package/dist/chunk-WW3CD7AU.js.map +1 -0
- package/dist/chunk-WX3LWMVU.js +81 -0
- package/dist/chunk-WX3LWMVU.js.map +1 -0
- package/dist/chunk-WYENWW3Y.js +2 -0
- package/dist/chunk-WYENWW3Y.js.map +1 -0
- package/dist/chunk-WZTFU6FJ.js +69 -0
- package/dist/chunk-WZTFU6FJ.js.map +1 -0
- package/dist/chunk-X4FE7UKP.js +2 -0
- package/dist/chunk-X4FE7UKP.js.map +1 -0
- package/dist/chunk-X6J4KKZZ.js +126 -0
- package/dist/chunk-X6J4KKZZ.js.map +1 -0
- package/dist/chunk-XAFRTZQF.js +56 -0
- package/dist/chunk-XAFRTZQF.js.map +1 -0
- package/dist/chunk-XGX3UFLD.js +2 -0
- package/dist/chunk-XGX3UFLD.js.map +1 -0
- package/dist/chunk-XGXCMA5M.js +2 -0
- package/dist/chunk-XGXCMA5M.js.map +1 -0
- package/dist/chunk-XJQADN6S.js +41 -0
- package/dist/chunk-XJQADN6S.js.map +1 -0
- package/dist/chunk-XMZ5LXL4.js +68 -0
- package/dist/chunk-XMZ5LXL4.js.map +1 -0
- package/dist/chunk-XONGYCW3.js +637 -0
- package/dist/chunk-XONGYCW3.js.map +1 -0
- package/dist/chunk-XYACSO57.js +36 -0
- package/dist/chunk-XYACSO57.js.map +1 -0
- package/dist/chunk-XYFEQHEM.js +2 -0
- package/dist/chunk-XYFEQHEM.js.map +1 -0
- package/dist/chunk-XZ23AFOP.js +26 -0
- package/dist/chunk-XZ23AFOP.js.map +1 -0
- package/dist/chunk-YACASX6X.js +54 -0
- package/dist/chunk-YACASX6X.js.map +1 -0
- package/dist/chunk-YCFOFNQF.js +28 -0
- package/dist/chunk-YCFOFNQF.js.map +1 -0
- package/dist/chunk-YIFB24WW.js +37 -0
- package/dist/chunk-YIFB24WW.js.map +1 -0
- package/dist/chunk-YIVL6HWS.js +68 -0
- package/dist/chunk-YIVL6HWS.js.map +1 -0
- package/dist/chunk-YK4H7VWM.js +2 -0
- package/dist/chunk-YK4H7VWM.js.map +1 -0
- package/dist/chunk-YL7VBHPZ.js +100 -0
- package/dist/chunk-YL7VBHPZ.js.map +1 -0
- package/dist/chunk-YMFEBGTU.js +2 -0
- package/dist/chunk-YMFEBGTU.js.map +1 -0
- package/dist/chunk-YPLKH5H4.js +226 -0
- package/dist/chunk-YPLKH5H4.js.map +1 -0
- package/dist/chunk-YWB7HLL7.js +126 -0
- package/dist/chunk-YWB7HLL7.js.map +1 -0
- package/dist/chunk-YXHHUJOZ.js +235 -0
- package/dist/chunk-YXHHUJOZ.js.map +1 -0
- package/dist/chunk-YZVXIPBC.js +2 -0
- package/dist/chunk-YZVXIPBC.js.map +1 -0
- package/dist/chunk-Z44RRTMX.js +2 -0
- package/dist/chunk-Z44RRTMX.js.map +1 -0
- package/dist/chunk-Z4CYBG3H.js +2 -0
- package/dist/chunk-Z4CYBG3H.js.map +1 -0
- package/dist/chunk-ZE2H4J3P.js +2 -0
- package/dist/chunk-ZE2H4J3P.js.map +1 -0
- package/dist/chunk-ZEMTALKO.js +2 -0
- package/dist/chunk-ZEMTALKO.js.map +1 -0
- package/dist/chunk-ZI2OXD6L.js +244 -0
- package/dist/chunk-ZI2OXD6L.js.map +1 -0
- package/dist/chunk-ZNFHDBUW.js +266 -0
- package/dist/chunk-ZNFHDBUW.js.map +1 -0
- package/dist/chunk-ZXBUOHCR.js +111 -0
- package/dist/chunk-ZXBUOHCR.js.map +1 -0
- package/dist/chunk-ZXVPEQM5.js +2 -0
- package/dist/chunk-ZXVPEQM5.js.map +1 -0
- package/dist/components/accordion/accordion.js +16 -0
- package/dist/components/accordion/accordion.js.map +1 -0
- package/dist/components/accordion/index.js +17 -0
- package/dist/components/accordion/index.js.map +1 -0
- package/dist/components/advanced-group/advanced-group.js +18 -0
- package/dist/components/advanced-group/advanced-group.js.map +1 -0
- package/dist/components/advanced-group/index.js +18 -0
- package/dist/components/advanced-group/index.js.map +1 -0
- package/dist/components/alert/alert.js +16 -0
- package/dist/components/alert/alert.js.map +1 -0
- package/dist/components/alert/index.js +17 -0
- package/dist/components/alert/index.js.map +1 -0
- package/dist/components/alert-dialog/alert-dialog.js +30 -0
- package/dist/components/alert-dialog/alert-dialog.js.map +1 -0
- package/dist/components/alert-dialog/index.js +31 -0
- package/dist/components/alert-dialog/index.js.map +1 -0
- package/dist/components/ambient-field/ambient-field.css +59 -0
- package/dist/components/ambient-field/ambient-field.css.map +1 -0
- package/dist/components/ambient-field/ambient-field.js +15 -0
- package/dist/components/ambient-field/ambient-field.js.map +1 -0
- package/dist/components/ambient-field/index.css +59 -0
- package/dist/components/ambient-field/index.css.map +1 -0
- package/dist/components/ambient-field/index.js +16 -0
- package/dist/components/ambient-field/index.js.map +1 -0
- package/dist/components/app-shell/app-shell.js +14 -0
- package/dist/components/app-shell/app-shell.js.map +1 -0
- package/dist/components/app-shell/index.js +15 -0
- package/dist/components/app-shell/index.js.map +1 -0
- package/dist/components/app-sidebar/app-sidebar.js +31 -0
- package/dist/components/app-sidebar/app-sidebar.js.map +1 -0
- package/dist/components/app-sidebar/index.js +31 -0
- package/dist/components/app-sidebar/index.js.map +1 -0
- package/dist/components/aspect-ratio/aspect-ratio.js +9 -0
- package/dist/components/aspect-ratio/aspect-ratio.js.map +1 -0
- package/dist/components/aspect-ratio/index.js +10 -0
- package/dist/components/aspect-ratio/index.js.map +1 -0
- package/dist/components/attribution-panel/attribution-panel.js +24 -0
- package/dist/components/attribution-panel/attribution-panel.js.map +1 -0
- package/dist/components/attribution-panel/attribution-types.js +2 -0
- package/dist/components/attribution-panel/attribution-types.js.map +1 -0
- package/dist/components/attribution-panel/attributions.generated.js +9 -0
- package/dist/components/attribution-panel/attributions.generated.js.map +1 -0
- package/dist/components/attribution-panel/index.js +24 -0
- package/dist/components/attribution-panel/index.js.map +1 -0
- package/dist/components/avatar/avatar.js +14 -0
- package/dist/components/avatar/avatar.js.map +1 -0
- package/dist/components/avatar/index.js +15 -0
- package/dist/components/avatar/index.js.map +1 -0
- package/dist/components/badge/badge.js +16 -0
- package/dist/components/badge/badge.js.map +1 -0
- package/dist/components/badge/index.js +13 -0
- package/dist/components/badge/index.js.map +1 -0
- package/dist/components/bento-grid/bento-grid.js +16 -0
- package/dist/components/bento-grid/bento-grid.js.map +1 -0
- package/dist/components/bento-grid/index.js +16 -0
- package/dist/components/bento-grid/index.js.map +1 -0
- package/dist/components/bounded-number/bounded-number.js +24 -0
- package/dist/components/bounded-number/bounded-number.js.map +1 -0
- package/dist/components/bounded-number/index.js +24 -0
- package/dist/components/bounded-number/index.js.map +1 -0
- package/dist/components/breadcrumb/breadcrumb.js +28 -0
- package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
- package/dist/components/breadcrumb/index.js +26 -0
- package/dist/components/breadcrumb/index.js.map +1 -0
- package/dist/components/button/button.js +12 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/index.js +13 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button-group/button-group.js +18 -0
- package/dist/components/button-group/button-group.js.map +1 -0
- package/dist/components/button-group/index.js +19 -0
- package/dist/components/button-group/index.js.map +1 -0
- package/dist/components/calendar/calendar.js +12 -0
- package/dist/components/calendar/calendar.js.map +1 -0
- package/dist/components/calendar/index.js +13 -0
- package/dist/components/calendar/index.js.map +1 -0
- package/dist/components/card/card.js +27 -0
- package/dist/components/card/card.js.map +1 -0
- package/dist/components/card/index.js +27 -0
- package/dist/components/card/index.js.map +1 -0
- package/dist/components/carousel/carousel.js +24 -0
- package/dist/components/carousel/carousel.js.map +1 -0
- package/dist/components/carousel/index.js +24 -0
- package/dist/components/carousel/index.js.map +1 -0
- package/dist/components/change-review/change-review.js +34 -0
- package/dist/components/change-review/change-review.js.map +1 -0
- package/dist/components/change-review/index.js +34 -0
- package/dist/components/change-review/index.js.map +1 -0
- package/dist/components/checkbox/checkbox.js +10 -0
- package/dist/components/checkbox/checkbox.js.map +1 -0
- package/dist/components/checkbox/index.js +11 -0
- package/dist/components/checkbox/index.js.map +1 -0
- package/dist/components/collapsible/collapsible.js +14 -0
- package/dist/components/collapsible/collapsible.js.map +1 -0
- package/dist/components/collapsible/index.js +15 -0
- package/dist/components/collapsible/index.js.map +1 -0
- package/dist/components/collapsible-panel/index.js +11 -0
- package/dist/components/collapsible-panel/index.js.map +1 -0
- package/dist/components/collapsible-panel/use-collapsible-panel.js +11 -0
- package/dist/components/collapsible-panel/use-collapsible-panel.js.map +1 -0
- package/dist/components/color-picker/color-picker.js +18 -0
- package/dist/components/color-picker/color-picker.js.map +1 -0
- package/dist/components/color-picker/index.js +18 -0
- package/dist/components/color-picker/index.js.map +1 -0
- package/dist/components/combobox/combobox.js +28 -0
- package/dist/components/combobox/combobox.js.map +1 -0
- package/dist/components/combobox/index.js +28 -0
- package/dist/components/combobox/index.js.map +1 -0
- package/dist/components/command/command.js +39 -0
- package/dist/components/command/command.js.map +1 -0
- package/dist/components/command/index.js +39 -0
- package/dist/components/command/index.js.map +1 -0
- package/dist/components/command-chip/command-chip.js +17 -0
- package/dist/components/command-chip/command-chip.js.map +1 -0
- package/dist/components/command-chip/index.js +17 -0
- package/dist/components/command-chip/index.js.map +1 -0
- package/dist/components/command-trigger/command-trigger.js +12 -0
- package/dist/components/command-trigger/command-trigger.js.map +1 -0
- package/dist/components/command-trigger/index.js +13 -0
- package/dist/components/command-trigger/index.js.map +1 -0
- package/dist/components/confirm-dialog/confirm-dialog.js +20 -0
- package/dist/components/confirm-dialog/confirm-dialog.js.map +1 -0
- package/dist/components/confirm-dialog/index.js +20 -0
- package/dist/components/confirm-dialog/index.js.map +1 -0
- package/dist/components/context-menu/context-menu.js +36 -0
- package/dist/components/context-menu/context-menu.js.map +1 -0
- package/dist/components/context-menu/index.js +37 -0
- package/dist/components/context-menu/index.js.map +1 -0
- package/dist/components/context-rail/context-rail.js +35 -0
- package/dist/components/context-rail/context-rail.js.map +1 -0
- package/dist/components/context-rail/index.js +35 -0
- package/dist/components/context-rail/index.js.map +1 -0
- package/dist/components/copyable-value/copyable-value.js +19 -0
- package/dist/components/copyable-value/copyable-value.js.map +1 -0
- package/dist/components/copyable-value/index.js +17 -0
- package/dist/components/copyable-value/index.js.map +1 -0
- package/dist/components/date-picker/date-picker.js +21 -0
- package/dist/components/date-picker/date-picker.js.map +1 -0
- package/dist/components/date-picker/index.js +21 -0
- package/dist/components/date-picker/index.js.map +1 -0
- package/dist/components/date-range-picker/date-range-picker.js +22 -0
- package/dist/components/date-range-picker/date-range-picker.js.map +1 -0
- package/dist/components/date-range-picker/index.js +22 -0
- package/dist/components/date-range-picker/index.js.map +1 -0
- package/dist/components/descriptions/descriptions.js +12 -0
- package/dist/components/descriptions/descriptions.js.map +1 -0
- package/dist/components/descriptions/index.js +13 -0
- package/dist/components/descriptions/index.js.map +1 -0
- package/dist/components/dialog/dialog.js +41 -0
- package/dist/components/dialog/dialog.js.map +1 -0
- package/dist/components/dialog/index.js +45 -0
- package/dist/components/dialog/index.js.map +1 -0
- package/dist/components/dialog/use-dialog-dismiss-guard.js +10 -0
- package/dist/components/dialog/use-dialog-dismiss-guard.js.map +1 -0
- package/dist/components/drawer/drawer.js +26 -0
- package/dist/components/drawer/drawer.js.map +1 -0
- package/dist/components/drawer/index.js +27 -0
- package/dist/components/drawer/index.js.map +1 -0
- package/dist/components/dropdown-menu/dropdown-menu.js +38 -0
- package/dist/components/dropdown-menu/dropdown-menu.js.map +1 -0
- package/dist/components/dropdown-menu/index.js +39 -0
- package/dist/components/dropdown-menu/index.js.map +1 -0
- package/dist/components/empty-state/empty-state.js +15 -0
- package/dist/components/empty-state/empty-state.js.map +1 -0
- package/dist/components/empty-state/index.js +16 -0
- package/dist/components/empty-state/index.js.map +1 -0
- package/dist/components/error-state/error-state.js +15 -0
- package/dist/components/error-state/error-state.js.map +1 -0
- package/dist/components/error-state/index.js +16 -0
- package/dist/components/error-state/index.js.map +1 -0
- package/dist/components/expand-dialog/expand-dialog.js +28 -0
- package/dist/components/expand-dialog/expand-dialog.js.map +1 -0
- package/dist/components/expand-dialog/index.js +28 -0
- package/dist/components/expand-dialog/index.js.map +1 -0
- package/dist/components/field/field-context.js +11 -0
- package/dist/components/field/field-context.js.map +1 -0
- package/dist/components/field/field.js +23 -0
- package/dist/components/field/field.js.map +1 -0
- package/dist/components/field/index.js +23 -0
- package/dist/components/field/index.js.map +1 -0
- package/dist/components/field-row/field-row.js +14 -0
- package/dist/components/field-row/field-row.js.map +1 -0
- package/dist/components/field-row/index.js +14 -0
- package/dist/components/field-row/index.js.map +1 -0
- package/dist/components/file-upload/file-upload.js +28 -0
- package/dist/components/file-upload/file-upload.js.map +1 -0
- package/dist/components/file-upload/index.js +26 -0
- package/dist/components/file-upload/index.js.map +1 -0
- package/dist/components/form/form.js +27 -0
- package/dist/components/form/form.js.map +1 -0
- package/dist/components/hover-card/hover-card.js +14 -0
- package/dist/components/hover-card/hover-card.js.map +1 -0
- package/dist/components/hover-card/index.js +15 -0
- package/dist/components/hover-card/index.js.map +1 -0
- package/dist/components/icon-button/icon-button.js +14 -0
- package/dist/components/icon-button/icon-button.js.map +1 -0
- package/dist/components/icon-button/index.js +15 -0
- package/dist/components/icon-button/index.js.map +1 -0
- package/dist/components/input/index.js +11 -0
- package/dist/components/input/index.js.map +1 -0
- package/dist/components/input/input.js +10 -0
- package/dist/components/input/input.js.map +1 -0
- package/dist/components/input-group/index.js +31 -0
- package/dist/components/input-group/index.js.map +1 -0
- package/dist/components/input-group/input-group.js +30 -0
- package/dist/components/input-group/input-group.js.map +1 -0
- package/dist/components/input-otp/index.js +17 -0
- package/dist/components/input-otp/index.js.map +1 -0
- package/dist/components/input-otp/input-otp.js +17 -0
- package/dist/components/input-otp/input-otp.js.map +1 -0
- package/dist/components/install-tabs/index.js +28 -0
- package/dist/components/install-tabs/index.js.map +1 -0
- package/dist/components/install-tabs/install-tabs.js +28 -0
- package/dist/components/install-tabs/install-tabs.js.map +1 -0
- package/dist/components/integration-matrix/index.js +26 -0
- package/dist/components/integration-matrix/index.js.map +1 -0
- package/dist/components/integration-matrix/integration-matrix.js +26 -0
- package/dist/components/integration-matrix/integration-matrix.js.map +1 -0
- package/dist/components/kbd/index.js +11 -0
- package/dist/components/kbd/index.js.map +1 -0
- package/dist/components/kbd/kbd.js +10 -0
- package/dist/components/kbd/kbd.js.map +1 -0
- package/dist/components/key-value-editor/index.js +18 -0
- package/dist/components/key-value-editor/index.js.map +1 -0
- package/dist/components/key-value-editor/key-value-editor.js +18 -0
- package/dist/components/key-value-editor/key-value-editor.js.map +1 -0
- package/dist/components/keyboard-shortcuts/index.js +25 -0
- package/dist/components/keyboard-shortcuts/index.js.map +1 -0
- package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js +25 -0
- package/dist/components/keyboard-shortcuts/keyboard-shortcuts.js.map +1 -0
- package/dist/components/label/index.js +11 -0
- package/dist/components/label/index.js.map +1 -0
- package/dist/components/label/label.js +10 -0
- package/dist/components/label/label.js.map +1 -0
- package/dist/components/link-preview/index.js +14 -0
- package/dist/components/link-preview/index.js.map +1 -0
- package/dist/components/link-preview/link-preview.js +14 -0
- package/dist/components/link-preview/link-preview.js.map +1 -0
- package/dist/components/list-editor/index.js +18 -0
- package/dist/components/list-editor/index.js.map +1 -0
- package/dist/components/list-editor/list-editor.js +18 -0
- package/dist/components/list-editor/list-editor.js.map +1 -0
- package/dist/components/loading-state/index.js +16 -0
- package/dist/components/loading-state/index.js.map +1 -0
- package/dist/components/loading-state/loading-state.js +15 -0
- package/dist/components/loading-state/loading-state.js.map +1 -0
- package/dist/components/locale-provider/index.js +16 -0
- package/dist/components/locale-provider/index.js.map +1 -0
- package/dist/components/locale-provider/locale-provider.js +13 -0
- package/dist/components/locale-provider/locale-provider.js.map +1 -0
- package/dist/components/locale-provider/messages.js +10 -0
- package/dist/components/locale-provider/messages.js.map +1 -0
- package/dist/components/match-highlight/index.js +15 -0
- package/dist/components/match-highlight/index.js.map +1 -0
- package/dist/components/match-highlight/match-highlight.js +14 -0
- package/dist/components/match-highlight/match-highlight.js.map +1 -0
- package/dist/components/mention-input/index.js +46 -0
- package/dist/components/mention-input/index.js.map +1 -0
- package/dist/components/mention-input/mention-input.js +33 -0
- package/dist/components/mention-input/mention-input.js.map +1 -0
- package/dist/components/mention-input/mention-value.js +20 -0
- package/dist/components/mention-input/mention-value.js.map +1 -0
- package/dist/components/menubar/index.js +39 -0
- package/dist/components/menubar/index.js.map +1 -0
- package/dist/components/menubar/menubar.js +38 -0
- package/dist/components/menubar/menubar.js.map +1 -0
- package/dist/components/meter/index.js +15 -0
- package/dist/components/meter/index.js.map +1 -0
- package/dist/components/meter/meter.js +15 -0
- package/dist/components/meter/meter.js.map +1 -0
- package/dist/components/metric-card/index.js +24 -0
- package/dist/components/metric-card/index.js.map +1 -0
- package/dist/components/metric-card/metric-card.js +24 -0
- package/dist/components/metric-card/metric-card.js.map +1 -0
- package/dist/components/model-picker/index.js +37 -0
- package/dist/components/model-picker/index.js.map +1 -0
- package/dist/components/model-picker/model-picker-state.js +13 -0
- package/dist/components/model-picker/model-picker-state.js.map +1 -0
- package/dist/components/model-picker/model-picker.js +37 -0
- package/dist/components/model-picker/model-picker.js.map +1 -0
- package/dist/components/nav-main/index.js +33 -0
- package/dist/components/nav-main/index.js.map +1 -0
- package/dist/components/nav-main/nav-main.js +33 -0
- package/dist/components/nav-main/nav-main.js.map +1 -0
- package/dist/components/nav-notifications/index.js +20 -0
- package/dist/components/nav-notifications/index.js.map +1 -0
- package/dist/components/nav-notifications/nav-notifications.js +20 -0
- package/dist/components/nav-notifications/nav-notifications.js.map +1 -0
- package/dist/components/nav-user/index.js +35 -0
- package/dist/components/nav-user/index.js.map +1 -0
- package/dist/components/nav-user/nav-user.js +35 -0
- package/dist/components/nav-user/nav-user.js.map +1 -0
- package/dist/components/navigation-menu/index.js +25 -0
- package/dist/components/navigation-menu/index.js.map +1 -0
- package/dist/components/navigation-menu/navigation-menu.js +25 -0
- package/dist/components/navigation-menu/navigation-menu.js.map +1 -0
- package/dist/components/number-input/index.js +22 -0
- package/dist/components/number-input/index.js.map +1 -0
- package/dist/components/number-input/number-input.js +22 -0
- package/dist/components/number-input/number-input.js.map +1 -0
- package/dist/components/page-shell/index.js +11 -0
- package/dist/components/page-shell/index.js.map +1 -0
- package/dist/components/page-shell/page-shell.js +10 -0
- package/dist/components/page-shell/page-shell.js.map +1 -0
- package/dist/components/pagination/index.js +28 -0
- package/dist/components/pagination/index.js.map +1 -0
- package/dist/components/pagination/pagination.js +28 -0
- package/dist/components/pagination/pagination.js.map +1 -0
- package/dist/components/parallax-plane/index.css +17 -0
- package/dist/components/parallax-plane/index.css.map +1 -0
- package/dist/components/parallax-plane/index.js +18 -0
- package/dist/components/parallax-plane/index.js.map +1 -0
- package/dist/components/parallax-plane/parallax-plane.css +17 -0
- package/dist/components/parallax-plane/parallax-plane.css.map +1 -0
- package/dist/components/parallax-plane/parallax-plane.js +18 -0
- package/dist/components/parallax-plane/parallax-plane.js.map +1 -0
- package/dist/components/popover/index.js +17 -0
- package/dist/components/popover/index.js.map +1 -0
- package/dist/components/popover/popover.js +16 -0
- package/dist/components/popover/popover.js.map +1 -0
- package/dist/components/progress/index.js +13 -0
- package/dist/components/progress/index.js.map +1 -0
- package/dist/components/progress/progress.js +12 -0
- package/dist/components/progress/progress.js.map +1 -0
- package/dist/components/radio-group/index.js +13 -0
- package/dist/components/radio-group/index.js.map +1 -0
- package/dist/components/radio-group/radio-group.js +12 -0
- package/dist/components/radio-group/radio-group.js.map +1 -0
- package/dist/components/rating/index.js +11 -0
- package/dist/components/rating/index.js.map +1 -0
- package/dist/components/rating/rating.js +11 -0
- package/dist/components/rating/rating.js.map +1 -0
- package/dist/components/resizable/index.js +15 -0
- package/dist/components/resizable/index.js.map +1 -0
- package/dist/components/resizable/resizable.js +14 -0
- package/dist/components/resizable/resizable.js.map +1 -0
- package/dist/components/reveal/index.js +15 -0
- package/dist/components/reveal/index.js.map +1 -0
- package/dist/components/reveal/reveal.js +14 -0
- package/dist/components/reveal/reveal.js.map +1 -0
- package/dist/components/reveal-on-enter/index.css +21 -0
- package/dist/components/reveal-on-enter/index.css.map +1 -0
- package/dist/components/reveal-on-enter/index.js +12 -0
- package/dist/components/reveal-on-enter/index.js.map +1 -0
- package/dist/components/reveal-on-enter/reveal-on-enter.css +21 -0
- package/dist/components/reveal-on-enter/reveal-on-enter.css.map +1 -0
- package/dist/components/reveal-on-enter/reveal-on-enter.js +12 -0
- package/dist/components/reveal-on-enter/reveal-on-enter.js.map +1 -0
- package/dist/components/revision-timeline/index.js +18 -0
- package/dist/components/revision-timeline/index.js.map +1 -0
- package/dist/components/revision-timeline/revision-timeline.js +18 -0
- package/dist/components/revision-timeline/revision-timeline.js.map +1 -0
- package/dist/components/schema-form/from-json-schema.js +13 -0
- package/dist/components/schema-form/from-json-schema.js.map +1 -0
- package/dist/components/schema-form/index.js +140 -0
- package/dist/components/schema-form/index.js.map +1 -0
- package/dist/components/schema-form/schema-form-spec.js +63 -0
- package/dist/components/schema-form/schema-form-spec.js.map +1 -0
- package/dist/components/schema-form/schema-form-store.js +21 -0
- package/dist/components/schema-form/schema-form-store.js.map +1 -0
- package/dist/components/schema-form/schema-form.js +77 -0
- package/dist/components/schema-form/schema-form.js.map +1 -0
- package/dist/components/scroll-area/index.js +13 -0
- package/dist/components/scroll-area/index.js.map +1 -0
- package/dist/components/scroll-area/scroll-area.js +12 -0
- package/dist/components/scroll-area/scroll-area.js.map +1 -0
- package/dist/components/section-header/index.js +11 -0
- package/dist/components/section-header/index.js.map +1 -0
- package/dist/components/section-header/section-header.js +10 -0
- package/dist/components/section-header/section-header.js.map +1 -0
- package/dist/components/segmented-field/index.js +17 -0
- package/dist/components/segmented-field/index.js.map +1 -0
- package/dist/components/segmented-field/segmented-field.js +17 -0
- package/dist/components/segmented-field/segmented-field.js.map +1 -0
- package/dist/components/select/index.js +26 -0
- package/dist/components/select/index.js.map +1 -0
- package/dist/components/select/select.js +26 -0
- package/dist/components/select/select.js.map +1 -0
- package/dist/components/separator/index.js +11 -0
- package/dist/components/separator/index.js.map +1 -0
- package/dist/components/separator/separator.js +10 -0
- package/dist/components/separator/separator.js.map +1 -0
- package/dist/components/sheet/index.js +30 -0
- package/dist/components/sheet/index.js.map +1 -0
- package/dist/components/sheet/sheet.js +30 -0
- package/dist/components/sheet/sheet.js.map +1 -0
- package/dist/components/side-dock/index.js +20 -0
- package/dist/components/side-dock/index.js.map +1 -0
- package/dist/components/side-dock/side-dock.js +20 -0
- package/dist/components/side-dock/side-dock.js.map +1 -0
- package/dist/components/sidebar/index.js +77 -0
- package/dist/components/sidebar/index.js.map +1 -0
- package/dist/components/sidebar/sidebar.js +77 -0
- package/dist/components/sidebar/sidebar.js.map +1 -0
- package/dist/components/skeleton/index.js +11 -0
- package/dist/components/skeleton/index.js.map +1 -0
- package/dist/components/skeleton/skeleton.js +10 -0
- package/dist/components/skeleton/skeleton.js.map +1 -0
- package/dist/components/skip-link/index.js +11 -0
- package/dist/components/skip-link/index.js.map +1 -0
- package/dist/components/skip-link/skip-link.js +10 -0
- package/dist/components/skip-link/skip-link.js.map +1 -0
- package/dist/components/slider/index.js +11 -0
- package/dist/components/slider/index.js.map +1 -0
- package/dist/components/slider/slider.js +10 -0
- package/dist/components/slider/slider.js.map +1 -0
- package/dist/components/slider-number/index.js +26 -0
- package/dist/components/slider-number/index.js.map +1 -0
- package/dist/components/slider-number/slider-number.js +26 -0
- package/dist/components/slider-number/slider-number.js.map +1 -0
- package/dist/components/sonner/index.js +13 -0
- package/dist/components/sonner/index.js.map +1 -0
- package/dist/components/sonner/sonner.js +13 -0
- package/dist/components/sonner/sonner.js.map +1 -0
- package/dist/components/spec-playground/index.js +23 -0
- package/dist/components/spec-playground/index.js.map +1 -0
- package/dist/components/spec-playground/locate-json-path.js +17 -0
- package/dist/components/spec-playground/locate-json-path.js.map +1 -0
- package/dist/components/spec-playground/spec-playground.js +23 -0
- package/dist/components/spec-playground/spec-playground.js.map +1 -0
- package/dist/components/spinner/index.js +14 -0
- package/dist/components/spinner/index.js.map +1 -0
- package/dist/components/spinner/spinner.js +14 -0
- package/dist/components/spinner/spinner.js.map +1 -0
- package/dist/components/split-panel/index.js +13 -0
- package/dist/components/split-panel/index.js.map +1 -0
- package/dist/components/split-panel/split-panel.js +12 -0
- package/dist/components/split-panel/split-panel.js.map +1 -0
- package/dist/components/state-panel/index.js +17 -0
- package/dist/components/state-panel/index.js.map +1 -0
- package/dist/components/state-panel/state-panel.js +17 -0
- package/dist/components/state-panel/state-panel.js.map +1 -0
- package/dist/components/status-badge/index.js +30 -0
- package/dist/components/status-badge/index.js.map +1 -0
- package/dist/components/status-badge/status-badge.js +29 -0
- package/dist/components/status-badge/status-badge.js.map +1 -0
- package/dist/components/surface-tour/index.css +21 -0
- package/dist/components/surface-tour/index.css.map +1 -0
- package/dist/components/surface-tour/index.js +36 -0
- package/dist/components/surface-tour/index.js.map +1 -0
- package/dist/components/surface-tour/surface-tour.css +21 -0
- package/dist/components/surface-tour/surface-tour.css.map +1 -0
- package/dist/components/surface-tour/surface-tour.js +36 -0
- package/dist/components/surface-tour/surface-tour.js.map +1 -0
- package/dist/components/switch/index.js +11 -0
- package/dist/components/switch/index.js.map +1 -0
- package/dist/components/switch/switch.js +10 -0
- package/dist/components/switch/switch.js.map +1 -0
- package/dist/components/table/index.js +28 -0
- package/dist/components/table/index.js.map +1 -0
- package/dist/components/table/table.js +28 -0
- package/dist/components/table/table.js.map +1 -0
- package/dist/components/tabs/index.js +22 -0
- package/dist/components/tabs/index.js.map +1 -0
- package/dist/components/tabs/tabs.js +22 -0
- package/dist/components/tabs/tabs.js.map +1 -0
- package/dist/components/tag-input/index.js +21 -0
- package/dist/components/tag-input/index.js.map +1 -0
- package/dist/components/tag-input/tag-input.js +21 -0
- package/dist/components/tag-input/tag-input.js.map +1 -0
- package/dist/components/team-switcher/index.js +33 -0
- package/dist/components/team-switcher/index.js.map +1 -0
- package/dist/components/team-switcher/team-switcher.js +33 -0
- package/dist/components/team-switcher/team-switcher.js.map +1 -0
- package/dist/components/textarea/index.js +11 -0
- package/dist/components/textarea/index.js.map +1 -0
- package/dist/components/textarea/textarea.js +10 -0
- package/dist/components/textarea/textarea.js.map +1 -0
- package/dist/components/theme-family-switch/index.js +19 -0
- package/dist/components/theme-family-switch/index.js.map +1 -0
- package/dist/components/theme-family-switch/theme-family-switch.js +19 -0
- package/dist/components/theme-family-switch/theme-family-switch.js.map +1 -0
- package/dist/components/theme-switcher/index.js +24 -0
- package/dist/components/theme-switcher/index.js.map +1 -0
- package/dist/components/theme-switcher/theme-switcher.js +21 -0
- package/dist/components/theme-switcher/theme-switcher.js.map +1 -0
- package/dist/components/theme-switcher/use-theme-transition.js +10 -0
- package/dist/components/theme-switcher/use-theme-transition.js.map +1 -0
- package/dist/components/timeline/index.js +18 -0
- package/dist/components/timeline/index.js.map +1 -0
- package/dist/components/timeline/timeline.js +19 -0
- package/dist/components/timeline/timeline.js.map +1 -0
- package/dist/components/toggle/index.js +13 -0
- package/dist/components/toggle/index.js.map +1 -0
- package/dist/components/toggle/toggle.js +12 -0
- package/dist/components/toggle/toggle.js.map +1 -0
- package/dist/components/toggle-group/index.js +15 -0
- package/dist/components/toggle-group/index.js.map +1 -0
- package/dist/components/toggle-group/toggle-group.js +15 -0
- package/dist/components/toggle-group/toggle-group.js.map +1 -0
- package/dist/components/token-spotlight/index.css +25 -0
- package/dist/components/token-spotlight/index.css.map +1 -0
- package/dist/components/token-spotlight/index.js +23 -0
- package/dist/components/token-spotlight/index.js.map +1 -0
- package/dist/components/token-spotlight/token-spotlight.css +25 -0
- package/dist/components/token-spotlight/token-spotlight.css.map +1 -0
- package/dist/components/token-spotlight/token-spotlight.js +23 -0
- package/dist/components/token-spotlight/token-spotlight.js.map +1 -0
- package/dist/components/token-spotlight/token-value-format.js +11 -0
- package/dist/components/token-spotlight/token-value-format.js.map +1 -0
- package/dist/components/toolbar/index.js +27 -0
- package/dist/components/toolbar/index.js.map +1 -0
- package/dist/components/toolbar/toolbar.js +27 -0
- package/dist/components/toolbar/toolbar.js.map +1 -0
- package/dist/components/tooltip/index.js +17 -0
- package/dist/components/tooltip/index.js.map +1 -0
- package/dist/components/tooltip/tooltip.js +16 -0
- package/dist/components/tooltip/tooltip.js.map +1 -0
- package/dist/components/top-nav/index.js +11 -0
- package/dist/components/top-nav/index.js.map +1 -0
- package/dist/components/top-nav/top-nav.js +10 -0
- package/dist/components/top-nav/top-nav.js.map +1 -0
- package/dist/components/transfer/index.js +26 -0
- package/dist/components/transfer/index.js.map +1 -0
- package/dist/components/transfer/transfer.js +26 -0
- package/dist/components/transfer/transfer.js.map +1 -0
- package/dist/components/tree/index.js +21 -0
- package/dist/components/tree/index.js.map +1 -0
- package/dist/components/tree/tree.js +18 -0
- package/dist/components/tree/tree.js.map +1 -0
- package/dist/components/tree/use-tree-keyboard.js +14 -0
- package/dist/components/tree/use-tree-keyboard.js.map +1 -0
- package/dist/components/tree-select/index.js +26 -0
- package/dist/components/tree-select/index.js.map +1 -0
- package/dist/components/tree-select/tree-select.js +26 -0
- package/dist/components/tree-select/tree-select.js.map +1 -0
- package/dist/components/typography/index.js +41 -0
- package/dist/components/typography/index.js.map +1 -0
- package/dist/components/typography/prose.js +29 -0
- package/dist/components/typography/prose.js.map +1 -0
- package/dist/components/typography/typography.js +18 -0
- package/dist/components/typography/typography.js.map +1 -0
- package/dist/components/view-toolbar/index.js +27 -0
- package/dist/components/view-toolbar/index.js.map +1 -0
- package/dist/components/view-toolbar/view-toolbar.js +27 -0
- package/dist/components/view-toolbar/view-toolbar.js.map +1 -0
- package/dist/components/virtual-select/index.js +26 -0
- package/dist/components/virtual-select/index.js.map +1 -0
- package/dist/components/virtual-select/use-virtual-listbox.js +10 -0
- package/dist/components/virtual-select/use-virtual-listbox.js.map +1 -0
- package/dist/components/virtual-select/virtual-select.js +23 -0
- package/dist/components/virtual-select/virtual-select.js.map +1 -0
- package/dist/components/wizard/index.js +19 -0
- package/dist/components/wizard/index.js.map +1 -0
- package/dist/components/wizard/wizard.js +19 -0
- package/dist/components/wizard/wizard.js.map +1 -0
- package/dist/components/workspace-picker/index.js +38 -0
- package/dist/components/workspace-picker/index.js.map +1 -0
- package/dist/components/workspace-picker/workspace-picker-state.js +9 -0
- package/dist/components/workspace-picker/workspace-picker-state.js.map +1 -0
- package/dist/components/workspace-picker/workspace-picker.js +35 -0
- package/dist/components/workspace-picker/workspace-picker.js.map +1 -0
- package/dist/form.js +13 -110
- package/dist/form.js.map +1 -1
- package/dist/illustrations/empty-list-illustration.js +11 -0
- package/dist/illustrations/empty-list-illustration.js.map +1 -0
- package/dist/illustrations/error-illustration.js +11 -0
- package/dist/illustrations/error-illustration.js.map +1 -0
- package/dist/illustrations/first-run-illustration.js +11 -0
- package/dist/illustrations/first-run-illustration.js.map +1 -0
- package/dist/illustrations/illustration-base.js +16 -0
- package/dist/illustrations/illustration-base.js.map +1 -0
- package/dist/illustrations/index.js +41 -0
- package/dist/illustrations/index.js.map +1 -0
- package/dist/illustrations/no-access-illustration.js +11 -0
- package/dist/illustrations/no-access-illustration.js.map +1 -0
- package/dist/illustrations/no-results-illustration.js +11 -0
- package/dist/illustrations/no-results-illustration.js.map +1 -0
- package/dist/illustrations/offline-illustration.js +11 -0
- package/dist/illustrations/offline-illustration.js.map +1 -0
- package/dist/illustrations/success-illustration.js +11 -0
- package/dist/illustrations/success-illustration.js.map +1 -0
- package/dist/index.css +122 -0
- package/dist/index.css.map +1 -0
- package/dist/index.d.ts +1390 -146
- package/dist/index.js +997 -22676
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-event-model.js +9 -0
- package/dist/lib/agent-event-model.js.map +1 -0
- package/dist/lib/approval-option.js +9 -0
- package/dist/lib/approval-option.js.map +1 -0
- package/dist/lib/check-result.js +3 -0
- package/dist/lib/check-result.js.map +1 -0
- package/dist/lib/cn.js +28 -3
- package/dist/lib/cn.js.map +1 -1
- package/dist/lib/color-scale.js +11 -0
- package/dist/lib/color-scale.js.map +1 -0
- package/dist/lib/compact-number.js +21 -0
- package/dist/lib/compact-number.js.map +1 -0
- package/dist/lib/csv.js +11 -0
- package/dist/lib/csv.js.map +1 -0
- package/dist/lib/diff-line.js +11 -0
- package/dist/lib/diff-line.js.map +1 -0
- package/dist/lib/diff-rows.js +12 -0
- package/dist/lib/diff-rows.js.map +1 -0
- package/dist/lib/document-address.js +13 -0
- package/dist/lib/document-address.js.map +1 -0
- package/dist/lib/download.js +11 -0
- package/dist/lib/download.js.map +1 -0
- package/dist/lib/file-icon.js +12 -0
- package/dist/lib/file-icon.js.map +1 -0
- package/dist/lib/file-kind.js +13 -0
- package/dist/lib/file-kind.js.map +1 -0
- package/dist/lib/file-source.js +10 -0
- package/dist/lib/file-source.js.map +1 -0
- package/dist/lib/format-duration.js +9 -0
- package/dist/lib/format-duration.js.map +1 -0
- package/dist/lib/has-renderable-content.js +9 -0
- package/dist/lib/has-renderable-content.js.map +1 -0
- package/dist/lib/merge-refs.js +10 -0
- package/dist/lib/merge-refs.js.map +1 -0
- package/dist/lib/operating-mode.js +9 -0
- package/dist/lib/operating-mode.js.map +1 -0
- package/dist/lib/optional-peer.js +11 -0
- package/dist/lib/optional-peer.js.map +1 -0
- package/dist/lib/session-launch.js +3 -0
- package/dist/lib/session-launch.js.map +1 -0
- package/dist/lib/slash-command.js +11 -0
- package/dist/lib/slash-command.js.map +1 -0
- package/dist/lib/streamdown-translations.js +15 -0
- package/dist/lib/streamdown-translations.js.map +1 -0
- package/dist/lib/trigger-query.js +11 -0
- package/dist/lib/trigger-query.js.map +1 -0
- package/dist/lib/use-controllable-state.js +10 -0
- package/dist/lib/use-controllable-state.js.map +1 -0
- package/dist/lib/use-copy-to-clipboard.js +12 -0
- package/dist/lib/use-copy-to-clipboard.js.map +1 -0
- package/dist/lib/use-mobile.js +10 -0
- package/dist/lib/use-mobile.js.map +1 -0
- package/dist/lib/use-scroll-progress.js +18 -0
- package/dist/lib/use-scroll-progress.js.map +1 -0
- package/package.json +12 -5
- package/src/__contract__/ambient-field.contract.test.tsx +49 -0
- package/src/__contract__/attribution-panel.contract.test.tsx +49 -0
- package/src/__contract__/badge.contract.test.tsx +49 -0
- package/src/__contract__/bounded-number.contract.test.tsx +49 -0
- package/src/__contract__/button.contract.test.tsx +49 -0
- package/src/__contract__/color-picker.contract.test.tsx +49 -0
- package/src/__contract__/combobox.contract.test.tsx +49 -0
- package/src/__contract__/command-chip.contract.test.tsx +49 -0
- package/src/__contract__/command-trigger.contract.test.tsx +49 -0
- package/src/__contract__/copyable-value.contract.test.tsx +49 -0
- package/src/__contract__/date-picker.contract.test.tsx +49 -0
- package/src/__contract__/date-range-picker.contract.test.tsx +49 -0
- package/src/__contract__/empty-state.contract.test.tsx +49 -0
- package/src/__contract__/error-state.contract.test.tsx +49 -0
- package/src/__contract__/icon-button.contract.test.tsx +49 -0
- package/src/__contract__/input.contract.test.tsx +49 -0
- package/src/__contract__/install-tabs.contract.test.tsx +49 -0
- package/src/__contract__/integration-matrix.contract.test.tsx +49 -0
- package/src/__contract__/key-value-editor.contract.test.tsx +49 -0
- package/src/__contract__/list-editor.contract.test.tsx +49 -0
- package/src/__contract__/loading-state.contract.test.tsx +49 -0
- package/src/__contract__/meter.contract.test.tsx +49 -0
- package/src/__contract__/metric-card.contract.test.tsx +49 -0
- package/src/__contract__/model-picker.contract.test.tsx +49 -0
- package/src/__contract__/nav-notifications.contract.test.tsx +49 -0
- package/src/__contract__/number-input.contract.test.tsx +49 -0
- package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
- package/src/__contract__/rating.contract.test.tsx +49 -0
- package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
- package/src/__contract__/schema-form.contract.test.tsx +49 -0
- package/src/__contract__/section-header.contract.test.tsx +49 -0
- package/src/__contract__/segmented-field.contract.test.tsx +49 -0
- package/src/__contract__/slider-number.contract.test.tsx +49 -0
- package/src/__contract__/spec-playground.contract.test.tsx +49 -0
- package/src/__contract__/status-badge.contract.test.tsx +49 -0
- package/src/__contract__/surface-tour.contract.test.tsx +49 -0
- package/src/__contract__/tag-input.contract.test.tsx +49 -0
- package/src/__contract__/text.contract.test.tsx +49 -0
- package/src/__contract__/textarea.contract.test.tsx +49 -0
- package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
- package/src/__contract__/timeline.contract.test.tsx +49 -0
- package/src/__contract__/toggle.contract.test.tsx +49 -0
- package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
- package/src/__contract__/transfer.contract.test.tsx +49 -0
- package/src/__contract__/tree-select.contract.test.tsx +49 -0
- package/src/__contract__/tree.contract.test.tsx +49 -0
- package/src/__contract__/virtual-select.contract.test.tsx +49 -0
- package/src/__contract__/workspace-picker.contract.test.tsx +49 -0
- package/src/blocks-comparison-table.stories.tsx +1 -1
- package/src/components/accordion/accordion.tsx +41 -16
- package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
- package/src/components/alert/alert.tsx +24 -8
- package/src/components/alert-dialog/alert-dialog.test.tsx +32 -0
- package/src/components/alert-dialog/alert-dialog.tsx +28 -6
- package/src/components/ambient-field/ambient-field.css +98 -0
- package/src/components/ambient-field/ambient-field.stories.tsx +75 -0
- package/src/components/ambient-field/ambient-field.test.tsx +28 -0
- package/src/components/ambient-field/ambient-field.tsx +69 -0
- package/src/components/ambient-field/index.ts +7 -0
- package/src/components/app-shell/app-shell.stories.tsx +344 -1
- package/src/components/app-shell/app-shell.test.tsx +266 -0
- package/src/components/app-shell/app-shell.tsx +147 -14
- package/src/components/app-shell/index.ts +1 -1
- package/src/components/attribution-panel/attribution-panel.tsx +2 -0
- package/src/components/attribution-panel/attributions.generated.ts +79 -6
- package/src/components/avatar/avatar.tsx +4 -1
- package/src/components/badge/badge.stories.tsx +62 -0
- package/src/components/badge/badge.test.tsx +29 -0
- package/src/components/badge/badge.tsx +101 -11
- package/src/components/bento-grid/bento-grid.test.tsx +23 -2
- package/src/components/bento-grid/bento-grid.tsx +10 -0
- package/src/components/bounded-number/bounded-number.test.tsx +1 -1
- package/src/components/bounded-number/bounded-number.tsx +78 -75
- package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
- package/src/components/breadcrumb/breadcrumb.tsx +5 -2
- package/src/components/button/button.stories.tsx +5 -1
- package/src/components/button/button.tsx +37 -20
- package/src/components/button-group/button-group.tsx +1 -1
- package/src/components/calendar/calendar.tsx +9 -3
- package/src/components/card/card.stories.tsx +73 -1
- package/src/components/card/card.test.tsx +53 -4
- package/src/components/card/card.tsx +122 -17
- package/src/components/card/index.ts +2 -0
- package/src/components/carousel/carousel.test.tsx +169 -0
- package/src/components/carousel/carousel.tsx +93 -32
- package/src/components/change-review/change-review.tsx +39 -30
- package/src/components/checkbox/checkbox.tsx +1 -0
- package/src/components/collapsible-panel/index.ts +1 -0
- package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -5
- package/src/components/color-picker/color-picker.tsx +20 -14
- package/src/components/combobox/combobox.stories.tsx +10 -0
- package/src/components/combobox/combobox.test.tsx +54 -0
- package/src/components/combobox/combobox.tsx +25 -11
- package/src/components/command/command.stories.tsx +64 -1
- package/src/components/command/command.test.tsx +88 -0
- package/src/components/command/command.tsx +81 -8
- package/src/components/command-chip/command-chip.stories.tsx +78 -0
- package/src/components/command-chip/command-chip.test.tsx +57 -0
- package/src/components/command-chip/command-chip.tsx +168 -0
- package/src/components/command-chip/index.ts +7 -0
- package/src/components/command-trigger/command-trigger.tsx +1 -1
- package/src/components/confirm-dialog/confirm-dialog.stories.tsx +2 -0
- package/src/components/context-menu/context-menu.stories.tsx +26 -0
- package/src/components/context-menu/context-menu.tsx +17 -8
- package/src/components/context-rail/context-rail.tsx +26 -8
- package/src/components/copyable-value/copyable-value.stories.tsx +10 -0
- package/src/components/copyable-value/copyable-value.test.tsx +28 -1
- package/src/components/copyable-value/copyable-value.tsx +12 -1
- package/src/components/date-picker/date-picker.stories.tsx +9 -0
- package/src/components/date-picker/date-picker.test.tsx +52 -0
- package/src/components/date-picker/date-picker.tsx +15 -15
- package/src/components/date-range-picker/date-range-picker.stories.tsx +9 -0
- package/src/components/date-range-picker/date-range-picker.test.tsx +76 -1
- package/src/components/date-range-picker/date-range-picker.tsx +39 -28
- package/src/components/descriptions/descriptions.stories.tsx +6 -0
- package/src/components/descriptions/descriptions.test.tsx +18 -0
- package/src/components/descriptions/descriptions.tsx +34 -6
- package/src/components/descriptions/index.ts +1 -0
- package/src/components/dialog/dialog.stories.tsx +5 -0
- package/src/components/dialog/dialog.test.tsx +8 -3
- package/src/components/dialog/dialog.tsx +13 -5
- package/src/components/drawer/drawer.tsx +23 -6
- package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
- package/src/components/dropdown-menu/dropdown-menu.tsx +17 -9
- package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
- package/src/components/expand-dialog/expand-dialog.tsx +20 -5
- package/src/components/field/field.tsx +2 -0
- package/src/components/field-row/field-row.tsx +2 -0
- package/src/components/file-upload/file-upload.test.tsx +83 -10
- package/src/components/file-upload/file-upload.tsx +150 -28
- package/src/components/form/form.tsx +4 -2
- package/src/components/hover-card/hover-card.tsx +2 -1
- package/src/components/icon-button/icon-button.tsx +1 -1
- package/src/components/input/input.stories.tsx +17 -0
- package/src/components/input/input.tsx +8 -4
- package/src/components/input-group/input-group.stories.tsx +43 -6
- package/src/components/input-group/input-group.tsx +10 -7
- package/src/components/input-otp/input-otp.tsx +7 -3
- package/src/components/install-tabs/index.ts +8 -0
- package/src/components/install-tabs/install-tabs.stories.tsx +147 -0
- package/src/components/install-tabs/install-tabs.test.tsx +120 -0
- package/src/components/install-tabs/install-tabs.tsx +238 -0
- package/src/components/integration-matrix/index.ts +10 -0
- package/src/components/integration-matrix/integration-matrix.stories.tsx +171 -0
- package/src/components/integration-matrix/integration-matrix.test.tsx +89 -0
- package/src/components/integration-matrix/integration-matrix.tsx +237 -0
- package/src/components/keyboard-shortcuts/keyboard-shortcuts.tsx +2 -2
- package/src/components/label/label.tsx +1 -1
- package/src/components/list-editor/list-editor.test.tsx +24 -0
- package/src/components/list-editor/list-editor.tsx +126 -52
- package/src/components/locale-provider/locale-keys.test.ts +134 -0
- package/src/components/locale-provider/messages.ts +573 -0
- package/src/components/mention-input/mention-input.stories.tsx +3 -3
- package/src/components/mention-input/mention-input.test.tsx +51 -1
- package/src/components/mention-input/mention-input.tsx +59 -9
- package/src/components/menubar/menubar.stories.tsx +25 -0
- package/src/components/menubar/menubar.tsx +18 -8
- package/src/components/meter/index.ts +1 -0
- package/src/components/meter/meter.stories.tsx +102 -0
- package/src/components/meter/meter.test.tsx +61 -0
- package/src/components/meter/meter.tsx +173 -0
- package/src/components/metric-card/index.ts +6 -1
- package/src/components/metric-card/metric-card.stories.tsx +63 -0
- package/src/components/metric-card/metric-card.test.tsx +83 -0
- package/src/components/metric-card/metric-card.tsx +97 -14
- package/src/components/nav-main/nav-main.tsx +7 -3
- package/src/components/nav-notifications/nav-notifications.test.tsx +11 -0
- package/src/components/nav-notifications/nav-notifications.tsx +11 -5
- package/src/components/nav-user/nav-user.test.tsx +23 -1
- package/src/components/nav-user/nav-user.tsx +68 -53
- package/src/components/navigation-menu/navigation-menu.stories.tsx +42 -0
- package/src/components/navigation-menu/navigation-menu.tsx +16 -4
- package/src/components/number-input/number-input.stories.tsx +7 -3
- package/src/components/number-input/number-input.test.tsx +47 -0
- package/src/components/number-input/number-input.tsx +65 -24
- package/src/components/page-shell/page-shell.stories.tsx +1 -1
- package/src/components/page-shell/page-shell.tsx +3 -2
- package/src/components/pagination/pagination.test.tsx +20 -1
- package/src/components/pagination/pagination.tsx +20 -14
- package/src/components/parallax-plane/index.ts +8 -0
- package/src/components/parallax-plane/parallax-plane.css +26 -0
- package/src/components/parallax-plane/parallax-plane.stories.tsx +88 -0
- package/src/components/parallax-plane/parallax-plane.test.tsx +57 -0
- package/src/components/parallax-plane/parallax-plane.tsx +80 -0
- package/src/components/popover/popover.tsx +2 -1
- package/src/components/progress/progress.stories.tsx +85 -0
- package/src/components/progress/progress.test.tsx +47 -0
- package/src/components/progress/progress.tsx +59 -3
- package/src/components/rating/rating.tsx +2 -0
- package/src/components/resizable/resizable.test.tsx +76 -0
- package/src/components/resizable/resizable.tsx +31 -5
- package/src/components/reveal-on-enter/index.ts +5 -0
- package/src/components/reveal-on-enter/reveal-on-enter.css +32 -0
- package/src/components/reveal-on-enter/reveal-on-enter.stories.tsx +100 -0
- package/src/components/reveal-on-enter/reveal-on-enter.test.tsx +87 -0
- package/src/components/reveal-on-enter/reveal-on-enter.tsx +75 -0
- package/src/components/revision-timeline/revision-timeline.tsx +8 -5
- package/src/components/schema-form/index.ts +2 -0
- package/src/components/schema-form/schema-form-spec.ts +36 -0
- package/src/components/schema-form/schema-form-store.ts +506 -0
- package/src/components/schema-form/schema-form.stories.tsx +33 -0
- package/src/components/schema-form/schema-form.test.tsx +165 -1
- package/src/components/schema-form/schema-form.tsx +271 -328
- package/src/components/scroll-area/index.ts +1 -1
- package/src/components/scroll-area/scroll-area.tsx +47 -18
- package/src/components/section-header/section-header.tsx +2 -4
- package/src/components/select/select.stories.tsx +17 -0
- package/src/components/select/select.test.tsx +28 -1
- package/src/components/select/select.tsx +9 -7
- package/src/components/separator/separator.tsx +1 -0
- package/src/components/sheet/sheet.test.tsx +39 -0
- package/src/components/sheet/sheet.tsx +40 -9
- package/src/components/side-dock/side-dock.stories.tsx +83 -0
- package/src/components/side-dock/side-dock.test.tsx +26 -0
- package/src/components/side-dock/side-dock.tsx +65 -18
- package/src/components/sidebar/sidebar.stories.tsx +3 -3
- package/src/components/sidebar/sidebar.test.tsx +66 -2
- package/src/components/sidebar/sidebar.tsx +54 -13
- package/src/components/skeleton/skeleton.tsx +1 -0
- package/src/components/skip-link/skip-link.stories.tsx +1 -0
- package/src/components/slider/slider.stories.tsx +13 -77
- package/src/components/slider-number/slider-number.stories.tsx +4 -1
- package/src/components/slider-number/slider-number.test.tsx +1 -1
- package/src/components/sonner/sonner.tsx +2 -0
- package/src/components/spec-playground/index.ts +10 -0
- package/src/components/spec-playground/locate-json-path.ts +144 -0
- package/src/components/spec-playground/spec-playground.stories.tsx +156 -0
- package/src/components/spec-playground/spec-playground.test.tsx +106 -0
- package/src/components/spec-playground/spec-playground.tsx +351 -0
- package/src/components/spinner/spinner.test.tsx +18 -0
- package/src/components/spinner/spinner.tsx +14 -4
- package/src/components/state-panel/state-panel.stories.tsx +4 -2
- package/src/components/state-panel/state-panel.test.tsx +3 -3
- package/src/components/state-panel/state-panel.tsx +16 -9
- package/src/components/status-badge/status-badge.stories.tsx +53 -0
- package/src/components/status-badge/status-badge.test.tsx +37 -0
- package/src/components/status-badge/status-badge.tsx +75 -13
- package/src/components/surface-tour/index.ts +11 -0
- package/src/components/surface-tour/surface-tour.stories.tsx +150 -0
- package/src/components/surface-tour/surface-tour.test.tsx +117 -0
- package/src/components/surface-tour/surface-tour.tsx +456 -0
- package/src/components/switch/switch.tsx +2 -0
- package/src/components/table/table.stories.tsx +3 -1
- package/src/components/table/table.test.tsx +9 -2
- package/src/components/table/table.tsx +22 -9
- package/src/components/tabs/index.ts +10 -1
- package/src/components/tabs/tabs.stories.tsx +95 -1
- package/src/components/tabs/tabs.test.tsx +93 -0
- package/src/components/tabs/tabs.tsx +215 -77
- package/src/components/tag-input/tag-input.tsx +4 -2
- package/src/components/team-switcher/team-switcher.tsx +3 -3
- package/src/components/textarea/textarea.tsx +2 -2
- package/src/components/theme-family-switch/index.ts +10 -0
- package/src/components/theme-family-switch/theme-family-switch.stories.tsx +97 -0
- package/src/components/theme-family-switch/theme-family-switch.test.tsx +85 -0
- package/src/components/theme-family-switch/theme-family-switch.tsx +166 -0
- package/src/components/theme-switcher/theme-switcher.stories.tsx +76 -0
- package/src/components/theme-switcher/theme-switcher.test.tsx +182 -0
- package/src/components/theme-switcher/theme-switcher.tsx +144 -13
- package/src/components/timeline/timeline.tsx +0 -3
- package/src/components/toggle/toggle.tsx +7 -2
- package/src/components/toggle-group/toggle-group.tsx +2 -0
- package/src/components/token-spotlight/index.ts +11 -0
- package/src/components/token-spotlight/token-spotlight.css +32 -0
- package/src/components/token-spotlight/token-spotlight.stories.tsx +161 -0
- package/src/components/token-spotlight/token-spotlight.test.tsx +323 -0
- package/src/components/token-spotlight/token-spotlight.tsx +379 -0
- package/src/components/token-spotlight/token-value-format.ts +205 -0
- package/src/components/tooltip/tooltip.tsx +2 -1
- package/src/components/top-nav/top-nav.test.tsx +59 -0
- package/src/components/top-nav/top-nav.tsx +37 -7
- package/src/components/transfer/transfer.tsx +35 -30
- package/src/components/tree/tree.stories.tsx +1 -1
- package/src/components/tree/tree.test.tsx +45 -4
- package/src/components/tree/tree.tsx +81 -26
- package/src/components/tree/use-tree-keyboard.ts +37 -14
- package/src/components/tree-select/tree-select.stories.tsx +9 -0
- package/src/components/tree-select/tree-select.test.tsx +5 -0
- package/src/components/tree-select/tree-select.tsx +11 -14
- package/src/components/typography/prose.test.tsx +3 -2
- package/src/components/typography/prose.tsx +3 -3
- package/src/components/typography/typography.stories.tsx +7 -2
- package/src/components/typography/typography.tsx +8 -0
- package/src/components/view-toolbar/view-toolbar.stories.tsx +2 -1
- package/src/components/view-toolbar/view-toolbar.tsx +2 -2
- package/src/components/virtual-select/virtual-select.stories.tsx +9 -0
- package/src/components/virtual-select/virtual-select.test.tsx +28 -2
- package/src/components/virtual-select/virtual-select.tsx +56 -18
- package/src/components/wizard/wizard.test.tsx +9 -0
- package/src/components/wizard/wizard.tsx +12 -4
- package/src/decoration.stories.tsx +213 -2
- package/src/index.ts +51 -0
- package/src/lib/cn.test.ts +20 -0
- package/src/lib/cn.ts +36 -2
- package/src/lib/color-scale.test.ts +386 -0
- package/src/lib/color-scale.ts +628 -0
- package/src/lib/compact-number.ts +118 -28
- package/src/lib/csv.ts +48 -0
- package/src/lib/diff-rows.ts +2 -0
- package/src/lib/merge-refs.ts +2 -0
- package/src/lib/use-controllable-state.ts +47 -0
- package/src/lib/use-mobile.test.tsx +47 -0
- package/src/lib/use-mobile.ts +26 -10
- package/src/lib/use-scroll-progress.ts +103 -0
- package/src/motion.stories.tsx +1 -0
- package/src/templates-object-detail-hub.stories.tsx +8 -8
- package/src/templates-screen-states.stories.tsx +1 -1
- package/src/templates-settings.stories.tsx +8 -3
- package/dist/chunk-JKPPTL63.js +0 -48
- package/dist/chunk-JKPPTL63.js.map +0 -1
|
@@ -4,31 +4,61 @@ import { cn } from "../../lib/cn";
|
|
|
4
4
|
export interface TopNavProps extends HTMLAttributes<HTMLElement> {
|
|
5
5
|
/** Left slot (brand on mobile, breadcrumbs, title). */
|
|
6
6
|
start?: ReactNode;
|
|
7
|
+
/**
|
|
8
|
+
* Centred slot (e.g. a global search field, or horizontal primary
|
|
9
|
+
* navigation). Laid out as the middle column of a 3-column grid, so it
|
|
10
|
+
* stays visually centred in the bar regardless of how wide `start`/`end`
|
|
11
|
+
* are — plain `flex-1` filler only centres content when both sides are
|
|
12
|
+
* equal width. Passing `center` switches the bar to this grid layout and
|
|
13
|
+
* `children` is ignored (pass everything through `start`/`center`/`end`
|
|
14
|
+
* instead); omit `center` to keep the original `start` / `children` / `end`
|
|
15
|
+
* flex row unchanged.
|
|
16
|
+
*/
|
|
17
|
+
center?: ReactNode;
|
|
7
18
|
/** Right slot (search, actions, account menu). */
|
|
8
19
|
end?: ReactNode;
|
|
9
20
|
}
|
|
10
21
|
|
|
11
22
|
/** Application top bar. Sticky, single row, brand-neutral. */
|
|
12
23
|
export const TopNav = forwardRef<HTMLElement, TopNavProps>(function TopNav(
|
|
13
|
-
{ className, start, end, children, ...props },
|
|
24
|
+
{ className, start, center, end, children, ...props },
|
|
14
25
|
ref,
|
|
15
26
|
) {
|
|
16
27
|
return (
|
|
17
28
|
<header
|
|
18
29
|
ref={ref}
|
|
19
30
|
className={cn(
|
|
20
|
-
"sticky top-0 z-30 flex h-
|
|
31
|
+
"sticky top-0 z-30 flex h-header items-center gap-4 border-b bg-surface-elevated/80 px-4 backdrop-blur",
|
|
21
32
|
className,
|
|
22
33
|
)}
|
|
23
34
|
{...props}
|
|
24
35
|
>
|
|
25
|
-
{
|
|
26
|
-
|
|
27
|
-
|
|
36
|
+
{center ? (
|
|
37
|
+
<div className="grid w-full grid-cols-[minmax(0,1fr)_auto_minmax(0,1fr)] items-center gap-4">
|
|
38
|
+
<div
|
|
39
|
+
data-slot="top-nav-start"
|
|
40
|
+
className="flex min-w-0 items-center justify-self-start gap-2"
|
|
41
|
+
>
|
|
42
|
+
{start}
|
|
43
|
+
</div>
|
|
44
|
+
<div data-slot="top-nav-center" className="flex items-center justify-self-center">
|
|
45
|
+
{center}
|
|
46
|
+
</div>
|
|
47
|
+
<div data-slot="top-nav-end" className="flex min-w-0 items-center justify-self-end gap-2">
|
|
48
|
+
{end}
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
28
51
|
) : (
|
|
29
|
-
|
|
52
|
+
<>
|
|
53
|
+
{start ? <div className="flex items-center gap-2">{start}</div> : null}
|
|
54
|
+
{children ? (
|
|
55
|
+
<div className="flex flex-1 items-center">{children}</div>
|
|
56
|
+
) : (
|
|
57
|
+
<div className="flex-1" />
|
|
58
|
+
)}
|
|
59
|
+
{end ? <div className="flex items-center gap-2">{end}</div> : null}
|
|
60
|
+
</>
|
|
30
61
|
)}
|
|
31
|
-
{end ? <div className="flex items-center gap-2">{end}</div> : null}
|
|
32
62
|
</header>
|
|
33
63
|
);
|
|
34
64
|
});
|
|
@@ -18,6 +18,7 @@ import { Card, CardContent, CardHeader, CardTitle } from "../card";
|
|
|
18
18
|
import { Checkbox } from "../checkbox";
|
|
19
19
|
import { Input } from "../input";
|
|
20
20
|
import { ScrollArea } from "../scroll-area";
|
|
21
|
+
import { useLocale } from "../locale-provider";
|
|
21
22
|
|
|
22
23
|
// ─── Public types ─────────────────────────────────────────────────────────────
|
|
23
24
|
|
|
@@ -87,6 +88,7 @@ function TransferPanel({
|
|
|
87
88
|
titleId,
|
|
88
89
|
rowIdBase,
|
|
89
90
|
}: PanelProps) {
|
|
91
|
+
const { t } = useLocale();
|
|
90
92
|
// When a search is active, filter visible items; move operations affect VISIBLE enabled items.
|
|
91
93
|
const visibleItems = useMemo(() => {
|
|
92
94
|
if (!searchQuery) return items;
|
|
@@ -109,10 +111,12 @@ function TransferPanel({
|
|
|
109
111
|
<Checkbox
|
|
110
112
|
checked={someChecked ? "indeterminate" : allChecked}
|
|
111
113
|
onCheckedChange={(v) => onCheckAll(v === true)}
|
|
112
|
-
aria-label={
|
|
114
|
+
aria-label={t("ui.transfer.selectAllIn", {
|
|
115
|
+
title: typeof title === "string" ? title : t("ui.transfer.panelFallback"),
|
|
116
|
+
})}
|
|
113
117
|
disabled={enabledVisible.length === 0}
|
|
114
118
|
/>
|
|
115
|
-
<CardTitle id={titleId} className="text-
|
|
119
|
+
<CardTitle id={titleId} className="text-body">
|
|
116
120
|
{title}
|
|
117
121
|
</CardTitle>
|
|
118
122
|
</div>
|
|
@@ -124,15 +128,17 @@ function TransferPanel({
|
|
|
124
128
|
{showSearch && (
|
|
125
129
|
<div className="px-3 pb-2">
|
|
126
130
|
<label htmlFor={searchInputId} className="sr-only">
|
|
127
|
-
|
|
131
|
+
{t("ui.transfer.searchIn", {
|
|
132
|
+
title: typeof title === "string" ? title : t("ui.transfer.itemsFallback"),
|
|
133
|
+
})}
|
|
128
134
|
</label>
|
|
129
135
|
<Input
|
|
130
136
|
id={searchInputId}
|
|
131
137
|
type="search"
|
|
132
|
-
placeholder="
|
|
138
|
+
placeholder={t("ui.transfer.searchPlaceholder")}
|
|
133
139
|
value={searchQuery}
|
|
134
140
|
onChange={(e) => onSearchChange(e.target.value)}
|
|
135
|
-
className="h-7 text-
|
|
141
|
+
className="h-7 text-meta"
|
|
136
142
|
/>
|
|
137
143
|
</div>
|
|
138
144
|
)}
|
|
@@ -140,8 +146,8 @@ function TransferPanel({
|
|
|
140
146
|
<CardContent className="flex-1 overflow-hidden p-0">
|
|
141
147
|
<ScrollArea className="h-full min-h-[200px]">
|
|
142
148
|
{visibleItems.length === 0 ? (
|
|
143
|
-
<p className="flex h-[200px] items-center justify-center text-
|
|
144
|
-
|
|
149
|
+
<p className="flex h-[200px] items-center justify-center text-body text-muted-foreground">
|
|
150
|
+
{t("ui.transfer.empty")}
|
|
145
151
|
</p>
|
|
146
152
|
) : (
|
|
147
153
|
<ul role="list" className="flex flex-col py-1">
|
|
@@ -156,7 +162,7 @@ function TransferPanel({
|
|
|
156
162
|
<li
|
|
157
163
|
key={item.value}
|
|
158
164
|
className={cn(
|
|
159
|
-
"flex select-none items-center gap-2 px-3 py-1.5 text-
|
|
165
|
+
"flex select-none items-center gap-2 px-3 py-1.5 text-body",
|
|
160
166
|
"hover:bg-accent hover:text-accent-foreground",
|
|
161
167
|
item.disabled && "opacity-50 hover:bg-transparent hover:text-foreground",
|
|
162
168
|
)}
|
|
@@ -198,13 +204,18 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
198
204
|
defaultTargetKeys,
|
|
199
205
|
onChange,
|
|
200
206
|
showSearch = false,
|
|
201
|
-
titles
|
|
207
|
+
titles,
|
|
202
208
|
renderItem = (item) => item.label,
|
|
203
209
|
className,
|
|
204
210
|
...props
|
|
205
211
|
},
|
|
206
212
|
ref,
|
|
207
213
|
) {
|
|
214
|
+
const { t } = useLocale();
|
|
215
|
+
const resolvedTitles: [ReactNode, ReactNode] = titles ?? [
|
|
216
|
+
t("ui.transfer.defaultSourceTitle"),
|
|
217
|
+
t("ui.transfer.defaultTargetTitle"),
|
|
218
|
+
];
|
|
208
219
|
const isControlled = controlledTargetKeys !== undefined;
|
|
209
220
|
|
|
210
221
|
// Uncontrolled internal state
|
|
@@ -273,13 +284,13 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
273
284
|
);
|
|
274
285
|
if (toMove.size === 0) return;
|
|
275
286
|
applyMove([...targetKeys, ...toMove]);
|
|
276
|
-
setAnnouncement(
|
|
287
|
+
setAnnouncement(t("ui.transfer.movedToTarget", { count: toMove.size }));
|
|
277
288
|
setSourceChecked((prev) => {
|
|
278
289
|
const next = new Set(prev);
|
|
279
290
|
toMove.forEach((v) => next.delete(v));
|
|
280
291
|
return next;
|
|
281
292
|
});
|
|
282
|
-
}, [sourceChecked, dataSource, targetKeys, targetSet, applyMove]);
|
|
293
|
+
}, [sourceChecked, dataSource, targetKeys, targetSet, applyMove, t]);
|
|
283
294
|
|
|
284
295
|
/** Move ALL visible enabled source items → target */
|
|
285
296
|
const handleMoveAllRight = useCallback(() => {
|
|
@@ -290,11 +301,9 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
290
301
|
if (toAdd.length === 0) return;
|
|
291
302
|
const next = [...new Set([...targetKeys, ...toAdd])];
|
|
292
303
|
applyMove(next);
|
|
293
|
-
setAnnouncement(
|
|
294
|
-
`${toAdd.length} item${toAdd.length === 1 ? "" : "s"} moved to the target list.`,
|
|
295
|
-
);
|
|
304
|
+
setAnnouncement(t("ui.transfer.movedToTarget", { count: toAdd.length }));
|
|
296
305
|
setSourceChecked(new Set());
|
|
297
|
-
}, [visibleSourceEnabled, targetKeys, applyMove]);
|
|
306
|
+
}, [visibleSourceEnabled, targetKeys, applyMove, t]);
|
|
298
307
|
|
|
299
308
|
/** Move target-panel checked items → source */
|
|
300
309
|
const handleMoveCheckedLeft = useCallback(() => {
|
|
@@ -306,26 +315,22 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
306
315
|
);
|
|
307
316
|
if (toRemove.size === 0) return;
|
|
308
317
|
applyMove(targetKeys.filter((k) => !toRemove.has(k)));
|
|
309
|
-
setAnnouncement(
|
|
310
|
-
`${toRemove.size} item${toRemove.size === 1 ? "" : "s"} moved to the source list.`,
|
|
311
|
-
);
|
|
318
|
+
setAnnouncement(t("ui.transfer.movedToSource", { count: toRemove.size }));
|
|
312
319
|
setTargetChecked((prev) => {
|
|
313
320
|
const next = new Set(prev);
|
|
314
321
|
toRemove.forEach((v) => next.delete(v));
|
|
315
322
|
return next;
|
|
316
323
|
});
|
|
317
|
-
}, [targetChecked, dataSource, targetKeys, targetSet, applyMove]);
|
|
324
|
+
}, [targetChecked, dataSource, targetKeys, targetSet, applyMove, t]);
|
|
318
325
|
|
|
319
326
|
/** Move ALL visible enabled target items → source */
|
|
320
327
|
const handleMoveAllLeft = useCallback(() => {
|
|
321
328
|
const toRemove = new Set(visibleTargetEnabled.map((it) => it.value));
|
|
322
329
|
if (toRemove.size === 0) return;
|
|
323
330
|
applyMove(targetKeys.filter((k) => !toRemove.has(k)));
|
|
324
|
-
setAnnouncement(
|
|
325
|
-
`${toRemove.size} item${toRemove.size === 1 ? "" : "s"} moved to the source list.`,
|
|
326
|
-
);
|
|
331
|
+
setAnnouncement(t("ui.transfer.movedToSource", { count: toRemove.size }));
|
|
327
332
|
setTargetChecked(new Set());
|
|
328
|
-
}, [visibleTargetEnabled, targetKeys, applyMove]);
|
|
333
|
+
}, [visibleTargetEnabled, targetKeys, applyMove, t]);
|
|
329
334
|
|
|
330
335
|
// ── Per-panel check handlers ──────────────────────────────────────────────
|
|
331
336
|
|
|
@@ -402,7 +407,7 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
402
407
|
|
|
403
408
|
{/* ── Source panel ─────────────────────────────── */}
|
|
404
409
|
<TransferPanel
|
|
405
|
-
title={
|
|
410
|
+
title={resolvedTitles[0]}
|
|
406
411
|
items={sourceItems}
|
|
407
412
|
checked={sourceChecked}
|
|
408
413
|
onCheckItem={handleSourceCheckItem}
|
|
@@ -420,12 +425,12 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
420
425
|
<div
|
|
421
426
|
className="flex flex-col items-center justify-center gap-1"
|
|
422
427
|
role="group"
|
|
423
|
-
aria-label="
|
|
428
|
+
aria-label={t("ui.transfer.moveControls")}
|
|
424
429
|
>
|
|
425
430
|
<Button
|
|
426
431
|
variant="outline"
|
|
427
432
|
size="icon-sm"
|
|
428
|
-
aria-label="
|
|
433
|
+
aria-label={t("ui.transfer.moveSelectedRight")}
|
|
429
434
|
disabled={!canMoveCheckedRight}
|
|
430
435
|
onClick={handleMoveCheckedRight}
|
|
431
436
|
>
|
|
@@ -434,7 +439,7 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
434
439
|
<Button
|
|
435
440
|
variant="outline"
|
|
436
441
|
size="icon-sm"
|
|
437
|
-
aria-label="
|
|
442
|
+
aria-label={t("ui.transfer.moveAllRight")}
|
|
438
443
|
disabled={!canMoveAllRight}
|
|
439
444
|
onClick={handleMoveAllRight}
|
|
440
445
|
>
|
|
@@ -443,7 +448,7 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
443
448
|
<Button
|
|
444
449
|
variant="outline"
|
|
445
450
|
size="icon-sm"
|
|
446
|
-
aria-label="
|
|
451
|
+
aria-label={t("ui.transfer.moveSelectedLeft")}
|
|
447
452
|
disabled={!canMoveCheckedLeft}
|
|
448
453
|
onClick={handleMoveCheckedLeft}
|
|
449
454
|
className="mt-2"
|
|
@@ -453,7 +458,7 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
453
458
|
<Button
|
|
454
459
|
variant="outline"
|
|
455
460
|
size="icon-sm"
|
|
456
|
-
aria-label="
|
|
461
|
+
aria-label={t("ui.transfer.moveAllLeft")}
|
|
457
462
|
disabled={!canMoveAllLeft}
|
|
458
463
|
onClick={handleMoveAllLeft}
|
|
459
464
|
>
|
|
@@ -463,7 +468,7 @@ export const Transfer = forwardRef<HTMLDivElement, TransferProps>(function Trans
|
|
|
463
468
|
|
|
464
469
|
{/* ── Target panel ─────────────────────────────── */}
|
|
465
470
|
<TransferPanel
|
|
466
|
-
title={
|
|
471
|
+
title={resolvedTitles[1]}
|
|
467
472
|
items={targetItems}
|
|
468
473
|
checked={targetChecked}
|
|
469
474
|
onCheckItem={handleTargetCheckItem}
|
|
@@ -530,7 +530,7 @@ export const RevealSelectedNode: Story = {
|
|
|
530
530
|
/**
|
|
531
531
|
* `surface="sidebar"` renders the selected row with the sidebar's own active-item
|
|
532
532
|
* treatment (`bg-sidebar-accent` + `text-sidebar-accent-foreground` + `font-medium`),
|
|
533
|
-
* matching `SidebarMenuButton`'s active state — because the default `bg-
|
|
533
|
+
* matching `SidebarMenuButton`'s active state — because the default `bg-selection`
|
|
534
534
|
* fill is near-invisible against `--sidebar`. No fill is ≥3:1 on a sidebar, so
|
|
535
535
|
* (like the Sidebar itself) perceivability comes from the foreground/weight shift
|
|
536
536
|
* plus `aria-selected`, not fill contrast alone.
|
|
@@ -141,6 +141,29 @@ describe("Tree reveal-into-view (scrollToId / scrollSelectionIntoView)", () => {
|
|
|
141
141
|
}
|
|
142
142
|
});
|
|
143
143
|
|
|
144
|
+
it("does not re-scroll on an unrelated re-render with a same-content controlled selectedIds array", async () => {
|
|
145
|
+
const scrollSpy = vi.fn();
|
|
146
|
+
const orig = Element.prototype.scrollIntoView;
|
|
147
|
+
Element.prototype.scrollIntoView = scrollSpy;
|
|
148
|
+
try {
|
|
149
|
+
const { rerender } = render(<Tree nodes={nodes} scrollSelectionIntoView selectedIds={[]} />);
|
|
150
|
+
rerender(<Tree nodes={nodes} scrollSelectionIntoView selectedIds={["carrot"]} />);
|
|
151
|
+
await waitFor(() => expect(screen.getByText("Carrot")).toBeInTheDocument());
|
|
152
|
+
const callsAfterInitialReveal = scrollSpy.mock.calls.length;
|
|
153
|
+
expect(callsAfterInitialReveal).toBeGreaterThan(0);
|
|
154
|
+
|
|
155
|
+
// Same ids, but a FRESH array reference — a common pattern (parent
|
|
156
|
+
// recomputes `selectedIds` inline every render). Previously the
|
|
157
|
+
// controlled Set was rebuilt with a new identity every render, so the
|
|
158
|
+
// reveal effect saw a "changed" selection and re-scrolled on every
|
|
159
|
+
// unrelated re-render (scroll-jump-while-scrolling, #reviewed 1.6).
|
|
160
|
+
rerender(<Tree nodes={nodes} scrollSelectionIntoView selectedIds={["carrot"]} />);
|
|
161
|
+
expect(scrollSpy.mock.calls.length).toBe(callsAfterInitialReveal);
|
|
162
|
+
} finally {
|
|
163
|
+
Element.prototype.scrollIntoView = orig;
|
|
164
|
+
}
|
|
165
|
+
});
|
|
166
|
+
|
|
144
167
|
it("scrollToId requests ancestor expansion in virtualize mode (controlled)", async () => {
|
|
145
168
|
const onExpandedChange = vi.fn();
|
|
146
169
|
const { rerender } = render(
|
|
@@ -395,6 +418,24 @@ describe("Tree (lazy loading)", () => {
|
|
|
395
418
|
expect(screen.getByRole("treeitem", { name: /Category A/ })).not.toHaveAttribute("aria-busy");
|
|
396
419
|
});
|
|
397
420
|
|
|
421
|
+
it("does not drop lazily-loaded children when the parent re-renders with a fresh (same-content) nodes prop", async () => {
|
|
422
|
+
const user = userEvent.setup();
|
|
423
|
+
const loadChildren = vi.fn().mockResolvedValue([{ id: "child-1", label: "Child 1" }]);
|
|
424
|
+
|
|
425
|
+
const { rerender } = render(<Tree nodes={makeLazyNodes()} loadChildren={loadChildren} />);
|
|
426
|
+
await user.click(screen.getByRole("treeitem", { name: /Category A/ }));
|
|
427
|
+
await waitFor(() => {
|
|
428
|
+
expect(screen.getByRole("treeitem", { name: /Child 1/ })).toBeInTheDocument();
|
|
429
|
+
});
|
|
430
|
+
|
|
431
|
+
// Parent re-renders with a brand-new `nodes` array literal carrying the
|
|
432
|
+
// SAME data (no `children` on root-a — the caller doesn't know about the
|
|
433
|
+
// lazy-loaded subtree). This must not wipe out what we already fetched.
|
|
434
|
+
rerender(<Tree nodes={makeLazyNodes()} loadChildren={loadChildren} />);
|
|
435
|
+
|
|
436
|
+
expect(screen.getByRole("treeitem", { name: /Child 1/ })).toBeInTheDocument();
|
|
437
|
+
});
|
|
438
|
+
|
|
398
439
|
it("retries successfully after error", async () => {
|
|
399
440
|
const user = userEvent.setup();
|
|
400
441
|
const loadChildren = vi
|
|
@@ -425,24 +466,24 @@ describe("Tree (surface prop)", () => {
|
|
|
425
466
|
{ id: "b", label: "Beta" },
|
|
426
467
|
];
|
|
427
468
|
|
|
428
|
-
it("default surface uses bg-
|
|
469
|
+
it("default surface uses bg-selection on the selected row", async () => {
|
|
429
470
|
const user = userEvent.setup();
|
|
430
471
|
render(<Tree nodes={simpleNodes} />);
|
|
431
472
|
await user.click(screen.getByRole("treeitem", { name: /Alpha/ }));
|
|
432
473
|
const selected = screen.getByRole("treeitem", { name: /Alpha/ });
|
|
433
474
|
expect(selected).toHaveAttribute("aria-selected", "true");
|
|
434
475
|
// classList gives exact token membership — avoids false matches from hover:bg-accent
|
|
435
|
-
expect(selected.classList.contains("bg-
|
|
476
|
+
expect(selected.classList.contains("bg-selection")).toBe(true);
|
|
436
477
|
expect(selected.classList.contains("bg-sidebar-accent")).toBe(false);
|
|
437
478
|
});
|
|
438
479
|
|
|
439
|
-
it("surface='default' (explicit) uses bg-
|
|
480
|
+
it("surface='default' (explicit) uses bg-selection on the selected row", async () => {
|
|
440
481
|
const user = userEvent.setup();
|
|
441
482
|
render(<Tree nodes={simpleNodes} surface="default" />);
|
|
442
483
|
await user.click(screen.getByRole("treeitem", { name: /Alpha/ }));
|
|
443
484
|
const selected = screen.getByRole("treeitem", { name: /Alpha/ });
|
|
444
485
|
expect(selected).toHaveAttribute("aria-selected", "true");
|
|
445
|
-
expect(selected.classList.contains("bg-
|
|
486
|
+
expect(selected.classList.contains("bg-selection")).toBe(true);
|
|
446
487
|
expect(selected.classList.contains("bg-sidebar-accent")).toBe(false);
|
|
447
488
|
});
|
|
448
489
|
|
|
@@ -6,6 +6,7 @@ import {
|
|
|
6
6
|
useCallback,
|
|
7
7
|
useEffect,
|
|
8
8
|
useId,
|
|
9
|
+
useMemo,
|
|
9
10
|
useRef,
|
|
10
11
|
useState,
|
|
11
12
|
type HTMLAttributes,
|
|
@@ -72,8 +73,8 @@ export interface TreeProps<T = unknown> extends Omit<HTMLAttributes<HTMLDivEleme
|
|
|
72
73
|
checkboxes?: boolean;
|
|
73
74
|
/**
|
|
74
75
|
* The surface on which the tree is rendered.
|
|
75
|
-
* - `"default"` (default) — renders selected rows with `bg-
|
|
76
|
-
* background/card surfaces).
|
|
76
|
+
* - `"default"` (default) — renders selected rows with `bg-selection` (for use
|
|
77
|
+
* on background/card surfaces).
|
|
77
78
|
* - `"sidebar"` — renders selected rows with the sidebar's own active-item
|
|
78
79
|
* treatment (`bg-sidebar-accent` + `text-sidebar-accent-foreground` +
|
|
79
80
|
* `font-medium`), so selection reads consistently with `SidebarMenuButton`'s
|
|
@@ -149,7 +150,24 @@ function useControllableSet(
|
|
|
149
150
|
() => new Set(controlled ?? defaultValue ?? []),
|
|
150
151
|
);
|
|
151
152
|
|
|
152
|
-
|
|
153
|
+
// Stable controlled Set: build a new Set only when the controlled array's
|
|
154
|
+
// CONTENT actually changed, not merely its reference (many callers pass a
|
|
155
|
+
// freshly-computed array with the same ids on every render). Without this,
|
|
156
|
+
// `selectedIds`/`expandedIds` changed identity on every render, which made
|
|
157
|
+
// effects keyed on them (the scrollToId/scrollSelectionIntoView reveal
|
|
158
|
+
// effect) fire on every re-render instead of on a real selection change —
|
|
159
|
+
// the scroll-jump-while-scrolling bug.
|
|
160
|
+
const controlledSetRef = useRef<Set<string> | null>(null);
|
|
161
|
+
let value: Set<string>;
|
|
162
|
+
if (isControlled) {
|
|
163
|
+
const prev = controlledSetRef.current;
|
|
164
|
+
const sameContent =
|
|
165
|
+
!!prev && prev.size === controlled!.length && controlled!.every((id) => prev.has(id));
|
|
166
|
+
value = sameContent ? prev! : new Set(controlled);
|
|
167
|
+
controlledSetRef.current = value;
|
|
168
|
+
} else {
|
|
169
|
+
value = internal;
|
|
170
|
+
}
|
|
153
171
|
|
|
154
172
|
const setValue = useCallback(
|
|
155
173
|
(next: Set<string>) => {
|
|
@@ -162,6 +180,30 @@ function useControllableSet(
|
|
|
162
180
|
return [value, setValue];
|
|
163
181
|
}
|
|
164
182
|
|
|
183
|
+
/**
|
|
184
|
+
* Reconcile an incoming `nodes` prop against the previous internal tree,
|
|
185
|
+
* preserving any children merged in locally via `loadChildren` that the new
|
|
186
|
+
* prop doesn't (yet) carry. Without this, any parent re-render that hands
|
|
187
|
+
* down a new (even structurally-identical) `nodes` array wipes out every
|
|
188
|
+
* lazily-loaded subtree that isn't also present upstream.
|
|
189
|
+
*/
|
|
190
|
+
function reconcileNodes<T>(propNodes: TreeNode<T>[], prevNodes: TreeNode<T>[]): TreeNode<T>[] {
|
|
191
|
+
const prevById = new Map(prevNodes.map((n) => [n.id, n] as const));
|
|
192
|
+
return propNodes.map((n) => {
|
|
193
|
+
const prev = prevById.get(n.id);
|
|
194
|
+
if (!prev) return n;
|
|
195
|
+
if (!n.children?.length && prev.children?.length) {
|
|
196
|
+
// The prop still marks this node as lazily-expandable but doesn't (yet)
|
|
197
|
+
// carry the children we already fetched — keep what we loaded.
|
|
198
|
+
return { ...n, children: prev.children, hasChildren: n.hasChildren };
|
|
199
|
+
}
|
|
200
|
+
if (n.children?.length && prev.children?.length) {
|
|
201
|
+
return { ...n, children: reconcileNodes(n.children, prev.children) };
|
|
202
|
+
}
|
|
203
|
+
return n;
|
|
204
|
+
});
|
|
205
|
+
}
|
|
206
|
+
|
|
165
207
|
/** Merge resolved children into a tree, returning a new tree. */
|
|
166
208
|
function mergeChildren<T>(
|
|
167
209
|
nodes: TreeNode<T>[],
|
|
@@ -269,7 +311,7 @@ function VirtualFlatRow<T>({
|
|
|
269
311
|
selectionMode !== "none" &&
|
|
270
312
|
(surface === "sidebar"
|
|
271
313
|
? "bg-sidebar-accent text-sidebar-accent-foreground font-medium"
|
|
272
|
-
: "bg-
|
|
314
|
+
: "bg-selection text-selection-foreground font-medium"),
|
|
273
315
|
node.disabled && "cursor-not-allowed opacity-50 pointer-events-none",
|
|
274
316
|
)}
|
|
275
317
|
style={indentStyle}
|
|
@@ -328,7 +370,7 @@ function VirtualFlatRow<T>({
|
|
|
328
370
|
<span className="truncate">{t("ui.tree.failedToLoad")}</span>
|
|
329
371
|
<button
|
|
330
372
|
type="button"
|
|
331
|
-
aria-label="
|
|
373
|
+
aria-label={t("ui.tree.retryLoadingChildren")}
|
|
332
374
|
onClick={(e) => {
|
|
333
375
|
e.stopPropagation();
|
|
334
376
|
onRetry(node.id);
|
|
@@ -340,7 +382,7 @@ function VirtualFlatRow<T>({
|
|
|
340
382
|
)}
|
|
341
383
|
>
|
|
342
384
|
<RotateCcw className="size-3" aria-hidden="true" />
|
|
343
|
-
|
|
385
|
+
{t("ui.tree.retry")}
|
|
344
386
|
</button>
|
|
345
387
|
</span>
|
|
346
388
|
) : (
|
|
@@ -379,11 +421,12 @@ function VirtualFlatRow<T>({
|
|
|
379
421
|
// ---------------------------------------------------------------------------
|
|
380
422
|
|
|
381
423
|
function LoadingRow({ level }: { level: number }) {
|
|
424
|
+
const { t } = useLocale();
|
|
382
425
|
const indentStyle = { paddingLeft: `${(level - 1) * 1}rem` };
|
|
383
426
|
return (
|
|
384
427
|
<div
|
|
385
428
|
role="treeitem"
|
|
386
|
-
aria-label="
|
|
429
|
+
aria-label={t("loading")}
|
|
387
430
|
aria-disabled="true"
|
|
388
431
|
tabIndex={-1}
|
|
389
432
|
className="flex min-w-0 items-center gap-1.5 px-2 py-1.5"
|
|
@@ -417,13 +460,13 @@ function ErrorRow({ level, onRetry }: { level: number; onRetry: () => void }) {
|
|
|
417
460
|
onRetry();
|
|
418
461
|
}}
|
|
419
462
|
className={cn(
|
|
420
|
-
"ms-1 flex items-center gap-0.5 rounded px-1 py-0.5 text-
|
|
463
|
+
"ms-1 flex items-center gap-0.5 rounded px-1 py-0.5 text-meta",
|
|
421
464
|
"text-muted-foreground hover:text-foreground",
|
|
422
465
|
"focus-ring",
|
|
423
466
|
)}
|
|
424
467
|
>
|
|
425
468
|
<RotateCcw className="size-3" aria-hidden="true" />
|
|
426
|
-
|
|
469
|
+
{t("ui.tree.retry")}
|
|
427
470
|
</button>
|
|
428
471
|
</div>
|
|
429
472
|
);
|
|
@@ -551,7 +594,7 @@ function TreeItem<T>({
|
|
|
551
594
|
selectionMode !== "none" &&
|
|
552
595
|
(surface === "sidebar"
|
|
553
596
|
? "bg-sidebar-accent text-sidebar-accent-foreground font-medium"
|
|
554
|
-
: "bg-
|
|
597
|
+
: "bg-selection text-selection-foreground font-medium"),
|
|
555
598
|
node.disabled && "cursor-not-allowed opacity-50 pointer-events-none",
|
|
556
599
|
)}
|
|
557
600
|
style={indentStyle}
|
|
@@ -771,9 +814,10 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
771
814
|
// Internal mutable tree (supports lazy-loaded children merge)
|
|
772
815
|
const [nodes, setNodes] = useState<TreeNode[]>(() => nodesProp as TreeNode[]);
|
|
773
816
|
|
|
774
|
-
// Keep internal tree in sync with nodesProp if it changes externally
|
|
817
|
+
// Keep internal tree in sync with nodesProp if it changes externally,
|
|
818
|
+
// preserving any children merged in locally via lazy `loadChildren`.
|
|
775
819
|
useEffect(() => {
|
|
776
|
-
setNodes(nodesProp as TreeNode[]);
|
|
820
|
+
setNodes((prev) => reconcileNodes(nodesProp as TreeNode[], prev));
|
|
777
821
|
}, [nodesProp]);
|
|
778
822
|
|
|
779
823
|
const [expandedIds, setExpandedIds] = useControllableSet(
|
|
@@ -825,8 +869,18 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
825
869
|
// Flattened visible rows (for virtualized path and keyboard hook)
|
|
826
870
|
// ---------------------------------------------------------------------------
|
|
827
871
|
|
|
828
|
-
const flatRows =
|
|
829
|
-
|
|
872
|
+
const flatRows = useMemo(
|
|
873
|
+
() => flattenVisibleWithMeta(nodes, expandedIds, lazyState),
|
|
874
|
+
[nodes, expandedIds, lazyState],
|
|
875
|
+
);
|
|
876
|
+
const flatNodeIds = useMemo(() => flatRows.map((r) => r.node.id), [flatRows]);
|
|
877
|
+
// O(1) row lookup by id — `handleToggleExpand`/`handleSelectVirtual` run on
|
|
878
|
+
// every click/keypress and previously did an O(n) `Array.find` each time.
|
|
879
|
+
const flatRowIndexById = useMemo(() => {
|
|
880
|
+
const map = new Map<string, number>();
|
|
881
|
+
flatRows.forEach((r, i) => map.set(r.node.id, i));
|
|
882
|
+
return map;
|
|
883
|
+
}, [flatRows]);
|
|
830
884
|
|
|
831
885
|
// ---------------------------------------------------------------------------
|
|
832
886
|
// Keyboard hook
|
|
@@ -862,9 +916,10 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
862
916
|
|
|
863
917
|
const handleToggleExpand = useCallback(
|
|
864
918
|
(nodeId: string) => {
|
|
865
|
-
const
|
|
866
|
-
if (
|
|
867
|
-
const node =
|
|
919
|
+
const index = flatRowIndexById.get(nodeId);
|
|
920
|
+
if (index === undefined) return;
|
|
921
|
+
const node = flatRows[index]?.node;
|
|
922
|
+
if (!node) return;
|
|
868
923
|
const hasLoadedChildren = !!node.children?.length;
|
|
869
924
|
const next = new Set(expandedIds);
|
|
870
925
|
if (expandedIds.has(nodeId)) {
|
|
@@ -877,15 +932,15 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
877
932
|
}
|
|
878
933
|
setExpandedIds(next);
|
|
879
934
|
},
|
|
880
|
-
[expandedIds, flatRows, setExpandedIds, loadChildren, handleExpandLazy],
|
|
935
|
+
[expandedIds, flatRows, flatRowIndexById, setExpandedIds, loadChildren, handleExpandLazy],
|
|
881
936
|
);
|
|
882
937
|
|
|
883
938
|
const handleSelectVirtual = useCallback(
|
|
884
939
|
(nodeId: string) => {
|
|
885
|
-
const
|
|
886
|
-
if (
|
|
887
|
-
const node =
|
|
888
|
-
if (node.disabled || selectionMode === "none") return;
|
|
940
|
+
const index = flatRowIndexById.get(nodeId);
|
|
941
|
+
if (index === undefined) return;
|
|
942
|
+
const node = flatRows[index]?.node;
|
|
943
|
+
if (!node || node.disabled || selectionMode === "none") return;
|
|
889
944
|
if (selectionMode === "single") {
|
|
890
945
|
setSelectedIds(new Set([nodeId]));
|
|
891
946
|
} else {
|
|
@@ -898,7 +953,7 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
898
953
|
setSelectedIds(next);
|
|
899
954
|
}
|
|
900
955
|
},
|
|
901
|
-
[flatRows, selectionMode, selectedIds, setSelectedIds],
|
|
956
|
+
[flatRows, flatRowIndexById, selectionMode, selectedIds, setSelectedIds],
|
|
902
957
|
);
|
|
903
958
|
|
|
904
959
|
// ---------------------------------------------------------------------------
|
|
@@ -960,8 +1015,8 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
960
1015
|
// node (registered via registerAndFlush in both paths).
|
|
961
1016
|
const scrollNodeIntoView = useCallback(
|
|
962
1017
|
(id: string): boolean => {
|
|
963
|
-
const index =
|
|
964
|
-
if (index
|
|
1018
|
+
const index = flatRowIndexById.get(id);
|
|
1019
|
+
if (index === undefined) return false;
|
|
965
1020
|
if (virtualize) {
|
|
966
1021
|
virtualizerRef.current?.scrollToIndex(index, { align: "center" });
|
|
967
1022
|
} else {
|
|
@@ -970,7 +1025,7 @@ export const Tree = forwardRef<HTMLDivElement, TreeProps>(function Tree(
|
|
|
970
1025
|
}
|
|
971
1026
|
return true;
|
|
972
1027
|
},
|
|
973
|
-
[
|
|
1028
|
+
[flatRowIndexById, virtualize],
|
|
974
1029
|
);
|
|
975
1030
|
|
|
976
1031
|
// Reveal `id`: scroll it now if visible, else expand its (loaded) ancestors and
|