@etus/ui 0.4.0-beta.2 → 0.4.0-beta.4
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/dist/chunk-23BHD62H.js +288 -0
- package/dist/chunk-23BHD62H.js.map +1 -0
- package/dist/chunk-2D6OFVPN.js +145 -0
- package/dist/chunk-2D6OFVPN.js.map +1 -0
- package/dist/chunk-2HM5Z2YP.js +834 -0
- package/dist/chunk-2HM5Z2YP.js.map +1 -0
- package/dist/chunk-2IFYXJ3H.js +107 -0
- package/dist/chunk-2IFYXJ3H.js.map +1 -0
- package/dist/chunk-2UGDLAYC.js +71 -0
- package/dist/chunk-2UGDLAYC.js.map +1 -0
- package/dist/chunk-2VHARFMD.js +670 -0
- package/dist/chunk-2VHARFMD.js.map +1 -0
- package/dist/chunk-2XJWE2XR.js +36 -0
- package/dist/chunk-2XJWE2XR.js.map +1 -0
- package/dist/chunk-2Y7PQ6ZL.js +96 -0
- package/dist/chunk-2Y7PQ6ZL.js.map +1 -0
- package/dist/chunk-32IJQOUV.js +226 -0
- package/dist/chunk-32IJQOUV.js.map +1 -0
- package/dist/chunk-33JGPMUW.js +170 -0
- package/dist/chunk-33JGPMUW.js.map +1 -0
- package/dist/chunk-36XTKR3B.js +544 -0
- package/dist/chunk-36XTKR3B.js.map +1 -0
- package/dist/chunk-3L5G7VI2.js +203 -0
- package/dist/chunk-3L5G7VI2.js.map +1 -0
- package/dist/chunk-3MJNJKAF.js +264 -0
- package/dist/chunk-3MJNJKAF.js.map +1 -0
- package/dist/chunk-3NFQXZHO.js +199 -0
- package/dist/chunk-3NFQXZHO.js.map +1 -0
- package/dist/chunk-3RJEA2MM.js +560 -0
- package/dist/chunk-3RJEA2MM.js.map +1 -0
- package/dist/chunk-3WOGOTOV.js +152 -0
- package/dist/chunk-3WOGOTOV.js.map +1 -0
- package/dist/chunk-46ESMCEQ.js +80 -0
- package/dist/chunk-46ESMCEQ.js.map +1 -0
- package/dist/chunk-4GQN76L7.js +228 -0
- package/dist/chunk-4GQN76L7.js.map +1 -0
- package/dist/chunk-4MQNDQ4O.js +62 -0
- package/dist/chunk-4MQNDQ4O.js.map +1 -0
- package/dist/chunk-4RSHPKHB.js +268 -0
- package/dist/chunk-4RSHPKHB.js.map +1 -0
- package/dist/chunk-4Y72SPNL.js +283 -0
- package/dist/chunk-4Y72SPNL.js.map +1 -0
- package/dist/chunk-57KTYE5H.js +273 -0
- package/dist/chunk-57KTYE5H.js.map +1 -0
- package/dist/chunk-5J5OL4IV.js +529 -0
- package/dist/chunk-5J5OL4IV.js.map +1 -0
- package/dist/chunk-5KTMPLDK.js +251 -0
- package/dist/chunk-5KTMPLDK.js.map +1 -0
- package/dist/chunk-5XQIH6WM.js +204 -0
- package/dist/chunk-5XQIH6WM.js.map +1 -0
- package/dist/chunk-5YDFC74M.js +310 -0
- package/dist/chunk-5YDFC74M.js.map +1 -0
- package/dist/chunk-5ZEYTBTU.js +288 -0
- package/dist/chunk-5ZEYTBTU.js.map +1 -0
- package/dist/chunk-5ZKKXLPF.js +177 -0
- package/dist/chunk-5ZKKXLPF.js.map +1 -0
- package/dist/chunk-5ZWFIDO2.js +3 -0
- package/dist/chunk-5ZWFIDO2.js.map +1 -0
- package/dist/chunk-65YSTUD2.js +206 -0
- package/dist/chunk-65YSTUD2.js.map +1 -0
- package/dist/chunk-6GWO7JNP.js +438 -0
- package/dist/chunk-6GWO7JNP.js.map +1 -0
- package/dist/chunk-6SHOL6WR.js +163 -0
- package/dist/chunk-6SHOL6WR.js.map +1 -0
- package/dist/chunk-6SZRWNPT.js +67 -0
- package/dist/chunk-6SZRWNPT.js.map +1 -0
- package/dist/chunk-6VCJU6XD.js +19 -0
- package/dist/chunk-6VCJU6XD.js.map +1 -0
- package/dist/chunk-6XY7QYVR.js +812 -0
- package/dist/chunk-6XY7QYVR.js.map +1 -0
- package/dist/chunk-6Z73ZQOP.js +3 -0
- package/dist/chunk-6Z73ZQOP.js.map +1 -0
- package/dist/chunk-6ZAMTPGN.js +309 -0
- package/dist/chunk-6ZAMTPGN.js.map +1 -0
- package/dist/chunk-7I6KK6QE.js +411 -0
- package/dist/chunk-7I6KK6QE.js.map +1 -0
- package/dist/chunk-7RTHGI6E.js +154 -0
- package/dist/chunk-7RTHGI6E.js.map +1 -0
- package/dist/chunk-7Y2UQMX6.js +524 -0
- package/dist/chunk-7Y2UQMX6.js.map +1 -0
- package/dist/chunk-7ZJ32KRQ.js +100 -0
- package/dist/chunk-7ZJ32KRQ.js.map +1 -0
- package/dist/chunk-AB3S55W5.js +1208 -0
- package/dist/chunk-AB3S55W5.js.map +1 -0
- package/dist/chunk-AEE5GDNA.js +220 -0
- package/dist/chunk-AEE5GDNA.js.map +1 -0
- package/dist/chunk-AEHYYTFW.js +70 -0
- package/dist/chunk-AEHYYTFW.js.map +1 -0
- package/dist/chunk-AFCSDND5.js +58 -0
- package/dist/chunk-AFCSDND5.js.map +1 -0
- package/dist/chunk-AR3OXNPL.js +70 -0
- package/dist/chunk-AR3OXNPL.js.map +1 -0
- package/dist/chunk-ARNVOHVW.js +103 -0
- package/dist/chunk-ARNVOHVW.js.map +1 -0
- package/dist/chunk-ATIEGLR2.js +3 -0
- package/dist/chunk-ATIEGLR2.js.map +1 -0
- package/dist/chunk-AUCDXPWH.js +853 -0
- package/dist/chunk-AUCDXPWH.js.map +1 -0
- package/dist/chunk-AWYOWR5N.js +928 -0
- package/dist/chunk-AWYOWR5N.js.map +1 -0
- package/dist/chunk-AZANPNLR.js +134 -0
- package/dist/chunk-AZANPNLR.js.map +1 -0
- package/dist/chunk-B3BDIM4H.js +137 -0
- package/dist/chunk-B3BDIM4H.js.map +1 -0
- package/dist/chunk-B4ETIQOO.js +101 -0
- package/dist/chunk-B4ETIQOO.js.map +1 -0
- package/dist/chunk-B6KQKQ4S.js +774 -0
- package/dist/chunk-B6KQKQ4S.js.map +1 -0
- package/dist/chunk-B7ZLPQSO.js +181 -0
- package/dist/chunk-B7ZLPQSO.js.map +1 -0
- package/dist/chunk-BECPEVUL.js +115 -0
- package/dist/chunk-BECPEVUL.js.map +1 -0
- package/dist/chunk-BFBGESUI.js +217 -0
- package/dist/chunk-BFBGESUI.js.map +1 -0
- package/dist/chunk-BITATKTH.js +3 -0
- package/dist/chunk-BITATKTH.js.map +1 -0
- package/dist/chunk-BIUVOZQG.js +370 -0
- package/dist/chunk-BIUVOZQG.js.map +1 -0
- package/dist/chunk-BQMQULAC.js +37 -0
- package/dist/chunk-BQMQULAC.js.map +1 -0
- package/dist/chunk-BWGZKU3I.js +3 -0
- package/dist/chunk-BWGZKU3I.js.map +1 -0
- package/dist/chunk-CKD4UBV6.js +138 -0
- package/dist/chunk-CKD4UBV6.js.map +1 -0
- package/dist/chunk-CNRV2IGH.js +111 -0
- package/dist/chunk-CNRV2IGH.js.map +1 -0
- package/dist/chunk-CP2PEDG2.js +383 -0
- package/dist/chunk-CP2PEDG2.js.map +1 -0
- package/dist/chunk-CSXT7SKR.js +139 -0
- package/dist/chunk-CSXT7SKR.js.map +1 -0
- package/dist/chunk-CYIFWQ5Y.js +197 -0
- package/dist/chunk-CYIFWQ5Y.js.map +1 -0
- package/dist/chunk-D2V2HKLX.js +249 -0
- package/dist/chunk-D2V2HKLX.js.map +1 -0
- package/dist/chunk-D6TH3EGA.js +204 -0
- package/dist/chunk-D6TH3EGA.js.map +1 -0
- package/dist/chunk-DDM2I5C6.js +199 -0
- package/dist/chunk-DDM2I5C6.js.map +1 -0
- package/dist/chunk-DDR24GOP.js +182 -0
- package/dist/chunk-DDR24GOP.js.map +1 -0
- package/dist/chunk-DL7D5F7B.js +63 -0
- package/dist/chunk-DL7D5F7B.js.map +1 -0
- package/dist/chunk-DNAGXK2C.js +91 -0
- package/dist/chunk-DNAGXK2C.js.map +1 -0
- package/dist/chunk-DYDXGWH2.js +109 -0
- package/dist/chunk-DYDXGWH2.js.map +1 -0
- package/dist/chunk-E27SQ54A.js +122 -0
- package/dist/chunk-E27SQ54A.js.map +1 -0
- package/dist/chunk-EGYWK2XX.js +316 -0
- package/dist/chunk-EGYWK2XX.js.map +1 -0
- package/dist/chunk-ESLSPRYA.js +875 -0
- package/dist/chunk-ESLSPRYA.js.map +1 -0
- package/dist/chunk-EVUHEBWX.js +35 -0
- package/dist/chunk-EVUHEBWX.js.map +1 -0
- package/dist/chunk-F6ZKBK5B.js +265 -0
- package/dist/chunk-F6ZKBK5B.js.map +1 -0
- package/dist/chunk-F7XARQUW.js +82 -0
- package/dist/chunk-F7XARQUW.js.map +1 -0
- package/dist/chunk-FCSYPOHF.js +77 -0
- package/dist/chunk-FCSYPOHF.js.map +1 -0
- package/dist/chunk-FDES5YDF.js +159 -0
- package/dist/chunk-FDES5YDF.js.map +1 -0
- package/dist/chunk-FPCRGFNY.js +776 -0
- package/dist/chunk-FPCRGFNY.js.map +1 -0
- package/dist/chunk-FRDYXDAE.js +69 -0
- package/dist/chunk-FRDYXDAE.js.map +1 -0
- package/dist/chunk-FSMHI7DW.js +291 -0
- package/dist/chunk-FSMHI7DW.js.map +1 -0
- package/dist/chunk-FYJHWYPM.js +539 -0
- package/dist/chunk-FYJHWYPM.js.map +1 -0
- package/dist/chunk-G2V7D7VC.js +371 -0
- package/dist/chunk-G2V7D7VC.js.map +1 -0
- package/dist/chunk-G5TWK7L3.js +667 -0
- package/dist/chunk-G5TWK7L3.js.map +1 -0
- package/dist/chunk-G6SIIN2B.js +3 -0
- package/dist/chunk-G6SIIN2B.js.map +1 -0
- package/dist/chunk-GAP3OZR7.js +223 -0
- package/dist/chunk-GAP3OZR7.js.map +1 -0
- package/dist/chunk-GKMR5SVC.js +97 -0
- package/dist/chunk-GKMR5SVC.js.map +1 -0
- package/dist/chunk-GL56KIFL.js +79 -0
- package/dist/chunk-GL56KIFL.js.map +1 -0
- package/dist/chunk-GPW57XOW.js +80 -0
- package/dist/chunk-GPW57XOW.js.map +1 -0
- package/dist/chunk-H4ANCFZG.js +233 -0
- package/dist/chunk-H4ANCFZG.js.map +1 -0
- package/dist/chunk-HAEZLC7V.js +122 -0
- package/dist/chunk-HAEZLC7V.js.map +1 -0
- package/dist/chunk-HKXQLWGR.js +335 -0
- package/dist/chunk-HKXQLWGR.js.map +1 -0
- package/dist/chunk-HRNDJU7D.js +5 -5
- package/dist/chunk-HRNDJU7D.js.map +1 -1
- package/dist/chunk-HXHB2CK5.js +108 -0
- package/dist/chunk-HXHB2CK5.js.map +1 -0
- package/dist/chunk-I7ZLEC7Y.js +128 -0
- package/dist/chunk-I7ZLEC7Y.js.map +1 -0
- package/dist/chunk-IBVCSZCH.js +142 -0
- package/dist/chunk-IBVCSZCH.js.map +1 -0
- package/dist/chunk-ICAQYWCX.js +153 -0
- package/dist/chunk-ICAQYWCX.js.map +1 -0
- package/dist/chunk-ICM45N2K.js +225 -0
- package/dist/chunk-ICM45N2K.js.map +1 -0
- package/dist/chunk-IFHF4UES.js +387 -0
- package/dist/chunk-IFHF4UES.js.map +1 -0
- package/dist/chunk-ILAV2AZ4.js +226 -0
- package/dist/chunk-ILAV2AZ4.js.map +1 -0
- package/dist/chunk-IRIIK3BU.js +215 -0
- package/dist/chunk-IRIIK3BU.js.map +1 -0
- package/dist/chunk-IRKDMISK.js +62 -0
- package/dist/chunk-IRKDMISK.js.map +1 -0
- package/dist/chunk-IXJHHR3Y.js +3 -0
- package/dist/chunk-IXJHHR3Y.js.map +1 -0
- package/dist/chunk-J62TFQHR.js +174 -0
- package/dist/chunk-J62TFQHR.js.map +1 -0
- package/dist/chunk-JDTAG7KZ.js +33 -0
- package/dist/chunk-JDTAG7KZ.js.map +1 -0
- package/dist/chunk-JKYB5QAP.js +1070 -0
- package/dist/chunk-JKYB5QAP.js.map +1 -0
- package/dist/chunk-JMZ4CO6R.js +159 -0
- package/dist/chunk-JMZ4CO6R.js.map +1 -0
- package/dist/chunk-JPA2VQRW.js +119 -0
- package/dist/chunk-JPA2VQRW.js.map +1 -0
- package/dist/chunk-JWXK4TMX.js +106 -0
- package/dist/chunk-JWXK4TMX.js.map +1 -0
- package/dist/chunk-K45MMHLA.js +258 -0
- package/dist/chunk-K45MMHLA.js.map +1 -0
- package/dist/chunk-KC6CHPT3.js +995 -0
- package/dist/chunk-KC6CHPT3.js.map +1 -0
- package/dist/chunk-KPNNSUXM.js +130 -0
- package/dist/chunk-KPNNSUXM.js.map +1 -0
- package/dist/chunk-KR3IVNQH.js +402 -0
- package/dist/chunk-KR3IVNQH.js.map +1 -0
- package/dist/chunk-KRHL3YH2.js +3 -0
- package/dist/chunk-KRHL3YH2.js.map +1 -0
- package/dist/chunk-L2XR5IFJ.js +103 -0
- package/dist/chunk-L2XR5IFJ.js.map +1 -0
- package/dist/chunk-LATTRPLQ.js +286 -0
- package/dist/chunk-LATTRPLQ.js.map +1 -0
- package/dist/chunk-LFN7UHDT.js +122 -0
- package/dist/chunk-LFN7UHDT.js.map +1 -0
- package/dist/chunk-LNY2EXOV.js +349 -0
- package/dist/chunk-LNY2EXOV.js.map +1 -0
- package/dist/chunk-LQVQ7SHG.js +226 -0
- package/dist/chunk-LQVQ7SHG.js.map +1 -0
- package/dist/chunk-MK6ID2HI.js +532 -0
- package/dist/chunk-MK6ID2HI.js.map +1 -0
- package/dist/chunk-MQ2446N7.js +216 -0
- package/dist/chunk-MQ2446N7.js.map +1 -0
- package/dist/chunk-MVOENLOZ.js +3 -0
- package/dist/chunk-MVOENLOZ.js.map +1 -0
- package/dist/chunk-N23L6UDK.js +108 -0
- package/dist/chunk-N23L6UDK.js.map +1 -0
- package/dist/chunk-N3I6GA4I.js +137 -0
- package/dist/chunk-N3I6GA4I.js.map +1 -0
- package/dist/chunk-N4UTBJRY.js +72 -0
- package/dist/chunk-N4UTBJRY.js.map +1 -0
- package/dist/chunk-NCLOPI6U.js +347 -0
- package/dist/chunk-NCLOPI6U.js.map +1 -0
- package/dist/chunk-NGR4HFVA.js +136 -0
- package/dist/chunk-NGR4HFVA.js.map +1 -0
- package/dist/chunk-NK5Q2YRM.js +70 -0
- package/dist/chunk-NK5Q2YRM.js.map +1 -0
- package/dist/chunk-NWVYQYKK.js +75 -0
- package/dist/chunk-NWVYQYKK.js.map +1 -0
- package/dist/chunk-NXQ25PKF.js +318 -0
- package/dist/chunk-NXQ25PKF.js.map +1 -0
- package/dist/chunk-OEXQ2MOY.js +338 -0
- package/dist/chunk-OEXQ2MOY.js.map +1 -0
- package/dist/chunk-ONQCNOLU.js +233 -0
- package/dist/chunk-ONQCNOLU.js.map +1 -0
- package/dist/chunk-ONTUN5XH.js +57 -0
- package/dist/chunk-ONTUN5XH.js.map +1 -0
- package/dist/chunk-OQCGQG47.js +83 -0
- package/dist/chunk-OQCGQG47.js.map +1 -0
- package/dist/chunk-OWIFNJXZ.js +167 -0
- package/dist/chunk-OWIFNJXZ.js.map +1 -0
- package/dist/chunk-OWOVCGUZ.js +1062 -0
- package/dist/chunk-OWOVCGUZ.js.map +1 -0
- package/dist/chunk-PFVT27B5.js +92 -0
- package/dist/chunk-PFVT27B5.js.map +1 -0
- package/dist/chunk-PK5O62XD.js +58 -0
- package/dist/chunk-PK5O62XD.js.map +1 -0
- package/dist/chunk-PLLJNHWU.js +175 -0
- package/dist/chunk-PLLJNHWU.js.map +1 -0
- package/dist/chunk-PWCMCMDN.js +67 -0
- package/dist/chunk-PWCMCMDN.js.map +1 -0
- package/dist/chunk-Q43KJP5A.js +294 -0
- package/dist/chunk-Q43KJP5A.js.map +1 -0
- package/dist/chunk-QHKOBGLW.js +119 -0
- package/dist/chunk-QHKOBGLW.js.map +1 -0
- package/dist/chunk-QIETN4UU.js +924 -0
- package/dist/chunk-QIETN4UU.js.map +1 -0
- package/dist/chunk-QUENPT24.js +100 -0
- package/dist/chunk-QUENPT24.js.map +1 -0
- package/dist/chunk-QZWKXUZP.js +147 -0
- package/dist/chunk-QZWKXUZP.js.map +1 -0
- package/dist/chunk-R4UOT76L.js +342 -0
- package/dist/chunk-R4UOT76L.js.map +1 -0
- package/dist/chunk-RVUO7SDG.js +460 -0
- package/dist/chunk-RVUO7SDG.js.map +1 -0
- package/dist/chunk-S6ORCWM2.js +205 -0
- package/dist/chunk-S6ORCWM2.js.map +1 -0
- package/dist/chunk-SCGKQ5RE.js +55 -0
- package/dist/chunk-SCGKQ5RE.js.map +1 -0
- package/dist/chunk-SHS6EGWS.js +226 -0
- package/dist/chunk-SHS6EGWS.js.map +1 -0
- package/dist/chunk-SJSYKUCL.js +297 -0
- package/dist/chunk-SJSYKUCL.js.map +1 -0
- package/dist/chunk-SM4AZOEP.js +222 -0
- package/dist/chunk-SM4AZOEP.js.map +1 -0
- package/dist/chunk-SXJMERQL.js +40 -0
- package/dist/chunk-SXJMERQL.js.map +1 -0
- package/dist/chunk-TAZPML2P.js +198 -0
- package/dist/chunk-TAZPML2P.js.map +1 -0
- package/dist/chunk-TNROOKX3.js +352 -0
- package/dist/chunk-TNROOKX3.js.map +1 -0
- package/dist/chunk-TQBUBD3E.js +100 -0
- package/dist/chunk-TQBUBD3E.js.map +1 -0
- package/dist/chunk-U4H3XHSI.js +305 -0
- package/dist/chunk-U4H3XHSI.js.map +1 -0
- package/dist/chunk-U6EOAIPK.js +67 -0
- package/dist/chunk-U6EOAIPK.js.map +1 -0
- package/dist/chunk-U74PNG4S.js +167 -0
- package/dist/chunk-U74PNG4S.js.map +1 -0
- package/dist/chunk-U77MCUVE.js +3 -0
- package/dist/chunk-U77MCUVE.js.map +1 -0
- package/dist/chunk-UA3OQAHJ.js +140 -0
- package/dist/chunk-UA3OQAHJ.js.map +1 -0
- package/dist/chunk-UFRMZ3M6.js +284 -0
- package/dist/chunk-UFRMZ3M6.js.map +1 -0
- package/dist/chunk-UOHVT5KN.js +3 -0
- package/dist/chunk-UOHVT5KN.js.map +1 -0
- package/dist/chunk-UP2VWCW5.js +2 -7
- package/dist/chunk-UP2VWCW5.js.map +1 -1
- package/dist/chunk-V7WEN4SD.js +444 -0
- package/dist/chunk-V7WEN4SD.js.map +1 -0
- package/dist/chunk-V7XHE25E.js +354 -0
- package/dist/chunk-V7XHE25E.js.map +1 -0
- package/dist/chunk-VFALJSXB.js +373 -0
- package/dist/chunk-VFALJSXB.js.map +1 -0
- package/dist/chunk-VKDN66VL.js +129 -0
- package/dist/chunk-VKDN66VL.js.map +1 -0
- package/dist/chunk-VT4IMHGE.js +292 -0
- package/dist/chunk-VT4IMHGE.js.map +1 -0
- package/dist/chunk-VWW3DJKI.js +53 -0
- package/dist/chunk-VWW3DJKI.js.map +1 -0
- package/dist/chunk-VZZ3HP7G.js +230 -0
- package/dist/chunk-VZZ3HP7G.js.map +1 -0
- package/dist/chunk-W3QUVCRK.js +54 -0
- package/dist/chunk-W3QUVCRK.js.map +1 -0
- package/dist/chunk-W4NC5CU5.js +175 -0
- package/dist/chunk-W4NC5CU5.js.map +1 -0
- package/dist/chunk-WBE6VQOO.js +235 -0
- package/dist/chunk-WBE6VQOO.js.map +1 -0
- package/dist/chunk-WG5IYG7X.js +3 -0
- package/dist/chunk-WG5IYG7X.js.map +1 -0
- package/dist/chunk-WH7Y2MAY.js +24 -0
- package/dist/chunk-WH7Y2MAY.js.map +1 -0
- package/dist/chunk-X4YUWX7H.js +146 -0
- package/dist/chunk-X4YUWX7H.js.map +1 -0
- package/dist/chunk-XETKCF73.js +74 -0
- package/dist/chunk-XETKCF73.js.map +1 -0
- package/dist/chunk-XLTSCY22.js +93 -0
- package/dist/chunk-XLTSCY22.js.map +1 -0
- package/dist/chunk-XOGMDABS.js +152 -0
- package/dist/chunk-XOGMDABS.js.map +1 -0
- package/dist/chunk-XRMKL43Y.js +90 -0
- package/dist/chunk-XRMKL43Y.js.map +1 -0
- package/dist/chunk-XV6NXXXP.js +206 -0
- package/dist/chunk-XV6NXXXP.js.map +1 -0
- package/dist/chunk-XXFKDEFH.js +143 -0
- package/dist/chunk-XXFKDEFH.js.map +1 -0
- package/dist/chunk-Y3BOERVB.js +482 -0
- package/dist/chunk-Y3BOERVB.js.map +1 -0
- package/dist/chunk-Y555RCRZ.js +26 -0
- package/dist/chunk-Y555RCRZ.js.map +1 -0
- package/dist/chunk-Y5GO2F6P.js +188 -0
- package/dist/chunk-Y5GO2F6P.js.map +1 -0
- package/dist/chunk-Y7UFBSAD.js +515 -0
- package/dist/chunk-Y7UFBSAD.js.map +1 -0
- package/dist/chunk-YCZ6M6EF.js +912 -0
- package/dist/chunk-YCZ6M6EF.js.map +1 -0
- package/dist/chunk-YMYXWHDU.js +96 -0
- package/dist/chunk-YMYXWHDU.js.map +1 -0
- package/dist/chunk-YP2ATSXP.js +452 -0
- package/dist/chunk-YP2ATSXP.js.map +1 -0
- package/dist/chunk-YZY35OHQ.js +279 -0
- package/dist/chunk-YZY35OHQ.js.map +1 -0
- package/dist/chunk-Z3FL7LEK.js +401 -0
- package/dist/chunk-Z3FL7LEK.js.map +1 -0
- package/dist/chunk-ZARZYMBM.js +95 -0
- package/dist/chunk-ZARZYMBM.js.map +1 -0
- package/dist/chunk-ZKK7L7H7.js +78 -0
- package/dist/chunk-ZKK7L7H7.js.map +1 -0
- package/dist/chunk-ZO2EKJZM.js +4505 -0
- package/dist/chunk-ZO2EKJZM.js.map +1 -0
- package/dist/chunk-ZPCELVWJ.js +127 -0
- package/dist/chunk-ZPCELVWJ.js.map +1 -0
- package/dist/chunk-ZS2WS5NJ.js +655 -0
- package/dist/chunk-ZS2WS5NJ.js.map +1 -0
- package/dist/chunk-ZUFM33AV.js +113 -0
- package/dist/chunk-ZUFM33AV.js.map +1 -0
- package/dist/components/advanced/AssetManager/index.js +5 -0
- package/dist/components/advanced/AssetManager/index.js.map +1 -0
- package/dist/components/advanced/Calendar/index.js +10 -0
- package/dist/components/advanced/Calendar/index.js.map +1 -0
- package/dist/components/advanced/Command/index.js +6 -0
- package/dist/components/advanced/Command/index.js.map +1 -0
- package/dist/components/advanced/DragAndDrop/index.js +5 -0
- package/dist/components/advanced/DragAndDrop/index.js.map +1 -0
- package/dist/components/advanced/ErrorBoundary/index.js +5 -0
- package/dist/components/advanced/ErrorBoundary/index.js.map +1 -0
- package/dist/components/advanced/EventCalendar/index.js +10 -0
- package/dist/components/advanced/EventCalendar/index.js.map +1 -0
- package/dist/components/advanced/FileDropzone/index.js +5 -0
- package/dist/components/advanced/FileDropzone/index.js.map +1 -0
- package/dist/components/advanced/FilePreview/index.js +5 -0
- package/dist/components/advanced/FilePreview/index.js.map +1 -0
- package/dist/components/advanced/FileUpload/index.js +5 -0
- package/dist/components/advanced/FileUpload/index.js.map +1 -0
- package/dist/components/advanced/FilterBuilder/index.js +13 -0
- package/dist/components/advanced/FilterBuilder/index.js.map +1 -0
- package/dist/components/advanced/MarkdownEditor/index.js +9 -0
- package/dist/components/advanced/MarkdownEditor/index.js.map +1 -0
- package/dist/components/advanced/Portal/index.js +4 -0
- package/dist/components/advanced/Portal/index.js.map +1 -0
- package/dist/components/advanced/ReportBuilder/index.js +11 -0
- package/dist/components/advanced/ReportBuilder/index.js.map +1 -0
- package/dist/components/advanced/RichTextEditor/index.js +7 -0
- package/dist/components/advanced/RichTextEditor/index.js.map +1 -0
- package/dist/components/advanced/Search/index.js +5 -0
- package/dist/components/advanced/Search/index.js.map +1 -0
- package/dist/components/advanced/SortableList/index.js +5 -0
- package/dist/components/advanced/SortableList/index.js.map +1 -0
- package/dist/components/advanced/VersionControl/index.js +5 -0
- package/dist/components/advanced/VersionControl/index.js.map +1 -0
- package/dist/components/advanced/index.js +36 -0
- package/dist/components/advanced/index.js.map +1 -0
- package/dist/components/data-display/Accordion/index.js +5 -0
- package/dist/components/data-display/Accordion/index.js.map +1 -0
- package/dist/components/data-display/AreaChart/index.js +6 -0
- package/dist/components/data-display/AreaChart/index.js.map +1 -0
- package/dist/components/data-display/Banner/index.js +5 -0
- package/dist/components/data-display/Banner/index.js.map +1 -0
- package/dist/components/data-display/BarChart/index.js +6 -0
- package/dist/components/data-display/BarChart/index.js.map +1 -0
- package/dist/components/data-display/BarList/index.js +5 -0
- package/dist/components/data-display/BarList/index.js.map +1 -0
- package/dist/components/data-display/Callout/index.js +5 -0
- package/dist/components/data-display/Callout/index.js.map +1 -0
- package/dist/components/data-display/Carousel/index.js +10 -0
- package/dist/components/data-display/Carousel/index.js.map +1 -0
- package/dist/components/data-display/CategoryBar/index.js +6 -0
- package/dist/components/data-display/CategoryBar/index.js.map +1 -0
- package/dist/components/data-display/Chart/index.js +5 -0
- package/dist/components/data-display/Chart/index.js.map +1 -0
- package/dist/components/data-display/ChartCard/index.js +11 -0
- package/dist/components/data-display/ChartCard/index.js.map +1 -0
- package/dist/components/data-display/ChartLegend/index.js +6 -0
- package/dist/components/data-display/ChartLegend/index.js.map +1 -0
- package/dist/components/data-display/ComboChart/index.js +6 -0
- package/dist/components/data-display/ComboChart/index.js.map +1 -0
- package/dist/components/data-display/DashboardCard/index.js +6 -0
- package/dist/components/data-display/DashboardCard/index.js.map +1 -0
- package/dist/components/data-display/DashboardFilterbar/index.js +111 -0
- package/dist/components/data-display/DashboardFilterbar/index.js.map +1 -0
- package/dist/components/data-display/DataTable/FilterBuilder/index.js +13 -0
- package/dist/components/data-display/DataTable/FilterBuilder/index.js.map +1 -0
- package/dist/components/data-display/DataTable/index.js +22 -0
- package/dist/components/data-display/DataTable/index.js.map +1 -0
- package/dist/components/data-display/DeltaBar/index.js +6 -0
- package/dist/components/data-display/DeltaBar/index.js.map +1 -0
- package/dist/components/data-display/EmptyState/index.js +5 -0
- package/dist/components/data-display/EmptyState/index.js.map +1 -0
- package/dist/components/data-display/Feed/index.js +5 -0
- package/dist/components/data-display/Feed/index.js.map +1 -0
- package/dist/components/data-display/FunnelChart/index.js +6 -0
- package/dist/components/data-display/FunnelChart/index.js.map +1 -0
- package/dist/components/data-display/GaugeChart/index.js +5 -0
- package/dist/components/data-display/GaugeChart/index.js.map +1 -0
- package/dist/components/data-display/Heatmap/index.js +6 -0
- package/dist/components/data-display/Heatmap/index.js.map +1 -0
- package/dist/components/data-display/HoverCard/index.js +5 -0
- package/dist/components/data-display/HoverCard/index.js.map +1 -0
- package/dist/components/data-display/ImageGallery/index.js +6 -0
- package/dist/components/data-display/ImageGallery/index.js.map +1 -0
- package/dist/components/data-display/Item/index.js +6 -0
- package/dist/components/data-display/Item/index.js.map +1 -0
- package/dist/components/data-display/KPICard/index.js +12 -0
- package/dist/components/data-display/KPICard/index.js.map +1 -0
- package/dist/components/data-display/Lightbox/index.js +5 -0
- package/dist/components/data-display/Lightbox/index.js.map +1 -0
- package/dist/components/data-display/LineChart/index.js +6 -0
- package/dist/components/data-display/LineChart/index.js.map +1 -0
- package/dist/components/data-display/List/index.js +10 -0
- package/dist/components/data-display/List/index.js.map +1 -0
- package/dist/components/data-display/MarkerBar/index.js +6 -0
- package/dist/components/data-display/MarkerBar/index.js.map +1 -0
- package/dist/components/data-display/PieChart/index.js +6 -0
- package/dist/components/data-display/PieChart/index.js.map +1 -0
- package/dist/components/data-display/RadarChart/index.js +6 -0
- package/dist/components/data-display/RadarChart/index.js.map +1 -0
- package/dist/components/data-display/RadialChart/index.js +6 -0
- package/dist/components/data-display/RadialChart/index.js.map +1 -0
- package/dist/components/data-display/ScatterChart/index.js +6 -0
- package/dist/components/data-display/ScatterChart/index.js.map +1 -0
- package/dist/components/data-display/SingleStat/index.js +6 -0
- package/dist/components/data-display/SingleStat/index.js.map +1 -0
- package/dist/components/data-display/Sparkline/index.js +5 -0
- package/dist/components/data-display/Sparkline/index.js.map +1 -0
- package/dist/components/data-display/Table/index.js +5 -0
- package/dist/components/data-display/Table/index.js.map +1 -0
- package/dist/components/data-display/Timeline/index.js +5 -0
- package/dist/components/data-display/Timeline/index.js.map +1 -0
- package/dist/components/data-display/Tracker/index.js +6 -0
- package/dist/components/data-display/Tracker/index.js.map +1 -0
- package/dist/components/data-display/VirtualTable/index.js +8 -0
- package/dist/components/data-display/VirtualTable/index.js.map +1 -0
- package/dist/components/data-display/index.js +63 -0
- package/dist/components/data-display/index.js.map +1 -0
- package/dist/components/feedback/Alert/index.js +5 -0
- package/dist/components/feedback/Alert/index.js.map +1 -0
- package/dist/components/feedback/AlertDialog/index.js +10 -0
- package/dist/components/feedback/AlertDialog/index.js.map +1 -0
- package/dist/components/feedback/ConfirmModal/index.js +11 -0
- package/dist/components/feedback/ConfirmModal/index.js.map +1 -0
- package/dist/components/feedback/Dialog/index.js +5 -0
- package/dist/components/feedback/Dialog/index.js.map +1 -0
- package/dist/components/feedback/ErrorPage/index.js +5 -0
- package/dist/components/feedback/ErrorPage/index.js.map +1 -0
- package/dist/components/feedback/FocusTrap/index.js +5 -0
- package/dist/components/feedback/FocusTrap/index.js.map +1 -0
- package/dist/components/feedback/Message/index.js +5 -0
- package/dist/components/feedback/Message/index.js.map +1 -0
- package/dist/components/feedback/Modal/index.js +5 -0
- package/dist/components/feedback/Modal/index.js.map +1 -0
- package/dist/components/feedback/Notification/index.js +7 -0
- package/dist/components/feedback/Notification/index.js.map +1 -0
- package/dist/components/feedback/Popover/index.js +5 -0
- package/dist/components/feedback/Popover/index.js.map +1 -0
- package/dist/components/feedback/Toast/index.js +4 -0
- package/dist/components/feedback/Toast/index.js.map +1 -0
- package/dist/components/feedback/Tooltip/index.js +5 -0
- package/dist/components/feedback/Tooltip/index.js.map +1 -0
- package/dist/components/feedback/UpdatesWidget/index.js +5 -0
- package/dist/components/feedback/UpdatesWidget/index.js.map +1 -0
- package/dist/components/feedback/index.js +23 -0
- package/dist/components/feedback/index.js.map +1 -0
- package/dist/components/forms/Autocomplete/index.js +5 -0
- package/dist/components/forms/Autocomplete/index.js.map +1 -0
- package/dist/components/forms/Checkbox/index.js +5 -0
- package/dist/components/forms/Checkbox/index.js.map +1 -0
- package/dist/components/forms/CheckboxGroup/index.js +6 -0
- package/dist/components/forms/CheckboxGroup/index.js.map +1 -0
- package/dist/components/forms/ColorPicker/index.js +6 -0
- package/dist/components/forms/ColorPicker/index.js.map +1 -0
- package/dist/components/forms/Combobox/index.js +5 -0
- package/dist/components/forms/Combobox/index.js.map +1 -0
- package/dist/components/forms/DatePicker/index.js +13 -0
- package/dist/components/forms/DatePicker/index.js.map +1 -0
- package/dist/components/forms/DateRangePicker/index.js +13 -0
- package/dist/components/forms/DateRangePicker/index.js.map +1 -0
- package/dist/components/forms/EmailInput/index.js +7 -0
- package/dist/components/forms/EmailInput/index.js.map +1 -0
- package/dist/components/forms/ErrorMessage/index.js +5 -0
- package/dist/components/forms/ErrorMessage/index.js.map +1 -0
- package/dist/components/forms/Field/index.js +7 -0
- package/dist/components/forms/Field/index.js.map +1 -0
- package/dist/components/forms/FloatLabel/index.js +5 -0
- package/dist/components/forms/FloatLabel/index.js.map +1 -0
- package/dist/components/forms/Form/index.js +6 -0
- package/dist/components/forms/Form/index.js.map +1 -0
- package/dist/components/forms/FormValidation/index.js +5 -0
- package/dist/components/forms/FormValidation/index.js.map +1 -0
- package/dist/components/forms/HelpText/index.js +5 -0
- package/dist/components/forms/HelpText/index.js.map +1 -0
- package/dist/components/forms/IftaLabel/index.js +5 -0
- package/dist/components/forms/IftaLabel/index.js.map +1 -0
- package/dist/components/forms/InputGroup/index.js +13 -0
- package/dist/components/forms/InputGroup/index.js.map +1 -0
- package/dist/components/forms/InputOTP/index.js +5 -0
- package/dist/components/forms/InputOTP/index.js.map +1 -0
- package/dist/components/forms/InputOTPField/index.js +9 -0
- package/dist/components/forms/InputOTPField/index.js.map +1 -0
- package/dist/components/forms/MultiSelect/index.js +5 -0
- package/dist/components/forms/MultiSelect/index.js.map +1 -0
- package/dist/components/forms/NativeSelect/index.js +5 -0
- package/dist/components/forms/NativeSelect/index.js.map +1 -0
- package/dist/components/forms/NumberInput/index.js +6 -0
- package/dist/components/forms/NumberInput/index.js.map +1 -0
- package/dist/components/forms/PasswordInput/index.js +7 -0
- package/dist/components/forms/PasswordInput/index.js.map +1 -0
- package/dist/components/forms/PaymentInput/index.js +5 -0
- package/dist/components/forms/PaymentInput/index.js.map +1 -0
- package/dist/components/forms/PhoneInput/index.js +5 -0
- package/dist/components/forms/PhoneInput/index.js.map +1 -0
- package/dist/components/forms/RadioButton/index.js +6 -0
- package/dist/components/forms/RadioButton/index.js.map +1 -0
- package/dist/components/forms/RadioCardGroup/index.js +5 -0
- package/dist/components/forms/RadioCardGroup/index.js.map +1 -0
- package/dist/components/forms/RadioGroup/index.js +6 -0
- package/dist/components/forms/RadioGroup/index.js.map +1 -0
- package/dist/components/forms/Rating/index.js +5 -0
- package/dist/components/forms/Rating/index.js.map +1 -0
- package/dist/components/forms/SearchInput/index.js +7 -0
- package/dist/components/forms/SearchInput/index.js.map +1 -0
- package/dist/components/forms/Select/index.js +5 -0
- package/dist/components/forms/Select/index.js.map +1 -0
- package/dist/components/forms/Slider/index.js +5 -0
- package/dist/components/forms/Slider/index.js.map +1 -0
- package/dist/components/forms/SuccessMessage/index.js +5 -0
- package/dist/components/forms/SuccessMessage/index.js.map +1 -0
- package/dist/components/forms/Switch/index.js +5 -0
- package/dist/components/forms/Switch/index.js.map +1 -0
- package/dist/components/forms/TagsInput/index.js +8 -0
- package/dist/components/forms/TagsInput/index.js.map +1 -0
- package/dist/components/forms/TextInput/index.js +6 -0
- package/dist/components/forms/TextInput/index.js.map +1 -0
- package/dist/components/forms/Textarea/index.js +5 -0
- package/dist/components/forms/Textarea/index.js.map +1 -0
- package/dist/components/forms/TextareaField/index.js +9 -0
- package/dist/components/forms/TextareaField/index.js.map +1 -0
- package/dist/components/forms/TimePicker/index.js +7 -0
- package/dist/components/forms/TimePicker/index.js.map +1 -0
- package/dist/components/forms/ToggleGroup/index.js +6 -0
- package/dist/components/forms/ToggleGroup/index.js.map +1 -0
- package/dist/components/forms/URLInput/index.js +7 -0
- package/dist/components/forms/URLInput/index.js.map +1 -0
- package/dist/components/forms/index.js +58 -0
- package/dist/components/forms/index.js.map +1 -0
- package/dist/components/index.js +201 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/layout/Card/index.js +5 -0
- package/dist/components/layout/Card/index.js.map +1 -0
- package/dist/components/layout/Collapsible/index.js +5 -0
- package/dist/components/layout/Collapsible/index.js.map +1 -0
- package/dist/components/layout/Container/index.js +5 -0
- package/dist/components/layout/Container/index.js.map +1 -0
- package/dist/components/layout/Flex/index.js +5 -0
- package/dist/components/layout/Flex/index.js.map +1 -0
- package/dist/components/layout/Grid/index.js +5 -0
- package/dist/components/layout/Grid/index.js.map +1 -0
- package/dist/components/layout/Panel/index.js +5 -0
- package/dist/components/layout/Panel/index.js.map +1 -0
- package/dist/components/layout/ResizablePanels/index.js +5 -0
- package/dist/components/layout/ResizablePanels/index.js.map +1 -0
- package/dist/components/layout/ResponsiveContainer/index.js +5 -0
- package/dist/components/layout/ResponsiveContainer/index.js.map +1 -0
- package/dist/components/layout/ScrollArea/index.js +5 -0
- package/dist/components/layout/ScrollArea/index.js.map +1 -0
- package/dist/components/layout/Section/index.js +5 -0
- package/dist/components/layout/Section/index.js.map +1 -0
- package/dist/components/layout/Sheet/index.js +5 -0
- package/dist/components/layout/Sheet/index.js.map +1 -0
- package/dist/components/layout/Stack/index.js +5 -0
- package/dist/components/layout/Stack/index.js.map +1 -0
- package/dist/components/layout/index.js +17 -0
- package/dist/components/layout/index.js.map +1 -0
- package/dist/components/navigation/AccountSwitch/index.js +10 -0
- package/dist/components/navigation/AccountSwitch/index.js.map +1 -0
- package/dist/components/navigation/Breadcrumb/index.js +5 -0
- package/dist/components/navigation/Breadcrumb/index.js.map +1 -0
- package/dist/components/navigation/ContextMenu/index.js +5 -0
- package/dist/components/navigation/ContextMenu/index.js.map +1 -0
- package/dist/components/navigation/Drawer/index.js +5 -0
- package/dist/components/navigation/Drawer/index.js.map +1 -0
- package/dist/components/navigation/DropdownMenu/index.js +5 -0
- package/dist/components/navigation/DropdownMenu/index.js.map +1 -0
- package/dist/components/navigation/FileTree/index.js +5 -0
- package/dist/components/navigation/FileTree/index.js.map +1 -0
- package/dist/components/navigation/Header/index.js +5 -0
- package/dist/components/navigation/Header/index.js.map +1 -0
- package/dist/components/navigation/Menu/index.js +5 -0
- package/dist/components/navigation/Menu/index.js.map +1 -0
- package/dist/components/navigation/Menubar/index.js +5 -0
- package/dist/components/navigation/Menubar/index.js.map +1 -0
- package/dist/components/navigation/MobileSidebar/index.js +190 -0
- package/dist/components/navigation/MobileSidebar/index.js.map +1 -0
- package/dist/components/navigation/Navbar/index.js +5 -0
- package/dist/components/navigation/Navbar/index.js.map +1 -0
- package/dist/components/navigation/NavigationMenu/index.js +5 -0
- package/dist/components/navigation/NavigationMenu/index.js.map +1 -0
- package/dist/components/navigation/Pagination/index.js +10 -0
- package/dist/components/navigation/Pagination/index.js.map +1 -0
- package/dist/components/navigation/Sidebar/index.js +16 -0
- package/dist/components/navigation/Sidebar/index.js.map +1 -0
- package/dist/components/navigation/SkipLinks/index.js +5 -0
- package/dist/components/navigation/SkipLinks/index.js.map +1 -0
- package/dist/components/navigation/SpeedDial/index.js +6 -0
- package/dist/components/navigation/SpeedDial/index.js.map +1 -0
- package/dist/components/navigation/TabNavigation/index.js +5 -0
- package/dist/components/navigation/TabNavigation/index.js.map +1 -0
- package/dist/components/navigation/TabPanel/index.js +5 -0
- package/dist/components/navigation/TabPanel/index.js.map +1 -0
- package/dist/components/navigation/Tabs/index.js +5 -0
- package/dist/components/navigation/Tabs/index.js.map +1 -0
- package/dist/components/navigation/Toolbar/index.js +5 -0
- package/dist/components/navigation/Toolbar/index.js.map +1 -0
- package/dist/components/navigation/Topbar/index.js +5 -0
- package/dist/components/navigation/Topbar/index.js.map +1 -0
- package/dist/components/navigation/UserProfileDropdown/index.js +224 -0
- package/dist/components/navigation/UserProfileDropdown/index.js.map +1 -0
- package/dist/components/navigation/WorkspaceDropdown/index.js +192 -0
- package/dist/components/navigation/WorkspaceDropdown/index.js.map +1 -0
- package/dist/components/navigation/index.js +37 -0
- package/dist/components/navigation/index.js.map +1 -0
- package/dist/components/primitives/ArrowAnimated/index.js +92 -0
- package/dist/components/primitives/ArrowAnimated/index.js.map +1 -0
- package/dist/components/primitives/AspectRatio/index.js +4 -0
- package/dist/components/primitives/AspectRatio/index.js.map +1 -0
- package/dist/components/primitives/Avatar/index.js +6 -0
- package/dist/components/primitives/Avatar/index.js.map +1 -0
- package/dist/components/primitives/Badge/index.js +7 -0
- package/dist/components/primitives/Badge/index.js.map +1 -0
- package/dist/components/primitives/Button/index.js +9 -0
- package/dist/components/primitives/Button/index.js.map +1 -0
- package/dist/components/primitives/ButtonGroup/index.js +7 -0
- package/dist/components/primitives/ButtonGroup/index.js.map +1 -0
- package/dist/components/primitives/ConfirmButton/index.js +11 -0
- package/dist/components/primitives/ConfirmButton/index.js.map +1 -0
- package/dist/components/primitives/Divider/index.js +5 -0
- package/dist/components/primitives/Divider/index.js.map +1 -0
- package/dist/components/primitives/FeatureItem/index.js +5 -0
- package/dist/components/primitives/FeatureItem/index.js.map +1 -0
- package/dist/components/primitives/FeaturedIcon/index.js +5 -0
- package/dist/components/primitives/FeaturedIcon/index.js.map +1 -0
- package/dist/components/primitives/FolderStack/index.js +5 -0
- package/dist/components/primitives/FolderStack/index.js.map +1 -0
- package/dist/components/primitives/Heading/index.js +5 -0
- package/dist/components/primitives/Heading/index.js.map +1 -0
- package/dist/components/primitives/Icon/index.js +5 -0
- package/dist/components/primitives/Icon/index.js.map +1 -0
- package/dist/components/primitives/Image/index.js +5 -0
- package/dist/components/primitives/Image/index.js.map +1 -0
- package/dist/components/primitives/Kbd/index.js +5 -0
- package/dist/components/primitives/Kbd/index.js.map +1 -0
- package/dist/components/primitives/Label/index.js +5 -0
- package/dist/components/primitives/Label/index.js.map +1 -0
- package/dist/components/primitives/Link/index.js +5 -0
- package/dist/components/primitives/Link/index.js.map +1 -0
- package/dist/components/primitives/Paragraph/index.js +5 -0
- package/dist/components/primitives/Paragraph/index.js.map +1 -0
- package/dist/components/primitives/ProgressBar/index.js +6 -0
- package/dist/components/primitives/ProgressBar/index.js.map +1 -0
- package/dist/components/primitives/ProgressCircle/index.js +6 -0
- package/dist/components/primitives/ProgressCircle/index.js.map +1 -0
- package/dist/components/primitives/SkeletonLoader/index.js +5 -0
- package/dist/components/primitives/SkeletonLoader/index.js.map +1 -0
- package/dist/components/primitives/Spacer/index.js +5 -0
- package/dist/components/primitives/Spacer/index.js.map +1 -0
- package/dist/components/primitives/Spinner/index.js +5 -0
- package/dist/components/primitives/Spinner/index.js.map +1 -0
- package/dist/components/primitives/SplitButton/index.js +6 -0
- package/dist/components/primitives/SplitButton/index.js.map +1 -0
- package/dist/components/primitives/StatusIndicator/index.js +5 -0
- package/dist/components/primitives/StatusIndicator/index.js.map +1 -0
- package/dist/components/primitives/Tag/index.js +5 -0
- package/dist/components/primitives/Tag/index.js.map +1 -0
- package/dist/components/primitives/Text/index.js +5 -0
- package/dist/components/primitives/Text/index.js.map +1 -0
- package/dist/components/primitives/Thumbnail/index.js +6 -0
- package/dist/components/primitives/Thumbnail/index.js.map +1 -0
- package/dist/components/primitives/Toggle/index.js +5 -0
- package/dist/components/primitives/Toggle/index.js.map +1 -0
- package/dist/components/primitives/index.js +38 -0
- package/dist/components/primitives/index.js.map +1 -0
- package/dist/components/workflow/ApprovalFlow/index.js +11 -0
- package/dist/components/workflow/ApprovalFlow/index.js.map +1 -0
- package/dist/components/workflow/ApprovalStatus/index.js +5 -0
- package/dist/components/workflow/ApprovalStatus/index.js.map +1 -0
- package/dist/components/workflow/CommentSystem/index.js +12 -0
- package/dist/components/workflow/CommentSystem/index.js.map +1 -0
- package/dist/components/workflow/Dashboard/index.js +10 -0
- package/dist/components/workflow/Dashboard/index.js.map +1 -0
- package/dist/components/workflow/DashboardBuilder/index.js +13 -0
- package/dist/components/workflow/DashboardBuilder/index.js.map +1 -0
- package/dist/components/workflow/KanbanBoard/index.js +13 -0
- package/dist/components/workflow/KanbanBoard/index.js.map +1 -0
- package/dist/components/workflow/ProgressSteps/index.js +5 -0
- package/dist/components/workflow/ProgressSteps/index.js.map +1 -0
- package/dist/components/workflow/ReportGenerator/index.js +12 -0
- package/dist/components/workflow/ReportGenerator/index.js.map +1 -0
- package/dist/components/workflow/Stepper/index.js +5 -0
- package/dist/components/workflow/Stepper/index.js.map +1 -0
- package/dist/components/workflow/TaskCard/index.js +5 -0
- package/dist/components/workflow/TaskCard/index.js.map +1 -0
- package/dist/components/workflow/TaskList/index.js +5 -0
- package/dist/components/workflow/TaskList/index.js.map +1 -0
- package/dist/components/workflow/TaskStatus/index.js +6 -0
- package/dist/components/workflow/TaskStatus/index.js.map +1 -0
- package/dist/components/workflow/Wizard/index.js +11 -0
- package/dist/components/workflow/Wizard/index.js.map +1 -0
- package/dist/components/workflow/index.js +32 -0
- package/dist/components/workflow/index.js.map +1 -0
- package/dist/fonts/inter-OFL.txt +92 -0
- package/dist/fonts/inter-latin-400-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-500-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-600-normal.woff2 +0 -0
- package/dist/fonts/inter-latin-700-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-OFL.txt +93 -0
- package/dist/fonts/jetbrains-mono-latin-400-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-500-normal.woff2 +0 -0
- package/dist/fonts/jetbrains-mono-latin-700-normal.woff2 +0 -0
- package/dist/hooks/index.js +6 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.d.ts +114 -27
- package/dist/index.js +202 -52453
- package/dist/index.js.map +1 -1
- package/dist/jspdf.node.min-CTWP225M.js +372 -656
- package/dist/jspdf.node.min-CTWP225M.js.map +1 -1
- package/dist/jspdf.plugin.autotable-AAE7PZKA.js +4 -14
- package/dist/jspdf.plugin.autotable-AAE7PZKA.js.map +1 -1
- package/dist/lib/chart-colors.js +4 -0
- package/dist/lib/chart-colors.js.map +1 -0
- package/dist/lib/utils.js +3 -7
- package/dist/lib/utils.js.map +1 -1
- package/dist/styles.css +5542 -0
- package/dist/xlsx-PWHBQ6NK.js +206 -366
- package/dist/xlsx-PWHBQ6NK.js.map +1 -1
- package/package.json +9 -6
- package/styles.css +0 -62
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/advanced/FileUpload/FileUpload.variants.ts","../src/components/advanced/FileUpload/FileUpload.tsx"],"names":[],"mappings":"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","file":"chunk-B6KQKQ4S.js","sourcesContent":["// FileUpload/FileUpload.variants.ts\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * FileUpload root container variants\n */\nexport const fileUploadVariants = cva(\n // Base styles\n [\"relative\", \"w-full\"],\n {\n variants: {\n variant: {\n button: \"\",\n dropzone: [\n \"border-2 border-dashed border-input\",\n \"rounded-lg\",\n \"transition-colors duration-200\",\n \"hover:border-primary/50\",\n \"data-[dragging=true]:border-primary data-[dragging=true]:bg-primary/5\",\n ],\n avatar: [\n \"inline-flex\",\n \"cursor-pointer\",\n \"rounded-full\",\n \"overflow-hidden\",\n ],\n inline: [\"flex items-center gap-2\"],\n },\n },\n defaultVariants: {\n variant: \"button\",\n },\n }\n)\n\n/**\n * FileUpload trigger button variants\n */\nexport const fileUploadTriggerVariants = cva(\n // Base styles\n [\n \"inline-flex items-center justify-center gap-2\",\n \"rounded-md font-medium\",\n \"transition-colors duration-200\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n \"disabled:pointer-events-none disabled:opacity-50\",\n ],\n {\n variants: {\n variant: {\n default: [\n \"bg-primary text-primary-foreground\",\n \"hover:bg-primary/90\",\n ],\n secondary: [\n \"bg-secondary text-secondary-foreground\",\n \"hover:bg-secondary/80\",\n ],\n outline: [\n \"border border-input bg-background\",\n \"hover:bg-accent hover:text-accent-foreground\",\n ],\n ghost: [\"hover:bg-accent hover:text-accent-foreground\"],\n },\n size: {\n sm: \"h-8 px-3 text-xs\",\n md: \"h-10 px-4 text-sm\",\n lg: \"h-12 px-6 text-base\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"md\",\n },\n }\n)\n\n/**\n * FileUpload dropzone area variants\n */\nexport const fileUploadDropzoneVariants = cva(\n // Base styles\n [\n \"flex flex-col items-center justify-center\",\n \"p-8\",\n \"cursor-pointer\",\n \"transition-colors duration-200\",\n ],\n {\n variants: {\n isDragging: {\n true: \"bg-primary/5\",\n false: \"\",\n },\n disabled: {\n true: \"cursor-not-allowed opacity-50\",\n false: \"\",\n },\n },\n defaultVariants: {\n isDragging: false,\n disabled: false,\n },\n }\n)\n\n/**\n * FileUpload preview item variants\n */\nexport const fileUploadPreviewVariants = cva(\n // Base styles\n [\n \"relative\",\n \"flex items-center gap-3\",\n \"p-3\",\n \"rounded-md\",\n \"bg-muted/50\",\n \"border border-border\",\n ],\n {\n variants: {\n status: {\n pending: \"\",\n uploading: \"\",\n success: \"border-success/50 bg-success/5\",\n error: \"border-destructive/50 bg-destructive/5\",\n },\n },\n defaultVariants: {\n status: \"pending\",\n },\n }\n)\n\n/**\n * FileUpload avatar preview variants\n */\nexport const fileUploadAvatarVariants = cva(\n // Base styles\n [\n \"relative\",\n \"rounded-full\",\n \"overflow-hidden\",\n \"bg-muted\",\n \"flex items-center justify-center\",\n ],\n {\n variants: {\n size: {\n sm: \"size-16\",\n md: \"size-24\",\n lg: \"size-32\",\n },\n },\n defaultVariants: {\n size: \"md\",\n },\n }\n)\n\n/**\n * FileUpload progress bar variants\n */\nexport const fileUploadProgressVariants = cva(\n // Base styles\n [\"h-1 w-full overflow-hidden rounded-full bg-muted\"],\n {\n variants: {\n status: {\n pending: \"\",\n uploading: \"\",\n success: \"\",\n error: \"\",\n },\n },\n }\n)\n\n/**\n * FileUpload progress bar fill variants\n */\nexport const fileUploadProgressFillVariants = cva(\n // Base styles\n [\"h-full transition-all duration-300 ease-out\"],\n {\n variants: {\n status: {\n pending: \"bg-muted-foreground\",\n uploading: \"bg-primary\",\n success: \"bg-success\",\n error: \"bg-destructive\",\n },\n },\n defaultVariants: {\n status: \"uploading\",\n },\n }\n)\n\n// Export variant types\nexport type FileUploadVariantProps = VariantProps<typeof fileUploadVariants>\nexport type FileUploadTriggerVariantProps = VariantProps<\n typeof fileUploadTriggerVariants\n>\nexport type FileUploadDropzoneVariantProps = VariantProps<\n typeof fileUploadDropzoneVariants\n>\nexport type FileUploadPreviewVariantProps = VariantProps<\n typeof fileUploadPreviewVariants\n>\nexport type FileUploadAvatarVariantProps = VariantProps<\n typeof fileUploadAvatarVariants\n>\nexport type FileUploadProgressVariantProps = VariantProps<\n typeof fileUploadProgressVariants\n>\n","\"use client\"\n\nimport type {\n FileUploadContextValue,\n FileUploadDropzoneProps,\n FileUploadListProps,\n FileUploadPreviewProps,\n FileUploadProgressProps,\n FileUploadProps,\n FileUploadTriggerProps,\n FileValidationError,\n UploadProgress,\n} from \"./FileUpload.types\"\n\nimport {\n AlertCircleIcon,\n CheckCircle2Icon,\n FileIcon,\n Loader2Icon,\n UploadCloudIcon,\n XIcon,\n} from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport {\n fileUploadAvatarVariants,\n fileUploadDropzoneVariants,\n fileUploadPreviewVariants,\n fileUploadProgressFillVariants,\n fileUploadProgressVariants,\n fileUploadTriggerVariants,\n fileUploadVariants,\n} from \"./FileUpload.variants\"\n\n// ============================================\n// CONTEXT\n// ============================================\n\nconst FileUploadContext = React.createContext<FileUploadContextValue | null>(\n null\n)\n\nfunction useFileUploadContext() {\n const context = React.use(FileUploadContext)\n if (!context) {\n throw new Error(\n \"FileUpload compound components must be used within a FileUpload component\"\n )\n }\n return context\n}\n\n// ============================================\n// UTILITIES\n// ============================================\n\nfunction formatFileSize(bytes: number): string {\n if (bytes === 0) return \"0 B\"\n const k = 1024\n const sizes = [\"B\", \"KB\", \"MB\", \"GB\"]\n const i = Math.floor(Math.log(bytes) / Math.log(k))\n return `${String(Number.parseFloat((bytes / Math.pow(k, i)).toFixed(1)))} ${sizes[i] ?? \"\"}`\n}\n\nfunction getFileTypeIcon(file: File) {\n if (file.type.startsWith(\"image/\")) {\n return null // Will show preview\n }\n return <FileIcon className=\"size-8 text-muted-foreground\" />\n}\n\nfunction validateFiles(\n files: File[],\n options: {\n accept?: string\n currentCount?: number\n maxFiles?: number\n maxSize?: number\n }\n): { errors: FileValidationError[]; validFiles: File[] } {\n const errors: FileValidationError[] = []\n const validFiles: File[] = []\n\n const { accept, maxFiles, maxSize, currentCount = 0 } = options\n\n // Parse accept string into list of valid types\n const acceptedTypes = accept\n ? accept.split(\",\").map((t) => t.trim().toLowerCase())\n : null\n\n for (const file of files) {\n let isValid = true\n\n // Check file type\n if (acceptedTypes) {\n const fileType = file.type.toLowerCase()\n const fileExt = `.${file.name.split(\".\").pop()?.toLowerCase() ?? \"\"}`\n\n const typeMatch = acceptedTypes.some((accepted) => {\n if (accepted.startsWith(\".\")) {\n return fileExt === accepted\n }\n if (accepted.endsWith(\"/*\")) {\n const baseType = accepted.replace(\"/*\", \"\")\n return fileType.startsWith(baseType)\n }\n return fileType === accepted\n })\n\n if (!typeMatch) {\n errors.push({\n file,\n message: `File type not accepted. Accepted: ${accept ?? \"\"}`,\n type: \"type\",\n })\n isValid = false\n }\n }\n\n // Check file size\n if (maxSize && file.size > maxSize) {\n errors.push({\n file,\n message: `File too large. Maximum size: ${formatFileSize(maxSize)}`,\n type: \"size\",\n })\n isValid = false\n }\n\n // Check file count\n if (maxFiles && currentCount + validFiles.length >= maxFiles) {\n errors.push({\n file,\n message: `Maximum ${String(maxFiles)} file(s) allowed`,\n type: \"count\",\n })\n isValid = false\n }\n\n if (isValid) {\n validFiles.push(file)\n }\n }\n\n return { errors, validFiles }\n}\n\n// ============================================\n// MAIN COMPONENT\n// ============================================\n\n/**\n * FileUpload - Complete file upload component with multiple variants\n *\n * @example\n * ```tsx\n * // Basic button upload\n * <FileUpload accept=\"image/*\" onChange={(files) => console.log(files)}>\n * <FileUploadTrigger>Upload File</FileUploadTrigger>\n * </FileUpload>\n *\n * // Dropzone variant\n * <FileUpload variant=\"dropzone\" multiple onUpload={uploadFn}>\n * <FileUploadDropzone>\n * <p>Drag files here or click to upload</p>\n * </FileUploadDropzone>\n * <FileUploadList />\n * </FileUpload>\n * ```\n */\nfunction FileUpload({\n accept,\n autoUpload = false,\n children,\n className,\n disabled = false,\n maxFiles = 1,\n maxSize,\n multiple = false,\n onChange,\n onComplete,\n onError,\n onProgress,\n onRemove,\n onUpload,\n required = false,\n showPreview = true,\n value,\n variant = \"button\",\n ...props\n}: FileUploadProps) {\n const inputRef = React.useRef<HTMLInputElement>(null)\n const [internalFiles, setInternalFiles] = React.useState<File[]>([])\n const [isDragging, setIsDragging] = React.useState(false)\n const [progress, setProgress] = React.useState<UploadProgress[]>([])\n const [status, setStatus] = React.useState<\n \"error\" | \"idle\" | \"success\" | \"uploading\"\n >(\"idle\")\n\n // Use controlled or uncontrolled mode\n const files = value ?? internalFiles\n const isControlled = value !== undefined\n const setFilesInternal = React.useCallback(\n (newFiles: File[]) => {\n if (!isControlled) {\n setInternalFiles(newFiles)\n }\n },\n [isControlled]\n )\n\n const openFilePicker = React.useCallback(() => {\n if (!disabled) {\n inputRef.current?.click()\n }\n }, [disabled])\n\n const handleUpload = React.useCallback(\n async (filesToUpload: File[]) => {\n if (!onUpload) return\n\n setStatus(\"uploading\")\n\n // Update progress to uploading\n setProgress((prev) =>\n prev.map((p) =>\n filesToUpload.includes(p.file)\n ? { ...p, progress: 0, status: \"uploading\" as const }\n : p\n )\n )\n onProgress?.(progress)\n\n try {\n const results = await onUpload(filesToUpload)\n\n // Update progress to success/error based on results\n setProgress((prev) =>\n prev.map((p) => {\n const result = results.find((r) => r.file === p.file)\n if (!result) return p\n return {\n ...p,\n error: result.error,\n progress: 100,\n status: result.error ? (\"error\" as const) : (\"success\" as const),\n }\n })\n )\n\n const hasErrors = results.some((r) => r.error)\n setStatus(hasErrors ? \"error\" : \"success\")\n onComplete?.(results)\n } catch (error) {\n setStatus(\"error\")\n setProgress((prev) =>\n prev.map((p) =>\n filesToUpload.includes(p.file)\n ? {\n ...p,\n error: error instanceof Error ? error.message : \"Upload failed\",\n status: \"error\" as const,\n }\n : p\n )\n )\n onError?.(error instanceof Error ? error : new Error(\"Upload failed\"))\n }\n },\n [onUpload, onProgress, onComplete, onError, progress]\n )\n\n const selectFiles = React.useCallback(\n (newFiles: File[] | FileList) => {\n if (disabled) return\n\n const fileArray = [...newFiles]\n const { errors, validFiles } = validateFiles(fileArray, {\n accept,\n currentCount: multiple ? files.length : 0,\n maxFiles: multiple ? maxFiles : 1,\n maxSize,\n })\n\n // Report validation errors\n if (errors.length > 0 && onError) {\n const error = new Error(errors.map((e) => e.message).join(\"; \"))\n onError(error)\n }\n\n if (validFiles.length === 0) return\n\n // Update files\n const updatedFiles = multiple ? [...files, ...validFiles] : validFiles\n setFilesInternal(updatedFiles)\n onChange?.(updatedFiles)\n\n // Initialize progress\n const initialProgress: UploadProgress[] = validFiles.map((file) => ({\n error: undefined,\n file,\n progress: 0,\n status: \"pending\" as const,\n }))\n setProgress((prev) =>\n multiple ? [...prev, ...initialProgress] : initialProgress\n )\n\n // Auto upload if enabled\n if (autoUpload && onUpload) {\n void handleUpload(validFiles)\n }\n },\n [\n disabled,\n accept,\n maxSize,\n maxFiles,\n multiple,\n files,\n onChange,\n autoUpload,\n onUpload,\n onError,\n setFilesInternal,\n handleUpload,\n ]\n )\n\n const removeFile = React.useCallback(\n (file: File, index: number) => {\n const fileToRemove = files[index]\n if (!fileToRemove || fileToRemove !== file) return\n\n const updatedFiles = files.filter((_, i) => i !== index)\n setFilesInternal(updatedFiles)\n onChange?.(updatedFiles)\n onRemove?.(fileToRemove, index)\n\n // Remove from progress\n setProgress((prev) => prev.filter((p) => p.file !== fileToRemove))\n },\n [files, onChange, onRemove, setFilesInternal]\n )\n\n const handleInputChange = React.useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const newFiles = event.target.files\n if (newFiles) {\n selectFiles(newFiles)\n }\n // Reset input value to allow selecting the same file again\n event.target.value = \"\"\n },\n [selectFiles]\n )\n\n const handleDragOver = React.useCallback(\n (event: React.DragEvent) => {\n event.preventDefault()\n if (!disabled) {\n setIsDragging(true)\n }\n },\n [disabled]\n )\n\n const handleDragLeave = React.useCallback((event: React.DragEvent) => {\n event.preventDefault()\n setIsDragging(false)\n }, [])\n\n const handleDrop = React.useCallback(\n (event: React.DragEvent) => {\n event.preventDefault()\n setIsDragging(false)\n\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- dataTransfer.files can be null\n if (!disabled && event.dataTransfer.files) {\n selectFiles(event.dataTransfer.files)\n }\n },\n [disabled, selectFiles]\n )\n\n const contextValue: FileUploadContextValue = {\n accept,\n disabled,\n files,\n isDragging,\n maxFiles,\n maxSize,\n multiple,\n openFilePicker,\n progress,\n removeFile,\n selectFiles,\n status,\n }\n\n return (\n <FileUploadContext value={contextValue}>\n <div\n className={cn(fileUploadVariants({ variant }), className)}\n data-dragging={isDragging}\n data-slot=\"file-upload\"\n data-status={status}\n data-variant={variant}\n onDragLeave={variant === \"dropzone\" ? handleDragLeave : undefined}\n onDragOver={variant === \"dropzone\" ? handleDragOver : undefined}\n onDrop={variant === \"dropzone\" ? handleDrop : undefined}\n {...props}\n >\n <input\n ref={inputRef}\n accept={accept}\n aria-hidden=\"true\"\n className=\"sr-only\"\n data-slot=\"file-upload-input\"\n disabled={disabled}\n multiple={multiple}\n required={required}\n tabIndex={-1}\n type=\"file\"\n onChange={handleInputChange}\n />\n {children}\n {showPreview && files.length > 0 && variant !== \"avatar\" && (\n <FileUploadList\n className=\"mt-4\"\n files={files}\n progress={progress}\n onRemove={removeFile}\n />\n )}\n </div>\n </FileUploadContext>\n )\n}\n\n// ============================================\n// TRIGGER COMPONENT\n// ============================================\n\n/**\n * FileUploadTrigger - Button to trigger file selection\n */\nfunction FileUploadTrigger({\n children,\n className,\n disabled: disabledProp,\n ...props\n}: FileUploadTriggerProps) {\n const { disabled: contextDisabled, openFilePicker } = useFileUploadContext()\n const disabled = disabledProp ?? contextDisabled\n\n return (\n <button\n className={cn(fileUploadTriggerVariants(), className)}\n data-slot=\"file-upload-trigger\"\n disabled={disabled}\n type=\"button\"\n onClick={openFilePicker}\n {...props}\n >\n {children ?? (\n <>\n <UploadCloudIcon className=\"size-4\" />\n <span>Choose File</span>\n </>\n )}\n </button>\n )\n}\n\n// ============================================\n// DROPZONE COMPONENT\n// ============================================\n\n/**\n * FileUploadDropzone - Drag and drop area for file selection\n */\nfunction FileUploadDropzone({\n children,\n className,\n disabled: disabledProp,\n ...props\n}: FileUploadDropzoneProps) {\n const {\n accept,\n disabled: contextDisabled,\n isDragging,\n maxSize,\n multiple,\n openFilePicker,\n } = useFileUploadContext()\n const disabled = disabledProp ?? contextDisabled\n\n return (\n <div\n className={cn(\n fileUploadDropzoneVariants({ disabled, isDragging }),\n className\n )}\n data-dragging={isDragging}\n data-slot=\"file-upload-dropzone\"\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n onClick={disabled ? undefined : openFilePicker}\n onKeyDown={(e) => {\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault()\n openFilePicker()\n }\n }}\n {...props}\n >\n {children ?? (\n <>\n <UploadCloudIcon className=\"mx-auto size-12 text-muted-foreground\" />\n <p className=\"mt-2 text-sm font-medium\">\n {isDragging\n ? \"Drop files here\"\n : \"Drag files here or click to upload\"}\n </p>\n <p className=\"mt-1 text-xs text-muted-foreground\">\n {accept && `Accepted: ${accept}`}\n {accept && maxSize && \" • \"}\n {maxSize && `Max size: ${formatFileSize(maxSize)}`}\n {(accept ?? maxSize) && multiple && \" • \"}\n {multiple && \"Multiple files allowed\"}\n </p>\n </>\n )}\n </div>\n )\n}\n\n// ============================================\n// AVATAR PREVIEW COMPONENT\n// ============================================\n\n/**\n * FileUploadAvatar - Circular preview for avatar uploads\n */\nfunction FileUploadAvatar({\n children,\n className,\n size = \"md\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"lg\" | \"md\" | \"sm\" }) {\n const { disabled, files, openFilePicker, status } = useFileUploadContext()\n const file = files[0]\n const [preview, setPreview] = React.useState<null | string>(null)\n\n // Object URL lifecycle requires useEffect for cleanup\n /* eslint-disable @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n React.useEffect(() => {\n if (file?.type.startsWith(\"image/\")) {\n const url = URL.createObjectURL(file)\n setPreview(url)\n return () => {\n URL.revokeObjectURL(url)\n }\n }\n setPreview(null)\n return\n }, [file])\n /* eslint-enable @eslint-react/hooks-extra/no-direct-set-state-in-use-effect */\n\n return (\n <div\n className={cn(\n fileUploadAvatarVariants({ size }),\n \"group cursor-pointer\",\n className\n )}\n data-slot=\"file-upload-avatar\"\n role=\"button\"\n tabIndex={disabled ? -1 : 0}\n onClick={disabled ? undefined : openFilePicker}\n onKeyDown={(e) => {\n if (!disabled && (e.key === \"Enter\" || e.key === \" \")) {\n e.preventDefault()\n openFilePicker()\n }\n }}\n {...props}\n >\n {preview ? (\n <img\n alt=\"Avatar preview\"\n className=\"size-full object-cover\"\n src={preview}\n />\n ) : (\n children ?? <UploadCloudIcon className=\"size-8 text-muted-foreground\" />\n )}\n <div className=\"absolute inset-0 flex items-center justify-center rounded-full bg-black/50 opacity-0 transition-opacity group-hover:opacity-100\">\n {status === \"uploading\" ? (\n <Loader2Icon className=\"size-6 animate-spin text-white\" />\n ) : (\n <UploadCloudIcon className=\"size-6 text-white\" />\n )}\n </div>\n </div>\n )\n}\n\n// ============================================\n// FILE LIST COMPONENT\n// ============================================\n\n/**\n * FileUploadList - List of selected files with previews\n */\nfunction FileUploadList({\n className,\n files: filesProp,\n onRemove: onRemoveProp,\n progress: progressProp,\n ...props\n}: FileUploadListProps) {\n const context = React.use(FileUploadContext)\n\n // Use props if provided, otherwise use context\n // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- context can be null when used outside provider\n const files = filesProp ?? context?.files ?? []\n \n const progress = progressProp ?? context?.progress ?? []\n const onRemove = onRemoveProp ?? context?.removeFile\n\n if (files.length === 0) return null\n\n return (\n <div\n className={cn(\"flex flex-col gap-2\", className)}\n data-slot=\"file-upload-list\"\n {...props}\n >\n {files.map((file, index) => {\n const fileProgress = progress.find((p) => p.file === file)\n return (\n <FileUploadPreview\n key={`${file.name}-${String(file.size)}-${String(index)}`}\n file={file}\n index={index}\n progress={fileProgress}\n onRemove={onRemove}\n />\n )\n })}\n </div>\n )\n}\n\n// ============================================\n// PREVIEW COMPONENT\n// ============================================\n\n/**\n * FileUploadPreview - Single file preview with progress and remove button\n */\nfunction FileUploadPreview({\n className,\n file,\n index,\n onRemove,\n progress,\n ...props\n}: FileUploadPreviewProps) {\n const [preview, setPreview] = React.useState<null | string>(null)\n\n // Object URL lifecycle requires useEffect for cleanup\n /* eslint-disable react-you-might-not-need-an-effect/no-derived-state, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change */\n React.useEffect(() => {\n if (file.type.startsWith(\"image/\")) {\n const url = URL.createObjectURL(file)\n setPreview(url)\n return () => {\n URL.revokeObjectURL(url)\n }\n }\n setPreview(null)\n return\n }, [file])\n /* eslint-enable react-you-might-not-need-an-effect/no-derived-state, @eslint-react/hooks-extra/no-direct-set-state-in-use-effect, react-you-might-not-need-an-effect/no-adjust-state-on-prop-change */\n\n const status = progress?.status ?? \"pending\"\n\n return (\n <div\n className={cn(fileUploadPreviewVariants({ status }), className)}\n data-slot=\"file-upload-preview\"\n data-status={status}\n {...props}\n >\n {/* Thumbnail */}\n <div className=\"flex size-10 shrink-0 items-center justify-center overflow-hidden rounded bg-muted\">\n {preview ? (\n <img\n alt={file.name}\n className=\"size-full object-cover\"\n src={preview}\n />\n ) : (\n getFileTypeIcon(file)\n )}\n </div>\n\n {/* File Info */}\n <div className=\"min-w-0 flex-1\">\n <p className=\"truncate text-sm font-medium\">{file.name}</p>\n <p className=\"text-xs text-muted-foreground\">\n {formatFileSize(file.size)}\n {progress?.error && (\n <span className=\"ml-2 text-destructive\">{progress.error}</span>\n )}\n </p>\n\n {/* Progress Bar */}\n {progress && status === \"uploading\" && (\n <FileUploadProgressBar file={file} progress={progress} />\n )}\n </div>\n\n {/* Status Icon */}\n <div className=\"shrink-0\">\n {status === \"uploading\" && (\n <Loader2Icon className=\"size-4 animate-spin text-muted-foreground\" />\n )}\n {status === \"success\" && (\n <CheckCircle2Icon className=\"size-4 text-success\" />\n )}\n {status === \"error\" && (\n <AlertCircleIcon className=\"size-4 text-destructive\" />\n )}\n </div>\n\n {/* Remove Button */}\n {onRemove && status !== \"uploading\" && (\n <button\n aria-label={`Remove ${file.name}`}\n className=\"shrink-0 rounded-sm p-1 opacity-50 hover:opacity-100 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring\"\n type=\"button\"\n onClick={() => { onRemove(file, index); }}\n >\n <XIcon className=\"size-4\" />\n </button>\n )}\n </div>\n )\n}\n\n// ============================================\n// PROGRESS BAR COMPONENT\n// ============================================\n\n/**\n * FileUploadProgressBar - Progress indicator for file upload\n */\nfunction FileUploadProgressBar({\n className,\n file,\n progress,\n ...props\n}: FileUploadProgressProps) {\n return (\n <div\n aria-label={`Uploading ${file.name}`}\n aria-valuemax={100}\n aria-valuemin={0}\n aria-valuenow={progress.progress}\n className={cn(fileUploadProgressVariants(), \"mt-2\", className)}\n data-slot=\"file-upload-progress\"\n role=\"progressbar\"\n {...props}\n >\n <div\n className={cn(fileUploadProgressFillVariants({ status: progress.status }))}\n style={{ width: `${String(progress.progress)}%` }}\n />\n </div>\n )\n}\n\n// ============================================\n// INLINE VARIANT\n// ============================================\n\n/**\n * FileUploadInline - Inline variant with input and button\n */\nfunction FileUploadInline({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n const { disabled, files, openFilePicker } = useFileUploadContext()\n\n return (\n <div\n className={cn(\"flex items-center gap-2\", className)}\n data-slot=\"file-upload-inline\"\n {...props}\n >\n <div className=\"flex-1 truncate rounded-md border border-input bg-background px-3 py-2 text-sm\">\n {files.length > 0\n ? files.map((f) => f.name).join(\", \")\n : \"No file selected\"}\n </div>\n {children ?? (\n <button\n className={cn(fileUploadTriggerVariants({ variant: \"outline\" }))}\n disabled={disabled}\n type=\"button\"\n onClick={openFilePicker}\n >\n Browse\n </button>\n )}\n </div>\n )\n}\n\nFileUpload.displayName = \"FileUpload\"\nFileUploadTrigger.displayName = \"FileUploadTrigger\"\nFileUploadDropzone.displayName = \"FileUploadDropzone\"\nFileUploadAvatar.displayName = \"FileUploadAvatar\"\nFileUploadList.displayName = \"FileUploadList\"\nFileUploadPreview.displayName = \"FileUploadPreview\"\nFileUploadProgressBar.displayName = \"FileUploadProgressBar\"\nFileUploadInline.displayName = \"FileUploadInline\"\n\nexport {\n FileUpload,\n FileUploadAvatar,\n FileUploadDropzone,\n FileUploadInline,\n FileUploadList,\n FileUploadPreview,\n FileUploadProgressBar,\n FileUploadTrigger,\n}\n"]}
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { cn } from './chunk-HRNDJU7D.js';
|
|
2
|
+
import { cva } from 'class-variance-authority';
|
|
3
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
4
|
+
|
|
5
|
+
var feedVariants = cva("flex flex-col transition-colors duration-200", {
|
|
6
|
+
variants: {
|
|
7
|
+
variant: {
|
|
8
|
+
default: "border-l border-border pl-4 gap-4",
|
|
9
|
+
compact: "gap-2",
|
|
10
|
+
highlighted: "gap-4"
|
|
11
|
+
},
|
|
12
|
+
size: {
|
|
13
|
+
sm: "",
|
|
14
|
+
default: "",
|
|
15
|
+
lg: ""
|
|
16
|
+
}
|
|
17
|
+
},
|
|
18
|
+
defaultVariants: {
|
|
19
|
+
variant: "default",
|
|
20
|
+
size: "default"
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
var feedItemVariants = cva(
|
|
24
|
+
"relative flex gap-3 transition-colors duration-200",
|
|
25
|
+
{
|
|
26
|
+
variants: {
|
|
27
|
+
size: {
|
|
28
|
+
sm: "py-2 px-3",
|
|
29
|
+
default: "py-4 px-4",
|
|
30
|
+
lg: "py-6 px-6"
|
|
31
|
+
},
|
|
32
|
+
isActive: {
|
|
33
|
+
true: "bg-muted",
|
|
34
|
+
false: ""
|
|
35
|
+
},
|
|
36
|
+
isHighlighted: {
|
|
37
|
+
true: "bg-muted/50",
|
|
38
|
+
false: ""
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
defaultVariants: {
|
|
42
|
+
size: "default",
|
|
43
|
+
isActive: false,
|
|
44
|
+
isHighlighted: false
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
);
|
|
48
|
+
function formatRelativeTime(date) {
|
|
49
|
+
const now = /* @__PURE__ */ new Date();
|
|
50
|
+
const diffMs = now.getTime() - date.getTime();
|
|
51
|
+
const diffSec = Math.floor(diffMs / 1e3);
|
|
52
|
+
const diffMin = Math.floor(diffSec / 60);
|
|
53
|
+
const diffHour = Math.floor(diffMin / 60);
|
|
54
|
+
const diffDay = Math.floor(diffHour / 24);
|
|
55
|
+
if (diffSec < 60) return "just now";
|
|
56
|
+
if (diffMin < 60) return `${String(diffMin)}m ago`;
|
|
57
|
+
if (diffHour < 24) return `${String(diffHour)}h ago`;
|
|
58
|
+
if (diffDay < 7) return `${String(diffDay)}d ago`;
|
|
59
|
+
return date.toLocaleDateString();
|
|
60
|
+
}
|
|
61
|
+
function FeedItemComponent({
|
|
62
|
+
className,
|
|
63
|
+
item,
|
|
64
|
+
size,
|
|
65
|
+
isActive,
|
|
66
|
+
isHighlighted,
|
|
67
|
+
isLast,
|
|
68
|
+
showDivider = true,
|
|
69
|
+
children,
|
|
70
|
+
...props
|
|
71
|
+
}) {
|
|
72
|
+
return /* @__PURE__ */ jsx(
|
|
73
|
+
"article",
|
|
74
|
+
{
|
|
75
|
+
className: cn(
|
|
76
|
+
feedItemVariants({ size, isActive, isHighlighted }),
|
|
77
|
+
"hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50",
|
|
78
|
+
!isLast && showDivider && "border-b border-border",
|
|
79
|
+
className
|
|
80
|
+
),
|
|
81
|
+
"data-active": isActive ? "" : void 0,
|
|
82
|
+
"data-highlighted": isHighlighted ? "" : void 0,
|
|
83
|
+
"data-slot": "feed-item",
|
|
84
|
+
role: "article",
|
|
85
|
+
tabIndex: 0,
|
|
86
|
+
...props,
|
|
87
|
+
children: item ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
88
|
+
item.icon && /* @__PURE__ */ jsx(
|
|
89
|
+
"div",
|
|
90
|
+
{
|
|
91
|
+
className: "mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full bg-muted",
|
|
92
|
+
"data-slot": "feed-icon",
|
|
93
|
+
children: item.icon
|
|
94
|
+
}
|
|
95
|
+
),
|
|
96
|
+
/* @__PURE__ */ jsx("div", { className: "min-w-0 flex-1", children: /* @__PURE__ */ jsxs("div", { className: "flex items-start justify-between gap-2", children: [
|
|
97
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", "data-slot": "feed-content", children: [
|
|
98
|
+
/* @__PURE__ */ jsx("p", { className: "font-medium text-foreground", children: item.title }),
|
|
99
|
+
item.description && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-muted-foreground", children: item.description }),
|
|
100
|
+
item.metadata?.author && /* @__PURE__ */ jsxs("p", { className: "mt-1 text-xs text-muted-foreground", children: [
|
|
101
|
+
"by ",
|
|
102
|
+
item.metadata.author
|
|
103
|
+
] })
|
|
104
|
+
] }),
|
|
105
|
+
/* @__PURE__ */ jsxs("div", { className: "flex shrink-0 items-center gap-2", children: [
|
|
106
|
+
/* @__PURE__ */ jsx(
|
|
107
|
+
"time",
|
|
108
|
+
{
|
|
109
|
+
className: "text-xs text-muted-foreground",
|
|
110
|
+
"data-slot": "feed-timestamp",
|
|
111
|
+
dateTime: item.timestamp.toISOString(),
|
|
112
|
+
children: formatRelativeTime(item.timestamp)
|
|
113
|
+
}
|
|
114
|
+
),
|
|
115
|
+
item.action && /* @__PURE__ */ jsx("span", { "data-slot": "feed-action", children: item.action })
|
|
116
|
+
] })
|
|
117
|
+
] }) })
|
|
118
|
+
] }) : children
|
|
119
|
+
}
|
|
120
|
+
);
|
|
121
|
+
}
|
|
122
|
+
function FeedSkeleton({ count = 3 }) {
|
|
123
|
+
return /* @__PURE__ */ jsx(Fragment, { children: Array.from({ length: count }).map((_, index) => /* @__PURE__ */ jsxs(
|
|
124
|
+
"div",
|
|
125
|
+
{
|
|
126
|
+
className: "flex animate-pulse gap-3 py-4 px-4",
|
|
127
|
+
"data-slot": "feed-skeleton",
|
|
128
|
+
children: [
|
|
129
|
+
/* @__PURE__ */ jsx("div", { className: "size-8 shrink-0 rounded-full bg-muted" }),
|
|
130
|
+
/* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1 space-y-2", children: [
|
|
131
|
+
/* @__PURE__ */ jsx("div", { className: "h-4 w-3/4 rounded bg-muted" }),
|
|
132
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-1/2 rounded bg-muted" })
|
|
133
|
+
] }),
|
|
134
|
+
/* @__PURE__ */ jsx("div", { className: "h-3 w-12 shrink-0 rounded bg-muted" })
|
|
135
|
+
]
|
|
136
|
+
},
|
|
137
|
+
`skeleton-${String(index)}`
|
|
138
|
+
)) });
|
|
139
|
+
}
|
|
140
|
+
function Feed({
|
|
141
|
+
className,
|
|
142
|
+
variant,
|
|
143
|
+
size,
|
|
144
|
+
items,
|
|
145
|
+
reverse = false,
|
|
146
|
+
divider = true,
|
|
147
|
+
loading = false,
|
|
148
|
+
children,
|
|
149
|
+
...props
|
|
150
|
+
}) {
|
|
151
|
+
const sortedItems = items ? reverse ? [...items].reverse() : items : void 0;
|
|
152
|
+
const hasContent = loading || sortedItems && sortedItems.length > 0 || children;
|
|
153
|
+
return /* @__PURE__ */ jsx(
|
|
154
|
+
"div",
|
|
155
|
+
{
|
|
156
|
+
"aria-busy": hasContent ? loading : void 0,
|
|
157
|
+
"aria-label": hasContent ? "Activity feed" : void 0,
|
|
158
|
+
"aria-live": hasContent ? "polite" : void 0,
|
|
159
|
+
className: cn(feedVariants({ variant, size }), className),
|
|
160
|
+
"data-loading": loading ? "" : void 0,
|
|
161
|
+
"data-slot": "feed",
|
|
162
|
+
"data-variant": variant ?? "default",
|
|
163
|
+
role: hasContent ? "feed" : void 0,
|
|
164
|
+
...props,
|
|
165
|
+
children: loading ? /* @__PURE__ */ jsx(FeedSkeleton, {}) : sortedItems ? sortedItems.map((item, index) => /* @__PURE__ */ jsx(
|
|
166
|
+
FeedItemComponent,
|
|
167
|
+
{
|
|
168
|
+
isLast: index === sortedItems.length - 1,
|
|
169
|
+
item,
|
|
170
|
+
showDivider: divider,
|
|
171
|
+
size
|
|
172
|
+
},
|
|
173
|
+
item.id
|
|
174
|
+
)) : children
|
|
175
|
+
}
|
|
176
|
+
);
|
|
177
|
+
}
|
|
178
|
+
|
|
179
|
+
export { Feed, FeedItemComponent, FeedSkeleton, feedItemVariants, feedVariants };
|
|
180
|
+
//# sourceMappingURL=chunk-B7ZLPQSO.js.map
|
|
181
|
+
//# sourceMappingURL=chunk-B7ZLPQSO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/data-display/Feed/Feed.tsx"],"names":[],"mappings":"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","file":"chunk-B7ZLPQSO.js","sourcesContent":["import type { ReactNode } from \"react\"\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"../../../lib/utils\"\n\nconst feedVariants = cva(\"flex flex-col transition-colors duration-200\", {\n variants: {\n variant: {\n default: \"border-l border-border pl-4 gap-4\",\n compact: \"gap-2\",\n highlighted: \"gap-4\",\n },\n size: {\n sm: \"\",\n default: \"\",\n lg: \"\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n})\n\nconst feedItemVariants = cva(\n \"relative flex gap-3 transition-colors duration-200\",\n {\n variants: {\n size: {\n sm: \"py-2 px-3\",\n default: \"py-4 px-4\",\n lg: \"py-6 px-6\",\n },\n isActive: {\n true: \"bg-muted\",\n false: \"\",\n },\n isHighlighted: {\n true: \"bg-muted/50\",\n false: \"\",\n },\n },\n defaultVariants: {\n size: \"default\",\n isActive: false,\n isHighlighted: false,\n },\n }\n)\n\n/**\n * Feed item data structure\n */\ninterface FeedItem {\n /** Optional action element */\n action?: ReactNode\n /** Optional description */\n description?: string\n /** Optional icon element */\n icon?: ReactNode\n /** Unique identifier for the item */\n id: string\n /** Optional metadata */\n metadata?: {\n author?: string\n avatar?: string\n }\n /** Timestamp of the event */\n timestamp: Date\n /** Title of the feed item */\n title: string\n}\n\ninterface FeedProps\n extends React.ComponentProps<\"div\">,\n VariantProps<typeof feedVariants> {\n /** Custom content (alternative to items prop) */\n children?: ReactNode\n /** Show divider between items @default true */\n divider?: boolean\n /** Array of feed items */\n items?: FeedItem[]\n /** Loading state @default false */\n loading?: boolean\n /** Reverse chronological order @default false */\n reverse?: boolean\n}\n\ninterface FeedItemProps\n extends React.ComponentProps<\"article\">,\n VariantProps<typeof feedItemVariants> {\n /** Whether the item is the last in the list */\n isLast?: boolean\n /** The feed item data */\n item?: FeedItem\n /** Show divider after item @default true */\n showDivider?: boolean\n}\n\n/**\n * Format a date to relative time (e.g., \"2 hours ago\")\n */\nfunction formatRelativeTime(date: Date): string {\n const now = new Date()\n const diffMs = now.getTime() - date.getTime()\n const diffSec = Math.floor(diffMs / 1000)\n const diffMin = Math.floor(diffSec / 60)\n const diffHour = Math.floor(diffMin / 60)\n const diffDay = Math.floor(diffHour / 24)\n\n if (diffSec < 60) return \"just now\"\n if (diffMin < 60) return `${String(diffMin)}m ago`\n if (diffHour < 24) return `${String(diffHour)}h ago`\n if (diffDay < 7) return `${String(diffDay)}d ago`\n\n return date.toLocaleDateString()\n}\n\n/**\n * FeedItem component renders a single feed entry\n */\nfunction FeedItemComponent({\n className,\n item,\n size,\n isActive,\n isHighlighted,\n isLast,\n showDivider = true,\n children,\n ...props\n}: FeedItemProps) {\n return (\n <article\n className={cn(\n feedItemVariants({ size, isActive, isHighlighted }),\n \"hover:bg-muted/50 focus-visible:outline-none focus-visible:ring-[3px] focus-visible:ring-ring/50\",\n !isLast && showDivider && \"border-b border-border\",\n className\n )}\n data-active={isActive ? \"\" : undefined}\n data-highlighted={isHighlighted ? \"\" : undefined}\n data-slot=\"feed-item\"\n role=\"article\"\n tabIndex={0}\n {...props}\n >\n {item ? (\n <>\n {item.icon && (\n <div\n className=\"mt-0.5 flex size-8 shrink-0 items-center justify-center rounded-full bg-muted\"\n data-slot=\"feed-icon\"\n >\n {item.icon}\n </div>\n )}\n <div className=\"min-w-0 flex-1\">\n <div className=\"flex items-start justify-between gap-2\">\n <div className=\"min-w-0 flex-1\" data-slot=\"feed-content\">\n <p className=\"font-medium text-foreground\">{item.title}</p>\n {item.description && (\n <p className=\"mt-1 text-sm text-muted-foreground\">\n {item.description}\n </p>\n )}\n {item.metadata?.author && (\n <p className=\"mt-1 text-xs text-muted-foreground\">\n by {item.metadata.author}\n </p>\n )}\n </div>\n <div className=\"flex shrink-0 items-center gap-2\">\n <time\n className=\"text-xs text-muted-foreground\"\n data-slot=\"feed-timestamp\"\n dateTime={item.timestamp.toISOString()}\n >\n {formatRelativeTime(item.timestamp)}\n </time>\n {item.action && (\n <span data-slot=\"feed-action\">{item.action}</span>\n )}\n </div>\n </div>\n </div>\n </>\n ) : (\n children\n )}\n </article>\n )\n}\n\n/**\n * Feed loading skeleton component\n */\nfunction FeedSkeleton({ count = 3 }: { count?: number }) {\n return (\n <>\n {Array.from({ length: count }).map((_, index) => (\n <div\n key={`skeleton-${String(index)}`}\n className=\"flex animate-pulse gap-3 py-4 px-4\"\n data-slot=\"feed-skeleton\"\n >\n <div className=\"size-8 shrink-0 rounded-full bg-muted\" />\n <div className=\"min-w-0 flex-1 space-y-2\">\n <div className=\"h-4 w-3/4 rounded bg-muted\" />\n <div className=\"h-3 w-1/2 rounded bg-muted\" />\n </div>\n <div className=\"h-3 w-12 shrink-0 rounded bg-muted\" />\n </div>\n ))}\n </>\n )\n}\n\n/**\n * Feed component displays a series of events or activities in chronological order.\n *\n * @example\n * ```tsx\n * const items = [\n * { id: \"1\", timestamp: new Date(), title: \"New comment\", description: \"John commented on your post\" }\n * ]\n * <Feed items={items} />\n * ```\n */\nfunction Feed({\n className,\n variant,\n size,\n items,\n reverse = false,\n divider = true,\n loading = false,\n children,\n ...props\n}: FeedProps) {\n const sortedItems = items\n ? reverse\n ? [...items].reverse()\n : items\n : undefined\n\n // Determine if we have content (for ARIA role)\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing -- Using || for truthy check, not null/undefined check\n const hasContent = loading || (sortedItems && sortedItems.length > 0) || children\n\n return (\n <div\n aria-busy={hasContent ? loading : undefined}\n aria-label={hasContent ? \"Activity feed\" : undefined}\n aria-live={hasContent ? \"polite\" : undefined}\n className={cn(feedVariants({ variant, size }), className)}\n data-loading={loading ? \"\" : undefined}\n data-slot=\"feed\"\n data-variant={variant ?? \"default\"}\n role={hasContent ? \"feed\" : undefined}\n {...props}\n >\n {loading ? (\n <FeedSkeleton />\n ) : sortedItems ? (\n sortedItems.map((item, index) => (\n <FeedItemComponent\n key={item.id}\n isLast={index === sortedItems.length - 1}\n item={item}\n showDivider={divider}\n size={size}\n />\n ))\n ) : (\n children\n )}\n </div>\n )\n}\n\nexport {\n Feed,\n FeedItemComponent as FeedItem,\n feedItemVariants,\n FeedSkeleton,\n feedVariants,\n}\nexport type { FeedItem as FeedItemData, FeedItemProps, FeedProps }\n"]}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { cn } from './chunk-HRNDJU7D.js';
|
|
2
|
+
import { Loader2Icon } from 'lucide-react';
|
|
3
|
+
import * as React from 'react';
|
|
4
|
+
import { cva } from 'class-variance-authority';
|
|
5
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
var spinnerVariants = cva("animate-spin motion-reduce:animate-none", {
|
|
8
|
+
variants: {
|
|
9
|
+
size: {
|
|
10
|
+
xs: "size-[var(--spinner-size-xs)]",
|
|
11
|
+
sm: "size-[var(--spinner-size-sm)]",
|
|
12
|
+
md: "size-[var(--spinner-size-md)]",
|
|
13
|
+
lg: "size-[var(--spinner-size-lg)]",
|
|
14
|
+
xl: "size-[var(--spinner-size-xl)]"
|
|
15
|
+
},
|
|
16
|
+
color: {
|
|
17
|
+
default: "text-[color:var(--spinner-color-default)]",
|
|
18
|
+
primary: "text-[color:var(--spinner-color-primary)]",
|
|
19
|
+
secondary: "text-[color:var(--spinner-color-secondary)]",
|
|
20
|
+
success: "text-[color:var(--spinner-color-success)]",
|
|
21
|
+
warning: "text-[color:var(--spinner-color-warning)]",
|
|
22
|
+
error: "text-[color:var(--spinner-color-error)]",
|
|
23
|
+
current: "text-[color:var(--spinner-color-current)]"
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
defaultVariants: {
|
|
27
|
+
size: "sm",
|
|
28
|
+
color: "current"
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
var gradientSpinnerVariants = cva("animate-spin motion-reduce:animate-none", {
|
|
32
|
+
variants: {
|
|
33
|
+
size: {
|
|
34
|
+
xs: "size-[var(--spinner-size-xs)]",
|
|
35
|
+
sm: "size-[var(--spinner-size-sm)]",
|
|
36
|
+
md: "size-[var(--spinner-size-md)]",
|
|
37
|
+
lg: "size-[var(--spinner-size-lg)]",
|
|
38
|
+
xl: "size-[var(--spinner-size-xl)]"
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
defaultVariants: {
|
|
42
|
+
size: "sm"
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
function GradientSpinner({
|
|
46
|
+
className,
|
|
47
|
+
size,
|
|
48
|
+
...props
|
|
49
|
+
}) {
|
|
50
|
+
const gradientId = React.useId();
|
|
51
|
+
return /* @__PURE__ */ jsxs(
|
|
52
|
+
"svg",
|
|
53
|
+
{
|
|
54
|
+
"aria-label": "Loading",
|
|
55
|
+
className: cn(gradientSpinnerVariants({ size }), className),
|
|
56
|
+
"data-slot": "spinner",
|
|
57
|
+
"data-variant": "gradient",
|
|
58
|
+
fill: "none",
|
|
59
|
+
role: "status",
|
|
60
|
+
viewBox: "0 0 44 44",
|
|
61
|
+
...props,
|
|
62
|
+
children: [
|
|
63
|
+
/* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs(
|
|
64
|
+
"linearGradient",
|
|
65
|
+
{
|
|
66
|
+
gradientUnits: "userSpaceOnUse",
|
|
67
|
+
id: gradientId,
|
|
68
|
+
x1: "0",
|
|
69
|
+
x2: "44",
|
|
70
|
+
y1: "22",
|
|
71
|
+
y2: "22",
|
|
72
|
+
children: [
|
|
73
|
+
/* @__PURE__ */ jsx("stop", { offset: "0%", stopColor: "var(--spinner-gradient-start, #3be476)" }),
|
|
74
|
+
/* @__PURE__ */ jsx("stop", { offset: "100%", stopColor: "var(--spinner-gradient-end, #1a7a3e)" })
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
) }),
|
|
78
|
+
/* @__PURE__ */ jsx(
|
|
79
|
+
"path",
|
|
80
|
+
{
|
|
81
|
+
d: "M22 4C12.059 4 4 12.059 4 22",
|
|
82
|
+
stroke: `url(#${gradientId})`,
|
|
83
|
+
strokeLinecap: "round",
|
|
84
|
+
strokeWidth: "6"
|
|
85
|
+
}
|
|
86
|
+
)
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
}
|
|
91
|
+
function Spinner({
|
|
92
|
+
className,
|
|
93
|
+
size,
|
|
94
|
+
color,
|
|
95
|
+
variant = "default",
|
|
96
|
+
...props
|
|
97
|
+
}) {
|
|
98
|
+
if (variant === "gradient") {
|
|
99
|
+
return /* @__PURE__ */ jsx(GradientSpinner, { className, size, ...props });
|
|
100
|
+
}
|
|
101
|
+
return /* @__PURE__ */ jsx(
|
|
102
|
+
Loader2Icon,
|
|
103
|
+
{
|
|
104
|
+
"aria-label": "Loading",
|
|
105
|
+
className: cn(spinnerVariants({ size, color }), className),
|
|
106
|
+
"data-slot": "spinner",
|
|
107
|
+
role: "status",
|
|
108
|
+
...props
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
export { GradientSpinner, Spinner, gradientSpinnerVariants, spinnerVariants };
|
|
114
|
+
//# sourceMappingURL=chunk-BECPEVUL.js.map
|
|
115
|
+
//# sourceMappingURL=chunk-BECPEVUL.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/primitives/Spinner/Spinner.variants.ts","../src/components/primitives/Spinner/Spinner.tsx"],"names":[],"mappings":";;;;;;AAKO,IAAM,eAAA,GAAkB,IAAI,yCAAA,EAA2C;AAAA,EAC5E,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,KAAA,EAAO;AAAA,MACL,OAAA,EAAS,2CAAA;AAAA,MACT,OAAA,EAAS,2CAAA;AAAA,MACT,SAAA,EAAW,6CAAA;AAAA,MACX,OAAA,EAAS,2CAAA;AAAA,MACT,OAAA,EAAS,2CAAA;AAAA,MACT,KAAA,EAAO,yCAAA;AAAA,MACP,OAAA,EAAS;AAAA;AACX,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM,IAAA;AAAA,IACN,KAAA,EAAO;AAAA;AAEX,CAAC;AAKM,IAAM,uBAAA,GAA0B,IAAI,yCAAA,EAA2C;AAAA,EACpF,QAAA,EAAU;AAAA,IACR,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI,+BAAA;AAAA,MACJ,EAAA,EAAI;AAAA;AACN,GACF;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,IAAA,EAAM;AAAA;AAEV,CAAC;ACnCD,SAAS,eAAA,CAAgB;AAAA,EACvB,SAAA;AAAA,EACA,IAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA4C;AAE1C,EAAA,MAAM,aAAmB,KAAA,CAAA,KAAA,EAAM;AAE/B,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,SAAA;AAAA,MACX,WAAW,EAAA,CAAG,uBAAA,CAAwB,EAAE,IAAA,EAAM,GAAG,SAAS,CAAA;AAAA,MAC1D,WAAA,EAAU,SAAA;AAAA,MACV,cAAA,EAAa,UAAA;AAAA,MACb,IAAA,EAAK,MAAA;AAAA,MACL,IAAA,EAAK,QAAA;AAAA,MACL,OAAA,EAAQ,WAAA;AAAA,MACP,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,MAAA,EAAA,EACC,QAAA,kBAAA,IAAA;AAAA,UAAC,gBAAA;AAAA,UAAA;AAAA,YACC,aAAA,EAAc,gBAAA;AAAA,YACd,EAAA,EAAI,UAAA;AAAA,YACJ,EAAA,EAAG,GAAA;AAAA,YACH,EAAA,EAAG,IAAA;AAAA,YACH,EAAA,EAAG,IAAA;AAAA,YACH,EAAA,EAAG,IAAA;AAAA,YAEH,QAAA,EAAA;AAAA,8BAAA,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,IAAA,EAAK,SAAA,EAAU,wCAAA,EAAyC,CAAA;AAAA,8BACrE,GAAA,CAAC,MAAA,EAAA,EAAK,MAAA,EAAO,MAAA,EAAO,WAAU,sCAAA,EAAuC;AAAA;AAAA;AAAA,SACvE,EACF,CAAA;AAAA,wBACA,GAAA;AAAA,UAAC,MAAA;AAAA,UAAA;AAAA,YACC,CAAA,EAAE,8BAAA;AAAA,YACF,MAAA,EAAQ,QAAQ,UAAU,CAAA,CAAA,CAAA;AAAA,YAC1B,aAAA,EAAc,OAAA;AAAA,YACd,WAAA,EAAY;AAAA;AAAA;AACd;AAAA;AAAA,GACF;AAEJ;AA2BA,SAAS,OAAA,CAAQ;AAAA,EACf,SAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAAiB;AACf,EAAA,IAAI,YAAY,UAAA,EAAY;AAC1B,IAAA,uBAAO,GAAA,CAAC,eAAA,EAAA,EAAgB,SAAA,EAAsB,IAAA,EAAa,GAAG,KAAA,EAAO,CAAA;AAAA,EACvE;AAEA,EAAA,uBACE,GAAA;AAAA,IAAC,WAAA;AAAA,IAAA;AAAA,MACC,YAAA,EAAW,SAAA;AAAA,MACX,SAAA,EAAW,GAAG,eAAA,CAAgB,EAAE,MAAM,KAAA,EAAO,GAAG,SAAS,CAAA;AAAA,MACzD,WAAA,EAAU,SAAA;AAAA,MACV,IAAA,EAAK,QAAA;AAAA,MACJ,GAAG;AAAA;AAAA,GACN;AAEJ","file":"chunk-BECPEVUL.js","sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\n\n/**\n * Spinner variants using CVA\n */\nexport const spinnerVariants = cva(\"animate-spin motion-reduce:animate-none\", {\n variants: {\n size: {\n xs: \"size-[var(--spinner-size-xs)]\",\n sm: \"size-[var(--spinner-size-sm)]\",\n md: \"size-[var(--spinner-size-md)]\",\n lg: \"size-[var(--spinner-size-lg)]\",\n xl: \"size-[var(--spinner-size-xl)]\",\n },\n color: {\n default: \"text-[color:var(--spinner-color-default)]\",\n primary: \"text-[color:var(--spinner-color-primary)]\",\n secondary: \"text-[color:var(--spinner-color-secondary)]\",\n success: \"text-[color:var(--spinner-color-success)]\",\n warning: \"text-[color:var(--spinner-color-warning)]\",\n error: \"text-[color:var(--spinner-color-error)]\",\n current: \"text-[color:var(--spinner-color-current)]\",\n },\n },\n defaultVariants: {\n size: \"sm\",\n color: \"current\",\n },\n})\n\n/**\n * Gradient spinner container variants\n */\nexport const gradientSpinnerVariants = cva(\"animate-spin motion-reduce:animate-none\", {\n variants: {\n size: {\n xs: \"size-[var(--spinner-size-xs)]\",\n sm: \"size-[var(--spinner-size-sm)]\",\n md: \"size-[var(--spinner-size-md)]\",\n lg: \"size-[var(--spinner-size-lg)]\",\n xl: \"size-[var(--spinner-size-xl)]\",\n },\n },\n defaultVariants: {\n size: \"sm\",\n },\n})\n\nexport type SpinnerVariants = VariantProps<typeof spinnerVariants>\nexport type GradientSpinnerVariants = VariantProps<typeof gradientSpinnerVariants>\n","import type { SpinnerProps } from \"./Spinner.types\"\n\nimport { Loader2Icon } from \"lucide-react\"\nimport * as React from \"react\"\n\nimport { cn } from \"../../../lib/utils\"\nimport { gradientSpinnerVariants, spinnerVariants } from \"./Spinner.variants\"\n\n/**\n * GradientSpinner - Arc spinner with gradient effect\n */\nfunction GradientSpinner({\n className,\n size,\n ...props\n}: Omit<SpinnerProps, \"color\" | \"variant\">) {\n // Generate unique ID for gradient\n const gradientId = React.useId()\n\n return (\n <svg\n aria-label=\"Loading\"\n className={cn(gradientSpinnerVariants({ size }), className)}\n data-slot=\"spinner\"\n data-variant=\"gradient\"\n fill=\"none\"\n role=\"status\"\n viewBox=\"0 0 44 44\"\n {...props}\n >\n <defs>\n <linearGradient\n gradientUnits=\"userSpaceOnUse\"\n id={gradientId}\n x1=\"0\"\n x2=\"44\"\n y1=\"22\"\n y2=\"22\"\n >\n <stop offset=\"0%\" stopColor=\"var(--spinner-gradient-start, #3be476)\" />\n <stop offset=\"100%\" stopColor=\"var(--spinner-gradient-end, #1a7a3e)\" />\n </linearGradient>\n </defs>\n <path\n d=\"M22 4C12.059 4 4 12.059 4 22\"\n stroke={`url(#${gradientId})`}\n strokeLinecap=\"round\"\n strokeWidth=\"6\"\n />\n </svg>\n )\n}\n\n/**\n * Spinner component for displaying loading indicators.\n *\n * Built with Lucide's Loader2Icon and supports multiple sizes and colors.\n * The gradient variant uses a custom SVG arc with gradient effect.\n *\n * @example\n * ```tsx\n * // Basic usage\n * <Spinner />\n *\n * // Different sizes\n * <Spinner size=\"lg\" />\n *\n * // Different colors\n * <Spinner color=\"primary\" />\n *\n * // Gradient variant\n * <Spinner variant=\"gradient\" />\n * <Spinner variant=\"gradient\" size=\"lg\" />\n *\n * // Combined\n * <Spinner size=\"xl\" color=\"success\" />\n * ```\n */\nfunction Spinner({\n className,\n size,\n color,\n variant = \"default\",\n ...props\n}: SpinnerProps) {\n if (variant === \"gradient\") {\n return <GradientSpinner className={className} size={size} {...props} />\n }\n\n return (\n <Loader2Icon\n aria-label=\"Loading\"\n className={cn(spinnerVariants({ size, color }), className)}\n data-slot=\"spinner\"\n role=\"status\"\n {...props}\n />\n )\n}\n\nexport { GradientSpinner, gradientSpinnerVariants, Spinner, spinnerVariants }\n"]}
|