@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 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/merge-refs.ts"],"sourcesContent":["\"use client\";\n\nimport type { ForwardedRef } from \"react\";\n\n/**\n * Combine a `forwardRef`-forwarded ref with one or more locally-owned refs so\n * both end up pointing at the same DOM node. Returns a stable callback ref\n * wrapper — memoize the result (`useMemo`) keyed on the forwarded ref so it\n * doesn't detach/reattach on every render.\n */\nexport function mergeRefs<T>(...refs: Array<ForwardedRef<T> | undefined>) {\n return (node: T | null) => {\n for (const ref of refs) {\n if (!ref) continue;\n if (typeof ref === \"function\") ref(node);\n else ref.current = node;\n }\n };\n}\n"],"mappings":";;;AAUO,SAAS,aAAgB,MAA0C;AACxE,SAAO,CAAC,SAAmB;AACzB,eAAW,OAAO,MAAM;AACtB,UAAI,CAAC,IAAK;AACV,UAAI,OAAO,QAAQ,WAAY,KAAI,IAAI;AAAA,UAClC,KAAI,UAAU;AAAA,IACrB;AAAA,EACF;AACF;","names":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/components/dialog/use-dialog-dismiss-guard.ts
|
|
4
|
+
import { useCallback, useState } from "react";
|
|
5
|
+
function useDialogDismissGuard({
|
|
6
|
+
dirty,
|
|
7
|
+
onClose,
|
|
8
|
+
onOpen
|
|
9
|
+
}) {
|
|
10
|
+
const [confirmOpen, setConfirmOpen] = useState(false);
|
|
11
|
+
const onOpenChange = useCallback(
|
|
12
|
+
(open) => {
|
|
13
|
+
if (open) {
|
|
14
|
+
onOpen?.();
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
if (dirty) {
|
|
18
|
+
setConfirmOpen(true);
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
onClose();
|
|
22
|
+
},
|
|
23
|
+
[dirty, onClose, onOpen]
|
|
24
|
+
);
|
|
25
|
+
const confirmDiscard = useCallback(() => {
|
|
26
|
+
setConfirmOpen(false);
|
|
27
|
+
onClose();
|
|
28
|
+
}, [onClose]);
|
|
29
|
+
return { onOpenChange, confirmOpen, onConfirmOpenChange: setConfirmOpen, confirmDiscard };
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export {
|
|
33
|
+
useDialogDismissGuard
|
|
34
|
+
};
|
|
35
|
+
//# sourceMappingURL=chunk-L3SHPHLK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/dialog/use-dialog-dismiss-guard.ts"],"sourcesContent":["\"use client\";\n\nimport { useCallback, useState } from \"react\";\n\nexport interface UseDialogDismissGuardOptions {\n /**\n * Does the dialog currently hold unsaved changes? **App-owned** — brand-ui is\n * a presentation layer (`docs/DECISIONS.md` §D5) and cannot know what \"dirty\"\n * means for your form. Compute it (a `react-hook-form` `isDirty`, a deep\n * compare, a store flag) and pass it in.\n */\n dirty: boolean;\n /** Close the dialog — the app sets its own `open` state to `false`. */\n onClose: () => void;\n /**\n * Open the dialog. Only needed when a `DialogTrigger` (rather than the app)\n * opens it, because Radix routes that through the same `onOpenChange`.\n */\n onOpen?: () => void;\n}\n\nexport interface DialogDismissGuard {\n /**\n * Spread onto `<Dialog onOpenChange={…}>`. Intercepts EVERY user dismissal —\n * Escape, overlay click, the built-in close ✕ and any `DialogClose` — because\n * Radix funnels all four through `onOpenChange(false)`.\n */\n onOpenChange: (open: boolean) => void;\n /** Controlled `open` for the discard confirmation. */\n confirmOpen: boolean;\n /** Controlled `onOpenChange` for the discard confirmation. */\n onConfirmOpenChange: (open: boolean) => void;\n /** Confirm the discard: closes the confirmation AND calls `onClose()`. */\n confirmDiscard: () => void;\n}\n\n/**\n * Warn before a dialog with unsaved changes is dismissed (#341).\n *\n * `.claude/rules/interaction-guidelines.md` (Forms) requires warning before\n * navigating away from unsaved changes; this is that rule for dialogs, as a HOOK\n * rather than a prop because the component must not own app state — the app owns\n * `open` and decides what `dirty` means (D5).\n *\n * ## The asymmetry is structural, not a flag\n *\n * A **user dismissal** reaches Radix's `onOpenChange`, so the guard sees it and\n * can hold the dialog open. A **programmatic close** (the app setting its own\n * `open` to `false` after a successful save) never touches the guard, so it is\n * unobservable here and closes silently. That is exactly the wanted behaviour,\n * and it falls out of the wiring — there is no \"skip the guard\" option to get\n * wrong.\n *\n * The name is literal: it guards DISMISSALS routed through the returned\n * `onOpenChange`. It is not a navigation blocker and it cannot intercept a tab\n * close, a router navigation, or an `open` prop that the app flips itself.\n *\n * ```tsx\n * const [open, setOpen] = useState(false);\n * const guard = useDialogDismissGuard({\n * dirty,\n * onClose: () => setOpen(false),\n * onOpen: () => setOpen(true),\n * });\n *\n * <Dialog open={open} onOpenChange={guard.onOpenChange}>…</Dialog>\n * <ConfirmDialog\n * open={guard.confirmOpen}\n * onOpenChange={guard.onConfirmOpenChange}\n * onConfirm={guard.confirmDiscard}\n * tone=\"destructive\"\n * title=\"Discard changes?\"\n * description=\"Your edits to this project have not been saved.\"\n * confirmLabel=\"Discard\"\n * />\n * ```\n *\n * The `ConfirmDialog` is a SIBLING of the guarded dialog, not a child of it.\n */\nexport function useDialogDismissGuard({\n dirty,\n onClose,\n onOpen,\n}: UseDialogDismissGuardOptions): DialogDismissGuard {\n const [confirmOpen, setConfirmOpen] = useState(false);\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n // Opening is never guarded; a `DialogTrigger` routes through here too.\n if (open) {\n onOpen?.();\n return;\n }\n if (dirty) {\n setConfirmOpen(true);\n return;\n }\n onClose();\n },\n [dirty, onClose, onOpen],\n );\n\n const confirmDiscard = useCallback(() => {\n setConfirmOpen(false);\n onClose();\n }, [onClose]);\n\n return { onOpenChange, confirmOpen, onConfirmOpenChange: setConfirmOpen, confirmDiscard };\n}\n"],"mappings":";;;AAEA,SAAS,aAAa,gBAAgB;AA6E/B,SAAS,sBAAsB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AACF,GAAqD;AACnD,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AAEpD,QAAM,eAAe;AAAA,IACnB,CAAC,SAAkB;AAEjB,UAAI,MAAM;AACR,iBAAS;AACT;AAAA,MACF;AACA,UAAI,OAAO;AACT,uBAAe,IAAI;AACnB;AAAA,MACF;AACA,cAAQ;AAAA,IACV;AAAA,IACA,CAAC,OAAO,SAAS,MAAM;AAAA,EACzB;AAEA,QAAM,iBAAiB,YAAY,MAAM;AACvC,mBAAe,KAAK;AACpB,YAAQ;AAAA,EACV,GAAG,CAAC,OAAO,CAAC;AAEZ,SAAO,EAAE,cAAc,aAAa,qBAAqB,gBAAgB,eAAe;AAC1F;","names":[]}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Select,
|
|
4
|
+
SelectContent,
|
|
5
|
+
SelectItem,
|
|
6
|
+
SelectTrigger,
|
|
7
|
+
SelectValue
|
|
8
|
+
} from "./chunk-72H7HUTH.js";
|
|
9
|
+
import {
|
|
10
|
+
CommandChip
|
|
11
|
+
} from "./chunk-3BZBNDRP.js";
|
|
12
|
+
import {
|
|
13
|
+
useControllableState
|
|
14
|
+
} from "./chunk-5LCN5Q2L.js";
|
|
15
|
+
import {
|
|
16
|
+
Tooltip,
|
|
17
|
+
TooltipContent,
|
|
18
|
+
TooltipProvider,
|
|
19
|
+
TooltipTrigger
|
|
20
|
+
} from "./chunk-36SY7TID.js";
|
|
21
|
+
import {
|
|
22
|
+
Button
|
|
23
|
+
} from "./chunk-C5QBV5RE.js";
|
|
24
|
+
import {
|
|
25
|
+
cn
|
|
26
|
+
} from "./chunk-FXWWDMMP.js";
|
|
27
|
+
|
|
28
|
+
// src/components/integration-matrix/integration-matrix.tsx
|
|
29
|
+
import { forwardRef } from "react";
|
|
30
|
+
import { ArrowRight } from "lucide-react";
|
|
31
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
32
|
+
var DEFAULT_INTEGRATION_MATRIX_LABELS = {
|
|
33
|
+
hostSelectLabel: "Show commands for",
|
|
34
|
+
hostSelectAriaLabel: "Host to show commands for",
|
|
35
|
+
unitHeading: "Unit",
|
|
36
|
+
givesHeading: "Gives you",
|
|
37
|
+
actionsHeading: "Actions",
|
|
38
|
+
routineHeading: "The daily routine"
|
|
39
|
+
};
|
|
40
|
+
function resolveCopyValue(value, hostId) {
|
|
41
|
+
if (typeof value === "string") return value;
|
|
42
|
+
return value[hostId] ?? Object.values(value)[0] ?? "";
|
|
43
|
+
}
|
|
44
|
+
var IntegrationMatrix = forwardRef(
|
|
45
|
+
function IntegrationMatrix2({
|
|
46
|
+
hosts,
|
|
47
|
+
rows,
|
|
48
|
+
routine,
|
|
49
|
+
value,
|
|
50
|
+
defaultValue,
|
|
51
|
+
onValueChange,
|
|
52
|
+
onCopyAction,
|
|
53
|
+
labels: labelsProp,
|
|
54
|
+
className,
|
|
55
|
+
...props
|
|
56
|
+
}, ref) {
|
|
57
|
+
const labels = { ...DEFAULT_INTEGRATION_MATRIX_LABELS, ...labelsProp };
|
|
58
|
+
const [hostId, setHostId] = useControllableState(
|
|
59
|
+
value,
|
|
60
|
+
defaultValue ?? hosts[0]?.id ?? "",
|
|
61
|
+
onValueChange
|
|
62
|
+
);
|
|
63
|
+
return /* @__PURE__ */ jsxs(
|
|
64
|
+
"div",
|
|
65
|
+
{
|
|
66
|
+
ref,
|
|
67
|
+
"data-slot": "integration-matrix",
|
|
68
|
+
className: cn("flex flex-col gap-6", className),
|
|
69
|
+
...props,
|
|
70
|
+
children: [
|
|
71
|
+
hosts.length > 1 ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
|
|
72
|
+
/* @__PURE__ */ jsx("span", { className: "text-body text-muted-foreground", children: labels.hostSelectLabel }),
|
|
73
|
+
/* @__PURE__ */ jsxs(Select, { value: hostId, onValueChange: setHostId, children: [
|
|
74
|
+
/* @__PURE__ */ jsx(
|
|
75
|
+
SelectTrigger,
|
|
76
|
+
{
|
|
77
|
+
"data-slot": "integration-matrix-host",
|
|
78
|
+
"aria-label": labels.hostSelectAriaLabel,
|
|
79
|
+
className: "min-w-40",
|
|
80
|
+
children: /* @__PURE__ */ jsx(SelectValue, {})
|
|
81
|
+
}
|
|
82
|
+
),
|
|
83
|
+
/* @__PURE__ */ jsx(SelectContent, { children: hosts.map((host) => /* @__PURE__ */ jsx(SelectItem, { value: host.id, children: host.label }, host.id)) })
|
|
84
|
+
] })
|
|
85
|
+
] }) : null,
|
|
86
|
+
/* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 md:gap-0", children: [
|
|
87
|
+
/* @__PURE__ */ jsxs("div", { className: "hidden grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1.6fr)] gap-4 border-b border-border-strong pb-2 md:grid", children: [
|
|
88
|
+
/* @__PURE__ */ jsx("span", { className: "text-caption font-semibold text-muted-foreground", children: labels.unitHeading }),
|
|
89
|
+
/* @__PURE__ */ jsx("span", { className: "text-caption font-semibold text-muted-foreground", children: labels.givesHeading }),
|
|
90
|
+
/* @__PURE__ */ jsx("span", { className: "text-caption font-semibold text-muted-foreground", children: labels.actionsHeading })
|
|
91
|
+
] }),
|
|
92
|
+
rows.map((row) => /* @__PURE__ */ jsxs(
|
|
93
|
+
"div",
|
|
94
|
+
{
|
|
95
|
+
"data-slot": "integration-matrix-row",
|
|
96
|
+
className: "grid grid-cols-1 gap-3 border-b py-4 last:border-b-0 md:grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1.6fr)] md:items-center md:gap-4",
|
|
97
|
+
children: [
|
|
98
|
+
/* @__PURE__ */ jsx("span", { className: "text-body font-medium text-foreground", children: row.unit }),
|
|
99
|
+
/* @__PURE__ */ jsx("span", { className: "text-body text-muted-foreground", children: row.gives }),
|
|
100
|
+
/* @__PURE__ */ jsx(
|
|
101
|
+
"div",
|
|
102
|
+
{
|
|
103
|
+
"data-slot": "integration-matrix-actions",
|
|
104
|
+
className: "flex flex-wrap items-center gap-2",
|
|
105
|
+
children: row.actions.map(
|
|
106
|
+
(action) => action.kind === "copy" ? /* @__PURE__ */ jsx(
|
|
107
|
+
CommandChip,
|
|
108
|
+
{
|
|
109
|
+
className: "max-w-full",
|
|
110
|
+
hosts: [
|
|
111
|
+
{
|
|
112
|
+
id: "value",
|
|
113
|
+
label: action.label,
|
|
114
|
+
command: resolveCopyValue(action.value, hostId)
|
|
115
|
+
}
|
|
116
|
+
],
|
|
117
|
+
onCopyCommand: (text, copied) => onCopyAction?.(row.id, action.label, text, copied)
|
|
118
|
+
},
|
|
119
|
+
action.label
|
|
120
|
+
) : /* @__PURE__ */ jsx(Button, { variant: "link", size: "sm", asChild: true, children: /* @__PURE__ */ jsx("a", { href: resolveCopyValue(action.value, hostId), children: action.label }) }, action.label)
|
|
121
|
+
)
|
|
122
|
+
}
|
|
123
|
+
)
|
|
124
|
+
]
|
|
125
|
+
},
|
|
126
|
+
row.id
|
|
127
|
+
))
|
|
128
|
+
] }),
|
|
129
|
+
routine && routine.length > 0 ? /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-3", children: [
|
|
130
|
+
/* @__PURE__ */ jsx("h3", { className: "text-caption font-semibold text-muted-foreground", children: labels.routineHeading }),
|
|
131
|
+
/* @__PURE__ */ jsx(TooltipProvider, { children: /* @__PURE__ */ jsx(
|
|
132
|
+
"div",
|
|
133
|
+
{
|
|
134
|
+
"data-slot": "integration-matrix-routine",
|
|
135
|
+
className: "flex flex-wrap items-center gap-2",
|
|
136
|
+
children: routine.map((step, index) => /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
137
|
+
/* @__PURE__ */ jsxs(Tooltip, { children: [
|
|
138
|
+
/* @__PURE__ */ jsx(TooltipTrigger, { asChild: true, children: /* @__PURE__ */ jsx(
|
|
139
|
+
"span",
|
|
140
|
+
{
|
|
141
|
+
"data-slot": "integration-matrix-routine-step",
|
|
142
|
+
tabIndex: 0,
|
|
143
|
+
className: "inline-flex items-center rounded-md border border-input bg-card px-2.5 py-1 font-mono text-code text-foreground focus-ring",
|
|
144
|
+
children: step.verb
|
|
145
|
+
}
|
|
146
|
+
) }),
|
|
147
|
+
/* @__PURE__ */ jsx(TooltipContent, { children: step.does })
|
|
148
|
+
] }),
|
|
149
|
+
index < routine.length - 1 ? /* @__PURE__ */ jsx(ArrowRight, { "aria-hidden": "true", className: "size-4 text-muted-foreground" }) : null
|
|
150
|
+
] }, step.verb))
|
|
151
|
+
}
|
|
152
|
+
) })
|
|
153
|
+
] }) : null
|
|
154
|
+
]
|
|
155
|
+
}
|
|
156
|
+
);
|
|
157
|
+
}
|
|
158
|
+
);
|
|
159
|
+
|
|
160
|
+
export {
|
|
161
|
+
DEFAULT_INTEGRATION_MATRIX_LABELS,
|
|
162
|
+
IntegrationMatrix
|
|
163
|
+
};
|
|
164
|
+
//# sourceMappingURL=chunk-L5O2O67Y.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/integration-matrix/integration-matrix.tsx"],"sourcesContent":["\"use client\";\n\n/**\n * IntegrationMatrix — every agent-facing integration unit, as installable rows.\n *\n * Ships no site copy, no URL and no install command of its own (`i18n-strings`,\n * `remote-origins`): every string, host and command text is a prop. A single host\n * selector at the top swaps every row's copy action at once, so a visitor picks\n * their tool once instead of re-reading each row for it.\n */\nimport { forwardRef, type HTMLAttributes } from \"react\";\nimport { ArrowRight } from \"lucide-react\";\nimport { cn } from \"../../lib/cn\";\nimport { useControllableState } from \"../../lib/use-controllable-state\";\nimport { Button } from \"../button\";\nimport { CommandChip } from \"../command-chip\";\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from \"../select\";\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip\";\n\n/** One host the visitor can pick — the selection swaps every row's copy action. */\nexport interface IntegrationMatrixHost {\n /** Stable id, matched against each action's `value` map. */\n id: string;\n /** Shown in the selector. */\n label: string;\n}\n\n/** One action a row offers: copy a command, or follow a link. */\nexport interface IntegrationMatrixAction {\n /** Shown on the link button, or as the copy button's accessible name suffix. */\n label: string;\n kind: \"copy\" | \"link\";\n /**\n * `kind: \"copy\"` — the exact text per host id (a row that never changes by host\n * repeats the same string under every id). `kind: \"link\"` — a single href string.\n */\n value: string | Record<string, string>;\n}\n\n/** One installable unit — hosted MCP, local MCP + CLI, the plugin, `llms.txt`, … */\nexport interface IntegrationMatrixRow {\n id: string;\n unit: string;\n gives: string;\n actions: IntegrationMatrixAction[];\n}\n\n/** One step of the routine line below the matrix (`info → search → docs → …`). */\nexport interface IntegrationMatrixRoutineStep {\n verb: string;\n /** Tooltip body — what the verb does. */\n does: string;\n}\n\nexport interface IntegrationMatrixLabels {\n /** Visible label beside the host selector. */\n hostSelectLabel: string;\n /** `aria-label` of the host `Select` trigger. */\n hostSelectAriaLabel: string;\n unitHeading: string;\n givesHeading: string;\n actionsHeading: string;\n /** Heading above the routine chips. */\n routineHeading: string;\n}\n\nexport const DEFAULT_INTEGRATION_MATRIX_LABELS: IntegrationMatrixLabels = {\n hostSelectLabel: \"Show commands for\",\n hostSelectAriaLabel: \"Host to show commands for\",\n unitHeading: \"Unit\",\n givesHeading: \"Gives you\",\n actionsHeading: \"Actions\",\n routineHeading: \"The daily routine\",\n};\n\nexport interface IntegrationMatrixProps extends HTMLAttributes<HTMLDivElement> {\n hosts: IntegrationMatrixHost[];\n rows: IntegrationMatrixRow[];\n /** The routine strip below the matrix; omitted entirely when empty. */\n routine?: IntegrationMatrixRoutineStep[];\n /** Selected host id (controlled). */\n value?: string;\n /** Initially selected host id (uncontrolled). Default: the first host. */\n defaultValue?: string;\n /** Fires when the visitor picks another host. */\n onValueChange?: (id: string) => void;\n /** Fires after a copy attempt with the row id, the action label and the text. */\n onCopyAction?: (rowId: string, actionLabel: string, text: string, copied: boolean) => void;\n labels?: Partial<IntegrationMatrixLabels>;\n}\n\nfunction resolveCopyValue(value: string | Record<string, string>, hostId: string): string {\n if (typeof value === \"string\") return value;\n return value[hostId] ?? Object.values(value)[0] ?? \"\";\n}\n\nexport const IntegrationMatrix = forwardRef<HTMLDivElement, IntegrationMatrixProps>(\n function IntegrationMatrix(\n {\n hosts,\n rows,\n routine,\n value,\n defaultValue,\n onValueChange,\n onCopyAction,\n labels: labelsProp,\n className,\n ...props\n },\n ref,\n ) {\n const labels = { ...DEFAULT_INTEGRATION_MATRIX_LABELS, ...labelsProp };\n const [hostId, setHostId] = useControllableState(\n value,\n defaultValue ?? hosts[0]?.id ?? \"\",\n onValueChange,\n );\n\n return (\n <div\n ref={ref}\n data-slot=\"integration-matrix\"\n className={cn(\"flex flex-col gap-6\", className)}\n {...props}\n >\n {hosts.length > 1 ? (\n <div className=\"flex items-center gap-3\">\n <span className=\"text-body text-muted-foreground\">{labels.hostSelectLabel}</span>\n <Select value={hostId} onValueChange={setHostId}>\n <SelectTrigger\n data-slot=\"integration-matrix-host\"\n aria-label={labels.hostSelectAriaLabel}\n className=\"min-w-40\"\n >\n <SelectValue />\n </SelectTrigger>\n <SelectContent>\n {hosts.map((host) => (\n <SelectItem key={host.id} value={host.id}>\n {host.label}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n ) : null}\n\n {/* md+: a 3-column grid with a header row. Below md: stacked cards, one per row. */}\n <div className=\"flex flex-col gap-4 md:gap-0\">\n <div className=\"hidden grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1.6fr)] gap-4 border-b border-border-strong pb-2 md:grid\">\n <span className=\"text-caption font-semibold text-muted-foreground\">\n {labels.unitHeading}\n </span>\n <span className=\"text-caption font-semibold text-muted-foreground\">\n {labels.givesHeading}\n </span>\n <span className=\"text-caption font-semibold text-muted-foreground\">\n {labels.actionsHeading}\n </span>\n </div>\n {rows.map((row) => (\n <div\n key={row.id}\n data-slot=\"integration-matrix-row\"\n className=\"grid grid-cols-1 gap-3 border-b py-4 last:border-b-0 md:grid-cols-[minmax(0,1fr)_minmax(0,1.2fr)_minmax(0,1.6fr)] md:items-center md:gap-4\"\n >\n <span className=\"text-body font-medium text-foreground\">{row.unit}</span>\n <span className=\"text-body text-muted-foreground\">{row.gives}</span>\n <div\n data-slot=\"integration-matrix-actions\"\n className=\"flex flex-wrap items-center gap-2\"\n >\n {row.actions.map((action) =>\n action.kind === \"copy\" ? (\n <CommandChip\n key={action.label}\n className=\"max-w-full\"\n hosts={[\n {\n id: \"value\",\n label: action.label,\n command: resolveCopyValue(action.value, hostId),\n },\n ]}\n onCopyCommand={(text, copied) =>\n onCopyAction?.(row.id, action.label, text, copied)\n }\n />\n ) : (\n <Button key={action.label} variant=\"link\" size=\"sm\" asChild>\n <a href={resolveCopyValue(action.value, hostId)}>{action.label}</a>\n </Button>\n ),\n )}\n </div>\n </div>\n ))}\n </div>\n\n {routine && routine.length > 0 ? (\n <div className=\"flex flex-col gap-3\">\n <h3 className=\"text-caption font-semibold text-muted-foreground\">\n {labels.routineHeading}\n </h3>\n <TooltipProvider>\n <div\n data-slot=\"integration-matrix-routine\"\n className=\"flex flex-wrap items-center gap-2\"\n >\n {routine.map((step, index) => (\n <div key={step.verb} className=\"flex items-center gap-2\">\n <Tooltip>\n <TooltipTrigger asChild>\n <span\n data-slot=\"integration-matrix-routine-step\"\n tabIndex={0}\n className=\"inline-flex items-center rounded-md border border-input bg-card px-2.5 py-1 font-mono text-code text-foreground focus-ring\"\n >\n {step.verb}\n </span>\n </TooltipTrigger>\n <TooltipContent>{step.does}</TooltipContent>\n </Tooltip>\n {index < routine.length - 1 ? (\n <ArrowRight aria-hidden=\"true\" className=\"size-4 text-muted-foreground\" />\n ) : null}\n </div>\n ))}\n </div>\n </TooltipProvider>\n </div>\n ) : null}\n </div>\n );\n },\n);\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAUA,SAAS,kBAAuC;AAChD,SAAS,kBAAkB;AAqHf,cACA,YADA;AA9DL,IAAM,oCAA6D;AAAA,EACxE,iBAAiB;AAAA,EACjB,qBAAqB;AAAA,EACrB,aAAa;AAAA,EACb,cAAc;AAAA,EACd,gBAAgB;AAAA,EAChB,gBAAgB;AAClB;AAkBA,SAAS,iBAAiB,OAAwC,QAAwB;AACxF,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,SAAO,MAAM,MAAM,KAAK,OAAO,OAAO,KAAK,EAAE,CAAC,KAAK;AACrD;AAEO,IAAM,oBAAoB;AAAA,EAC/B,SAASA,mBACP;AAAA,IACE;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA,QAAQ;AAAA,IACR;AAAA,IACA,GAAG;AAAA,EACL,GACA,KACA;AACA,UAAM,SAAS,EAAE,GAAG,mCAAmC,GAAG,WAAW;AACrE,UAAM,CAAC,QAAQ,SAAS,IAAI;AAAA,MAC1B;AAAA,MACA,gBAAgB,MAAM,CAAC,GAAG,MAAM;AAAA,MAChC;AAAA,IACF;AAEA,WACE;AAAA,MAAC;AAAA;AAAA,QACC;AAAA,QACA,aAAU;AAAA,QACV,WAAW,GAAG,uBAAuB,SAAS;AAAA,QAC7C,GAAG;AAAA,QAEH;AAAA,gBAAM,SAAS,IACd,qBAAC,SAAI,WAAU,2BACb;AAAA,gCAAC,UAAK,WAAU,mCAAmC,iBAAO,iBAAgB;AAAA,YAC1E,qBAAC,UAAO,OAAO,QAAQ,eAAe,WACpC;AAAA;AAAA,gBAAC;AAAA;AAAA,kBACC,aAAU;AAAA,kBACV,cAAY,OAAO;AAAA,kBACnB,WAAU;AAAA,kBAEV,8BAAC,eAAY;AAAA;AAAA,cACf;AAAA,cACA,oBAAC,iBACE,gBAAM,IAAI,CAAC,SACV,oBAAC,cAAyB,OAAO,KAAK,IACnC,eAAK,SADS,KAAK,EAEtB,CACD,GACH;AAAA,eACF;AAAA,aACF,IACE;AAAA,UAGJ,qBAAC,SAAI,WAAU,gCACb;AAAA,iCAAC,SAAI,WAAU,qHACb;AAAA,kCAAC,UAAK,WAAU,oDACb,iBAAO,aACV;AAAA,cACA,oBAAC,UAAK,WAAU,oDACb,iBAAO,cACV;AAAA,cACA,oBAAC,UAAK,WAAU,oDACb,iBAAO,gBACV;AAAA,eACF;AAAA,YACC,KAAK,IAAI,CAAC,QACT;AAAA,cAAC;AAAA;AAAA,gBAEC,aAAU;AAAA,gBACV,WAAU;AAAA,gBAEV;AAAA,sCAAC,UAAK,WAAU,yCAAyC,cAAI,MAAK;AAAA,kBAClE,oBAAC,UAAK,WAAU,mCAAmC,cAAI,OAAM;AAAA,kBAC7D;AAAA,oBAAC;AAAA;AAAA,sBACC,aAAU;AAAA,sBACV,WAAU;AAAA,sBAET,cAAI,QAAQ;AAAA,wBAAI,CAAC,WAChB,OAAO,SAAS,SACd;AAAA,0BAAC;AAAA;AAAA,4BAEC,WAAU;AAAA,4BACV,OAAO;AAAA,8BACL;AAAA,gCACE,IAAI;AAAA,gCACJ,OAAO,OAAO;AAAA,gCACd,SAAS,iBAAiB,OAAO,OAAO,MAAM;AAAA,8BAChD;AAAA,4BACF;AAAA,4BACA,eAAe,CAAC,MAAM,WACpB,eAAe,IAAI,IAAI,OAAO,OAAO,MAAM,MAAM;AAAA;AAAA,0BAV9C,OAAO;AAAA,wBAYd,IAEA,oBAAC,UAA0B,SAAQ,QAAO,MAAK,MAAK,SAAO,MACzD,8BAAC,OAAE,MAAM,iBAAiB,OAAO,OAAO,MAAM,GAAI,iBAAO,OAAM,KADpD,OAAO,KAEpB;AAAA,sBAEJ;AAAA;AAAA,kBACF;AAAA;AAAA;AAAA,cAhCK,IAAI;AAAA,YAiCX,CACD;AAAA,aACH;AAAA,UAEC,WAAW,QAAQ,SAAS,IAC3B,qBAAC,SAAI,WAAU,uBACb;AAAA,gCAAC,QAAG,WAAU,oDACX,iBAAO,gBACV;AAAA,YACA,oBAAC,mBACC;AAAA,cAAC;AAAA;AAAA,gBACC,aAAU;AAAA,gBACV,WAAU;AAAA,gBAET,kBAAQ,IAAI,CAAC,MAAM,UAClB,qBAAC,SAAoB,WAAU,2BAC7B;AAAA,uCAAC,WACC;AAAA,wCAAC,kBAAe,SAAO,MACrB;AAAA,sBAAC;AAAA;AAAA,wBACC,aAAU;AAAA,wBACV,UAAU;AAAA,wBACV,WAAU;AAAA,wBAET,eAAK;AAAA;AAAA,oBACR,GACF;AAAA,oBACA,oBAAC,kBAAgB,eAAK,MAAK;AAAA,qBAC7B;AAAA,kBACC,QAAQ,QAAQ,SAAS,IACxB,oBAAC,cAAW,eAAY,QAAO,WAAU,gCAA+B,IACtE;AAAA,qBAfI,KAAK,IAgBf,CACD;AAAA;AAAA,YACH,GACF;AAAA,aACF,IACE;AAAA;AAAA;AAAA,IACN;AAAA,EAEJ;AACF;","names":["IntegrationMatrix"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
Slider
|
|
4
|
+
} from "./chunk-O6V65J5J.js";
|
|
5
|
+
import {
|
|
6
|
+
NumberInput
|
|
7
|
+
} from "./chunk-GTDCC4YX.js";
|
|
8
|
+
import {
|
|
9
|
+
useLocale
|
|
10
|
+
} from "./chunk-EJQYE4MY.js";
|
|
11
|
+
import {
|
|
12
|
+
Button
|
|
13
|
+
} from "./chunk-C5QBV5RE.js";
|
|
14
|
+
import {
|
|
15
|
+
cn
|
|
16
|
+
} from "./chunk-FXWWDMMP.js";
|
|
17
|
+
|
|
18
|
+
// src/components/slider-number/slider-number.tsx
|
|
19
|
+
import { forwardRef, useCallback, useState } from "react";
|
|
20
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
21
|
+
function getStepDecimals(step) {
|
|
22
|
+
const str = step.toString();
|
|
23
|
+
const dot = str.indexOf(".");
|
|
24
|
+
return dot === -1 ? 0 : str.length - dot - 1;
|
|
25
|
+
}
|
|
26
|
+
function clampValue(value, min, max) {
|
|
27
|
+
let result = value;
|
|
28
|
+
if (min !== void 0) result = Math.max(min, result);
|
|
29
|
+
if (max !== void 0) result = Math.min(max, result);
|
|
30
|
+
return result;
|
|
31
|
+
}
|
|
32
|
+
function roundValue(value, step, precision) {
|
|
33
|
+
const decimals = precision ?? getStepDecimals(step);
|
|
34
|
+
const factor = 10 ** decimals;
|
|
35
|
+
return Math.round(value * factor) / factor;
|
|
36
|
+
}
|
|
37
|
+
var SliderNumber = forwardRef(function SliderNumber2({
|
|
38
|
+
value: valueProp,
|
|
39
|
+
defaultValue,
|
|
40
|
+
onValueChange,
|
|
41
|
+
min = 0,
|
|
42
|
+
max = 100,
|
|
43
|
+
step = 1,
|
|
44
|
+
precision,
|
|
45
|
+
resetLabel,
|
|
46
|
+
disabled,
|
|
47
|
+
id,
|
|
48
|
+
name,
|
|
49
|
+
"aria-label": ariaLabel,
|
|
50
|
+
"aria-labelledby": ariaLabelledby,
|
|
51
|
+
className,
|
|
52
|
+
...props
|
|
53
|
+
}, ref) {
|
|
54
|
+
const { t } = useLocale();
|
|
55
|
+
const isControlled = valueProp !== void 0;
|
|
56
|
+
const [internalValue, setInternalValue] = useState(
|
|
57
|
+
defaultValue !== void 0 ? defaultValue : null
|
|
58
|
+
);
|
|
59
|
+
const currentValue = isControlled ? valueProp : internalValue;
|
|
60
|
+
const [inputEpoch, setInputEpoch] = useState(0);
|
|
61
|
+
const commit = useCallback(
|
|
62
|
+
(next) => {
|
|
63
|
+
const rounded = next == null ? null : roundValue(clampValue(next, min, max), step, precision);
|
|
64
|
+
if (next != null && rounded !== next && rounded === currentValue) {
|
|
65
|
+
setInputEpoch((n) => n + 1);
|
|
66
|
+
}
|
|
67
|
+
if (!isControlled) setInternalValue(rounded);
|
|
68
|
+
onValueChange?.(rounded);
|
|
69
|
+
},
|
|
70
|
+
[isControlled, onValueChange, min, max, step, precision, currentValue]
|
|
71
|
+
);
|
|
72
|
+
const isDefault = currentValue == null;
|
|
73
|
+
const sliderValue = currentValue ?? min;
|
|
74
|
+
return /* @__PURE__ */ jsxs(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
ref,
|
|
78
|
+
"data-slot": "slider-number",
|
|
79
|
+
className: cn("flex w-80 max-w-full items-center gap-3", className),
|
|
80
|
+
...props,
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ jsx(
|
|
83
|
+
Slider,
|
|
84
|
+
{
|
|
85
|
+
"data-slot": "slider-number-slider",
|
|
86
|
+
"aria-label": ariaLabel,
|
|
87
|
+
"aria-labelledby": ariaLabelledby,
|
|
88
|
+
min,
|
|
89
|
+
max,
|
|
90
|
+
step,
|
|
91
|
+
disabled,
|
|
92
|
+
value: [sliderValue],
|
|
93
|
+
onValueChange: (values) => commit(values[0] ?? null),
|
|
94
|
+
thumbProps: {
|
|
95
|
+
// Visually distinct "provider default" thumb — dimmed + dashed,
|
|
96
|
+
// never confusable with a real value (including 0).
|
|
97
|
+
className: cn(isDefault && "opacity-50 border-dashed")
|
|
98
|
+
},
|
|
99
|
+
className: "flex-1"
|
|
100
|
+
}
|
|
101
|
+
),
|
|
102
|
+
/* @__PURE__ */ jsx(
|
|
103
|
+
NumberInput,
|
|
104
|
+
{
|
|
105
|
+
"data-slot": "slider-number-input",
|
|
106
|
+
id,
|
|
107
|
+
name,
|
|
108
|
+
"aria-label": ariaLabel,
|
|
109
|
+
"aria-labelledby": ariaLabelledby,
|
|
110
|
+
min,
|
|
111
|
+
max,
|
|
112
|
+
step,
|
|
113
|
+
disabled,
|
|
114
|
+
value: currentValue,
|
|
115
|
+
onValueChange: commit,
|
|
116
|
+
className: "w-32 shrink-0"
|
|
117
|
+
},
|
|
118
|
+
inputEpoch
|
|
119
|
+
),
|
|
120
|
+
/* @__PURE__ */ jsx(
|
|
121
|
+
Button,
|
|
122
|
+
{
|
|
123
|
+
type: "button",
|
|
124
|
+
variant: "ghost",
|
|
125
|
+
size: "sm",
|
|
126
|
+
"data-slot": "slider-number-reset",
|
|
127
|
+
disabled: disabled || isDefault,
|
|
128
|
+
onClick: () => commit(null),
|
|
129
|
+
children: resetLabel ?? t("ui.sliderNumber.reset")
|
|
130
|
+
}
|
|
131
|
+
)
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
);
|
|
135
|
+
});
|
|
136
|
+
|
|
137
|
+
export {
|
|
138
|
+
SliderNumber
|
|
139
|
+
};
|
|
140
|
+
//# sourceMappingURL=chunk-L6A3RXCU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/slider-number/slider-number.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, useCallback, useState, type HTMLAttributes, type ReactNode } from \"react\";\nimport { cn } from \"../../lib/cn\";\nimport { Button } from \"../button\";\nimport { NumberInput } from \"../number-input\";\nimport { Slider } from \"../slider\";\nimport { useLocale } from \"../locale-provider\";\n\nexport interface SliderNumberProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"defaultValue\"\n> {\n /** Controlled value. Pass `null` for \"use the provider default\". */\n value?: number | null;\n /** Uncontrolled initial value. */\n defaultValue?: number | null;\n /** Called when the value changes — always rounded identically on the drag and type paths. */\n onValueChange?: (value: number | null) => void;\n /** Minimum allowed value. Defaults to 0. */\n min?: number;\n /** Maximum allowed value. Defaults to 100. */\n max?: number;\n /** Step increment for both the slider and the number input's arrow keys. Defaults to 1. */\n step?: number;\n /**\n * Number of decimal places to round to. Defaults to the decimal places in\n * `step` (e.g. `step={0.1}` rounds to 1 decimal). Applied identically on\n * BOTH the slider path and the number-input path so drag-then-type never\n * disagrees.\n */\n precision?: number;\n /** Label for the reset-to-provider-default control. Defaults to \"Reset\". */\n resetLabel?: ReactNode;\n /** Disables the whole control. */\n disabled?: boolean;\n id?: string;\n name?: string;\n \"aria-label\"?: string;\n \"aria-labelledby\"?: string;\n}\n\nfunction getStepDecimals(step: number): number {\n const str = step.toString();\n const dot = str.indexOf(\".\");\n return dot === -1 ? 0 : str.length - dot - 1;\n}\n\nfunction clampValue(value: number, min?: number, max?: number): number {\n let result = value;\n if (min !== undefined) result = Math.max(min, result);\n if (max !== undefined) result = Math.min(max, result);\n return result;\n}\n\n/** Rounds to a fixed decimal precision — the ONE function both paths call. */\nfunction roundValue(value: number, step: number, precision?: number): number {\n const decimals = precision ?? getStepDecimals(step);\n const factor = 10 ** decimals;\n return Math.round(value * factor) / factor;\n}\n\n/**\n * SliderNumber — a `Slider` and a `NumberInput` bound to one value, clamped\n * and rounded in lockstep so they can never disagree, plus an explicit\n * `null` state meaning \"use the provider default\" with a reset control.\n *\n * The subtle part (#372): both the slider's `onValueChange` and the number\n * input's `onValueChange` are routed through the SAME `commit` function,\n * which rounds to a fixed decimal precision before storing — so dragging to\n * a value and then typing the same value never produces two representations\n * of the same intent (e.g. floating-point drift like `0.30000000000000004`).\n */\nexport const SliderNumber = forwardRef<HTMLDivElement, SliderNumberProps>(function SliderNumber(\n {\n value: valueProp,\n defaultValue,\n onValueChange,\n min = 0,\n max = 100,\n step = 1,\n precision,\n resetLabel,\n disabled,\n id,\n name,\n \"aria-label\": ariaLabel,\n \"aria-labelledby\": ariaLabelledby,\n className,\n ...props\n },\n ref,\n) {\n const { t } = useLocale();\n const isControlled = valueProp !== undefined;\n const [internalValue, setInternalValue] = useState<number | null>(\n defaultValue !== undefined ? defaultValue : null,\n );\n const currentValue = isControlled ? valueProp : internalValue;\n\n // Bumped whenever this component normalises a typed value back to the value\n // it ALREADY holds. `NumberInput` only re-derives its display text when the\n // controlled `value` prop CHANGES, so in that one case it would keep showing\n // the raw keystrokes (\"0.44\") while the slider and the committed value read\n // the rounded one (0.4) — the exact \"slider and input disagree\" failure this\n // component exists to prevent. Remounting it re-derives the text from the\n // value that was actually accepted. It only ever fires on blur, when the\n // input is no longer focused, so the remount is invisible.\n const [inputEpoch, setInputEpoch] = useState(0);\n\n const commit = useCallback(\n (next: number | null) => {\n const rounded = next == null ? null : roundValue(clampValue(next, min, max), step, precision);\n if (next != null && rounded !== next && rounded === currentValue) {\n setInputEpoch((n) => n + 1);\n }\n if (!isControlled) setInternalValue(rounded);\n onValueChange?.(rounded);\n },\n [isControlled, onValueChange, min, max, step, precision, currentValue],\n );\n\n const isDefault = currentValue == null;\n const sliderValue = currentValue ?? min;\n\n return (\n <div\n ref={ref}\n data-slot=\"slider-number\"\n // A default FIXED width (matching Slider's own convention — it has no\n // intrinsic width either, and its stories always pass one via\n // className) so the Slider's `flex-1` has real space to grow into.\n // `w-full`/percentage widths are unresolvable inside an ancestor with\n // no definite width (e.g. Storybook's default \"centered\" layout, or a\n // bare inline/flex context), which collapses `flex-1` to near-zero.\n // Callers in a definite-width layout can still override via `className`\n // (e.g. `className=\"w-full\"` inside a form field's own fixed-width row).\n // `max-w-full` keeps the fixed width from OVERFLOWING a container\n // narrower than 20rem (a settings drawer, a 320px mobile column) — it is\n // a preferred width, not a floor.\n className={cn(\"flex w-80 max-w-full items-center gap-3\", className)}\n {...props}\n >\n <Slider\n data-slot=\"slider-number-slider\"\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n value={[sliderValue]}\n onValueChange={(values) => commit(values[0] ?? null)}\n thumbProps={{\n // Visually distinct \"provider default\" thumb — dimmed + dashed,\n // never confusable with a real value (including 0).\n className: cn(isDefault && \"opacity-50 border-dashed\"),\n }}\n className=\"flex-1\"\n />\n <NumberInput\n key={inputEpoch}\n data-slot=\"slider-number-input\"\n id={id}\n name={name}\n aria-label={ariaLabel}\n aria-labelledby={ariaLabelledby}\n min={min}\n max={max}\n step={step}\n disabled={disabled}\n value={currentValue}\n onValueChange={commit}\n // NumberInput's own default is w-36 (144px); shrinking it below\n // ~w-32 leaves too little room for the digits once its own\n // decrease/increase buttons are subtracted, clipping the text.\n className=\"w-32 shrink-0\"\n />\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"sm\"\n data-slot=\"slider-number-reset\"\n disabled={disabled || isDefault}\n onClick={() => commit(null)}\n >\n {resetLabel ?? t(\"ui.sliderNumber.reset\")}\n </Button>\n </div>\n );\n});\n"],"mappings":";;;;;;;;;;;;;;;;;;AAEA,SAAS,YAAY,aAAa,gBAAqD;AA4HnF,SAiBE,KAjBF;AApFJ,SAAS,gBAAgB,MAAsB;AAC7C,QAAM,MAAM,KAAK,SAAS;AAC1B,QAAM,MAAM,IAAI,QAAQ,GAAG;AAC3B,SAAO,QAAQ,KAAK,IAAI,IAAI,SAAS,MAAM;AAC7C;AAEA,SAAS,WAAW,OAAe,KAAc,KAAsB;AACrE,MAAI,SAAS;AACb,MAAI,QAAQ,OAAW,UAAS,KAAK,IAAI,KAAK,MAAM;AACpD,MAAI,QAAQ,OAAW,UAAS,KAAK,IAAI,KAAK,MAAM;AACpD,SAAO;AACT;AAGA,SAAS,WAAW,OAAe,MAAc,WAA4B;AAC3E,QAAM,WAAW,aAAa,gBAAgB,IAAI;AAClD,QAAM,SAAS,MAAM;AACrB,SAAO,KAAK,MAAM,QAAQ,MAAM,IAAI;AACtC;AAaO,IAAM,eAAe,WAA8C,SAASA,cACjF;AAAA,EACE,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA,MAAM;AAAA,EACN,MAAM;AAAA,EACN,OAAO;AAAA,EACP;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,cAAc;AAAA,EACd,mBAAmB;AAAA,EACnB;AAAA,EACA,GAAG;AACL,GACA,KACA;AACA,QAAM,EAAE,EAAE,IAAI,UAAU;AACxB,QAAM,eAAe,cAAc;AACnC,QAAM,CAAC,eAAe,gBAAgB,IAAI;AAAA,IACxC,iBAAiB,SAAY,eAAe;AAAA,EAC9C;AACA,QAAM,eAAe,eAAe,YAAY;AAUhD,QAAM,CAAC,YAAY,aAAa,IAAI,SAAS,CAAC;AAE9C,QAAM,SAAS;AAAA,IACb,CAAC,SAAwB;AACvB,YAAM,UAAU,QAAQ,OAAO,OAAO,WAAW,WAAW,MAAM,KAAK,GAAG,GAAG,MAAM,SAAS;AAC5F,UAAI,QAAQ,QAAQ,YAAY,QAAQ,YAAY,cAAc;AAChE,sBAAc,CAAC,MAAM,IAAI,CAAC;AAAA,MAC5B;AACA,UAAI,CAAC,aAAc,kBAAiB,OAAO;AAC3C,sBAAgB,OAAO;AAAA,IACzB;AAAA,IACA,CAAC,cAAc,eAAe,KAAK,KAAK,MAAM,WAAW,YAAY;AAAA,EACvE;AAEA,QAAM,YAAY,gBAAgB;AAClC,QAAM,cAAc,gBAAgB;AAEpC,SACE;AAAA,IAAC;AAAA;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MAYV,WAAW,GAAG,2CAA2C,SAAS;AAAA,MACjE,GAAG;AAAA,MAEJ;AAAA;AAAA,UAAC;AAAA;AAAA,YACC,aAAU;AAAA,YACV,cAAY;AAAA,YACZ,mBAAiB;AAAA,YACjB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,CAAC,WAAW;AAAA,YACnB,eAAe,CAAC,WAAW,OAAO,OAAO,CAAC,KAAK,IAAI;AAAA,YACnD,YAAY;AAAA;AAAA;AAAA,cAGV,WAAW,GAAG,aAAa,0BAA0B;AAAA,YACvD;AAAA,YACA,WAAU;AAAA;AAAA,QACZ;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YAEC,aAAU;AAAA,YACV;AAAA,YACA;AAAA,YACA,cAAY;AAAA,YACZ,mBAAiB;AAAA,YACjB;AAAA,YACA;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO;AAAA,YACP,eAAe;AAAA,YAIf,WAAU;AAAA;AAAA,UAfL;AAAA,QAgBP;AAAA,QACA;AAAA,UAAC;AAAA;AAAA,YACC,MAAK;AAAA,YACL,SAAQ;AAAA,YACR,MAAK;AAAA,YACL,aAAU;AAAA,YACV,UAAU,YAAY;AAAA,YACtB,SAAS,MAAM,OAAO,IAAI;AAAA,YAEzB,wBAAc,EAAE,uBAAuB;AAAA;AAAA,QAC1C;AAAA;AAAA;AAAA,EACF;AAEJ,CAAC;","names":["SliderNumber"]}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
// src/lib/compact-number.ts
|
|
4
|
+
var PRESET_NUMBER_FORMAT_SPECS = {
|
|
5
|
+
number: { style: "number", abbreviate: false },
|
|
6
|
+
compact: { style: "number", abbreviate: "auto" },
|
|
7
|
+
currency: { style: "currency", abbreviate: "auto" },
|
|
8
|
+
percent: { style: "percent", abbreviate: false }
|
|
9
|
+
};
|
|
10
|
+
function resolveNumberFormatSpec(format) {
|
|
11
|
+
return typeof format === "string" ? PRESET_NUMBER_FORMAT_SPECS[format] ?? PRESET_NUMBER_FORMAT_SPECS.compact : format;
|
|
12
|
+
}
|
|
13
|
+
var COMPACT_THRESHOLD = 1e3;
|
|
14
|
+
var DEFAULT_CURRENCY = "USD";
|
|
15
|
+
var DEFAULT_MAX_FRACTION_DIGITS = 1;
|
|
16
|
+
function shouldCompact(value) {
|
|
17
|
+
return Number.isFinite(value) && Math.abs(value) >= COMPACT_THRESHOLD;
|
|
18
|
+
}
|
|
19
|
+
function resolveNumberFormat(format, value, currency = DEFAULT_CURRENCY, maxFractionDigits) {
|
|
20
|
+
const spec = resolveNumberFormatSpec(format);
|
|
21
|
+
const style = spec.style ?? "number";
|
|
22
|
+
const isPercent = style === "percent";
|
|
23
|
+
const options = {};
|
|
24
|
+
if (style === "currency") {
|
|
25
|
+
options.style = "currency";
|
|
26
|
+
options.currency = spec.currency ?? currency;
|
|
27
|
+
} else if (isPercent) {
|
|
28
|
+
options.style = "percent";
|
|
29
|
+
}
|
|
30
|
+
const wantsAbbreviate = !isPercent && (spec.abbreviate === true || spec.abbreviate !== false && shouldCompact(value));
|
|
31
|
+
if (wantsAbbreviate) {
|
|
32
|
+
options.notation = "compact";
|
|
33
|
+
options.compactDisplay = "short";
|
|
34
|
+
}
|
|
35
|
+
const exactValueEscapeHatch = style === "number" && spec.abbreviate === false;
|
|
36
|
+
const digits = spec.decimals ?? maxFractionDigits ?? (exactValueEscapeHatch ? void 0 : DEFAULT_MAX_FRACTION_DIGITS);
|
|
37
|
+
if (digits !== void 0) {
|
|
38
|
+
options.maximumFractionDigits = digits;
|
|
39
|
+
if (spec.optionalDecimals === false) {
|
|
40
|
+
options.minimumFractionDigits = digits;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
if (spec.grouping === false) {
|
|
44
|
+
options.useGrouping = false;
|
|
45
|
+
}
|
|
46
|
+
let parens = false;
|
|
47
|
+
if (spec.sign === "always") {
|
|
48
|
+
options.signDisplay = "always";
|
|
49
|
+
} else if (spec.sign === "parens") {
|
|
50
|
+
options.signDisplay = "never";
|
|
51
|
+
parens = true;
|
|
52
|
+
}
|
|
53
|
+
return { options, prefix: spec.prefix ?? "", suffix: spec.suffix ?? "", parens };
|
|
54
|
+
}
|
|
55
|
+
function numberFormatOptions(format, value, currency = DEFAULT_CURRENCY, maxFractionDigits) {
|
|
56
|
+
return resolveNumberFormat(format, value, currency, maxFractionDigits).options;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
export {
|
|
60
|
+
resolveNumberFormatSpec,
|
|
61
|
+
COMPACT_THRESHOLD,
|
|
62
|
+
DEFAULT_CURRENCY,
|
|
63
|
+
DEFAULT_MAX_FRACTION_DIGITS,
|
|
64
|
+
shouldCompact,
|
|
65
|
+
resolveNumberFormat,
|
|
66
|
+
numberFormatOptions
|
|
67
|
+
};
|
|
68
|
+
//# sourceMappingURL=chunk-LDOCY4SU.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/lib/compact-number.ts"],"sourcesContent":["/**\n * compact-number.ts — the same \"shown short, copied exact\" number rule the\n * charts package applies to axis ticks and tooltips, available to `ui` surfaces\n * that display a figure (today: `MetricCard`).\n *\n * DELIBERATE TWIN of `packages/charts/src/charts/value-format.ts`. Dependencies\n * flow one way — `tokens → ui → charts` — so `ui` cannot import the charts\n * module, and a chart-domain union does not belong in the `ui` public API just\n * to be shared. The duplication is ~20 lines and the two must stay in step:\n * **change one, change the other**, and keep {@link COMPACT_THRESHOLD} equal in\n * both. `metric-card.test.tsx` and `value-format.test.ts` pin the same cases on\n * each side so a drift shows up as a failing test rather than as two surfaces\n * disagreeing about what `1500` looks like.\n */\n\n/** How a numeric value is rendered. Mirrors the charts `ChartValueFormatPreset`. */\nexport type NumberFormatKind = \"number\" | \"compact\" | \"currency\" | \"percent\";\n\n/**\n * The object form of {@link NumberFormat} (RM-109) — decimals, sign,\n * prefix/suffix and abbreviation as independent knobs. Mirrors the charts\n * `ChartValueFormatSpec` field-for-field; see that type's docblock\n * (`packages/charts/src/charts/value-format.ts`) for the full contract of\n * each field — this is the DELIBERATE TWIN, not a reinterpretation.\n */\nexport interface NumberFormatSpec {\n style?: \"number\" | \"currency\" | \"percent\";\n decimals?: number;\n optionalDecimals?: boolean;\n abbreviate?: boolean | \"auto\";\n sign?: \"auto\" | \"always\" | \"parens\";\n prefix?: string;\n suffix?: string;\n grouping?: boolean;\n currency?: string;\n}\n\n/** A preset string or the {@link NumberFormatSpec} object form (RM-109). */\nexport type NumberFormat = NumberFormatKind | NumberFormatSpec;\n\n/** The preset strings' shape, expressed as specs — the union's one resolved shape. */\nconst PRESET_NUMBER_FORMAT_SPECS: Record<NumberFormatKind, NumberFormatSpec> = {\n number: { style: \"number\", abbreviate: false },\n compact: { style: \"number\", abbreviate: \"auto\" },\n currency: { style: \"currency\", abbreviate: \"auto\" },\n percent: { style: \"percent\", abbreviate: false },\n};\n\n/** Normalizes a preset string or a spec object to one {@link NumberFormatSpec} shape. */\nexport function resolveNumberFormatSpec(format: NumberFormat): NumberFormatSpec {\n return typeof format === \"string\"\n ? (PRESET_NUMBER_FORMAT_SPECS[format] ?? PRESET_NUMBER_FORMAT_SPECS.compact)\n : format;\n}\n\n/** Magnitude at or above which `compact`/`currency` switch to compact notation. */\nexport const COMPACT_THRESHOLD = 1000;\n\n/** Used when a caller asks for currency without naming one. */\nexport const DEFAULT_CURRENCY = \"USD\";\n\n/** One decimal keeps `1.5M` readable without implying precision it lacks. */\nexport const DEFAULT_MAX_FRACTION_DIGITS = 1;\n\n/** Whether `value`'s magnitude earns compact notation. */\nexport function shouldCompact(value: number): boolean {\n return Number.isFinite(value) && Math.abs(value) >= COMPACT_THRESHOLD;\n}\n\n/**\n * The full answer for `format` at this magnitude: `Intl.NumberFormatOptions`\n * plus the two things Intl cannot express — literal `prefix`/`suffix` text\n * and `sign: \"parens\"` (accounting-style negatives). Twin of\n * `resolveChartValueFormat` (`value-format.ts`) — same fields, same rules.\n */\nexport interface ResolvedNumberFormat {\n /** Pure `Intl.NumberFormatOptions` — everything Intl itself can render. */\n options: Intl.NumberFormatOptions;\n /** Literal text before the formatted number. */\n prefix: string;\n /** Literal text after the formatted number. */\n suffix: string;\n /** `true` when a negative value renders as `(…)` instead of a minus sign. */\n parens: boolean;\n}\n\nexport function resolveNumberFormat(\n format: NumberFormat,\n value: number,\n currency: string = DEFAULT_CURRENCY,\n maxFractionDigits?: number,\n): ResolvedNumberFormat {\n const spec = resolveNumberFormatSpec(format);\n const style = spec.style ?? \"number\";\n const isPercent = style === \"percent\";\n const options: Intl.NumberFormatOptions = {};\n\n if (style === \"currency\") {\n options.style = \"currency\";\n options.currency = spec.currency ?? currency;\n } else if (isPercent) {\n options.style = \"percent\";\n }\n\n const wantsAbbreviate =\n !isPercent && (spec.abbreviate === true || (spec.abbreviate !== false && shouldCompact(value)));\n if (wantsAbbreviate) {\n options.notation = \"compact\";\n options.compactDisplay = \"short\";\n }\n\n const exactValueEscapeHatch = style === \"number\" && spec.abbreviate === false;\n const digits =\n spec.decimals ??\n maxFractionDigits ??\n (exactValueEscapeHatch ? undefined : DEFAULT_MAX_FRACTION_DIGITS);\n if (digits !== undefined) {\n options.maximumFractionDigits = digits;\n if (spec.optionalDecimals === false) {\n options.minimumFractionDigits = digits;\n }\n }\n\n if (spec.grouping === false) {\n options.useGrouping = false;\n }\n\n let parens = false;\n if (spec.sign === \"always\") {\n options.signDisplay = \"always\";\n } else if (spec.sign === \"parens\") {\n options.signDisplay = \"never\";\n parens = true;\n }\n\n return { options, prefix: spec.prefix ?? \"\", suffix: spec.suffix ?? \"\", parens };\n}\n\n/**\n * `Intl.NumberFormatOptions` for `format` at this magnitude — the pure-Intl\n * subset of {@link resolveNumberFormat}, kept as its own export because it is\n * the one every existing call site (and test) already depends on.\n */\nexport function numberFormatOptions(\n format: NumberFormatKind,\n value: number,\n currency: string = DEFAULT_CURRENCY,\n maxFractionDigits?: number,\n): Intl.NumberFormatOptions {\n return resolveNumberFormat(format, value, currency, maxFractionDigits).options;\n}\n"],"mappings":";;;AAyCA,IAAM,6BAAyE;AAAA,EAC7E,QAAQ,EAAE,OAAO,UAAU,YAAY,MAAM;AAAA,EAC7C,SAAS,EAAE,OAAO,UAAU,YAAY,OAAO;AAAA,EAC/C,UAAU,EAAE,OAAO,YAAY,YAAY,OAAO;AAAA,EAClD,SAAS,EAAE,OAAO,WAAW,YAAY,MAAM;AACjD;AAGO,SAAS,wBAAwB,QAAwC;AAC9E,SAAO,OAAO,WAAW,WACpB,2BAA2B,MAAM,KAAK,2BAA2B,UAClE;AACN;AAGO,IAAM,oBAAoB;AAG1B,IAAM,mBAAmB;AAGzB,IAAM,8BAA8B;AAGpC,SAAS,cAAc,OAAwB;AACpD,SAAO,OAAO,SAAS,KAAK,KAAK,KAAK,IAAI,KAAK,KAAK;AACtD;AAmBO,SAAS,oBACd,QACA,OACA,WAAmB,kBACnB,mBACsB;AACtB,QAAM,OAAO,wBAAwB,MAAM;AAC3C,QAAM,QAAQ,KAAK,SAAS;AAC5B,QAAM,YAAY,UAAU;AAC5B,QAAM,UAAoC,CAAC;AAE3C,MAAI,UAAU,YAAY;AACxB,YAAQ,QAAQ;AAChB,YAAQ,WAAW,KAAK,YAAY;AAAA,EACtC,WAAW,WAAW;AACpB,YAAQ,QAAQ;AAAA,EAClB;AAEA,QAAM,kBACJ,CAAC,cAAc,KAAK,eAAe,QAAS,KAAK,eAAe,SAAS,cAAc,KAAK;AAC9F,MAAI,iBAAiB;AACnB,YAAQ,WAAW;AACnB,YAAQ,iBAAiB;AAAA,EAC3B;AAEA,QAAM,wBAAwB,UAAU,YAAY,KAAK,eAAe;AACxE,QAAM,SACJ,KAAK,YACL,sBACC,wBAAwB,SAAY;AACvC,MAAI,WAAW,QAAW;AACxB,YAAQ,wBAAwB;AAChC,QAAI,KAAK,qBAAqB,OAAO;AACnC,cAAQ,wBAAwB;AAAA,IAClC;AAAA,EACF;AAEA,MAAI,KAAK,aAAa,OAAO;AAC3B,YAAQ,cAAc;AAAA,EACxB;AAEA,MAAI,SAAS;AACb,MAAI,KAAK,SAAS,UAAU;AAC1B,YAAQ,cAAc;AAAA,EACxB,WAAW,KAAK,SAAS,UAAU;AACjC,YAAQ,cAAc;AACtB,aAAS;AAAA,EACX;AAEA,SAAO,EAAE,SAAS,QAAQ,KAAK,UAAU,IAAI,QAAQ,KAAK,UAAU,IAAI,OAAO;AACjF;AAOO,SAAS,oBACd,QACA,OACA,WAAmB,kBACnB,mBAC0B;AAC1B,SAAO,oBAAoB,QAAQ,OAAO,UAAU,iBAAiB,EAAE;AACzE;","names":[]}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import {
|
|
3
|
+
cn
|
|
4
|
+
} from "./chunk-FXWWDMMP.js";
|
|
5
|
+
|
|
6
|
+
// src/components/toggle/toggle.tsx
|
|
7
|
+
import { forwardRef } from "react";
|
|
8
|
+
import * as TogglePrimitive from "@radix-ui/react-toggle";
|
|
9
|
+
import { cva } from "class-variance-authority";
|
|
10
|
+
import { jsx } from "react/jsx-runtime";
|
|
11
|
+
var toggleVariants = cva(
|
|
12
|
+
// Pressed (data-[state=on]) reads as a clearly-distinct, AA-safe state: an
|
|
13
|
+
// accent fill + bolded label (accent/accent-foreground is a guaranteed AA
|
|
14
|
+
// pair) plus a solid `primary` border as a ≥3:1 non-text boundary cue. We
|
|
15
|
+
// deliberately do NOT use `bg-primary`/`text-primary-foreground`: under the
|
|
16
|
+
// pre-debrand green palette that pair measured only 3.61:1 in `light`, which
|
|
17
|
+
// fails AA for text labels (#148). The retuned palette flipped
|
|
18
|
+
// `--primary-foreground` to near-black on a light primary and clears AA
|
|
19
|
+
// comfortably, so the CONTRAST argument is spent — the shape stands on design
|
|
20
|
+
// grounds instead: a pressed toggle is a secondary state and an accent fill is
|
|
21
|
+
// the right weight for it. The border carries the strength; the focus ring is
|
|
22
|
+
// untouched.
|
|
23
|
+
//
|
|
24
|
+
// Active styles are keyed on BOTH data-[state=on]: AND aria-pressed:/aria-checked:
|
|
25
|
+
// (belt-and-suspenders, mirroring the `segmented` variant). A TooltipTrigger
|
|
26
|
+
// asChild wrapper overwrites data-state="on" with "closed" — aria-pressed
|
|
27
|
+
// (Toggle) and aria-checked (ToggleGroupItem) are set by the toggle primitive
|
|
28
|
+
// alone and survive the merge. (#214)
|
|
29
|
+
"inline-flex items-center justify-center gap-2 rounded-control text-body font-control transition-colors duration-fast ease-standard hover:bg-muted hover:text-muted-foreground focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:font-semibold aria-pressed:bg-accent aria-pressed:text-accent-foreground aria-pressed:font-semibold aria-checked:bg-accent aria-checked:text-accent-foreground aria-checked:font-semibold [&_svg]:size-4 [&_svg]:shrink-0",
|
|
30
|
+
{
|
|
31
|
+
variants: {
|
|
32
|
+
variant: {
|
|
33
|
+
// `border border-transparent` reserves the 1px so the pressed
|
|
34
|
+
// `border-primary` does not shift layout.
|
|
35
|
+
default: "border border-transparent bg-transparent data-[state=on]:border-primary aria-pressed:border-primary aria-checked:border-primary",
|
|
36
|
+
outline: "border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground data-[state=on]:border-primary aria-pressed:border-primary aria-checked:border-primary",
|
|
37
|
+
// Segmented mode switch: the SAME elevation grammar as TabsTrigger —
|
|
38
|
+
// raised elevated segment on a recessed `bg-muted` track (the track
|
|
39
|
+
// comes from ToggleGroup `variant="segmented"`). No `border-primary`
|
|
40
|
+
// here: within a group the active boundary is the fill/elevation
|
|
41
|
+
// change (1.4.11 redundant boundary), and no weight shift on press
|
|
42
|
+
// (labels would jiggle the segment widths).
|
|
43
|
+
// Keyed off aria-checked/aria-pressed, NOT data-[state=on]: a
|
|
44
|
+
// TooltipTrigger asChild wrapper overwrites the toggle's data-state
|
|
45
|
+
// with the tooltip's ("closed"), silently killing the active style —
|
|
46
|
+
// the aria attributes are set by the toggle primitive alone.
|
|
47
|
+
segmented: "border-0 bg-transparent text-muted-foreground hover:bg-transparent hover:text-foreground aria-checked:bg-surface-elevated aria-checked:text-foreground aria-checked:font-medium aria-checked:shadow-sm aria-pressed:bg-surface-elevated aria-pressed:text-foreground aria-pressed:font-medium aria-pressed:shadow-sm data-[state=on]:bg-surface-elevated data-[state=on]:text-foreground data-[state=on]:font-medium data-[state=on]:shadow-sm"
|
|
48
|
+
},
|
|
49
|
+
size: {
|
|
50
|
+
default: "h-control px-2.5 min-w-control",
|
|
51
|
+
sm: "h-control-sm px-2 min-w-control-sm",
|
|
52
|
+
lg: "h-control-lg px-3 min-w-control-lg"
|
|
53
|
+
}
|
|
54
|
+
},
|
|
55
|
+
defaultVariants: { variant: "default", size: "default" }
|
|
56
|
+
}
|
|
57
|
+
);
|
|
58
|
+
var Toggle = forwardRef(function Toggle2({ className, variant, size, ...props }, ref) {
|
|
59
|
+
return /* @__PURE__ */ jsx(
|
|
60
|
+
TogglePrimitive.Root,
|
|
61
|
+
{
|
|
62
|
+
ref,
|
|
63
|
+
"data-slot": "toggle",
|
|
64
|
+
className: cn(toggleVariants({ variant, size }), className),
|
|
65
|
+
...props
|
|
66
|
+
}
|
|
67
|
+
);
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
export {
|
|
71
|
+
toggleVariants,
|
|
72
|
+
Toggle
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chunk-LG33MONJ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/toggle/toggle.tsx"],"sourcesContent":["import { forwardRef, type ComponentPropsWithoutRef, type ElementRef } from \"react\";\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { cn } from \"../../lib/cn\";\n\nexport const toggleVariants = cva(\n // Pressed (data-[state=on]) reads as a clearly-distinct, AA-safe state: an\n // accent fill + bolded label (accent/accent-foreground is a guaranteed AA\n // pair) plus a solid `primary` border as a ≥3:1 non-text boundary cue. We\n // deliberately do NOT use `bg-primary`/`text-primary-foreground`: under the\n // pre-debrand green palette that pair measured only 3.61:1 in `light`, which\n // fails AA for text labels (#148). The retuned palette flipped\n // `--primary-foreground` to near-black on a light primary and clears AA\n // comfortably, so the CONTRAST argument is spent — the shape stands on design\n // grounds instead: a pressed toggle is a secondary state and an accent fill is\n // the right weight for it. The border carries the strength; the focus ring is\n // untouched.\n //\n // Active styles are keyed on BOTH data-[state=on]: AND aria-pressed:/aria-checked:\n // (belt-and-suspenders, mirroring the `segmented` variant). A TooltipTrigger\n // asChild wrapper overwrites data-state=\"on\" with \"closed\" — aria-pressed\n // (Toggle) and aria-checked (ToggleGroupItem) are set by the toggle primitive\n // alone and survive the merge. (#214)\n \"inline-flex items-center justify-center gap-2 rounded-control text-body font-control transition-colors duration-fast ease-standard hover:bg-muted hover:text-muted-foreground focus-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground data-[state=on]:font-semibold aria-pressed:bg-accent aria-pressed:text-accent-foreground aria-pressed:font-semibold aria-checked:bg-accent aria-checked:text-accent-foreground aria-checked:font-semibold [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n // `border border-transparent` reserves the 1px so the pressed\n // `border-primary` does not shift layout.\n default:\n \"border border-transparent bg-transparent data-[state=on]:border-primary aria-pressed:border-primary aria-checked:border-primary\",\n outline:\n \"border border-input bg-transparent shadow-sm hover:bg-accent hover:text-accent-foreground data-[state=on]:border-primary aria-pressed:border-primary aria-checked:border-primary\",\n // Segmented mode switch: the SAME elevation grammar as TabsTrigger —\n // raised elevated segment on a recessed `bg-muted` track (the track\n // comes from ToggleGroup `variant=\"segmented\"`). No `border-primary`\n // here: within a group the active boundary is the fill/elevation\n // change (1.4.11 redundant boundary), and no weight shift on press\n // (labels would jiggle the segment widths).\n // Keyed off aria-checked/aria-pressed, NOT data-[state=on]: a\n // TooltipTrigger asChild wrapper overwrites the toggle's data-state\n // with the tooltip's (\"closed\"), silently killing the active style —\n // the aria attributes are set by the toggle primitive alone.\n segmented:\n \"border-0 bg-transparent text-muted-foreground hover:bg-transparent hover:text-foreground aria-checked:bg-surface-elevated aria-checked:text-foreground aria-checked:font-medium aria-checked:shadow-sm aria-pressed:bg-surface-elevated aria-pressed:text-foreground aria-pressed:font-medium aria-pressed:shadow-sm data-[state=on]:bg-surface-elevated data-[state=on]:text-foreground data-[state=on]:font-medium data-[state=on]:shadow-sm\",\n },\n size: {\n default: \"h-control px-2.5 min-w-control\",\n sm: \"h-control-sm px-2 min-w-control-sm\",\n lg: \"h-control-lg px-3 min-w-control-lg\",\n },\n },\n defaultVariants: { variant: \"default\", size: \"default\" },\n },\n);\n\nexport const Toggle = forwardRef<\n ElementRef<typeof TogglePrimitive.Root>,\n ComponentPropsWithoutRef<typeof TogglePrimitive.Root> & VariantProps<typeof toggleVariants>\n>(function Toggle({ className, variant, size, ...props }, ref) {\n return (\n <TogglePrimitive.Root\n ref={ref}\n data-slot=\"toggle\"\n className={cn(toggleVariants({ variant, size }), className)}\n {...props}\n />\n );\n});\n"],"mappings":";;;;;;AAAA,SAAS,kBAAkE;AAC3E,YAAY,qBAAqB;AACjC,SAAS,WAA8B;AA2DnC;AAxDG,IAAM,iBAAiB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAkB5B;AAAA,EACA;AAAA,IACE,UAAU;AAAA,MACR,SAAS;AAAA;AAAA;AAAA,QAGP,SACE;AAAA,QACF,SACE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,QAWF,WACE;AAAA,MACJ;AAAA,MACA,MAAM;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,QACJ,IAAI;AAAA,MACN;AAAA,IACF;AAAA,IACA,iBAAiB,EAAE,SAAS,WAAW,MAAM,UAAU;AAAA,EACzD;AACF;AAEO,IAAM,SAAS,WAGpB,SAASA,QAAO,EAAE,WAAW,SAAS,MAAM,GAAG,MAAM,GAAG,KAAK;AAC7D,SACE;AAAA,IAAiB;AAAA,IAAhB;AAAA,MACC;AAAA,MACA,aAAU;AAAA,MACV,WAAW,GAAG,eAAe,EAAE,SAAS,KAAK,CAAC,GAAG,SAAS;AAAA,MACzD,GAAG;AAAA;AAAA,EACN;AAEJ,CAAC;","names":["Toggle"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
|