@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
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
|
|
3
|
-
import {
|
|
3
|
+
import type { ReactNode } from "react";
|
|
4
|
+
import { ChevronsUpDown, LogOut, Settings } from "lucide-react";
|
|
4
5
|
import { Avatar, AvatarFallback, AvatarImage } from "../avatar";
|
|
5
6
|
import {
|
|
6
7
|
DropdownMenu,
|
|
@@ -11,6 +12,7 @@ import {
|
|
|
11
12
|
DropdownMenuSeparator,
|
|
12
13
|
DropdownMenuTrigger,
|
|
13
14
|
} from "../dropdown-menu";
|
|
15
|
+
import { useLocale } from "../locale-provider";
|
|
14
16
|
import { SidebarMenu, SidebarMenuButton, SidebarMenuItem, useSidebar } from "../sidebar";
|
|
15
17
|
|
|
16
18
|
export interface NavUserUser {
|
|
@@ -22,24 +24,41 @@ export interface NavUserUser {
|
|
|
22
24
|
|
|
23
25
|
export interface NavUserProps {
|
|
24
26
|
user: NavUserUser;
|
|
27
|
+
/** Fires when "Settings" is chosen. Ignored when `settingsHref` is set. */
|
|
28
|
+
onSettings?: () => void;
|
|
29
|
+
/** Route of the settings screen — "Settings" renders as a link to it. */
|
|
30
|
+
settingsHref?: string;
|
|
31
|
+
/** Fires when "Sign out" is chosen. */
|
|
32
|
+
onSignOut?: () => void;
|
|
33
|
+
/**
|
|
34
|
+
* Extra `DropdownMenuItem`s, placed above "Settings" (e.g. Profile, Billing).
|
|
35
|
+
* Settings and Sign out are always present — they are the standard pair.
|
|
36
|
+
*/
|
|
37
|
+
children?: ReactNode;
|
|
25
38
|
}
|
|
26
39
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
* Renders a trigger showing name + email + avatar; the dropdown exposes
|
|
30
|
-
* account, billing, notifications and log-out actions.
|
|
31
|
-
*
|
|
32
|
-
* Wire your own action handlers by composing custom `DropdownMenuItem` children
|
|
33
|
-
* if you need more than the default actions — or extend via className.
|
|
34
|
-
*/
|
|
35
|
-
export function NavUser({ user }: NavUserProps) {
|
|
36
|
-
const { isMobile } = useSidebar();
|
|
37
|
-
const initials = user.name
|
|
40
|
+
function initialsOf(name: string): string {
|
|
41
|
+
return name
|
|
38
42
|
.split(" ")
|
|
39
|
-
.map((
|
|
43
|
+
.map((part) => part[0])
|
|
40
44
|
.join("")
|
|
41
45
|
.slice(0, 2)
|
|
42
46
|
.toUpperCase();
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* The standard sidebar footer: the signed-in user (avatar, name, email) as one
|
|
51
|
+
* row that opens the account menu — Settings, then Sign out. EVERY app shell's
|
|
52
|
+
* nav rail ends with this; settings never sits in the footer as a loose nav
|
|
53
|
+
* row, and the footer carries no environment/meta line.
|
|
54
|
+
*
|
|
55
|
+
* Collapsed to the 48px icon rail the row is the avatar alone, and its
|
|
56
|
+
* accessible name is written out because the visible label is gone.
|
|
57
|
+
*/
|
|
58
|
+
export function NavUser({ user, onSettings, settingsHref, onSignOut, children }: NavUserProps) {
|
|
59
|
+
const { isMobile } = useSidebar();
|
|
60
|
+
const { t } = useLocale();
|
|
61
|
+
const initials = initialsOf(user.name);
|
|
43
62
|
|
|
44
63
|
return (
|
|
45
64
|
<SidebarMenu>
|
|
@@ -48,63 +67,59 @@ export function NavUser({ user }: NavUserProps) {
|
|
|
48
67
|
<DropdownMenuTrigger asChild>
|
|
49
68
|
<SidebarMenuButton
|
|
50
69
|
size="lg"
|
|
51
|
-
|
|
70
|
+
tooltip={user.name}
|
|
71
|
+
// Written out: collapsed, the trigger is only an avatar, so its
|
|
72
|
+
// contents cannot name it. Same string as the visible label, in
|
|
73
|
+
// reading order (WCAG 2.5.3).
|
|
74
|
+
aria-label={`${user.name} ${user.email}`}
|
|
75
|
+
className="data-[state=open]:bg-sidebar-accent data-[state=open]:text-sidebar-accent-foreground"
|
|
52
76
|
>
|
|
53
|
-
<Avatar className="
|
|
54
|
-
{user.avatar && <AvatarImage src={user.avatar} alt=
|
|
77
|
+
<Avatar className="size-8 rounded-lg">
|
|
78
|
+
{user.avatar && <AvatarImage src={user.avatar} alt="" />}
|
|
55
79
|
<AvatarFallback className="rounded-lg">{initials}</AvatarFallback>
|
|
56
80
|
</Avatar>
|
|
57
|
-
<div className="grid flex-1 text-start text-
|
|
81
|
+
<div className="grid flex-1 text-start text-body leading-tight group-data-[collapsible=icon]:hidden">
|
|
58
82
|
<span className="truncate font-medium">{user.name}</span>
|
|
59
|
-
<span className="truncate text-
|
|
83
|
+
<span className="truncate text-meta text-sidebar-muted-foreground">
|
|
84
|
+
{user.email}
|
|
85
|
+
</span>
|
|
60
86
|
</div>
|
|
61
|
-
<ChevronsUpDown
|
|
87
|
+
<ChevronsUpDown
|
|
88
|
+
aria-hidden="true"
|
|
89
|
+
className="ms-auto size-4 group-data-[collapsible=icon]:hidden"
|
|
90
|
+
/>
|
|
62
91
|
</SidebarMenuButton>
|
|
63
92
|
</DropdownMenuTrigger>
|
|
64
93
|
<DropdownMenuContent
|
|
94
|
+
data-slot="nav-user-menu"
|
|
65
95
|
className="w-(--radix-dropdown-menu-trigger-width) min-w-56 rounded-lg"
|
|
66
96
|
side={isMobile ? "bottom" : "right"}
|
|
67
97
|
align="end"
|
|
68
98
|
sideOffset={4}
|
|
69
99
|
>
|
|
70
|
-
<DropdownMenuLabel className="
|
|
71
|
-
|
|
72
|
-
<Avatar className="h-8 w-8 rounded-lg">
|
|
73
|
-
{user.avatar && <AvatarImage src={user.avatar} alt={user.name} />}
|
|
74
|
-
<AvatarFallback className="rounded-lg">{initials}</AvatarFallback>
|
|
75
|
-
</Avatar>
|
|
76
|
-
<div className="grid flex-1 text-start text-sm leading-tight">
|
|
77
|
-
<span className="truncate font-medium">{user.name}</span>
|
|
78
|
-
<span className="truncate text-xs">{user.email}</span>
|
|
79
|
-
</div>
|
|
80
|
-
</div>
|
|
100
|
+
<DropdownMenuLabel className="text-meta text-muted-foreground">
|
|
101
|
+
{t("ui.navUser.label")}
|
|
81
102
|
</DropdownMenuLabel>
|
|
82
|
-
<DropdownMenuSeparator />
|
|
83
|
-
<DropdownMenuGroup>
|
|
84
|
-
<DropdownMenuItem>
|
|
85
|
-
<Sparkles />
|
|
86
|
-
Upgrade to Pro
|
|
87
|
-
</DropdownMenuItem>
|
|
88
|
-
</DropdownMenuGroup>
|
|
89
|
-
<DropdownMenuSeparator />
|
|
90
103
|
<DropdownMenuGroup>
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
<
|
|
101
|
-
|
|
102
|
-
|
|
104
|
+
{children}
|
|
105
|
+
{settingsHref ? (
|
|
106
|
+
<DropdownMenuItem asChild>
|
|
107
|
+
<a href={settingsHref}>
|
|
108
|
+
<Settings aria-hidden="true" />
|
|
109
|
+
{t("ui.navUser.settings")}
|
|
110
|
+
</a>
|
|
111
|
+
</DropdownMenuItem>
|
|
112
|
+
) : (
|
|
113
|
+
<DropdownMenuItem onSelect={onSettings}>
|
|
114
|
+
<Settings aria-hidden="true" />
|
|
115
|
+
{t("ui.navUser.settings")}
|
|
116
|
+
</DropdownMenuItem>
|
|
117
|
+
)}
|
|
103
118
|
</DropdownMenuGroup>
|
|
104
119
|
<DropdownMenuSeparator />
|
|
105
|
-
<DropdownMenuItem>
|
|
106
|
-
<LogOut />
|
|
107
|
-
|
|
120
|
+
<DropdownMenuItem onSelect={onSignOut}>
|
|
121
|
+
<LogOut aria-hidden="true" />
|
|
122
|
+
{t("ui.navUser.signOut")}
|
|
108
123
|
</DropdownMenuItem>
|
|
109
124
|
</DropdownMenuContent>
|
|
110
125
|
</DropdownMenu>
|
|
@@ -112,3 +112,45 @@ export const Default: Story = {
|
|
|
112
112
|
await waitFor(() => expect(trigger).toHaveAttribute("aria-expanded", "false"));
|
|
113
113
|
},
|
|
114
114
|
};
|
|
115
|
+
|
|
116
|
+
/**
|
|
117
|
+
* Locks WCAG 1.4.11 (#308): `NavigationMenuTrigger` painted `hover:` and
|
|
118
|
+
* `focus:` identically, with the fill alone (no ring/outline layer) as the
|
|
119
|
+
* only signal — not a visible indicator. Keyboard (Tab) focus must now paint
|
|
120
|
+
* a real compound ring (`focus-ring`: a `boxShadow` layer, or a non-zero,
|
|
121
|
+
* non-`none` `outline`), and the resting trigger must carry neither layer.
|
|
122
|
+
*
|
|
123
|
+
* NOTE: this does not additionally assert "a mouse click shows no ring" —
|
|
124
|
+
* confirmed BOTH before and after this fix (and independent of story order),
|
|
125
|
+
* a real click on this trigger still lands the browser in `:focus-visible`
|
|
126
|
+
* in this environment. `NavigationMenuTrigger` sits in Radix's roving-
|
|
127
|
+
* tabindex collection, which manages its focus imperatively rather than via
|
|
128
|
+
* the browser's native click-to-focus default action — the same class of
|
|
129
|
+
* "script-triggered focus" `CompoundFocusIndicator` (`button.stories.tsx`)
|
|
130
|
+
* already notes as unreliable against `:focus-visible`. Converting `focus:`
|
|
131
|
+
* to `focus-visible:` is still the correct, spec-aligned fix (mouse-click
|
|
132
|
+
* suppression is now possible, keyed on the browser's own determination);
|
|
133
|
+
* whether Radix's roving-focus internals let the browser actually make that
|
|
134
|
+
* determination for a plain click is a separate, deeper defect — flagged as
|
|
135
|
+
* a residual follow-up, not fixed here.
|
|
136
|
+
*/
|
|
137
|
+
export const KeyboardFocusIndicator: Story = {
|
|
138
|
+
name: "Keyboard focus",
|
|
139
|
+
render: Default.render,
|
|
140
|
+
play: async ({ canvas, userEvent }) => {
|
|
141
|
+
const trigger = canvas.getByRole("button", { name: /products/i });
|
|
142
|
+
|
|
143
|
+
const resting = getComputedStyle(trigger);
|
|
144
|
+
await expect(resting.boxShadow).toBe("none");
|
|
145
|
+
await expect(resting.outlineStyle).toBe("none");
|
|
146
|
+
|
|
147
|
+
// Tab rather than .focus(): `:focus-visible` is what `focus-ring` keys
|
|
148
|
+
// on, and a programmatic focus does not reliably match it.
|
|
149
|
+
await userEvent.tab();
|
|
150
|
+
await expect(trigger).toHaveFocus();
|
|
151
|
+
const afterTab = getComputedStyle(trigger);
|
|
152
|
+
const tabHasRing = afterTab.boxShadow !== "none";
|
|
153
|
+
const tabHasOutline = afterTab.outlineStyle !== "none" && parseFloat(afterTab.outlineWidth) > 0;
|
|
154
|
+
await expect(tabHasRing || tabHasOutline).toBe(true);
|
|
155
|
+
},
|
|
156
|
+
};
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
import {
|
|
2
4
|
createContext,
|
|
3
5
|
forwardRef,
|
|
@@ -150,6 +152,7 @@ export const NavigationMenu = forwardRef<
|
|
|
150
152
|
<NavigationMenuGuardContext.Provider value={guard}>
|
|
151
153
|
<NavigationMenuPrimitive.Root
|
|
152
154
|
ref={ref}
|
|
155
|
+
data-slot="navigation-menu"
|
|
153
156
|
value={currentValue}
|
|
154
157
|
onValueChange={handleValueChange}
|
|
155
158
|
className={cn("relative z-10 flex max-w-max flex-1 items-center justify-center", className)}
|
|
@@ -169,6 +172,7 @@ export const NavigationMenuList = forwardRef<
|
|
|
169
172
|
return (
|
|
170
173
|
<NavigationMenuPrimitive.List
|
|
171
174
|
ref={ref}
|
|
175
|
+
data-slot="navigation-menu-list"
|
|
172
176
|
className={cn("group flex flex-1 list-none items-center justify-center gap-1", className)}
|
|
173
177
|
{...props}
|
|
174
178
|
/>
|
|
@@ -183,13 +187,18 @@ export const NavigationMenuItem = forwardRef<
|
|
|
183
187
|
const value = valueProp ?? autoValue;
|
|
184
188
|
return (
|
|
185
189
|
<NavigationMenuItemValueContext.Provider value={value}>
|
|
186
|
-
<NavigationMenuPrimitive.Item
|
|
190
|
+
<NavigationMenuPrimitive.Item
|
|
191
|
+
ref={ref}
|
|
192
|
+
data-slot="navigation-menu-item"
|
|
193
|
+
value={value}
|
|
194
|
+
{...props}
|
|
195
|
+
/>
|
|
187
196
|
</NavigationMenuItemValueContext.Provider>
|
|
188
197
|
);
|
|
189
198
|
});
|
|
190
199
|
|
|
191
200
|
export const navigationMenuTriggerStyle = cva(
|
|
192
|
-
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-
|
|
201
|
+
"group inline-flex h-9 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-body font-medium outline-none transition-colors hover:bg-accent hover:text-accent-foreground focus-visible:bg-accent focus-visible:text-accent-foreground focus-ring disabled:pointer-events-none disabled:opacity-50 data-[state=open]:bg-accent",
|
|
193
202
|
);
|
|
194
203
|
|
|
195
204
|
export const NavigationMenuTrigger = forwardRef<
|
|
@@ -211,6 +220,7 @@ export const NavigationMenuTrigger = forwardRef<
|
|
|
211
220
|
return (
|
|
212
221
|
<NavigationMenuPrimitive.Trigger
|
|
213
222
|
ref={ref}
|
|
223
|
+
data-slot="navigation-menu-trigger"
|
|
214
224
|
className={cn(navigationMenuTriggerStyle(), "group", className)}
|
|
215
225
|
onPointerEnter={(event) => {
|
|
216
226
|
onPointerEnter?.(event);
|
|
@@ -242,8 +252,9 @@ export const NavigationMenuContent = forwardRef<
|
|
|
242
252
|
return (
|
|
243
253
|
<NavigationMenuPrimitive.Content
|
|
244
254
|
ref={ref}
|
|
255
|
+
data-slot="navigation-menu-content"
|
|
245
256
|
className={cn(
|
|
246
|
-
"
|
|
257
|
+
"start-0 top-0 w-full p-2 md:absolute md:w-auto",
|
|
247
258
|
"data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out",
|
|
248
259
|
"data-[motion=from-end]:slide-in-from-right-2 data-[motion=from-start]:slide-in-from-left-2 data-[motion=to-end]:slide-out-to-right-2 data-[motion=to-start]:slide-out-to-left-2",
|
|
249
260
|
"data-[motion^=from-]:[--tw-ease:var(--ease-entrance)]",
|
|
@@ -261,9 +272,10 @@ export const NavigationMenuViewport = forwardRef<
|
|
|
261
272
|
ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>
|
|
262
273
|
>(function NavigationMenuViewport({ className, ...props }, ref) {
|
|
263
274
|
return (
|
|
264
|
-
<div className="absolute
|
|
275
|
+
<div className="absolute start-0 top-full flex justify-center">
|
|
265
276
|
<NavigationMenuPrimitive.Viewport
|
|
266
277
|
ref={ref}
|
|
278
|
+
data-slot="navigation-menu-viewport"
|
|
267
279
|
className={cn(
|
|
268
280
|
"relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow md:w-[var(--radix-navigation-menu-viewport-width)]",
|
|
269
281
|
"origin-top transition-[width,height] duration-base ease-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:zoom-in-90 data-[state=closed]:zoom-out-95",
|
|
@@ -76,13 +76,17 @@ type Story = StoryObj<typeof meta>;
|
|
|
76
76
|
|
|
77
77
|
export const Default: Story = {
|
|
78
78
|
args: { defaultValue: 5, min: 0, max: 10 },
|
|
79
|
-
// Clicks the Increase button and confirms the value increments.
|
|
79
|
+
// Clicks the Increase button and confirms the value increments. The input is a
|
|
80
|
+
// locale-formatted text spinbutton, so the displayed value is a string and the
|
|
81
|
+
// numeric value is announced via aria-valuenow.
|
|
80
82
|
play: async ({ canvas, userEvent }) => {
|
|
81
83
|
const input = canvas.getByRole("spinbutton");
|
|
82
|
-
await expect(input).toHaveValue(5);
|
|
84
|
+
await expect(input).toHaveValue("5");
|
|
85
|
+
await expect(input).toHaveAttribute("aria-valuenow", "5");
|
|
83
86
|
const increaseBtn = canvas.getByRole("button", { name: /increase/i });
|
|
84
87
|
await userEvent.click(increaseBtn);
|
|
85
|
-
await expect(input).toHaveValue(6);
|
|
88
|
+
await expect(input).toHaveValue("6");
|
|
89
|
+
await expect(input).toHaveAttribute("aria-valuenow", "6");
|
|
86
90
|
},
|
|
87
91
|
};
|
|
88
92
|
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { createRef } from "react";
|
|
1
2
|
import { describe, expect, it, vi } from "vitest";
|
|
2
3
|
import { render, screen } from "@testing-library/react";
|
|
3
4
|
import userEvent from "@testing-library/user-event";
|
|
4
5
|
import { NumberInput } from "./number-input";
|
|
6
|
+
import { LocaleProvider } from "../locale-provider";
|
|
5
7
|
|
|
6
8
|
describe("NumberInput", () => {
|
|
7
9
|
it("renders a spinbutton input", () => {
|
|
@@ -93,4 +95,49 @@ describe("NumberInput", () => {
|
|
|
93
95
|
await userEvent.keyboard("{ArrowDown}");
|
|
94
96
|
expect(onValueChange).toHaveBeenLastCalledWith(5);
|
|
95
97
|
});
|
|
98
|
+
|
|
99
|
+
it("forwards the ref to the underlying <input>, not the wrapper", () => {
|
|
100
|
+
const ref = createRef<HTMLInputElement>();
|
|
101
|
+
render(<NumberInput aria-label="Qty" defaultValue={5} ref={ref} />);
|
|
102
|
+
expect(ref.current).toBeInstanceOf(HTMLInputElement);
|
|
103
|
+
expect(ref.current).toBe(screen.getByRole("spinbutton", { name: "Qty" }));
|
|
104
|
+
});
|
|
105
|
+
|
|
106
|
+
it("does not hard-fix a width — the caller's className is not fighting a default", () => {
|
|
107
|
+
render(<NumberInput aria-label="Qty" defaultValue={5} className="w-24" />);
|
|
108
|
+
const group = screen.getByRole("group");
|
|
109
|
+
expect(group.className).not.toMatch(/\bw-36\b/);
|
|
110
|
+
expect(group.className).toMatch(/\bw-24\b/);
|
|
111
|
+
});
|
|
112
|
+
|
|
113
|
+
it("rounds fp-noisy step increments to the step's precision (0.1 + 0.1 + 0.1)", async () => {
|
|
114
|
+
const onValueChange = vi.fn();
|
|
115
|
+
render(
|
|
116
|
+
<NumberInput aria-label="Amount" defaultValue={0} step={0.1} onValueChange={onValueChange} />,
|
|
117
|
+
);
|
|
118
|
+
const increaseBtn = screen.getByRole("button", { name: "Increase" });
|
|
119
|
+
await userEvent.click(increaseBtn);
|
|
120
|
+
await userEvent.click(increaseBtn);
|
|
121
|
+
await userEvent.click(increaseBtn);
|
|
122
|
+
expect(onValueChange).toHaveBeenLastCalledWith(0.3);
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
it("parses a locale-formatted number using the active locale's separators (de-DE: comma decimal)", async () => {
|
|
126
|
+
const onValueChange = vi.fn();
|
|
127
|
+
render(
|
|
128
|
+
<LocaleProvider locale="de-DE">
|
|
129
|
+
<NumberInput
|
|
130
|
+
aria-label="Betrag"
|
|
131
|
+
defaultValue={0}
|
|
132
|
+
step={0.1}
|
|
133
|
+
onValueChange={onValueChange}
|
|
134
|
+
/>
|
|
135
|
+
</LocaleProvider>,
|
|
136
|
+
);
|
|
137
|
+
const input = screen.getByRole("spinbutton", { name: "Betrag" });
|
|
138
|
+
await userEvent.clear(input);
|
|
139
|
+
await userEvent.type(input, "1.234,5");
|
|
140
|
+
await userEvent.tab();
|
|
141
|
+
expect(onValueChange).toHaveBeenLastCalledWith(1234.5);
|
|
142
|
+
});
|
|
96
143
|
});
|
|
@@ -1,8 +1,10 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
1
3
|
// a2ui.exposed: yes
|
|
2
4
|
import { forwardRef, useCallback, useRef, useState, type HTMLAttributes } from "react";
|
|
3
5
|
import { Minus, Plus } from "lucide-react";
|
|
4
|
-
import { cn } from "../../lib/cn";
|
|
5
6
|
import { InputGroup, InputGroupButton, InputGroupInput } from "../input-group";
|
|
7
|
+
import { useLocale } from "../locale-provider";
|
|
6
8
|
|
|
7
9
|
export interface NumberInputProps extends Omit<
|
|
8
10
|
HTMLAttributes<HTMLDivElement>,
|
|
@@ -56,11 +58,37 @@ function clampValue(val: number, min?: number, max?: number): number {
|
|
|
56
58
|
return result;
|
|
57
59
|
}
|
|
58
60
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
61
|
+
/** Number of decimal places implied by a step (e.g. 0.1 → 1, 1 → 0). */
|
|
62
|
+
function stepDecimals(step: number): number {
|
|
63
|
+
if (!isFinite(step) || step === 0) return 0;
|
|
64
|
+
const s = String(step);
|
|
65
|
+
const i = s.indexOf(".");
|
|
66
|
+
return i === -1 ? 0 : s.length - i - 1;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/** Round `value` to the decimal precision implied by `step`, avoiding fp noise (0.1+0.2). */
|
|
70
|
+
function roundToStep(value: number, step: number): number {
|
|
71
|
+
const decimals = stepDecimals(step);
|
|
72
|
+
if (decimals === 0) return Math.round(value);
|
|
73
|
+
const factor = 10 ** decimals;
|
|
74
|
+
return Math.round(value * factor) / factor;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
/** The active locale's decimal and group separator characters (e.g. "," / "." in de-DE). */
|
|
78
|
+
function getLocaleSeparators(locale: string): { decimal: string; group: string } {
|
|
79
|
+
const parts = new Intl.NumberFormat(locale).formatToParts(1234.5);
|
|
80
|
+
const decimal = parts.find((p) => p.type === "decimal")?.value ?? ".";
|
|
81
|
+
const group = parts.find((p) => p.type === "group")?.value ?? ",";
|
|
82
|
+
return { decimal, group };
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
/** Parse a locale-formatted numeric string (group + decimal separators) into a number. */
|
|
86
|
+
function parseLocaleNumber(raw: string, locale: string): number {
|
|
87
|
+
const { decimal, group } = getLocaleSeparators(locale);
|
|
88
|
+
let normalized = raw.trim();
|
|
89
|
+
if (group) normalized = normalized.split(group).join("");
|
|
90
|
+
if (decimal !== ".") normalized = normalized.split(decimal).join(".");
|
|
91
|
+
return Number(normalized);
|
|
64
92
|
}
|
|
65
93
|
|
|
66
94
|
/**
|
|
@@ -69,7 +97,7 @@ function formatNum(value: number, formatOptions?: Intl.NumberFormatOptions): str
|
|
|
69
97
|
* Controlled via `value`/`onValueChange`; uncontrolled via `defaultValue`.
|
|
70
98
|
* Keyboard ↑/↓ = ±step; Shift+↑/↓ = ±step×10. Clamps on blur (not per keystroke).
|
|
71
99
|
*/
|
|
72
|
-
export const NumberInput = forwardRef<
|
|
100
|
+
export const NumberInput = forwardRef<HTMLInputElement, NumberInputProps>(function NumberInput(
|
|
73
101
|
{
|
|
74
102
|
value: valueProp,
|
|
75
103
|
defaultValue,
|
|
@@ -94,14 +122,20 @@ export const NumberInput = forwardRef<HTMLDivElement, NumberInputProps>(function
|
|
|
94
122
|
},
|
|
95
123
|
ref,
|
|
96
124
|
) {
|
|
125
|
+
const { locale, formatNumber, t } = useLocale();
|
|
97
126
|
const isControlled = valueProp !== undefined;
|
|
98
127
|
|
|
128
|
+
const formatValue = useCallback(
|
|
129
|
+
(n: number) => formatNumber(n, formatOptions),
|
|
130
|
+
[formatNumber, formatOptions],
|
|
131
|
+
);
|
|
132
|
+
|
|
99
133
|
const [internalValue, setInternalValue] = useState<number | null>(
|
|
100
134
|
defaultValue !== undefined ? defaultValue : null,
|
|
101
135
|
);
|
|
102
136
|
const [inputText, setInputText] = useState<string>(() => {
|
|
103
137
|
const initial = isControlled ? valueProp : defaultValue;
|
|
104
|
-
return initial != null ?
|
|
138
|
+
return initial != null ? formatValue(initial) : "";
|
|
105
139
|
});
|
|
106
140
|
// Track whether the user is actively editing to avoid overwriting their input
|
|
107
141
|
const isEditing = useRef(false);
|
|
@@ -120,12 +154,12 @@ export const NumberInput = forwardRef<HTMLDivElement, NumberInputProps>(function
|
|
|
120
154
|
(delta: number) => {
|
|
121
155
|
if (disabled || readOnly) return;
|
|
122
156
|
const base = currentValue ?? 0;
|
|
123
|
-
let next = base + delta;
|
|
157
|
+
let next = roundToStep(base + delta, step);
|
|
124
158
|
if (clamp) next = clampValue(next, min, max);
|
|
125
|
-
setInputText(
|
|
159
|
+
setInputText(formatValue(next));
|
|
126
160
|
commit(next);
|
|
127
161
|
},
|
|
128
|
-
[disabled, readOnly, currentValue, clamp, min, max,
|
|
162
|
+
[disabled, readOnly, currentValue, step, clamp, min, max, formatValue, commit],
|
|
129
163
|
);
|
|
130
164
|
|
|
131
165
|
const handleKeyDown = useCallback(
|
|
@@ -152,22 +186,23 @@ export const NumberInput = forwardRef<HTMLDivElement, NumberInputProps>(function
|
|
|
152
186
|
commit(null);
|
|
153
187
|
return;
|
|
154
188
|
}
|
|
155
|
-
const parsed =
|
|
189
|
+
const parsed = parseLocaleNumber(raw, locale);
|
|
156
190
|
if (isNaN(parsed)) {
|
|
157
191
|
// Revert to last known good value
|
|
158
|
-
setInputText(currentValue != null ?
|
|
192
|
+
setInputText(currentValue != null ? formatValue(currentValue) : "");
|
|
159
193
|
return;
|
|
160
194
|
}
|
|
161
|
-
const
|
|
162
|
-
|
|
195
|
+
const rounded = roundToStep(parsed, step);
|
|
196
|
+
const clamped = clamp ? clampValue(rounded, min, max) : rounded;
|
|
197
|
+
setInputText(formatValue(clamped));
|
|
163
198
|
commit(clamped);
|
|
164
|
-
}, [inputText, currentValue, clamp, min, max,
|
|
199
|
+
}, [inputText, currentValue, clamp, min, max, step, locale, formatValue, commit]);
|
|
165
200
|
|
|
166
201
|
// Keep display text in sync with controlled value changes (only when not editing)
|
|
167
202
|
const prevControlledValue = useRef(valueProp);
|
|
168
203
|
if (isControlled && valueProp !== prevControlledValue.current && !isEditing.current) {
|
|
169
204
|
prevControlledValue.current = valueProp;
|
|
170
|
-
const nextText = valueProp != null ?
|
|
205
|
+
const nextText = valueProp != null ? formatValue(valueProp) : "";
|
|
171
206
|
if (nextText !== inputText) setInputText(nextText);
|
|
172
207
|
}
|
|
173
208
|
|
|
@@ -177,18 +212,24 @@ export const NumberInput = forwardRef<HTMLDivElement, NumberInputProps>(function
|
|
|
177
212
|
disabled || readOnly || (max !== undefined && (currentValue ?? 0) >= max);
|
|
178
213
|
|
|
179
214
|
return (
|
|
180
|
-
<InputGroup
|
|
215
|
+
<InputGroup className={className} {...props}>
|
|
181
216
|
<InputGroupButton
|
|
182
|
-
aria-label="
|
|
217
|
+
aria-label={t("ui.numberInput.decrease")}
|
|
183
218
|
tabIndex={-1}
|
|
184
219
|
disabled={decrementDisabled}
|
|
185
220
|
onClick={() => applyStep(-step)}
|
|
186
|
-
className="rounded-
|
|
221
|
+
className="rounded-e-none"
|
|
187
222
|
>
|
|
188
223
|
<Minus aria-hidden="true" />
|
|
189
224
|
</InputGroupButton>
|
|
190
225
|
<InputGroupInput
|
|
191
|
-
|
|
226
|
+
ref={ref}
|
|
227
|
+
type="text"
|
|
228
|
+
inputMode="decimal"
|
|
229
|
+
role="spinbutton"
|
|
230
|
+
aria-valuenow={currentValue ?? undefined}
|
|
231
|
+
aria-valuemin={min}
|
|
232
|
+
aria-valuemax={max}
|
|
192
233
|
id={id}
|
|
193
234
|
name={name}
|
|
194
235
|
value={inputText}
|
|
@@ -200,17 +241,17 @@ export const NumberInput = forwardRef<HTMLDivElement, NumberInputProps>(function
|
|
|
200
241
|
aria-describedby={ariaDescribedby}
|
|
201
242
|
aria-invalid={ariaInvalid}
|
|
202
243
|
aria-required={ariaRequired}
|
|
203
|
-
className="text-center
|
|
244
|
+
className="text-center"
|
|
204
245
|
onChange={handleChange}
|
|
205
246
|
onKeyDown={handleKeyDown}
|
|
206
247
|
onBlur={handleBlur}
|
|
207
248
|
/>
|
|
208
249
|
<InputGroupButton
|
|
209
|
-
aria-label="
|
|
250
|
+
aria-label={t("ui.numberInput.increase")}
|
|
210
251
|
tabIndex={-1}
|
|
211
252
|
disabled={incrementDisabled}
|
|
212
253
|
onClick={() => applyStep(step)}
|
|
213
|
-
className="rounded-
|
|
254
|
+
className="rounded-s-none"
|
|
214
255
|
>
|
|
215
256
|
<Plus aria-hidden="true" />
|
|
216
257
|
</InputGroupButton>
|
|
@@ -26,7 +26,7 @@ export const Default: Story = {
|
|
|
26
26
|
/**
|
|
27
27
|
* `headerVariant="toolbar"` places a real `<ViewToolbar>` in `PageShell`'s
|
|
28
28
|
* header slot and pins it in POSITION (never a fixed height — see
|
|
29
|
-
* `
|
|
29
|
+
* `Layout/ViewToolbar → Contract` R7) while the body scrolls beneath it. The
|
|
30
30
|
* outer `h-[420px] overflow-y-auto` div stands in for the `SidebarInset`
|
|
31
31
|
* scroll region `PageShell` is normally embedded in — `PageShell` itself
|
|
32
32
|
* never owns a scroll container (#367).
|
|
@@ -10,12 +10,12 @@ export interface PageShellProps extends ComponentProps<"div"> {
|
|
|
10
10
|
* Byte-identical to today.
|
|
11
11
|
*
|
|
12
12
|
* "toolbar" — for a `<ViewToolbar>` header (`@elabs-ai/components-ui`,
|
|
13
|
-
* `
|
|
13
|
+
* `Layout/ViewToolbar → Contract`): wraps `header` in a `sticky top-0` container
|
|
14
14
|
* with an opaque/blurred fill and a bottom hairline, so it stays pinned while
|
|
15
15
|
* the body scrolls beneath it. PLACES whatever node `header` is — it does not
|
|
16
16
|
* reimplement ViewToolbar's own info/left-cluster/actions grammar, and it does
|
|
17
17
|
* NOT cap the row's height (a `<ViewToolbar>` wraps at narrow widths; see
|
|
18
|
-
* `
|
|
18
|
+
* `Layout/ViewToolbar → Contract` R7).
|
|
19
19
|
*/
|
|
20
20
|
headerVariant?: "default" | "toolbar";
|
|
21
21
|
/** Constrain content width. Defaults to "xl". */
|
|
@@ -92,6 +92,7 @@ export const PageShell = forwardRef<HTMLDivElement, PageShellProps>(function Pag
|
|
|
92
92
|
|
|
93
93
|
const headerNode = header ? (
|
|
94
94
|
headerVariant === "toolbar" ? (
|
|
95
|
+
// header-band-exempt: a page-section toolbar under the top bar, not beside it
|
|
95
96
|
<div
|
|
96
97
|
data-slot="page-shell-toolbar-header"
|
|
97
98
|
className="sticky top-0 z-10 border-b border-border bg-background/95 py-3 backdrop-blur"
|
|
@@ -1,7 +1,26 @@
|
|
|
1
|
+
import { createRef } from "react";
|
|
1
2
|
import { describe, expect, it } from "vitest";
|
|
2
3
|
import { render, screen } from "@testing-library/react";
|
|
3
4
|
import { LocaleProvider } from "../locale-provider";
|
|
4
|
-
import {
|
|
5
|
+
import {
|
|
6
|
+
PaginationEllipsis,
|
|
7
|
+
PaginationLink,
|
|
8
|
+
PaginationNext,
|
|
9
|
+
PaginationPrevious,
|
|
10
|
+
} from "./pagination";
|
|
11
|
+
|
|
12
|
+
describe("PaginationLink — forwardRef", () => {
|
|
13
|
+
it("forwards its ref to the rendered <a>", () => {
|
|
14
|
+
const ref = createRef<HTMLAnchorElement>();
|
|
15
|
+
render(
|
|
16
|
+
<PaginationLink ref={ref} href="#2">
|
|
17
|
+
2
|
|
18
|
+
</PaginationLink>,
|
|
19
|
+
);
|
|
20
|
+
expect(ref.current).toBeInstanceOf(HTMLAnchorElement);
|
|
21
|
+
expect(ref.current).toBe(screen.getByText("2"));
|
|
22
|
+
});
|
|
23
|
+
});
|
|
5
24
|
|
|
6
25
|
/**
|
|
7
26
|
* Pagination had no test file before #18 — its three microcopy sites
|