@elabs-ai/components-ui 4.2.0 → 5.1.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-2DFB4YTK.js +55 -0
- package/dist/chunk-2DFB4YTK.js.map +1 -0
- package/dist/chunk-2SBYBN45.js +2 -0
- package/dist/chunk-2SBYBN45.js.map +1 -0
- package/dist/chunk-2ZMPAD6C.js +357 -0
- package/dist/chunk-2ZMPAD6C.js.map +1 -0
- package/dist/chunk-36SY7TID.js +36 -0
- package/dist/chunk-36SY7TID.js.map +1 -0
- package/dist/chunk-36VULFFV.js +2 -0
- package/dist/chunk-36VULFFV.js.map +1 -0
- package/dist/chunk-3BZBNDRP.js +123 -0
- package/dist/chunk-3BZBNDRP.js.map +1 -0
- package/dist/chunk-3DJ4KY3U.js +82 -0
- package/dist/chunk-3DJ4KY3U.js.map +1 -0
- package/dist/chunk-3EDNWHWD.js +125 -0
- package/dist/chunk-3EDNWHWD.js.map +1 -0
- package/dist/chunk-3JAEQNCB.js +60 -0
- package/dist/chunk-3JAEQNCB.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-3ZR5PMKB.js +41 -0
- package/dist/chunk-3ZR5PMKB.js.map +1 -0
- package/dist/chunk-45ICJ3EV.js +2 -0
- package/dist/chunk-45ICJ3EV.js.map +1 -0
- package/dist/chunk-47YSHR3H.js +77 -0
- package/dist/chunk-47YSHR3H.js.map +1 -0
- package/dist/chunk-4ACT7RLU.js +2 -0
- package/dist/chunk-4ACT7RLU.js.map +1 -0
- package/dist/chunk-4B2E4OCZ.js +44 -0
- package/dist/chunk-4B2E4OCZ.js.map +1 -0
- package/dist/chunk-4C4D6T5M.js +229 -0
- package/dist/chunk-4C4D6T5M.js.map +1 -0
- package/dist/chunk-4DWIMWR5.js +726 -0
- package/dist/chunk-4DWIMWR5.js.map +1 -0
- package/dist/chunk-4DZGAY6R.js +140 -0
- package/dist/chunk-4DZGAY6R.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-4NSCLIES.js +126 -0
- package/dist/chunk-4NSCLIES.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-4VCU3GFI.js +23 -0
- package/dist/chunk-4VCU3GFI.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-545HI223.js +2 -0
- package/dist/chunk-545HI223.js.map +1 -0
- package/dist/chunk-55BM2IU2.js +186 -0
- package/dist/chunk-55BM2IU2.js.map +1 -0
- package/dist/chunk-5C5W52O2.js +27 -0
- package/dist/chunk-5C5W52O2.js.map +1 -0
- package/dist/chunk-5G2DDMHR.js +2 -0
- package/dist/chunk-5G2DDMHR.js.map +1 -0
- package/dist/chunk-5LCN5Q2L.js +23 -0
- package/dist/chunk-5LCN5Q2L.js.map +1 -0
- package/dist/chunk-5MXQ5CP7.js +93 -0
- package/dist/chunk-5MXQ5CP7.js.map +1 -0
- package/dist/chunk-5P4BSHIG.js +2 -0
- package/dist/chunk-5P4BSHIG.js.map +1 -0
- package/dist/chunk-5SHHIQVA.js +22 -0
- package/dist/chunk-5SHHIQVA.js.map +1 -0
- package/dist/chunk-5YZLOAKR.js +2 -0
- package/dist/chunk-5YZLOAKR.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-6HTZBBTC.js +35 -0
- package/dist/chunk-6HTZBBTC.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-72H7HUTH.js +161 -0
- package/dist/chunk-72H7HUTH.js.map +1 -0
- package/dist/chunk-7KV7H2TW.js +323 -0
- package/dist/chunk-7KV7H2TW.js.map +1 -0
- package/dist/chunk-7WIHVGYL.js +2 -0
- package/dist/chunk-7WIHVGYL.js.map +1 -0
- package/dist/chunk-7Z2RAGOA.js +90 -0
- package/dist/chunk-7Z2RAGOA.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-AE6LFFME.js +201 -0
- package/dist/chunk-AE6LFFME.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-ALNJV4XB.js +218 -0
- package/dist/chunk-ALNJV4XB.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-AXHMQOIZ.js +116 -0
- package/dist/chunk-AXHMQOIZ.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-B3DANITU.js +85 -0
- package/dist/chunk-B3DANITU.js.map +1 -0
- package/dist/chunk-B7FAQKHH.js +87 -0
- package/dist/chunk-B7FAQKHH.js.map +1 -0
- package/dist/chunk-BDOG4YSM.js +989 -0
- package/dist/chunk-BDOG4YSM.js.map +1 -0
- package/dist/chunk-BRL2HMZJ.js +110 -0
- package/dist/chunk-BRL2HMZJ.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-BYFRDLDL.js +246 -0
- package/dist/chunk-BYFRDLDL.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-C2ICCCP5.js +400 -0
- package/dist/chunk-C2ICCCP5.js.map +1 -0
- package/dist/chunk-C5QBV5RE.js +77 -0
- package/dist/chunk-C5QBV5RE.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-CDMJSXCB.js +62 -0
- package/dist/chunk-CDMJSXCB.js.map +1 -0
- package/dist/chunk-CEDK5GM2.js +68 -0
- package/dist/chunk-CEDK5GM2.js.map +1 -0
- package/dist/chunk-CEHCVDYR.js +476 -0
- package/dist/chunk-CEHCVDYR.js.map +1 -0
- package/dist/chunk-CEQ3YKHR.js +35 -0
- package/dist/chunk-CEQ3YKHR.js.map +1 -0
- package/dist/chunk-CEQER4CV.js +2 -0
- package/dist/chunk-CEQER4CV.js.map +1 -0
- package/dist/chunk-CMP4F537.js +190 -0
- package/dist/chunk-CMP4F537.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-CY5ISPFB.js +235 -0
- package/dist/chunk-CY5ISPFB.js.map +1 -0
- package/dist/chunk-CY624JOL.js +2 -0
- package/dist/chunk-CY624JOL.js.map +1 -0
- package/dist/chunk-D53EN4Q6.js +2 -0
- package/dist/chunk-D53EN4Q6.js.map +1 -0
- package/dist/chunk-D5INX2EF.js +50 -0
- package/dist/chunk-D5INX2EF.js.map +1 -0
- package/dist/chunk-DCHYNTHI.js +11 -0
- package/dist/chunk-DCHYNTHI.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-DU6ITAJL.js +2 -0
- package/dist/chunk-DU6ITAJL.js.map +1 -0
- package/dist/chunk-DXC3DTCV.js +256 -0
- package/dist/chunk-DXC3DTCV.js.map +1 -0
- package/dist/chunk-DXDLTYTT.js +2 -0
- package/dist/chunk-DXDLTYTT.js.map +1 -0
- package/dist/chunk-E3GNYOLS.js +26 -0
- package/dist/chunk-E3GNYOLS.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-EBNPVPR7.js +266 -0
- package/dist/chunk-EBNPVPR7.js.map +1 -0
- package/dist/chunk-EDE73Q6Z.js +2 -0
- package/dist/chunk-EDE73Q6Z.js.map +1 -0
- package/dist/chunk-EJ3XWNY3.js +52 -0
- package/dist/chunk-EJ3XWNY3.js.map +1 -0
- package/dist/chunk-EJQYE4MY.js +100 -0
- package/dist/chunk-EJQYE4MY.js.map +1 -0
- package/dist/chunk-ENL3CCZB.js +385 -0
- package/dist/chunk-ENL3CCZB.js.map +1 -0
- package/dist/chunk-EP3U7OQ3.js +18 -0
- package/dist/chunk-EP3U7OQ3.js.map +1 -0
- package/dist/chunk-ERTYAID6.js +101 -0
- package/dist/chunk-ERTYAID6.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-FG3PDWE3.js +31 -0
- package/dist/chunk-FG3PDWE3.js.map +1 -0
- package/dist/chunk-FHDJKH2A.js +2 -0
- package/dist/chunk-FHDJKH2A.js.map +1 -0
- package/dist/chunk-FLCQKC64.js +97 -0
- package/dist/chunk-FLCQKC64.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-FXC64HLD.js +137 -0
- package/dist/chunk-FXC64HLD.js.map +1 -0
- package/dist/chunk-FXWWDMMP.js +55 -0
- package/dist/chunk-FXWWDMMP.js.map +1 -0
- package/dist/chunk-FZEG2R3E.js +30 -0
- package/dist/chunk-FZEG2R3E.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-GMXSCEYN.js +24 -0
- package/dist/chunk-GMXSCEYN.js.map +1 -0
- package/dist/chunk-GTBVTLZJ.js +54 -0
- package/dist/chunk-GTBVTLZJ.js.map +1 -0
- package/dist/chunk-GTDCC4YX.js +197 -0
- package/dist/chunk-GTDCC4YX.js.map +1 -0
- package/dist/chunk-GV6GQXKX.js +176 -0
- package/dist/chunk-GV6GQXKX.js.map +1 -0
- package/dist/chunk-GWHO5ACE.js +637 -0
- package/dist/chunk-GWHO5ACE.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-HF6BGFUV.js +78 -0
- package/dist/chunk-HF6BGFUV.js.map +1 -0
- package/dist/chunk-HHVULJGX.js +2 -0
- package/dist/chunk-HHVULJGX.js.map +1 -0
- package/dist/chunk-HHZJALGA.js +163 -0
- package/dist/chunk-HHZJALGA.js.map +1 -0
- package/dist/chunk-HLMFRCFE.js +2 -0
- package/dist/chunk-HLMFRCFE.js.map +1 -0
- package/dist/chunk-HND6FAMX.js +75 -0
- package/dist/chunk-HND6FAMX.js.map +1 -0
- package/dist/chunk-HNLYRHAU.js +74 -0
- package/dist/chunk-HNLYRHAU.js.map +1 -0
- package/dist/chunk-HPUPDT4Q.js +2 -0
- package/dist/chunk-HPUPDT4Q.js.map +1 -0
- package/dist/chunk-HUIYDDDL.js +189 -0
- package/dist/chunk-HUIYDDDL.js.map +1 -0
- package/dist/chunk-HWVU636Q.js +787 -0
- package/dist/chunk-HWVU636Q.js.map +1 -0
- package/dist/chunk-HXQ4MDCH.js +296 -0
- package/dist/chunk-HXQ4MDCH.js.map +1 -0
- package/dist/chunk-HZPNST7D.js +2 -0
- package/dist/chunk-HZPNST7D.js.map +1 -0
- package/dist/chunk-I3U52BDH.js +36 -0
- package/dist/chunk-I3U52BDH.js.map +1 -0
- package/dist/chunk-I6O6ACCH.js +2 -0
- package/dist/chunk-I6O6ACCH.js.map +1 -0
- package/dist/chunk-IE5GWE72.js +177 -0
- package/dist/chunk-IE5GWE72.js.map +1 -0
- package/dist/chunk-IIY5JRNW.js +93 -0
- package/dist/chunk-IIY5JRNW.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-IUQ474IC.js +2 -0
- package/dist/chunk-IUQ474IC.js.map +1 -0
- package/dist/chunk-IVEDMK5U.js +61 -0
- package/dist/chunk-IVEDMK5U.js.map +1 -0
- package/dist/chunk-IY23F2Y5.js +2 -0
- package/dist/chunk-IY23F2Y5.js.map +1 -0
- package/dist/chunk-JCRBDA66.js +2 -0
- package/dist/chunk-JCRBDA66.js.map +1 -0
- package/dist/chunk-JTY3REOB.js +76 -0
- package/dist/chunk-JTY3REOB.js.map +1 -0
- package/dist/chunk-JVCIAEFT.js +68 -0
- package/dist/chunk-JVCIAEFT.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-K4V2ELUZ.js +36 -0
- package/dist/chunk-K4V2ELUZ.js.map +1 -0
- package/dist/chunk-KAAJL2HA.js +327 -0
- package/dist/chunk-KAAJL2HA.js.map +1 -0
- package/dist/chunk-KBWHHAI3.js +246 -0
- package/dist/chunk-KBWHHAI3.js.map +1 -0
- package/dist/chunk-KK2TIWTF.js +54 -0
- package/dist/chunk-KK2TIWTF.js.map +1 -0
- package/dist/chunk-KPZFLTZ2.js +61 -0
- package/dist/chunk-KPZFLTZ2.js.map +1 -0
- package/dist/chunk-KRVSD4OK.js +2 -0
- package/dist/chunk-KRVSD4OK.js.map +1 -0
- package/dist/chunk-KXYL3CUS.js +74 -0
- package/dist/chunk-KXYL3CUS.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-L5O2O67Y.js +164 -0
- package/dist/chunk-L5O2O67Y.js.map +1 -0
- package/dist/chunk-L66VJIRD.js +2 -0
- package/dist/chunk-L66VJIRD.js.map +1 -0
- package/dist/chunk-L6A3RXCU.js +140 -0
- package/dist/chunk-L6A3RXCU.js.map +1 -0
- package/dist/chunk-LDOCY4SU.js +68 -0
- package/dist/chunk-LDOCY4SU.js.map +1 -0
- package/dist/chunk-LG33MONJ.js +74 -0
- package/dist/chunk-LG33MONJ.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-LLYLDZXC.js +54 -0
- package/dist/chunk-LLYLDZXC.js.map +1 -0
- package/dist/chunk-LMV225AS.js +39 -0
- package/dist/chunk-LMV225AS.js.map +1 -0
- package/dist/chunk-LSYVAOSH.js +2 -0
- package/dist/chunk-LSYVAOSH.js.map +1 -0
- package/dist/chunk-LYVBDMDQ.js +2 -0
- package/dist/chunk-LYVBDMDQ.js.map +1 -0
- package/dist/chunk-M2KNQZUL.js +73 -0
- package/dist/chunk-M2KNQZUL.js.map +1 -0
- package/dist/chunk-M3WSUFD4.js +2 -0
- package/dist/chunk-M3WSUFD4.js.map +1 -0
- package/dist/chunk-M5WPZXBA.js +118 -0
- package/dist/chunk-M5WPZXBA.js.map +1 -0
- package/dist/chunk-MDQYRES4.js +796 -0
- package/dist/chunk-MDQYRES4.js.map +1 -0
- package/dist/chunk-MIXCXZWT.js +2 -0
- package/dist/chunk-MIXCXZWT.js.map +1 -0
- package/dist/chunk-MJAIURHO.js +56 -0
- package/dist/chunk-MJAIURHO.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-MRBDJASL.js +97 -0
- package/dist/chunk-MRBDJASL.js.map +1 -0
- package/dist/chunk-MRWOHWEH.js +2 -0
- package/dist/chunk-MRWOHWEH.js.map +1 -0
- package/dist/chunk-MY5H6D5Y.js +245 -0
- package/dist/chunk-MY5H6D5Y.js.map +1 -0
- package/dist/chunk-MZDL7N52.js +2 -0
- package/dist/chunk-MZDL7N52.js.map +1 -0
- package/dist/chunk-N7PJTMRL.js +2 -0
- package/dist/chunk-N7PJTMRL.js.map +1 -0
- package/dist/chunk-NMGNXW3J.js +98 -0
- package/dist/chunk-NMGNXW3J.js.map +1 -0
- package/dist/chunk-NRNIUM75.js +2 -0
- package/dist/chunk-NRNIUM75.js.map +1 -0
- package/dist/chunk-NRPZ3BH4.js +85 -0
- package/dist/chunk-NRPZ3BH4.js.map +1 -0
- package/dist/chunk-NXCOVGDU.js +100 -0
- package/dist/chunk-NXCOVGDU.js.map +1 -0
- package/dist/chunk-NZUKZRT7.js +201 -0
- package/dist/chunk-NZUKZRT7.js.map +1 -0
- package/dist/chunk-O3JWMB6O.js +20 -0
- package/dist/chunk-O3JWMB6O.js.map +1 -0
- package/dist/chunk-O6V65J5J.js +81 -0
- package/dist/chunk-O6V65J5J.js.map +1 -0
- package/dist/chunk-OEPN373X.js +2 -0
- package/dist/chunk-OEPN373X.js.map +1 -0
- package/dist/chunk-OGTILHKP.js +355 -0
- package/dist/chunk-OGTILHKP.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-OKY7ACZK.js +31 -0
- package/dist/chunk-OKY7ACZK.js.map +1 -0
- package/dist/chunk-ON2E7XHD.js +51 -0
- package/dist/chunk-ON2E7XHD.js.map +1 -0
- package/dist/chunk-OPBSVEMX.js +192 -0
- package/dist/chunk-OPBSVEMX.js.map +1 -0
- package/dist/chunk-OR4NVFPH.js +2 -0
- package/dist/chunk-OR4NVFPH.js.map +1 -0
- package/dist/chunk-OYKS7YHE.js +2 -0
- package/dist/chunk-OYKS7YHE.js.map +1 -0
- package/dist/chunk-PGKQZBLZ.js +55 -0
- package/dist/chunk-PGKQZBLZ.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-PQZD5W3E.js +170 -0
- package/dist/chunk-PQZD5W3E.js.map +1 -0
- package/dist/chunk-PSBNQZB4.js +2 -0
- package/dist/chunk-PSBNQZB4.js.map +1 -0
- package/dist/chunk-PSXUEWUS.js +87 -0
- package/dist/chunk-PSXUEWUS.js.map +1 -0
- package/dist/chunk-PT5P4AAU.js +128 -0
- package/dist/chunk-PT5P4AAU.js.map +1 -0
- package/dist/chunk-PUACHQRH.js +31 -0
- package/dist/chunk-PUACHQRH.js.map +1 -0
- package/dist/chunk-QDJHUNBQ.js +2 -0
- package/dist/chunk-QDJHUNBQ.js.map +1 -0
- package/dist/chunk-QF6UWWDY.js +125 -0
- package/dist/chunk-QF6UWWDY.js.map +1 -0
- package/dist/chunk-QKZX5HDY.js +209 -0
- package/dist/chunk-QKZX5HDY.js.map +1 -0
- package/dist/chunk-QLM3KTAQ.js +100 -0
- package/dist/chunk-QLM3KTAQ.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-R27VUCWR.js +140 -0
- package/dist/chunk-R27VUCWR.js.map +1 -0
- package/dist/chunk-R5JYMCEA.js +2 -0
- package/dist/chunk-R5JYMCEA.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-RFTC5UVB.js +126 -0
- package/dist/chunk-RFTC5UVB.js.map +1 -0
- package/dist/chunk-RHVYRQN4.js +201 -0
- package/dist/chunk-RHVYRQN4.js.map +1 -0
- package/dist/chunk-RHXVQZOW.js +2 -0
- package/dist/chunk-RHXVQZOW.js.map +1 -0
- package/dist/chunk-RIYDAMSQ.js +25 -0
- package/dist/chunk-RIYDAMSQ.js.map +1 -0
- package/dist/chunk-RMSMTLXH.js +2 -0
- package/dist/chunk-RMSMTLXH.js.map +1 -0
- package/dist/chunk-RRYWMYGI.js +14 -0
- package/dist/chunk-RRYWMYGI.js.map +1 -0
- package/dist/chunk-RTHCX2TG.js +59 -0
- package/dist/chunk-RTHCX2TG.js.map +1 -0
- package/dist/chunk-RYPK72YP.js +395 -0
- package/dist/chunk-RYPK72YP.js.map +1 -0
- package/dist/chunk-SCCBEFVK.js +187 -0
- package/dist/chunk-SCCBEFVK.js.map +1 -0
- package/dist/chunk-SEGTBIR4.js +110 -0
- package/dist/chunk-SEGTBIR4.js.map +1 -0
- package/dist/chunk-SGBCLZQF.js +38 -0
- package/dist/chunk-SGBCLZQF.js.map +1 -0
- package/dist/chunk-SLDJYJEG.js +133 -0
- package/dist/chunk-SLDJYJEG.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-SSQG36MH.js +226 -0
- package/dist/chunk-SSQG36MH.js.map +1 -0
- package/dist/chunk-SWQCCR6Q.js +140 -0
- package/dist/chunk-SWQCCR6Q.js.map +1 -0
- package/dist/chunk-T2XEMEN2.js +2 -0
- package/dist/chunk-T2XEMEN2.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-TNOANK34.js +4483 -0
- package/dist/chunk-TNOANK34.js.map +1 -0
- package/dist/chunk-U5BZXNHW.js +80 -0
- package/dist/chunk-U5BZXNHW.js.map +1 -0
- package/dist/chunk-U756JCDK.js +27 -0
- package/dist/chunk-U756JCDK.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-UG2T7LMX.js +198 -0
- package/dist/chunk-UG2T7LMX.js.map +1 -0
- package/dist/chunk-UG5TKXTK.js +2 -0
- package/dist/chunk-UG5TKXTK.js.map +1 -0
- package/dist/chunk-UPGIQXUY.js +24 -0
- package/dist/chunk-UPGIQXUY.js.map +1 -0
- package/dist/chunk-UQPW7INX.js +91 -0
- package/dist/chunk-UQPW7INX.js.map +1 -0
- package/dist/chunk-UQRYTMR7.js +2 -0
- package/dist/chunk-UQRYTMR7.js.map +1 -0
- package/dist/chunk-USI4LB3N.js +2 -0
- package/dist/chunk-USI4LB3N.js.map +1 -0
- package/dist/chunk-UUSOIPM2.js +69 -0
- package/dist/chunk-UUSOIPM2.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-V5QCJHDA.js +173 -0
- package/dist/chunk-V5QCJHDA.js.map +1 -0
- package/dist/chunk-V6U75PIG.js +147 -0
- package/dist/chunk-V6U75PIG.js.map +1 -0
- package/dist/chunk-VC4GKLZL.js +111 -0
- package/dist/chunk-VC4GKLZL.js.map +1 -0
- package/dist/chunk-VFS52GGI.js +2 -0
- package/dist/chunk-VFS52GGI.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-W26KFY35.js +32 -0
- package/dist/chunk-W26KFY35.js.map +1 -0
- package/dist/chunk-W35X6J5P.js +232 -0
- package/dist/chunk-W35X6J5P.js.map +1 -0
- package/dist/chunk-W7I2X6VI.js +2 -0
- package/dist/chunk-W7I2X6VI.js.map +1 -0
- package/dist/chunk-W7OIVERI.js +31 -0
- package/dist/chunk-W7OIVERI.js.map +1 -0
- package/dist/chunk-WEEVXQIM.js +45 -0
- package/dist/chunk-WEEVXQIM.js.map +1 -0
- package/dist/chunk-WEM6XJ7Z.js +75 -0
- package/dist/chunk-WEM6XJ7Z.js.map +1 -0
- package/dist/chunk-WKNOKJA3.js +42 -0
- package/dist/chunk-WKNOKJA3.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-WYENWW3Y.js +2 -0
- package/dist/chunk-WYENWW3Y.js.map +1 -0
- package/dist/chunk-X4FE7UKP.js +2 -0
- package/dist/chunk-X4FE7UKP.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-XYFEQHEM.js +2 -0
- package/dist/chunk-XYFEQHEM.js.map +1 -0
- package/dist/chunk-Y33ZFTMR.js +163 -0
- package/dist/chunk-Y33ZFTMR.js.map +1 -0
- package/dist/chunk-YA2QGLUL.js +32 -0
- package/dist/chunk-YA2QGLUL.js.map +1 -0
- package/dist/chunk-YCFOFNQF.js +28 -0
- package/dist/chunk-YCFOFNQF.js.map +1 -0
- package/dist/chunk-YFGFNFVW.js +59 -0
- package/dist/chunk-YFGFNFVW.js.map +1 -0
- package/dist/chunk-YFKKMDJL.js +35 -0
- package/dist/chunk-YFKKMDJL.js.map +1 -0
- package/dist/chunk-YHVXYOL6.js +80 -0
- package/dist/chunk-YHVXYOL6.js.map +1 -0
- package/dist/chunk-YIFB24WW.js +37 -0
- package/dist/chunk-YIFB24WW.js.map +1 -0
- package/dist/chunk-YK4H7VWM.js +2 -0
- package/dist/chunk-YK4H7VWM.js.map +1 -0
- package/dist/chunk-YMFEBGTU.js +2 -0
- package/dist/chunk-YMFEBGTU.js.map +1 -0
- package/dist/chunk-YUFDC6RW.js +55 -0
- package/dist/chunk-YUFDC6RW.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-ZALGMUSW.js +236 -0
- package/dist/chunk-ZALGMUSW.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-ZFMM2NLA.js +169 -0
- package/dist/chunk-ZFMM2NLA.js.map +1 -0
- package/dist/chunk-ZI2OXD6L.js +244 -0
- package/dist/chunk-ZI2OXD6L.js.map +1 -0
- package/dist/chunk-ZRMF4YAS.js +158 -0
- package/dist/chunk-ZRMF4YAS.js.map +1 -0
- package/dist/chunk-ZSYT5H6U.js +178 -0
- package/dist/chunk-ZSYT5H6U.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/drafting-marks/drafting-marks.js +14 -0
- package/dist/components/drafting-marks/drafting-marks.js.map +1 -0
- package/dist/components/drafting-marks/index.js +15 -0
- package/dist/components/drafting-marks/index.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 +1312 -119
- package/dist/index.js +1002 -23939
- 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 +30 -7
- 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 +13 -6
- package/src/__contract__/ambient-field.contract.test.tsx +49 -0
- package/src/__contract__/command-chip.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__/meter.contract.test.tsx +49 -0
- package/src/__contract__/parallax-plane.contract.test.tsx +49 -0
- package/src/__contract__/reveal-on-enter.contract.test.tsx +49 -0
- package/src/__contract__/spec-playground.contract.test.tsx +49 -0
- package/src/__contract__/surface-tour.contract.test.tsx +49 -0
- package/src/__contract__/theme-family-switch.contract.test.tsx +49 -0
- package/src/__contract__/token-spotlight.contract.test.tsx +49 -0
- package/src/blocks-comparison-table.stories.tsx +1 -1
- package/src/components/accordion/accordion.tsx +31 -15
- package/src/components/advanced-group/advanced-group.stories.tsx +2 -0
- package/src/components/alert/alert.tsx +13 -5
- package/src/components/alert-dialog/alert-dialog.tsx +1 -1
- 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 +167 -0
- package/src/components/app-shell/app-shell.tsx +119 -5
- package/src/components/app-shell/index.ts +1 -1
- package/src/components/attribution-panel/attributions.generated.ts +77 -4
- package/src/components/badge/badge.stories.tsx +62 -0
- package/src/components/badge/badge.test.tsx +21 -0
- package/src/components/badge/badge.tsx +88 -8
- package/src/components/breadcrumb/breadcrumb.stories.tsx +1 -1
- package/src/components/breadcrumb/breadcrumb.tsx +2 -0
- package/src/components/button/button.stories.tsx +5 -1
- package/src/components/button/button.tsx +19 -8
- package/src/components/calendar/calendar.tsx +6 -1
- package/src/components/card/card.stories.tsx +73 -1
- package/src/components/card/card.test.tsx +29 -2
- package/src/components/card/card.tsx +77 -13
- package/src/components/card/index.ts +2 -0
- package/src/components/change-review/change-review.tsx +1 -1
- package/src/components/collapsible-panel/index.ts +1 -0
- package/src/components/collapsible-panel/use-collapsible-panel.ts +21 -2
- package/src/components/color-picker/color-picker.tsx +3 -3
- package/src/components/command/command.stories.tsx +64 -1
- package/src/components/command/command.test.tsx +73 -0
- package/src/components/command/command.tsx +73 -2
- 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 +6 -6
- package/src/components/context-rail/context-rail.tsx +22 -4
- package/src/components/date-picker/date-picker.tsx +2 -0
- package/src/components/descriptions/descriptions.stories.tsx +6 -0
- package/src/components/descriptions/descriptions.test.tsx +18 -0
- package/src/components/descriptions/descriptions.tsx +33 -5
- package/src/components/descriptions/index.ts +1 -0
- package/src/components/dialog/dialog.stories.tsx +5 -0
- package/src/components/dialog/dialog.tsx +1 -1
- package/src/components/drafting-marks/drafting-marks.stories.tsx +88 -0
- package/src/components/drafting-marks/drafting-marks.test.tsx +55 -0
- package/src/components/drafting-marks/drafting-marks.tsx +120 -0
- package/src/components/drafting-marks/index.ts +7 -0
- package/src/components/dropdown-menu/dropdown-menu.stories.tsx +37 -0
- package/src/components/dropdown-menu/dropdown-menu.tsx +14 -6
- package/src/components/expand-dialog/expand-dialog.test.tsx +47 -0
- package/src/components/expand-dialog/expand-dialog.tsx +20 -5
- package/src/components/hover-card/hover-card.tsx +1 -1
- package/src/components/input/input.stories.tsx +17 -0
- package/src/components/input/input.tsx +1 -1
- package/src/components/input-group/input-group.stories.tsx +43 -6
- package/src/components/input-group/input-group.tsx +5 -2
- package/src/components/input-otp/input-otp.tsx +4 -2
- 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/locale-provider/messages.ts +252 -0
- package/src/components/mention-input/mention-input.tsx +1 -1
- package/src/components/menubar/menubar.stories.tsx +25 -0
- package/src/components/menubar/menubar.tsx +7 -7
- 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-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 +1 -1
- 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.tsx +2 -0
- 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 +1 -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 +57 -3
- 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 +1 -3
- 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.stories.tsx +33 -0
- package/src/components/schema-form/schema-form.test.tsx +43 -0
- package/src/components/schema-form/schema-form.tsx +111 -4
- 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.stories.tsx +23 -0
- package/src/components/section-header/section-header.tsx +27 -9
- package/src/components/select/select.stories.tsx +17 -0
- package/src/components/select/select.test.tsx +28 -1
- package/src/components/select/select.tsx +3 -3
- package/src/components/sheet/sheet.tsx +1 -1
- package/src/components/side-dock/side-dock.stories.tsx +83 -0
- package/src/components/side-dock/side-dock.tsx +50 -16
- package/src/components/sidebar/sidebar.stories.tsx +3 -3
- package/src/components/sidebar/sidebar.test.tsx +31 -1
- package/src/components/sidebar/sidebar.tsx +40 -8
- package/src/components/skip-link/skip-link.stories.tsx +1 -0
- package/src/components/slider/slider.stories.tsx +13 -77
- 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/state-panel/state-panel.stories.tsx +4 -2
- package/src/components/state-panel/state-panel.tsx +1 -1
- 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/table/table.tsx +5 -2
- package/src/components/tabs/tabs.stories.tsx +47 -1
- package/src/components/tabs/tabs.test.tsx +26 -0
- package/src/components/tabs/tabs.tsx +51 -11
- package/src/components/textarea/textarea.tsx +1 -1
- 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.tsx +11 -4
- 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/top-nav/top-nav.test.tsx +59 -0
- package/src/components/top-nav/top-nav.tsx +36 -6
- package/src/components/tree/tree.stories.tsx +1 -1
- package/src/components/tree/tree.test.tsx +4 -4
- package/src/components/tree/tree.tsx +4 -4
- 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/decoration.stories.tsx +243 -2
- package/src/index.ts +47 -0
- package/src/lib/cn.test.ts +49 -0
- package/src/lib/cn.ts +39 -7
- 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/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-FCH4ZN6G.js +0 -57
- package/dist/chunk-FCH4ZN6G.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-CEDK5GM2.js";
|
|
8
|
+
import {
|
|
9
|
+
Card,
|
|
10
|
+
CardContent
|
|
11
|
+
} from "./chunk-7KV7H2TW.js";
|
|
12
|
+
import {
|
|
13
|
+
Skeleton
|
|
14
|
+
} from "./chunk-UPGIQXUY.js";
|
|
15
|
+
import {
|
|
16
|
+
useLocale
|
|
17
|
+
} from "./chunk-EJQYE4MY.js";
|
|
18
|
+
import {
|
|
19
|
+
cn
|
|
20
|
+
} from "./chunk-FXWWDMMP.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-IE5GWE72.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":"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","names":["MetricCard"]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
STATUS_LABELS,
|
|
4
|
+
fromTimelineStatus
|
|
5
|
+
} from "./chunk-DXC3DTCV.js";
|
|
6
|
+
import {
|
|
7
|
+
cn
|
|
8
|
+
} from "./chunk-FXWWDMMP.js";
|
|
9
|
+
|
|
10
|
+
// src/components/timeline/timeline.tsx
|
|
11
|
+
import { forwardRef } from "react";
|
|
12
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
13
|
+
var NODE_STYLE = {
|
|
14
|
+
pending: "border-border bg-background",
|
|
15
|
+
running: "border-info bg-info ring-2 ring-info/25",
|
|
16
|
+
complete: "border-success bg-success",
|
|
17
|
+
"awaiting-approval": "border-warning bg-warning ring-1 ring-warning/40",
|
|
18
|
+
denied: "border-border bg-muted border-dashed",
|
|
19
|
+
failed: "border-destructive bg-destructive ring-4 ring-destructive/20",
|
|
20
|
+
skipped: "border-border bg-muted border-dotted"
|
|
21
|
+
};
|
|
22
|
+
var MUTED_TITLE_STATUSES = /* @__PURE__ */ new Set(["pending", "skipped", "denied"]);
|
|
23
|
+
var TimelineRoot = forwardRef(function TimelineRoot2({ className, ...props }, ref) {
|
|
24
|
+
return /* @__PURE__ */ jsx("ol", { ref, className: cn("relative", className), ...props });
|
|
25
|
+
});
|
|
26
|
+
var TimelineItem = forwardRef(function TimelineItem2({ status = "pending", timestamp, description, detail, className, children, ...props }, ref) {
|
|
27
|
+
return /* @__PURE__ */ jsxs(
|
|
28
|
+
"li",
|
|
29
|
+
{
|
|
30
|
+
ref,
|
|
31
|
+
"data-status": status,
|
|
32
|
+
className: cn("group/timeline-item relative pb-5 ps-7 last:pb-0", className),
|
|
33
|
+
...props,
|
|
34
|
+
children: [
|
|
35
|
+
/* @__PURE__ */ jsx(
|
|
36
|
+
"span",
|
|
37
|
+
{
|
|
38
|
+
"aria-hidden": "true",
|
|
39
|
+
className: "absolute start-[5px] top-2.5 h-full w-px bg-border group-last/timeline-item:hidden"
|
|
40
|
+
}
|
|
41
|
+
),
|
|
42
|
+
/* @__PURE__ */ jsx(
|
|
43
|
+
"span",
|
|
44
|
+
{
|
|
45
|
+
"aria-hidden": "true",
|
|
46
|
+
className: cn("absolute start-0 top-1 size-3 rounded-full border-2", NODE_STYLE[status])
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
/* @__PURE__ */ jsxs("div", { className: "flex items-baseline justify-between gap-3", children: [
|
|
50
|
+
/* @__PURE__ */ jsxs(
|
|
51
|
+
"span",
|
|
52
|
+
{
|
|
53
|
+
className: cn(
|
|
54
|
+
"text-body font-medium",
|
|
55
|
+
MUTED_TITLE_STATUSES.has(status) ? "text-muted-foreground" : "text-foreground"
|
|
56
|
+
),
|
|
57
|
+
children: [
|
|
58
|
+
/* @__PURE__ */ jsxs("span", { className: "sr-only", children: [
|
|
59
|
+
STATUS_LABELS[status],
|
|
60
|
+
": "
|
|
61
|
+
] }),
|
|
62
|
+
children
|
|
63
|
+
]
|
|
64
|
+
}
|
|
65
|
+
),
|
|
66
|
+
timestamp ? /* @__PURE__ */ jsx("span", { className: "shrink-0 text-meta text-muted-foreground tabular-nums", children: timestamp }) : null
|
|
67
|
+
] }),
|
|
68
|
+
description ? /* @__PURE__ */ jsx("p", { className: "mt-0.5 text-body text-muted-foreground", children: description }) : null,
|
|
69
|
+
detail ? /* @__PURE__ */ jsx("div", { className: "mt-2 space-y-2", children: detail }) : null
|
|
70
|
+
]
|
|
71
|
+
}
|
|
72
|
+
);
|
|
73
|
+
});
|
|
74
|
+
var Timeline = forwardRef(function Timeline2({ items, className, ...props }, ref) {
|
|
75
|
+
return /* @__PURE__ */ jsx(TimelineRoot, { ref, className, ...props, children: items.map((item, i) => /* @__PURE__ */ jsx(
|
|
76
|
+
TimelineItem,
|
|
77
|
+
{
|
|
78
|
+
status: fromTimelineStatus(item.status ?? "pending"),
|
|
79
|
+
timestamp: item.timestamp,
|
|
80
|
+
description: item.description,
|
|
81
|
+
children: item.title
|
|
82
|
+
},
|
|
83
|
+
i
|
|
84
|
+
)) });
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
export {
|
|
88
|
+
NODE_STYLE,
|
|
89
|
+
TimelineRoot,
|
|
90
|
+
TimelineItem,
|
|
91
|
+
Timeline
|
|
92
|
+
};
|
|
93
|
+
//# sourceMappingURL=chunk-IIY5JRNW.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/timeline/timeline.tsx"],"sourcesContent":["/**\n * Timeline — THE rail/node/connector spine (#190, research 10 §B.2): an\n * ordered list of steps with a vertical connector and a status-colored node\n * per step. Moved from `@elabs-ai/components-editor` (which re-exports it for back-compat —\n * the ADR-0012 own/re-export model); the branded target for the editor's\n * `:::timeline` markdown directive, and reusable anywhere a process/sequence\n * needs showing. Token-driven, theme-safe, motion-free (animation belongs to\n * composing consumers, e.g. the `@elabs-ai/components-ai` agent grammar).\n *\n * One rail, two front doors:\n * - compound `TimelineRoot` + `TimelineItem` — for composing consumers that\n * interleave rich children per node. The node takes the CANONICAL 7-state\n * `Status` (status-badge, #189) — closed enum, no freeform strings.\n * - array `Timeline items={TimelineEntry[]}` — a thin map over the compound\n * parts. Keeps the editor-facing `done|active|pending` API unchanged by\n * mapping in via `fromTimelineStatus` at the boundary.\n *\n * Deliberately NOT on this rail (a different grammar, not an oversight —\n * RM-014, #133): `RevisionTimeline` (@elabs-ai/components-ui). Its rail is a\n * multi-lane commit DAG whose node colour is LANE IDENTITY (the chart ramp),\n * not `Status`, and whose fork/merge joins are cross-row beziers living in one\n * SVG coordinate space spanning the whole list — neither of which a\n * status-keyed node or an item-local `w-px` connector can express. Carrying\n * both grammars here would cost ~5 opt-in props, four of them switching this\n * rail's own node/connector/geometry/status announcement off. The four-point\n * reason is in that component's docblock; reopen #133 before converging them.\n */\nimport { forwardRef, type HTMLAttributes, type LiHTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport {\n fromTimelineStatus,\n STATUS_LABELS,\n type Status,\n type TimelineStatus,\n} from \"../status-badge\";\n\n/**\n * Node visual per canonical status. This is a DUPLICATE of the status→role\n * mapping `status-badge.tsx` owns (`STATUS_ROLE`) — it exists because the rail\n * node is a filled dot, not a badge pill, so it can't share `statusBadgeVariants`\n * directly. A duplicate is only safe when it is TESTED against the source of\n * truth: `timeline.test.tsx` asserts every chromatic status here resolves to\n * the same role as `STATUS_ROLE`/`statusBadgeVariants` (#392 — `running` had\n * silently drifted to `--primary` here while the canonical map said `--info`,\n * because nothing checked the two agreed). Semantic tokens only.\n *\n * Every status ALSO carries a non-colour signature (#387, WCAG 1.4.1) — a\n * 12px dot can't host a legible glyph, so the cue is geometric. It took an\n * empirical (rendered) pass to find a signature that actually PAINTS\n * distinctly, not merely one that differs as a class string:\n * - `denied`/`skipped` (hollow-ish `bg-muted`, `border-border`) get\n * `border-dashed`/`border-dotted` — this WORKS because border and fill\n * are different colours there, so the gaps in the dash/dot pattern show\n * the (lighter) fill through the (darker) border.\n * - `running`/`complete`/`awaiting-approval`/`failed` are all `bg-<status>\n * border-<status>` — the vivid MARK rung, where border and fill are the\n * SAME token. A `border-style` on a same-colour border is invisible (no\n * colour boundary for the dash gaps to reveal), so this quartet is\n * differentiated by `ring-*` WIDTH instead — the ring sits outside the\n * dot, contrasting against the PAGE, not the fill, which is why\n * `running`'s existing halo was legible in the first place. Widths\n * `0 / 1 / 2 / 4` give four unmistakably different silhouettes:\n * `complete` none (calm/settled, matches `StatusBadge`'s quiet\n * treatment for `complete`) → `awaiting-approval` `ring-1` (a nudge) →\n * `running` `ring-2` (active) → `failed` `ring-4` (the widest, most\n * emphatic — the state that most needs to grab the eye).\n * `denied`/`skipped` were byte-identical before this; the ring-width\n * progression replaces an earlier border-style-only attempt that turned out\n * to be visually void on the vivid quartet — verified in `timeline.test.tsx`\n * (structural) and by rendered zoomed + greyscale screenshots (see #387\n * rendered proof) — don't reintroduce border-style there without re-checking\n * a render, it will look correct in code and disappear on screen.\n */\nexport const NODE_STYLE: Record<Status, string> = {\n pending: \"border-border bg-background\",\n running: \"border-info bg-info ring-2 ring-info/25\",\n complete: \"border-success bg-success\",\n \"awaiting-approval\": \"border-warning bg-warning ring-1 ring-warning/40\",\n denied: \"border-border bg-muted border-dashed\",\n failed: \"border-destructive bg-destructive ring-4 ring-destructive/20\",\n skipped: \"border-border bg-muted border-dotted\",\n};\n\n/** Statuses whose title reads de-emphasized (not-yet/never-run steps). */\nconst MUTED_TITLE_STATUSES: ReadonlySet<Status> = new Set([\"pending\", \"skipped\", \"denied\"]);\n\nexport type TimelineRootProps = HTMLAttributes<HTMLOListElement>;\n\n/** The `<ol>` that owns the rail geometry; compose `TimelineItem`s inside. */\nexport const TimelineRoot = forwardRef<HTMLOListElement, TimelineRootProps>(function TimelineRoot(\n { className, ...props },\n ref,\n) {\n return <ol ref={ref} className={cn(\"relative\", className)} {...props} />;\n});\n\nexport interface TimelineItemProps extends LiHTMLAttributes<HTMLLIElement> {\n /** The canonical execution status (closed 7-state enum, status-badge #189). */\n status?: Status;\n /** Right-aligned meta (e.g. a date) on the title row. */\n timestamp?: ReactNode;\n /** Secondary line under the title. */\n description?: ReactNode;\n /**\n * Rich block content under the title/description, indented with the rail —\n * the slot composing consumers (e.g. `@elabs-ai/components-ai`'s `AgentStep`, #192)\n * interleave per node. Block-level, so it must NOT ride the inline title\n * slot (`children`).\n */\n detail?: ReactNode;\n}\n\n/**\n * One `<li>`: status node + connector + the title row; `children` is the\n * title slot. The connector hides itself on the last item via CSS\n * (`group-last`), so streaming/compound consumers never track \"is last\".\n */\nexport const TimelineItem = forwardRef<HTMLLIElement, TimelineItemProps>(function TimelineItem(\n { status = \"pending\", timestamp, description, detail, className, children, ...props },\n ref,\n) {\n return (\n <li\n ref={ref}\n data-status={status}\n className={cn(\"group/timeline-item relative pb-5 ps-7 last:pb-0\", className)}\n {...props}\n >\n <span\n aria-hidden=\"true\"\n className=\"absolute start-[5px] top-2.5 h-full w-px bg-border group-last/timeline-item:hidden\"\n />\n <span\n aria-hidden=\"true\"\n className={cn(\"absolute start-0 top-1 size-3 rounded-full border-2\", NODE_STYLE[status])}\n />\n <div className=\"flex items-baseline justify-between gap-3\">\n <span\n className={cn(\n \"text-body font-medium\",\n MUTED_TITLE_STATUSES.has(status) ? \"text-muted-foreground\" : \"text-foreground\",\n )}\n >\n {/* The dot is `aria-hidden` and `data-status` isn't AT-visible (#387) —\n this is the step's only announced status; kept inline so it reads\n naturally as \"<Status>: <title>\" instead of a second live region. */}\n <span className=\"sr-only\">{STATUS_LABELS[status]}: </span>\n {children}\n </span>\n {timestamp ? (\n <span className=\"shrink-0 text-meta text-muted-foreground tabular-nums\">{timestamp}</span>\n ) : null}\n </div>\n {description ? <p className=\"mt-0.5 text-body text-muted-foreground\">{description}</p> : null}\n {detail ? <div className=\"mt-2 space-y-2\">{detail}</div> : null}\n </li>\n );\n});\n\n/**\n * One step of the array-API `Timeline` (the editor's original item shape —\n * re-exported by `@elabs-ai/components-editor` as `TimelineItem` for back-compat).\n */\nexport interface TimelineEntry {\n title: ReactNode;\n description?: ReactNode;\n /** The editor's 3-state vocabulary; mapped in via `fromTimelineStatus`. */\n status?: TimelineStatus;\n timestamp?: ReactNode;\n}\n\nexport interface TimelineProps extends HTMLAttributes<HTMLOListElement> {\n items: TimelineEntry[];\n}\n\n/** Array convenience over the compound parts (data in, list out). */\nexport const Timeline = forwardRef<HTMLOListElement, TimelineProps>(function Timeline(\n { items, className, ...props },\n ref,\n) {\n return (\n <TimelineRoot ref={ref} className={className} {...props}>\n {items.map((item, i) => (\n <TimelineItem\n key={i}\n status={fromTimelineStatus(item.status ?? \"pending\")}\n timestamp={item.timestamp}\n description={item.description}\n >\n {item.title}\n </TimelineItem>\n ))}\n </TimelineRoot>\n );\n});\n"],"mappings":";;;;;;;;;;AA2BA,SAAS,kBAA8E;AAkE9E,cAqDC,YArDD;AApBF,IAAM,aAAqC;AAAA,EAChD,SAAS;AAAA,EACT,SAAS;AAAA,EACT,UAAU;AAAA,EACV,qBAAqB;AAAA,EACrB,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,SAAS;AACX;AAGA,IAAM,uBAA4C,oBAAI,IAAI,CAAC,WAAW,WAAW,QAAQ,CAAC;AAKnF,IAAM,eAAe,WAAgD,SAASA,cACnF,EAAE,WAAW,GAAG,MAAM,GACtB,KACA;AACA,SAAO,oBAAC,QAAG,KAAU,WAAW,GAAG,YAAY,SAAS,GAAI,GAAG,OAAO;AACxE,CAAC;AAuBM,IAAM,eAAe,WAA6C,SAASC,cAChF,EAAE,SAAS,WAAW,WAAW,aAAa,QAAQ,WAAW,UAAU,GAAG,MAAM,GACpF,KACA;AACA,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,eAAa;AAAA,MACb,WAAW,GAAG,oDAAoD,SAAS;AAAA,MAC1E,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAU;AAAA;AAAA,QACZ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,eAAY;AAAA,YACZ,WAAW,GAAG,uDAAuD,WAAW,MAAM,CAAC;AAAA;AAAA,QACzF;AAAA,QACA,qBAAC,SAAI,WAAU,6CACb;AAAA;AAAA,YAAC;AAAA;AAAA,cACC,WAAW;AAAA,gBACT;AAAA,gBACA,qBAAqB,IAAI,MAAM,IAAI,0BAA0B;AAAA,cAC/D;AAAA,cAKA;AAAA,qCAAC,UAAK,WAAU,WAAW;AAAA,gCAAc,MAAM;AAAA,kBAAE;AAAA,mBAAE;AAAA,gBAClD;AAAA;AAAA;AAAA,UACH;AAAA,UACC,YACC,oBAAC,UAAK,WAAU,yDAAyD,qBAAU,IACjF;AAAA,WACN;AAAA,QACC,cAAc,oBAAC,OAAE,WAAU,0CAA0C,uBAAY,IAAO;AAAA,QACxF,SAAS,oBAAC,SAAI,WAAU,kBAAkB,kBAAO,IAAS;AAAA;AAAA;AAAA,EAC7D;AAEJ,CAAC;AAmBM,IAAM,WAAW,WAA4C,SAASC,UAC3E,EAAE,OAAO,WAAW,GAAG,MAAM,GAC7B,KACA;AACA,SACE,oBAAC,gBAAa,KAAU,WAAuB,GAAG,OAC/C,gBAAM,IAAI,CAAC,MAAM,MAChB;AAAA,IAAC;AAAA;AAAA,MAEC,QAAQ,mBAAmB,KAAK,UAAU,SAAS;AAAA,MACnD,WAAW,KAAK;AAAA,MAChB,aAAa,KAAK;AAAA,MAEjB,eAAK;AAAA;AAAA,IALD;AAAA,EAMP,CACD,GACH;AAEJ,CAAC;","names":["TimelineRoot","TimelineItem","Timeline"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,218 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/lib/file-kind.ts
|
|
4
|
+
var EXTENSION_MEDIA_TYPES = {
|
|
5
|
+
// Media. The browser fills `File.type` for these, but a NAME on its own (a
|
|
6
|
+
// URL, an agent-produced filename, a drag-and-drop path) carries no MIME —
|
|
7
|
+
// and resolving `photo.png` to "unknown" is the whole failure this map exists
|
|
8
|
+
// to prevent.
|
|
9
|
+
png: "image/png",
|
|
10
|
+
jpg: "image/jpeg",
|
|
11
|
+
jpeg: "image/jpeg",
|
|
12
|
+
gif: "image/gif",
|
|
13
|
+
webp: "image/webp",
|
|
14
|
+
avif: "image/avif",
|
|
15
|
+
bmp: "image/bmp",
|
|
16
|
+
ico: "image/x-icon",
|
|
17
|
+
tif: "image/tiff",
|
|
18
|
+
tiff: "image/tiff",
|
|
19
|
+
heic: "image/heic",
|
|
20
|
+
mp4: "video/mp4",
|
|
21
|
+
m4v: "video/mp4",
|
|
22
|
+
webm: "video/webm",
|
|
23
|
+
mov: "video/quicktime",
|
|
24
|
+
avi: "video/x-msvideo",
|
|
25
|
+
mkv: "video/x-matroska",
|
|
26
|
+
mp3: "audio/mpeg",
|
|
27
|
+
wav: "audio/wav",
|
|
28
|
+
ogg: "audio/ogg",
|
|
29
|
+
oga: "audio/ogg",
|
|
30
|
+
m4a: "audio/mp4",
|
|
31
|
+
flac: "audio/flac",
|
|
32
|
+
aac: "audio/aac",
|
|
33
|
+
// Documents
|
|
34
|
+
pdf: "application/pdf",
|
|
35
|
+
doc: "application/msword",
|
|
36
|
+
docx: "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
|
|
37
|
+
odt: "application/vnd.oasis.opendocument.text",
|
|
38
|
+
rtf: "application/rtf",
|
|
39
|
+
epub: "application/epub+zip",
|
|
40
|
+
// Spreadsheets
|
|
41
|
+
xls: "application/vnd.ms-excel",
|
|
42
|
+
xlsx: "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
|
|
43
|
+
ods: "application/vnd.oasis.opendocument.spreadsheet",
|
|
44
|
+
// Presentations
|
|
45
|
+
ppt: "application/vnd.ms-powerpoint",
|
|
46
|
+
pptx: "application/vnd.openxmlformats-officedocument.presentationml.presentation",
|
|
47
|
+
odp: "application/vnd.oasis.opendocument.presentation",
|
|
48
|
+
// Data
|
|
49
|
+
csv: "text/csv",
|
|
50
|
+
tsv: "text/tab-separated-values",
|
|
51
|
+
json: "application/json",
|
|
52
|
+
ndjson: "application/x-ndjson",
|
|
53
|
+
jsonl: "application/x-ndjson",
|
|
54
|
+
parquet: "application/vnd.apache.parquet",
|
|
55
|
+
// Text
|
|
56
|
+
txt: "text/plain",
|
|
57
|
+
log: "text/plain",
|
|
58
|
+
md: "text/markdown",
|
|
59
|
+
markdown: "text/markdown",
|
|
60
|
+
rst: "text/x-rst",
|
|
61
|
+
// Code & markup
|
|
62
|
+
html: "text/html",
|
|
63
|
+
htm: "text/html",
|
|
64
|
+
xml: "application/xml",
|
|
65
|
+
svg: "image/svg+xml",
|
|
66
|
+
css: "text/css",
|
|
67
|
+
js: "text/javascript",
|
|
68
|
+
mjs: "text/javascript",
|
|
69
|
+
cjs: "text/javascript",
|
|
70
|
+
jsx: "text/javascript",
|
|
71
|
+
ts: "text/x-typescript",
|
|
72
|
+
tsx: "text/x-typescript",
|
|
73
|
+
py: "text/x-python",
|
|
74
|
+
rb: "text/x-ruby",
|
|
75
|
+
go: "text/x-go",
|
|
76
|
+
rs: "text/x-rust",
|
|
77
|
+
java: "text/x-java",
|
|
78
|
+
kt: "text/x-kotlin",
|
|
79
|
+
swift: "text/x-swift",
|
|
80
|
+
c: "text/x-c",
|
|
81
|
+
h: "text/x-c",
|
|
82
|
+
cpp: "text/x-c++src",
|
|
83
|
+
cs: "text/x-csharp",
|
|
84
|
+
php: "text/x-php",
|
|
85
|
+
sh: "application/x-sh",
|
|
86
|
+
bash: "application/x-sh",
|
|
87
|
+
zsh: "application/x-sh",
|
|
88
|
+
sql: "application/sql",
|
|
89
|
+
yaml: "application/yaml",
|
|
90
|
+
yml: "application/yaml",
|
|
91
|
+
toml: "application/toml",
|
|
92
|
+
ini: "text/plain",
|
|
93
|
+
// Archives
|
|
94
|
+
zip: "application/zip",
|
|
95
|
+
tar: "application/x-tar",
|
|
96
|
+
gz: "application/gzip",
|
|
97
|
+
tgz: "application/gzip",
|
|
98
|
+
bz2: "application/x-bzip2",
|
|
99
|
+
"7z": "application/x-7z-compressed",
|
|
100
|
+
rar: "application/vnd.rar"
|
|
101
|
+
};
|
|
102
|
+
var EXTENSION_CATEGORIES = {
|
|
103
|
+
// Code & markup — most carry a `text/*` MIME, which alone would say "text".
|
|
104
|
+
html: "code",
|
|
105
|
+
htm: "code",
|
|
106
|
+
xml: "code",
|
|
107
|
+
css: "code",
|
|
108
|
+
js: "code",
|
|
109
|
+
mjs: "code",
|
|
110
|
+
cjs: "code",
|
|
111
|
+
jsx: "code",
|
|
112
|
+
ts: "code",
|
|
113
|
+
tsx: "code",
|
|
114
|
+
py: "code",
|
|
115
|
+
rb: "code",
|
|
116
|
+
go: "code",
|
|
117
|
+
rs: "code",
|
|
118
|
+
java: "code",
|
|
119
|
+
kt: "code",
|
|
120
|
+
swift: "code",
|
|
121
|
+
c: "code",
|
|
122
|
+
h: "code",
|
|
123
|
+
cpp: "code",
|
|
124
|
+
cs: "code",
|
|
125
|
+
php: "code",
|
|
126
|
+
sh: "code",
|
|
127
|
+
bash: "code",
|
|
128
|
+
zsh: "code",
|
|
129
|
+
sql: "code",
|
|
130
|
+
yaml: "code",
|
|
131
|
+
yml: "code",
|
|
132
|
+
toml: "code",
|
|
133
|
+
ini: "code",
|
|
134
|
+
// Data — `text/csv` would otherwise land in "text".
|
|
135
|
+
csv: "data",
|
|
136
|
+
tsv: "data",
|
|
137
|
+
json: "data",
|
|
138
|
+
ndjson: "data",
|
|
139
|
+
jsonl: "data",
|
|
140
|
+
parquet: "data",
|
|
141
|
+
// Prose
|
|
142
|
+
txt: "text",
|
|
143
|
+
log: "text",
|
|
144
|
+
md: "text",
|
|
145
|
+
markdown: "text",
|
|
146
|
+
rst: "text"
|
|
147
|
+
};
|
|
148
|
+
var MEDIA_TYPE_CATEGORIES = {
|
|
149
|
+
"application/pdf": "document",
|
|
150
|
+
"application/msword": "document",
|
|
151
|
+
"application/vnd.openxmlformats-officedocument.wordprocessingml.document": "document",
|
|
152
|
+
"application/vnd.oasis.opendocument.text": "document",
|
|
153
|
+
"application/rtf": "document",
|
|
154
|
+
"application/epub+zip": "document",
|
|
155
|
+
"application/vnd.ms-excel": "spreadsheet",
|
|
156
|
+
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet": "spreadsheet",
|
|
157
|
+
"application/vnd.oasis.opendocument.spreadsheet": "spreadsheet",
|
|
158
|
+
"application/vnd.ms-powerpoint": "presentation",
|
|
159
|
+
"application/vnd.openxmlformats-officedocument.presentationml.presentation": "presentation",
|
|
160
|
+
"application/vnd.oasis.opendocument.presentation": "presentation",
|
|
161
|
+
"application/json": "data",
|
|
162
|
+
"application/x-ndjson": "data",
|
|
163
|
+
"application/vnd.apache.parquet": "data",
|
|
164
|
+
"application/xml": "code",
|
|
165
|
+
"application/sql": "code",
|
|
166
|
+
"application/yaml": "code",
|
|
167
|
+
"application/toml": "code",
|
|
168
|
+
"application/x-sh": "code",
|
|
169
|
+
"application/zip": "archive",
|
|
170
|
+
"application/x-tar": "archive",
|
|
171
|
+
"application/gzip": "archive",
|
|
172
|
+
"application/x-bzip2": "archive",
|
|
173
|
+
"application/x-7z-compressed": "archive",
|
|
174
|
+
"application/vnd.rar": "archive"
|
|
175
|
+
};
|
|
176
|
+
var UNKNOWN_MEDIA_TYPE = "application/octet-stream";
|
|
177
|
+
function extensionOf(name) {
|
|
178
|
+
const base = (name.split(/[\\/]/).pop() ?? "").split(/[?#]/)[0] ?? "";
|
|
179
|
+
const dot = base.lastIndexOf(".");
|
|
180
|
+
if (dot <= 0 || dot === base.length - 1) return "";
|
|
181
|
+
return base.slice(dot + 1).toLowerCase();
|
|
182
|
+
}
|
|
183
|
+
function mediaTypeFromName(name) {
|
|
184
|
+
return EXTENSION_MEDIA_TYPES[extensionOf(name)];
|
|
185
|
+
}
|
|
186
|
+
function normalizeMediaType(mediaType) {
|
|
187
|
+
const bare = (mediaType ?? "").split(";")[0]?.trim().toLowerCase() ?? "";
|
|
188
|
+
if (bare === "" || bare === UNKNOWN_MEDIA_TYPE || bare === "binary/octet-stream") return "";
|
|
189
|
+
return bare;
|
|
190
|
+
}
|
|
191
|
+
function categoryFor(mediaType, extension) {
|
|
192
|
+
const byExtension = EXTENSION_CATEGORIES[extension];
|
|
193
|
+
if (byExtension) return byExtension;
|
|
194
|
+
const exact = MEDIA_TYPE_CATEGORIES[mediaType];
|
|
195
|
+
if (exact) return exact;
|
|
196
|
+
if (mediaType.startsWith("image/")) return "image";
|
|
197
|
+
if (mediaType.startsWith("video/")) return "video";
|
|
198
|
+
if (mediaType.startsWith("audio/")) return "audio";
|
|
199
|
+
if (mediaType.startsWith("text/")) return "text";
|
|
200
|
+
return "unknown";
|
|
201
|
+
}
|
|
202
|
+
function resolveFileKind(name, mediaType) {
|
|
203
|
+
const extension = extensionOf(name);
|
|
204
|
+
const declared = normalizeMediaType(mediaType);
|
|
205
|
+
const resolved = declared || mediaTypeFromName(name) || UNKNOWN_MEDIA_TYPE;
|
|
206
|
+
return {
|
|
207
|
+
category: categoryFor(resolved, extension),
|
|
208
|
+
mediaType: resolved,
|
|
209
|
+
extension
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
export {
|
|
214
|
+
extensionOf,
|
|
215
|
+
mediaTypeFromName,
|
|
216
|
+
resolveFileKind
|
|
217
|
+
};
|
|
218
|
+
//# sourceMappingURL=chunk-IRUZDWJ3.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/file-kind.ts"],"sourcesContent":["/**\n * The one file-type resolver for the whole library — extension + MIME → a\n * COARSE, CLOSED category.\n *\n * Before this existed the repo had three competing, package-private ideas of\n * \"what kind of file is this\": `ContextAssetType`\n * (`markdown|code|sql|csv|image`, `@elabs-ai/components-ai`),\n * `AttachmentMediaCategory` (six MIME buckets, same package) and\n * `UploadFile` (no kind at all, `@elabs-ai/components-ui`). None could\n * see the others, so each grew its own icon map and its own gaps.\n *\n * ## Why the category is closed and coarse (ADR 0024 §4)\n *\n * {@link FileCategory} answers \"what SHAPE of thing is this\" — enough to pick an\n * icon, a label, or a fallback surface. It is deliberately NOT the routing key\n * for a renderer. Fine-grained format matching (`.docx` vs `.odt`,\n * `.tsx` vs `.rs`) belongs to the adapter manifests in the package that owns the\n * parsers, so adding a format never means editing this file — and never means a\n * `@elabs-ai/components-ui` release.\n *\n * Pure data + string handling: no React, no DOM, no other deps.\n */\n\n/**\n * Coarse file shape. CLOSED — adding a member is a breaking change for any\n * consumer with an exhaustive `switch`, so extend the adapter manifests instead.\n */\nexport type FileCategory =\n | \"image\"\n | \"video\"\n | \"audio\"\n | \"document\"\n | \"spreadsheet\"\n | \"presentation\"\n | \"code\"\n | \"text\"\n | \"data\"\n | \"archive\"\n | \"unknown\";\n\n/** What {@link resolveFileKind} knows about a file before anything reads it. */\nexport interface FileKind {\n /** Coarse shape, for icons, labels and fallback surfaces. */\n category: FileCategory;\n /**\n * Best-known MIME type. The caller's value wins when it is meaningful;\n * otherwise inferred from the extension, else `\"application/octet-stream\"`.\n */\n mediaType: string;\n /** Lowercased extension WITHOUT the dot (`\"pdf\"`), or `\"\"` when there is none. */\n extension: string;\n}\n\n/**\n * Extension → MIME. Only entries whose MIME we would otherwise have to guess;\n * the browser fills `File.type` correctly for common web formats, but leaves it\n * empty for most source-code and data files.\n */\nconst EXTENSION_MEDIA_TYPES: Readonly<Record<string, string>> = {\n // Media. The browser fills `File.type` for these, but a NAME on its own (a\n // URL, an agent-produced filename, a drag-and-drop path) carries no MIME —\n // and resolving `photo.png` to \"unknown\" is the whole failure this map exists\n // to prevent.\n png: \"image/png\",\n jpg: \"image/jpeg\",\n jpeg: \"image/jpeg\",\n gif: \"image/gif\",\n webp: \"image/webp\",\n avif: \"image/avif\",\n bmp: \"image/bmp\",\n ico: \"image/x-icon\",\n tif: \"image/tiff\",\n tiff: \"image/tiff\",\n heic: \"image/heic\",\n mp4: \"video/mp4\",\n m4v: \"video/mp4\",\n webm: \"video/webm\",\n mov: \"video/quicktime\",\n avi: \"video/x-msvideo\",\n mkv: \"video/x-matroska\",\n mp3: \"audio/mpeg\",\n wav: \"audio/wav\",\n ogg: \"audio/ogg\",\n oga: \"audio/ogg\",\n m4a: \"audio/mp4\",\n flac: \"audio/flac\",\n aac: \"audio/aac\",\n // Documents\n pdf: \"application/pdf\",\n doc: \"application/msword\",\n docx: \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n odt: \"application/vnd.oasis.opendocument.text\",\n rtf: \"application/rtf\",\n epub: \"application/epub+zip\",\n // Spreadsheets\n xls: \"application/vnd.ms-excel\",\n xlsx: \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\",\n ods: \"application/vnd.oasis.opendocument.spreadsheet\",\n // Presentations\n ppt: \"application/vnd.ms-powerpoint\",\n pptx: \"application/vnd.openxmlformats-officedocument.presentationml.presentation\",\n odp: \"application/vnd.oasis.opendocument.presentation\",\n // Data\n csv: \"text/csv\",\n tsv: \"text/tab-separated-values\",\n json: \"application/json\",\n ndjson: \"application/x-ndjson\",\n jsonl: \"application/x-ndjson\",\n parquet: \"application/vnd.apache.parquet\",\n // Text\n txt: \"text/plain\",\n log: \"text/plain\",\n md: \"text/markdown\",\n markdown: \"text/markdown\",\n rst: \"text/x-rst\",\n // Code & markup\n html: \"text/html\",\n htm: \"text/html\",\n xml: \"application/xml\",\n svg: \"image/svg+xml\",\n css: \"text/css\",\n js: \"text/javascript\",\n mjs: \"text/javascript\",\n cjs: \"text/javascript\",\n jsx: \"text/javascript\",\n ts: \"text/x-typescript\",\n tsx: \"text/x-typescript\",\n py: \"text/x-python\",\n rb: \"text/x-ruby\",\n go: \"text/x-go\",\n rs: \"text/x-rust\",\n java: \"text/x-java\",\n kt: \"text/x-kotlin\",\n swift: \"text/x-swift\",\n c: \"text/x-c\",\n h: \"text/x-c\",\n cpp: \"text/x-c++src\",\n cs: \"text/x-csharp\",\n php: \"text/x-php\",\n sh: \"application/x-sh\",\n bash: \"application/x-sh\",\n zsh: \"application/x-sh\",\n sql: \"application/sql\",\n yaml: \"application/yaml\",\n yml: \"application/yaml\",\n toml: \"application/toml\",\n ini: \"text/plain\",\n // Archives\n zip: \"application/zip\",\n tar: \"application/x-tar\",\n gz: \"application/gzip\",\n tgz: \"application/gzip\",\n bz2: \"application/x-bzip2\",\n \"7z\": \"application/x-7z-compressed\",\n rar: \"application/vnd.rar\",\n};\n\n/** Extensions whose category cannot be read off the MIME type. */\nconst EXTENSION_CATEGORIES: Readonly<Record<string, FileCategory>> = {\n // Code & markup — most carry a `text/*` MIME, which alone would say \"text\".\n html: \"code\",\n htm: \"code\",\n xml: \"code\",\n css: \"code\",\n js: \"code\",\n mjs: \"code\",\n cjs: \"code\",\n jsx: \"code\",\n ts: \"code\",\n tsx: \"code\",\n py: \"code\",\n rb: \"code\",\n go: \"code\",\n rs: \"code\",\n java: \"code\",\n kt: \"code\",\n swift: \"code\",\n c: \"code\",\n h: \"code\",\n cpp: \"code\",\n cs: \"code\",\n php: \"code\",\n sh: \"code\",\n bash: \"code\",\n zsh: \"code\",\n sql: \"code\",\n yaml: \"code\",\n yml: \"code\",\n toml: \"code\",\n ini: \"code\",\n // Data — `text/csv` would otherwise land in \"text\".\n csv: \"data\",\n tsv: \"data\",\n json: \"data\",\n ndjson: \"data\",\n jsonl: \"data\",\n parquet: \"data\",\n // Prose\n txt: \"text\",\n log: \"text\",\n md: \"text\",\n markdown: \"text\",\n rst: \"text\",\n};\n\n/** MIME (exact match) → category, for types no prefix rule covers. */\nconst MEDIA_TYPE_CATEGORIES: Readonly<Record<string, FileCategory>> = {\n \"application/pdf\": \"document\",\n \"application/msword\": \"document\",\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\": \"document\",\n \"application/vnd.oasis.opendocument.text\": \"document\",\n \"application/rtf\": \"document\",\n \"application/epub+zip\": \"document\",\n \"application/vnd.ms-excel\": \"spreadsheet\",\n \"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet\": \"spreadsheet\",\n \"application/vnd.oasis.opendocument.spreadsheet\": \"spreadsheet\",\n \"application/vnd.ms-powerpoint\": \"presentation\",\n \"application/vnd.openxmlformats-officedocument.presentationml.presentation\": \"presentation\",\n \"application/vnd.oasis.opendocument.presentation\": \"presentation\",\n \"application/json\": \"data\",\n \"application/x-ndjson\": \"data\",\n \"application/vnd.apache.parquet\": \"data\",\n \"application/xml\": \"code\",\n \"application/sql\": \"code\",\n \"application/yaml\": \"code\",\n \"application/toml\": \"code\",\n \"application/x-sh\": \"code\",\n \"application/zip\": \"archive\",\n \"application/x-tar\": \"archive\",\n \"application/gzip\": \"archive\",\n \"application/x-bzip2\": \"archive\",\n \"application/x-7z-compressed\": \"archive\",\n \"application/vnd.rar\": \"archive\",\n};\n\n/** The MIME we treat as \"the caller told us nothing\". */\nconst UNKNOWN_MEDIA_TYPE = \"application/octet-stream\";\n\n/**\n * Lowercased extension without the dot. `\"\"` when the name has none, is a\n * dotfile (`.gitignore` — the whole name is the \"extension\" to a human, but it\n * is not a format), or ends in a dot.\n */\nexport function extensionOf(name: string): string {\n // Strip any path and any query/hash a URL-derived name may carry.\n const base = (name.split(/[\\\\/]/).pop() ?? \"\").split(/[?#]/)[0] ?? \"\";\n const dot = base.lastIndexOf(\".\");\n if (dot <= 0 || dot === base.length - 1) return \"\";\n return base.slice(dot + 1).toLowerCase();\n}\n\n/**\n * Best-known MIME for a filename, from its extension alone.\n * `undefined` when the extension is unknown — callers decide the fallback.\n */\nexport function mediaTypeFromName(name: string): string | undefined {\n return EXTENSION_MEDIA_TYPES[extensionOf(name)];\n}\n\n/** Strip parameters and casing: `\"TEXT/CSV; charset=utf-8\"` → `\"text/csv\"`. */\nfunction normalizeMediaType(mediaType: string | undefined): string {\n const bare = (mediaType ?? \"\").split(\";\")[0]?.trim().toLowerCase() ?? \"\";\n // Browsers and servers both use these to mean \"I don't know\".\n if (bare === \"\" || bare === UNKNOWN_MEDIA_TYPE || bare === \"binary/octet-stream\") return \"\";\n return bare;\n}\n\nfunction categoryFor(mediaType: string, extension: string): FileCategory {\n // The extension is more specific than a `text/*` MIME, so it wins for the\n // formats that would otherwise collapse into \"text\" (see EXTENSION_CATEGORIES).\n const byExtension = EXTENSION_CATEGORIES[extension];\n if (byExtension) return byExtension;\n\n const exact = MEDIA_TYPE_CATEGORIES[mediaType];\n if (exact) return exact;\n\n if (mediaType.startsWith(\"image/\")) return \"image\";\n if (mediaType.startsWith(\"video/\")) return \"video\";\n if (mediaType.startsWith(\"audio/\")) return \"audio\";\n if (mediaType.startsWith(\"text/\")) return \"text\";\n\n return \"unknown\";\n}\n\n/**\n * Resolve what a file is from its name and (optionally) the MIME the source\n * reported. Never throws; unknown input resolves to\n * `{ category: \"unknown\", mediaType: \"application/octet-stream\", extension: \"\" }`.\n *\n * A caller-supplied `mediaType` wins over the extension EXCEPT where the\n * extension is strictly more specific — `report.csv` served as `text/plain`\n * still resolves to `\"data\"`, because servers routinely under-specify.\n */\nexport function resolveFileKind(name: string, mediaType?: string): FileKind {\n const extension = extensionOf(name);\n const declared = normalizeMediaType(mediaType);\n const resolved = declared || mediaTypeFromName(name) || UNKNOWN_MEDIA_TYPE;\n return {\n category: categoryFor(resolved, extension),\n mediaType: resolved,\n extension,\n };\n}\n"],"mappings":"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","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|