@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,177 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
resolveNumberFormat
|
|
4
|
+
} from "./chunk-LDOCY4SU.js";
|
|
5
|
+
import {
|
|
6
|
+
CopyableValue
|
|
7
|
+
} from "./chunk-XMZ5LXL4.js";
|
|
8
|
+
import {
|
|
9
|
+
Card,
|
|
10
|
+
CardContent
|
|
11
|
+
} from "./chunk-URVAZW44.js";
|
|
12
|
+
import {
|
|
13
|
+
Skeleton
|
|
14
|
+
} from "./chunk-JNWXHPZG.js";
|
|
15
|
+
import {
|
|
16
|
+
useLocale
|
|
17
|
+
} from "./chunk-EJQYE4MY.js";
|
|
18
|
+
import {
|
|
19
|
+
cn
|
|
20
|
+
} from "./chunk-KBNWM27Q.js";
|
|
21
|
+
|
|
22
|
+
// src/components/metric-card/metric-card.tsx
|
|
23
|
+
import { forwardRef } from "react";
|
|
24
|
+
import { cva } from "class-variance-authority";
|
|
25
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
26
|
+
function formatResolvedNumber(resolved, formatNumber, value) {
|
|
27
|
+
const numeric = formatNumber(resolved.parens ? Math.abs(value) : value, resolved.options);
|
|
28
|
+
const signed = resolved.parens && value < 0 ? `(${numeric})` : numeric;
|
|
29
|
+
return `${resolved.prefix}${signed}${resolved.suffix}`;
|
|
30
|
+
}
|
|
31
|
+
var metricValueVariants = cva("tabular-nums text-foreground", {
|
|
32
|
+
variants: {
|
|
33
|
+
emphasis: {
|
|
34
|
+
default: "text-2xl font-semibold tracking-tight",
|
|
35
|
+
headline: "text-kpi"
|
|
36
|
+
},
|
|
37
|
+
/* `md` adds nothing (today's rungs); `sm`/`lg` override the size via `cn()`. */
|
|
38
|
+
size: {
|
|
39
|
+
sm: "text-title",
|
|
40
|
+
md: "",
|
|
41
|
+
lg: "text-kpi"
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
defaultVariants: { emphasis: "default", size: "md" }
|
|
45
|
+
});
|
|
46
|
+
var metricContentVariants = cva("space-y-2", {
|
|
47
|
+
variants: {
|
|
48
|
+
emphasis: {
|
|
49
|
+
default: "p-5",
|
|
50
|
+
headline: "p-6"
|
|
51
|
+
},
|
|
52
|
+
size: {
|
|
53
|
+
sm: "space-y-1 p-3",
|
|
54
|
+
md: "",
|
|
55
|
+
lg: "p-6"
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
defaultVariants: { emphasis: "default", size: "md" }
|
|
59
|
+
});
|
|
60
|
+
var metricSparklineVariants = cva("", {
|
|
61
|
+
variants: {
|
|
62
|
+
size: {
|
|
63
|
+
/* never rendered — `sm` drops the slot; kept so the axis is total */
|
|
64
|
+
sm: "",
|
|
65
|
+
md: "pt-1",
|
|
66
|
+
lg: "min-h-12 pt-2"
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
defaultVariants: { size: "md" }
|
|
70
|
+
});
|
|
71
|
+
var MetricCard = forwardRef(function MetricCard2({
|
|
72
|
+
label,
|
|
73
|
+
value,
|
|
74
|
+
valueFormat = "compact",
|
|
75
|
+
currency,
|
|
76
|
+
copyExactValue = true,
|
|
77
|
+
description,
|
|
78
|
+
delta,
|
|
79
|
+
deltaDirection = "neutral",
|
|
80
|
+
positiveIsGood = true,
|
|
81
|
+
icon,
|
|
82
|
+
visual,
|
|
83
|
+
sparkline,
|
|
84
|
+
evidence,
|
|
85
|
+
emphasis,
|
|
86
|
+
size,
|
|
87
|
+
loading = false,
|
|
88
|
+
announceLoading = true,
|
|
89
|
+
className,
|
|
90
|
+
...props
|
|
91
|
+
}, ref) {
|
|
92
|
+
const { t, formatNumber } = useLocale();
|
|
93
|
+
const isNumeric = typeof value === "number";
|
|
94
|
+
const formattedValue = !isNumeric ? value : typeof valueFormat === "function" ? valueFormat(value) : formatResolvedNumber(
|
|
95
|
+
resolveNumberFormat(valueFormat, value, currency),
|
|
96
|
+
formatNumber,
|
|
97
|
+
value
|
|
98
|
+
);
|
|
99
|
+
const showsExact = isNumeric && String(formattedValue) === String(value);
|
|
100
|
+
const canCopyExact = isNumeric && copyExactValue && typeof valueFormat !== "function" && !showsExact;
|
|
101
|
+
const good = deltaDirection === "up" ? positiveIsGood : deltaDirection === "down" ? !positiveIsGood : null;
|
|
102
|
+
const deltaColor = good === null ? "text-muted-foreground" : good ? "text-success-text" : "text-destructive-text";
|
|
103
|
+
const polarity = good === null ? "neutral" : good ? "good" : "bad";
|
|
104
|
+
const arrow = deltaDirection === "up" ? "\u2191" : deltaDirection === "down" ? "\u2193" : "";
|
|
105
|
+
const directionLabel = deltaDirection === "up" ? "up" : deltaDirection === "down" ? "down" : "";
|
|
106
|
+
const polarityLabel = good === null ? "" : good ? ", favorable" : ", unfavorable";
|
|
107
|
+
const compact = size === "sm";
|
|
108
|
+
const valueClassName = cn(metricValueVariants({ emphasis, size }));
|
|
109
|
+
return /* @__PURE__ */ jsx(Card, { ref, className: cn("overflow-hidden", className), ...props, children: /* @__PURE__ */ jsxs(
|
|
110
|
+
CardContent,
|
|
111
|
+
{
|
|
112
|
+
className: cn(metricContentVariants({ emphasis, size })),
|
|
113
|
+
...loading && announceLoading ? { role: "status", "aria-live": "polite" } : {},
|
|
114
|
+
children: [
|
|
115
|
+
loading && announceLoading ? /* @__PURE__ */ jsx("span", { className: "sr-only", children: t("ui.metricCard.loading") }) : null,
|
|
116
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between", children: [
|
|
117
|
+
loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-24" }) : (
|
|
118
|
+
/* `min-w-0` + `truncate`, not just the text utility: a flex child's
|
|
119
|
+
default `min-width: auto` refuses to shrink below its content, so
|
|
120
|
+
without it the label OVERFLOWS the row and `Card`'s own
|
|
121
|
+
`overflow-hidden` hard-clips it — characters lost mid-word, no
|
|
122
|
+
ellipsis, no title. Measured on a 230px pane: "Awaiting approval"
|
|
123
|
+
rendered as "Awaiting approva". See interaction-guidelines.md
|
|
124
|
+
§ Content handling ("flex children need `min-w-0`"). `title` only
|
|
125
|
+
when the label is a string — there is nothing to put in the
|
|
126
|
+
attribute otherwise, and the ellipsis needs a way back to the
|
|
127
|
+
full words. */
|
|
128
|
+
/* @__PURE__ */ jsx(
|
|
129
|
+
"span",
|
|
130
|
+
{
|
|
131
|
+
className: "min-w-0 truncate text-body font-medium text-muted-foreground",
|
|
132
|
+
title: typeof label === "string" ? label : void 0,
|
|
133
|
+
children: label
|
|
134
|
+
}
|
|
135
|
+
)
|
|
136
|
+
),
|
|
137
|
+
icon && !compact ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-muted-foreground [&_svg]:size-4", children: icon }) : null
|
|
138
|
+
] }),
|
|
139
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline gap-2", children: [
|
|
140
|
+
loading ? /* @__PURE__ */ jsx(Skeleton, { className: emphasis === "headline" ? "h-9 w-28" : "h-8 w-24" }) : canCopyExact ? /* @__PURE__ */ jsx(
|
|
141
|
+
CopyableValue,
|
|
142
|
+
{
|
|
143
|
+
className: valueClassName,
|
|
144
|
+
hint: typeof label === "string" ? `${label}, ${t("ui.copyableValue.hint")}` : void 0,
|
|
145
|
+
value: String(value),
|
|
146
|
+
children: formattedValue
|
|
147
|
+
}
|
|
148
|
+
) : /* @__PURE__ */ jsx("span", { className: valueClassName, children: formattedValue }),
|
|
149
|
+
delta && !compact ? loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-14" }) : /* @__PURE__ */ jsxs(
|
|
150
|
+
"span",
|
|
151
|
+
{
|
|
152
|
+
"data-polarity": polarity,
|
|
153
|
+
className: cn("text-meta tabular-nums", deltaColor),
|
|
154
|
+
"aria-label": directionLabel ? `${directionLabel} ${delta}${polarityLabel}` : void 0,
|
|
155
|
+
children: [
|
|
156
|
+
arrow ? /* @__PURE__ */ jsxs("span", { "aria-hidden": "true", children: [
|
|
157
|
+
arrow,
|
|
158
|
+
" "
|
|
159
|
+
] }) : null,
|
|
160
|
+
delta
|
|
161
|
+
]
|
|
162
|
+
}
|
|
163
|
+
) : null
|
|
164
|
+
] }),
|
|
165
|
+
sparkline && !compact ? /* @__PURE__ */ jsx("div", { className: metricSparklineVariants({ size }), children: loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-full" }) : sparkline }) : null,
|
|
166
|
+
description && !compact ? loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-32" }) : /* @__PURE__ */ jsx("p", { className: "text-meta font-normal text-muted-foreground", children: description }) : null,
|
|
167
|
+
visual && !compact ? /* @__PURE__ */ jsx("div", { className: "pt-1", children: loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-full" }) : visual }) : null,
|
|
168
|
+
evidence && !compact ? /* @__PURE__ */ jsx("div", { className: "pt-1 text-meta font-normal text-muted-foreground", children: loading ? /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-24" }) : evidence }) : null
|
|
169
|
+
]
|
|
170
|
+
}
|
|
171
|
+
) });
|
|
172
|
+
});
|
|
173
|
+
|
|
174
|
+
export {
|
|
175
|
+
MetricCard
|
|
176
|
+
};
|
|
177
|
+
//# sourceMappingURL=chunk-KZWC6JCI.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/metric-card/metric-card.tsx"],"sourcesContent":["\"use client\";\n\nimport { type HTMLAttributes, type ReactNode, forwardRef } from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { Card, CardContent } from \"../card\";\nimport { CopyableValue } from \"../copyable-value\";\nimport { Skeleton } from \"../skeleton\";\nimport { useLocale } from \"../locale-provider\";\nimport { cn } from \"../../lib/cn\";\nimport {\n type NumberFormat,\n type ResolvedNumberFormat,\n resolveNumberFormat,\n} from \"../../lib/compact-number\";\n\n/**\n * Applies a {@link ResolvedNumberFormat}'s `prefix`/`suffix`/`parens` on top\n * of the plain `Intl` string `formatNumber` produces — the two things Intl\n * itself cannot render (RM-109). Twin of `formatResolvedChartValue`\n * (`packages/charts/src/charts/chart-formatters.ts`).\n */\nfunction formatResolvedNumber(\n resolved: ResolvedNumberFormat,\n formatNumber: (n: number, opts?: Intl.NumberFormatOptions) => string,\n value: number,\n): string {\n const numeric = formatNumber(resolved.parens ? Math.abs(value) : value, resolved.options);\n const signed = resolved.parens && value < 0 ? `(${numeric})` : numeric;\n return `${resolved.prefix}${signed}${resolved.suffix}`;\n}\n\n/*\n * ADR 0012: this is the ONE KPI tile — `@elabs-ai/components-charts` re-exports it.\n * RM-072 adds `size` (sm | md | lg) for dashboard-sheet tiles and a `sparkline`\n * slot under the value. `ui` never imports `charts`: the host passes the\n * `<Sparkline …/>` element in.\n */\n\n/*\n * `emphasis` — size/weight/space ONLY, no new hue (research 11 §B.5 KPI-1/5):\n * `headline` is the answer-leading rung (`text-kpi`, ~32px); `default` stays\n * calm on the intermediate 1.5rem reading rung (the pre-#188 step between\n * `title` and `kpi` — no app role exists there, same precedent as the prose\n * h1/h3 rungs; baselined in the text-scale ratchet).\n */\nconst metricValueVariants = cva(\"tabular-nums text-foreground\", {\n variants: {\n emphasis: {\n default: \"text-2xl font-semibold tracking-tight\",\n headline: \"text-kpi\",\n },\n /* `md` adds nothing (today's rungs); `sm`/`lg` override the size via `cn()`. */\n size: {\n sm: \"text-title\",\n md: \"\",\n lg: \"text-kpi\",\n },\n },\n defaultVariants: { emphasis: \"default\", size: \"md\" },\n});\n\nconst metricContentVariants = cva(\"space-y-2\", {\n variants: {\n emphasis: {\n default: \"p-5\",\n headline: \"p-6\",\n },\n size: {\n sm: \"space-y-1 p-3\",\n md: \"\",\n lg: \"p-6\",\n },\n },\n defaultVariants: { emphasis: \"default\", size: \"md\" },\n});\n\nconst metricSparklineVariants = cva(\"\", {\n variants: {\n size: {\n /* never rendered — `sm` drops the slot; kept so the axis is total */\n sm: \"\",\n md: \"pt-1\",\n lg: \"min-h-12 pt-2\",\n },\n },\n defaultVariants: { size: \"md\" },\n});\n\nexport type MetricCardEmphasis = NonNullable<VariantProps<typeof metricValueVariants>[\"emphasis\"]>;\n\n/**\n * Tile tier (RM-072). `sm`: label + value only (no icon, delta, description,\n * sparkline, visual or evidence); `md`: the default tile; `lg`: the kpi value\n * rung with more room for the `sparkline` slot.\n */\nexport type MetricCardSize = NonNullable<VariantProps<typeof metricValueVariants>[\"size\"]>;\n\n/**\n * How a NUMERIC `value` is rendered. A function takes over completely.\n *\n * `\"compact\"` is the default because a KPI tile is a small box and\n * `50012102.632741` does not fit in one — the exact figure stays one click\n * away via `CopyableValue`. Anything that is not a `number` (a string, an\n * element) is passed through untouched, so every existing call site is\n * unaffected.\n *\n * Also accepts the object form (RM-109, `NumberFormatSpec` —\n * `{ decimals, abbreviate, sign, prefix, suffix, … }`,\n * `packages/ui/src/lib/compact-number.ts`) for a tile that needs e.g.\n * `{ decimals: 1, suffix: \"%\" }` without hand-formatting the string itself.\n * The two preset-string cases render byte-for-byte as before this type\n * widened — only a spec OBJECT argument reaches the new code path.\n */\nexport type MetricCardValueFormat = NumberFormat | ((value: number) => ReactNode);\n\nexport interface MetricCardProps\n extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof metricValueVariants> {\n label: ReactNode;\n value: ReactNode;\n /**\n * How to render a NUMERIC `value`. Default: `\"compact\"`. Ignored for every\n * other `ReactNode` — a string you already formatted is rendered verbatim.\n */\n valueFormat?: MetricCardValueFormat;\n /** ISO 4217 code for `valueFormat: \"currency\"`. Default: `\"USD\"`. */\n currency?: string;\n /**\n * Offer the exact figure on click when a numeric `value` was shortened.\n * Default: `true`. Turning it off leaves a compacted number with no way back\n * to its digits, so only do that when the tile is decorative.\n */\n copyExactValue?: boolean;\n /** Secondary line under the value — sublabel / context. */\n description?: ReactNode;\n /** Signed change, e.g. \"+12.4%\". Direction colors it. */\n delta?: string;\n deltaDirection?: \"up\" | \"down\" | \"neutral\";\n /** Whether \"up\" is good (green) — flip for metrics where down is good. */\n positiveIsGood?: boolean;\n icon?: ReactNode;\n /** Optional inline visual shown under the value/description. */\n visual?: ReactNode;\n /**\n * Trend slot rendered directly under the value (RM-072) — pass a\n * `<Sparkline …/>` from `@elabs-ai/components-charts`. Hidden at `size=\"sm\"`.\n */\n sparkline?: ReactNode;\n /**\n * Optional grounding footer (research 11 §B.5 KPI-3) — connects a cited\n * figure to its source (e.g. an `EvidenceChip` from `@elabs-ai/components-ai`). Rendered\n * subdued (`text-meta text-muted-foreground`) under the tile body.\n */\n evidence?: ReactNode;\n /**\n * Loading vs ready — renders a layout-shaped skeleton (matching the real\n * box height) instead of the value/label/delta text. Default: `false`.\n */\n loading?: boolean;\n /**\n * Whether this tile announces its own `loading` state via a live region.\n * Set to `false` when several tiles are composed inside a container that\n * already announces once for the whole region (e.g. a loading\n * `MetricGrid`) — see loading-states.md §a11y (\"one live region per\n * region, not per box\"). Default: `true`.\n */\n announceLoading?: boolean;\n}\n\n/** Compact KPI tile for dashboards. */\nexport const MetricCard = forwardRef<HTMLDivElement, MetricCardProps>(function MetricCard(\n {\n label,\n value,\n valueFormat = \"compact\",\n currency,\n copyExactValue = true,\n description,\n delta,\n deltaDirection = \"neutral\",\n positiveIsGood = true,\n icon,\n visual,\n sparkline,\n evidence,\n emphasis,\n size,\n loading = false,\n announceLoading = true,\n className,\n ...props\n },\n ref,\n) {\n const { t, formatNumber } = useLocale();\n\n // Formatting applies to NUMBERS only. Every shipped call site passes a string\n // it formatted itself, so this branch is inert for them — that is what makes\n // a new default safe.\n const isNumeric = typeof value === \"number\";\n const formattedValue: ReactNode = !isNumeric\n ? value\n : typeof valueFormat === \"function\"\n ? valueFormat(value)\n : formatResolvedNumber(\n resolveNumberFormat(valueFormat, value, currency),\n formatNumber,\n value,\n );\n // Only offer the exact figure when the display actually differs from it —\n // a button around a value that was never shortened is noise.\n const showsExact = isNumeric && String(formattedValue) === String(value);\n const canCopyExact =\n isNumeric && copyExactValue && typeof valueFormat !== \"function\" && !showsExact;\n\n const good =\n deltaDirection === \"up\" ? positiveIsGood : deltaDirection === \"down\" ? !positiveIsGood : null;\n const deltaColor =\n good === null ? \"text-muted-foreground\" : good ? \"text-success-text\" : \"text-destructive-text\";\n // Stable, theme-agnostic polarity hook. High decoration reveals a non-color\n // polarity glyph from this attribute (decoration.css); chromatic themes ignore it\n // and use color. Issue #162.\n const polarity = good === null ? \"neutral\" : good ? \"good\" : \"bad\";\n const arrow = deltaDirection === \"up\" ? \"↑\" : deltaDirection === \"down\" ? \"↓\" : \"\";\n // Direction is conveyed visually by the arrow glyph + color; give AT a single\n // unambiguous name (\"up 12.4%, favorable\") since neither the glyph nor color is a\n // reliable signal (high decoration / high-contrast collapse the hue) — and good/bad\n // polarity is otherwise invisible to AT. See accessibility.md, #162.\n const directionLabel = deltaDirection === \"up\" ? \"up\" : deltaDirection === \"down\" ? \"down\" : \"\";\n const polarityLabel = good === null ? \"\" : good ? \", favorable\" : \", unfavorable\";\n // `sm` is label + value only: every secondary row is dropped (RM-072).\n const compact = size === \"sm\";\n const valueClassName = cn(metricValueVariants({ emphasis, size }));\n\n return (\n <Card ref={ref} className={cn(\"overflow-hidden\", className)} {...props}>\n <CardContent\n className={cn(metricContentVariants({ emphasis, size }))}\n {...(loading && announceLoading ? { role: \"status\", \"aria-live\": \"polite\" as const } : {})}\n >\n {loading && announceLoading ? (\n <span className=\"sr-only\">{t(\"ui.metricCard.loading\")}</span>\n ) : null}\n <div className=\"flex items-center justify-between\">\n {loading ? (\n <Skeleton className=\"h-4 w-24\" />\n ) : (\n /* `min-w-0` + `truncate`, not just the text utility: a flex child's\n default `min-width: auto` refuses to shrink below its content, so\n without it the label OVERFLOWS the row and `Card`'s own\n `overflow-hidden` hard-clips it — characters lost mid-word, no\n ellipsis, no title. Measured on a 230px pane: \"Awaiting approval\"\n rendered as \"Awaiting approva\". See interaction-guidelines.md\n § Content handling (\"flex children need `min-w-0`\"). `title` only\n when the label is a string — there is nothing to put in the\n attribute otherwise, and the ellipsis needs a way back to the\n full words. */\n <span\n className=\"min-w-0 truncate text-body font-medium text-muted-foreground\"\n title={typeof label === \"string\" ? label : undefined}\n >\n {label}\n </span>\n )}\n {/* `shrink-0`: the icon is a fixed 16px mark, so the LABEL is what\n gives way when the row runs out of width. */}\n {icon && !compact ? (\n <span className=\"shrink-0 text-muted-foreground [&_svg]:size-4\">{icon}</span>\n ) : null}\n </div>\n <div className=\"flex items-baseline gap-2\">\n {loading ? (\n <Skeleton className={emphasis === \"headline\" ? \"h-9 w-28\" : \"h-8 w-24\"} />\n ) : canCopyExact ? (\n <CopyableValue\n className={valueClassName}\n // Two tiles in one grid can compact to the same display (\"$1.2M\"),\n // and the visible label is a sibling node the button's name does\n // not include — so without this a screen-reader user tabbing the\n // grid hears the identical name twice. A non-string label has no\n // text to borrow; the default hint stands.\n hint={\n typeof label === \"string\" ? `${label}, ${t(\"ui.copyableValue.hint\")}` : undefined\n }\n value={String(value)}\n >\n {formattedValue}\n </CopyableValue>\n ) : (\n <span className={valueClassName}>{formattedValue}</span>\n )}\n {delta && !compact ? (\n loading ? (\n <Skeleton className=\"h-4 w-14\" />\n ) : (\n <span\n data-polarity={polarity}\n className={cn(\"text-meta tabular-nums\", deltaColor)}\n aria-label={\n directionLabel ? `${directionLabel} ${delta}${polarityLabel}` : undefined\n }\n >\n {arrow ? <span aria-hidden=\"true\">{arrow} </span> : null}\n {delta}\n </span>\n )\n ) : null}\n </div>\n {sparkline && !compact ? (\n <div className={metricSparklineVariants({ size })}>\n {loading ? <Skeleton className=\"h-8 w-full\" /> : sparkline}\n </div>\n ) : null}\n {description && !compact ? (\n loading ? (\n <Skeleton className=\"h-3 w-32\" />\n ) : (\n <p className=\"text-meta font-normal text-muted-foreground\">{description}</p>\n )\n ) : null}\n {visual && !compact ? (\n <div className=\"pt-1\">{loading ? <Skeleton className=\"h-8 w-full\" /> : visual}</div>\n ) : null}\n {evidence && !compact ? (\n <div className=\"pt-1 text-meta font-normal text-muted-foreground\">\n {loading ? <Skeleton className=\"h-3 w-24\" /> : evidence}\n </div>\n ) : null}\n </CardContent>\n </Card>\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAEA,SAA8C,kBAAkB;AAChE,SAAS,WAA8B;AA6O7B,cAEF,YAFE;AA3NV,SAAS,qBACP,UACA,cACA,OACQ;AACR,QAAM,UAAU,aAAa,SAAS,SAAS,KAAK,IAAI,KAAK,IAAI,OAAO,SAAS,OAAO;AACxF,QAAM,SAAS,SAAS,UAAU,QAAQ,IAAI,IAAI,OAAO,MAAM;AAC/D,SAAO,GAAG,SAAS,MAAM,GAAG,MAAM,GAAG,SAAS,MAAM;AACtD;AAgBA,IAAM,sBAAsB,IAAI,gCAAgC;AAAA,EAC9D,UAAU;AAAA,IACR,UAAU;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA;AAAA,IAEA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,UAAU,WAAW,MAAM,KAAK;AACrD,CAAC;AAED,IAAM,wBAAwB,IAAI,aAAa;AAAA,EAC7C,UAAU;AAAA,IACR,UAAU;AAAA,MACR,SAAS;AAAA,MACT,UAAU;AAAA,IACZ;AAAA,IACA,MAAM;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,UAAU,WAAW,MAAM,KAAK;AACrD,CAAC;AAED,IAAM,0BAA0B,IAAI,IAAI;AAAA,EACtC,UAAU;AAAA,IACR,MAAM;AAAA;AAAA,MAEJ,IAAI;AAAA,MACJ,IAAI;AAAA,MACJ,IAAI;AAAA,IACN;AAAA,EACF;AAAA,EACA,iBAAiB,EAAE,MAAM,KAAK;AAChC,CAAC;AAmFM,IAAM,aAAa,WAA4C,SAASA,YAC7E;AAAA,EACE;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd;AAAA,EACA,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA,iBAAiB;AAAA,EACjB,iBAAiB;AAAA,EACjB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,UAAU;AAAA,EACV,kBAAkB;AAAA,EAClB;AAAA,EACA,GAAG;AACL,GACA,KACA;AACA,QAAM,EAAE,GAAG,aAAa,IAAI,UAAU;AAKtC,QAAM,YAAY,OAAO,UAAU;AACnC,QAAM,iBAA4B,CAAC,YAC/B,QACA,OAAO,gBAAgB,aACrB,YAAY,KAAK,IACjB;AAAA,IACE,oBAAoB,aAAa,OAAO,QAAQ;AAAA,IAChD;AAAA,IACA;AAAA,EACF;AAGN,QAAM,aAAa,aAAa,OAAO,cAAc,MAAM,OAAO,KAAK;AACvE,QAAM,eACJ,aAAa,kBAAkB,OAAO,gBAAgB,cAAc,CAAC;AAEvE,QAAM,OACJ,mBAAmB,OAAO,iBAAiB,mBAAmB,SAAS,CAAC,iBAAiB;AAC3F,QAAM,aACJ,SAAS,OAAO,0BAA0B,OAAO,sBAAsB;AAIzE,QAAM,WAAW,SAAS,OAAO,YAAY,OAAO,SAAS;AAC7D,QAAM,QAAQ,mBAAmB,OAAO,WAAM,mBAAmB,SAAS,WAAM;AAKhF,QAAM,iBAAiB,mBAAmB,OAAO,OAAO,mBAAmB,SAAS,SAAS;AAC7F,QAAM,gBAAgB,SAAS,OAAO,KAAK,OAAO,gBAAgB;AAElE,QAAM,UAAU,SAAS;AACzB,QAAM,iBAAiB,GAAG,oBAAoB,EAAE,UAAU,KAAK,CAAC,CAAC;AAEjE,SACE,oBAAC,QAAK,KAAU,WAAW,GAAG,mBAAmB,SAAS,GAAI,GAAG,OAC/D;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,GAAG,sBAAsB,EAAE,UAAU,KAAK,CAAC,CAAC;AAAA,MACtD,GAAI,WAAW,kBAAkB,EAAE,MAAM,UAAU,aAAa,SAAkB,IAAI,CAAC;AAAA,MAEvF;AAAA,mBAAW,kBACV,oBAAC,UAAK,WAAU,WAAW,YAAE,uBAAuB,GAAE,IACpD;AAAA,QACJ,qBAAC,SAAI,WAAU,qCACZ;AAAA,oBACC,oBAAC,YAAS,WAAU,YAAW;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,YAY/B;AAAA,cAAC;AAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,OAAO,UAAU,WAAW,QAAQ;AAAA,gBAE1C;AAAA;AAAA,YACH;AAAA;AAAA,UAID,QAAQ,CAAC,UACR,oBAAC,UAAK,WAAU,iDAAiD,gBAAK,IACpE;AAAA,WACN;AAAA,QACA,qBAAC,SAAI,WAAU,6BACZ;AAAA,oBACC,oBAAC,YAAS,WAAW,aAAa,aAAa,aAAa,YAAY,IACtE,eACF;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,cAMX,MACE,OAAO,UAAU,WAAW,GAAG,KAAK,KAAK,EAAE,uBAAuB,CAAC,KAAK;AAAA,cAE1E,OAAO,OAAO,KAAK;AAAA,cAElB;AAAA;AAAA,UACH,IAEA,oBAAC,UAAK,WAAW,gBAAiB,0BAAe;AAAA,UAElD,SAAS,CAAC,UACT,UACE,oBAAC,YAAS,WAAU,YAAW,IAE/B;AAAA,YAAC;AAAA;AAAA,cACC,iBAAe;AAAA,cACf,WAAW,GAAG,0BAA0B,UAAU;AAAA,cAClD,cACE,iBAAiB,GAAG,cAAc,IAAI,KAAK,GAAG,aAAa,KAAK;AAAA,cAGjE;AAAA,wBAAQ,qBAAC,UAAK,eAAY,QAAQ;AAAA;AAAA,kBAAM;AAAA,mBAAC,IAAU;AAAA,gBACnD;AAAA;AAAA;AAAA,UACH,IAEA;AAAA,WACN;AAAA,QACC,aAAa,CAAC,UACb,oBAAC,SAAI,WAAW,wBAAwB,EAAE,KAAK,CAAC,GAC7C,oBAAU,oBAAC,YAAS,WAAU,cAAa,IAAK,WACnD,IACE;AAAA,QACH,eAAe,CAAC,UACf,UACE,oBAAC,YAAS,WAAU,YAAW,IAE/B,oBAAC,OAAE,WAAU,+CAA+C,uBAAY,IAExE;AAAA,QACH,UAAU,CAAC,UACV,oBAAC,SAAI,WAAU,QAAQ,oBAAU,oBAAC,YAAS,WAAU,cAAa,IAAK,QAAO,IAC5E;AAAA,QACH,YAAY,CAAC,UACZ,oBAAC,SAAI,WAAU,oDACZ,oBAAU,oBAAC,YAAS,WAAU,YAAW,IAAK,UACjD,IACE;AAAA;AAAA;AAAA,EACN,GACF;AAEJ,CAAC;","names":["MetricCard"]}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/lib/merge-refs.ts
|
|
4
|
+
function mergeRefs(...refs) {
|
|
5
|
+
return (node) => {
|
|
6
|
+
for (const ref of refs) {
|
|
7
|
+
if (!ref) continue;
|
|
8
|
+
if (typeof ref === "function") ref(node);
|
|
9
|
+
else ref.current = node;
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
export {
|
|
15
|
+
mergeRefs
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=chunk-L37QZALU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/merge-refs.ts"],"sourcesContent":["\"use client\";\n\nimport type { ForwardedRef } from \"react\";\n\n/**\n * Combine a `forwardRef`-forwarded ref with one or more locally-owned refs so\n * both end up pointing at the same DOM node. Returns a stable callback ref\n * wrapper — memoize the result (`useMemo`) keyed on the forwarded ref so it\n * doesn't detach/reattach on every render.\n */\nexport function mergeRefs<T>(...refs: Array<ForwardedRef<T> | undefined>) {\n return (node: T | null) => {\n for (const ref of refs) {\n if (!ref) continue;\n if (typeof ref === \"function\") ref(node);\n else ref.current = node;\n }\n };\n}\n"],"mappings":";;;AAUO,SAAS,aAAgB,MAA0C;AACxE,SAAO,CAAC,SAAmB;AACzB,eAAW,OAAO,MAAM;AACtB,UAAI,CAAC,IAAK;AACV,UAAI,OAAO,QAAQ,WAAY,KAAI,IAAI;AAAA,UAClC,KAAI,UAAU;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/components/dialog/use-dialog-dismiss-guard.ts
|
|
4
|
+
import { useCallback, useState } from "react";
|
|
5
|
+
function useDialogDismissGuard({
|
|
6
|
+
dirty,
|
|
7
|
+
onClose,
|
|
8
|
+
onOpen
|
|
9
|
+
}) {
|
|
10
|
+
const [confirmOpen, setConfirmOpen] = useState(false);
|
|
11
|
+
const onOpenChange = useCallback(
|
|
12
|
+
(open) => {
|
|
13
|
+
if (open) {
|
|
14
|
+
onOpen?.();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (dirty) {
|
|
18
|
+
setConfirmOpen(true);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
onClose();
|
|
22
|
+
},
|
|
23
|
+
[dirty, onClose, onOpen]
|
|
24
|
+
);
|
|
25
|
+
const confirmDiscard = useCallback(() => {
|
|
26
|
+
setConfirmOpen(false);
|
|
27
|
+
onClose();
|
|
28
|
+
}, [onClose]);
|
|
29
|
+
return { onOpenChange, confirmOpen, onConfirmOpenChange: setConfirmOpen, confirmDiscard };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
useDialogDismissGuard
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk-L3SHPHLK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/dialog/use-dialog-dismiss-guard.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useState } from \"react\";\n\nexport interface UseDialogDismissGuardOptions {\n /**\n * Does the dialog currently hold unsaved changes? **App-owned** — brand-ui is\n * a presentation layer (`docs/DECISIONS.md` §D5) and cannot know what \"dirty\"\n * means for your form. Compute it (a `react-hook-form` `isDirty`, a deep\n * compare, a store flag) and pass it in.\n */\n dirty: boolean;\n /** Close the dialog — the app sets its own `open` state to `false`. */\n onClose: () => void;\n /**\n * Open the dialog. Only needed when a `DialogTrigger` (rather than the app)\n * opens it, because Radix routes that through the same `onOpenChange`.\n */\n onOpen?: () => void;\n}\n\nexport interface DialogDismissGuard {\n /**\n * Spread onto `<Dialog onOpenChange={…}>`. Intercepts EVERY user dismissal —\n * Escape, overlay click, the built-in close ✕ and any `DialogClose` — because\n * Radix funnels all four through `onOpenChange(false)`.\n */\n onOpenChange: (open: boolean) => void;\n /** Controlled `open` for the discard confirmation. */\n confirmOpen: boolean;\n /** Controlled `onOpenChange` for the discard confirmation. */\n onConfirmOpenChange: (open: boolean) => void;\n /** Confirm the discard: closes the confirmation AND calls `onClose()`. */\n confirmDiscard: () => void;\n}\n\n/**\n * Warn before a dialog with unsaved changes is dismissed (#341).\n *\n * `.claude/rules/interaction-guidelines.md` (Forms) requires warning before\n * navigating away from unsaved changes; this is that rule for dialogs, as a HOOK\n * rather than a prop because the component must not own app state — the app owns\n * `open` and decides what `dirty` means (D5).\n *\n * ## The asymmetry is structural, not a flag\n *\n * A **user dismissal** reaches Radix's `onOpenChange`, so the guard sees it and\n * can hold the dialog open. A **programmatic close** (the app setting its own\n * `open` to `false` after a successful save) never touches the guard, so it is\n * unobservable here and closes silently. That is exactly the wanted behaviour,\n * and it falls out of the wiring — there is no \"skip the guard\" option to get\n * wrong.\n *\n * The name is literal: it guards DISMISSALS routed through the returned\n * `onOpenChange`. It is not a navigation blocker and it cannot intercept a tab\n * close, a router navigation, or an `open` prop that the app flips itself.\n *\n * ```tsx\n * const [open, setOpen] = useState(false);\n * const guard = useDialogDismissGuard({\n * dirty,\n * onClose: () => setOpen(false),\n * onOpen: () => setOpen(true),\n * });\n *\n * <Dialog open={open} onOpenChange={guard.onOpenChange}>…</Dialog>\n * <ConfirmDialog\n * open={guard.confirmOpen}\n * onOpenChange={guard.onConfirmOpenChange}\n * onConfirm={guard.confirmDiscard}\n * tone=\"destructive\"\n * title=\"Discard changes?\"\n * description=\"Your edits to this project have not been saved.\"\n * confirmLabel=\"Discard\"\n * />\n * ```\n *\n * The `ConfirmDialog` is a SIBLING of the guarded dialog, not a child of it.\n */\nexport function useDialogDismissGuard({\n dirty,\n onClose,\n onOpen,\n}: UseDialogDismissGuardOptions): DialogDismissGuard {\n const [confirmOpen, setConfirmOpen] = useState(false);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n // Opening is never guarded; a `DialogTrigger` routes through here too.\n if (open) {\n onOpen?.();\n return;\n }\n if (dirty) {\n setConfirmOpen(true);\n return;\n }\n onClose();\n },\n [dirty, onClose, onOpen],\n );\n\n const confirmDiscard = useCallback(() => {\n setConfirmOpen(false);\n onClose();\n }, [onClose]);\n\n return { onOpenChange, confirmOpen, onConfirmOpenChange: setConfirmOpen, confirmDiscard };\n}\n"],"mappings":";;;AAEA,SAAS,aAAa,gBAAgB;AA6E/B,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAAqD;AACnD,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,QAAM,eAAe;AAAA,IACnB,CAAC,SAAkB;AAEjB,UAAI,MAAM;AACR,iBAAS;AACT;AAAA,MACF;AACA,UAAI,OAAO;AACT,uBAAe,IAAI;AACnB;AAAA,MACF;AACA,cAAQ;AAAA,IACV;AAAA,IACA,CAAC,OAAO,SAAS,MAAM;AAAA,EACzB;AAEA,QAAM,iBAAiB,YAAY,MAAM;AACvC,mBAAe,KAAK;AACpB,YAAQ;AAAA,EACV,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO,EAAE,cAAc,aAAa,qBAAqB,gBAAgB,eAAe;AAC1F;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/lib/compact-number.ts
|
|
4
|
+
var PRESET_NUMBER_FORMAT_SPECS = {
|
|
5
|
+
number: { style: "number", abbreviate: false },
|
|
6
|
+
compact: { style: "number", abbreviate: "auto" },
|
|
7
|
+
currency: { style: "currency", abbreviate: "auto" },
|
|
8
|
+
percent: { style: "percent", abbreviate: false }
|
|
9
|
+
};
|
|
10
|
+
function resolveNumberFormatSpec(format) {
|
|
11
|
+
return typeof format === "string" ? PRESET_NUMBER_FORMAT_SPECS[format] ?? PRESET_NUMBER_FORMAT_SPECS.compact : format;
|
|
12
|
+
}
|
|
13
|
+
var COMPACT_THRESHOLD = 1e3;
|
|
14
|
+
var DEFAULT_CURRENCY = "USD";
|
|
15
|
+
var DEFAULT_MAX_FRACTION_DIGITS = 1;
|
|
16
|
+
function shouldCompact(value) {
|
|
17
|
+
return Number.isFinite(value) && Math.abs(value) >= COMPACT_THRESHOLD;
|
|
18
|
+
}
|
|
19
|
+
function resolveNumberFormat(format, value, currency = DEFAULT_CURRENCY, maxFractionDigits) {
|
|
20
|
+
const spec = resolveNumberFormatSpec(format);
|
|
21
|
+
const style = spec.style ?? "number";
|
|
22
|
+
const isPercent = style === "percent";
|
|
23
|
+
const options = {};
|
|
24
|
+
if (style === "currency") {
|
|
25
|
+
options.style = "currency";
|
|
26
|
+
options.currency = spec.currency ?? currency;
|
|
27
|
+
} else if (isPercent) {
|
|
28
|
+
options.style = "percent";
|
|
29
|
+
}
|
|
30
|
+
const wantsAbbreviate = !isPercent && (spec.abbreviate === true || spec.abbreviate !== false && shouldCompact(value));
|
|
31
|
+
if (wantsAbbreviate) {
|
|
32
|
+
options.notation = "compact";
|
|
33
|
+
options.compactDisplay = "short";
|
|
34
|
+
}
|
|
35
|
+
const exactValueEscapeHatch = style === "number" && spec.abbreviate === false;
|
|
36
|
+
const digits = spec.decimals ?? maxFractionDigits ?? (exactValueEscapeHatch ? void 0 : DEFAULT_MAX_FRACTION_DIGITS);
|
|
37
|
+
if (digits !== void 0) {
|
|
38
|
+
options.maximumFractionDigits = digits;
|
|
39
|
+
if (spec.optionalDecimals === false) {
|
|
40
|
+
options.minimumFractionDigits = digits;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (spec.grouping === false) {
|
|
44
|
+
options.useGrouping = false;
|
|
45
|
+
}
|
|
46
|
+
let parens = false;
|
|
47
|
+
if (spec.sign === "always") {
|
|
48
|
+
options.signDisplay = "always";
|
|
49
|
+
} else if (spec.sign === "parens") {
|
|
50
|
+
options.signDisplay = "never";
|
|
51
|
+
parens = true;
|
|
52
|
+
}
|
|
53
|
+
return { options, prefix: spec.prefix ?? "", suffix: spec.suffix ?? "", parens };
|
|
54
|
+
}
|
|
55
|
+
function numberFormatOptions(format, value, currency = DEFAULT_CURRENCY, maxFractionDigits) {
|
|
56
|
+
return resolveNumberFormat(format, value, currency, maxFractionDigits).options;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export {
|
|
60
|
+
resolveNumberFormatSpec,
|
|
61
|
+
COMPACT_THRESHOLD,
|
|
62
|
+
DEFAULT_CURRENCY,
|
|
63
|
+
DEFAULT_MAX_FRACTION_DIGITS,
|
|
64
|
+
shouldCompact,
|
|
65
|
+
resolveNumberFormat,
|
|
66
|
+
numberFormatOptions
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=chunk-LDOCY4SU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/compact-number.ts"],"sourcesContent":["/**\n * compact-number.ts — the same \"shown short, copied exact\" number rule the\n * charts package applies to axis ticks and tooltips, available to `ui` surfaces\n * that display a figure (today: `MetricCard`).\n *\n * DELIBERATE TWIN of `packages/charts/src/charts/value-format.ts`. Dependencies\n * flow one way — `tokens → ui → charts` — so `ui` cannot import the charts\n * module, and a chart-domain union does not belong in the `ui` public API just\n * to be shared. The duplication is ~20 lines and the two must stay in step:\n * **change one, change the other**, and keep {@link COMPACT_THRESHOLD} equal in\n * both. `metric-card.test.tsx` and `value-format.test.ts` pin the same cases on\n * each side so a drift shows up as a failing test rather than as two surfaces\n * disagreeing about what `1500` looks like.\n */\n\n/** How a numeric value is rendered. Mirrors the charts `ChartValueFormatPreset`. */\nexport type NumberFormatKind = \"number\" | \"compact\" | \"currency\" | \"percent\";\n\n/**\n * The object form of {@link NumberFormat} (RM-109) — decimals, sign,\n * prefix/suffix and abbreviation as independent knobs. Mirrors the charts\n * `ChartValueFormatSpec` field-for-field; see that type's docblock\n * (`packages/charts/src/charts/value-format.ts`) for the full contract of\n * each field — this is the DELIBERATE TWIN, not a reinterpretation.\n */\nexport interface NumberFormatSpec {\n style?: \"number\" | \"currency\" | \"percent\";\n decimals?: number;\n optionalDecimals?: boolean;\n abbreviate?: boolean | \"auto\";\n sign?: \"auto\" | \"always\" | \"parens\";\n prefix?: string;\n suffix?: string;\n grouping?: boolean;\n currency?: string;\n}\n\n/** A preset string or the {@link NumberFormatSpec} object form (RM-109). */\nexport type NumberFormat = NumberFormatKind | NumberFormatSpec;\n\n/** The preset strings' shape, expressed as specs — the union's one resolved shape. */\nconst PRESET_NUMBER_FORMAT_SPECS: Record<NumberFormatKind, NumberFormatSpec> = {\n number: { style: \"number\", abbreviate: false },\n compact: { style: \"number\", abbreviate: \"auto\" },\n currency: { style: \"currency\", abbreviate: \"auto\" },\n percent: { style: \"percent\", abbreviate: false },\n};\n\n/** Normalizes a preset string or a spec object to one {@link NumberFormatSpec} shape. */\nexport function resolveNumberFormatSpec(format: NumberFormat): NumberFormatSpec {\n return typeof format === \"string\"\n ? (PRESET_NUMBER_FORMAT_SPECS[format] ?? PRESET_NUMBER_FORMAT_SPECS.compact)\n : format;\n}\n\n/** Magnitude at or above which `compact`/`currency` switch to compact notation. */\nexport const COMPACT_THRESHOLD = 1000;\n\n/** Used when a caller asks for currency without naming one. */\nexport const DEFAULT_CURRENCY = \"USD\";\n\n/** One decimal keeps `1.5M` readable without implying precision it lacks. */\nexport const DEFAULT_MAX_FRACTION_DIGITS = 1;\n\n/** Whether `value`'s magnitude earns compact notation. */\nexport function shouldCompact(value: number): boolean {\n return Number.isFinite(value) && Math.abs(value) >= COMPACT_THRESHOLD;\n}\n\n/**\n * The full answer for `format` at this magnitude: `Intl.NumberFormatOptions`\n * plus the two things Intl cannot express — literal `prefix`/`suffix` text\n * and `sign: \"parens\"` (accounting-style negatives). Twin of\n * `resolveChartValueFormat` (`value-format.ts`) — same fields, same rules.\n */\nexport interface ResolvedNumberFormat {\n /** Pure `Intl.NumberFormatOptions` — everything Intl itself can render. */\n options: Intl.NumberFormatOptions;\n /** Literal text before the formatted number. */\n prefix: string;\n /** Literal text after the formatted number. */\n suffix: string;\n /** `true` when a negative value renders as `(…)` instead of a minus sign. */\n parens: boolean;\n}\n\nexport function resolveNumberFormat(\n format: NumberFormat,\n value: number,\n currency: string = DEFAULT_CURRENCY,\n maxFractionDigits?: number,\n): ResolvedNumberFormat {\n const spec = resolveNumberFormatSpec(format);\n const style = spec.style ?? \"number\";\n const isPercent = style === \"percent\";\n const options: Intl.NumberFormatOptions = {};\n\n if (style === \"currency\") {\n options.style = \"currency\";\n options.currency = spec.currency ?? currency;\n } else if (isPercent) {\n options.style = \"percent\";\n }\n\n const wantsAbbreviate =\n !isPercent && (spec.abbreviate === true || (spec.abbreviate !== false && shouldCompact(value)));\n if (wantsAbbreviate) {\n options.notation = \"compact\";\n options.compactDisplay = \"short\";\n }\n\n const exactValueEscapeHatch = style === \"number\" && spec.abbreviate === false;\n const digits =\n spec.decimals ??\n maxFractionDigits ??\n (exactValueEscapeHatch ? undefined : DEFAULT_MAX_FRACTION_DIGITS);\n if (digits !== undefined) {\n options.maximumFractionDigits = digits;\n if (spec.optionalDecimals === false) {\n options.minimumFractionDigits = digits;\n }\n }\n\n if (spec.grouping === false) {\n options.useGrouping = false;\n }\n\n let parens = false;\n if (spec.sign === \"always\") {\n options.signDisplay = \"always\";\n } else if (spec.sign === \"parens\") {\n options.signDisplay = \"never\";\n parens = true;\n }\n\n return { options, prefix: spec.prefix ?? \"\", suffix: spec.suffix ?? \"\", parens };\n}\n\n/**\n * `Intl.NumberFormatOptions` for `format` at this magnitude — the pure-Intl\n * subset of {@link resolveNumberFormat}, kept as its own export because it is\n * the one every existing call site (and test) already depends on.\n */\nexport function numberFormatOptions(\n format: NumberFormatKind,\n value: number,\n currency: string = DEFAULT_CURRENCY,\n maxFractionDigits?: number,\n): Intl.NumberFormatOptions {\n return resolveNumberFormat(format, value, currency, maxFractionDigits).options;\n}\n"],"mappings":";;;AAyCA,IAAM,6BAAyE;AAAA,EAC7E,QAAQ,EAAE,OAAO,UAAU,YAAY,MAAM;AAAA,EAC7C,SAAS,EAAE,OAAO,UAAU,YAAY,OAAO;AAAA,EAC/C,UAAU,EAAE,OAAO,YAAY,YAAY,OAAO;AAAA,EAClD,SAAS,EAAE,OAAO,WAAW,YAAY,MAAM;AACjD;AAGO,SAAS,wBAAwB,QAAwC;AAC9E,SAAO,OAAO,WAAW,WACpB,2BAA2B,MAAM,KAAK,2BAA2B,UAClE;AACN;AAGO,IAAM,oBAAoB;AAG1B,IAAM,mBAAmB;AAGzB,IAAM,8BAA8B;AAGpC,SAAS,cAAc,OAAwB;AACpD,SAAO,OAAO,SAAS,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK;AACtD;AAmBO,SAAS,oBACd,QACA,OACA,WAAmB,kBACnB,mBACsB;AACtB,QAAM,OAAO,wBAAwB,MAAM;AAC3C,QAAM,QAAQ,KAAK,SAAS;AAC5B,QAAM,YAAY,UAAU;AAC5B,QAAM,UAAoC,CAAC;AAE3C,MAAI,UAAU,YAAY;AACxB,YAAQ,QAAQ;AAChB,YAAQ,WAAW,KAAK,YAAY;AAAA,EACtC,WAAW,WAAW;AACpB,YAAQ,QAAQ;AAAA,EAClB;AAEA,QAAM,kBACJ,CAAC,cAAc,KAAK,eAAe,QAAS,KAAK,eAAe,SAAS,cAAc,KAAK;AAC9F,MAAI,iBAAiB;AACnB,YAAQ,WAAW;AACnB,YAAQ,iBAAiB;AAAA,EAC3B;AAEA,QAAM,wBAAwB,UAAU,YAAY,KAAK,eAAe;AACxE,QAAM,SACJ,KAAK,YACL,sBACC,wBAAwB,SAAY;AACvC,MAAI,WAAW,QAAW;AACxB,YAAQ,wBAAwB;AAChC,QAAI,KAAK,qBAAqB,OAAO;AACnC,cAAQ,wBAAwB;AAAA,IAClC;AAAA,EACF;AAEA,MAAI,KAAK,aAAa,OAAO;AAC3B,YAAQ,cAAc;AAAA,EACxB;AAEA,MAAI,SAAS;AACb,MAAI,KAAK,SAAS,UAAU;AAC1B,YAAQ,cAAc;AAAA,EACxB,WAAW,KAAK,SAAS,UAAU;AACjC,YAAQ,cAAc;AACtB,aAAS;AAAA,EACX;AAEA,SAAO,EAAE,SAAS,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,IAAI,OAAO;AACjF;AAOO,SAAS,oBACd,QACA,OACA,WAAmB,kBACnB,mBAC0B;AAC1B,SAAO,oBAAoB,QAAQ,OAAO,UAAU,iBAAiB,EAAE;AACzE;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
useLocale
|
|
4
|
+
} from "./chunk-EJQYE4MY.js";
|
|
5
|
+
import {
|
|
6
|
+
cn
|
|
7
|
+
} from "./chunk-KBNWM27Q.js";
|
|
8
|
+
|
|
9
|
+
// src/components/sheet/sheet.tsx
|
|
10
|
+
import {
|
|
11
|
+
forwardRef
|
|
12
|
+
} from "react";
|
|
13
|
+
import * as SheetPrimitive from "@radix-ui/react-dialog";
|
|
14
|
+
import { cva } from "class-variance-authority";
|
|
15
|
+
import { X } from "lucide-react";
|
|
16
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
17
|
+
var Sheet = SheetPrimitive.Root;
|
|
18
|
+
var SheetTrigger = SheetPrimitive.Trigger;
|
|
19
|
+
var SheetClose = SheetPrimitive.Close;
|
|
20
|
+
var SheetPortal = SheetPrimitive.Portal;
|
|
21
|
+
var SheetOverlay = forwardRef(function SheetOverlay2({ className, ...props }, ref) {
|
|
22
|
+
return /* @__PURE__ */ jsx(
|
|
23
|
+
SheetPrimitive.Overlay,
|
|
24
|
+
{
|
|
25
|
+
ref,
|
|
26
|
+
"data-slot": "sheet-overlay",
|
|
27
|
+
className: cn(
|
|
28
|
+
"fixed inset-0 z-50 bg-overlay backdrop-blur-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",
|
|
29
|
+
className
|
|
30
|
+
),
|
|
31
|
+
...props
|
|
32
|
+
}
|
|
33
|
+
);
|
|
34
|
+
});
|
|
35
|
+
var sheetVariants = cva(
|
|
36
|
+
// `overflow-y-auto` so content taller than the sheet scrolls INSIDE it
|
|
37
|
+
// instead of overflowing the fixed-position box (unreachable below the
|
|
38
|
+
// viewport edge).
|
|
39
|
+
"fixed z-50 gap-4 overflow-y-auto overscroll-contain bg-card p-6 text-card-foreground shadow-dialog transition duration-slow ease-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:[--tw-ease:var(--ease-entrance)] data-[state=closed]:[--tw-ease:var(--ease-exit)]",
|
|
40
|
+
{
|
|
41
|
+
variants: {
|
|
42
|
+
side: {
|
|
43
|
+
// `top`/`bottom` have no inherent height ceiling, so long content grows
|
|
44
|
+
// past the viewport; cap it at 90dvh (matching Dialog's dvh unit — ADR
|
|
45
|
+
// on mobile browser chrome) so the scroll rule above actually engages.
|
|
46
|
+
top: "inset-x-0 top-0 max-h-[90dvh] border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top",
|
|
47
|
+
bottom: "inset-x-0 bottom-0 max-h-[90dvh] border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom",
|
|
48
|
+
// `side` is an explicit physical edge of the screen (like Radix's own
|
|
49
|
+
// Popper `side`), not a logical start/end — a caller who picks `"left"`
|
|
50
|
+
// wants the panel on the physical left even in an RTL layout, so these
|
|
51
|
+
// stay physical `left-0`/`right-0` and `border-r`/`border-l` on purpose.
|
|
52
|
+
left: "inset-y-0 left-0 h-full w-3/4 max-w-sm border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left",
|
|
53
|
+
right: "inset-y-0 right-0 h-full w-3/4 max-w-sm border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right"
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
defaultVariants: { side: "right" }
|
|
57
|
+
}
|
|
58
|
+
);
|
|
59
|
+
var SheetContent = forwardRef(function SheetContent2({ side = "right", className, children, ...props }, ref) {
|
|
60
|
+
const { t } = useLocale();
|
|
61
|
+
return /* @__PURE__ */ jsxs(SheetPortal, { children: [
|
|
62
|
+
/* @__PURE__ */ jsx(SheetOverlay, {}),
|
|
63
|
+
/* @__PURE__ */ jsxs(
|
|
64
|
+
SheetPrimitive.Content,
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "sheet-content",
|
|
68
|
+
className: cn(sheetVariants({ side }), className),
|
|
69
|
+
...props,
|
|
70
|
+
children: [
|
|
71
|
+
children,
|
|
72
|
+
/* @__PURE__ */ jsx(
|
|
73
|
+
SheetPrimitive.Close,
|
|
74
|
+
{
|
|
75
|
+
"data-slot": "sheet-close",
|
|
76
|
+
className: "absolute end-4 top-4 rounded-md p-1 text-muted-foreground opacity-70 transition-opacity hover:opacity-100 focus-ring",
|
|
77
|
+
"aria-label": t("close"),
|
|
78
|
+
children: /* @__PURE__ */ jsx(X, { className: "size-4" })
|
|
79
|
+
}
|
|
80
|
+
)
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
)
|
|
84
|
+
] });
|
|
85
|
+
});
|
|
86
|
+
function SheetHeader({ className, ...props }) {
|
|
87
|
+
return /* @__PURE__ */ jsx("div", { "data-slot": "sheet-header", className: cn("flex flex-col gap-1.5", className), ...props });
|
|
88
|
+
}
|
|
89
|
+
function SheetFooter({ className, ...props }) {
|
|
90
|
+
return /* @__PURE__ */ jsx(
|
|
91
|
+
"div",
|
|
92
|
+
{
|
|
93
|
+
"data-slot": "sheet-footer",
|
|
94
|
+
className: cn("mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end", className),
|
|
95
|
+
...props
|
|
96
|
+
}
|
|
97
|
+
);
|
|
98
|
+
}
|
|
99
|
+
var SheetTitle = forwardRef(function SheetTitle2({ className, ...props }, ref) {
|
|
100
|
+
return (
|
|
101
|
+
// `text-title`, matching `DialogTitle` (#286) — was `text-lg font-semibold`,
|
|
102
|
+
// one rung below Dialog's for the same anatomical role (a modal title).
|
|
103
|
+
/* @__PURE__ */ jsx(
|
|
104
|
+
SheetPrimitive.Title,
|
|
105
|
+
{
|
|
106
|
+
ref,
|
|
107
|
+
"data-slot": "sheet-title",
|
|
108
|
+
className: cn("text-title leading-none", className),
|
|
109
|
+
...props
|
|
110
|
+
}
|
|
111
|
+
)
|
|
112
|
+
);
|
|
113
|
+
});
|
|
114
|
+
var SheetDescription = forwardRef(function SheetDescription2({ className, ...props }, ref) {
|
|
115
|
+
return /* @__PURE__ */ jsx(
|
|
116
|
+
SheetPrimitive.Description,
|
|
117
|
+
{
|
|
118
|
+
ref,
|
|
119
|
+
"data-slot": "sheet-description",
|
|
120
|
+
className: cn("text-body text-muted-foreground", className),
|
|
121
|
+
...props
|
|
122
|
+
}
|
|
123
|
+
);
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
export {
|
|
127
|
+
Sheet,
|
|
128
|
+
SheetTrigger,
|
|
129
|
+
SheetClose,
|
|
130
|
+
SheetPortal,
|
|
131
|
+
SheetContent,
|
|
132
|
+
SheetHeader,
|
|
133
|
+
SheetFooter,
|
|
134
|
+
SheetTitle,
|
|
135
|
+
SheetDescription
|
|
136
|
+
};
|
|
137
|
+
//# sourceMappingURL=chunk-LMO3QK7Q.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/sheet/sheet.tsx"],"sourcesContent":["\"use client\";\n\nimport {\n forwardRef,\n type ComponentPropsWithoutRef,\n type ElementRef,\n type HTMLAttributes,\n} from \"react\";\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { X } from \"lucide-react\";\nimport { cn } from \"../../lib/cn\";\nimport { useLocale } from \"../locale-provider\";\n\nexport const Sheet = SheetPrimitive.Root;\nexport const SheetTrigger = SheetPrimitive.Trigger;\nexport const SheetClose = SheetPrimitive.Close;\nexport const SheetPortal = SheetPrimitive.Portal;\n\nconst SheetOverlay = forwardRef<\n ElementRef<typeof SheetPrimitive.Overlay>,\n ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(function SheetOverlay({ className, ...props }, ref) {\n return (\n <SheetPrimitive.Overlay\n ref={ref}\n data-slot=\"sheet-overlay\"\n className={cn(\n \"fixed inset-0 z-50 bg-overlay backdrop-blur-overlay data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className,\n )}\n {...props}\n />\n );\n});\n\nconst sheetVariants = cva(\n // `overflow-y-auto` so content taller than the sheet scrolls INSIDE it\n // instead of overflowing the fixed-position box (unreachable below the\n // viewport edge).\n \"fixed z-50 gap-4 overflow-y-auto overscroll-contain bg-card p-6 text-card-foreground shadow-dialog transition duration-slow ease-standard data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=open]:[--tw-ease:var(--ease-entrance)] data-[state=closed]:[--tw-ease:var(--ease-exit)]\",\n {\n variants: {\n side: {\n // `top`/`bottom` have no inherent height ceiling, so long content grows\n // past the viewport; cap it at 90dvh (matching Dialog's dvh unit — ADR\n // on mobile browser chrome) so the scroll rule above actually engages.\n top: \"inset-x-0 top-0 max-h-[90dvh] border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 max-h-[90dvh] border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n // `side` is an explicit physical edge of the screen (like Radix's own\n // Popper `side`), not a logical start/end — a caller who picks `\"left\"`\n // wants the panel on the physical left even in an RTL layout, so these\n // stay physical `left-0`/`right-0` and `border-r`/`border-l` on purpose.\n left: \"inset-y-0 left-0 h-full w-3/4 max-w-sm border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 max-w-sm border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right\",\n },\n },\n defaultVariants: { side: \"right\" },\n },\n);\n\nexport interface SheetContentProps\n extends\n ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> {}\n\nexport const SheetContent = forwardRef<\n ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(function SheetContent({ side = \"right\", className, children, ...props }, ref) {\n const { t } = useLocale();\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n data-slot=\"sheet-content\"\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n {/* Matches Dialog's close button exactly (radius, padding, ink,\n opacity choreography) — a 24px target (`p-1` + the 16px glyph)\n instead of the previous bare 16px hit area (#286). */}\n <SheetPrimitive.Close\n data-slot=\"sheet-close\"\n className=\"absolute end-4 top-4 rounded-md p-1 text-muted-foreground opacity-70 transition-opacity hover:opacity-100 focus-ring\"\n aria-label={t(\"close\")}\n >\n <X className=\"size-4\" />\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n});\n\nexport function SheetHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return (\n <div data-slot=\"sheet-header\" className={cn(\"flex flex-col gap-1.5\", className)} {...props} />\n );\n}\nexport function SheetFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn(\"mt-auto flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...props}\n />\n );\n}\nexport const SheetTitle = forwardRef<\n ElementRef<typeof SheetPrimitive.Title>,\n ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(function SheetTitle({ className, ...props }, ref) {\n return (\n // `text-title`, matching `DialogTitle` (#286) — was `text-lg font-semibold`,\n // one rung below Dialog's for the same anatomical role (a modal title).\n <SheetPrimitive.Title\n ref={ref}\n data-slot=\"sheet-title\"\n className={cn(\"text-title leading-none\", className)}\n {...props}\n />\n );\n});\nexport const SheetDescription = forwardRef<\n ElementRef<typeof SheetPrimitive.Description>,\n ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(function SheetDescription({ className, ...props }, ref) {\n return (\n <SheetPrimitive.Description\n ref={ref}\n data-slot=\"sheet-description\"\n className={cn(\"text-body text-muted-foreground\", className)}\n {...props}\n />\n );\n});\n"],"mappings":";;;;;;;;;AAEA;AAAA,EACE;AAAA,OAIK;AACP,YAAY,oBAAoB;AAChC,SAAS,WAA8B;AACvC,SAAS,SAAS;AAcd,cAoDE,YApDF;AAVG,IAAM,QAAuB;AAC7B,IAAM,eAA8B;AACpC,IAAM,aAA4B;AAClC,IAAM,cAA6B;AAE1C,IAAM,eAAe,WAGnB,SAASA,cAAa,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AACpD,SACE;AAAA,IAAgB;AAAA,IAAf;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW;AAAA,QACT;AAAA,QACA;AAAA,MACF;AAAA,MACC,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;AAED,IAAM,gBAAgB;AAAA;AAAA;AAAA;AAAA,EAIpB;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,MAAM;AAAA;AAAA;AAAA;AAAA,QAIJ,KAAK;AAAA,QACL,QACE;AAAA;AAAA;AAAA;AAAA;AAAA,QAKF,MAAM;AAAA,QACN,OACE;AAAA,MACJ;AAAA,IACF;AAAA,IACA,iBAAiB,EAAE,MAAM,QAAQ;AAAA,EACnC;AACF;AAOO,IAAM,eAAe,WAG1B,SAASC,cAAa,EAAE,OAAO,SAAS,WAAW,UAAU,GAAG,MAAM,GAAG,KAAK;AAC9E,QAAM,EAAE,EAAE,IAAI,UAAU;AACxB,SACE,qBAAC,eACC;AAAA,wBAAC,gBAAa;AAAA,IACd;AAAA,MAAgB;AAAA,MAAf;AAAA,QACC;AAAA,QACA,aAAU;AAAA,QACV,WAAW,GAAG,cAAc,EAAE,KAAK,CAAC,GAAG,SAAS;AAAA,QAC/C,GAAG;AAAA,QAEH;AAAA;AAAA,UAID;AAAA,YAAgB;AAAA,YAAf;AAAA,cACC,aAAU;AAAA,cACV,WAAU;AAAA,cACV,cAAY,EAAE,OAAO;AAAA,cAErB,8BAAC,KAAE,WAAU,UAAS;AAAA;AAAA,UACxB;AAAA;AAAA;AAAA,IACF;AAAA,KACF;AAEJ,CAAC;AAEM,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAmC;AACnF,SACE,oBAAC,SAAI,aAAU,gBAAe,WAAW,GAAG,yBAAyB,SAAS,GAAI,GAAG,OAAO;AAEhG;AACO,SAAS,YAAY,EAAE,WAAW,GAAG,MAAM,GAAmC;AACnF,SACE;AAAA,IAAC;AAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAW,GAAG,kEAAkE,SAAS;AAAA,MACxF,GAAG;AAAA;AAAA,EACN;AAEJ;AACO,IAAM,aAAa,WAGxB,SAASC,YAAW,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AAClD;AAAA;AAAA;AAAA,IAGE;AAAA,MAAgB;AAAA,MAAf;AAAA,QACC;AAAA,QACA,aAAU;AAAA,QACV,WAAW,GAAG,2BAA2B,SAAS;AAAA,QACjD,GAAG;AAAA;AAAA,IACN;AAAA;AAEJ,CAAC;AACM,IAAM,mBAAmB,WAG9B,SAASC,kBAAiB,EAAE,WAAW,GAAG,MAAM,GAAG,KAAK;AACxD,SACE;AAAA,IAAgB;AAAA,IAAf;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,mCAAmC,SAAS;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;","names":["SheetOverlay","SheetContent","SheetTitle","SheetDescription"]}
|