@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
|
@@ -0,0 +1,476 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
formatElapsed
|
|
4
|
+
} from "./chunk-3P7SRCDB.js";
|
|
5
|
+
import {
|
|
6
|
+
StatusIcon
|
|
7
|
+
} from "./chunk-3EKVSKGJ.js";
|
|
8
|
+
import {
|
|
9
|
+
StatePanel
|
|
10
|
+
} from "./chunk-BLNXHETI.js";
|
|
11
|
+
import {
|
|
12
|
+
Collapsible,
|
|
13
|
+
CollapsibleContent,
|
|
14
|
+
CollapsibleTrigger
|
|
15
|
+
} from "./chunk-B5QQLMEE.js";
|
|
16
|
+
import {
|
|
17
|
+
Badge
|
|
18
|
+
} from "./chunk-ECCNRCC4.js";
|
|
19
|
+
import {
|
|
20
|
+
useLocale
|
|
21
|
+
} from "./chunk-EJQYE4MY.js";
|
|
22
|
+
import {
|
|
23
|
+
Button
|
|
24
|
+
} from "./chunk-VA2OONPE.js";
|
|
25
|
+
import {
|
|
26
|
+
cn
|
|
27
|
+
} from "./chunk-KBNWM27Q.js";
|
|
28
|
+
|
|
29
|
+
// src/components/change-review/change-review.tsx
|
|
30
|
+
import {
|
|
31
|
+
createContext,
|
|
32
|
+
forwardRef,
|
|
33
|
+
use,
|
|
34
|
+
useCallback,
|
|
35
|
+
useId,
|
|
36
|
+
useMemo,
|
|
37
|
+
useState
|
|
38
|
+
} from "react";
|
|
39
|
+
import { Check, X, CheckCheck, User, Bot, Clock, ChevronDown } from "lucide-react";
|
|
40
|
+
import { cva } from "class-variance-authority";
|
|
41
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
42
|
+
var ChangeReviewContext = createContext(null);
|
|
43
|
+
function useChangeReview() {
|
|
44
|
+
const ctx = use(ChangeReviewContext);
|
|
45
|
+
if (!ctx) {
|
|
46
|
+
throw new Error("ChangeReview sub-components must be rendered inside ChangeReview.Provider");
|
|
47
|
+
}
|
|
48
|
+
return ctx;
|
|
49
|
+
}
|
|
50
|
+
var hunkVariants = cva(
|
|
51
|
+
[
|
|
52
|
+
"relative rounded-md border border-border bg-card text-card-foreground",
|
|
53
|
+
"transition-colors duration-fast ease-standard motion-reduce:transition-none"
|
|
54
|
+
],
|
|
55
|
+
{
|
|
56
|
+
variants: {
|
|
57
|
+
status: {
|
|
58
|
+
added: "border-s-4 border-s-success",
|
|
59
|
+
removed: "border-s-4 border-s-destructive",
|
|
60
|
+
modified: "border-s-4 border-s-info"
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
defaultVariants: { status: "modified" }
|
|
64
|
+
}
|
|
65
|
+
);
|
|
66
|
+
function ChangeReviewProvider({
|
|
67
|
+
hunks,
|
|
68
|
+
approved: approvedProp,
|
|
69
|
+
onToggle,
|
|
70
|
+
onApproveAll,
|
|
71
|
+
onRejectAll,
|
|
72
|
+
children
|
|
73
|
+
}) {
|
|
74
|
+
const headingId = useId();
|
|
75
|
+
const isControlled = approvedProp !== void 0;
|
|
76
|
+
const [internalApproved, setInternalApproved] = useState(() => /* @__PURE__ */ new Set());
|
|
77
|
+
const resolvedApproved = isControlled ? approvedProp instanceof Set ? approvedProp : new Set(approvedProp) : internalApproved;
|
|
78
|
+
const hunkIds = useMemo(() => hunks.map((h) => h.id), [hunks]);
|
|
79
|
+
const toggle = useCallback(
|
|
80
|
+
(id, next) => {
|
|
81
|
+
onToggle?.(id, next);
|
|
82
|
+
if (!isControlled) {
|
|
83
|
+
setInternalApproved((prev) => {
|
|
84
|
+
const next_ = new Set(prev);
|
|
85
|
+
if (next) next_.add(id);
|
|
86
|
+
else next_.delete(id);
|
|
87
|
+
return next_;
|
|
88
|
+
});
|
|
89
|
+
}
|
|
90
|
+
},
|
|
91
|
+
[isControlled, onToggle]
|
|
92
|
+
);
|
|
93
|
+
const approveAll = useCallback(() => {
|
|
94
|
+
onApproveAll?.();
|
|
95
|
+
if (!isControlled) {
|
|
96
|
+
setInternalApproved(new Set(hunkIds));
|
|
97
|
+
}
|
|
98
|
+
}, [isControlled, hunkIds, onApproveAll]);
|
|
99
|
+
const rejectAll = useCallback(() => {
|
|
100
|
+
onRejectAll?.();
|
|
101
|
+
if (!isControlled) {
|
|
102
|
+
setInternalApproved(/* @__PURE__ */ new Set());
|
|
103
|
+
}
|
|
104
|
+
}, [isControlled, onRejectAll]);
|
|
105
|
+
const approvedCount = hunkIds.filter((id) => resolvedApproved.has(id)).length;
|
|
106
|
+
const totalCount = hunkIds.length;
|
|
107
|
+
const state = {
|
|
108
|
+
approved: resolvedApproved,
|
|
109
|
+
totalCount,
|
|
110
|
+
approvedCount,
|
|
111
|
+
allApproved: totalCount > 0 && approvedCount === totalCount,
|
|
112
|
+
noneApproved: approvedCount === 0
|
|
113
|
+
};
|
|
114
|
+
const actions = { toggle, approveAll, rejectAll };
|
|
115
|
+
const value = useMemo(
|
|
116
|
+
() => ({ state, actions, hunks, headingId }),
|
|
117
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
118
|
+
[state.approved, state.totalCount, state.approvedCount, hunks, headingId]
|
|
119
|
+
);
|
|
120
|
+
return /* @__PURE__ */ jsx(ChangeReviewContext.Provider, { value, children });
|
|
121
|
+
}
|
|
122
|
+
var ChangeReviewHeader = forwardRef(
|
|
123
|
+
function ChangeReviewHeader2({ className, ...props }, ref) {
|
|
124
|
+
const { t } = useLocale();
|
|
125
|
+
const { state, actions, headingId } = useChangeReview();
|
|
126
|
+
const { approvedCount, totalCount, allApproved, noneApproved } = state;
|
|
127
|
+
return /* @__PURE__ */ jsxs(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
ref,
|
|
131
|
+
className: cn("flex flex-wrap items-center justify-between gap-3 pb-3", className),
|
|
132
|
+
...props,
|
|
133
|
+
children: [
|
|
134
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
135
|
+
/* @__PURE__ */ jsx("span", { id: headingId, className: "text-subtitle text-foreground truncate", children: t("ui.changeReview.heading") }),
|
|
136
|
+
/* @__PURE__ */ jsx(Badge, { variant: allApproved ? "success" : approvedCount > 0 ? "info" : "secondary", children: t("ui.changeReview.approvedCount", { approved: approvedCount, total: totalCount }) })
|
|
137
|
+
] }),
|
|
138
|
+
totalCount > 0 && /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 shrink-0", children: [
|
|
139
|
+
/* @__PURE__ */ jsxs(
|
|
140
|
+
Button,
|
|
141
|
+
{
|
|
142
|
+
size: "sm",
|
|
143
|
+
variant: "outline-subtle",
|
|
144
|
+
disabled: noneApproved,
|
|
145
|
+
onClick: actions.rejectAll,
|
|
146
|
+
"aria-label": t("ui.changeReview.rejectAllLabel"),
|
|
147
|
+
children: [
|
|
148
|
+
/* @__PURE__ */ jsx(X, { "aria-hidden": "true" }),
|
|
149
|
+
t("ui.changeReview.rejectAll")
|
|
150
|
+
]
|
|
151
|
+
}
|
|
152
|
+
),
|
|
153
|
+
/* @__PURE__ */ jsxs(
|
|
154
|
+
Button,
|
|
155
|
+
{
|
|
156
|
+
size: "sm",
|
|
157
|
+
variant: allApproved ? "secondary" : "default",
|
|
158
|
+
disabled: allApproved,
|
|
159
|
+
onClick: actions.approveAll,
|
|
160
|
+
"aria-label": t("ui.changeReview.approveAllLabel"),
|
|
161
|
+
children: [
|
|
162
|
+
/* @__PURE__ */ jsx(CheckCheck, { "aria-hidden": "true" }),
|
|
163
|
+
t("ui.changeReview.approveAll")
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
)
|
|
167
|
+
] })
|
|
168
|
+
]
|
|
169
|
+
}
|
|
170
|
+
);
|
|
171
|
+
}
|
|
172
|
+
);
|
|
173
|
+
function isChangeProvenance(v) {
|
|
174
|
+
return typeof v === "object" && v !== null && !Array.isArray(v) && ("author" in v || "model" in v || "timestamp" in v || "note" in v);
|
|
175
|
+
}
|
|
176
|
+
var ChangeReviewProvenance = forwardRef(
|
|
177
|
+
function ChangeReviewProvenance2({ provenance, className, ...props }, ref) {
|
|
178
|
+
const { t } = useLocale();
|
|
179
|
+
if (isChangeProvenance(provenance)) {
|
|
180
|
+
const { author, model, timestamp, note } = provenance;
|
|
181
|
+
return /* @__PURE__ */ jsxs(
|
|
182
|
+
"div",
|
|
183
|
+
{
|
|
184
|
+
ref,
|
|
185
|
+
className: cn(
|
|
186
|
+
"flex flex-wrap items-center gap-x-3 gap-y-1 text-caption text-muted-foreground pb-3",
|
|
187
|
+
className
|
|
188
|
+
),
|
|
189
|
+
role: "group",
|
|
190
|
+
"aria-label": t("ui.changeReview.provenanceLabel"),
|
|
191
|
+
...props,
|
|
192
|
+
children: [
|
|
193
|
+
author && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
194
|
+
/* @__PURE__ */ jsx(User, { "aria-hidden": "true", className: "size-3" }),
|
|
195
|
+
/* @__PURE__ */ jsx("span", { children: author })
|
|
196
|
+
] }),
|
|
197
|
+
model && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
198
|
+
/* @__PURE__ */ jsx(Bot, { "aria-hidden": "true", className: "size-3" }),
|
|
199
|
+
/* @__PURE__ */ jsx("span", { translate: "no", children: model })
|
|
200
|
+
] }),
|
|
201
|
+
timestamp && /* @__PURE__ */ jsxs("span", { className: "flex items-center gap-1", children: [
|
|
202
|
+
/* @__PURE__ */ jsx(Clock, { "aria-hidden": "true", className: "size-3" }),
|
|
203
|
+
/* @__PURE__ */ jsx("time", { children: timestamp })
|
|
204
|
+
] }),
|
|
205
|
+
note && /* @__PURE__ */ jsx("span", { className: "text-muted-foreground/70", children: note })
|
|
206
|
+
]
|
|
207
|
+
}
|
|
208
|
+
);
|
|
209
|
+
}
|
|
210
|
+
return /* @__PURE__ */ jsx(
|
|
211
|
+
"div",
|
|
212
|
+
{
|
|
213
|
+
ref,
|
|
214
|
+
className: cn("pb-3 text-caption text-muted-foreground", className),
|
|
215
|
+
role: "group",
|
|
216
|
+
"aria-label": t("ui.changeReview.provenanceLabel"),
|
|
217
|
+
...props,
|
|
218
|
+
children: provenance
|
|
219
|
+
}
|
|
220
|
+
);
|
|
221
|
+
}
|
|
222
|
+
);
|
|
223
|
+
var ChangeReviewList = forwardRef(
|
|
224
|
+
function ChangeReviewList2({ className, children, ...props }, ref) {
|
|
225
|
+
const { t } = useLocale();
|
|
226
|
+
const { hunks, headingId } = useChangeReview();
|
|
227
|
+
if (hunks.length === 0) {
|
|
228
|
+
return /* @__PURE__ */ jsx(
|
|
229
|
+
StatePanel,
|
|
230
|
+
{
|
|
231
|
+
kind: "empty",
|
|
232
|
+
title: t("ui.changeReview.emptyTitle"),
|
|
233
|
+
description: t("ui.changeReview.emptyDescription"),
|
|
234
|
+
className: "my-2"
|
|
235
|
+
}
|
|
236
|
+
);
|
|
237
|
+
}
|
|
238
|
+
return /* @__PURE__ */ jsx(
|
|
239
|
+
"ol",
|
|
240
|
+
{
|
|
241
|
+
ref,
|
|
242
|
+
"aria-labelledby": headingId,
|
|
243
|
+
className: cn("flex flex-col gap-3", className),
|
|
244
|
+
...props,
|
|
245
|
+
children
|
|
246
|
+
}
|
|
247
|
+
);
|
|
248
|
+
}
|
|
249
|
+
);
|
|
250
|
+
var HUNK_STATUS_ICONS = {
|
|
251
|
+
added: /* @__PURE__ */ jsx("span", { className: "text-success-text font-bold text-meta", "aria-hidden": "true", children: "+" }),
|
|
252
|
+
removed: (
|
|
253
|
+
// #124: sibling of `added`/`modified` above — this glyph is a decorative
|
|
254
|
+
// aria-hidden marker beside a labelled span (see HUNK_STATUS_LABELS), and
|
|
255
|
+
// reads as running text at the type scale, so it takes the ink rung the
|
|
256
|
+
// other two already use.
|
|
257
|
+
/* @__PURE__ */ jsx("span", { className: "text-destructive-text font-bold text-meta", "aria-hidden": "true", children: "\u2212" })
|
|
258
|
+
),
|
|
259
|
+
modified: /* @__PURE__ */ jsx("span", { className: "text-info-text font-bold text-meta", "aria-hidden": "true", children: "~" })
|
|
260
|
+
};
|
|
261
|
+
var HUNK_STATUS_LABEL_KEYS = {
|
|
262
|
+
added: "ui.changeReview.statusAdded",
|
|
263
|
+
removed: "ui.changeReview.statusRemoved",
|
|
264
|
+
modified: "ui.changeReview.statusModified"
|
|
265
|
+
};
|
|
266
|
+
var CHECK_DETAIL_COLLAPSE_THRESHOLD = 80;
|
|
267
|
+
function isLongCheckDetail(detail) {
|
|
268
|
+
return detail.length > CHECK_DETAIL_COLLAPSE_THRESHOLD || detail.includes("\n");
|
|
269
|
+
}
|
|
270
|
+
var CHECK_PHASE_LABEL_KEYS = {
|
|
271
|
+
before: "ui.changeReview.phaseBefore",
|
|
272
|
+
after: "ui.changeReview.phaseAfter"
|
|
273
|
+
};
|
|
274
|
+
function groupChecksByPhase(checks) {
|
|
275
|
+
const before = checks.filter((c) => c.phase === "before");
|
|
276
|
+
const after = checks.filter((c) => c.phase === "after");
|
|
277
|
+
const showPhaseLabels = before.length > 0 && after.length > 0;
|
|
278
|
+
if (!showPhaseLabels) {
|
|
279
|
+
return [{ items: checks }];
|
|
280
|
+
}
|
|
281
|
+
const rest = checks.filter((c) => c.phase !== "before" && c.phase !== "after");
|
|
282
|
+
const groups = [];
|
|
283
|
+
if (rest.length > 0) groups.push({ items: rest });
|
|
284
|
+
groups.push({ phase: "before", items: before });
|
|
285
|
+
groups.push({ phase: "after", items: after });
|
|
286
|
+
return groups;
|
|
287
|
+
}
|
|
288
|
+
function ChangeCheckRow({ check }) {
|
|
289
|
+
const { t } = useLocale();
|
|
290
|
+
const [detailOpen, setDetailOpen] = useState(false);
|
|
291
|
+
const { label, ok, detail, durationMs } = check;
|
|
292
|
+
const statusWord = ok ? t("ui.changeReview.checkPassed") : t("ui.changeReview.checkFailed");
|
|
293
|
+
const hasDetail = detail !== void 0 && detail !== "";
|
|
294
|
+
const longDetail = hasDetail && isLongCheckDetail(detail);
|
|
295
|
+
return /* @__PURE__ */ jsxs("div", { "data-slot": "change-review-hunk-check", "data-ok": ok, className: "flex flex-col gap-1", children: [
|
|
296
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-wrap items-center gap-x-1.5 gap-y-0.5 min-w-0", children: [
|
|
297
|
+
/* @__PURE__ */ jsx(StatusIcon, { status: ok ? "complete" : "failed", className: "size-3.5 shrink-0" }),
|
|
298
|
+
/* @__PURE__ */ jsx("span", { className: "text-caption font-medium text-foreground truncate", children: label }),
|
|
299
|
+
/* @__PURE__ */ jsx("span", { className: cn("text-caption", ok ? "text-success-text" : "text-destructive-text"), children: statusWord }),
|
|
300
|
+
durationMs !== void 0 && /* @__PURE__ */ jsx("span", { className: "text-caption text-muted-foreground tabular-nums shrink-0", children: formatElapsed(durationMs) })
|
|
301
|
+
] }),
|
|
302
|
+
hasDetail && (longDetail ? /* @__PURE__ */ jsxs(Collapsible, { open: detailOpen, onOpenChange: setDetailOpen, children: [
|
|
303
|
+
/* @__PURE__ */ jsxs(
|
|
304
|
+
CollapsibleTrigger,
|
|
305
|
+
{
|
|
306
|
+
className: cn(
|
|
307
|
+
"flex items-center gap-1 self-start rounded-sm ps-5 text-caption text-muted-foreground",
|
|
308
|
+
"hover:text-foreground focus-ring"
|
|
309
|
+
),
|
|
310
|
+
children: [
|
|
311
|
+
/* @__PURE__ */ jsx(
|
|
312
|
+
ChevronDown,
|
|
313
|
+
{
|
|
314
|
+
"aria-hidden": "true",
|
|
315
|
+
className: cn(
|
|
316
|
+
"size-3 transition-transform duration-fast motion-reduce:transition-none",
|
|
317
|
+
detailOpen ? "rotate-180" : "rotate-0"
|
|
318
|
+
)
|
|
319
|
+
}
|
|
320
|
+
),
|
|
321
|
+
detailOpen ? t("ui.changeReview.hideDetail") : t("ui.changeReview.showDetail")
|
|
322
|
+
]
|
|
323
|
+
}
|
|
324
|
+
),
|
|
325
|
+
/* @__PURE__ */ jsx(CollapsibleContent, { "data-slot": "change-review-hunk-check-detail", children: /* @__PURE__ */ jsx("p", { className: "ps-5 pt-1 text-caption text-muted-foreground break-words", children: detail }) })
|
|
326
|
+
] }) : /* @__PURE__ */ jsx(
|
|
327
|
+
"p",
|
|
328
|
+
{
|
|
329
|
+
"data-slot": "change-review-hunk-check-detail",
|
|
330
|
+
className: "ps-5 text-caption text-muted-foreground break-words",
|
|
331
|
+
children: detail
|
|
332
|
+
}
|
|
333
|
+
))
|
|
334
|
+
] });
|
|
335
|
+
}
|
|
336
|
+
function ChangeReviewChecks({ checks }) {
|
|
337
|
+
const { t } = useLocale();
|
|
338
|
+
const groups = groupChecksByPhase(checks);
|
|
339
|
+
const showPhaseLabels = groups.some((g) => g.phase !== void 0);
|
|
340
|
+
return /* @__PURE__ */ jsx(
|
|
341
|
+
"div",
|
|
342
|
+
{
|
|
343
|
+
"data-slot": "change-review-hunk-checks",
|
|
344
|
+
className: "flex flex-col gap-2 border-t border-border pt-3",
|
|
345
|
+
children: groups.map((group, index) => /* @__PURE__ */ jsxs(
|
|
346
|
+
"div",
|
|
347
|
+
{
|
|
348
|
+
"data-slot": "change-review-hunk-checks-phase",
|
|
349
|
+
className: "flex flex-col gap-1.5",
|
|
350
|
+
children: [
|
|
351
|
+
showPhaseLabels && group.phase && /* @__PURE__ */ jsx("span", { className: "text-meta font-medium text-muted-foreground", children: t(CHECK_PHASE_LABEL_KEYS[group.phase]) }),
|
|
352
|
+
/* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1.5", children: group.items.map((check, itemIndex) => /* @__PURE__ */ jsx(ChangeCheckRow, { check }, `${check.label}-${itemIndex}`)) })
|
|
353
|
+
]
|
|
354
|
+
},
|
|
355
|
+
group.phase ?? `_${index}`
|
|
356
|
+
))
|
|
357
|
+
}
|
|
358
|
+
);
|
|
359
|
+
}
|
|
360
|
+
var ChangeReviewHunk = forwardRef(
|
|
361
|
+
function ChangeReviewHunk2({ hunk, renderHunk, className, ...props }, ref) {
|
|
362
|
+
const { t } = useLocale();
|
|
363
|
+
const { state, actions } = useChangeReview();
|
|
364
|
+
const { id, title, before, after, status = "modified", provenance, checks } = hunk;
|
|
365
|
+
const approved = state.approved.has(id);
|
|
366
|
+
const statusLabel = t(HUNK_STATUS_LABEL_KEYS[status]);
|
|
367
|
+
const toggleLabel = t(approved ? "ui.changeReview.rejectHunk" : "ui.changeReview.approveHunk", {
|
|
368
|
+
title: title ?? id
|
|
369
|
+
});
|
|
370
|
+
const defaultContent = renderHunk ? renderHunk(hunk, { approved }) : (before !== void 0 || after !== void 0) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1.5 text-body", children: [
|
|
371
|
+
before !== void 0 && /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
372
|
+
/* @__PURE__ */ jsx(
|
|
373
|
+
"span",
|
|
374
|
+
{
|
|
375
|
+
"aria-hidden": "true",
|
|
376
|
+
className: "shrink-0 select-none font-mono text-muted-foreground",
|
|
377
|
+
children: "\u2212"
|
|
378
|
+
}
|
|
379
|
+
),
|
|
380
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: t("ui.changeReview.beforePrefix") }),
|
|
381
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 break-words text-muted-foreground line-through decoration-muted-foreground/30", children: before })
|
|
382
|
+
] }),
|
|
383
|
+
after !== void 0 && /* @__PURE__ */ jsxs("div", { className: "flex gap-2", children: [
|
|
384
|
+
/* @__PURE__ */ jsx("span", { "aria-hidden": "true", className: "shrink-0 select-none font-mono text-foreground", children: "+" }),
|
|
385
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: t("ui.changeReview.afterPrefix") }),
|
|
386
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 break-words text-foreground", children: after })
|
|
387
|
+
] })
|
|
388
|
+
] });
|
|
389
|
+
return /* @__PURE__ */ jsxs(
|
|
390
|
+
"li",
|
|
391
|
+
{
|
|
392
|
+
ref,
|
|
393
|
+
"data-hunk-id": id,
|
|
394
|
+
"data-approved": approved,
|
|
395
|
+
className: cn(hunkVariants({ status }), "flex flex-col gap-3 p-4", className),
|
|
396
|
+
...props,
|
|
397
|
+
children: [
|
|
398
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-3 min-w-0", children: [
|
|
399
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2 min-w-0", children: [
|
|
400
|
+
/* @__PURE__ */ jsx(
|
|
401
|
+
"span",
|
|
402
|
+
{
|
|
403
|
+
role: "img",
|
|
404
|
+
"aria-label": t("ui.changeReview.changeType", { status: statusLabel }),
|
|
405
|
+
className: "shrink-0 inline-flex items-center justify-center size-5",
|
|
406
|
+
children: HUNK_STATUS_ICONS[status]
|
|
407
|
+
}
|
|
408
|
+
),
|
|
409
|
+
/* @__PURE__ */ jsx("span", { className: "text-body font-medium text-foreground truncate", children: title ?? id }),
|
|
410
|
+
provenance?.author && /* @__PURE__ */ jsx("span", { className: "text-caption text-muted-foreground hidden sm:inline truncate", children: provenance.author })
|
|
411
|
+
] }),
|
|
412
|
+
/* @__PURE__ */ jsx(
|
|
413
|
+
Button,
|
|
414
|
+
{
|
|
415
|
+
size: "icon-sm",
|
|
416
|
+
variant: approved ? "default" : "outline-subtle",
|
|
417
|
+
"aria-label": toggleLabel,
|
|
418
|
+
"aria-pressed": approved,
|
|
419
|
+
onClick: () => actions.toggle(id, !approved),
|
|
420
|
+
className: cn(
|
|
421
|
+
"shrink-0 transition-colors duration-fast motion-reduce:transition-none",
|
|
422
|
+
approved && "bg-primary text-primary-foreground"
|
|
423
|
+
),
|
|
424
|
+
children: approved ? /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4" }) : /* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-4 opacity-40" })
|
|
425
|
+
}
|
|
426
|
+
)
|
|
427
|
+
] }),
|
|
428
|
+
approved && /* @__PURE__ */ jsx("div", { className: "flex items-center gap-1.5", children: /* @__PURE__ */ jsxs(Badge, { variant: "success", className: "animate-in fade-in-0 duration-fast ease-entrance", children: [
|
|
429
|
+
/* @__PURE__ */ jsx(Check, { "aria-hidden": "true", className: "size-3" }),
|
|
430
|
+
t("ui.changeReview.approvedBadge")
|
|
431
|
+
] }) }),
|
|
432
|
+
defaultContent && /* @__PURE__ */ jsx("div", { children: defaultContent }),
|
|
433
|
+
checks && checks.length > 0 && /* @__PURE__ */ jsx(ChangeReviewChecks, { checks })
|
|
434
|
+
]
|
|
435
|
+
}
|
|
436
|
+
);
|
|
437
|
+
}
|
|
438
|
+
);
|
|
439
|
+
var ChangeReview = forwardRef(function ChangeReview2({
|
|
440
|
+
hunks,
|
|
441
|
+
approved,
|
|
442
|
+
onToggle,
|
|
443
|
+
onApproveAll,
|
|
444
|
+
onRejectAll,
|
|
445
|
+
provenance,
|
|
446
|
+
renderHunk,
|
|
447
|
+
className,
|
|
448
|
+
...props
|
|
449
|
+
}, ref) {
|
|
450
|
+
return /* @__PURE__ */ jsx(
|
|
451
|
+
ChangeReviewProvider,
|
|
452
|
+
{
|
|
453
|
+
hunks,
|
|
454
|
+
approved,
|
|
455
|
+
onToggle,
|
|
456
|
+
onApproveAll,
|
|
457
|
+
onRejectAll,
|
|
458
|
+
children: /* @__PURE__ */ jsxs("div", { ref, className: cn("flex flex-col w-full", className), ...props, children: [
|
|
459
|
+
/* @__PURE__ */ jsx(ChangeReviewHeader, {}),
|
|
460
|
+
provenance != null && /* @__PURE__ */ jsx(ChangeReviewProvenance, { provenance }),
|
|
461
|
+
/* @__PURE__ */ jsx(ChangeReviewList, { children: hunks.map((hunk) => /* @__PURE__ */ jsx(ChangeReviewHunk, { hunk, renderHunk }, hunk.id)) })
|
|
462
|
+
] })
|
|
463
|
+
}
|
|
464
|
+
);
|
|
465
|
+
});
|
|
466
|
+
|
|
467
|
+
export {
|
|
468
|
+
hunkVariants,
|
|
469
|
+
ChangeReviewProvider,
|
|
470
|
+
ChangeReviewHeader,
|
|
471
|
+
ChangeReviewProvenance,
|
|
472
|
+
ChangeReviewList,
|
|
473
|
+
ChangeReviewHunk,
|
|
474
|
+
ChangeReview
|
|
475
|
+
};
|
|
476
|
+
//# sourceMappingURL=chunk-DFYPQ52O.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/change-review/change-review.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * ChangeReview — AI-edit trust gate.\n *\n * When an agent proposes edits, the human reviews them hunk-by-hunk and accepts\n * or rejects each before they apply. Feeling: calm, scannable, trustworthy —\n * \"I can see exactly what changed, who proposed it, and nothing lands without\n * my say-so.\"\n *\n * Design references: GitHub PR file-review (per-hunk viewed/comment),\n * Cursor/Copilot \"review changes\" panel, Graphite/Linear review UIs.\n *\n * NOT a diff-line renderer, and deliberately never becoming one. A hunk's\n * `before`/`after` are ordinary `ReactNode` prose, drawn as a quiet no-fill\n * comparison; the `−`/`+` markers below mean \"previous content\"/\"proposed\n * content\", which is not the same idea as `DiffLine`'s \"removed line\"/\"added\n * line\" even though the glyphs coincide. Do NOT reach for `diffLineMarker` here:\n * a coincidence stays a literal (theming.md, intentional-mirror rule).\n *\n * Structured `DiffLine[]` hunks reach this component by INJECTION, which is a\n * binding decision, not an unfinished merge — see\n * `docs/decisions/2026-09-01-brainless-adoption-architecture.md` § 3:\n * - `ChangeHunk` gains NO `lines` field and `DiffLine` never moves here.\n * - The app that depends on both packages passes a `<DiffView>`\n * (`@elabs-ai/components-ai`, Shiki-backed) through `renderHunk` or a hunk's\n * `after` slot. Neither package imports the other, in either direction.\n * - Re-litigated and re-ratified 2026-09-03: moving this component into\n * `@elabs-ai/components-ai` was rejected because it would push a\n * dependency-free component into a layer-2 leaf that `terminal`, `editor`\n * and `viewer` could then never reach.\n * See the `InjectedHunkRenderer` story here, and `ChangeReviewComposition` in\n * `packages/ai/src/diff-view.stories.tsx` for the real two-package wiring.\n *\n * State grid: empty (no hunks → StatePanel), single hunk, mixed, all-approved,\n * all-rejected, very long hunk content. Approval state is signalled with color\n * AND icon/label (colorblind + high-decoration/high-contrast safe).\n *\n * Compound structure (named exports, the Card/CardHeader convention — NOT dot\n * notation). Use the `ChangeReview` root for the default layout, or compose the\n * parts for a custom one:\n * <ChangeReviewProvider> — lifted state (approved set + actions interface)\n * <ChangeReviewHeader> — count summary + Approve all / Reject all\n * <ChangeReviewProvenance> — who/what proposed (quiet attribution)\n * <ChangeReviewList> — the hunk list\n * <ChangeReviewHunk> — per-hunk row (title, rails, before/after, toggle)\n */\n\nimport {\n createContext,\n forwardRef,\n use,\n useCallback,\n useId,\n useMemo,\n useState,\n type HTMLAttributes,\n type ReactNode,\n} from \"react\";\nimport { Check, X, CheckCheck, User, Bot, Clock, ChevronDown } from \"lucide-react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/cn\";\nimport { type CheckResult } from \"../../lib/check-result\";\nimport { formatElapsed } from \"../../lib/format-duration\";\nimport { Button } from \"../button/button\";\nimport { Badge } from \"../badge/badge\";\nimport { StatePanel } from \"../state-panel/state-panel\";\nimport { StatusIcon } from \"../status-badge/status-badge\";\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from \"../collapsible/collapsible\";\nimport { useLocale } from \"../locale-provider\";\n\n// ─── Public types ─────────────────────────────────────────────────────────────\n\n/** Who / what proposed the change set (presentational only; never fetches). */\nexport interface ChangeProvenance {\n /** Display name of the person or agent author. */\n author?: string;\n /** Model or tool identifier (e.g. \"claude-sonnet-4-6\"). */\n model?: string;\n /** ISO-8601 or human-readable timestamp. */\n timestamp?: string;\n /** Free-form note, e.g. commit hash or run ID. */\n note?: string;\n}\n\n/** Status of a single change hunk. Drives the accent-rail colour and icon. */\nexport type ChangeHunkStatus = \"added\" | \"removed\" | \"modified\";\n\n/** A single proposed change in the review set. */\nexport interface ChangeHunk {\n /** Unique identifier for this hunk (used in the approved set). */\n id: string;\n /** Short title shown in the hunk header (e.g. filename or section label). */\n title?: string;\n /** The content before the proposed edit. */\n before?: ReactNode;\n /** The content after the proposed edit (the proposal). */\n after?: ReactNode;\n /** Change type — drives accent rail + icon. @default \"modified\" */\n status?: ChangeHunkStatus;\n /** Per-hunk provenance override (overrides the review-level provenance). */\n provenance?: ChangeProvenance;\n /**\n * Verification results for this hunk (lint / types / tests / policy hooks).\n * Purely informational — a failing check never blocks approval, it only\n * informs the reviewer's decision. Grouped into \"Before\" / \"After\" sections\n * when both phases are present.\n */\n checks?: CheckResult[];\n}\n\n/** State surface exposed by the ChangeReview context. */\nexport interface ChangeReviewState {\n /** Set of currently-approved hunk IDs. */\n approved: ReadonlySet<string>;\n /** Total number of hunks. */\n totalCount: number;\n /** Number of approved hunks. */\n approvedCount: number;\n /** True when every hunk is approved. */\n allApproved: boolean;\n /** True when no hunk is approved. */\n noneApproved: boolean;\n}\n\n/** Actions exposed by the ChangeReview context. */\nexport interface ChangeReviewActions {\n /** Toggle the approval state of a single hunk. */\n toggle: (id: string, next: boolean) => void;\n /** Approve all hunks. */\n approveAll: () => void;\n /** Reject (un-approve) all hunks. */\n rejectAll: () => void;\n}\n\n// ─── Context ──────────────────────────────────────────────────────────────────\n\ninterface ChangeReviewContextValue {\n state: ChangeReviewState;\n actions: ChangeReviewActions;\n hunks: ChangeHunk[];\n headingId: string;\n}\n\nconst ChangeReviewContext = createContext<ChangeReviewContextValue | null>(null);\n\nfunction useChangeReview(): ChangeReviewContextValue {\n const ctx = use(ChangeReviewContext);\n if (!ctx) {\n throw new Error(\"ChangeReview sub-components must be rendered inside ChangeReview.Provider\");\n }\n return ctx;\n}\n\n// ─── Variants ─────────────────────────────────────────────────────────────────\n\n/**\n * Hunk-status accent rail — the separation grammar's accent-rail channel: ONE\n * focal gesture (the status rail) on a neutral card ground (`bg-card` + the\n * subtle, redundant-exempt `border-border` hairline). NO colored wash and NO\n * redundant colored border — the slop the \"AI card\" look is built from. Status\n * reads from the rail + the header icon + the StatusBadge (never color alone).\n * Approval is signalled by the StatusBadge + the filled toggle (no ring wash).\n */\nexport const hunkVariants = cva(\n [\n \"relative rounded-md border border-border bg-card text-card-foreground\",\n \"transition-colors duration-fast ease-standard motion-reduce:transition-none\",\n ],\n {\n variants: {\n status: {\n added: \"border-s-4 border-s-success\",\n removed: \"border-s-4 border-s-destructive\",\n modified: \"border-s-4 border-s-info\",\n },\n },\n defaultVariants: { status: \"modified\" },\n },\n);\n\n// ─── Provider ─────────────────────────────────────────────────────────────────\n\nexport interface ChangeReviewProviderProps {\n hunks: ChangeHunk[];\n /**\n * Controlled approved set. Pass `Set<string>` or a string array.\n * When provided, the component is controlled and `onToggle` / `onApproveAll` /\n * `onRejectAll` are the only way to update the state.\n */\n approved?: Set<string> | string[];\n onToggle?: (id: string, next: boolean) => void;\n onApproveAll?: () => void;\n onRejectAll?: () => void;\n children: ReactNode;\n}\n\n/**\n * Lifts the approval state. Can be controlled (pass `approved`) or uncontrolled.\n * Derive `isControlled = approved !== undefined`.\n */\nexport function ChangeReviewProvider({\n hunks,\n approved: approvedProp,\n onToggle,\n onApproveAll,\n onRejectAll,\n children,\n}: ChangeReviewProviderProps) {\n const headingId = useId();\n\n const isControlled = approvedProp !== undefined;\n\n // Uncontrolled internal state.\n const [internalApproved, setInternalApproved] = useState<Set<string>>(() => new Set());\n\n const resolvedApproved: ReadonlySet<string> = isControlled\n ? approvedProp instanceof Set\n ? approvedProp\n : new Set(approvedProp)\n : internalApproved;\n\n const hunkIds = useMemo(() => hunks.map((h) => h.id), [hunks]);\n\n const toggle = useCallback(\n (id: string, next: boolean) => {\n onToggle?.(id, next);\n if (!isControlled) {\n setInternalApproved((prev) => {\n const next_ = new Set(prev);\n if (next) next_.add(id);\n else next_.delete(id);\n return next_;\n });\n }\n },\n [isControlled, onToggle],\n );\n\n const approveAll = useCallback(() => {\n onApproveAll?.();\n if (!isControlled) {\n setInternalApproved(new Set(hunkIds));\n }\n }, [isControlled, hunkIds, onApproveAll]);\n\n const rejectAll = useCallback(() => {\n onRejectAll?.();\n if (!isControlled) {\n setInternalApproved(new Set());\n }\n }, [isControlled, onRejectAll]);\n\n const approvedCount = hunkIds.filter((id) => resolvedApproved.has(id)).length;\n const totalCount = hunkIds.length;\n\n const state: ChangeReviewState = {\n approved: resolvedApproved,\n totalCount,\n approvedCount,\n allApproved: totalCount > 0 && approvedCount === totalCount,\n noneApproved: approvedCount === 0,\n };\n\n const actions: ChangeReviewActions = { toggle, approveAll, rejectAll };\n\n const value = useMemo(\n () => ({ state, actions, hunks, headingId }),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [state.approved, state.totalCount, state.approvedCount, hunks, headingId],\n );\n\n return <ChangeReviewContext.Provider value={value}>{children}</ChangeReviewContext.Provider>;\n}\n\n// ─── Header ───────────────────────────────────────────────────────────────────\n\nexport type ChangeReviewHeaderProps = HTMLAttributes<HTMLDivElement>;\n\n/**\n * Count summary (\"3 of 5 approved\") + Approve all / Reject all bulk actions.\n * `aria-controls` is intentionally omitted — screen readers reach the list\n * naturally in DOM order.\n */\nexport const ChangeReviewHeader = forwardRef<HTMLDivElement, ChangeReviewHeaderProps>(\n function ChangeReviewHeader({ className, ...props }, ref) {\n const { t } = useLocale();\n const { state, actions, headingId } = useChangeReview();\n const { approvedCount, totalCount, allApproved, noneApproved } = state;\n\n return (\n <div\n ref={ref}\n className={cn(\"flex flex-wrap items-center justify-between gap-3 pb-3\", className)}\n {...props}\n >\n <div className=\"flex items-center gap-2 min-w-0\">\n <span id={headingId} className=\"text-subtitle text-foreground truncate\">\n {t(\"ui.changeReview.heading\")}\n </span>\n <Badge variant={allApproved ? \"success\" : approvedCount > 0 ? \"info\" : \"secondary\"}>\n {t(\"ui.changeReview.approvedCount\", { approved: approvedCount, total: totalCount })}\n </Badge>\n </div>\n\n {totalCount > 0 && (\n <div className=\"flex items-center gap-2 shrink-0\">\n <Button\n size=\"sm\"\n variant=\"outline-subtle\"\n disabled={noneApproved}\n onClick={actions.rejectAll}\n aria-label={t(\"ui.changeReview.rejectAllLabel\")}\n >\n <X aria-hidden=\"true\" />\n {t(\"ui.changeReview.rejectAll\")}\n </Button>\n <Button\n size=\"sm\"\n variant={allApproved ? \"secondary\" : \"default\"}\n disabled={allApproved}\n onClick={actions.approveAll}\n aria-label={t(\"ui.changeReview.approveAllLabel\")}\n >\n <CheckCheck aria-hidden=\"true\" />\n {t(\"ui.changeReview.approveAll\")}\n </Button>\n </div>\n )}\n </div>\n );\n },\n);\n\n// ─── Provenance ───────────────────────────────────────────────────────────────\n\nexport interface ChangeReviewProvenanceProps extends HTMLAttributes<HTMLDivElement> {\n /**\n * Structured provenance object OR any ReactNode for custom rendering.\n * When a `ChangeProvenance` object is passed, a default attribution line\n * is rendered. Pass a ReactNode for full control.\n */\n provenance: ReactNode | ChangeProvenance;\n}\n\nfunction isChangeProvenance(v: unknown): v is ChangeProvenance {\n return (\n typeof v === \"object\" &&\n v !== null &&\n !Array.isArray(v) &&\n (\"author\" in v || \"model\" in v || \"timestamp\" in v || \"note\" in v)\n );\n}\n\n/**\n * Quiet attribution line showing who/what proposed the change set.\n * Uses `text-muted-foreground` and small typography — it should not compete\n * with the hunks themselves.\n */\nexport const ChangeReviewProvenance = forwardRef<HTMLDivElement, ChangeReviewProvenanceProps>(\n function ChangeReviewProvenance({ provenance, className, ...props }, ref) {\n const { t } = useLocale();\n if (isChangeProvenance(provenance)) {\n const { author, model, timestamp, note } = provenance;\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-x-3 gap-y-1 text-caption text-muted-foreground pb-3\",\n className,\n )}\n role=\"group\"\n aria-label={t(\"ui.changeReview.provenanceLabel\")}\n {...props}\n >\n {author && (\n <span className=\"flex items-center gap-1\">\n <User aria-hidden=\"true\" className=\"size-3\" />\n <span>{author}</span>\n </span>\n )}\n {model && (\n <span className=\"flex items-center gap-1\">\n <Bot aria-hidden=\"true\" className=\"size-3\" />\n <span translate=\"no\">{model}</span>\n </span>\n )}\n {timestamp && (\n <span className=\"flex items-center gap-1\">\n <Clock aria-hidden=\"true\" className=\"size-3\" />\n <time>{timestamp}</time>\n </span>\n )}\n {note && <span className=\"text-muted-foreground/70\">{note}</span>}\n </div>\n );\n }\n\n // Custom ReactNode provenance\n return (\n <div\n ref={ref}\n className={cn(\"pb-3 text-caption text-muted-foreground\", className)}\n role=\"group\"\n aria-label={t(\"ui.changeReview.provenanceLabel\")}\n {...props}\n >\n {provenance as ReactNode}\n </div>\n );\n },\n);\n\n// ─── List ─────────────────────────────────────────────────────────────────────\n\nexport type ChangeReviewListProps = HTMLAttributes<HTMLOListElement>;\n\n/**\n * Ordered list of change hunks. Uses `<ol>` so AT users can navigate by\n * item number (\"item 2 of 5\"). Renders a StatePanel when the list is empty.\n */\nexport const ChangeReviewList = forwardRef<HTMLOListElement, ChangeReviewListProps>(\n function ChangeReviewList({ className, children, ...props }, ref) {\n const { t } = useLocale();\n const { hunks, headingId } = useChangeReview();\n\n if (hunks.length === 0) {\n return (\n <StatePanel\n kind=\"empty\"\n title={t(\"ui.changeReview.emptyTitle\")}\n description={t(\"ui.changeReview.emptyDescription\")}\n className=\"my-2\"\n />\n );\n }\n\n return (\n <ol\n ref={ref}\n aria-labelledby={headingId}\n className={cn(\"flex flex-col gap-3\", className)}\n {...props}\n >\n {children}\n </ol>\n );\n },\n);\n\n// ─── Hunk ─────────────────────────────────────────────────────────────────────\n\nconst HUNK_STATUS_ICONS: Record<ChangeHunkStatus, ReactNode> = {\n added: (\n <span className=\"text-success-text font-bold text-meta\" aria-hidden=\"true\">\n +\n </span>\n ),\n removed: (\n // #124: sibling of `added`/`modified` above — this glyph is a decorative\n // aria-hidden marker beside a labelled span (see HUNK_STATUS_LABELS), and\n // reads as running text at the type scale, so it takes the ink rung the\n // other two already use.\n <span className=\"text-destructive-text font-bold text-meta\" aria-hidden=\"true\">\n −\n </span>\n ),\n modified: (\n <span className=\"text-info-text font-bold text-meta\" aria-hidden=\"true\">\n ~\n </span>\n ),\n};\n\nconst HUNK_STATUS_LABEL_KEYS: Record<ChangeHunkStatus, string> = {\n added: \"ui.changeReview.statusAdded\",\n removed: \"ui.changeReview.statusRemoved\",\n modified: \"ui.changeReview.statusModified\",\n};\n\n// ─── Checks (verification evidence) ────────────────────────────────────────────\n\n/**\n * A check's `detail` collapses behind a disclosure once it's long enough that\n * showing it inline would dominate the hunk row. Short details always render\n * in place.\n */\nconst CHECK_DETAIL_COLLAPSE_THRESHOLD = 80;\n\nfunction isLongCheckDetail(detail: string): boolean {\n return detail.length > CHECK_DETAIL_COLLAPSE_THRESHOLD || detail.includes(\"\\n\");\n}\n\nconst CHECK_PHASE_LABEL_KEYS: Record<\"before\" | \"after\", string> = {\n before: \"ui.changeReview.phaseBefore\",\n after: \"ui.changeReview.phaseAfter\",\n};\n\n/**\n * Group checks for display. Phase headers (\"Before\" / \"After\") appear ONLY\n * when both phases are present in the same hunk — a single-phase or\n * unphased list of checks renders flat, with no header noise.\n */\nfunction groupChecksByPhase(\n checks: CheckResult[],\n): { phase?: \"before\" | \"after\"; items: CheckResult[] }[] {\n const before = checks.filter((c) => c.phase === \"before\");\n const after = checks.filter((c) => c.phase === \"after\");\n const showPhaseLabels = before.length > 0 && after.length > 0;\n\n if (!showPhaseLabels) {\n return [{ items: checks }];\n }\n\n const rest = checks.filter((c) => c.phase !== \"before\" && c.phase !== \"after\");\n const groups: { phase?: \"before\" | \"after\"; items: CheckResult[] }[] = [];\n if (rest.length > 0) groups.push({ items: rest });\n groups.push({ phase: \"before\", items: before });\n groups.push({ phase: \"after\", items: after });\n return groups;\n}\n\n/**\n * A single verification result row: icon + label + accessible status word +\n * optional duration, with an optional collapsed detail line below.\n *\n * The pass/fail signal is carried by TWO non-color cues — the icon (distinct\n * glyph per `StatusIcon`'s canonical vocabulary) and the visible \"Passed\"/\n * \"Failed\" text — so it survives in greyscale (WCAG 1.4.1). `StatusIcon` is\n * decorative (`aria-hidden`); the status word is what reaches assistive tech.\n */\nfunction ChangeCheckRow({ check }: { check: CheckResult }) {\n const { t } = useLocale();\n const [detailOpen, setDetailOpen] = useState(false);\n const { label, ok, detail, durationMs } = check;\n const statusWord = ok ? t(\"ui.changeReview.checkPassed\") : t(\"ui.changeReview.checkFailed\");\n const hasDetail = detail !== undefined && detail !== \"\";\n const longDetail = hasDetail && isLongCheckDetail(detail);\n\n return (\n <div data-slot=\"change-review-hunk-check\" data-ok={ok} className=\"flex flex-col gap-1\">\n <div className=\"flex flex-wrap items-center gap-x-1.5 gap-y-0.5 min-w-0\">\n <StatusIcon status={ok ? \"complete\" : \"failed\"} className=\"size-3.5 shrink-0\" />\n <span className=\"text-caption font-medium text-foreground truncate\">{label}</span>\n <span className={cn(\"text-caption\", ok ? \"text-success-text\" : \"text-destructive-text\")}>\n {statusWord}\n </span>\n {durationMs !== undefined && (\n <span className=\"text-caption text-muted-foreground tabular-nums shrink-0\">\n {formatElapsed(durationMs)}\n </span>\n )}\n </div>\n\n {hasDetail &&\n (longDetail ? (\n <Collapsible open={detailOpen} onOpenChange={setDetailOpen}>\n <CollapsibleTrigger\n className={cn(\n \"flex items-center gap-1 self-start rounded-sm ps-5 text-caption text-muted-foreground\",\n \"hover:text-foreground focus-ring\",\n )}\n >\n <ChevronDown\n aria-hidden=\"true\"\n className={cn(\n \"size-3 transition-transform duration-fast motion-reduce:transition-none\",\n detailOpen ? \"rotate-180\" : \"rotate-0\",\n )}\n />\n {detailOpen ? t(\"ui.changeReview.hideDetail\") : t(\"ui.changeReview.showDetail\")}\n </CollapsibleTrigger>\n <CollapsibleContent data-slot=\"change-review-hunk-check-detail\">\n <p className=\"ps-5 pt-1 text-caption text-muted-foreground break-words\">{detail}</p>\n </CollapsibleContent>\n </Collapsible>\n ) : (\n <p\n data-slot=\"change-review-hunk-check-detail\"\n className=\"ps-5 text-caption text-muted-foreground break-words\"\n >\n {detail}\n </p>\n ))}\n </div>\n );\n}\n\n/** The full checks section for one hunk — grouped by phase when applicable. */\nfunction ChangeReviewChecks({ checks }: { checks: CheckResult[] }) {\n const { t } = useLocale();\n const groups = groupChecksByPhase(checks);\n const showPhaseLabels = groups.some((g) => g.phase !== undefined);\n\n return (\n <div\n data-slot=\"change-review-hunk-checks\"\n className=\"flex flex-col gap-2 border-t border-border pt-3\"\n >\n {groups.map((group, index) => (\n <div\n key={group.phase ?? `_${index}`}\n data-slot=\"change-review-hunk-checks-phase\"\n className=\"flex flex-col gap-1.5\"\n >\n {showPhaseLabels && group.phase && (\n <span className=\"text-meta font-medium text-muted-foreground\">\n {t(CHECK_PHASE_LABEL_KEYS[group.phase])}\n </span>\n )}\n <div className=\"flex flex-col gap-1.5\">\n {group.items.map((check, itemIndex) => (\n <ChangeCheckRow key={`${check.label}-${itemIndex}`} check={check} />\n ))}\n </div>\n </div>\n ))}\n </div>\n );\n}\n\nexport interface ChangeReviewHunkProps\n extends\n Omit<HTMLAttributes<HTMLLIElement>, \"children\">,\n Omit<VariantProps<typeof hunkVariants>, \"approved\"> {\n hunk: ChangeHunk;\n /**\n * Override the default before/after layout. Receives the hunk data and\n * current approval state. Return `null` to suppress the default content area.\n */\n renderHunk?: (hunk: ChangeHunk, state: { approved: boolean }) => ReactNode;\n}\n\n/**\n * A single change hunk row.\n *\n * Approval state is signalled with TWO non-color cues:\n * - icon: Check (approved) vs plain toggle (pending)\n * - label: \"Approved\" badge vs \"Approve\" button text\n * This ensures the state is clear in every theme including the low-chroma\n * monochrome surfaces (colorblind-safe).\n */\nexport const ChangeReviewHunk = forwardRef<HTMLLIElement, ChangeReviewHunkProps>(\n function ChangeReviewHunk({ hunk, renderHunk, className, ...props }, ref) {\n const { t } = useLocale();\n const { state, actions } = useChangeReview();\n const { id, title, before, after, status = \"modified\", provenance, checks } = hunk;\n const approved = state.approved.has(id);\n\n const statusLabel = t(HUNK_STATUS_LABEL_KEYS[status]);\n const toggleLabel = t(approved ? \"ui.changeReview.rejectHunk\" : \"ui.changeReview.approveHunk\", {\n title: title ?? id,\n });\n\n // Quiet, no-fill diff: before = struck muted text with a \"−\" marker, after =\n // foreground text with a \"+\" marker — separated by space, NOT colored\n // fill+border boxes. The hunk's status rail (added/removed/modified) carries\n // the polarity; the markers + tone are the second, non-color cue.\n const defaultContent = renderHunk\n ? renderHunk(hunk, { approved })\n : (before !== undefined || after !== undefined) && (\n <div className=\"flex flex-col gap-1.5 text-body\">\n {before !== undefined && (\n <div className=\"flex gap-2\">\n <span\n aria-hidden=\"true\"\n className=\"shrink-0 select-none font-mono text-muted-foreground\"\n >\n −\n </span>\n <span className=\"sr-only\">{t(\"ui.changeReview.beforePrefix\")}</span>\n <div className=\"min-w-0 break-words text-muted-foreground line-through decoration-muted-foreground/30\">\n {before}\n </div>\n </div>\n )}\n {after !== undefined && (\n <div className=\"flex gap-2\">\n <span aria-hidden=\"true\" className=\"shrink-0 select-none font-mono text-foreground\">\n +\n </span>\n <span className=\"sr-only\">{t(\"ui.changeReview.afterPrefix\")}</span>\n <div className=\"min-w-0 break-words text-foreground\">{after}</div>\n </div>\n )}\n </div>\n );\n\n return (\n <li\n ref={ref}\n data-hunk-id={id}\n data-approved={approved}\n className={cn(hunkVariants({ status }), \"flex flex-col gap-3 p-4\", className)}\n {...props}\n >\n {/* Hunk header: status icon + title + per-hunk provenance + approve toggle */}\n <div className=\"flex items-start justify-between gap-3 min-w-0\">\n <div className=\"flex items-center gap-2 min-w-0\">\n {/* Status indicator: NON-color cue via symbol + color together */}\n <span\n role=\"img\"\n aria-label={t(\"ui.changeReview.changeType\", { status: statusLabel })}\n className=\"shrink-0 inline-flex items-center justify-center size-5\"\n >\n {HUNK_STATUS_ICONS[status]}\n </span>\n\n <span className=\"text-body font-medium text-foreground truncate\">{title ?? id}</span>\n\n {/* Per-hunk provenance (quiet, only when it differs from review-level) */}\n {provenance?.author && (\n <span className=\"text-caption text-muted-foreground hidden sm:inline truncate\">\n {provenance.author}\n </span>\n )}\n </div>\n\n {/* Approval toggle — must be a real button with accessible name */}\n <Button\n size=\"icon-sm\"\n variant={approved ? \"default\" : \"outline-subtle\"}\n aria-label={toggleLabel}\n aria-pressed={approved}\n onClick={() => actions.toggle(id, !approved)}\n className={cn(\n \"shrink-0 transition-colors duration-fast motion-reduce:transition-none\",\n approved && \"bg-primary text-primary-foreground\",\n )}\n >\n {approved ? (\n <Check aria-hidden=\"true\" className=\"size-4\" />\n ) : (\n <Check aria-hidden=\"true\" className=\"size-4 opacity-40\" />\n )}\n </Button>\n </div>\n\n {/* Visual approved badge — second non-color cue (icon alone is not enough) */}\n {approved && (\n <div className=\"flex items-center gap-1.5\">\n <Badge variant=\"success\" className=\"animate-in fade-in-0 duration-fast ease-entrance\">\n <Check aria-hidden=\"true\" className=\"size-3\" />\n {t(\"ui.changeReview.approvedBadge\")}\n </Badge>\n </div>\n )}\n\n {/* Content area: before / after or custom renderHunk */}\n {defaultContent && <div>{defaultContent}</div>}\n\n {/* Verification evidence — informational only, never blocks approval */}\n {checks && checks.length > 0 && <ChangeReviewChecks checks={checks} />}\n </li>\n );\n },\n);\n\n// ─── Root (convenience wrapper) ───────────────────────────────────────────────\n\nexport interface ChangeReviewProps\n // Omit \"children\" and \"onToggle\" from div attrs — \"onToggle\" is a React 19\n // native ToggleEvent handler that conflicts with our review onToggle prop.\n extends Omit<HTMLAttributes<HTMLDivElement>, \"children\" | \"onToggle\"> {\n /** The proposed changes to review. */\n hunks: ChangeHunk[];\n /**\n * Controlled approved set. Pass `Set<string>` or a string array.\n * When omitted the component manages approval state internally (uncontrolled).\n */\n approved?: Set<string> | string[];\n /** Called when the user toggles a single hunk's approval state. */\n onToggle?: (id: string, next: boolean) => void;\n /** Called when the user clicks \"Approve all\". */\n onApproveAll?: () => void;\n /** Called when the user clicks \"Reject all\". */\n onRejectAll?: () => void;\n /**\n * Provenance to show above the hunk list. Accepts a `ChangeProvenance`\n * object (renders default attribution) or any ReactNode.\n */\n provenance?: ReactNode | ChangeProvenance;\n /**\n * Override the per-hunk body renderer (passed through to each `ChangeReviewHunk`).\n */\n renderHunk?: ChangeReviewHunkProps[\"renderHunk\"];\n}\n\n/**\n * Convenience composition that wires Provider → Header → Provenance → List → Hunks.\n * For custom layouts compose the parts manually via `ChangeReview.Provider`,\n * `ChangeReview.Header`, etc.\n */\nexport const ChangeReview = forwardRef<HTMLDivElement, ChangeReviewProps>(function ChangeReview(\n {\n hunks,\n approved,\n onToggle,\n onApproveAll,\n onRejectAll,\n provenance,\n renderHunk,\n className,\n ...props\n },\n ref,\n) {\n return (\n <ChangeReviewProvider\n hunks={hunks}\n approved={approved}\n onToggle={onToggle}\n onApproveAll={onApproveAll}\n onRejectAll={onRejectAll}\n >\n <div ref={ref} className={cn(\"flex flex-col w-full\", className)} {...props}>\n <ChangeReviewHeader />\n {provenance != null && <ChangeReviewProvenance provenance={provenance} />}\n <ChangeReviewList>\n {hunks.map((hunk) => (\n <ChangeReviewHunk key={hunk.id} hunk={hunk} renderHunk={renderHunk} />\n ))}\n </ChangeReviewList>\n </div>\n </ChangeReviewProvider>\n );\n});\n"],"mappings":"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","names":["ChangeReviewHeader","ChangeReviewProvenance","ChangeReviewList","ChangeReviewHunk","ChangeReview"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
illustrationSvgProps
|
|
4
|
+
} from "./chunk-A47AZPCL.js";
|
|
5
|
+
|
|
6
|
+
// src/illustrations/empty-list-illustration.tsx
|
|
7
|
+
import { forwardRef } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
var EmptyListIllustration = forwardRef(
|
|
10
|
+
function EmptyListIllustration2({ size, className, ...props }, ref) {
|
|
11
|
+
return /* @__PURE__ */ jsxs(
|
|
12
|
+
"svg",
|
|
13
|
+
{
|
|
14
|
+
ref,
|
|
15
|
+
...illustrationSvgProps(size, className),
|
|
16
|
+
"data-slot": "empty-list-illustration",
|
|
17
|
+
...props,
|
|
18
|
+
children: [
|
|
19
|
+
/* @__PURE__ */ jsx("rect", { x: "36", y: "68", width: "64", height: "10", rx: "5" }),
|
|
20
|
+
/* @__PURE__ */ jsx("rect", { x: "36", y: "90", width: "64", height: "10", rx: "5" }),
|
|
21
|
+
/* @__PURE__ */ jsx("rect", { x: "36", y: "112", width: "44", height: "10", rx: "5" })
|
|
22
|
+
]
|
|
23
|
+
}
|
|
24
|
+
);
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
EmptyListIllustration.displayName = "EmptyListIllustration";
|
|
28
|
+
|
|
29
|
+
export {
|
|
30
|
+
EmptyListIllustration
|
|
31
|
+
};
|
|
32
|
+
//# sourceMappingURL=chunk-DT6RNLCP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/illustrations/empty-list-illustration.tsx"],"sourcesContent":["import { forwardRef } from \"react\";\nimport { illustrationSvgProps, type IllustrationProps } from \"./illustration-base\";\n\n/**\n * Empty list / zero-data-yet state. Three line-art rows read as \"empty list\"\n * on their own silhouette — no accent mark, per the accent-semantics\n * convention in `illustration-base.tsx` (#48 finding 1): a floating \"add\"\n * badge here would repeat information the rows already supply, not add any.\n */\nexport const EmptyListIllustration = forwardRef<SVGSVGElement, IllustrationProps>(\n function EmptyListIllustration({ size, className, ...props }, ref) {\n return (\n <svg\n ref={ref}\n {...illustrationSvgProps(size, className)}\n data-slot=\"empty-list-illustration\"\n {...props}\n >\n <rect x=\"36\" y=\"68\" width=\"64\" height=\"10\" rx=\"5\" />\n <rect x=\"36\" y=\"90\" width=\"64\" height=\"10\" rx=\"5\" />\n <rect x=\"36\" y=\"112\" width=\"44\" height=\"10\" rx=\"5\" />\n </svg>\n );\n },\n);\nEmptyListIllustration.displayName = \"EmptyListIllustration\";\n"],"mappings":";;;;;;AAAA,SAAS,kBAAkB;AAYrB,SAME,KANF;AAHC,IAAM,wBAAwB;AAAA,EACnC,SAASA,uBAAsB,EAAE,MAAM,WAAW,GAAG,MAAM,GAAG,KAAK;AACjE,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACC,GAAG,qBAAqB,MAAM,SAAS;AAAA,QACxC,aAAU;AAAA,QACT,GAAG;AAAA,QAEJ;AAAA,8BAAC,UAAK,GAAE,MAAK,GAAE,MAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI;AAAA,UAClD,oBAAC,UAAK,GAAE,MAAK,GAAE,MAAK,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI;AAAA,UAClD,oBAAC,UAAK,GAAE,MAAK,GAAE,OAAM,OAAM,MAAK,QAAO,MAAK,IAAG,KAAI;AAAA;AAAA;AAAA,IACrD;AAAA,EAEJ;AACF;AACA,sBAAsB,cAAc;","names":["EmptyListIllustration"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|